《数字电子技术》黄瑞祥第六七章习题答案_第1页
《数字电子技术》黄瑞祥第六七章习题答案_第2页
《数字电子技术》黄瑞祥第六七章习题答案_第3页
《数字电子技术》黄瑞祥第六七章习题答案_第4页
《数字电子技术》黄瑞祥第六七章习题答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六章6-1答:ROM 只能读不能写,而RAM 可随机读写。6-2 输入B 3B 2B 1B 0为四位二进制,输出Y 7Y 6Y 5Y 4Y 3Y 2Y 1Y 0为B 3B 2B 1B 0的平方,逻辑图:存储内容(数据 B B B B 3210Y Y Y Y 7654Y Y Y Y数据0000010021110000115000000011000000000D 7D 6D 5D 4D 3D 2D 1D 0地址6-3输入B 7B 6B 5B 4B 3B 2B 1B 0为八位二进制,输出Y 7Y 6Y 5Y 4Y 3Y 2Y 1Y 0为格雷码,逻辑图:存储内容(数据 3210Y Y Y Y 765

2、4Y Y Y Y数据0000001121000000015000000011000000000D 7D 6D 5D 4D 3D 2D 1D 0地址6-4 X=0为加法计数,X=1为减法法计数,逻辑图:存储内容(数据 32100011111000010001100111001100000000010150100101000 (10000010010000010001000002631(00010000010000100000数据地址6-5 可编程器件有PROM 、PAL 、GAL 低密度PLD 和 CPLD 、FPGA 高密度PLD 。它们共同特点可实现高速的数字逻辑。6-6 相同点:结构上均采

3、用“与-或”结构,不同点:GAL 和PAL 输出结构不同,PAL 采用固定输出结构,GAL 输出采用可编程的宏单元结构。6-7 共享扩展项作用:实现复杂的高扇入函数,但会增加输出时延。 并联扩展项作用:实现快速复杂的高扇入函数。6-8 MAX7000系列采用“与-或”结构实现逻辑函数,而FLEX10K 系列采用“查找表”结构实现逻辑函数。6-9 利用级联链,FLEX10K 结构可以实现扇入很多的逻辑函数。相邻的LE 用来并行地计算函数的各个部分,级联链可以使用逻辑 “与”或者逻辑“或”把中间结果串接起来。 6-10 进位链支持高速计数器和加法器,而级联链可以在最小延时的情况下实现高扇入复杂函数

4、。6-11 实现8×8的数字乘法器需用512个EAB,与用逻辑器件构成乘法器的方法相比,查表法扫优点:快速。6-12 FLEX10K系列器件一个LAB最多可实现8位的同步计数器.6-13 FPGA特点:(一SRAM结构:可以无限次编程。(二内部布线相当灵活,因此在系统速度方面低于CPLD的速度。(三芯片逻辑利用率。(四芯片功耗低。6-14 (1PAL、(2GAL、(3EPLD、(4EPLD 、FPGA、(5FPGA.6-15 静态存储器利用双稳触发器存储数据。而动态存储器利用栅极电容存储数据,读/写操作时,动态存储器需定时刷新。6-167-1 答:连线型(nets type和寄存器型

5、(register type。7-2 答:在数据流描述方式中使用assign语句描述一个设计?题7-2图所示的优先编码器的Verilog HDL数据流描述代码为:module encode42_2(Valid,Encode, Data;output1:0 Encode;output Valid;input3:0 Data;assign Encode1=Data2 | Data3;assign Encode0=!Data2 && Data1 | Data3;assign Valid=|Data;endmodule7-3 题7-2图所示的优先编码器的Verilog HDL门级描述代

6、码为:module encode42_3(Valid,Encode,Data;output1:0 Encode;output Valid;input3:0 Data;wire y1,y2,y3;not g1(y1,Data2;and g2(y2,y1,Data1;or g3(y3,Data1,Data0,g4(Encode1,Data2,Data3,g5(Encode0,y2,Data3,g6(Valid,Data3,Data2,y3;7-4 基本RS触发器的Verilog HDL门级描述代码为:module SRFF_4(nS,nR,Q,nQ;output Q, nQ ;input nS,n

7、R ;nand g1(Q,nS,nQ,g2(nQ,Q,nR;endmodule7-6答:阻塞赋值在该语句结束时执行赋值,前面的语句没有完成前,后面的语句是不能执行,因此begin.end语句组内的阻塞赋值语句是顺序执行。在begin.end语句组内,一条非阻塞赋值语句的执行是不会阻塞下一条语句的执行,也就是说本条非阻塞赋值语句的执行完毕前,下一条语句也可开始执行。7-7 答:case和casex的区别在于对x和z值使用不同的解释,在casex语句中,对取值为z和x的某些位的比较不予考虑,只需关注其它位的比较结果;。7-8 8线-3线高优先编码器的Verilog HDL代码为:module en

8、coder83_8(valid,out,i;output2:0 out;output valid;input7:0 i;reg3:0 outtemp;assign valid, out = outtemp;always (icasex(i8'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:

9、 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;endcase7-9module 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 beginif(a f=x;el

10、se if(b f=y ;else if(c f=z;else f=0;endendmodule7-10module voter9_10 (pass,vote;output pass;input8:0 vote;reg3:0 sum;integer i;assign pass=(sum >= 5;always (votebeginsum=0;for (i=0;i<=8;i=i+1if(votei sum=sum+1 ;endendmodule7-12 驱动共阴数码管的代码为function reg7:0 bcd_7seg;input3:0 D;output a,b,c,d,e,f,

11、g;reg a,b,c,d,e,f,g;always (Dcase(D4'd0 : a,b,c,d,e,f,g=7'b1111110;4'd1 : a,b,c,d,e,f,g=7'b0110000;4'd2 : a,b,c,d,e,f,g=7'b1101101;4'd3 : a,b,c,d,e,f,g=7'b1111001;4'd4 : a,b,c,d,e,f,g=7'b0110011;4'd5 : a,b,c,d,e,f,g=7'b1011011;4'd6 : a,b,c,d,e,f,g=

12、7'b1011111;4'd7 : a,b,c,d,e,f,g=7'b1110000;4'd8 : a,b,c,d,e,f,g=7'b1111111;4'd9 : a,b,c,d,e,f,g=7'b1111011;default : a,b,c,d,e,f,g=7'bx;endcaseendendfunction7-13module jkff_13(Q,nQ,J,K,clk,clrn,prn;output Q,nQ;input J,K ,clk,clrn,prn;reg Q,nQ;always (posedge clk or ne

13、gedge clrn or negedge prn beginif(!clrn begin Q =0;nQ=1;endelse if(!prn begin Q =1;nQ=0;endelsecase(J,K2'b01: begin Q =0;nQ=1;end2'b10: begin Q =1;nQ=0;end2'b11: begin Q =!Q;nQ=!nQ;enddefault:begin Q =Q;nQ=nQ;endendcaseendendmodulemodule count_16bits_dec(Q,BO,I,LOAD,EN,CLR,CLK;parameter

14、bits=16;outputbits:1 Q;output BO;inputbits:1 I;input LOAD,EN,CLR,CLK;reg bits:1 Q;assign BO=(Q=0&EN;/借位always (posedge CLK or negedge CLR /低电平清0beginif(!CLR Q=0; /异步复位else if (!LOAD Q=I;/低电平同步置数else Q=Q-EN;/EN=1 ,计数;EN=0,保持 endendmodule7-15module count_24(Q,CO_BO,I,LOAD,EN,CLR,CLK,UP_DN;paramete

15、r MODULUS=8'h23;output8:1 Q;output CO_BO;input8:1 I;input LOAD,EN,CLR,CLK,UP_DN;reg 8:1 Q;wire CO,BO;assign CO=EN&(!UP_DN&(Q=0; /进位assign BO=EN&(UP_DN&(Q=MODULUS;/借位assign CO_BO=CO|BO;always (posedge CLK or negedge CLR /低电平清0beginif(!CLR Q=0; /异步复位else if (!LOAD Q=I;/低电平同步置数else

16、if(ENbeginif(UP_DN /UP_DN=1,加法;UP_0,减法if(Q=MODULUS Q=0;else if(Q4:1=9begin Q4:1=0;Q8:5=Q8:5+1;endelse Q4:1= Q4:1+1;else /减法if(Q=0 Q=MODULUS;else if(Q4:1=0begin Q4:1=9;Q8:5=Q8:5-1;endelse Q4:1= Q4:1-1;endendendmodule7-16module count12_24(Q,S,CLR,CLK;output4:0 Q;input S,CLR,CLK;reg5:0 Q;always (posedg

17、e CLK or negedge CLR /低电平清0 beginif(!CLR Q=0; /异步复位elseif (!Sif (Q=11 Q=0; else Q=Q+1;elseif (Q=23 Q=0; else Q=Q+1;endendmodule7-17module count_n(Q,I,Y,CLK;output8:1 Q;output Y;input8:1 I;input CLK;reg 8:1 Q;reg Y;always (posedge CLKbeginif (Q>=I begin Q=1; Y=1;end /1N计数else begin Q=Q+1; Y=0;ende

18、ndendmodule7-17module shift_16(Q,S,IN,SR,SL,CLR,CLK;output15:0 Q;input SR,SL,CLR,CLK;input15:0 IN;input1:0 S;reg15:0 Q;always (posedge CLK or negedge CLR /低电平清0beginif(!CLR Q=0; /异步复位elsecase (S2'b00 : Q=Q;2'b01 : begin Q= (Q << 1+SR; end /数字电路右移(与HDL相反2'b10 : begin Q= Q >> 1

19、;Q15=SL; end /数字电路左移(与HDL相反2'b11 : Q=IN;endcaseendendmodule7-18module Mealy_19 (in,out, CLK, RST;input CLK, RST;input1:0 in;output 1:0 out;reg 1:0 state,out ;parameter S0= 2'b00, S1 = 2'b01, S2 = 2'b10;/状态转换always (posedge CLK or negedge RST if (!RST state = S0;elseif (state=S0case (

20、in2'b01:state=S1;2'b11:state=S2;default:state=S0;endcaseelse if(state=S1casex (in2'b01:state=S0;2'b1x:state=S2;default:state=S1;endcaseelse if(state=S2casex (in2'bx0:state=S0;default:state=S2;endcaseelse state=S0;/输出always (state or inif (state=S0case (in2'b01:out=2'b10;2

21、'b11:out=2'b01;default:out=2'b00;endcaseelse if(state=S1casex (in2'b01:out=2'b01;2'b1x:out=2'b11;default:out=2'b00;endcaseelse if(state=S2 casex (in 2'bx0:out=2'b01; default:out=2'b10; endcase else out=2'b00; endmodule 7-19 module Moore_20 (in,out, CLK, RST; input CLK, RST; input 1:0 in; output 1:0 out; reg 1:0 out; reg 2:0 state; parameter S0= 3'b000, S1= 3'b001, S2=3'b010, S3=3'b011,S4=3'b100; always (posedge CLK or negedge RST if (!RSTbegin state =S0;out=2&#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论