夏宇闻Verilog教程范例

夏宇闻Verilog教程范例

ID:43160581

大小:529.50 KB

页数:39页

时间:2019-10-01

夏宇闻Verilog教程范例_第1页
夏宇闻Verilog教程范例_第2页
夏宇闻Verilog教程范例_第3页
夏宇闻Verilog教程范例_第4页
夏宇闻Verilog教程范例_第5页
资源描述:

《夏宇闻Verilog教程范例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Verilog设计举例结构模块的层次化组成各种类型模块之间的关系测试和验证设计示例一用门级结构描述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#10

2、iv1(ndata,data),iv2(nclock,clock);endmodule用户定义的原始元件primitiveudp_and(out,a,b);outputout;inputa,b;table//ab:out;00:0;01:0;10:0;11:1;endtableendprimitive用户定义的原始元件前面模块中的nand和not原语元件(primitive)在Verilog语言中是保留词,它们分别表示:与非门和非门的逻辑关系。在Verilog语法中通过用户定义的原始元件语句(即UDP)的真值表和带参数的延迟线模型来表示。在与具体工

3、艺库的逻辑对应时把具体延迟参数传入延迟线模型,再加上描述逻辑关系的UDP。就有了一个与真实情况很接近逻辑模型,仿真器就可以依据它进行计算,来确定相互连接元件的逻辑值。设计示例二由已设计的模块来构成高一级的模块clrdqclkclrdqclkclrdqclkq0d0clrdqclkd3d2q2q3q1d1clrbclkf4f3f2f1四位寄存器电路结构图设计示例二`include“flop.v”modulehardreg(d,clk,clrb,q);inputclk,clrb;input[3:0]d;output[3:0]q;flopf1(d[0],

4、clk,clrb,q[0],),f2(d[1],clk,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_p

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

6、=1;endalways#50clock=~clock;设计示例三(续)initialbeginrepeat(4)begin/*-------------------------------------------------宏定义stim引用,等同于#100data=4'b注意引用时要用`符号。-------------------------------------------------*/`stim0000;`stim0001;......`stim1111;#200->end_first_pass;//延迟200个单位时间,触发事件end

7、_first_passend$finish;//结束仿真end设计示例三(续)always@(end_first_pass)clearb=~clearb;//清零信号电平翻转always@(posedgeclock)$display(“attime%0dclearb=%bdata=%bqout=%b”,$time,clearb,data,qout);endmodule设计示例四 带异步复位端的D触发器moduleDFF(q,d,clk,reset);outputq;inputd,clk,reset;regq;always@(posedgereset

8、ornegedgeclk)if(reset)q<=1'b0;elseq<=d;endmodule设计示例四(续) 用D触发

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

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

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