资源描述:
《ModelSim仿真软件使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、-3-实验二modelsim仿真软件使用1.实验目的(1)熟悉ModelSim软件使用环境(2)掌握Testbench测试程序框架的编写(3)掌握Testbench基本激励产生方法和输出结果观察方法。2.实验内容设计底层DUT单元:移位寄存器,功能同74LS164,输入端口为clock、reset、load、sel,datain输出端口为dataout,其并行输入输出数据宽度均为8比特。设计verilogtestbench代码,实现对移位寄存器的功能进行测试,要求测试移位寄存器的置位,左移,右移
2、等功能。3.实验步骤1)启动modelsim软件在modelsim中选择File->ChangeDirectory,在弹出的Choosefolder对话框中设置目录路径为d:/testbenchexp。2)建立工程在modelsim中建立project,选择File->New->Project.在ProjectName栏中填写项目名称,和顶层文件名字一致。ProjectLocation是工作目录,可通过Brose按钮来选择或改变。DdfaultLibraryName采用工具默认的work。Wor
3、kspace窗口的library中就会出现work库。3)为工程添加文件工程建立后,选择AddExsitingFile后,根据相应提示将文件加到该Project中。移位寄存器文件shift_reg.v和测试激励文件stimulus_tb.v,源代码如下:测试激励文件stimulus_tb.v:modulestimulus_tb;regclock,reset,load,sdatain;reg[1:0]sel;reg[7:0]data;wire[7:0]shiftreg;shift_regDUT1(
4、clock,reset,load,sel,data,sdatain,shparameterclockPeriod=10;initialbegin#0clock=1'b0;//settheclcokinitialvalue#200foreverclock=#(clockPeriod/2)~clock;endalways@(negedgeclock)begin#2sdatain=$random%2;end//AbsoluteTimeStimulusinitialbegin-3-reset=1;loa
5、d=0;sel=0;data=8'h7e;#100reset=0;#20load=1;#20load=0;#20sel=0;#(clockPeriod*8)sel=1;#(clockPeriod*40)$finish;endinitialbegin//terminalortexteditor$timeformat(-9,1,"ns",12);$display("TimeClkRstLdSftRgDataSel");$monitor("%t%b%b%b%b%b%b",$realtime,clock
6、,reset,load,shiftreg,data,sel);endendmodule移位寄存器文件shift_reg.v:moduleshift_reg(clock,reset,load,sel,data,sdatain,shiftreg);inputclock;inputreset;inputload;input[1:0]sel;input[7:0]data;inputsdatain;output[7:0]shiftreg;reg[7:0]shiftreg;regsdataout;alway
7、s@(posedgeclock)beginif(reset)shiftreg=0;elseif(load)shiftreg=data;elsecase(sel)2'b00:shiftreg=shiftreg;2'b01:shiftreg={shiftreg[7:1],sdatain};2'b10:shiftreg={shiftreg[6:0],sdatain};default:shiftreg=shiftreg;-3-endcaseendendmodule4)编译文件编译(包括源代码和库文件的编
8、译)。编译可点击Comlile_ComlileAll来完成。5)装载文件(1)双击libray中work中的stimulus装载;(2)点击simulate–startsimulation;(3)按右图设置,点击ok。6)开始仿真点击workspace下的sim,点击stimulus_tb,选择add→addallsinaglestowave,然后点run–all,开始仿真。得到的波形如下:4.实验总结本次实验,对ModelsimSE6.2b仿真软件进行了安装,并初步学习了该软件的使用。通过这次