verilog编程经典教程ppt课件

verilog编程经典教程ppt课件

ID:14983121

大小:1.22 MB

页数:518页

时间:2018-07-31

verilog编程经典教程ppt课件_第1页
verilog编程经典教程ppt课件_第2页
verilog编程经典教程ppt课件_第3页
verilog编程经典教程ppt课件_第4页
verilog编程经典教程ppt课件_第5页
资源描述:

《verilog编程经典教程ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、设计示例一用门级结构描述D触发器:设计示例一moduleflop(data,clock,clear,q,qb);inputdata,clock,clear;outputq,qb;nand#10nd1(a,data,clock,clear),nd2(b,ndata,clock),nd4(d,c,b,clear),nd5(e,c,nclock),nd6(f,d,nclock),nd8(qb,q,f,clear);nand#9nd3(c,a,d),nd7(q,e,qb);not#10iv1(ndata,da

2、ta),iv2(nclock,clock);endmodule设计示例二由已设计的模块来构成高一级的模块clrdqclkclrdqclkclrdqclkq0d0clrdqclkd3d2q2q3q1d1clrbclkf4f3f2f1四位寄存器电路结构图设计示例二`include“flop.v”modulehardreg(d,clk,clrb,q);inputclk,clrb;input[3:0]d;output[3:0]q;flopf1(d[0],clk,clrb,q[0],),f2(d[1],clk,

3、clrb,q[1],),f3(d[2],clk,clrb,q[2],),f4(d[3],clk,clrb,q[3],);endmodule设计示例三编写测试模块通过仿真检查设计正确与否:`include“hardreg.v”modulehardreg_top;regclock,clearb;reg[3:0]data;wire[3:0]qout;`definestim#100data=4'b//宏定义stim,可使源程序简洁eventend_first_pass;//定义事件end_first_pass

4、设计示例三(续)hardregreg_4bit(.d(data),.clk(clock),.clrb(clearb),.q(qout));/*---------------------------------------------------把本模块中产生的测试信号data、clock、clearb输入实例reg_4bit以观察输出信号qout.实例reg_4bit引用了hardreg---------------------------------------------------*/initi

5、albeginclock=0;clearb=1;endalways#50clock=~clock;设计示例三(续)/*-------------------------------------------------宏定义stim引用,等同于#100data=4'b注意引用时要用`符号。--------------------------------------*/`stim0000;`stim0001;......`stim1111;end#200->end_first_pass;/*-------

6、------------------------------------------延迟200个单位时间,触发事件end_first_pass-------------------------------------------------*/$finish;//结束仿真endendmoduleVerilogHDL设计示例四有限状态机的设计-有限状态机是由寄存器组和组合逻辑构成的硬件时序电路;-其状态(即由寄存器组的1和0的组合状态所构成的有限个状态)只能在同一时钟跳变沿的情况下才能从一个状态转向另一

7、个状态;-究竟转向哪一状态不但取决于各个输入值,还取决于当前状态。-状态机可用于产生在时钟跳变沿时刻开关的复杂的控制逻辑,是数字逻辑的控制核心。设计示例四(续)设计示例四(续)modulefsm(Clock,Reset,A,F,G);inputClock,Reset,A;outputF,G;regF,G;reg[1:0]state;parameterIdle=2’b00,Start=2’b01,Stop=2’b10,Clear=2’b11;always@(posedgeClock)if(!Reset)

8、beginstate<=Idle;F<=0;G<=0;endelse设计示例四(续)case(state)idle:beginif(A)state<=Start;G<=0;endstart:if(!A)state<=Stop;Stop:beginif(A)state<=Clear;F<=1;endClear:beginif(!A)state<=Idle;F<=0;G<=1;endendcaseendmodule设计示例四(续)还可以用另一个Verilog

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

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

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