资源描述:
《Vivado下的仿真入门》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Vivado下的仿真入门2018年06月24日14:47:48 Stef若木 阅读数:1170转自:https://blog.csdn.net/leon_zeng0/article/details/78441871本文通过一个简单的例子,介绍Vivado下的仿真过程。主要参考了miz702的教程,同时也参考了Xilinx的ug937, xapp199.。我的软件平台是Vivado2015.4,硬件平台是黑金的AC7010,Zynq7000,其实与平台关系不大。本文分为四部分:工程的建立,测试代码,仿真图形输出,
2、更复杂点的例子。工程和源码下载链接: 链接:http://pan.baidu.com/s/1gflHSdH密码:fpi51:工程的建立:打开Vivado软件, 并点击新建工程,NewProject,并点击Next出现如图界面,输入工程名和路径,我这里是qsim点击Next,出现选择工程类型的界面,选择RTLProject,并且选择Donotspecifysourcesatthistime.选择硬件平台,我是这么选择的:点击确定,出现Summary窗口,点击Finish,工程就建立完成了。2:代码的导入或输入:本
3、例子有2个源文件:待测试的verilog文件,测试文件。右键点击DesignSource,选择AddSource这里添加的设计源文件,并点击Next你是选择添加还是新建,你有源代码文件,你可以选择Add Files,但我这是新建新建文件名和路径,添加也一样。你要选择verilog文件类型出现了这样一个对话框,目录和文件名。出现这样一个对话框,ok就可以, 再这样,Yes,添加估计不是这样的,好了,文件出现在这里了基本同样的操作,在simulatesource这里添加测试文件testbench.v文件,不再复杂图
4、示了。好的,添加或新建2个文件后,这样的效果。如果你是新建,你就需要输入源代码,或者copy这里,去本文开头介绍的地方下载源文件好了。我这源代码是从xapp.pdf里copy过来的。测试代码也是输入,或copy,最好是下载shift_reg.v文件的内容:`timescale1ns/1psmoduleshift_reg(clock,reset,load,sel,data,shiftreg);inputclock;inputreset;inputload;input[1:0]sel;input[4:0]data;
5、output[4:0]shiftreg;reg[4:0]shiftreg;always@(posedgeclock)begin if(reset) shiftreg=0; elseif(load) shiftreg=data; else case(sel) 2'b00:shiftreg=shiftreg; 2'b01:shiftreg=shiftreg<<1; 2'b10:shiftreg=shiftreg>>1; default:shiftreg=shiftreg; endcaseendendm
6、odule这是一个移位寄存器的例子,load=1的时候shiftreg=data,sel=0,不动作,=1左移,=2’b10右移testbench.v代码如下:`timescale1ns/1ps moduletestbench;//declaretestbenchname regclock; regload; regreset; //declarationofsignals wire[4:0]shiftreg; reg[4:0]data; reg[1:0]sel; //instantiationofthesh
7、ift_regdesignbelow shift_regdut(.clock(clock), .load(load), .reset(reset), .shiftreg(shiftreg), .data(data), .sel(sel)); //thisprocessblocksetsupthefreerunningclock initialbegin clock=0; forever#50clock=~clock; end initialbegin//thisprocessbloc
8、kspecifiesthestimulus. reset=1; data=5'b00000; load=0; sel=2'b00; #200 reset=0; load=1; #200 data=5'b00001; #100 sel=2'b01; load=0; #200 sel=2'b10; #1000$stop; end init