仿真器(比如modelsim)都是采用的“时分复用”的机制来模拟并行操作。
纵轴是各个并行的操作,此时simulation time 保持不变,从纵轴的各个操作来看,它们之间体现的是“时分复用”的思想。注意:“时分复用”在纵轴上,和传统的横轴“时分复用”有所区别。
simulation time 和 实际的 modelsim 仿真软件的执行时间 千万不要混淆,完全两个概念。simulation time 比如在testbench 设置了仿真结束时间 ,如下
`timescale 1 ns/ 1 ps
initial
begin
# 5000 $stop;
end
仿真结束时间是5000ns,即 simulation time 截止于5000ns 并不意味着modelsim软件运行5000ns就能完成这次仿真,通常是一定不能完成。从modelsim 的wave 波形来看仿真截止于 simulation time 5000ns。 实际软件可能运行了 1s 。因为仿真软件模拟并行机制,在纵轴上“顺序进行各个并行操作”,此时simulation time不变,而软件的运行时间一直在推进。
modelsim 软件 可以看到这种操作,“modelsim——view——list” 右键 设计文件
“add to——list” 就能看到每一步仿真的变量值,截图如下
最左侧是simulate time ,相同simulate time 执行的是并行操作 。
文章评论(0条评论)
登录后参与讨论