数字逻辑与系统设计 课件 第3章 组合逻辑电路_第1页
数字逻辑与系统设计 课件 第3章 组合逻辑电路_第2页
数字逻辑与系统设计 课件 第3章 组合逻辑电路_第3页
数字逻辑与系统设计 课件 第3章 组合逻辑电路_第4页
数字逻辑与系统设计 课件 第3章 组合逻辑电路_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章组合逻辑电路3.1分析与设计3.2加/减法器3.3选择/分配器3.4比较器3.5编/译码器3.6竞争与冒险

3.1分析与设计

3.1.1电路分析分析组合逻辑电路时,首先从输入端开始,逐级推导出输出端的逻辑函数表达式;再根据逻辑函数表达式列出真值表,根据真值表的内容概括出电路的功能。

【例3.1.1】

某设备的控制电路如图3-1所示,分析该组合逻辑电路的逻辑功能。图3-1例3.1.1的组合逻辑电路

从输入量A、B

和C

开始逐级推导,即有

其真值表如表3-1所示。从表中可以看出,只要有两个或两个以上的输入为1,输出就为1。因此,该电路可以视为是一种“少数服从多数”的表决器。

【例3.1.2】

分析Verilog语言描述的逻辑电路的功能。

从变量定义中可以看出输入A、B、C

为三个1位变量,x

是三者之和,当和大于等于2时表明三者之中至少有两个为1。从if-else语句可以看出,只有x不小于2时才输出1,即只要有两个或两个以上的输入为1,输出就为1。该电路与例3.1.1的电路功能相同。

3.1.2电路设计

【例3.1.3】

某产品重量检测单元电路有四个输入

D3、D2、D1和

D0(其组合值为输入的产品重量值)和3个输出信号FL(不足)、FM(合格)和

FH(超重)。其输入/输出关系如下:

(1)仅当质量值小于5时FL=1,其他情况FL=0。

(2)仅当质量值大于10时FH=1,其他情况FH=0。

(3)仅当质量值不小于5且不大于10时FM=1,其他情况FM=0。

设计该单元电路。

输入变量为D3、D2、D1

和D0,输出变量为FL、FH

和FM

真值表如表3-2所示。

最小项表达式为

逻辑电路图采用

K

图化简,如图3-2所示。图3-2例3.1.3的

K

输出逻辑函数表达式为

逻辑电路如图3-3所示。图3-3例3.1.3的逻辑电路

⑤HDL代码如下:

波形图如图3-4所示。图3-4例3.1.3的工作波形

【例3.1.4】

某比赛项目有三个裁判,每个裁判有一个表决按钮,按下按钮表明“通过”。运动员的最终成绩通过是否亮灯来表示,灯亮表示“通过”,灯灭表示“未通过”。仅当两个或两个以上裁判按下按钮时,灯才亮。

输入/输出定义。

比赛项目有三个表决按钮,分别采用三个输入

A、B和C来表示按钮状态,其电路如图3-5(a)所示,当按钮按下时,相应的变量值为0,否则为1。灯控信号采用输出F表示,F

为1时灯亮,为0时灯灭,其电路如图3-5(b)所示。

图3-5例3.1.4的输入/输出设计电路

真值表。

根据功能描述可得表3-3所示的真值表。

逻辑电路图。

由真值表可得图3-6(a)所示的

K

图,化简可得逻辑函数表达式为

其逻辑电路如图3-6(b)所示。

图3-6例3.1.4的

K

图和电路图

④HDL代码如下:

波形图如图3-7所示。图3-7例3.1.4的工作波形

3.2加/减法器

3.2.1全加/减器

1.全加器最基本的加法器可以实现两个比特相加的一位二进制数加法,其数学公式为(CO,S)=A+B+CI,其中A

和B是两个本位加数,CI为低位向本位的进位,S

为本位和,CO

为本位向高位的进位。其真值表如表3-4所示,该加法器也称为全加器。

由真值表3-4可知:

全加器的逻辑电路和逻辑符号如图3-8所示。

图3-8全加器

加法运算在Verilog描述中可以直接采用“+”运算符,其Verilog描述如下:

没有低位进位的加法器称为半加器,即(CO,S)=A+B,其真值表如表3-5所示。

图3-9半加器

2.全减器

全减器包括三个输入,即本位的被减数

A、减数

B和低位向本位的借位CI;两个输出,即本位差D

和本位向高位的借位CO。全减器的减法运算式为(CO,D)=A-B-CI,相应的真值表如表3-6所示,逻辑电路及逻辑符号如图3-10所示。

图3-10全减器

减法运算在Verilog语言中采用运算符“-”即可实现,其Verilog描述如下:

3.2.2多位加/减法器

多位加/减法器通常由全加/减器级联构成。

两位加法器是最基本的多位加法器。它含有5个输入,即两位加数

A1A0

和B1B0、低位向本位的进位CI;3个输出,即两位和S1S0

和本位向高位的进位CO。

在数学运算中,两位数加是从最低位开始逐位相加。最低位的

A0、B0和CI

相加,结果为CO0

和S0,将CO0

作为CI1,参加高位的加运算,A1、B1和CI1

相加结果为CO和S1。其模块结构和逻辑符号如图3-11所示。

图3-11两位数加法器

n

位加法器可以直接采用“+”运算符,其Verilog描述如下:

3.2.3应用示例

【例3.2.1】

有符号数加法器如图3-12所示,输入8位有

符号数A

和B,输出8位本位和S

和1位进位标志CF,有符号数的加法

象,因

出1位

标志OF。图3-12有符号加法器的逻辑符号

由二进制补码运算可知,当最高位和次高位只有一个产生进位时,那么此加法运算产生溢出。假定次高位产生的进位为Cp,CF本身是最高位产生的进位。

加法器的HDL代码如下:

测试代码如下:

其仿真波形如图3-13所示,图中数据均为十六进制数。图3-13有符号数加法器的仿真波形

【例3.2.2】

有符号数减法器如图3-14所示,输入8位有

符号数A

和B,输出8位本位差D、1位借位标志CF和1位溢

出标志OF。图3-14有符号减法器的逻辑符号

其相应的HDL代码如下:

测试代码如下:

其仿真波形如图3-15所示,其中数值均为十六进制数。图3-15有符号数减法器的仿真波形

3.3选择/分配器

3.3.1选择器选择器从多路输入中选择一路作为输出,也称为多路选择器(MUX)。它有n

个地址输入(An-1,…,A0)、N=2n

个数据输入(DN-1,…,D0)和1个数据输出Y。n个地址构成的二进制值i,输出Y

就等于输入Di,其数学描述为Y=Di,i=(An-1…A0)2。

选择器功能表如表3-7所示,其逻辑符号如图3-16所示。

图3-16选择器的逻辑符号

4选1的1位选择器的逻辑符号如图3-17所示。图3-174选1的选择器逻辑符号

相应的HDL代码如下:

for语句是构建代码的循环结构语句,相当于重复生成相似的功能语句。

其仿真波形如图3-18所示,其中

D

是D3D2D1D0

的组合值,A

是A1A0的组合值,数值均为十六进制。图3-184选1的选择器仿真波形

3.3.2分配器

分配器又称为多路分配器(DEMUX),从多路输出中选择一路输出当前的输入。它有n个地址输入(An-1,…,A0)、1个数据输入D

和N=2n

个数据输出(YN-1,…,Y0)。

若n个地址构成二进制值i,那么输出Yi

就等于输入D,Yj(j≠i)输出默认值,比如1。其数学描述为

功能表如表3-8所示,其逻辑符号如图3-19所示。

图3-19分配器的逻辑符号

一个1分4的1位分配器的逻辑符号如图3-20所示,图3-201分4分配器的逻辑符号

相应HDL代码如下:

其仿真波形如图3-21所示,图中数值均为十六进制数。图3-211分4分配器的仿真波形

3.3.3应用示例

【例3.3.1】

数据交换器的逻辑电路有四个数据输入

X3、X2、X1、X0

和四个数据输出Y3、Y2、Y1、Y0,还有四个控制输入A3、A2、A1、A0。电路功能是将由A3

和A2

所选择的输入端

Xj的数据输出到由A1

和A0

所选择的输出端Yi

上,其数学描述为

将公式进一步细化,可以得到如下公式

该电路有两部分电路组成:一个是4选1的选择器;另一个是1分4的分配器。选择器的输出连接分配器的输入。

令4条输入线对应的变量为X3~X0,4条输出线对应的变量为Y3~Y0,4个地址输入变量为A3~A0。电路如图3-22所示。

图3-22数据交换器的逻辑电路

4-1MUX和1-4DEMUX可以采用前面模块Mux4和Demux4,电路的Verilog程序如下:

3.4.1功能结构

比较器是对两个位数相同的二进制数进行数值比较,输出两个数的比较结果:大于、等于或小于。比较可以从最高位向最低位开始,也可以从最低位向最高位开始。

一位比较器的逻辑符号如图3-23所示,其中SA>B

、SA=B和SA<B为前位比较结果输入,A

和k为本位输入,本位比较结果输出FA>B、FA=B

和FA<B

3.4比较器

图3-23一位比较器的逻辑符号

1.前位是高位

若SA<B=1,则FA<B=1;若SA>B=1,则FA>B=1;若SA=B=1,则本位输出取决于本位输入A

和B

的关系:若

A

>B

则FA>B=1;若

A

<B,则FA<B=1;若

A=B,则FA=B=1。

其真值表如表3-9所示。

2.前位是低位

若A>B

则FA>B=1;若A<B

则FA<B=1;若A=B

则本位输出取决于前位比较结果:若SA<B=1,则本位输出FA<B=1;若SA>B=1则FA>B=1;若SA=B=1则FA=B=1。

其真值表如表3-10所示。

多位比较器可由多个一位比较器级联而成,如图3-24所示。图3-23一位比较器的逻辑符号

3.4.2应用示例

【例3.4.1】

某电路输入为4位的x,其输出为4位的y,y和x之间的关系如图3-25所示,试设计一组合逻辑电路来实现该功能,给出电路结构图和相应的HDL代码。图3-25例3.4.1的输入/输出关系曲线

根据图形可列出数学关系式,即

其中,15-x等于x

的各位取非。由于x

为不大于15的正整数,所以与0和15的比较是没有必要的,只要与5和10比较即可。因此,数学公式可以变形为

列出相对应的如表3-11所示的输入/输出功能表。

从公式可以看出,y

的值是通过3选1得到的,采用4选1选择器实现。由表3-11可知,x<5的比较结果和x>10的比较结果组合起来恰好构成二位数00、01和10,其可以作为选择器的地址输入,即x<5结果作为地址高位,x>10结果作为地址低位。

整个电路结构如图3-26所示。

图3-26例3.4.1的逻辑电路结构

采用Verilog语言描述如下:

功能仿真代码如下:

功能仿真波形如图3-27所示,图中数值均为十六进制数。图3-27例3.4.1的仿真波形

3.5编/译码器

3.5.1编码器对于n位输入线,理论上共可表示2n

个数,但实际应用中只有

M

种特定组合,M≪2n

。在这种情况下使用n位数据是没有必要的,因此可以对这些特定组合进行编号,即0~M-1,只需要m

条输入线来表示,m≪n。这种处理方法称为编码,即通过小值m来表示大值n的特定组合。编码器是采用m

位比特来表示n条信号线中的有效信号线的状况。

1.4线优先编码器

常用的4线优先编码器如图3-28所示。图3-284线优先编码器的逻辑符号

其功能真值表如表3-12所示。

2.8线优先编码器

常用的8线优先编码器如图3-29所示图3-298线优先编码器的逻辑符号

其功能真值表如表3-13所示。

3.5.2译码器

译码器与编码器恰恰相反,译码器有n

条输入线,N

条输出线,N>n。不同输入值代表

N

条输出线上的不同的特定电平组合,相当于电平翻译工作。

常用的译码器有二进制译码器和显示译码器。

1.二进制译码器

若输入信号是n

位二进制代码,则输出信号有N

个,N=2n

。当一个有效输入产生时,与其相对应的输出线就输出有效电平,其他输出线则输出无效电平。其数学描述为

其中,L

为有效电平,值为1表明高电平有效,值为0表明低电平有效。

1)2线-4线译码器

2线-4线译码器的逻辑符号如图3-30所示。其中,E是译码使能输入,高电平有效,A1A0

是二进制数值输入,nY0~nY3

是低电平有效的译码输出,其功能如表3-14所示。图3-302线-4线译码器的逻辑符号

2)3线-8线译码器

3线-8线译码器是最为常用的译码器,其逻辑符号如图3-31所示,当E=1时译码器才会产生有效输出,其功能如表3-15所示。图3-313线-8线译码器的逻辑符号

2.显示译码器

在数字系统中,经常采用发光二极管来显示数字或字符信息。最为常用的是七段显示数码管,它采用7个矩形发光二极管围成8字形,如图3-32(a)所示。数码管含有7个输入a~g

分别控制一个发光二极管。发光二极管是特殊的二极管,导通时发光。数码管有共阳、共阴之分,其结构如图3-32(b)和图3-32(c)所示。

图3-32七段数码管结构

【例3.5.1】

设计一个共阳7段显示数码管的译码器电路,使其可以实现数字0~9的显示。

由于数码管为7个输入,所以显示译码器应有7个输出。所要显示的数值为0~9,所以译码器应有4个输入。译码显示电路如图3-33(a)所示,显示图例如图3-33(b)所示。

图3-33例3.5.1的译码显示电路

显示译码器的真值表如表3-16所示,除了0~9之外的其他输入值时LED都不发光。

3.5.3应用示例

【例3.5.2】

护士呼叫显示控制系统结构如图3-34所示。每个系统负责8个病床,每个病床上安有呼叫按钮。当病人按下按钮后,护士站会蜂鸣报警并显示病床号,护士前往所显示号码的病床处理并使按钮归位。每个病床从0到7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论