问题:仿真时关注的只是电平的变化,时间的长度不是很重要,所以希望在仿真的时候运行时间缩短。对于流水灯这个案例来说,希望板级验证500ms,但是希望仿真的时候缩短这个流水灯变化时间为500us,侧重于观察电平的变化,以缩短仿真运行时间。
临时修改仿真值,缩短仿真时间
方法1 parameter语句
在定义模块中使用parameter语句参数化板级运行时间。
parameter MCNT =25'd24999999; //参数化运行时间。
那就可以在仿真的时候把这个时间设置成25’d24999,在板级运行的时候改成25’d24999999。
方法2 例化参数
我觉得方法1还是太麻烦了,我就想在仿真时运行时间为500us,在板级调试时运行500ms。
(1)在定义模块中使用parameter语句参数化板级运行时间。在定义模块中的时间就是板级运行的真实时间,仿真文件不会参与布局布线。
parameter MCNT =25'd24999999;//板级验证需要的时间500ms。
(2)在tb文件,即仿真文件中,例化参数;设置为仿真时间。
步骤1(常规例化定义模块的步骤):
①复制定义模块的模块名及端口。
②例化名,打点连线。
③定义信号类型。
led_run led_run_ints0(
.reset_n(reset),
.clk(clk),
.led(led)
);
步骤2:在模块名和例化名之间回车,例化参数:#(.MCNT(24999))。
led_run
#(
.MCNT(24999)
)
led_run_ints0(
.reset_n(reset),
.clk(clk),
.led(led)
);
没有学modelsim的方法,见视频5B-8:00开始,第二遍再学吧… …