ModelSim仿真软件使用.doc_第1页
ModelSim仿真软件使用.doc_第2页
ModelSim仿真软件使用.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

- 3 -实验二 modelsim仿真软件使用1.实验目的(1)熟悉ModelSim软件使用环境(2)掌握Testbench测试程序框架的编写(3)掌握Testbench基本激励产生方法和输出结果观察方法。2.实验内容设计底层DUT单元:移位寄存器,功能同74LS164,输入端口为clock、reset、load、sel,datain输出端口为dataout,其并行输入输出数据宽度均为8比特。设计verilog testbench代码,实现对移位寄存器的功能进行测试,要求测试移位寄存器的置位,左移,右移等功能。3.实验步骤1)启动modelsim软件在modelsim中选择File- Change Directory,在弹出的Choose folder对话框中设置目录路径为d:/testbenchexp。2)建立工程在modelsim中建立project,选择File -New-Project.在Project Name栏中填写项目名称,和顶层文件名字一致。Project Location是工作目录,可通过Brose按钮来选择或改变。Ddfault Library Name采用工具默认的work。Workspace窗口的library中就会出现work库。3)为工程添加文件工程建立后,选择Add Exsiting File后,根据相应提示将文件加到该Project中。移位寄存器文件shift_reg.v和测试激励文件stimulus_tb.v,源代码如下: 测试激励文件 stimulus_tb.v: module stimulus_tb; reg clock,reset,load,sdatain; reg 1:0 sel; reg 7:0 data; wire 7:0 shiftreg; shift_reg DUT1(clock, reset, load, sel, data, sdatain,sh parameter clockPeriod = 10; initial begin #0 clock=1b0; /set the clcok initial value #200 forever clock = #(clockPeriod / 2) clock; end always (negedge clock) begin #2 sdatain=$random %2; end /Absolute Time Stimulus initial begin reset = 1; load = 0; sel = 0; data = 8h7e; #100 reset = 0; #20 load = 1; #20 load = 0; #20 sel = 0; #(clockPeriod * 8) sel=1; #(clockPeriod * 40) $finish; end initial begin /terminal or text editor $timeformat(-9,1,ns,12); $display( Time Clk Rst Ld SftRg Data Sel); $monitor(%t %b %b %b %b %b %b, $realtime, clock, reset, load, shiftreg, data, sel); end endmodule 移位寄存器文件 shift_reg.v: module shift_reg (clock, reset, load, sel, data,sdatain,shiftreg); input clock; input reset; input load; input 1:0 sel; input 7:0 data; input sdatain; output 7:0 shiftreg; reg 7:0 shiftreg; reg sdataout; always (posedge clock) begin if (reset) shiftreg = 0; else if (load) shiftreg = data; else case (sel) 2b00 : shiftreg = shiftreg; 2b01 : shiftreg = shiftreg7:1,sdatain; 2b10 : shiftreg = shiftreg6:0,sdatain; default : shiftreg = shiftreg; endcase end endmodule 4)编译文件编译(包括源代码和库文件的编译)。编译可点击Comlile_Comlile All来完成。 5)装载文件(1)双击libray 中work中的stimulus装载;(2)点击simulate start simulation;(3)按右图设置,点击ok。6)开始仿真点击workspace下的sim,点击stimulus_tb,选择add add all sinagles to wave,然后点run

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论