测试模块怎样编写
用modelsim仿真,总是要编写测试模块,想要问个很弱智的问题,哪位仁兄能介绍一下测试模块,以及测试模块怎样编写?不胜感激~~~~ 给你个简单的例子吧
功能模块的输入信号就是我们要在测试模块中编写的输出信号,意思就是测试的激励信号有testbench中的输出给出
如下为二分频功能模块
module div(clk,rst,clk_out
);
input clk;
input rst;
output clk_out;
reg clk_out;
always @(posedge clk or negedge rst)
begin
if(!rst)
clk_out<=0;
else
clk_out<=~clk;
end
endmodule
测试模块如下
`timescale 1ns/1ns //不可缺少此语句
module test;
regclk;//输出给功能模块的激励信号在initial中应用要定义成reg型
reg rst;
wire clk_out;//功能模块的输出信号定义成wire型
initial
begin
clk=0;//clk初始化
rst=1;//产生rst信号,初始为高电平,
#7 rst=0;//过7ns秒后变为低电平
#11 rst=1;//过11ns后变为高电平
#1000 $stop;//过1000ns后停止激励信号变化输出
end
always #10 clk=~clk;//产生周期变化的时钟信号
div div (.clk(clk),.rst(rst),.clk_out(clk_out));// 例化功能模块,实现信号之间的链接,信号一一对应,信号个数不可多也不可少;
endmodule 楼上的例子很好,你首先明白你做测试的目的是什么?
一般做测试程序就是为你的主程序提供输入激励信号,然后你看看夏老师的书,再根据你主程序的需要提供相应的信号就好了。 我也再建议下,编写测试多看看夏老师书后面的十二个例子,由浅入深,里面有很多好的编写方法,会让你受益良多 回复 4# 至芯兴洪
感谢感谢!谢谢指导~~~:handshake 回复 3# luckymiaojw
恩!好的!谢谢~~~:handshake
页:
[1]