FPGA工程建立和自带仿真ISim仿真教程

来源:互联网 发布:7位铁通卡用什么网络 编辑:程序博客网 时间:2024/06/05 12:39

目前是使用spartan6的开发板结合chipscope进行代码编写和仿真,结果在一个小模块的仿真时需要用到ISim进行功能仿真,竟然发现已经不太会写testbench了,尴尬。。。决定摸索一番,顺便写下这篇文章。
用一个小例子结合起来介绍:
功能描述:设计一个可以自行设定初始值的计数器cnt(一般从0开始计数),不需要硬件复位,采用模块内部软件信号temp复位。
代码如下所示:
module demo(clk,cnt
);
input clk;
output reg [4:0] cnt;
reg temp;
always@(posedge clk)
begin
if(temp!=1’b1) //—-temp为0,则将temp定义为1,并初始化计数器值为4
begin
temp<=1’b1;
cnt<=5’d4;
end
else
if(cnt<5’d30)
cnt<=cnt+1;
else
cnt<=5’d4;
end
endmodule

从建立工程开始,直接上图:
1.建立工程,写一个有意义的名字:
当你目前不需要涉及硬件条件的话,可以一路next到底完成工程建立(后期需要更改硬件选择也是可以实现的,,如果一直这样详细的话,这篇文章不知道要写多长)

2.在imlementation选项下,hierarchy 的空白区域右键弹出new source,选择Verilog module,输入文件名,如下图所示:
一路next到底完成文件创建

3.输入Verilog代码,保存并编译Generate Programing File。(必须在imlementation下编译)

4.开始创建testbench,在ISE的主界面切换到simulation状态下,建立testbench的过程类似于vrilog module,,在simulation状态下,hierarchy 的空白区域右键弹出new source,选择Verilog Test Fixture,输入文件名,如下图所示:
同样,next到完成,弹出代码模板

5.生成模板,写激励信号和逻辑,如下图:这里写图片描述

6.在simulation状态下,点开左下角 ISim simulation 的加号,双击simula Behavioral Model,直接弹出窗口显示仿真结果:
这里写图片描述
放大缩小改变信号在窗口中的显示范围;选中信号,右键选择Radix可以更改显示的进制。

原创粉丝点击