第6章集成电路的逻辑设计与可编程逻辑器件_第1页
第6章集成电路的逻辑设计与可编程逻辑器件_第2页
第6章集成电路的逻辑设计与可编程逻辑器件_第3页
第6章集成电路的逻辑设计与可编程逻辑器件_第4页
第6章集成电路的逻辑设计与可编程逻辑器件_第5页
已阅读5页,还剩174页未读 继续免费阅读

下载本文档

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

文档简介

1、1第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 第第6章章 集成电路的集成电路的逻辑设计与可编程逻辑器件逻辑设计与可编程逻辑器件v 6.1 常用中规模通用集成电路常用中规模通用集成电路 v 6.2 半导体存储器半导体存储器 v 6.3 可编程逻辑器件可编程逻辑器件2第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 v集成电路集成电路 小规模集成电路小规模集成电路(SSI):器件:器件(门电路、触发器等门电路、触发器等)的集成的集成 中规模集成电路中规模集成电路(MSI):逻辑部件:逻辑部件(计数器、寄存器等计数器、寄存

2、器等)的集成的集成 大规模集成电路大规模集成电路(LSI):整个数字系统或其子系统的集成:整个数字系统或其子系统的集成 超大规模集成电路超大规模集成电路(VLSI):整个数字系统或其子系统的集成:整个数字系统或其子系统的集成v数字电路的设计方法数字电路的设计方法 基于基于SSI的经典设计方法的经典设计方法 采用中、大规模集成电路进行逻辑设计的方法采用中、大规模集成电路进行逻辑设计的方法 v中、大规模集成电路中、大规模集成电路 非用户定制集成电路:通用集成电路或通用片非用户定制集成电路:通用集成电路或通用片 用户定制集成电路:专用集成电路用户定制集成电路:专用集成电路ASIC 3第第6 6章章

3、集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 6.1.1 二进制并行加法器二进制并行加法器6.1.2 译码器和编码器译码器和编码器6.1.3 多路选择器和多路分配器多路选择器和多路分配器6.1.4 数值比较器数值比较器6.1.5 奇偶发生奇偶发生/校验器校验器6.1 常用中规模通用集成电路常用中规模通用集成电路4第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 6.1.1 二进制并行加法器二进制并行加法器v二进制加法器二进制加法器 实现多位二进制数加法运算的电路实现多位二进制数加法运算的电路 串行二进制加法器、并行二进制加法器串行二进

4、制加法器、并行二进制加法器v并行二进制加法器并行二进制加法器串行进位二进制并行加法器、超前进位二进制并行加法器串行进位二进制并行加法器、超前进位二进制并行加法器 5第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 超前进位原理超前进位原理v全加器全加器“进位进位”输出表达式输出表达式 Ci=AiBi+(Ai Bi)Ci-1Gi= AiBi 进位生成函数;进位生成函数;Pi= Ai Bi 进位传递函数进位传递函数 v代入到全加器的代入到全加器的“和和”及及“进位进位”输出表达式输出表达式 Si =Ai Bi Ci-1=Pi Ci-1Ci =Gi +PiCi-1

5、v可见,各可见,各“进位进位”输出仅取决于输出仅取决于P i ,G i和和C0,由于,由于P i和和G i仅仅取决于取决于A i和和B i ,而,而A i ,B i和和C0能同时提供,这就使得各位的能同时提供,这就使得各位的进位能同时产生进位能同时产生74LS283就是这种中规模就是这种中规模4位超前进位二进制并行加法器位超前进位二进制并行加法器 P916第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 超前进位超前进位4位二进制并行加法器的逻辑电路图位二进制并行加法器的逻辑电路图 7第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编

6、程逻辑器件 4位超前进位二进制并行加法器的位超前进位二进制并行加法器的VHDL描述描述 LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;ENTITY ripple_carry_adder IS PORT(in1,in2:IN std_logic_vector(3 DOWNTO 0); -加数、被加数输入加数、被加数输入 sum:OUT std_logic_vector(3 DOWNTO 0); -和数输出和数输出 carry_in:IN std_logic; -进位输入进位输入 carry_out:OUT std_logic); -进位输出进位输出END ri

7、pple_carry_adder;ARCHITECTURE arc_dataflow OF ripple_carry_adder IS SIGNAL g,p,c:std_logic_vector(3 DOWNTO 0); -中间信号中间信号BEGINg(0)=in1(0) AND in2(0); -Gi=AiBig(1)=in1(1) AND in2(1);g(2)=in1(2) AND in2(2);g(3)=in1(3) AND in2(3);8第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 4位超前进位二进制并行加法器的位超前进位二进制并行加法器的V

8、HDL描述描述p(0)=in1(0) XOR in2(0); -Pi=Ai Bip(1)=in1(1) XOR in2(1); p(2)=in1(2) XOR in2(2); p(3)=in1(3) XOR in2(3);c(0)=g(0) OR (p(0) AND carry_in); -先行进位先行进位c(1)=g(1) OR (p(1) AND g(0) OR (p(1) AND p(0) AND carry_in);c(2)=g(2) OR (p(2) AND g(1) OR (p(2)AND p(1) AND g(0) OR (p(2) AND p(1) AND p(0) AND c

9、arry_in);c(3)=g(3) OR (p(3)AND g(2) OR (p(3) AND p(2) AND g(1) OR (p(3) AND p(2) AND p(1) AND g(0) OR (p(3) AND p(2) AND p(1) AND p(0) AND carry_in);carry_out=c(3); -进位输出进位输出sum(0)=p(0) XOR carry_in; -和数输出和数输出sum(1)=p(1) XOR c(0);sum(2)=p(2) XOR c(1);sum(3)yyy=XXXXXXXX; END CASE; ELSE y=11111111; EN

10、D IF; END PROCESS;END rtl_variable_decoder;可提到可提到IF语语句外面句外面25第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 (2)二)二- -十进制译码器十进制译码器 v 功能:功能: 将将4 4位位BCDBCD码(一般为码(一般为84218421码)的码)的1010组代码组代码“翻译翻译”成成1010个个十进制数码。十进制数码。v 输入和输出线的条数分别为输入和输出线的条数分别为4 4和和1010,又称为,又称为4-104-10线译码器线译码器。v 种类种类:按输入端是否允许出现非法码(:按输入端是否允许出现

11、非法码(1010101011111111) 完全译码的二完全译码的二- -十进制译码器十进制译码器 不完全译码的二不完全译码的二- -十进制译码器十进制译码器。 26第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 完全译码的二完全译码的二- -十进制译码器十进制译码器 功能表功能表0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y输输 入入输输 出出A3A2A1A0000001111111110001101111111100101101111111001111101111110100111101111101011111101111011011111101110111

12、1111111011100011111111011001111111111010101111111111111111111111116组非组非8421BCD码码输出端都是输出端都是高电平高电平不完全译码的有何区别不完全译码的有何区别?27第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 完全译码的二完全译码的二- -十进制译码器十进制译码器 电路图电路图28第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 MSI数字显示译码器数字显示译码器74LS4729第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计

13、与可编程逻辑器件 MSI数字显示译码器数字显示译码器74LS47 v 输入输入 A3A0用于接收用于接收4位二进制代码位二进制代码 v 输出输出 分别用于驱动共阳极七段分别用于驱动共阳极七段LED的的ag段段v 为测试输入端,用于检查七段为测试输入端,用于检查七段LED的各段是否都能点亮的各段是否都能点亮 v 为灭零输入端,用于熄灭无意义的为灭零输入端,用于熄灭无意义的0的显示。的显示。v 为熄灭输入端为熄灭输入端/灭零输出端。当灭零输出端。当 =0时,使共阳极数时,使共阳极数码管全部熄灭。当码管全部熄灭。当 =0且输入数码为且输入数码为0时,时, 输出为输出为0,不,不显示数字显示数字0,其

14、它情况,其它情况 输出均为输出均为1,完成正常译码功能。,完成正常译码功能。v 灭零输出灭零输出 和灭零输入和灭零输入 配合使用,可以实现多位数码配合使用,可以实现多位数码显示的灭零控制。显示的灭零控制。 agLTIRBIRBO/BIBIRBIRBORBORBORBI30第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 MSI数字显示译码器数字显示译码器74LS47十进制十进制数数或功能或功能输输 入入输输 出出说说明明A3A2A1A0011000010000001译译码码显显示示11000111001111151111111111111=0 0111111

15、1熄熄灭灭=010000001111111灭灭零零=00 10000000测测试试RBO/BIRBILTIBIRBILTIa bcdefg31第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 8位数字显示系统的灭零控制位数字显示系统的灭零控制 整数部分整数部分自高向低自高向低级联级联小数部分小数部分自低向高自低向高级联级联保留保留0.0的的显示显示32第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 共阳极共阳极LED与数字显示译码器的连接与数字显示译码器的连接 自学:自学:高电平有效的高电平有效的74LS4874LS48

16、驱动共阴极数码管驱动共阴极数码管33第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.5 v 用一片用一片74LS138译码器和译码器和“与非与非”门设计一个全减器。门设计一个全减器。v 解:解:对照前面介绍过的全加器很容易理解全减器的功能。设对照前面介绍过的全加器很容易理解全减器的功能。设输入的被减数为输入的被减数为Ai,减数为,减数为Bi,低位向该位的借位为,低位向该位的借位为Ci-1,输,输出差为出差为Di,向高位的借位为,向高位的借位为Ci,则其真值表如右表所列。,则其真值表如右表所列。v 由真值表可得由真值表可得v 电路图电路图输输 入入输

17、输 出出AiBiCi-1DiCi000000011101011011011001010100110001111174217421immmmmmmmD73217321immmmmmmmC34第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.6 v 用用74LS138译码器和译码器和“与非与非”门实现逻辑函数门实现逻辑函数 F(A,B,C,D)=m(2,4,6,8,10,12,14)v 解解: 给定的逻辑函数有给定的逻辑函数有4个输入变量,显然可用与例个输入变量,显然可用与例6.5类似的类似的方法用一个方法用一个4-16线译码器和线译码器和“与非与非”门

18、实现。门实现。v 这里要解决如何用这里要解决如何用3-8线译码器实现线译码器实现4-16线译码器的功能的问线译码器的功能的问题。可借助题。可借助74LS138的使能输入端来实现,其方法是用译码的使能输入端来实现,其方法是用译码器的一个使能端作为变量输入端,器的一个使能端作为变量输入端,将两个将两个3-8线译码器扩展成线译码器扩展成4-16线译码器线译码器。如图所示。如图所示。 35第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.61412108642mmmmmmmD)C,B,F(A,36第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻

19、辑设计与可编程逻辑器件 2. 编码器编码器v种类种类 二进制编码器、二二进制编码器、二- -十进制编码器(十进制十进制编码器(十进制- -BCD码编码器)码编码器) 普通编码器和优先编码器普通编码器和优先编码器 v普通二普通二- -十进制编码器十进制编码器 将十进制数的将十进制数的09这这10个数字分别编成个数字分别编成4位位BCD码码 用用10个输入端代表个输入端代表10个不同的数字,个不同的数字,4个输出端代表个输出端代表BCD码,又称为码,又称为10- -4线编码器线编码器v优先编码器优先编码器 允许多个信号同时有效允许多个信号同时有效, ,先对优先级最高的信号进行响应,先对优先级最高的

20、信号进行响应,之后再响应其它信号之后再响应其它信号37第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 MSI二进制优先编码器二进制优先编码器74LS148 v 为为8个输入端个输入端v , , 为为3位二进制代码输出端位二进制代码输出端 v输出编码为反码形式、输入下标大者优先级高输出编码为反码形式、输入下标大者优先级高v 为工作状态选择输入端为工作状态选择输入端( (或称输入允许端或称输入允许端) ),当,当 =0时编码时编码器正常工作,否则不进行编码工作器正常工作,否则不进行编码工作v 允许输出端,当允许编码允许输出端,当允许编码( (即即 =0) )而

21、无信号输入时,而无信号输入时, 为为0v 为编码群输出端,当不允许编码时,或虽然允许编码但无为编码群输出端,当不允许编码时,或虽然允许编码但无信号输入时,信号输入时, 为为1。即只有当允许编码并且有信号输入时,。即只有当允许编码并且有信号输入时,才为才为0。 0I7ICQBQAQSISISOSISOEXOEXOEXO38第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 74LS148的真值表的真值表 输输 入入输输 出出ISI0I1I2I3I4I5I6I7QCQBQAOEXOS11111101111111111110000000100100101001101

22、00100111011010011111000100111111010100111111110010011111111110139第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.7 v 用用74LS148设计一个设计一个16路中断请求优先编码器路中断请求优先编码器。v 解:解:一片一片74LS148只能对只能对8路中断请求进行裁决并编码,但可路中断请求进行裁决并编码,但可设法使用其提供的扩展功能,用多片级联的方法使其实现对设法使用其提供的扩展功能,用多片级联的方法使其实现对16路甚至更多路中断请求进行裁决并编码。路甚至更多路中断请求进行裁决并编码。

23、v 为为16路不同的中断请求信号,下标大者优先级高路不同的中断请求信号,下标大者优先级高 v ,为中断请求信号编码输出端,低电平有效,为中断请求信号编码输出端,低电平有效v 为输入允许端为输入允许端v 为允许输出端为允许输出端v 为编码群输出端为编码群输出端 Z0IZ15IZCQZBQZAQZDQZSIZSOZEXO40第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.7片片II有输入时,有输入时,片片I被禁止被禁止两片对应输出相两片对应输出相与得扩展后输出与得扩展后输出41第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程

24、逻辑器件 74LS148的的VHDL描述描述 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY encoder_priority IS PORT(i:IN STD_LOGIC_VECTOR(7 DOWNTO 0); -编码输入端编码输入端 e1:IN STD_LOGIC; -使能输入端使能输入端 q:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); -编码输出端编码输出端 os,oes:OUT STD_LOGIC); -允许输出端和编码群输出端允许输出端和编码群输出端END encoder_priority;ARCHITECTUR

25、E rtl_encoder_priority OF encoder_priority ISBEGIN PROCESS(e1,i) BEGIN42第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 74LS148的的VHDL描述描述 IF (e1=1) THEN q=111; os=1; oes=1; ELSIF (i=11111111 AND e1=0) THEN q=111; os=0; oes=1; ELSIF (i(7)=0 AND e1=0) THEN q=000; os=1; oes=0;为有为有9种取值的种取值的std_logic类型类型43第第6

26、 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 74LS148的的VHDL描述描述 ELSIF (i(0)=0 AND e1=0) THEN q=111; os=1; oes=0; ELSE q=111; os=1; oes=1; END IF; END PROCESS;END rtl_encoder_priority;44第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 6.1.3 多路选择器和多路分配器多路选择器和多路分配器v 基本功能是从输入端提供的多路数据中选择一路在公共传基本功能是从输入端提供的多路数据中选择一路在公

27、共传输线(如计算机的总线)上传输,到接收端后再将该数据输线(如计算机的总线)上传输,到接收端后再将该数据分配给多路输出中的某一路,从而可实现分配给多路输出中的某一路,从而可实现多路数据在公共多路数据在公共总线上的分时传送总线上的分时传送。v 此外,此类电路还可以实现数据的并此外,此类电路还可以实现数据的并- -串转换、序列信号产串转换、序列信号产生以及任意组合逻辑函数等多种逻辑功能。生以及任意组合逻辑函数等多种逻辑功能。 A B C D E F 45第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 8路数据传输原理图路数据传输原理图 46第第6 6章章 集成

28、电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 1. 多路选择器多路选择器v 又叫数据选择器或多路开关,简称又叫数据选择器或多路开关,简称MUX(multiplexer)。)。v 是一种是一种多输入单输出多输入单输出的组合逻辑电路,完成从多路输入数据的组合逻辑电路,完成从多路输入数据中选择一路送至输出端的功能。中选择一路送至输出端的功能。v 多路数据的选择是受控制信号控制的,一般称为多路数据的选择是受控制信号控制的,一般称为地址选择信地址选择信号号。通常,。通常,2n路输入和一路输出的路输入和一路输出的MUX有有n个地址选择端。个地址选择端。v 74LS153双双4选选1数据

29、选择器(数据选择器(1个集成芯片中含有两个个集成芯片中含有两个4选选1数数据选择器)、据选择器)、8选选1数据选择器数据选择器74LS151 47第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 74LS153(双(双4选选1数据选择器)数据选择器)v D0D3为数据输入端;为数据输入端;v A1、A0为地址选择输入端;为地址选择输入端;v 为使能输入端(低电平有效);为使能输入端(低电平有效);v W为数据输出端。为数据输出端。 ST含含4个与项的与个与项的与或门,根据或门,根据A1A0组合选择组合选择D0-D348第第6 6章章 集成电路的逻辑设计与可编

30、程逻辑器件集成电路的逻辑设计与可编程逻辑器件 74LS153双双4选选1数据选择器数据选择器v使能端有效(即使能端有效(即 =0 )时,输出表达式为)时,输出表达式为 ST选选 择择 输输 入入数数 据据 输输 入入使使 能能 输输 入入输输 出出A1A0D0D1D2D3W1000D00D001D10D110D20D211D30D3ST30iii301201101001DmDAADAADAADAAW包含最小项包含最小项49第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 多路选择器的多路选择器的VHDL描述描述 LIBRARY IEEE;USE IEEE.S

31、TD_LOGIC_1164.ALL;ENTITY mux4 IS PORT(in0,in1,in2,in3:IN STD_LOGIC_VECTOR(3 DOWNTO 0); - 4路数据输入路数据输入 sel:IN STD_LOGIC_VECTOR(1 DOWNTO 0); - 地址选择输入地址选择输入 dataout:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); - 数据输出数据输出END mux4;ARCHITECTURE rtl_mux4 OF mux4 ISBEGIN WITH sel SELECT dataoutZ) WHEN OTHERS; -等价于等价于ZZ

32、ZZ WHEN OTHERS;END rtl_mux4;每路输入为每路输入为4位位50第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.8 v 用多路选择器实现逻辑函数:用多路选择器实现逻辑函数:F(A,B,C)=m(2, 3, 5, 6) v 解:解:根据多路选择器输出表达式的特点,可采用两种不同规根据多路选择器输出表达式的特点,可采用两种不同规模的模的MUX实现给定函数的功能。实现给定函数的功能。v 方案一:方案一:采用采用8路数据选择器实现。路数据选择器实现。v 对比对比8路选择器的输出表达式和函数路选择器的输出表达式和函数F的表达式的表达式v

33、 可知,要使可知,要使W=F,只需令,只需令A2=A,A1=B,A0=C且且D0=D1=D4=D7=0,而,而D2=D3=D5=D6=1即可,如图即可,如图6-21(a)所示。所示。21002101210221031041052106210722WA A ADA A ADA A ADA A ADA A ADA A ADA A ADA A ADCABCBABCACBAC)B,F(A,51第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.8v 方案二:方案二:采用采用4路数据选择器实现路数据选择器实现v 首先从函数的首先从函数的3个输入变量中任意选择两个

34、与个输入变量中任意选择两个与4路路MUX的两个的两个地址选择端相连。假定选择地址选择端相连。假定选择A、B与地址端与地址端A1、A0相连,则可相连,则可将函数将函数F变换如下:变换如下: v 将该式与将该式与4路路MUX的输出的输出W对比后可知,要使对比后可知,要使W与与F相等,只相等,只需需D0=0,D1=1,D2=C,D3= ,如图,如图6-21(b)所示。)所示。 F(A,B,C)ABCABCABCABCAB 0AB(CC)AB CAB CAB 0AB 1AB CAB C C52第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.853第第6 6

35、章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.8v方案一方案一给出了用给出了用2n路路MUX实现实现n个变量函数的个变量函数的一般方法一般方法:将函:将函数的数的n个变量依次连接到个变量依次连接到MUX的的n个地址选择输入端,并将函个地址选择输入端,并将函数表达式表示成数表达式表示成“最小项之和最小项之和”的形式。若函数表达式中包含的形式。若函数表达式中包含最小项最小项mi,则将,则将MUX相应的相应的Di接接1,否则,否则Di接接0。该方法简单,。该方法简单,但不经济,因为但不经济,因为MUX的数据输入端未能得到充分利用。的数据输入端未能得到充分利用。

36、v方案二方案二给出了用给出了用2n-1路路MUX实现含有实现含有n个变量的逻辑函数功能个变量的逻辑函数功能的的一般方法一般方法:从函数的:从函数的n个变量中任意选择个变量中任意选择n-1个作为地址选择个作为地址选择输入端,并根据所选定的地址输入端将函数变换成输入端,并根据所选定的地址输入端将函数变换成 的形式,以确定各数据输入端的形式,以确定各数据输入端Di的取值。假定剩余变量为的取值。假定剩余变量为X,则则Di的取值只可能是的取值只可能是0,1,X或或 之一。之一。120iii1 -nDmFX54第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.9

37、 v 用用4路路MUX实现实现4变量逻辑函数:变量逻辑函数: F(A,B,C,D)=m(1,2,4,9,10,11,12,14,15) v 解:解:用用4路路MUX实现该函数时,应从实现该函数时,应从4个变量中选出两个作为个变量中选出两个作为地址选择端。理论上讲,这种选择是任意的,但选择适当时地址选择端。理论上讲,这种选择是任意的,但选择适当时可使设计简化。可使设计简化。v 假定选择假定选择A,B作为地址端,按作为地址端,按A,B的的4种取值组合可将函数种取值组合可将函数的卡诺图划分成的卡诺图划分成4个二变量(个二变量(C和和D)的子卡诺图,如图)的子卡诺图,如图6-22(a)中虚线所示。各子

38、卡诺图对应的函数就是对应的数据输)中虚线所示。各子卡诺图对应的函数就是对应的数据输入端入端Di。v 求求Di时,可直接在每个子卡诺图上进行。分别化简图时,可直接在每个子卡诺图上进行。分别化简图6-22(a)中的每个子卡诺图,即可得到各数据输入端中的每个子卡诺图,即可得到各数据输入端Di的表达式的表达式55第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.9DCDCDCD0DCDCD1DCD2DCD356第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.9v 如果选用如果选用B和和C作为地址选择端,则各数据输

39、入端作为地址选择端,则各数据输入端Di对应的子对应的子卡诺图如图卡诺图如图6-22(c)所示。化简后的各)所示。化简后的各Di为为 D0=D, , ,D3=Av 其逻辑电路如图其逻辑电路如图6-22(d)所示。可见此时只需附加一个)所示。可见此时只需附加一个“与与非非”门,电路更简单、经济。门,电路更简单、经济。v 由本例可知,用由本例可知,用2n路路MUX实现含有实现含有m个变量个变量(m-n2)的函数时,的函数时,MUX的数据输入端的数据输入端Di一般是两个或两个以上变量的函数。一般是两个或两个以上变量的函数。Di的复杂程度与地址选择变量的确定有关,只有对各种方案进的复杂程度与地址选择变量

40、的确定有关,只有对各种方案进行比较后,才能从中得到最简单经济的方案。行比较后,才能从中得到最简单经济的方案。DADAD1DD257第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 多路选择器实现数据的分时传送并动态译码显示多路选择器实现数据的分时传送并动态译码显示 v 将将并行输入的数据并行输入的数据转换成按时间先后排列的转换成按时间先后排列的串行信号分时输出串行信号分时输出。图。图6-23将将4位位8421码分时传送至码分时传送至7段显示译码器,然后段显示译码器,然后动态地显示动态地显示在相应的在相应的LED显显示器上。示器上。v 图中用图中用4片片4路选

41、择器选择待显示的数据,路选择器选择待显示的数据,4位位8421码的个位连接码的个位连接4个选择个选择器的器的D0,十位连接,十位连接D1,百位连接,百位连接D2,千位连接,千位连接D3。当地址码。当地址码A1A0=00时,时,4个选择器均传送个选择器均传送8421码的个位。码的个位。A1A0为为01,10,11时分别传送十位,百时分别传送十位,百位,千位。位,千位。v 数据在哪一个数码管上显示,受数据在哪一个数码管上显示,受A1A0经经2-4译码器译码后的输出控制。当译码器译码后的输出控制。当A1A0 =00时,显示在个位上,其余数码管被熄灭,时,显示在个位上,其余数码管被熄灭, A1A0为为

42、01,10,11时,时,十位,百位,千位点亮。按图中所接数据,若地址码十位,百位,千位点亮。按图中所接数据,若地址码A1A0按按00011011周期的变化,只要频率大于周期的变化,只要频率大于25次次/秒,由于视觉暂停效应秒,由于视觉暂停效应人眼就可以清楚地看到显示人眼就可以清楚地看到显示8051,无明显闪烁感。,无明显闪烁感。数据、显数据、显示位选择示位选择控制动态控制动态显示显示课程设计时用到、课程设计时用到、也可以用也可以用VHDL实现实现59第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 动态显示的动态显示的VHDL代码代码library ieee

43、;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;-entity exp4 is port( clk : in std_logic; -定义动态扫描时钟信号定义动态扫描时钟信号 key : in std_logic_vector(3 downto 0); -定义四位输入信号定义四位输入信号 ledag : out std_logic_vector(6 downto 0); -定义七位输出信号定义七位输出信号 del : out std_logic_vector(2

44、downto 0) -定义八位数码管位置显示信号定义八位数码管位置显示信号 ); end exp4;-60第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 architecture whbkrc of exp4 is begin process(clk) variable dount : std_logic_vector(2 downto 0); begin if clkevent and clk=1 then-检测时钟上升沿检测时钟上升沿 dount:=dount+1;-计数器计数器dount累加累加 end if; del ledag null; end

45、 case; end process; end whbkrc;61第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 2. 多路分配器多路分配器v 又叫数据分配器,简称又叫数据分配器,简称DEMUX(demultiplexer),其结构和,其结构和功能正好与多路选择器相反。功能正好与多路选择器相反。v 是一种单输入多输出的逻辑部件,从哪一个输出端将输入的是一种单输入多输出的逻辑部件,从哪一个输出端将输入的数据传送出去由地址选择输入变量决定。数据传送出去由地址选择输入变量决定。v 图图6-24所示为所示为4路分配器的逻辑电路图和逻辑符号。图中,路分配器的逻辑电路

46、图和逻辑符号。图中,D为数据输入端,为数据输入端,A1,A0为地址选择输入端,为地址选择输入端,F0F3为数据输为数据输出端,其功能表如表出端,其功能表如表6-7所列。所列。62第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 2. 多路分配器多路分配器数据输入数据输入数据输出数据输出地址选择地址选择63第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 2. 多路分配器多路分配器v 由功能表可知,由功能表可知,4路分配器的输出表达式为:路分配器的输出表达式为:v 由上式可知,多路分配器的结构和功能由上式可知,多路分配器的结

47、构和功能与译码器十分相似与译码器十分相似。在。在图图6-24(a)中,若将)中,若将D端固定接端固定接1,则该电路就可实现,则该电路就可实现2-4译码译码器的功能。同样,用译码器也可以实现多路分配器的功能。因器的功能。同样,用译码器也可以实现多路分配器的功能。因此,多路分配器和译码器一般是此,多路分配器和译码器一般是可以相互替代可以相互替代的。的。A1A0F0F1F2F300D000010D001000D011000DDmDAAF0010DmDAAF1011DmDAAF2012DmDAAF301364第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.

48、10 v 试用试用74LS138译码器实现原码和反码两种输出的译码器实现原码和反码两种输出的8路分配器。路分配器。 v 解:解:74LS138是低电平有效的译码器。当是低电平有效的译码器。当G1=1, = =0时,满足译码条件,若此时时,满足译码条件,若此时CBA=000,则,则 =0;当;当G1=1, = =1时,不满足译码条件,时,不满足译码条件, =1。v 可见,如果选择可见,如果选择 = =D,则,则 =D,同样,若,同样,若CBA=001,则,则 =D, 若若CBA=111,则,则 =D,从而实现,从而实现了原码输出的了原码输出的8路分配器。电路如图路分配器。电路如图6-25(a)所

49、示。)所示。v 当选择当选择G1作为数据输入端,即作为数据输入端,即G1=D,而,而 = =0时,可时,可得到反码输出的得到反码输出的8路分配器,如图路分配器,如图6-25(b)所示。)所示。 2AG2BG0Y2AG2BG0Y2AG2BG0Y1Y7Y2AG2BG65第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.1066第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 4路分配器的路分配器的VHDL描述描述 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY demux

50、4 IS PORT(din:IN STD_LOGIC; -数据输入数据输入 sel:IN STD_LOGIC_VECTOR(1 DOWNTO 0); - 地址选择输入地址选择输入 dataout:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); - 数据输出数据输出END demux4;ARCHITECTURE rtl_demux4 OF demux4 ISBEGIN WITH sel SELECT dataoutZ) WHEN OTHERS; END rtl_demux4;注意此处的注意此处的连接技巧连接技巧67第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻

51、辑设计与可编程逻辑器件 6.1.4 数值比较器数值比较器v 用来比较两组位数相同的二进制数大小的电路,称为数值比用来比较两组位数相同的二进制数大小的电路,称为数值比较器,其逻辑符号如图所示。较器,其逻辑符号如图所示。v 1、一位数值比较器的设计、一位数值比较器的设计v 设参与比较的两个一位二进制数分别用设参与比较的两个一位二进制数分别用A和和B表示,比较结果表示,比较结果分为大于、等于和小于三种情况,分别用三个输出分为大于、等于和小于三种情况,分别用三个输出FAB,FA=B,FAB表示,可列出如表表示,可列出如表6-8所列的真值表。所列的真值表。68第第6 6章章 集成电路的逻辑设计与可编程逻

52、辑器件集成电路的逻辑设计与可编程逻辑器件 6.1.4 数值比较器数值比较器v根据真值表可写出如下输出函数表达式根据真值表可写出如下输出函数表达式ABFABFA=BFAB00010010011010011010ABABAFBAABBABABABAABBAFBAABBBAFBA目的是使输入目的是使输入端不出现反变端不出现反变量量69第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 一位数值比较器的一位数值比较器的VHDL描述描述 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY comp IS PORT(A,B:IN

53、 STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END comp;ARCHITECTURE rtl_comp OF comp ISBEGIN PROCESS(A,B) BEGIN IF(A=B) THEN QB) THEN Q=010; ELSE Q=100; END IF; END PROCESS;END rtl_comp;扩展成多扩展成多位也可以位也可以70第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 2. 中规模集成数值比较器中规模集成数值比较器v 74LS85是一种典型的是一种典型的4位中规模集成数值

54、比较器,其逻辑电位中规模集成数值比较器,其逻辑电路图和逻辑符号如图路图和逻辑符号如图6-28所示。所示。v 图中图中a3a0和和b3b0是待比较的是待比较的2组组4位二进制数位二进制数A和和B,输入,输入ab,a=b和和ab为为级联输入级联输入,用于多片级联时传递低位片的,用于多片级联时传递低位片的比较结果。比较结果。FAB,FA=B和和FAB是比较结果。是比较结果。v 比较两组数的大小时,先比较高位,高位相等时再比较低位。比较两组数的大小时,先比较高位,高位相等时再比较低位。74LS85的功能表如表的功能表如表6-9所列。所列。71第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的

55、逻辑设计与可编程逻辑器件 74LS85的功能表的功能表 比比 较较 输输 入入级级 联联 输输 入入输输 出出a3b3a2b2a1b1a0b0aba=babFABFA=BFAB1010001001a3=b310100a3=b301001a3=b3a2=b210100a3=b3a2=b201001a3=b3a2=b2a1=b110100a3=b3a2=b2a1=b101001a3=b3a2=b2a1=b1a0=b0100100a3=b3a2=b2a1=b1a0=b0001001a3=b3a2=b2a1=b1a0=b01010a3=b3a2=b2a1=b1a0=b0101000a3=b3a2=b2

56、a1=b1a0=b000010172第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 2. 中规模集成数值比较器中规模集成数值比较器v 利用级联输入端,将多片比较器串连,可以利用级联输入端,将多片比较器串连,可以扩展比较位数扩展比较位数。例如可以将例如可以将2片片74LS85级联构成级联构成8位数值比较器,如下图所位数值比较器,如下图所示。示。低位片,低位片,按功能表按功能表倒倒3 3行连接行连接73第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 比较器级联比较器级联 v 串行级联的方法简单且容易理解,但当扩展的位数串行

57、级联的方法简单且容易理解,但当扩展的位数较多时,级联的芯片就多,速度变慢。因此,在组较多时,级联的芯片就多,速度变慢。因此,在组成位数较多的比较器时,常采用成位数较多的比较器时,常采用树型结构树型结构。v 例如进行例如进行24位比较时,可由两级电路构成,如图位比较时,可由两级电路构成,如图6-30所示。第一级由所示。第一级由5个个4位比较器构成,并把每片的位比较器构成,并把每片的级联输入级联输入ab、ab分别扩展成比较器输入的分别扩展成比较器输入的最低最低位位,24位分为位分为5组分别送到组分别送到5个个4位比较器进行比较。位比较器进行比较。再将第一级每片比较的结果送到第二级作最终比较。再将第

58、一级每片比较的结果送到第二级作最终比较。 75第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 例例6.11 v 用用74LS85设计设计8421码表示的码表示的1位十进制数的四舍五入电路。位十进制数的四舍五入电路。v 解:解:所谓四舍五入电路,就是对输入的十进制数(所谓四舍五入电路,就是对输入的十进制数(8421码表码表示)的大小进行判断,当大于或等于示)的大小进行判断,当大于或等于5时输出时输出1,否则输出,否则输出0。v 如下图所示,用如下图所示,用74LS85很容易实现该功能。设很容易实现该功能。设8421码为码为A3A2A1A0,分别接到比较器的,

59、分别接到比较器的a3a2a1a0端,而将端,而将0100分别接分别接到到b3b2b1b0端,则输出端,则输出FAB为判别输出端。为判别输出端。 76第第6 6章章 集成电路的逻辑设计与可编程逻辑器件集成电路的逻辑设计与可编程逻辑器件 74LS85的的VHDL描述描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY comp4 IS PORT(A,B:IN STD_LOGIC_VECTOR(3 DOWNTO 0); -待比较的输入数据待比较的输入数据 I1,I2,I3:IN STD_LOGIC; -大于、等于、小于级联输入大于、等于、小于级联输入 G

60、T,EQ,LT:OUT STD_LOGIC); -大于、等于、小于输出大于、等于、小于输出END comp4;ARCHITECTURE rtl_comp4 OF comp4 ISBEGIN GT=0WHEN(AB)OR(A=B) AND (I2=0)AND (I3=0) ELSE Z; EQ=0WHEN(A/=B)OR(A=B) AND (I2=0) ELSE 1WHEN (A=B) AND I2=1ELSE Z; LTB)OR(A=B)AND(I2=1)OR(A=B)AND(I1=1)AND (I2=0)ELSE 1WHEN AB OR(A=B) AND I1=0AND I2=0)ELSE

温馨提示

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

评论

0/150

提交评论