《数字电子技术》黄瑞祥 第六七章习题答案

更新时间:2023-09-23 13:37:01 阅读量: 自然科学 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第六章

6-1答:ROM只能读不能写,而RAM可随机读写。

6-2 输入B3B2B1B0为四位二进制,输出Y7Y6Y5Y4Y3Y2Y1Y0为B3B2B1B0的平方,

逻辑图:

存储内容(数据)

ROM 24×8地址数据[0]AY0D7D6D5D4D3D2D1D0[1]AY1000000000B0[2]AY2B0110[3]AY3100000001B22A[4]AY4B[5]AY20000010033155[6]AY6……CS[3]AY7OE

15111000016-3输入B7B6B5B4B3B2B1B0为八位二进制,输出Y7Y6Y5Y4Y3Y2Y1Y0为格雷码,

逻辑图:

存储内容(数据)

B0ROM 24×8地址数据B01B1[0]AY0D7D6D5D4D3D2D1D02B2[1]AY1000000000B33A0[2]AY240100000001B51255[3]AY3B62[4]AY4200000011B37[5]AY5[6]AY……6CS[3]AYOE7

15100000001

6-4 X=0为加法计数,X=1为减法法计数,

逻辑图:

存储内容(数据)

地址ROM 24×4001A23134数据00001000100100110000000001100100000001110100000000

00000REGQ0Q1Q2Q3YXCSOE[0]A[1]A[2]A[3]A[4]A00001……0100001001

CP10~151000010001……110001100126~316-5 可编程器件有PROM、PAL、GAL 低密度PLD和 CPLD、FPGA 高密度PLD。它们共同特点可实现高速的数字逻辑。

6-6 相同点:结构上均采用“与-或”结构,不同点:GAL和PAL输出结构不同,PAL采用固定输出结构,GAL输出采用可编程的宏单元结构。

6-7 共享扩展项作用:实现复杂的高扇入函数,但会增加输出时延。 并联扩展项作用:实现快速复杂的高扇入函数。

6-8 MAX7000系列采用“与-或”结构实现逻辑函数,而FLEX10K系列采用“查找表”结构实现逻辑函数。

6-9 利用级联链,FLEX10K结构可以实现扇入很多的逻辑函数。相邻的LE用来并行地计算函数的各个部分,级联链可以使用逻辑 “与”或者逻辑“或”把中间结果串接起来。 6-10 进位链支持高速计数器和加法器,而级联链可以在最小延时的情况下实现高扇入复杂函数。

2

6-11 实现8×8的数字乘法器需用512个EAB,与用逻辑器件构成乘法器的方法相比,查表法扫优点:快速。

6-12 FLEX10K系列器件一个LAB最多可实现8位的同步计数器. 6-13 FPGA特点:

(一)SRAM结构:可以无限次编程。

(二)内部布线相当灵活,因此在系统速度方面低于CPLD的速度。 (三)芯片逻辑利用率。 (四)芯片功耗低。

6-14 (1)PAL、(2)GAL、(3)EPLD、(4)EPLD 、FPGA、(5)FPGA.

6-15 静态存储器利用双稳触发器存储数据。而动态存储器利用栅极电容存储数据,读/写操作时,动态存储器需定时刷新。

6-16

7-1 答:连线型(nets type)和寄存器型(register type)。 7-2 答:在数据流描述方式中使用assign语句描述一个设计? 题7-2图所示的优先编码器的Verilog HDL数据流描述代码为: module encode42_2(Valid,Encode, Data); output[1:0] Encode; output Valid; input[3:0] Data;

assign Encode[1]=Data[2] || Data[3];

assign Encode[0]=!Data[2] && Data[1] || Data[3]; assign Valid=|Data; endmodule

7-3 题7-2图所示的优先编码器的Verilog HDL门级描述代码为: module encode42_3(Valid,Encode,Data); output[1:0] Encode; output Valid; input[3:0] Data; wire y1,y2,y3; not g1(y1,Data[2]); and g2(y2,y1,Data[1]); or g3(y3,Data[1],Data[0]), g4(Encode[1],Data[2],Data[3]), g5(Encode[0],y2,Data[3]), g6(Valid,Data[3],Data[2],y3);

3

endmodule

7-4 基本RS触发器的Verilog HDL门级描述代码为: module SRFF_4(nS,nR,Q,nQ); output Q, nQ ; input nS,nR ; nand g1(Q,nS,nQ), g2(nQ,Q,nR); endmodule

7-6答:

阻塞赋值在该语句结束时执行赋值,前面的语句没有完成前,后面的语句是不能执行,因此begin...end语句组内的阻塞赋值语句是顺序执行。

在begin...end语句组内,一条非阻塞赋值语句的执行是不会阻塞下一条语句的执行,也就是说本条非阻塞赋值语句的执行完毕前,下一条语句也可开始执行。

7-7 答:

case和casex的区别在于对x和z值使用不同的解释,在casex语句中,对取值为z和x的某些位的比较不予考虑,只需关注其它位的比较结果;。

7-8 8线-3线高优先编码器的Verilog HDL代码为: module encoder83_8(valid,out,i); output[2:0] out; output valid; input[7:0] i; reg[3:0] outtemp; assign {valid, out} = outtemp; always @(i) casex(i)

8'b0xxx_xxxx: outtemp = 4'b0_000; 8'bx0xx_xxxx: outtemp = 4'b0_001; 8'bxx0x_xxxx: outtemp = 4'b0_010; 8'bxxx0_xxxx: outtemp = 4'b0_011; 8'bxxxx_0xxx: outtemp = 4'b0_100; 8'bxxxx_x0xx: outtemp = 4'b0_101; 8'bxxxx_xx0x: outtemp = 4'b0_110; 8'bxxxx_xxx0: outtemp = 4'b0_111; default: outtemp = 4'b1_111; endcase

4

endmodule 7-9

module f_9(f,a,b,c,x,y,z);

output f ; input a,b,c,x,y,z; reg f ;

always @(a or b or c or x or y or z ) begin

if(a) f=x; else if(b) f=y ; else if(c) f=z; else f=0; end endmodule 7-10

module voter9_10 (pass,vote); output pass; input[8:0] vote; reg[3:0] sum; integer i;

assign pass=(sum >= 5); always @(vote) begin sum=0;

for (i=0;i<=8;i=i+1) if(vote[i]) sum=sum+1 ; end endmodule

7-12 驱动共阴数码管的代码为 function reg[7:0] bcd_7seg; input[3:0] D; output a,b,c,d,e,f,g; reg a,b,c,d,e,f,g; always @(D)

5

本文来源:https://www.bwwdw.com/article/yg9d.html

Top