FPGA实战开发技巧(4)
5.3.2 基于ISE的仿真
在代码编写完毕后,需要借助于测试平台来验证所设计的模块是否满足要求。ISE 提供了两种测试平台的建立方法,一种是使用HDL Bencher 的图形化波形编辑功能编写,另一种就是利用HDL 语言,相对于前者使用简单、功能强大。下面介绍基于Verilog 语言建立测试平台的方法。
首先在工程管理区将"Sources for"设置为Behavioral SimulaTIon,在任意位置单击鼠标右键,并在弹出的菜单中选择"New Source"命令,然后选中"Verilog Test Fixture"类型,输入文件名为"test_test",再点击"Next"进入下一页。这时,工程中所有Verilog Module 的名称都会显示出来,设计人员需要选择要进行测试的模块。
用鼠标选中test,点击"Next"后进入下一页,直接点击"Finish"按键,ISE 会在源代码编辑区自动显示测试模块的代码:
`TImescale 1ns / 1ps
module test_test_v;
// Inputs
reg clk;
reg [7:0] din;
// Outputs
wire [7:0] dout;
// InstanTIate the Unit Under Test (UUT)
test uut (
.clk(clk),
.din(din),
.dout(dout)
);
iniTIal begin
// Initialize Inputs
clk = 0;
din = 0;
// Wait 100 ns for global reset to finish
#100;
// Add stimulus here
end
endmodule
由此可见,ISE 自动生成了测试平台的完整架构,包括所需信号、端口声明以及模块调用的完成。所需的工作就是在initial…end 模块中的"// Add stimulus here"后面添加测试向量生成代码。添加的测试代码如下:
forever begin
#5;
clk = !clk;
if(clk == 1)
din = din + 1;
else
din = din;
end
完成测试平台后。在工程管理区将"Sources for"选项设置为Behavioral Simulation,这时在过程管理区会显示与仿真有关的进程,如图5-7 所示。
图5-7 仿真过程示意图
选中图5-7 中Xilinx ISE Simulator 下的Simulate Behavioral Model 项,点击鼠标右键,选择弹出菜单的Properties项,会弹出如图5-8 所示的属性设置对话框,最后一行的Simulation Run Time 就是仿真时间的设置,可将其修改为任意时长,本例采用默认值。
图5-8 仿真属性设置对话框
仿真参数设置完后,就可以进行仿真了,直接双击ISE Simulator 软件中的Simulate Behavioral Model,则ISE 会自动启动ISE Simulator 软件,并得到如图5-9所示的仿真结果,从中可以看到设计达到了预计目标。
图5-9 test模块的仿真结果