0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

组合逻辑概述

电子工程师 来源:未知 作者:李倩 2018-09-10 10:49 次阅读

组合逻辑概述

由MOS获得基本逻辑门之后,再由门级电路形成组合逻辑电路。组合逻辑电路有三种表示方法:

(a)真值表

(b)结构化(即门级)原理图

(c)布尔方程

示例:例如一个单bit全加器,实现的是两个输入信号 a,b以及进位位 c_in的相加。输出一个相加的结果sum和一个进位位c_out。

其真值表如下:

根据真值表可以直接写出其布尔方程式。

获得某个输出的积之和(多项做与然后再做或)的布尔表达式方法如下:

1. 找到输出为1的对应的输入,如果此输入为0则取反。将输入做与。

2. 将上面所有的与项再做或操作。

以上面的全加器为例。使得输出sum为1的有:

故对应sum的积之和布尔表达式如下(*表示与操作,+表示或操作, ' 表示取反):

sum = a' * b' * c_in+a' * b * c_in'+a * b' * c_in' + a * b * c_in

同样分析可以得出 c_out的积之和布尔表达式如下:

c_out = a' * b * c_in+a * b' * c_in+a * b * c_in' + a * b * c_in

根据积之和表达式就可以得出相应的积之和对应的门级电路。以与或门构成。下面是sum的积之和电路,这里由三个2输入或门实现一个四输入或门逻辑。

相应的c_out的积之和门级电路如下。

可以看到这样获得积之和布尔表达式与对应的电路都是两级的,前面一级为与门逻辑,后面一级为或门逻辑。

当然不止只有积之和这一种表达方式,还可以利用狄摩根定律去转化成和之积的表达方式。

狄摩根定律如下( " ' " 表示取反," * " 表示与, " + "表示或):

(a + b + c + ...) ' = a' * b' * c' * ...

(a * b * c * ...) ' =a' + b' + c' + ...

根据狄摩根定律第二条,就可以将积之和布尔表达式转化成和之积形式;根据狄摩根定律第一条,就可以将和之积布尔表达式转化成积之和形式。

这里以将sum的积之和布尔表达式转化成和之积形式为例。

sum = ( (a' * b' * c_in+a' * b * c_in'+a * b' * c_in' + a * b * c_in)' )'

= ( (a' * b' * c_in)' * (a' * b * c_in')' * (a * b' * c_in')' * (a * b * c_in)') '

= ( ( a+b+c_in' )*( a+b'+c_in )*( a'+b+c_in )*(a' + b' + c_in') )'

从布尔表达式可以看到,和之积表达式的的前级为或门逻辑,后一级为与门逻辑。

Verilog对组合逻辑电路的描述,可以分为结构级描述,数据流级描述,行为级描述三种方式。

以上面对sum这个电路描述为例,将sum这个电路作为一个完整的module描述,给这个电路取个名字为get_sum。

结构级描述方式如下(其中not是表示非门,and表示与门,or表示或门):

module get_sum(

input a,

input b,

input c_in,

output sum

);

wire a_n,b_n,c_in_n;

not (a_n,a);

not (b_n,b);

not (c_in_n,c_in);

wire and_o1,and_o2,and_o3,and_o4;

and (and_o1,a_n,b_n,c_in) ;

and (and_o2,a_n,b,c_in_n) ;

and (and_o3,a,b_n,c_in_n) ;

and (and_o4,a,b,c_in) ;

wire or_o1,or_o2;

or (or_o1,and_o1,and_o2);

or (or_o2,and_o3,and_o4);

or (sum,or_o1,or_o2);

endmodule

数据流级描述方式(& 与,| 或 ,~ 非):

module get_sum(

input a,

input b,

input c_in,

output sum

);

wire a_n,b_n,c_in_n;

assign a_n = ~a;

assign b_n = ~b;

assign c_in_n = ~c_in;

wire and_o1,and_o2,and_o3,and_o4;

assign and_o1 = a_n&b_n&c_in;

assign and_o2 = a_n&b&c_in_n;

assign and_o3 = a&b_n&c_in_n;

assign and_o4 = a&b&c_in;

wire or_o1,or_o2;

assign or_o1 = and_o1 | and_o2;

assign or_o2 = and_o3 | and_o4;

assign sum = or_o1 | or_o2;

endmodule

行为级描述方式(这里采用了case语句,也可以采用if else语句;{ }是位拼接符,如{a,b,c_in}就是将a,b,c_in拼成一个三位的数据,a为最高位,b为次高位,c_in为最低位):

module get_sum(

input a,

input b,

input c_in,

output reg sum

);

always @( * ) begin

case( {a,b,c_in} )

3'b001: sum = 1'b1;

3'b010: sum = 1'b1;

3'b100: sum = 1'b1;

3'b111: sum = 1'b1;

default: sum = 1'b0;

endcase

end

endmodule

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 逻辑电路
    +关注

    关注

    13

    文章

    468

    浏览量

    42195
  • Verilog
    +关注

    关注

    28

    文章

    1325

    浏览量

    109297

原文标题:组合逻辑概述与Verilog三种描述形式

文章出处:【微信号:LF-FPGA,微信公众号:小鱼FPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA之组合逻辑与时序逻辑、同步逻辑与异步逻辑的概念

    数字电路根据逻辑功能的不同特点,可以分成两大类:一类叫做组合逻辑电路,简称组合电路或组合逻辑;另
    发表于 12-01 09:04 488次阅读

    FPGA中何时用组合逻辑或时序逻辑

    数字逻辑电路分为组合逻辑电路和时序逻辑电路。时序逻辑电路是由组合
    发表于 03-21 09:49 526次阅读

    soc中的组合逻辑和时序逻辑应用说明

    芯片设计是现代电子设备的重要组成部分,其中组合逻辑和时序逻辑是芯片设计中非常重要的概念。组合逻辑和时序
    的头像 发表于 08-30 09:32 875次阅读

    逻辑门及组合逻辑电路实验

    逻辑门及组合逻辑电路实验实验目的1. 掌握与非门、或非门、与或非门及异或门的逻辑功能。2. 了解三态门的逻辑功能以及禁止状态的判别方法。了解
    发表于 09-25 17:28

    组合逻辑电路实验

    组合逻辑电路实验实验三 组合逻辑电路一、 实验目的1、 掌握组合逻辑电路的功
    发表于 03-20 18:11

    组合逻辑电路实验

    组合逻辑电路    一、实验目的     1.  加深理解组合逻辑
    发表于 09-16 15:09

    【技巧分享】时序逻辑组合逻辑的区别和使用

    根据逻辑电路的不同特点,数字电路分为组合逻辑和时序逻辑,明德扬粉丝里的同学提出,无法正确区分,今天让我跟一起来学习一下两种逻辑的区别以及使用
    发表于 03-01 19:50

    基本组合逻辑电路

    基本组合逻辑电路 一、 实验目的?⒈ 掌握一般组合逻辑电路的分析和设计方法。?⒉ 熟悉集成优先编码器的逻辑功能及简单应用。
    发表于 09-24 22:14 2535次阅读

    第十五讲 组合逻辑电路的分析方法和设计方法

    第十五讲 组合逻辑电路的分析方法和设计方法 6.1概述组合逻辑电路:定义构成电路特点6.2.1组合
    发表于 03-30 16:21 4626次阅读
    第十五讲 <b class='flag-5'>组合</b><b class='flag-5'>逻辑</b>电路的分析方法和设计方法

    第3章 组合逻辑电路

    详细介绍了组合逻辑电路的分析方法,包括加法器、译码器、编码器、分配器、选择器等组合逻辑电路的分析方法
    发表于 01-22 13:13 3次下载

    数字电路基础之组合逻辑电路的详细资料概述

    本文档的主要内容详细介绍的是数字电路基础之组合逻辑电路的详细资料概述包括了:1.组合逻辑电路的特点2.
    发表于 10-17 08:00 0次下载
    数字电路基础之<b class='flag-5'>组合</b><b class='flag-5'>逻辑</b>电路的详细资料<b class='flag-5'>概述</b>

    什么是组合逻辑电路_组合逻辑的分类

    组合逻辑电路是无记忆数字逻辑电路,其任何时刻的输出仅取决于其输入的组合.
    的头像 发表于 06-22 10:53 4.7w次阅读
    什么是<b class='flag-5'>组合</b><b class='flag-5'>逻辑</b>电路_<b class='flag-5'>组合</b><b class='flag-5'>逻辑</b>的分类

    组合逻辑电路的学习教程课件免费下载

    本文档的主要内容详细介绍的是组合逻辑电路的学习教程课件免费下载包括了:1 数字电路概述,2 逻辑门电路,3 逻辑函数及其化简,4
    发表于 10-11 16:47 15次下载
    <b class='flag-5'>组合</b><b class='flag-5'>逻辑</b>电路的学习教程课件免费下载

    EDA技术在组合逻辑电路中的设计概述

    组合逻辑电路的设计就是将实际的,有因果关系的问题用一个较合理、经济、可靠的逻辑电路来实现。一般来说在保证速度、稳定、可靠的逻辑正确的情况下,尽可能使用最少的器件,降低成本是
    发表于 01-21 16:46 2544次阅读
    EDA技术在<b class='flag-5'>组合</b><b class='flag-5'>逻辑</b>电路中的设计<b class='flag-5'>概述</b>

    组合逻辑电路之与或逻辑

    逻辑电路由多个逻辑门组成且不含存储电路,对于给定的输入变量组合将产生确定的输出,则这种逻辑电路称为组合
    的头像 发表于 02-04 11:46 505次阅读
    <b class='flag-5'>组合</b><b class='flag-5'>逻辑</b>电路之与或<b class='flag-5'>逻辑</b>