数字系统设计与Verilog HDLppt课件.ppt

数字系统设计与Verilog HDLppt课件.ppt

ID:58781069

大小:3.61 MB

页数:100页

时间:2020-10-03

数字系统设计与Verilog HDLppt课件.ppt_第1页
数字系统设计与Verilog HDLppt课件.ppt_第2页
数字系统设计与Verilog HDLppt课件.ppt_第3页
数字系统设计与Verilog HDLppt课件.ppt_第4页
数字系统设计与Verilog HDLppt课件.ppt_第5页
资源描述:

《数字系统设计与Verilog HDLppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、XXXX大学XXX学院数字系统设计与VerilogHDL数字系统设计与VerilogHDL第9章Verilog数字电路设计实践主要内容◆基本组合电路的设计◆基本时序电路的设计◆复杂系统的设计数字系统设计与VerilogHDL基本组合电路的设计1门级结构描述modulegate1(F,A,B,C,D);inputA,B,C,D;outputF;nand(F1,A,B);//调用门元件and(F2,B,C,D);or(F,F1,F2);endmodule数据流描述modulegate2(F,A,B,C,D);inputA,B,C,D;output

2、F;assignF=(A&B)

3、(B&C&D);//assign持续赋值endmodule行为描述modulegate3(F,A,B,C,D);inputA,B,C,D;outputF;regF;always@(AorBorCorD)//过程赋值beginF=(A&B)

4、(B&C&D);endendmodule基本组合电路的设计2用bufif1关键字描述的三态门moduletri_1(in,en,out);inputin,en;outputout;triout;bufif1b1(out,in,en);//注意三态门端口的排列顺序endmodu

5、le用assign语句描述三态门用MAX+PLUSII进行编译,生成上图所示的模块符号。基本组合电路的设计33-to-8decodermoduledecoder_38(out,in);output[7:0]out;input[2:0]in;reg[7:0]out;always@(in)begincase(in)3'd0:out=8'b11111110;3'd1:out=8'b11111101;3'd2:out=8'b11111011;3'd3:out=8'b11110111;3'd4:out=8'b11101111;3'd5:out=8'b1

6、1011111;3'd6:out=8'b10111111;3'd7:out=8'b01111111;endcaseendendmodule2.8-3的优先编码器作为条件语句,if-else语句的分支是有优先顺序的。利用if-else语句的特点,可以很方便地实现优先编码器。下面的例子是一个8-3优先编码器,该编码器输人为a、b、c、d、e、f、g和h,输人信号高电平有效,h的优先级最高。续符号用QuartusII软件对上面的代码综合后,生成一个模块符号,再加上输入输出端口,即构成了如下图所示的优先编码器电路。对该编码器进行仿真,得到如下图所示的

7、波形基本组合电路的设计4奇偶校验位产生器moduleparity(even_bit,odd_bit,input_bus);outputeven_bit,odd_bit;input[7:0]input_bus;assignodd_bit=^input_bus;//产生奇校验位assigneven_bit=~odd_bit;//产生偶校验位endmodule基本组合电路的设计5用if-else语句描述的4选1MUXmodulemux4_1(out,in0,in1,in2,in3,sel);outputout;inputin0,in1,in2,in

8、3;input[1:0]sel;regout;always@(in0orin1orin2orin3orsel)beginif(sel==2'b00)out=in0;elseif(sel==2'b01)out=in1;elseif(sel==2'b10)out=in2;elseout=in3;endendmodule7段LED数码管译码电路输出信号的7位分别接如下图数码管的7个段,高位在左,低位在右。例如当输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“

9、5”。共阴数码管及其电路源程序组合逻辑设计要点组合逻辑的两种VerilogHDL表示:-用assign语句:assignq=(a==1?)d:0;-用always块:always@(aord)beginif(a==1)q<=d;elseq<=0;end组合逻辑设计要点用always块时,必须注意电平敏感的信号表是否完全,如:always@(aorborcord)beginout=(a&b&c)

10、(d&e);end此时生成的不是纯组合逻辑,因为当e变化时,out不能立即跟着变化。只有当a或b或c或d变化时e的变化后果才显示出来。可见需要有一个寄

11、存器来储存e的变化。结论组合电路的输入一旦有变化,输出马上跟着变化组合电路一般都用assign语句当用always描述纯组合电路时,括号内的敏感列表要把所有的输入列

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。