verilog设计135个经典实例_fpga初学者适用.docx

verilog设计135个经典实例_fpga初学者适用.docx

ID:59252174

大小:57.37 KB

页数:226页

时间:2020-09-08

verilog设计135个经典实例_fpga初学者适用.docx_第1页
verilog设计135个经典实例_fpga初学者适用.docx_第2页
verilog设计135个经典实例_fpga初学者适用.docx_第3页
verilog设计135个经典实例_fpga初学者适用.docx_第4页
verilog设计135个经典实例_fpga初学者适用.docx_第5页
资源描述:

《verilog设计135个经典实例_fpga初学者适用.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、-----------------------Page1-----------------------王金明:《VerilogHDL程序设计教程》【例3.1】4位全加器moduleadder4(cout,sum,ina,inb,cin);output[3:0]sum;outputcout;input[3:0]ina,inb;inputcin;assign{cout,sum}=ina+inb+cin;endmodule【例3.2】4位计数器modulecount4(out,reset,clk);output[3:0]out;inputreset,clk;reg[3:0]ou

2、t;always@(posedgeclk)beginif(reset)out<=0;//同步复位elseout<=out+1;//计数endendmodule【例3.3】4位全加器的仿真程序`timescale1ns/1ns`include"adder4.v"moduleadder_tp;//测试模块的名字reg[3:0]a,b;//测试输入信号定义为reg型regcin;wire[3:0]sum;//测试输出信号定义为wire型wirecout;integeri,j;adder4adder(sum,cout,a,b,cin);//调用测试对象always#5cin=~c

3、in;//设定cin的取值initialbegina=0;b=0;cin=0;for(i=1;i<16;i=i+1)#10a=i;//设定a的取值end-1------------------------Page2-----------------------程序文本initialbeginfor(j=1;j<16;j=j+1)#10b=j;//设定b的取值endinitial//定义结果显示格式begin$monitor($time,,,"%d+%d+%b={%b,%d}",a,b,cin,cout,sum);#160$finish;endendmodule【例3.4】

4、4位计数器的仿真程序`timescale1ns/1ns`include"count4.v"modulecoun4_tp;regclk,reset;//测试输入信号定义为reg型wire[3:0]out;//测试输出信号定义为wire型parameterDELY=100;count4mycount(out,reset,clk);//调用测试对象always#(DELY/2)clk=~clk;//产生时钟波形initialbegin//激励信号定义clk=0;reset=0;#DELYreset=1;#DELYreset=0;#(DELY*20)$finish;end//定义

5、结果显示格式initial$monitor($time,,,"clk=%dreset=%dout=%d",clk,reset,out);endmodule【例3.5】“与-或-非”门电路moduleAOI(A,B,C,D,F);//模块名为AOI(端口列表A,B,C,D,F)inputA,B,C,D;//模块的输入端口为A,B,C,DoutputF;//模块的输出端口为F-2------------------------Page3-----------------------王金明:《VerilogHDL程序设计教程》wireA,B,C,D,F;//定义信号的数据类型a

6、ssignF=~((A&B)

7、(C&D));//逻辑功能描述endmodule【例5.1】用case语句描述的4选1数据选择器modulemux4_1(out,in0,in1,in2,in3,sel);outputout;inputin0,in1,in2,in3;input[1:0]sel;regout;always@(in0orin1orin2orin3orsel)//敏感信号列表case(sel)2'b00:out=in0;2'b01:out=in1;2'b10:out=in2;2'b11:out=in3;default:out=2'bx;endcaseendmodu

8、le【例5.2】同步置数、同步清零的计数器modulecount(out,data,load,reset,clk);output[7:0]out;input[7:0]data;inputload,clk,reset;reg[7:0]out;always@(posedgeclk)//clk上升沿触发beginif(!reset)out=8'h00;//同步清0,低电平有效elseif(load)out=data;//同步预置elseout=out+1;//计数endendmodule【例5.3】用always过程语句描述的简单算

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

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

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