数字逻辑与数字系统:第5章 组合逻辑电路

上传人:夏** 文档编号:568880414 上传时间:2024-07-27 格式:PPT 页数:111 大小:7.79MB
返回 下载 相关 举报
数字逻辑与数字系统:第5章 组合逻辑电路_第1页
第1页 / 共111页
数字逻辑与数字系统:第5章 组合逻辑电路_第2页
第2页 / 共111页
数字逻辑与数字系统:第5章 组合逻辑电路_第3页
第3页 / 共111页
数字逻辑与数字系统:第5章 组合逻辑电路_第4页
第4页 / 共111页
数字逻辑与数字系统:第5章 组合逻辑电路_第5页
第5页 / 共111页
点击查看更多>>
资源描述

《数字逻辑与数字系统:第5章 组合逻辑电路》由会员分享,可在线阅读,更多相关《数字逻辑与数字系统:第5章 组合逻辑电路(111页珍藏版)》请在金锄头文库上搜索。

1、第第5章章 组合逻辑电路组合逻辑电路 5.1译码器译码器 5.2编码器编码器 5.3数据分配器与数据选择器数据分配器与数据选择器 5.4数值比较电路数值比较电路 5.5 算术运算电路算术运算电路 5.6 奇偶校验电路奇偶校验电路5.7 中规模集成电路构成组合电路的分析与设计中规模集成电路构成组合电路的分析与设计 5.1译码器译码器n译码:译码:把特定含义的输入二进制代码译成对应的输出高、把特定含义的输入二进制代码译成对应的输出高、低有效电平信号。低有效电平信号。n译码器:译码器:实现译码功能的逻辑电路称为译码器实现译码功能的逻辑电路称为译码器(Decoder)。是一种多输入、多输出的常用组合逻

2、辑电路,其输入与输是一种多输入、多输出的常用组合逻辑电路,其输入与输出之间存在一一对应的映射关系。出之间存在一一对应的映射关系。n常用译码器种类:常用译码器种类:n二进制译码器二进制译码器n二二-十进制译码器十进制译码器n七段字型码译码器等。七段字型码译码器等。5.1.1二进制译码器二进制译码器n二进制译码器(二进制译码器(Binary DecoderBinary Decoder):):n输入是一组二进制代码输入是一组二进制代码n输出是一组高、低电平信号输出是一组高、低电平信号n若译码器有若译码器有n n个输入端,则最多有个输入端,则最多有2 2n n个输出个输出端,这种译码器被称为端,这种译

3、码器被称为n n线线-2-2n n线译码器。线译码器。常用二进制译码器逻辑图常用二进制译码器逻辑图n逻辑图是为了绘制原理图而设计的符号图。逻辑图是为了绘制原理图而设计的符号图。(1)用矩形框表示芯片,左边是输入引脚,右边是输出引脚,框内有相应引脚用矩形框表示芯片,左边是输入引脚,右边是输出引脚,框内有相应引脚名称,引脚上方有引脚编号。名称,引脚上方有引脚编号。(2)用带有圆圈的引脚表示其信号低电平有效。用带有圆圈的引脚表示其信号低电平有效。(3)缺少电源和地引脚,电源和地引脚默认缺省。缺少电源和地引脚,电源和地引脚默认缺省。(4)在绘制原理图是,逻辑图可以旋转,也可以做在绘制原理图是,逻辑图可

4、以旋转,也可以做 上下或左右镜像变动。上下或左右镜像变动。3线线-8线译码器线译码器74HC138功能表功能表Y0 = Y1 = Y2 = Y3 = Y4 = Y5 = Y6 = Y7 = 输出输出Y0至至Y7分别对应者二进制码分别对应者二进制码CBA的所有最小项的非。的所有最小项的非。module decoder138(e1,e2,e3,c,b,a,Y); input e1,e2,e3,c,b,a;/输入端口输入端口:e1,e2,e3使能使能,c,b,a为三位二进制数输入为三位二进制数输入 output0:7 Y;/8个输出端口个输出端口 reg0:7 Y; /寄存器变量说明,在过程中赋值的

5、变量必须说明成寄存器变量说明,在过程中赋值的变量必须说明成reg型型 always (e1,e2,e3,c,b,a)begin /过程语句开始,当敏感信号有变化,过程就执行过程语句开始,当敏感信号有变化,过程就执行 if(e1=1)&(e2+e3=0) /如果使能输入信号有效如果使能输入信号有效 case(c,b,a)/case语句开始,根据需译码的二进制数输入值语句开始,根据需译码的二进制数输入值 3b000:Y=8b01111111; /若为若为0,则译码器输出,则译码器输出Y0有效有效 3b001:Y=8b10111111; /若为若为1,则译码器输出,则译码器输出Y1有效有效 3b01

6、0:Y=8b11011111; /若为若为2,则译码器输出,则译码器输出Y2有效有效 3b011:Y=8b11101111; /若为若为3,则译码器输出,则译码器输出Y3有效有效 3b100:Y=8b11110111; /若为若为4,则译码器输出,则译码器输出Y4有效有效 3b101:Y=8b11111011; /若为若为5,则译码器输出,则译码器输出Y5有效有效 3b110:Y=8b11111101; /若为若为6,则译码器输出,则译码器输出Y6有效有效 3b111:Y=8b11111110; /若为若为7,则译码器输出,则译码器输出Y7有效有效 default:Y=8b11111111;

7、/否则否则,译码器无有效信号输出,译码器无有效信号输出 endcase/case语句结束语句结束 else Y=8b11111111; /输入使能信号无效,译码器无有效信号输出输入使能信号无效,译码器无有效信号输出 end/过程语句结束过程语句结束endmodule74HC138的Verilog HDL描述二进制译码器的应用二进制译码器的应用 n用用74HC138实现的一位全加器实现的一位全加器n一位全加器向高位的进位:一位全加器向高位的进位:n F1= n一位全加器的本位和:一位全加器的本位和:nF2=n实现存储器地址空间或实现存储器地址空间或I/O端口地址空间的分配端口地址空间的分配n用用

8、于于组合电路组合电路的设计中的设计中。用用74HC138可实现多输入、多输出的逻辑函数可实现多输入、多输出的逻辑函数例 用2片3线-8线译码器74HC138扩展成4线-16线译码器。n(1)号片的输出号片的输出-前前8个输出端个输出端Y0Y7;n(2)号片的输出号片的输出-后后8个输出端个输出端Y8 Y15;n2片片3-8译码器的译码器的C、B、A对应地接到一起作为对应地接到一起作为4线线-16线译码器的线译码器的C、B、A端端.n利用利用74HC138一个使能控制端作为第一个使能控制端作为第4个代码输入个代码输入端端D。n对于对于4线线-16线译码器来说,其输入代码要分为两种线译码器来说,其

9、输入代码要分为两种情况:情况:n当输入代码当输入代码DCBA为为00000111时:时:(1)号片译码,号片译码,(2)号片不译码;号片不译码;n当当DCBA为为10001111时:时:(2)号片译码,号片译码,(1)号片不译码。号片不译码。n因此用因此用D接接2片片74HC138的使能端,即的使能端,即D接接(1)号号片的片的E2端及端及(2)号片的号片的E1 端。端。n使能端为使能端为E1和和E2。(2)(1)5.1.2 二二-十进制译码器十进制译码器n二二-十进制译码器按输入、输出线数十进制译码器按输入、输出线数可称为可称为4线线-10线译码器,其输入是线译码器,其输入是BCD码的码的1

10、0个编码之一,输出是个编码之一,输出是10个高低电平信号。个高低电平信号。n二二-十进制译码器十进制译码器74HC42的逻辑图,的逻辑图,BCD码从高位到低位依次由左侧的码从高位到低位依次由左侧的D、C、B、A四个引脚输入,译码信号四个引脚输入,译码信号从图中右侧的从图中右侧的10个引脚输出,低电个引脚输出,低电平有效。平有效。二二-十进制译码器十进制译码器 74HC42的逻辑图的逻辑图 74HC42的功能表的功能表5.1.3 半导体数码管和七段字形码译码器半导体数码管和七段字形码译码器 1. 半导体数码管半导体数码管n构成:构成:7组条形发光二极管排列成组条形发光二极管排列成“8”字形,故称

11、为七段数码管。字形,故称为七段数码管。n可显示字符:可显示字符:“0”到到“9”等等共阴极数码管共阴极数码管 共阳极数码管共阳极数码管 显示同一数字的驱动码,对于共阴极和共阳极数码管来说,是互为反码的。显示同一数字的驱动码,对于共阴极和共阳极数码管来说,是互为反码的。半导体数码管和七段字形译码器十进制显示格式十进制显示格式十六进制显示格式十六进制显示格式2. 七段字形码译码器七段字形码译码器n作用:作用:将输入的将输入的BCD码翻译成字形码输出码翻译成字形码输出 n常用集成芯片:常用集成芯片:n共阴极:共阴极:7448和和74248 n共阳极:共阳极:7447和和74247n逻辑图:逻辑图:

12、7448、74LS248逻辑图逻辑图 7447、74LS247逻辑图逻辑图 试灯输入试灯输入LT LT -为了检查数码管各段是否能正常发光为了检查数码管各段是否能正常发光只要只要LTLT0 0,BI=1BI=1,无论,无论D D,C C,B B,A A输入为何种状态,则输入为何种状态,则7 7段应全亮。段应全亮。灭灯输入灭灯输入 BIBI -为控制数码管显示的灭灯所设置的为控制数码管显示的灭灯所设置的 只要只要BIBI0 0,共阴极数码管,共阴极数码管7 7段全熄灭。段全熄灭。灭零输入灭零输入RBI RBI - 专为多位数字显示时灭掉不需显示的专为多位数字显示时灭掉不需显示的0 0而设定的而设

13、定的 在在RBIRBI0 0作用下,当作用下,当DCBADCBA00000000时,共阴极数码管的时,共阴极数码管的0 0熄灭。熄灭。灭零输出灭零输出 RBORBO -灭掉多余的零灭掉多余的零 RBORBO与与 RBIRBI配合使用,实现多位数码显示的灭零功能。配合使用,实现多位数码显示的灭零功能。除前置零除前置零除尾部零除尾部零74LS247驱动共阳极数码管仿真驱动共阳极数码管仿真n实际应用时,电路中的限流电阻实际应用时,电路中的限流电阻R的大小和共阳数码的大小和共阳数码管的阳极电压的高低要根据数码管的规格来确定。管的阳极电压的高低要根据数码管的规格来确定。 图图5.8 利用利用74LS24

14、7和共阳数码管的显示电路和共阳数码管的显示电路5.2 编码器编码器n编码:编码:以文字、符号和数码等方式来表示某种信息的过程。以文字、符号和数码等方式来表示某种信息的过程。n为什么要编码:为什么要编码:在数字系统中,由于数字设备只能处理二进制代码信在数字系统中,由于数字设备只能处理二进制代码信息,因此对需要处理的其他信息要转换成符合一定规则的二进制代码。息,因此对需要处理的其他信息要转换成符合一定规则的二进制代码。实现编码的数字电路称为实现编码的数字电路称为编码器(编码器(Encoder)。n编码器的功能:编码器的功能:通常是将输入的每一个高或低电平信号编成一组对应通常是将输入的每一个高或低电

15、平信号编成一组对应的二进制代码或的二进制代码或BCD码,输出为二进制编码的编码器被称为二进制编码,输出为二进制编码的编码器被称为二进制编码器,输出为码器,输出为BCD码的编码器被称为码的编码器被称为二二-十进制编码器十进制编码器。 5.2.1二进制编码器二进制编码器5.2.2二进制优先编码器二进制优先编码器5.2.3二二-十进制编码器十进制编码器5.2.1 二进制编码器二进制编码器n由于由于n位二进制编码有位二进制编码有2n个取值组合,可以表示个取值组合,可以表示2n种信息,因此,二进制种信息,因此,二进制编码器的输入信号个数编码器的输入信号个数N与输出二进制数位数与输出二进制数位数n的关系满

16、足的关系满足N2n。n故通常故通常编码器的输入端比输出端个数多编码器的输入端比输出端个数多。n比如一个输入信号个数为比如一个输入信号个数为8的编码器,其输出可以只需的编码器,其输出可以只需3位即可。位即可。n根据输入信号是否互斥,可将编码器分为:根据输入信号是否互斥,可将编码器分为:n输入互斥的编码器输入互斥的编码器是指编码器在任何时刻只有一个输入信号有效,所是指编码器在任何时刻只有一个输入信号有效,所以其输出的编码与输入信号之间有惟一的对应关系。以其输出的编码与输入信号之间有惟一的对应关系。n优先编码器优先编码器是指输入的有效信号可以有多个,但编码器只对优先级别是指输入的有效信号可以有多个,

17、但编码器只对优先级别最高的一个信号进行编码。最高的一个信号进行编码。n输入信号可以是低电平有效,输入信号可以是低电平有效, 也可以是高电平有效。也可以是高电平有效。n输出的编码可以输出的编码可以原码形式原码形式, 也可以是也可以是反码形式反码形式。I0I1I2IN-1A0A1An-1二二进进制制编编码码器器二进制编码器框图二进制编码器框图例例1:2位二进制编码器的设计位二进制编码器的设计-输入高电平有效,输出原码。输入高电平有效,输出原码。I I0 0I I1 1I I2 2I I3 3A A1 1A A0 0 0001111000011110I I2 2I I3 3I I0 0I I1 1A

18、 A1 1 0001111000011110I I2 2I I3 3I I0 0I I1 1A A0 0I0I1I2I3A0A12位位二进制二进制编码器编码器例例2:2位二进制编码器的设计位二进制编码器的设计-输入低电平有效,输出反码。输入低电平有效,输出反码。I I0 0I I1 1I I2 2I I3 3A A1 1A A0 0 0001111000011110I I2 2I I3 3I I0 0I I1 1A A1 1 0001111000011110I I2 2I I3 3I I0 0I I1 1A A0 0I0I1I2I3A0A12位位二进制二进制编码器编码器I I0 0I I1 1

19、I I2 2I I3 3I I4 4I I5 5I I6 6I I7 7A A2 2 A A1 1 A A0 0 0 01 11 11 11 11 11 11 11 11 11 11 10 01 11 11 11 11 11 11 11 10 01 11 10 01 11 11 11 11 11 10 01 11 11 11 10 01 11 11 11 11 10 00 01 11 11 11 10 01 11 11 10 01 11 11 11 11 11 11 10 01 11 10 01 10 01 11 11 11 11 11 10 01 10 00 01 11 11 11 11 1

20、1 11 11 10 00 00 00 0【例例5.1】试设计一个输入互斥、低电平为效、输出编码为反码试设计一个输入互斥、低电平为效、输出编码为反码形式的形式的3位二进制编码器。位二进制编码器。 由与非门组成的由与非门组成的3位二进制编码器的逻辑电路位二进制编码器的逻辑电路 8线线-3线编码器线编码器 Verilog HDL描述描述module binary_encoder(I,A);/二进制编码器的二进制编码器的Verilog HDL描述描述 input7:0 I;/8个输入端个输入端 output2:0 A;/3位二进制数,以反码形式输出位二进制数,以反码形式输出 reg2:0 A;/寄存

21、器型数据寄存器型数据 always (I) begin/过程开始过程开始case (I)/case语句开始语句开始8hfe:A=7;/I0低电平有效,其它低电平有效,其它7个输入端均为高电平,编码为个输入端均为高电平,编码为3b1118hfd:A=6;/I1低电平有效,其它低电平有效,其它7个输入端均为高电平,编码为个输入端均为高电平,编码为3b1108hfb:A=5;/I2低电平有效,其它低电平有效,其它7个输入端均为高电平,编码为个输入端均为高电平,编码为3b1018hf7:A=4;/I3低电平有效,其它低电平有效,其它7个输入端均为高电平,编码为个输入端均为高电平,编码为3b1008he

22、f:A=3;/I4低电平有效,其它低电平有效,其它7个输入端均为高电平,编码为个输入端均为高电平,编码为3b0118hdf:A=2;/I5低电平有效,其它低电平有效,其它7个输入端均为高电平,编码为个输入端均为高电平,编码为3b0108hbf:A=1;/I6低电平有效,其它低电平有效,其它7个输入端均为高电平,编码为个输入端均为高电平,编码为3b0018h7f:A=0;/I7低电平有效,其它低电平有效,其它7个输入端均为高电平,编码为个输入端均为高电平,编码为3b000default:A=0; /此例虽无必要,但无此例虽无必要,但无default语句,在综合时会多出一些警告语句,在综合时会多出

23、一些警告endcase/case语句结束语句结束 end/过程开始过程开始endmodule/模块结束模块结束5.2.2 二进制优先编码器二进制优先编码器n优先编码器优先编码器(Priority Encoder)电路中,电路中,允许输入端同时出现允许输入端同时出现多个有效信号,而输出编码只对优先级别最高的一个进行编码,多个有效信号,而输出编码只对优先级别最高的一个进行编码,所以输出编码不会出现混乱。所以输出编码不会出现混乱。n这种编码器广泛地应用于计算机系统的中断请求和数字控制的这种编码器广泛地应用于计算机系统的中断请求和数字控制的排队逻辑电路中。排队逻辑电路中。 5.2.2 二进制优先编码器

24、二进制优先编码器【例例5.2】设计一个设计一个4线线-2线优先编码器,输入高电平有效,采用线优先编码器,输入高电平有效,采用原码输出形式,输出端引入一个表示输出编码是否有效的标志信原码输出形式,输出端引入一个表示输出编码是否有效的标志信号号EO,当无有效输入信号时,当无有效输入信号时,EO为为0,表示无有效编码输出,当,表示无有效编码输出,当有任意一个或多个输入有效时,有任意一个或多个输入有效时,EO输出为输出为1,表示输出编码有效。,表示输出编码有效。优先优先编码器编码器I3I2I1I0A1A0EO4线线-2线优先编码器框图线优先编码器框图 4 4线线-2-2线优先编码器的真值表线优先编码器

25、的真值表I I0 0I I1 1I I2 2I I3 3A A1 1A A0 0E EO O2位二进制位二进制优先编码器优先编码器的设计的设计-输入高电平有效,输出原码。输入高电平有效,输出原码。 0001111000011110I I2 2I I3 3I I0 0I I1 1A A1 1 0001111000011110I I2 2I I3 3I I0 0I I1 1A A0 0I I0 0I I1 1I I2 2I I3 3A A1 1A A0 0E EO O0 00 00 00 00 00 00 0X XX XX X1 11 11 11 1X XX X1 10 01 10 01 1X X

26、1 10 00 00 01 11 11 10 00 00 00 00 01 1优先优先编码器编码器I3I2I1I0A1A0EOI I0 0I I1 1I I2 2I I3 3A A1 1A A0 0E EO O0 00 00 00 00 00 00 0X XX XX X1 11 11 11 1X XX X1 10 01 10 01 1X X1 10 00 00 01 11 11 10 00 00 00 00 01 1二进制编码器和二进制优先编码器的真值表二进制编码器和二进制优先编码器的真值表小结小结I I0 0I I1 1I I2 2I I3 3A A1 1A A0 01 10 00 00 0

27、0 00 00 01 10 00 00 01 10 00 01 10 01 10 00 00 00 01 11 11 11. 二进制编码器真值表二进制编码器真值表I I0 0I I1 1I I2 2I I3 3A A1 1A A0 0E EO O0 00 00 00 00 00 00 0X XX XX X1 11 11 11 1X XX X1 10 01 10 01 1X X1 10 00 00 01 11 11 10 00 00 00 00 01 12. 二进制优先编码器真值表二进制优先编码器真值表1.真值表中隐含无关项;真值表中隐含无关项;2.输入变量组合为互斥量,每一组输入变量组合为互斥

28、量,每一组变量和其相邻无关项合并相消后,变量和其相邻无关项合并相消后,剩下有效信号对应的变量因子。剩下有效信号对应的变量因子。1.真值表不存在无关项,但一行中真值表不存在无关项,但一行中包含多个组合;包含多个组合;2.虽无无关项,但可利用相邻最小虽无无关项,但可利用相邻最小项进行合并,合并后:每一行中项进行合并,合并后:每一行中有确定有确定0,1的取值对应变量因子的取值对应变量因子的与项,而将取值为的与项,而将取值为X的变量因的变量因子被消去了。子被消去了。A A1 1=I=I3 3+I+I2 2A A0 0=I=I3 3+I+I0 0A A1 1=I=I3 3+I+I2 2A A0 0=I=

29、I3 3+I+I1 1I I2 24线线-2线优先编码器线优先编码器 Verilog HDL描述描述module priority_encoder(I,A,eo);/4线线-2线优先编码器线优先编码器 input3:0 I;/输入输入4线线 output1:0 A;/输出输出2线线 output Eo;/输出使能输出使能 reg1:0 A;/输出编码在过程中赋值,所以定义成寄存器型变量输出编码在过程中赋值,所以定义成寄存器型变量 reg Eo;/输出使能在过程中赋值,所以定义成寄存器型变量输出使能在过程中赋值,所以定义成寄存器型变量 always (I) begin/过程开始过程开始 if(I

30、3=1) begin AB0A1=B1,A0B0A1B1A1B1AGTBAGTBABABA1=B1,A0B0A1=B1,A0B0ALTBALTBABABA1B1A1BALTBABAEQBA=B带有带有AEQB,AGTB,ALTB输出的输出的4位比较器位比较器4位比较器三种结果的逻辑函数表达式位比较器三种结果的逻辑函数表达式n函数表达式说明的比较结果可以用三句话概括:函数表达式说明的比较结果可以用三句话概括:n(1) 只要两数最高位不等,就可以判断两数大小。其余各位可以为任意值。只要两数最高位不等,就可以判断两数大小。其余各位可以为任意值。n(2) 若高位相等,则需要比较低位。若高位相等,则需要

31、比较低位。n(3) 若若A、B两数各位均相等,输出状态取决于级联输入状态。两数各位均相等,输出状态取决于级联输入状态。5.4.2 4位比较器位比较器n4位数值比较器位数值比较器74HC85n两个两个4位二进制数输入端:位二进制数输入端:A3 、 A2 、 A1 、 A0和和B3、B2、B1、B0n比较结果的输出端:比较结果的输出端:QABn级联输入端:级联输入端:AB。n比较原理:比较原理:n应首先进行最高位即应首先进行最高位即A3与与B3比较;比较;n若若A31,B30,也就是,也就是A3B3,此时,此时就可断定就可断定AB;n反之反之AB;n如果如果A、B的最高位数码相同,则必须比的最高位

32、数码相同,则必须比较次高位;较次高位;n按此方法依次比较下去,就可得出按此方法依次比较下去,就可得出A与与B的比较结果。的比较结果。n只要两数最高位不等,就可以判断两数大小。其余各位可以为任意值。只要两数最高位不等,就可以判断两数大小。其余各位可以为任意值。n若高位相等,则需要比较低位。若高位相等,则需要比较低位。n若若A、B两数各位均相等,输出状态取决于级联输入状态。两数各位均相等,输出状态取决于级联输入状态。比较输入比较输入级联输入级联输入输出输出A3 B3A2 B2A1 B1A0 B0ab a=b abAB A=B ABA3 B3A3 B3x xx xx xx xx xx xx x xx

33、 x x1 0 00 0 1A3 = B3A3 = B3A3 = B3A3 = B3A3 = B3A3 = B3A2 B2A2 B2A2 = B2A2 = B2A2 = B2A2 = B2x xx xA1 B1A1 B1A1 = B1A1 = B1x xx xx xx xA0 B0A0 B0x x xx x xx x xx x xx x xx x x1 0 00 0 11 0 00 0 11 0 00 0 1A3 = B3A3 = B3A3 = B3A2 = B2A2 = B2A2 = B2A1 = B1A1 = B1A1 = B1A0 = B0A0 = B0A0 = B01 0 00 1 0

34、0 0 11 0 00 1 00 0 1比较输入比较输入级联输入级联输入输出输出A3 B3A2 B2A1 B1A0 B0ab a=b abAB A=B ABA3 B3A3 B3x xx xx xx xx xx xx x xx x x1 0 00 0 1A3 = B3A3 = B3A3 = B3A3 = B3A3 = B3A3 = B3A2 B2A2 B2A2 = B2A2 = B2A2 = B2A2 = B2x xx xA1 B1A1 B1A1 = B1A1 = B1x xx xx xx xA0 B0A0 B0x x xx x xx x xx x xx x xx x x1 0 00 0 11

35、0 00 0 11 0 00 0 1A3 = B3A3 = B3A3 = B3A2 = B2A2 = B2A2 = B2A1 = B1A1 = B1A1 = B1A0 = B0A0 = B0A0 = B01 0 00 1 00 0 11 0 00 1 00 0 15.4.2 4位比较器位比较器用两片用两片74HC85来实现来实现8位二进制数比较位二进制数比较.5.5 算术运算电路算术运算电路Ci+1=Ai BiSi =AiBi1. 半加器半加器CICOAiBiCiSiCi+1全加器的逻辑符号图全加器的逻辑符号图C Ci+1 i+1 (A(Ai i B Bi i) ) C Ci i A Ai i

36、B Bi iS Si i = (A = (Ai i B Bi i) ) C Ci i 2. 全加器全加器5.5 算术运算电路算术运算电路全加器电路全加器电路n实现多位二进制数加法运算的电路称为二进制加法器。实现多位二进制数加法运算的电路称为二进制加法器。n按按相加过程中进位方法的不同,可将二进制加法器分为:相加过程中进位方法的不同,可将二进制加法器分为:n串行串行(行波行波)进位加法进位加法n并行并行(先行先行)进位加法器。进位加法器。1. 串行进位加法器串行进位加法器n串行进位加法器可完全由全加器构成,最低位的进位输入置为串行进位加法器可完全由全加器构成,最低位的进位输入置为0,低位全,低位

37、全加器运算产生的进位输出作为高位全加器的进位输入,所以加器运算产生的进位输出作为高位全加器的进位输入,所以进位信号是从进位信号是从低位向高位逐位向前推进的低位向高位逐位向前推进的。4位串行进位加法器逻辑电路位串行进位加法器逻辑电路5.5.1二进制加法器二进制加法器【例例5.3】试用试用Verilog HDL设计一个设计一个4位串行进位加法器位串行进位加法器 module adder(A,B,c0,S,c4); /4位串行进位加法器位串行进位加法器 input3:0 A,B; /两个相加的两个相加的4位输入二进制数位输入二进制数 input c0;/最低位的进位输入最低位的进位输入 output

38、3:0 S;/4位的和位的和 output c4;/最高位的进位最高位的进位 wire1:3 C;/中间进位中间进位/由由4个全加器实例化构成的串行进位加法器个全加器实例化构成的串行进位加法器 f_adder u1(A0,B0,c0,S0,C1); f_adder u2(A1,B1,C1,S1,C2); f_adder u3(A2,B2,C2,S2,C3); f_adder u4(A3,B3,C3,S3,c4);endmodule潜在问题:加法电路不能立即转换,进位在加法器中传递时增加了延时,更重要潜在问题:加法电路不能立即转换,进位在加法器中传递时增加了延时,更重要的是,可能还会产生一些错误

39、的之间状态。的是,可能还会产生一些错误的之间状态。2并行进位加法器并行进位加法器n并行进位又叫先行进位或超前进位并行进位又叫先行进位或超前进位,是为了解决串行进位运算,是为了解决串行进位运算速度问题而设计。速度问题而设计。n在串行进位加法器中,高位的运算要等到低位的进位到了以后在串行进位加法器中,高位的运算要等到低位的进位到了以后才能进行,所以降低了运算器的运算速度,而且这种影响会随才能进行,所以降低了运算器的运算速度,而且这种影响会随着位数的增加而增加。着位数的增加而增加。n如果每一位的运算都不需要等待低位进位的到来,可直接由参如果每一位的运算都不需要等待低位进位的到来,可直接由参加运算的二

40、进制数及最低位的进位来进行运算,产生本位和以加运算的二进制数及最低位的进位来进行运算,产生本位和以及向高位的进位,则运算器的运算速度就会大大提高。及向高位的进位,则运算器的运算速度就会大大提高。n由于全加器的进位逻辑表达式可以写成由于全加器的进位逻辑表达式可以写成:n其中其中Ai和和Bi是全加器的数据输入,是全加器的数据输入,Ci是来自低位的进位输入,是来自低位的进位输入,Ci+1是本位向高位的进位输出。是本位向高位的进位输出。2并行进位加法器并行进位加法器n设设Gi=AiBi,称为,称为进位发生进位发生,即当参加本位运算的两个二进制,即当参加本位运算的两个二进制位均为位均为1时,一定会向高位

41、发生进位;时,一定会向高位发生进位;n设设Pi=Ai Bi ,称为,称为进位传递进位传递,即当参加本位运算的两个二,即当参加本位运算的两个二进制位之一为进制位之一为1时,会将来自低位的进位传递给高位;时,会将来自低位的进位传递给高位;n则进位逻辑表达式可改写成:则进位逻辑表达式可改写成: Ci+1=Gi+PiCi n落实到落实到4位加法器中可得:位加法器中可得:nC1=G0+P0C0nC2=G1+P1C1= G1+P1 (G0+P0C0)= G1+P1G0+P1P0C0nC3=G2+P2C2=G2+P2(G1+P1G0+P1P0C0) =G2+P2G1+ P2P1G0+ P2P1P0C0nC4

42、=G3+P3C3 =G3+P3(G2+P2G1+ P2P1G0+ P2P1P0C0) =G3+P3G2+ P3P2G1+ P3P2P1G0+ P3P2P1P0C0由此可得,每一级的进位均可由参加运算的由此可得,每一级的进位均可由参加运算的Ai、Bi以及最低位的以及最低位的进位进位C0直接产生。而本位和又可由参加本位运算的两个二进制数直接产生。而本位和又可由参加本位运算的两个二进制数及进位输入异或产生,因此可设计出及进位输入异或产生,因此可设计出4位并行进位加法器。位并行进位加法器。 2并行进位加法器并行进位加法器C1=A0B0+C0(A0+B0);C2=A1B1+A0B0(A1+B1)+C0(

43、A1+B1)(A0+B0) ;C3=A2B2+A1B1(A2+B2)+ A0B0(A2+B2)(A1+B1)+ C0(A2+B2)(A1+B1)(A0+B0) ;n74HC283就是根据这一思想设计而成的就是根据这一思想设计而成的4位并行进位加法器。位并行进位加法器。其逻辑图如下图其逻辑图如下图(a)所示,其在所示,其在Proteus环境下的仿真如下图环境下的仿真如下图(b)所示。所示。 (a) 74HC283的逻辑图的逻辑图 (b)74HC283仿真示例仿真示例0110+1101=10011 2并行进位加法器并行进位加法器5.5.2 二进制减法器二进制减法器n计算机中的加法和减法运算是用补码

44、来实现的。对于补码的减计算机中的加法和减法运算是用补码来实现的。对于补码的减法运算,其运算规则有:法运算,其运算规则有:nA - B补补 = A补补+ -B补补n对于定点二进制整数来说,对于定点二进制整数来说,-B补补= B +1,也就是说,只要,也就是说,只要将将B各位取反,再加上各位取反,再加上1,即可得到,即可得到-B补补。A B = A + (-B) = A + B + 1减法运算表示成加法运算减法运算表示成加法运算将两加数各自求补码将两加数各自求补码两个补码相加并丢掉溢出位两个补码相加并丢掉溢出位运算结果再次求补得到原码值运算结果再次求补得到原码值图图5.26 4位二进制求反电路位二

45、进制求反电路图图5.27 减法运算仿真示例减法运算仿真示例0110-0011=0110+1100+1=00115.5.2 二进制减法器二进制减法器77输出数据输出数据F3F2F1F0的的绝对值不大于绝对值不大于7。78输出数据输出数据F3F2F1F0的的绝对值不大于绝对值不大于7。ABA0+A+1=A补补B0+B+1=B补补( -B补补) A补补+ ( -B补补)+1=A补补+-B补补 A补补+-B补补补补101011111010110010111101001011100001001015.5.3 二进制乘法器二进制乘法器一位乘法器真值表一位乘法器真值表an bn pn = an bn 0 0

46、0 11 01 10001多位乘法器可以由一位乘法器设计而成多位乘法器可以由一位乘法器设计而成-位积相加位积相加。 a3a2a1a0 b3b2b1b0 b0a3 b0a2 b0a1 b0a0 b1a3 b1a2 b1a1 b1a0 b2a3 b2a2 b2a1 b2a0 + b3a3 b3a2 b3a1 b3a0 p7 p6 p5 p4 p3 p2 p1 p0n图中每个体现相乘图中每个体现相乘的小方格表示一位的小方格表示一位乘法器乘法器n位积相加时则采用位积相加时则采用全加器进行,每行全加器进行,每行上的全加器形成了上的全加器形成了4位串行加法器。位串行加法器。n将所有位的将所有位的乘积加在一

47、乘积加在一起就得到乘起就得到乘积结果积结果p7p0, 占占8位。位。na和和b均为无符号整数。均为无符号整数。5.6 奇偶校验电路奇偶校验电路 n在数字系统工作过程中,经常需要进行数据传输,而传输时又在数字系统工作过程中,经常需要进行数据传输,而传输时又可能会因为系统内部或外部干扰等原因产生错误。可能会因为系统内部或外部干扰等原因产生错误。n这种错误的结果往往是把数据中的某一位由这种错误的结果往往是把数据中的某一位由“0”变成了变成了“1”或由或由“1”变成了变成了“0”。n为了提高数据传送的可靠性,必须对传送的数据进行校验。为了提高数据传送的可靠性,必须对传送的数据进行校验。n在众多校验措施

48、中,奇偶校验是成本低廉、比较常用的方案,在众多校验措施中,奇偶校验是成本低廉、比较常用的方案,它是通过检查数据奇偶性来判断数据是否出现一位或奇数位出它是通过检查数据奇偶性来判断数据是否出现一位或奇数位出错的电路。错的电路。 5.6.1 奇偶校验的基本原理奇偶校验的基本原理n奇偶校验的基本方法就是在待发送的有效数据位之外再增加一奇偶校验的基本方法就是在待发送的有效数据位之外再增加一位位奇偶校验位奇偶校验位构成构成传输码传输码,使整个传输码中含使整个传输码中含1的个数为奇数的个数为奇数(采用奇校验采用奇校验)或者偶数或者偶数(采用偶校验采用偶校验)。n在接收端再通过检查接收到的传输码中在接收端再通

49、过检查接收到的传输码中1的个数的奇偶性是否与的个数的奇偶性是否与发送端的一致来判断传输过程中是否发生错误。发送端的一致来判断传输过程中是否发生错误。奇偶校验原理框图奇偶校验原理框图n在发送端,由在发送端,由奇偶发生器奇偶发生器根据要发送的根据要发送的n位信息码产生位信息码产生奇偶校奇偶校验位验位(又称监督码又称监督码),从而构成,从而构成n+1位的位的传输码传输码。n在接收端,由在接收端,由奇偶校验器奇偶校验器对传输码中含对传输码中含“1”个数进行奇偶性个数进行奇偶性的判断。的判断。奇偶校验只能发现奇偶校验只能发现1位或奇数位出错,但在实际应用中,一位位或奇数位出错,但在实际应用中,一位出错的

50、概率最高,所以仍应用很广。出错的概率最高,所以仍应用很广。 【例例5.4】设计设计3位二进制信息码的并行奇校验电路。位二进制信息码的并行奇校验电路。 n解:奇偶校验电路应包括奇偶发生器和奇偶校验器两部分。解:奇偶校验电路应包括奇偶发生器和奇偶校验器两部分。【例例5.4】设计设计3位二进制信息码的并行奇校验电路。位二进制信息码的并行奇校验电路。 用用Verilog HDL描述的奇偶发生器程序:描述的奇偶发生器程序:module parity_odd1(a,b,c,Wev1,Wod1); input a,b,c;/3位信息码位信息码 output Wev1,Wod1;/监督码输出监督码输出 ass

51、ign Wev1=(abc);/偶校验监督码偶校验监督码 assign Wod1=! Wev1;/奇校验监督码奇校验监督码endmodule用用Verilog HDL描述的奇偶校验器程序:描述的奇偶校验器程序:module parity_odd2(a,b,c,Wod1,Wod2,Wev2); input a,b,c,Wod1;/传输码传输码 output Wod2,Wev2;/输出检验码输出检验码 assign Wod2=abcWod1;/奇检验输出奇检验输出 assign Wev2=!Wod2;/偶检验输出偶检验输出endmodule87例例 4比特奇偶校验位产生器和校验器比特奇偶校验位产生

52、器和校验器4位数据的奇位数据的奇/偶校验位偶校验位发生器发生器4位数据的奇位数据的奇/偶校验位偶校验位校验器校验器EVEN/ODD=0时,输出为时,输出为PE (偶校验码偶校验码);EVEN/ODD=1时,输出为时,输出为PO(奇校验码奇校验码);EVEN/ODD=0时,校验时,校验PEEVEN/ODD=1时,校验时,校验PO88例例 8比特奇比特奇/偶校验位产生器偶校验位产生器5.6.2 集成电路奇偶检验发生器集成电路奇偶检验发生器/校验器校验器n目前常用的集成电路奇偶发生器目前常用的集成电路奇偶发生器/校验器有校验器有74180、74HC280等。等。n74HC280为例,它可作为奇偶发生

53、器,也可作为奇偶校验器;可以用于为例,它可作为奇偶发生器,也可作为奇偶校验器;可以用于奇校验,也可用于偶校验。奇校验,也可用于偶校验。nD0 D8是是9位输入代码位输入代码nODD是奇校验输出端是奇校验输出端nEVEN是偶校验输出端是偶校验输出端图图5.30 74HC280的逻辑图的逻辑图01108位奇校验系统仿真实验电路位奇校验系统仿真实验电路91常用MSI组合逻辑器件92常用MSI组合逻辑器件93常用MSI组合逻辑器件5.7 中规模集成电路构成组合电路的分析与设计中规模集成电路构成组合电路的分析与设计n5.7.1 分析方法分析方法【例例5.5】试分析图试分析图5.32所示逻辑电路的功能。所

54、示逻辑电路的功能。F m0+m7 而而m0对应的三个输入全为对应的三个输入全为0,m7对应的三个输入全为对应的三个输入全为1,可见,图,可见,图5.5是一个三输入的一致电路,即只要三个输是一个三输入的一致电路,即只要三个输入变量的值一致,则输出为入变量的值一致,则输出为1。【例例5.6】试分析图试分析图5.33所示逻辑电路的功能所示逻辑电路的功能十进十进制数制数二进二进制数制数8421BCD码码NC4T3T2T1T0 C S3S2S1S0 01234567890 0 0 0 00 0 0 0 10 0 0 1 00 0 0 1 10 0 1 0 00 0 1 0 10 0 1 1 00 0 1

55、 1 10 1 0 0 00 1 0 0 10 0 0 0 00 0 0 0 10 0 0 1 00 0 0 1 10 0 1 0 00 0 1 0 10 0 1 1 00 0 1 1 10 1 0 0 00 1 0 0 1101112131415161718190 1 0 1 00 1 0 1 10 1 1 0 00 1 1 0 10 1 1 1 00 1 1 1 11 0 0 0 01 0 0 0 11 0 0 1 01 0 0 1 11 0 0 0 01 0 0 0 11 0 0 1 01 0 0 1 11 0 1 0 01 0 1 0 11 0 1 1 01 0 1 1 11 1 0

56、0 01 1 0 0 1T3T2T1T05.7.2 设计方法设计方法n用中规模集成电路设计组合电路的基本步骤用中规模集成电路设计组合电路的基本步骤 n(1) 将电路划分为功能块。将电路划分为功能块。n(2) 设计功能块电路。首先列真值表,写逻辑表达式,将逻辑函数表达式变设计功能块电路。首先列真值表,写逻辑表达式,将逻辑函数表达式变换成与所用中规模集成电路逻辑电路函数表达式相似的形式;比较逻辑函数换成与所用中规模集成电路逻辑电路函数表达式相似的形式;比较逻辑函数表达式或比较真值表,根据对比结果画出功能块逻辑图,比较时可能出现以表达式或比较真值表,根据对比结果画出功能块逻辑图,比较时可能出现以下几

57、种情况:下几种情况:n 若组合电路的逻辑函数与某种若组合电路的逻辑函数与某种MSI的逻辑函数一样,选用该种的逻辑函数一样,选用该种MSI效效果最好;果最好;n 若组合电路的逻辑函数表达式是某种若组合电路的逻辑函数表达式是某种MSI的逻辑函数表达式的一部分,的逻辑函数表达式的一部分,对多出的输入变量和与项适当处理(按接对多出的输入变量和与项适当处理(按接1或接或接0),即可得到组合电路),即可得到组合电路的逻辑函数;的逻辑函数;n 对于多输入、单输出的组合电路的逻辑函数,选用数据选择器比较方对于多输入、单输出的组合电路的逻辑函数,选用数据选择器比较方便;便;n 多输入、多输出的组合电路的逻辑函数

58、选用译码器和逻辑门较好;多输入、多输出的组合电路的逻辑函数选用译码器和逻辑门较好;n 当组合电路的逻辑函数与当组合电路的逻辑函数与MSI的逻辑函数相同之处较少时,不宜选用的逻辑函数相同之处较少时,不宜选用那种那种MSI芯片。芯片。n(3) 画出整体逻辑电路图。画出整体逻辑电路图。【例例5.7】试用试用3线线-8线译码器和门电路实现以下函数线译码器和门电路实现以下函数 F F1 1ACACF F2 2【例例5.8】试用试用8选选1数据选择器数据选择器75HC151实现以下函数。实现以下函数。 F(A,B,C)m(0,1,3,5) 例例5.9 5.9 试设计一个动态显示电路。用一个试设计一个动态显

59、示电路。用一个7 7段数码管字形码译码器分时段数码管字形码译码器分时译出来自数据选择器的两位译出来自数据选择器的两位BCDBCD码,在两个数码管上动态显示其数字。码,在两个数码管上动态显示其数字。习题习题 5.22 用用1个八选一数据选择器和个八选一数据选择器和2个二选一数据选择个二选一数据选择器,设计一个五变量的表决器电路器,设计一个五变量的表决器电路:当当3个或个或3个以上变量为个以上变量为1时输出为时输出为1。A B C D EFF0 0 0 0 00 0 0 0 10000 0 0 1 00 0 0 1 10000 0 1 0 00 0 1 0 10000 0 1 1 00 0 1 1

60、 101E0 1 0 0 00 1 0 0 10000 1 0 1 00 1 0 1 101E0 1 1 0 00 1 1 0 101E0 1 1 1 00 1 1 1 1111A B C D EFF1 0 0 0 01 0 0 0 10001 0 0 1 01 0 0 1 101E1 0 1 0 01 0 1 0 101E1 0 1 1 01 0 1 1 11111 1 0 0 01 1 0 0 101E1 1 0 1 01 1 0 1 11111 1 1 0 01 1 1 0 11111 1 1 1 01 1 1 1 1111习题习题 5.22 用用1个八选一数据选择器和个八选一数据选择器

61、和2个二选一数据选择个二选一数据选择器,设计一个五变量的表决器电路(当器,设计一个五变量的表决器电路(当3个或个或3个以上变量为个以上变量为1时输出为时输出为1)。)。习题习题 5.26 (2) 用一片用一片74283实现实现5421码到码到8421BCD码码的转换电路。的转换电路。十进十进制数制数542184210 00 0 0 00 0 0 00 0 0 00 0 0 01 10 0 0 10 0 0 10 0 0 10 0 0 12 20 0 1 00 0 1 00 0 1 00 0 1 03 30 0 1 10 0 1 10 0 1 10 0 1 14 40 1 0 00 1 0 00

62、 1 0 00 1 0 05 51 0 0 01 0 0 00 1 0 10 1 0 16 61 0 0 11 0 0 10 1 1 00 1 1 07 71 0 1 01 0 1 00 1 1 10 1 1 18 81 0 1 11 0 1 11 0 0 01 0 0 09 91 1 0 01 1 0 01 0 0 11 0 0 1习题习题 5.27 (2) 用一片用一片74283实现实现5421码到余码到余3码的转换码的转换电路。电路。十进十进制数制数5421余余3码码0 00 0 0 00 0 0 00 0 1 10 0 1 11 10 0 0 10 0 0 10 1 0 00 1 0

63、02 20 0 1 00 0 1 00 1 0 10 1 0 13 30 0 1 10 0 1 10 1 1 00 1 1 04 40 1 0 00 1 0 00 1 1 10 1 1 15 51 0 0 01 0 0 01 0 0 01 0 0 06 61 0 0 11 0 0 11 0 0 11 0 0 17 71 0 1 01 0 1 01 0 1 01 0 1 08 81 0 1 11 0 1 11 0 1 11 0 1 19 91 1 0 01 1 0 01 1 0 01 1 0 0105 利用使能端进行扩展利用使能端进行扩展 树状扩展树状扩展MSI组合逻辑器件的扩展方法组合逻辑器件的扩展方法MSI组合逻辑器件的扩展方法106用两片用两片3-8译码器扩展为译码器扩展为4-16译码器译码器 利用使能端进行扩展利用使能端进行扩展8线线-3线优先编码器线优先编码器扩展为扩展为16线线-4线编码器线编码器108四选一扩展为八选一四选一扩展为八选一 利用使能端进行扩展利用使能端进行扩展109用双四选一用双四选一MUX扩展为八选一扩展为八选一MUX 利用使能端进行扩展利用使能端进行扩展110四选一扩展为十六选一四选一扩展为十六选一 树状扩展树状扩展111二十四位比较器,由两级电路构成。二十四位比较器,由两级电路构成。 树状扩展树状扩展

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号