《电子设计自动化eda》组合逻辑电路设计

上传人:y****3 文档编号:36143860 上传时间:2021-10-29 格式:PPT 页数:54 大小:968.50KB
收藏 版权申诉 举报 下载
《电子设计自动化eda》组合逻辑电路设计_第1页
第1页 / 共54页
《电子设计自动化eda》组合逻辑电路设计_第2页
第2页 / 共54页
《电子设计自动化eda》组合逻辑电路设计_第3页
第3页 / 共54页
资源描述:

《《电子设计自动化eda》组合逻辑电路设计》由会员分享,可在线阅读,更多相关《《电子设计自动化eda》组合逻辑电路设计(54页珍藏版)》请在装配图网上搜索。

1、第五章第五章 组合逻辑电路设计组合逻辑电路设计5.7 加法器加法器5.6 数值比较器数值比较器5.5 多路选择器多路选择器5.4 译码器译码器5.3 优先编码器优先编码器5.2 编码器编码器5.1 门电路门电路 在前面的各章里,分别介绍了在前面的各章里,分别介绍了VHDL语言的语句、语言的语句、语法以及利用语法以及利用VHDL语言设计硬件电路的根本方法,本语言设计硬件电路的根本方法,本章重点介绍利用章重点介绍利用VHDL语言设计根本组合逻辑模块的方语言设计根本组合逻辑模块的方法。法。 5.1 门电路门电路二输入异或门二输入异或门二输入异或门的逻辑表达式如下所示:二输入异或门的逻辑表达式如下所示

2、: babay二输入异或门的逻辑符号如下图,真值表如下表所示:二输入异或门的逻辑符号如下图,真值表如下表所示: bya=1例例:采用行为描述方式设计的异或门采用行为描述方式设计的异或门 依据逻辑表达式依据逻辑表达式a b y0 0 00 1 11 0 11 1 0LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY xor2_v1 IS PORT(a,b: IN STD_LOGIC; y: OUT STD_LOGIC);END xor2_v1;ARCHITECTURE behave OF xor2_v1 ISBEGIN y y y y y y =X;

3、END CASE; END PROCESS;END dataflow; 二输入异或门的仿真波形二输入异或门的仿真波形 IIIIIIII01324567AAA0128线-3线编码器 5.2 编码器编码器 用一组二进制代码按一定规那么表示给定字母、数字、用一组二进制代码按一定规那么表示给定字母、数字、符号等信息的方法称为编码,能够实现这种编码功能的符号等信息的方法称为编码,能够实现这种编码功能的逻辑电路称为编码器。逻辑电路称为编码器。 输入输入 输出输出I0 I1 I2 I3 I4 I5 I6 I7 A2 A1 A0 0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 0 1

4、 0 0 1 0 0 0 0 0 0 1 00 0 0 1 0 0 0 0 0 1 10 0 0 0 1 0 0 0 1 0 00 0 0 0 0 1 0 0 1 0 10 0 0 0 0 0 1 0 1 1 010 0 0 0 0 0 0 1 1 1 1 8线线3线编码器真值表线编码器真值表 8线线3线编码器逻辑表达式:线编码器逻辑表达式:例:采用行为描述方式的例:采用行为描述方式的8线线3线编码器线编码器VHDL源代码源代码 依据逻辑表达式依据逻辑表达式LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY coder83_v1 IS PORT(I0

5、,I1,I2,I3,I4,I5,I6,I7: IN STD_LOGIC; A0,A1,A2: OUT STD_LOGIC);END coder83_v1;A2=I4+I5+I6+I7A1=I2+I3+I6+I7A0=I1+I3+I5+I7 ARCHITECTURE behave OF coder83_v1 ISBEGIN A2 = I4 OR I5 OR I6 OR I7; A1 = I2 OR I3 OR I6 OR I7; A0 A A A A A A A A =000; END CASE; END PROCESS;END dataflow; 采用数据流描述方式的采用数据流描述方式的8线线

6、3线编码器仿真波形线编码器仿真波形总线显示方式总线显示方式1优先编码器II7I6II0III8线-3线432574148GSEOAA21A0EI 5.3 优先编码器优先编码器 输输 入入 输出输出EI I0 I1 I2 I3 I4 I5 I6 I7 A2 A1 A0 GS EO1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 1 1 0 1 1 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0 1 0 10 0 1 1

7、1 1 1 1 1 1 0 0 10 0 1 1 1 1 1 1 1 1 1 1 0 1 74148优先编码器真值表 反码编码方案456701234567123456723456734567012345672)(IIIIEIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIEIEIA46756723670123456712345674567567012345671)(IIIIIIIIIIEIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIEIEIA 各输出端的逻辑方程各输出端的逻辑方程1357457235767012345672345674567670123456

8、70)(IIIIIIIIIIIIIEIIIIIIIIIIIIIIIIIIIIIIIIIIIIIEIEIA0123456701234567IIIIIIIIEIIIIIIIIIEIEIGS01234567IIIIIIIIEIEOLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY prioritycoder83_v1 IS PORT(I7,I6,I5,I4,I3,I2,I1,I0 : IN STD_LOGIC; EI:IN STD_LOGIC; A2,A1,A0: OUT STD_LOGIC; GS,EO:OUT STD_LOGIC);END priori

9、tycoder83_v1;ARCHITECTURE behave OF prioritycoder83_v1 IS 以以74148逻辑表达式为依据,按行为描述方式编写的逻辑表达式为依据,按行为描述方式编写的VHDL源代码如源代码如 下:下: BEGIN A2 = EI OR (I7 AND I6 AND I5 AND I4); A1 = EI OR (I7 AND I6 AND I3 AND I2) OR (I7 AND I6 AND NOT I5) OR (I7 AND I6 AND NOT I4) ; A0 = EI OR (I7 AND NOT I6) OR (I7 AND I5 AND

10、 NOT I4) OR (I7 AND I5 AND I3 AND I1) OR (I7 AND I5 AND I3 AND NOT I2); GS = EI OR (I7 AND I6 AND I5 AND I4 AND I3 AND I2 AND I1 AND I0); EO A=“000; 因此不能用因此不能用CASE语句来描述语句来描述74148 。采用。采用IF语句对语句对74148进行了逻辑描述进行了逻辑描述 如下:如下:ARCHITECTURE dataflow OF prioritycoder83_v2 ISBEGIN PROCESS(EI,I) BEGIN IF(EI=1)T

11、HEN A = 111; GS = 1; EO = 1; ELSIF (I=11111111 AND EI=0)THEN A = 111; GS = 1; EO = 0; ELSIF (I(7)=0 AND EI=0)THEN A = 000; GS = 0; EO = 1; ELSIF (I(6)=0 AND EI=0)THEN A = 001; GS = 0; EO = 1; ELSIF (I(5)=0 AND EI=0)THEN A = 010; GS = 0; EO = 1; ELSIF (I(4)=0 AND EI=0)THEN A = 011; GS = 0; EO = 1; EL

12、SIF (I(3)=0 AND EI=0)THEN A = 100; GS = 0; EO = 1; ELSIF (I(2)=0 AND EI=0)THEN A = 101; GS = 0; EO = 1; ELSIF (I(1)=0 AND EI=0)THEN A = 110; GS = 0; EO = 1; ELSE (I(0)=0 AND EI=0)THEN A = 111; GS = 0; EO Y Y Y Y Y Y Y Y =01111111; END CASE; ELSE Y =11111111; END IF; END PROCESS;END dataflow; 总线显示方式的

13、总线显示方式的3线线8线译码器线译码器74138仿真波形图仿真波形图 DG0DD1Y8选1数据选择器D741513DDY5D4276D10AA2A 5.5 多路选择器多路选择器74151 8选选1数据选择器真值表数据选择器真值表 输入输出使能地址选择YYbGA2A1A01XXX010000D0D00001D1D10010D2D20011D3D30100D4D40101D5D50110D6D60111D7D7bY 参考参考74151的真值表,采用的真值表,采用IF语句结构编写的语句结构编写的VHDL源代码如下:源代码如下: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164

14、.ALL;ENTITY mux8_v2 IS PORT(A: IN STD_LOGIC_VECTOR (2 DOWNTO 0); D0,D1,D2,D3,D4,D5,D6,D7:IN STD_LOGIC; G:IN STD_LOGIC; Y: OUT STD_LOGIC; YB:OUT STD_LOGIC);END mux8_v2;ARCHITECTURE dataflow OF mux8_v2 IS BEGIN PROCESS (A,D0,D1,D2,D3,D4,D5,D6,D7,G) BEGIN IF (G =1) THEN Y =0; YB =1; ELSIF(G=0AND A=000)

15、THEN Y = D0; YB = NOT D0; ELSIF(G=0AND A=001)THEN Y = D1; YB = NOT D1; ELSIF(G=0AND A=010)THEN Y = D2; YB = NOT D2; ELSIF(G=0AND A=011)THEN Y = D3; YB = NOT D3; ELSIF(G=0AND A=100)THEN Y = D4; YB = NOT D4; ELSIF(G=0AND A=101)THEN Y = D5; YB = NOT D5; ELSIF(G=0AND A=110)THEN Y = D6; YB = NOT D6; ELSE

16、 Y = D7; YB = NOT D7; END IF; END PROCESS; END dataflow; IF语句结构语句结构8选选1数据选择器仿真波形数据选择器仿真波形 参考参考74151的真值表,采用的真值表,采用CASE语句结构编写的语句结构编写的VHDL源代码如下源代码如下 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux8_v3 IS PORT(A2,A1,A0: IN STD_LOGIC; D0,D1,D2,D3,D4,D5,D6,D7:IN STD_LOGIC; G:IN STD_LOGIC; Y: OUT STD_L

17、OGIC; YB:OUT STD_LOGIC);END mux8_v3;ARCHITECTURE dataflow OF mux8_v3 IS SIGNAL comb: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN comb Y = D0; YB Y = D1; YB Y = D2; YB Y = D3; YB Y = D4; YB Y = D5; YB Y = D6; YB Y = D7; YB Y =0; YB B、A B) THEN YA =1; YB =0; YC =0; ELSIF(A B) THEN YA =0; YB =1; YC =0; ELSE YA

18、 =0; YB =0; YC =1; END IF; END PROCESS; END behave; 两个4位二进制数比较器的仿真波形 5.7 加法器加法器 加法器是数字电路中的根本运算单元,下例是直接利用VHDL运算符“+实现加法运算的8位加法器源代码。 其中其中: A和和B是两个相加的是两个相加的8位二进制数位二进制数; Cin是低位进位位是低位进位位; S是是A、B相加之和相加之和; Co是是A、B相加之后的进位位。相加之后的进位位。 输输 入入 输输 出出CIABSCO0000000110010100110110010101011100111111全加器真值表全加器真值表LIBRAR

19、Y IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder8_v IS PORT(A :IN STD_LOGIC_VECTOR(7 DOWNTO 0); B :IN STD_LOGIC_VECTOR(7 DOWNTO 0); Cin:IN STD_LOGIC; Co : OUT STD_LOGIC; S :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END adder8_v; ARCHITECTURE behave OF adder8_v IS SIGNAL Sint :

20、STD_LOGIC_VECTOR(8 DOWNTO 0); SIGNAL AA,BB: STD_LOGIC_VECTOR(8 DOWNTO 0); BEGIN AA =0& A(7 DOWNTO 0); BB =0& B(7 DOWNTO 0); Sint = AA + BB + Cin; S(7 DOWNTO 0) = Sint(7 DOWNTO 0); Co = Sint(8); END behave;将将8位加数矢量扩展为位加数矢量扩展为9位,为进位提供空间位,为进位提供空间将将8位被加数矢量扩展位被加数矢量扩展为为9位,为进位提供空位,为进位提供空间间 8位加法器仿真波形位加法器仿真波形

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!