电子设计自动化eda组合逻辑电路设计ppt课件

上传人:痛*** 文档编号:167560301 上传时间:2022-11-03 格式:PPT 页数:54 大小:1.10MB
返回 下载 相关 举报
电子设计自动化eda组合逻辑电路设计ppt课件_第1页
第1页 / 共54页
电子设计自动化eda组合逻辑电路设计ppt课件_第2页
第2页 / 共54页
电子设计自动化eda组合逻辑电路设计ppt课件_第3页
第3页 / 共54页
点击查看更多>>
资源描述
第五章第五章 组合逻辑电路设计组合逻辑电路设计5.7 加法器加法器5.6 数值比较器数值比较器5.5 多路选择器多路选择器5.4 译码器译码器5.3 优先编码器优先编码器5.2 编码器编码器5.1 门电路门电路 在前面的各章里,分别引见了在前面的各章里,分别引见了VHDL言语的语句、言语的语句、语法以及利用语法以及利用VHDL言语设计硬件电路的根本方法,本言语设计硬件电路的根本方法,本章重点引见利用章重点引见利用VHDL言语设计根本组合逻辑模块的方言语设计根本组合逻辑模块的方法。法。5.1 门电路门电路二输入异或门二输入异或门二输入异或门的逻辑表达式如下所示:二输入异或门的逻辑表达式如下所示: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;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 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 00 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,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线线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 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 各输出端的逻辑方程135745723576701234567234567456767012345670)(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 prioritycoder83_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 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)THEN 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;ELSIF(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;总线显示方式的3线8线译码器74仿真波形图 DG0DD1Y8选1数据选择器D741513DDY5D4276D10AA2A 5.5 多路选择器多路选择器74151 8选选1数据选择器真值表数据选择器真值表 输入输出使能地址选择YYbGA2A1A01XXX010000D0D00001D1D10010D2D20011D3D30100D4D40101D5D50110D6D60111D7D7bY 参考参考74151的真值表,采用的真值表,采用IF语句构造编写的语句构造编写的VHDL源代码如下:源代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.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)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 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_LOGIC;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=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全加器真值表全加器真值表LIBRARY 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: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位加法器仿真波形
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


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

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


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