数字逻辑课后 第五章
- 格式:doc
- 大小:124.50 KB
- 文档页数:13
5.31BUT门的可能定义是:“如果A1和B1为1,但A2或B2为0,则Y1为1;Y2的定义是对称的。
”写出真值表并找出BUT门输出的最小“积之和”表达式。
画出用“与非-与非”电路实现该表达式的逻辑图,假设只有未取反的输入可用。
你可以从74x00、04、10、20、30组件中选用门电路。
解:真值表如下利用卡诺图进行化简,可以得到最小积之和表达式为Y1=A1·B1·A2’+A1·B1·B2’Y2=A1’·A2·B2+B1’·A2·B2Y2采用74x04得到各反相器采用74x10得到3输入与非采用74x00得到2输入与非5.32做出练习题5.31定义的BUT门的门级设计,要求以cmos实现时使用的晶体管数目最少,可以从74x00、04、10、20、30组件中选用门电路.写出输出表达式(不一定是二级“积之和”)并画出逻辑图。
解:cmos晶体管用量:反相器2个2输入与非门4个3输入与非门6个为了尽量减少晶体管用量,可以采用下列表达式,以便实现器件的重复使用:F1=(A1·B1)·(A2’+B2’)=(A1·B1)·(A2·B2)’=[(A1·B1)’+(A2·B2)’’]’F2=[(A2·B2)’+(A1·B1)’’]’电路图:晶体管用量:20只(原设计中晶体管用量为40只)5.34已知函数,,,(3,7,11,12,13,14)W X Y Z F =∑,说明如何利用练习题5.31定义的单个BUT 门和单个二输入或门实现F.解:BUT 门输出采用最小项和的形式表达为()∑=2,2,1,114,13,121B A B A Y ,()∑=2,2,1,111,7,32B A B A Y将两个输出相或就可以得到要求实现的函数。
5.19指出用一块或多块74x138或74x139二进制译码器以及与非门,如何构建下面每个单输出或多输出的逻辑功能(提示:每个实现等效于一个最小项之和)。
第五章可编程逻辑5.1 PLD 的基本概念5.2 现场可编程门阵列FPGA5.3 在系统可编程ISP5.4 可编程逻辑的原理图方式设计5.5 可编程逻辑的VHDL文本方式设计返回目录5.1 PLD的基本概念5.1.1 可编程阵列5.1.2 PLD的类型5.1.1 可编程阵列1.与阵列图5.1 与阵列图5.2例1的与阵列编程2.或阵列或阵列如图5.3所示,可编程矩阵的输出连接到或门上。
图5.3 或阵列图5.4 例3的与-或阵列编程3.可编程连接技术图5.5 SRAM 为基的与阵列概念5.1.2 PLD的类型1.简单可编程逻辑器件SPLD图5.6SPLD内部结构框图2.复杂可编程逻辑器件CPLDCPLD本质上是:利用可编程的互连总线连接起来的多路SPLD。
图5.7 CPLD结构框图5.2 现场可编程门阵列FPGA5.2.1 FPGA的基本结构5.2.2 可组态逻辑块CLB5.2.3 SRAM为基础的FPGA5.2.1 FPGA的基本结构图5.8FPGA的基本结构框图5.2.2 可组态逻辑块CLB图5.9基本可组态CLB图5.10 FPGA中一个逻辑模块的框图图5.11 LUT编程后用作SOP表达式输出5.2.3 SRAM为基础的FPGA图5.12 可变FPGA配置的基本概念5.3 在系统可编程ISP5.3.1 ispLSI器件的体系结构5.3.2 在系统编程原理5.3.1 ispLSI器件的体系结构1.ispLSI 1032框图和巨块的组成图5.13 ispLSI 1032的体系结构框图和引脚图2.通用逻辑块GLB图5.14 GLB的结构框图图5.15 GLB的标准组态3.布线区图5.16 ORP逻辑图4.输入输出单元IOC图5.18 I/O单元工作组态图5.17 IOC的结构框图5.时钟分配网络图5.19 时钟设置网络6.ispMACH 4000系列器件图5.20 ispMACH 4000系列结构框图5.3.2 在系统编程原理1.在系统编程原理图5.21 ispLSI器件的编程结构转换示意图2.isp器件的编程方式图5.22典型ISP编程电路5.4 可编程逻辑的原理图方式设计5.4.1 编程环境和设计流程图5.4.2 设计输入5.4.3 功能模拟5.4.4 综合和实现(软件)5.4.5 时序模拟5.4.6 器件下载5.4.1 编程环境和设计流程图1.编程环境2.设计流程图图5.24 可编程逻辑设计流程5.4.2 设计输入图5.25原理图方式(a)和文本方式(b)设计同一逻辑电路图5.26 逻辑分段与结合的例子5.4.3 功能模拟图5.27功能模拟显示图5.4.4 综合和实现(软件)1.综合阶段图5.28综合阶段的优化例子2.实现阶段5.4.5 时序模拟图5.29时序模拟的假定例子5.4.6 器件下载图5.30下载一个设计到目标器件5.5 可编程逻辑的VHDL文本方式设计5.5.1 VHDL的基本概念5.5.2 VHDL的组合逻辑设计5.5.3 VHDL的时序逻辑设计5.5.1 VHDL的基本概念图5.315.5.2 VHDL的组合逻辑设计1.VHDL编程中的数据流描述方法图5.32 一个SOP形式逻辑电路2.VHDL编程中的结构描述方法图5.33 VHDL结构法与固定逻辑IC硬件实现法的比较图5.34 VHDL组件示例图5.35 例8的逻辑电路图3.VHDL编程中库元件调用法5.5.3 VHDL的时序逻辑设计图5.36 时钟边沿与属性描述图5.37 序列检测器有限状态机。
第五章触发器-------—---—--——----————-—-————-—--———----—-——--—-——-—-—--————--—————-—-——-—1 : 具有:置0、置1、保持和翻转功能的触发器是()。
A:JK触发器B:SR触发器C:D触发器D:T触发器您选择的答案: 正确答案: A知识点:JK触发器的特性为:J=0, K=0时,Q状态为保持;J=0, K=1时,Q状态为置0;J=1,K=0时,Q状态为置1;J=1, K=1时,Q状态为翻转-—---—-—---———--——-——-—--—--—-——-———-—-—-——-————-——-————-—-—---—————-———-—--2 : 对于JK触发器,输入J=0,K=1,CLK脉冲作用后,触发器的次态应为().A:0B:1C:Q’D:不确定您选择的答案:正确答案: A知识点:JK触发器的特性为:J=1, K=1时,Q状态为翻转,即Q= Q’——--——-—————————---—-——-—-——--—---—-—-——-—---————-——--——--——-—-—-—-—-—---——-3 :有一个或非门构成的SR锁存器,欲使该锁存器保持原态即Q*=Q,则输入信号应为().A:S=R=0B:S=R=1C:S=1,R=0D:S=0,R=1您选择的答案: 正确答案: A知识点:或非门构成的SR锁存器的特性为:R=1, S=0 Q*=0, Q*’=1,即锁存器被置 0(0状态);R=0, S=1 Q*=1, Q*’=0,即锁存器被置 1(1状态);R=S=0, Q*=Q,即锁存器保持原态;R= S=1 Q*=Q*’=0,此为不允许输入。
-——————-—--——----————----—---——--——-—-——--—-—-————--——————---—-—--———--—-—-—4 :JK触发器要实现Q*=1时,J、K端的取值为( ).A:J=0,K=1B:J=0,K=0C:J=1,K=1D:J=1,K=0您选择的答案:正确答案: D知识点:JK触发器的特性为:J=0, K=0时,Q状态为保持;J=0, K=1时,Q状态为置0;J=1, K=0时,Q状态为置1;J=1, K=1时,Q状态为翻转————---—-—---——-—--—-—---—-———--———------—--—---——-—-—————---—--—----—————-—5 :将D触发器的D端与它的Q’端连接,假设初始状态Q=0,则经过1个脉冲作用后,它的状态Q为( )。
习题五1. 简述时序逻辑电路与组合逻辑电路的主要区别。
解答组合逻辑电路:若逻辑电路在任何时刻产生的稳定输出值仅仅取决于该时刻各输入值的组合,而与过去的输入值无关,则称为组合逻辑电路。
组合电路具有如下特征:①由逻辑门电路组成,不包含任何记忆元件;②信号是单向传输的,不存在任何反馈回路。
时序逻辑电路:若逻辑电路在任何时刻产生的稳定输出信号不仅与电路该时刻的输入信号有关,还与电路过去的输入信号有关,则称为时序逻辑电路。
时序逻辑电路具有如下特征:○1电路由组合电路和存储电路组成,具有对过去输入进行记忆的功能;○2电路中包含反馈回路,通过反馈使电路功能与“时序”相关;○3电路的输出由电路当时的输入和状态(过去的输入)共同决定。
2. 作出与表1所示状态表对应的状态图。
表1 状态表现态y2 y1次态y2 ( n+1)y1(n+1) /输出Zx2x1=00 x2x1=01 x2x1=11 x2x1=10ABCD B/0B/0C/0A/0B/0C/1B/0A/1A/1A/0D/0C/0B/0D/1A/0C/0解答根据表1所示状态表可作出对应的状态图如图1所示。
图13. 已知状态图如图2所示,输入序列为x=11010010,设初始状态为A,求状态和输出响应序列。
图 2解答状态响应序列:A A B C B B C B输出响应序列:0 0 0 0 1 0 0 14. 分析图3所示逻辑电路。
假定电路初始状态为“00”,说明该电路逻辑功能 。
图 3 解答○1 根据电路图可写出输出函数和激励函数表达式为xK x,J ,x K ,xy J y xy Z 1111212=====○2 根据输出函数、激励函数表达式和JK 触发器功能表可作出状态表如表2所示,状态图如图4所示。
表2图4现态 y 2 y 1 次态 y 2( n+1)y 1(n+1)/输出Zx=0 x=1 00 01 10 1100/0 00/0 00/0 00/001/1 11/0 11/0 11/1○3 由状态图可知,该电路为“111…”序列检测器。
第5章锁存器与触发器5—1 图5.1(a)是由与非门构成的基本R-S触发器,试画出在图(b)中所示输入信号的作用下的输出波形。
dRdSQQ图 5.1(a)图 5.1(b)最后一个时刻R、S端同时由0变成1,其状态不确定,假设R先来高电平则Q为高5—2 分析图5.2所示电路,列出特性表,写出特性方程,说明其逻辑功能。
CP D Q n Q n+10 ×0 0 保持0 × 1 11 0 ×0 置数1 1 × 1特性方程为Q n+1=D 为同步(CP高电平)D触发器5—3 由CMOS门构成的电路如图5.3(a)所示,请回答:(1)0=C时该电路属于组合电路还是时序电路?1=C时呢?(2)分别写出输出Q的表达式;(3)已知输入A,B,C的波形如图5.3(b),请画出对应的输出Q的波形。
图5.2Q图5.3(a)ABCQ图5.3(b)答: 1) 0=C 时该电路属于组合电路(输出反馈截止)1时为时序电路。
2)C=0时 B A Q +=C=1时 n n n Q B Q B Q⋅=+=+15—4 已知CP 和D 的波形如图4.4所示,试对应画出习题5—2中电路的输出1Q 以及D 触发器(上升沿触发)的输出2Q 的波形。
(1Q 2Q 的初始状态为“0”5—5 今有两个TTL J-K 触发器,一个是主从触发方式,另一个是下降沿触发,已知两者的输入波形均如图5.5所示,试分别画出两个触发器的输出波形。
初始状态均为“0”。
对于主从JK 触发器,由于在CP 为1的全部时间内主触发器都可以接收输入信号,所以在CP 为1的期间输入信号发生变化后,CP 下降沿到达时从触发器的状态不一定按此刻输入信号的状态来确定,而必须考虑整个CP 为1期间内输入信号的变化过程才能确定触发器DQ QCPJQ Q 主从边沿A B C Q 图5.3(b)D Q Q的状态。
主从JK 触发器在Q 为0时主触发器只能接收置1输入信号,Q 为1时只能接收置0信号。
第五章 习题答案1. 画出与阵列编程点解:---2. 画出或阵列编程点解:----X 1X 2X 3X 43. 与、或阵列均可编程,画出编程点。
解;1A-BB -F 324. 4变量LUT 编程解:A 0A 1A 2A 3SOP 输出5. 用VHDL 写出4输入与门解: 源代码:LIBRARY IEEE ;USE IEEE .STD_LOGIC_1164.ALL ;ENTITY and4 ISPORT (a ,b ,c ,d :IN STD_LOGIC ;x :OUT STD_LOGIC );END and4;ARCHITECTURE and4_arc OF and4 ISBEGINx <=a AND b AND c AND d ;END and4_arc ;6. 用VHDL 写出4输入或门解: 源代码:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or4 ISPORT (a,b,c,d:IN STD_LOGIC;x:OUT STD_LOGIC);END or4;ARCHITECTURE or4_arc OF or4 ISBEGINx<=a OR b OR c OR d;END or4_arc;7.用VHDL写出SOP表达式解:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY sop ISPORT (a,b,c,d,e,f:IN STD_LOGIC;x:OUT STD_LOGIC);END sop;ARCHITECTURE sop_arc OF sop ISBEGINx<=(a AND b) OR (c AND d) OR (e AND f);END sop_arc;8.用VHDL写出布尔表达式解:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY boolean ISPORT (a,b,c:IN STD_LOGIC;f:OUT STD_LOGIC);END boolean;ARCHITECTURE boolean_arc OF boolean ISBEGINf<=(a OR (NOT b)OR c) AND (a OR b OR(NOT c))AND ((NOT a) OR (NOT b) OR (NOT c));END boolean_arc;9.用VHDL结构法写出SOP表达式解:源代码:――三输入与非门的逻辑描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY nand3 ISPORT (a,b,c:IN STD_LOGIC;x:OUT STD_LOGIC);END nand3;ARCHITECTURE nand3_arc OF nand3 ISBEGINx<=NOT (a AND b AND c);END nand3_arc;――顶层结构描述文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY sop ISPORT (in1,in2,in3,in4,in5,in6,in7,in8,in9:IN STD_LOGIC;out4:OUT STD_LOGIC);END sop;ARCHITECTURE sop_arc OF sop ISCOMPONENT nand3PORT (a,b,c:IN STD_LOGIC;x:OUT STD_LOGIC);END COMPONENT;SIGNAL out1,out2,out3:STD_LOGIC;BEGINu1:nand3 PORT MAP (in1,in2,in3,out1);u2:nand3 PORT MAP (in4,in5,in6,out2);u3:nand3 PORT MAP (in7,in8,in9,out3);u4:nand3 PORT MAP (out1,out2,out3,out4);END sop;10.用VHDL数据流法写出SOP表达式解:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY sop ISPORT (in1,in2,in3,in4,in5,in6,in7,in8,in9:IN STD_LOGIC;out4:OUT STD_LOGIC);END sop;ARCHITECTURE sop_arc OF sop ISBEGINout4<=(in1 AND in2 AND in3) OR (in4 AND in5 AND in6 ) OR (in7 AND in8 AND in9);END sop_arc;13.用VHDL设计3-8译码器解:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder_3_to_8 ISPORT(a,b,c,g1,g2a,g2b:IN STD_LOGIC;y:OUT STD_LOGIC _VECTOR(7 downto 0));END decoder_3_to_8;ARCHITECTURE rt1 OF decoder_3_to_8 ISSIGNAL indata:STD_LOGIC _VECTOR(2 downto 0);BEGINindata<=c & b & a;PROCESS(indata,g1,g2a,g2b)BEGINIF(g1=′1′ AND g2a=′0′ AND g2b=′0′)THENCASE indata ISWHEN "000"=>y<="11111110";WHEN "001"=>y<="11111101";WHEN "010"=>y<="11111011";WHEN "011"=>y<="11110111";WHEN "100"=>y<="11101111";WHEN "101"=>y<="11011111";WHEN "110"=>y<="10111111";WHEN others=>y<="01111111";END CASE;ELSEy<="11111111";END IF;END PROCESS;END rt1;14.用VHDL设计七段显示译码器解:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY segment7 ISPORT(xin:IN STD_LOGIC _VECTOR(3 downto 0);lt,rbi:IN STD_LOGIC;yout:OUT STD_LOGIC _VECTOR(6 downto 0);birbo:INOUT STD_LOGIC);END segment7;ARCHITECTURE seg7448 OF segment7 ISSIGNAL sig_xin:STD_LOGIC _VECTOR(3 downto 0);BEGINsig_xin<=xin;PROCESS(sig_xin,lt,rbi,birbo)BEGINIF(birbo=′0′)THENyout<="0000000";ELSIF (lt=′0′)THENyout<="1111111";birbo<=′1′;ELSIF (rbi=′0′AND sig_xin="0000")THENyout<="0000000";birbo<=′0′;ELSIF (rbi=′1′ AND sig_xin="0000")THENyout<="1111110";birbo<=′1′;ELSEbirbo<=′1′;CASE sig_xin ISWHEN "0001"=>yout<="0110000";WHEN "0010"=>yout<="1101101";WHEN "0011"=>yout<="1111001";WHEN "0100"=>yout<="0110011";WHEN "0101"=>yout<="1011011";WHEN "0110"=>yout<="0011111";WHEN "0111"=>yout<="1110000";WHEN "1000"=>yout<="1111111";WHEN "1001"=>yout<="1110011";WHEN others=>yout<="0100011";END CASE;END IF;END PROCESS;END seg7448;15.用VHDL设计8/3优先编码器解:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY priorityencoder ISPORT(din:IN STD_LOGIC _VECTOR(7 downto 0);ei:IN STD_LOGIC;yout:OUT STD_LOGIC _VECTOR(2 downto 0);eo,gs:OUT STD_LOGIC);END priorityencoder;ARCHITECTURE cod74148 OF priorityencoder IS BEGINPROCESS(ei,din)BEGINIF(ei=′1′)THENyout<="111";eo<=′1′;gs<=′1′;ELSEIF(din(7)=′0′ ) THENyout<="000";eo<=′1′;gs<=′0′;ELSIF(din(6)=′0′ ) THENyout <="001";eo<=′1′;gs<=′0′;ELSIF(din(5)=′0′ ) THENyout<="010";eo<=′1′;gs<=′0′;ELSIF(din(4)=′0′ ) THENyout<="011";eo<=′1′;gs<=′0′;ELSIF(din(3)=′0′ ) THENyout<="100";eo<=′1′;gs<=′0′;ELSIF(din(2)=′0′ ) THENyout<="101";eo<=′1′;gs<=′0′;ELSIF(din(1)=′0′ ) THENyout<="110";eo<=′1′;gs<=′0′;ELSIF(din(0)=′0′ ) THENyout<="111";eo<=′1′;gs<=′0′;ELSIF(din="11111111") THENyout<="111";eo<=′0′;gs<=′1′;END IF;END IF;END PROCESS;END cod74148;16.用VHDL设计BCD码至二进制码转换器。