数字逻辑第四章课后答案.doc

上传人:s****u 文档编号:12814027 上传时间:2020-05-26 格式:DOC 页数:22 大小:1.10MB
返回 下载 相关 举报
数字逻辑第四章课后答案.doc_第1页
第1页 / 共22页
数字逻辑第四章课后答案.doc_第2页
第2页 / 共22页
数字逻辑第四章课后答案.doc_第3页
第3页 / 共22页
点击查看更多>>
资源描述
盛建伦:数字逻辑与VHDL逻辑设计习题解答习题4解答4-1试用与非门设计实现函数F(A,B,C,D)=m(0,2,5,8,11,13,15)的组合逻辑电路。解:首先用卡诺图对函数进行化简,然后变换成与非-与非表达式。AB1001CD00 0100 01010011 100110101011 10&化简后的函数& 4-2试用逻辑门设计三变量的奇数判别电路。若输入变量中1的个数为奇数时,输出为1,否则输出为0。解:本题的函数不能化简,但可以变换成异或表达式,使电路实现最简。真值表: 逻辑函数表达式:A B CY=1=1ABCY逻辑图0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1011010014-3用与非门设计四变量多数表决电路。当输入变量A、B、C、D有三个或三个以上为1时输出为1,输入为其他状态时输出为0。解:真值表: 先用卡诺图化简,然后变换成与非-与非表达式:AB0000CD00 0100 01001011 100100111011 10A B C DY逻辑图&0 0 0 00 0 0 1 0 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 1 1 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 10000000100010111逻辑函数表达式: 4-4 用门电路设计一个代码转换电路,输入为4位二进制代码,输出为4位循环码。解:首先根据所给问题列出真值表,然后用卡诺图化简逻辑函数,按照化简后的逻辑函数画逻辑图。真值表: 卡诺图化简:AB0000CD00 0100 01000011 101111111111 10A B C DY1 Y2 Y3 Y4AB0011CD00 0100 01001111 100011001111 10Y1的卡诺图 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 10 0 0 00 0 0 10 0 1 10 0 1 00 1 1 00 1 1 10 1 0 10 1 0 01 1 0 01 1 0 11 1 1 11 1 1 01 0 1 01 0 1 11 0 0 11 0 0 0AB0101CD00 0100 01010111 100101010111 10Y3的卡诺图AB0011CD00 0100 01110011 101100001111 10Y4的卡诺图Y2的卡诺图逻辑图 化简后的逻辑函数:=1=1=14-5 图4.48所示是一个由两台水泵向水池供水的系统。水池中安置了A、B、C三个水位传感器。当水池水位低于C点时,两台水泵同时供水。当水池水位低于B点且高于C点时,由水泵M1单独供水。当水池水位低于A点且高于B点时,由水泵M2单独供水。当水池水位高于A点时,两台水泵都停止供水。试设计一个水泵控制电路。要求电路尽可能简单。图4.48 习题4-5的示意图解:设水位低于传感器时,水位传感器的输出为1,水位高于传感器时,水位传感器的输出为0。A00BC00 010 11111 10A01BC00 010 11011 10首先根据所给问题列出真值表。其中有几种情况是不可能出现的,用约束项表示。A B CM1 M2M1的卡诺图M2的卡诺图0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 10 0 0 1 1 01 1 如果利用约束项化简 如果不利用约束项化简逻辑图=&1&1 (a) 用约束项化简 (b) 不用约束项化简习题4-5的逻辑图4-6 试用3线-8线译码器74HC138和门电路实现如下多输出逻辑函数并画出逻辑图。解:先将逻辑函数变换成最小项之和的形式逻辑图再变换成与74HC138一致的形式1CBAY1&Y2Y3&Y4 令74HC138的A2= A,A1=B,A0= C,4-7 试用3线-8线译码器74HC138和逻辑门设计一组合电路。该电路输入X,输出Y均为3位二进制数。二者之间关系如下:当2X7时, Y=X2X1001时,判别电路输出为1,否则输出为0。解:从CC14585的一个端口输入数据D3D2D1D0,另一个端口输入1001。CC14585的扩展输入端IAB和IA=B必须接高电平,IAB必须接低电平。FD0D1D2D311001逻辑图4-19 试根据表4.24的功能表,用逻辑门设计一个数据分配器(Demultiplexer)。A1、A0为地址输入,D为数据输入,W3、W2、W1、W0为数据输出。数据分配器的功能正好与数据选择器相反,是按照所给的地址把一个输入数据从N个输出通路中选择一个输出,如图4.51所示。表4.24 习题4-19的功能表A1 A0 DW3 W2 W1 W00 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 10 0 0 00 0 0 10 0 0 00 0 1 00 0 0 00 1 0 00 0 0 01 0 0 0DeMUX图4.51 数据分配器解:表4.24的功能表可以简化为A1 A0 W3 W2 W1 W00 00 11 01 10 0 0 D0 0 D 00 D 0 0D 0 0 01&1逻辑图逻辑函数4-20 试比较图4.52所示两个逻辑电路的功能。 &A0 D0 D1 D2 D3 D4 D5 D6 D7 A1 8选1 数据选择器A2 Y 1图4.52 习题4-20的电路解:根据图4.52写出逻辑函数式。 8选1 数据选择器的连接关系是:D6= D7= D,D1=0,D2= 1,D5= D4= D3= D0= ,A2=A,A1= B,A0= C ,所以,比较FI和F2的,可看出,两个电路的逻辑函数相同,所以逻辑功能也相同。4-21 用VHDL设计一个代码转换电路,输入为4位循环码,输出为4位二进制代码。 解:首先画出代码转换电路的系统框图,如G3 B3 代码转换电路 G0 B0根据所给问题列出真值表。G3 G2 G1 G0B3 B2 B1 B00 0 0 00 0 0 10 0 1 10 0 1 00 1 1 00 1 1 10 1 0 10 1 0 01 1 0 01 1 0 11 1 1 11 1 1 01 0 1 01 0 1 11 0 0 11 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 根据系统框图写VHDL程序的Entity,用行为描述的方法,根据真值表写VHDL程序的Architecture。VHDL程序如下:-Gray code to Binary codelibrary ieee;use ieee.std_logic_1164.all;entity gray2binary is port( grayin : in std_logic_vector(3 downto 0); binaryout : out std_logic_vector(3 downto 0);end gray2binary;architecture behave of gray2binary isbegin with grayin select binaryout = 0000 when 0000, 0001 when 0001, 0010 when 0011, 0011 when 0010, 0100 when 0110, 0101 when 0111, 0110 when 0101, 0111 when 0100, 1000 when 1100, 1001 when 1101, 1010 when 1111, 1011 when 1110, 1100 when 1010, 1101 when 1011, 1110 when 1001, 1111 when 1000, end behave;4-22 用VHDL设计一个代码转换逻辑电路。把4位二进制代码转换成7段字符显示代码。能显示数字09和字母A,b,C,d,E,F。解:电路的输入是4位代码,输出是7位代码。用D3D0作为输入信号名,用YaYg作为输出信号名,分别对应a、b、c、d、e、f、g这7个段。Ya Yb Yc Yd Ye Yf Yg代码转换电路 D3 D2 D1 D0 系统框图列出代码转换逻辑的真值表。表4.12 代码转换逻辑电路的真值表D3 D2 D1 D0Ya Yb Yc Yd Ye Yf Yg显示字符字形0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 10123456789AbCdEF根据系统框图设计VHDL程序的entity,用行为描述的方法,根据真值表设计VHDL程序的architecture。library ieee;use ieee.std_logic_1164.all;entity bcd2seg7 is port( bcdin : in std_logic_vector(3 downto 0); segout : out std_logic_vector(6 downto 0);end bcd2seg7;architecture behav of bcd2seg7 isbegin with bcdin select segout = 1111110 when 0000, -display0 0110000 when 0001, -display1; 1101101 when 0010, 1111001 when 0011, 0110011 when 0100, -display4; 1011011 when 0101, 1011111 when 0110, 1110000 when 0111, -display7; 1111111 when 1000, 1110011 when 1001, -display9; 1110111 when 1010, -displayA; 0011111 when 1011, -displayb; 1001110 when 1100, -displayC; 0111101 when 1101, -displayd; 1001111 when 1110, -displayE; 1000111 when 1111, -displayF; 0000000 when others;end behave;4-22 (有没有简单方法呢?)用VHDL设计一个代码转换逻辑电路。把7位的ASCII码转换成7段字符显示代码。能显示数字09,字母A,b,C,d,E,F,H,L,o,P,U,等。解:ASCII码7段字符显示代码字符A6A5A4A3A2A1A0YaYbYcYdYeYfYg字形001100001111110101100010110000201100101101101301100111111001401101000110011501101011011011601101101011111701101111110000801110001111111901110011110011A10000011110111b11000100011111C10000111001110d11001000111101E10001011001111F10001101000111H10010000110111L10011000001110o11011110011101P10100001100111U101010101111104-23 用VHDL设计一个16位全加器。解:4-24 用VHDL设计一个8位数值比较器。解:4-25 用VHDL设计一个四位超前进位加法器。 解:- 4-Bit carry-look-ahead Full Adderlibrary ieee;use ieee.std_logic_1164.all;entity FULL_ADDER1 is port ( A, B : in bit_vector(3 downto 0); Cin : in bit; S : out bit_vector(3 downto 0); Cout : out BIT); end FULL_ADDER1;-architecture FULL_ADDERp of FULL_ADDER1 is signal sA,sB,sS : bit_vector(3 downto 0); signal sCin , sCout : bit ; signal sC : bit_vector(3 downto 0) ; signal sT : bit_vector(3 downto 0) ; signal sG : bit_vector(3 downto 0) ;begin sA = A ; sB = B ; sCin = Cin ; sT(0) = sA(0) xor sB(0) ; -P0 sG(0) = sA(0) and sB(0) ; -G0 sT(1) = sA(1) xor sB(1) ; -P1 sG(1) = sA(1) and sB(1) ; -G1 sT(2) = sA(2) xor sB(2) ; -P2 sG(2) = sA(2) and sB(2) ; -G2 sT(3) = sA(3) xor sB(3) ; -P3 sG(3) = sA(3) and sB(3) ; -G3 - sC(0)=sG(0) or (sT(0) And sCin) ;-C0 sC(1)=sG(1) or (sT(1) and (sG(0) or (sT(0) and sCin); -C1 sC(2)=sG(2) or (sT(2) and (sG(1) or (sT(1) and (sG(0) or (sT(0) and sCin);-C2 sC(3)=sG(3) or (sT(3) and (sG(2) or (sT(2) and (sG(1) or (sT(1) and (sG(0) or (sT(0) and sCin); -C3- sS(0) = sT(0) xor sCin ; -S0 sS(1) = sT(1) xor sC(0) ; -S1 sS(2) = sT(2) xor sC(1) ; -S2 sS(3) = sT(3) xor sC(2) ; -S3- S = sS ; Cout = sC(3) ;end ;4-26 试用两片74HC138实现8421 BCD码的译码。解:输入的8421 BCD码的D0D2位直接与74HC138的代码输入端连接,8421 BCD码的D3分别与74HC138的一个使能端连接。当D3=0时, Z0Z7中的某个输出有效;D3=1时,Z8或Z9输出有效。D3 A2A1A074HC1381 A2A1A074HC138D2D1D0逻辑图:22 4 -
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


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

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


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