为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 北工大-数字逻辑基础与verilo硬件描述语言课后答案-清华大学出版社-2013最新复习课程

北工大-数字逻辑基础与verilo硬件描述语言课后答案-清华大学出版社-2013最新复习课程

2020-09-18 176页 ppt 2MB 221阅读

用户头像 个人认证

Youngyu0329

暂无简介

举报
北工大-数字逻辑基础与verilo硬件描述语言课后答案-清华大学出版社-2013最新复习课程习题解答1-4章《数字逻辑基础与Verilog硬件描述语言》——贾熹滨等清华大学出版社2012.08.第1章数制和码制1.1写出下列各数的按权展开式(1024.5)10=1×103+0×102+2×101+4×100+5×10-1(10110)2=1×24+0×23+1×22+1×21+0×20(237)8=2×82+3×81+7×80(A01D)1...
北工大-数字逻辑基础与verilo硬件描述语言课后答案-清华大学出版社-2013最新复习课程
习题解答1-4章《数字逻辑基础与Verilog硬件描述语言》——贾熹滨等清华大学出版社2012.08.第1章数制和码制1.1写出下列各数的按权展开式(1024.5)10=1×103+0×102+2×101+4×100+5×10-1(10110)2=1×24+0×23+1×22+1×21+0×20(237)8=2×82+3×81+7×80(A01D)16=A×163+0×162+1×161+D×160=(10×163+0×162+1×161+13×160)101.2完成下列数制转换(255)10=(11111111)2=(377)8=(FF)16(52.125)10=(110100.001)2=(64.1)8=(34.2)16(110011)2=(51)10=(63)8=(33)16(400)8=(100000000)2=(256)10=(100)161.5写出下列真值所对应的一字节长(1位符号,7位数值)的原码、反码和补码。 题 7位真值 原码 反码 补码 +0.00101 +0.0010100 0.0010100 0.0010100 0.0010100 –0.1101 –0.1101000 1.1101000 1.0010111 1.0011000 –0.1 –0.1000000 1.1000000 1.0111111 1.1000000 +11001 +0011001 00011001 00011001 00011001 –1000 –0001000 10001000 11110111 11111000 –10000000 –10000000 无 无 10000000 –11111 –0011111 10011111 11100000 11100001 +11111 +0011111 00011111 00011111 000111111.6先写出下列十进制数x的真值,再写出所对应的一字节长(1位符号,7位数值)的原码、反码和补码。 十进制x 7位真值 原码 反码 补码 0 +0000000 00000000 00000000 00000000 –0 –0000000 10000000 11111111 00000000 126 +1111110 01111110 01111110 01111110 –126 –1111110 11111110 10000001 10000010 127 +1111111 01111111 01111111 01111111 –127 –1111111 11111111 10000000 10000001 128 +10000000 无 无 无 –128 –10000000 无 无 100000001.7已知[x]补,求[x]原、[x]反及真值x1.8已知[x]反,求[x]补及真值x 已知[x]补 [x]原 [x]反 真值x 10111010 11000110 10111001 –1000110 1.1111111 1.0000001 1.1111110 –0.0000001 0.0101010 0.0101010 0.0101010 +0.0101010 10000000 无 无 –10000000 已知[x]反 [x]补 真值x 10110101 10110110 –1001010 1.0110010 1.0110011 –0.10011011.9已知[x]原,求[x]补1.10先写出下列十进制数x的真值,再写出所对应的一字节长(1位符号,7位数值)的补码。 已知[x]原 [x]补 1.0011010 1.1100110 10111101 11000011 0.0011000 0.0011000 十进制数x 7位真值 [x]补 13/64 0.0011010 0.0011010 –13/128 –0.0001101 1.1110011 15/32 0.0111100 0.0111100 –11/64 –0.0010110 1.11010101.11已知(178)10,如何用8421码、余3码、2421码和格雷BCD码示?1.12完成下列转换(001101001000)8421→(011001111011)余3码→(348)10(100100100101)8421→(111100101011)2421→(925)10(469)10→(010001101001)8421→(011110011100)余3码→(011001011000)格雷BCD(001111001110)2421→(011010011011)余3码→(001101101000)84211.13求(010010010110)8421关于(1000)10的补数的8421码表示。(010010010110)8421→(496)10(1000)10–(496)10=(504)10→(010100000100)84211.14求(010000111100)余3码关于(1000)10的补数的余3码表示。(010000111100)余3码→(109)10(1000)10–(109)10=(891)10→(101111000100)余3码1.15写出关于8421码、余3码、2421码的6个伪码。8421码的伪码:1010~1111余3码的伪码:0000~0010和1101~11112421码的伪码:0101~10101.16写出与4位自然二进制码对应的4位格雷码 4位自然二进制码制码 4位格雷码 0000 0000 0001 0001 0010 0011 0011 0010 0100 0110 0101 0111 0110 0101 0111 0100 1000 1100 1001 1101 1010 1111 1011 1110 1100 1010 1101 1011 1110 1001 1111 10001.17分别确定下列二进制信息码的奇校验位和偶校验位的值。 信息码 奇校验位 偶校验位 1010011 1 0 1100111 0 1 0011101 1 0 1111100 0 1第2章逻辑代数基础2.3写出逻辑命题的真值表(2)设有A、B、C三个输入信号,当三个信号相同或其中任意两个信号为0时,输出为1,否则输出为0。(1)设有A、B、C三个输入信号,当其中有奇数个信号为1时,输出为1,否则输出为0。(3)结论同(1),但变量为1表示开关动作。 ABC F 000 1 001 1 010 1 011 0 100 1 101 0 110 0 111 1 ABC F 000 0 001 1 010 1 011 0 100 1 101 0 110 0 111 12.4写出下面逻辑表达式的真值表: ABC F 000 1 001 0 010 1 011 0 100 1 101 1 110 1 111 0 ABCD F 0000 1 0001 0 0010 0 0011 0 0100 1 0101 0 0110 0 0111 0 1000 1 1001 1 1010 0 1011 1 1100 1 1101 0 1110 0 1111 12.5写出下列表达式的对偶式2.6运用反演规则,写出下列表达式的反演式。2.7用逻辑代数的公理、定理及规则,证明下列等式。2.9下列函数中,哪些变量取值使F=1?根据最大项表达式显性给出使F=0的组合,有变量ABC取值011、100、101、110和111,使F=1。根据最小项表达式显性给出使F=1的组合,有变量XYZW取值0001、0011、0100、0110、0111、1100、1110和1111,使F=1。由该函数最大项表达式可见,所有变量组合均使F=0,所以,没有变量组合使F=1。当ABC取值100、110和111,使F=1。2.10下列函数中,哪些变量取值使F=0?根据最小项表达式显性给出使F=1的组合,有变量X3X2X1取值000、011、101和110,使F=0。根据最大项表达式显性给出使F=0的组合,有变量ABC取值000、010和011,使F=0。由该函数最小项表达式可见,所有变量组合均使F=1,所以,没有变量组合使F=0。根据最大项表达式显性给出使F=0的组合,有变量X3X2X1取值011、101、110和111,使F=0。2.11根据真值表,写出题2.3中最小项表达式及最大项表达式。2.12将下列逻辑表达式转换为最小项之和的形式。2.13将下列逻辑表达式转换成最大项之积的形式。因F4恒为1,故无最大项之积。2.14已知F=∑m3(0,1,5,6),写出原函数的最大项表达式、反函数的最小项表达式以及反函数的最大项表达式。2.15用逻辑代数化简法,将下列逻辑函数化简为最简与或式。2.16用卡诺图化简法,将下列逻辑函数化简为最简与或式。ABCFABCDF●●● 00011110 01 1 1 1 1 00 01 11 10 00 0 01 0 11 0 0 10 0 0 0 0ABCDF●●●ABCDF●●● 00 01 11 10 00 1 01 1 1 1 11 1 1 10 1 1 00 01 11 10 00 01 0 0 0 11 0 0 102.17用卡诺图化简法,将下列逻辑函数化简为最简或与式。ABCDF求最简或与式方法之一:圈0,求反函数的与或式;再用摩根定理或反演规则,转换为原函数的或与式。●●●● 00 01 11 10 00 1 1 01 1 1 11 1 1 10 1 1ABCDF 00 01 11 10 00 0 0 01 0 11 0 0 0 10 0 0 0ABCF此题也可圈1,求出F的与或式,然后用分配律转换ABCF 00011110 01 1 1 1 1 1 00011110 01 0 0 0 02.18已知F=∑m4(0,1,2,5,6,8,9,10,13,15),用卡诺图化简法,求F的最简与或式、最简与非式、最简或与式、最简或非式和最简与或非式。ABCDFABCDF与或与非或与与或非或非 00 01 11 10 00 1 1 01 1 1 1 1 11 1 10 1 1 1 00 01 11 10 00 1 1 01 1 1 1 1 11 1 10 1 1 12.19用卡诺图化简法,求下列具有无关项的逻辑函数的最简与或式和最简或与式。ABCDFABCDF 00 01 11 10 00 1 d 01 1 1 11 1 1 10 d 00 01 11 10 00 1 d 01 1 1 11 1 1 10 dABCDFABCDF注意:d的利用原则。 00 01 11 10 00 01 1 1 1 1 11 1 d 10 1 00 01 11 10 00 01 1 1 1 1 11 1 d 10 1ABCDFABCDF注意:d的利用原则。 00 01 11 10 00 0 d d 0 01 d 0 11 d 0 10 d 0 0 00 01 11 10 00 0 d d 0 01 d 0 11 d 0 10 d 0 0ABCDFABCDF 00 01 11 10 00 d d 01 0 0 0 11 0 0 10 d 00 01 11 10 00 d d 01 0 0 0 11 0 0 10 d2.20试用卡诺图对已知函数作逻辑运算。(2)已知F1=∑m4(2,4,6,9,13,14)+∑d(0,1,3,8,11,15)F2=∑m4(4,5,7,9,12,13,14)+∑d(1,3,8,10)试求F1·F2、F1+F2、F1⊕F2的最简与或式。ABCDF1ABCDF2ABCDF1F2ABCDF1+F2ABCDF1⊕F2 00 01 11 10 00 d 1 0 d 01 d 0 1 1 11 d 0 d d 10 1 1 1 0 00 01 11 10 00 0 1 1 d 01 d 1 1 1 11 d 1 0 0 10 0 0 1 d 00 01 11 10 00 0 1 0 d 01 d 0 1 1 11 d 0 0 0 10 0 0 1 0 00 01 11 10 00 d 1 1 d 01 d 1 1 1 11 d 1 d d 10 1 1 1 d 00 01 11 10 00 d 0 1 d 01 d 1 0 0 11 d 1 d d 10 1 1 0 d2.21某逻辑网络的输入为8421码(用A,B,C,D表示),当其对应的十进制数X>5时,输出F=1,否则F=0。试求F的最简与非式,并画出逻辑图。命题:运用卡诺图时注意无关项的位置ABCDF逻辑图:分析表达式,应采用三个与非门 00 01 11 10 00 d 1 01 d 1 11 1 d d 10 1 d d2.22某逻辑网络的波形图如图习2-1所示,其中A、B、C、D为输入信号,F为输出信号,根据波形图分析输出与输入之间的逻辑关系,写出函数F(A,B,C,D)的最简或与式,并画出最简或非门实现电路的逻辑图。ABCDF由波形图填真值表时注意变量顺序分析表达式结构,可采用四个或非门并用信号名标注法画图。 ABCD F 0000 0 0001 0 0010 0 0011 0 0100 0 0101 1 0110 1 0111 0 1000 0 1001 1 1010 1 1011 0 1100 0 1101 1 1110 1 1111 0 00 01 11 10 00 01 1 1 1 11 10 1 1 1满足输入无反变量要求,用替代尾因子法或禁止逻辑法将下列逻辑函数用最少与非门实现,画出逻辑图。ABCF补充思考 00011110 01 1 1 1 1ABCF逻辑图,略补充思考 00011110 01 1 1 1 1 1确定图中的输入变量,并使输出功能为F(A,B,C,D)=∑m(6,7,12,13)。ABCDFABBC补充思考 00 01 11 10 00 1 01 1 11 1 10 13.1Verilog模块由几部分组成?答:由模块声明、端口输入/输出说明、信号类型说明和逻辑功能定义四部分组成。3.2可综合VerilogHDL模块中,有哪些进行逻辑功能定义的方法?答:在本课程中介绍了三种(1)采用VerilogHDL内置门级元件描述电路结构——门级建模(2)运用assign持续赋值语句描述信号的逻辑关系——数据流描述(3)采用always进程描述电路的行为特性——行为描述和混合描述3.3下列哪些是合法的标识符?哪些是错误的?and,Key,8sum,_data,module,$end答:Key和_data是合法的标识符。and和module错,这些是关键字,不能用作标识符。8sum和$end错,不符合标识符的定义规则(不能以数字开头,不能以$开头)。第3章硬件描述语言基础3.4下列数字的表示是否正确?6’d18,b0101,10’b2,’Hzf,5’B0x101答:6’d18正确。用6位二进制表示十进制的18。’Hzf正确。5’B0x101正确。b0101错误,应’b0101或4’b010110’b2错误,应2’b10,二进制数字符号仅有0和1,不能有23.5reg型和wire型变量的本质区别是什么?答:reg型变量:具有记忆功能,必须明确赋值才能改变其状态,否则一直保持上一次的赋值状态。wire型变量:没有记忆功能,需要持续驱动。3.7请简述always进程的特点。答:在VerilogHDL模块中,多个always进程是并发执行的;always进程监视敏感事件列表,只要事件发生,就执行一次进程内的操作;用always进程既可描述组合逻辑,也可描述时序逻辑。(重要)用always过程块描述组合逻辑电路时,应注意哪些问题?答:采用always进程描述组合逻辑电路时,敏感事件列表中不能出现描述信号沿的关键字posedge和negedge;将所有影响输出的信号列入敏感表。(重要,提示:描述时序电路时?)3.9指出下列VerilogHDL描述中的错误,并改为正确的描述。module(a,b,c,f)inputa,b,c;outputf;wirew1;always@(aorb)w1<=abf<=w1|(~bc)endmodulemodulename(a,b,c,f);inputa,b,c;outputf;regw1,f;always@(aorborc)beginw1=a&b;f=w1|~(b&c);endendmodule思路: 基本判断:组合电路的行为描述特征(2)按照模块组成要素,修改各部分(3)按照组合电路行为描述规则,修改进一步体会组合电路的行为描述!!!3.10简述阻塞型过程赋值语句和非阻塞型过程赋值语句的特点.答:由begin-end构成的串行语句块的特点是什么?答:当进程内有多条行为语句时,应采用begin-end结构。一般情况下(阻塞赋值语句和其他行为语句),串行块内语句顺序执行,执行时间为各语句执行时间的总和。3.8举例说明用case语句描述组合电路时如何避免隐含触发器?当不能明确描述所有分支的操作,应采用default进行处理,即case({a,b,c})0:f=1;3:f=1;defaultf=0;endcase阻塞过程赋值语句——begin-end中的阻塞过程赋值语句,按顺序依次执行,即:计算“赋值表达式”的值后,立即赋值给“被赋值变量”。适合描述组合逻辑。非阻塞过程赋值语句——begin-end中各非阻塞过程赋值语句的赋值表达式同时计算,最后一起赋值。适合描述时序逻辑。3.11下列端口说明和数据类型说明是否正确?错误的请改正。 给定题目 改正 原因 inputq[3:0]; input[3:0]q; 格式错 OUTPUT[3:1]a,[4:0]b; output[3:1]a;output[4:0]b; 关键字应小写,不同位宽应分别说明 wirea,b[4:2] wirea;wire[3:1]b; 关键字应小写,且不同位宽应分别说明 rega[5:0],x; reg[5:0]a;regx; 格式错,且不同位宽应分别说明 integer[6:1]x; integerx; Integer仅定义32位3.12对下列代码转换电路进行VerilogHDL行为描述。(1)该电路的输入是8421码,输出为余3码。分析命题:输入/输出代码均为4位;增加一个信号err,当输入出现伪码时,err=1;否则err=0。moduleMy8421_y3(in,out,err);input[3:0]in;output[3:0]out;outputerr;reg[3:0]out;regerr;always@(in)if(in>4’b1001)beginout=4’b0000;err=1;endelsebeginout=in+4’b0011;err=0;endendmodule(2)该电路的输入是4位二进制码,输出为4位循环码。分析命题:设输入为B3B2B1B0,输出为G3G2G1G0,根据第1章公式(1.11),有G0=B1⊕B0,G1=B2⊕B1,G2=B3⊕B2,G3=B3。moduleMy_B_G(B,G);input[3:0]B;output[3:0]G;reg[3:0]G;always@(B)beginG[3]=B[3];G[2]=B[3]^B[2];G[1]=B[2]^B[1];G[0]=B[1]^B[0];endendmodule也可列出真值表,用case语句描述。(3)该电路的输入是8421码,输出为2421码。分析命题:由第1章表1-6可见,前5个码相同,后5个码,加6。同样,增加err,控制输入的伪码。moduleMy8421_2421(in,out,err);input[3:0]in;output[3:0]out;outputerr;reg[3:0]out;regerr;always@(in)if(in>4’b1001)beginout=0;err=1;endelseif(in>4’0100)beginout=in+4’b0110;err=0;endelsebeginout=in;err=0;endendmodule注意:各分支有“多句”,应用begin-end3.13将例3-7改为行为描述。//例3-7moduleparity(d,odd_bit,even_bit);input[7:0]d;outputodd_bit,even_bit;assigneven_bit=^d;assignodd_bit=~even-bit;endmodule//行为描述moduleparity(d,odd_bit,even_bit);input[7:0]d;outputodd_bit,even_bit;regodd_bit,even_bit;always@(d)begineven_bit=^d;odd_bit=~even_bit;endendmodule3.14编写完整的可综合逻辑模块,分别用门级结构描述、数据流描述和行为描述,描述图示电路。//门级结构modulemenji(a,b,c,d,f);inputa,b,c,d;outputf;wirew1,w2;nandu1(w1,a,b);andu2(w2,b,c,d);oru3(f,w1,w2);endmodule//数据流描述modulemenji(a,b,c,d,f);inputa,b,c,d;outputf;assignf=~(a&b)|(b&c&d);endmodule//行为描述modulemenji(a,b,c,d,f);inputa,b,c,d;outputf;regf;always@(aorborcord)f=~(a&b)|(b&c&d);endmodule第4章组合电路的逻辑分析与设计4.1分析图习4.1所示电路的逻辑功能。(1)根据电路写出表达式(注意变量顺序)G3=B3G2=B3⊕B2G1=B2⊕B1G0=B1⊕B0(2)列真值表(3)逻辑功能:将输入的4位二进制码转换成4位格雷码输出。 B3B2B1B0 G3G2G1G0 0000 0000 0001 0001 0010 0011 0011 0010 0100 0110 0101 0111 0110 0101 0111 0100 1000 1100 1001 1101 1010 1111 1011 1110 1100 1010 1101 1011 1110 1001 1111 10004.2写出图习4.2所示电路的输出表达式,说明其功能。分析:电路特点,均为或非门,表达式应是或非形式。功能:两变量同或运算电路。4.3写出图习4.3所示电路的输出表达式Y1、Y2,列真值表并说明功能。Y1=A⊕B⊕CY2=AB+(A⊕B)C功能:若将A、B作为两个加数,C作为低端进位,则电路实现全加器的功能,Y1是本地和的输出,Y2是向上进位输出。 ABC Y1Y2 000 00 001 10 010 10 011 01 100 10 101 01 110 01 111 114.4写出图习4.4所示电路的输出表达式,并判断能否化简,若能,则化简之,且画出用最少与非门实现的逻辑图。调整尾因子,共享分析与非式,用4个与非门画电路图4.5测得某组合电路输入A、B、C及输出F之间对应的波形图如图习4.5所示。试写出F的表达式,并分析F所实现的逻辑功能。分析题意:标定波形图上的输入状态组合区间,根据输出为1时对应的输入状态组合,可直接写出最小项表达式,再作真值表,分析功能。F(A,B,C)=∑m(1,2,4,7)功能:三变量检奇电路 ABC F 000 0 001 1 010 1 011 0 100 1 101 0 110 0 111 1AAB4.6分析图习4.6所示多功能运算电路输出信号F与变量A、B的逻辑关系。如将图中S3、S2、S1、S0作为输入控制信号,随着它们的取值变化,可得到F关于A、B的不同函数关系,请用列真值表的方法进行说明。解:列出表达式,将S3、S2、S1、S0的各种组合代入,整理,可得16个F关于A、B的函数。10BABBABBABABABABBAAAAB+++Å+Å S3S2S1S0 F(A,B) 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 11114.9根据图习4.5的波形,建立VerilogHDL的行为模型。列真值表,用case语句建模。moduleexample_4_9(a,b,c,f);inputa,b,c;outputf;regf;always@(aorborc)case({a,b,c})3’b001:f=1;3’b010:f=1;3’b100:f=1;3’b111:f=1;default:f=0;endcaseendmodule ABC F 000 0 001 1 010 1 011 0 100 1 101 0 110 0 111 14.10建立与图习4.6对应的VerilogHDL数据流描述模型。电路的逻辑表达式w1w2w3w4四个与项moduleMy4_1(A,B,S,F); inputA,B; input[3:0]S; outputF; wirew1,w2,w3,w4; assignw1=(~A)&(~B)&S[0]; assignw2=(~A)&B&S[1]; assignw3=A&(~B)&S[2]; assignw4=A&B&S[3]; assignF=w1|w2|w3|w4;endmodule4.11采用VerilogHDL分别描述如下逻辑功能:(1)四变量的非一致电路分析命题:当四个变量取值相同(0000,1111)时,输出0;否则输出1。moduleexamp_1(in,f); input[4:1]in; outputf; regf; always@(in) if(in==4’b0000|in==4’b1111)f=0; elsef=1;endmodule(2)五变量中有奇数个1分析:根据异或运算的特点,可用规约运算直接描述。moduleexample_2(in,f);input[5:1]in;outputf;assignf=^in;endmodule(3)七人多数表决电路书中例3.14下面为另一种描述:moduleexample_3(a,b,c,d,e,f,g,pass); inputa,b,c,d,e,f,g; outputpass; regpass; reg[2:1]temp; always@(aorborcordoreorforg) begin temp=0; temp=a+b+c+d+e+f+g; if(temp>=4)pass=1; elsepass=0; endendmodule(4)三变量一致电路分析题意:取值相同(000,111),输出1;否则输出0。moduleexamp_1(in,f); input[3:1]in; outputf; regf; always@(in) if(in==4’b000|in==4’b111)f=1; elsef=0;endmodule还可采用case语句描述。4.12某组合电路有A、B、C、D四个输入,它的三个输出具有下列功能:(1)当输入中间没有1,F1输出为1;(2)当输入中间有两个1,F2输出为1;(3)当输入中间有奇数个1,F3输出为1。试用VerilogHDL建模。分析:可建真值表,然后在always中用case描述。下面是一种数据流描述。moduleexample_4_12(a,b,c,d,f1,f2,f3);inputa,b,c,d;outputf1,f2,f3;wire[2:0]w1;assignw1=a+b+c+d;assignf1=(w1==0)?1:0;assignf2=(w1==2)?1:0;assignf3=^{a,b,c,d};endmodule仿真验证波形4.13试为某水坝设计一个水位报警控制器,设水位高度用4位二进制数提供。当水位上升到8米时,白指示灯开始亮;当水位上升到10米时,黄指示灯开始亮;当水位上升到12米时,红指示灯开始亮,其他灯灭;水位不可能上升到14米。采用VerilogHDL建模。建真值表,用case描述。modulealertor(in,w,y,r);input[3:0]in;outputw,y,r;regw,y,r;always@(in)case(in)4’b1000:{w,y,r}=3’b100;4’b1001:{w,y,r}=3’b100;4’b1010:{w,y,r}=3’b110;4’b1011:{w,y,r}=3’b110;4’b1100:{w,y,r}=3’b001;4’b1101:{w,y,r}=3’b001;default:{w,y,r}=3’b000;endcaseendmodule in[3:0] white yellow red 0000 0 0 0 ⋮ 0 0 0 0111 0 0 0 1000 1 0 0 1001 1 0 0 1010 1 1 0 1011 1 1 0 1100 0 0 1 1101 0 0 1 1110 d d d 1111 d d d4.14举重比赛有三个裁判,一个是主裁判A,两个是副裁判B和C。杠铃完全举上的裁决由每个裁判按一下自己面前的按钮来决定。只有两个以上裁判(其中必须有主裁判)判明成功时,表示成功的灯才亮。试用VerilogHDL建模。modulelift(a,b,c,good);inputa,b,c;outputgood;reggood;always@(aorborc)if(a==0)good=0;elseif((b==1)|(c==1))good=1;elsegood=0;endmodule注意体会if-else的配套使用4.15由74LS138译码器及逻辑门构成的组合逻辑电路如图习4.7所示,其中输入信号A7~A0为地址变量。试写出译码器各位输出有效时所对应的十六进制地址编码。此例说明,当采用本电路控制后续电路时,占用A7~A0提供的256个地址空间中的8个地址68H~6FH。根据使能端的特性,要求电路工作时,A7=A4=0;A5=A6=1;A3=1。此时,A2A1A0=000,/Y0有效;⋮A2A1A0=111,/Y7有效。此题为复习译码器概念的典型题,应充分体会、掌握!! A7A6A5A4A3A2A1A0 十六进制 输出有效 01101000 68 /Y0 01101001 69 /Y1 01101010 6A /Y2 01101011 6B /Y3 01101100 6C /Y4 01101101 6D /Y5 01101110 6E /Y6 01101111 6F /Y74.16分析图习4.7所示由74LS138译码器及逻辑门构成的组合电路的逻辑功能。写表达式:功能:Ai为被减数;Bi为减数;Ci为低端借位;则电路完成全减器逻辑功能,Si为本地差,Ji为向上借位。体会“基于译码器和逻辑门”组合电路的分析方法 AiBiCi Si Ji 000 0 0 001 1 1 010 1 1 011 0 1 100 1 0 101 0 0 110 0 0 111 1 14.17在传统MSI集成电路器件中,典型的数据选择器除了74LS151(八选一)之外,还有一个74LS153,它是一个具有共用控制选择输入端、独立使能端的双4选1数据选择器。题表4.1和题表4.2是其功能表,试画出74LS153的逻辑符号图并用VerilogHDL对其进行建模。分析题意和功能表,可画出逻辑符号。modulemy_153(x,e0,e1,a,b,y0,y1);input[1:0]x;input[3:0]a,b;inpute0,e1;outputy0,y1;regy0,y1;always@(x,e0,a)if(e0==1)y0=0;elsecase(x)0:y0=a[0];1:y0=a[1];2:y0=a[2];3:y0=a[3];endcasealways@(x,e1,b)if(e1==1)y1=0;elsecase(x)0:y1=b[0];1:y1=b[1];2:y1=b[2];3:y1=b[3];endcaseendmodule 习表4.174LS153功能表(1) 输入 输出 /E0X2X1 Y0 1dd000001010011 0a0a1a2a3 习表4.274LS153功能表(2) 输入 输出 /E1X2X1 Y1 1dd000001010011 0b0b1b2b34.18写出图习4.9所示电路输出F的逻辑表达式,并求其最简与或式、或与式。分析:该电路由8选1器件74LS151构成,可根据定义直接写出表达式,作卡诺图,求最简表达式。ABCDFABCDF体会“基于数据选择器和逻辑门”组合电路的分析方法 00 01 11 10 00 1 1 01 1 1 11 1 1 10 1 1 00 01 11 10 00 1 1 01 1 1 11 1 1 10 1 14.19写出图习4.10所示电路的输出F(A,B,C)的逻辑表达式,并分析其实现的逻辑功能。分析:通过高位变量A将两个4选1级联扩展为一个8选1,且数据输入端均为逻辑常量,故可直接列出真值表,并写出表达式、分析功能。功能:三变量多数为1检测电路。或三人多数表决电路或三变量1多电路体会“基于数据选择器和逻辑门”组合电路的分析方法 ABC F 000 0 001 0 010 0 011 1 100 0 101 1 110 1 111 14.20某组合电路如图习4.11所示,当输入X3X2X1X0为2421码时,分析电路实现的逻辑功能。解:电路由四位二进制加法器构成,即S3S2S1S0=A3A2A1A0+B3B2B1B0+CI可列表计算、分析功能:当输入X3X2X1X0为2421码时,电路输出为余3码。体会“基于加法器和逻辑门”组合电路的分析方法 A3A2A1A0(X3X2X1X0) B3B2B1B0(X3X3X31) S3S2S1S0(F3F2F1F0) 0000 0011 0011 0001 0011 0100 0010 0011 0101 0011 0011 0110 0100 0011 0111 1011 1101 1000 1100 1101 1001 1101 1101 1010 1110 1101 1011 1111 1101 11004.21分析图习4.12所示电路实现的代码转换功能。解:该电路由四位二进制加法器和逻辑门组成,A3A2A1A0加载8421码(X3X2X1X0)输入,B3B2B1B0加载0WW0,当W=0时,电路输出为A3A2A1A0+0000;当W=1时,电路输出为A3A2A1A0+0110。而W又是X3X2X1X0的函数。可列表计算、分析。W=X3+X2X1+X2X0结论:将8421码转换为2421码体会“基于加法器和逻辑门”组合电路的分析方法 X3X2X1X0 W B3B2B1B0 Y3Y2Y1Y0 0000 0 0000 0000 0001 0 0000 0001 0010 0 0000 0010 0011 0 0000 0011 0100 0 0000 0100 0101 1 0110 1011 0110 1 0110 1100 0111 1 0110 1101 1000 1 0110 1110 1001 1 0110 11114.22选择正确。设b1、b2、b3、b4构成四位二进制码,若电路采用奇校验,则校验位的逻辑表达式为。解:奇校验的含义,当信息位中1的个数为奇数时,校验位添0;当信息位中1的个数为偶数时,校验位添1。信息位中含1的奇偶性,可用异或逻辑获得,因此,答案应在b、d选项中确定。进一步分析,可知b项符合题意要求。4.23用逻辑代数法判断所示电路是否存在逻辑险象。(1)F2=∑m4(0,1,3,6,7,8,9,11,14,15)ABCDF2也可用禁止逻辑法4.24化简下列函数,要求电路不能存在逻辑险象。分析:借助卡诺图,运用禁止逻辑或增加冗余项。 00 01 11 10 00 1 1 01 1 1 11 1 1 1 1 10 1 1(3)F3=∑m4(2,6,8,9,11,12,14)ABCDF3转换与非式后,11个与非门禁止逻辑7个与非门 00 01 11 10 00 1 1 01 1 11 1 10 1 1 1分析:借助卡诺图,运用禁止逻辑或增加冗余项。ABCF1加冗余项加3个冗余项分析:变换与非式后,共需10个与非门。采用禁止逻辑分析:变换与非式后,只需6个与非门。补充题:化简下列函数,要求电路不能存在逻辑险象并用与非门实现。 00011110 01 1 1 1 1 1 1(2)F2=∑m4(0,1,3,6,7,8,9,11,14,15)ABCDF2用7个与非门禁止逻辑用6个与非门 00 01 11 10 00 1 1 01 1 1 11 1 1 1 1 10 1 1(3)F3=∑m4(2,6,8,9,11,12,14)ABCDF3转换与非式后,11个与非门禁止逻辑7个与非门 00 01 11 10 00 1 1 01 1 11 1 10 1 1 14.25采用VerilogHDL,分别完成下列逻辑功能的描述。(1)低有效使能的4位四选一;//低有效使能n_en;选择控制输入sel,2位;//数据输入in0、in1、in2、in3均4位;//数据输出out,4位。moduleselect_4_1(n_en,sel,in0,in1,in2,in3,out);inputn_en;input[2:1]sel;input[4:1]in0,in1,in2,in3;output[4:1]out;reg[4:1]out;always@(n_enorselorin0orin1orin2orin3)if(n_en==1)out=0;elsecase(sel)2’b00:out=in0;2’b01:out=in1;2’b10:out=in2;2’b11:out=in3;endcaseendmodule(2)低有效使能且具有编码有效输出的4-2优先权编码器。分析:理解命题,建立框图;应在always用if_else描述。moduleyou_4_2(n_en,a,b,c,d,n_err,code);inputn_en,a,b,c,d;outputn_err;output[1:0]code;regn_err;reg[1:0]code;always@(n_enoraorborcord)if(n_en==1){n_err,code}=3’b000;elseif(a){n_err,code}=3’b100;elseif(b){n_err,code}=3’b101;elseif(c){n_err,code}=3’b110;elseif(d){n_err,code}=3’b111;else{n_err,code}=3’b000;endmodule(3)高有效使能且输出高有效的3—8译码器。//描述时,应注意信号的有效级。moduledecoder_3_8(en,in,out);inputen;input[3:1]in;output[7:0]out;reg[7:0]out;always@(enorin)if(en==0)out=8’b00000000;elsecase(in)3’b000:out=8’b00000001;3’b001:out=8’b00000010;3’b010:out=8’b00000100;3’b011:out=8’b00001000;3’b100:out=8’b00010000;3’b101:out=8’b00100000;3’b110:out=8’b01000000;3’b111:out=8’b10000000;endcaseendmodule4.26采用VerilogHDL,分别建立下列代码转换电路的模型:分析:(1)—(7)均围绕BCD码之间的转换,可建一通用模型。moduleBCD_bcd(in,out);parameters0=4’b0000,s1=4’b0001,s2=4’b0010,s3=4’b0011,s4=4’b0100,s5=4’b0101,s6=4’b0110,s7=4’b0111,s8=4’b1000,s9=4’b1001;parametery0=4’b0011,y1=4’b0100,y2=4’b0101,y3=4’b0110,y4=4’b0111,y5=4’b1000,y6=4’b1001,y7=4’b1010,y8=4’b1011,y9=4’b1100;input[3:0]in;output[3:0]out;reg[3:0]out;always@(in)case(in)s0:out=y0;s1:out=y1;s2:out=y2;s3:out=y3;s4:out=y4;s5:out=y5;s6:out=y6;s7:out=y7;s8:out=y8;s9:out=y9;default:out=4’bzzzz;endcaseendmodules0-s9定义输入BCD码;y0-y9定义输出BCD码;此为,8421→余3修改s0-s9和y0-y9,方便实现(2)—(7)下面为各命题的单独描述(1)8421码→余3码余3码=8421码+4’0011modulemy8421_yu3(in,out);input[3:0]in;output[3:0]out;assignout=in+4’b0011;endmodule(2)余3码→8421码8421码=余3码–4’0011modulemyyu3_8421(in,out);input[3:0]in;output[3:0]out;assignout=in–4’b0011;endmodule(3)2421码→余3码前5个,加4‘0011;后5个,减4’0011。modulemy2421_yu3(in,out);input[3:0]in;output[3:0]out;reg[3:0]out;always@(in)if(in<4’b0101)out=in+4’b0011;elseout=in–4’b0011;endmodule注意:本描述没有考虑输入出现2421伪码的情况。(4)余3码→2421码前5个,减4‘0011;后5个,加4’0011。modulemyyu3_2421(in,out);input[3:0]in;output[3:0]out;reg[3:0]out;always@(in)if(in<4’b1000)out=in–4’b0011;elseout=in+4’b0011;endmodule注意:本描述没有考虑输入出现余3码伪码的情况。(5)8421码转换成2421码前5个,不变;后5个,加4’0110。modulemy8421_2421(in,out);input[3:0]in;output[3:0]out;reg[3:0]out;always@(in)if(in<4’b0101)out=in;elseout=in+4’b0110;endmodule注意:本描述没有考虑输入出现8421码伪码的情况。(6)2421码转换成8421码前5个,不变;后5个,减4’0110。modulemy2421_8421(in,out);input[3:0]in;output[3:0]out;reg[3:0]out;always@(in)if(in<4’b0101)out=in;elseout=in–4’b0110;endmodule注意:本描述没有考虑输入出现2421码伪码的情况。(7)8421码转换成格雷BCD码列表,用case语句描述。moduleMY8421_Graybcd(in,out);input[3:0]in;output[3:0]out;reg[3:0]out;always@(in)case(in)4’b0000:out=4’b0000;4’b0001:out=4’b0001;4’b0010:out=4’b0011;4’b0011:out=4’b0010;4’b0100:out=4’b0110;4’b0101:out=4’b0111;4’b0110:out=4’b0101;4’b0111:out=4’b
/
本文档为【北工大-数字逻辑基础与verilo硬件描述语言课后答案-清华大学出版社-2013最新复习课程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索