modelsim 连调的问题
//counter.vmodule counter(clk,rst,counter_out);
input clk;
input rst;
output counter_out;
reg counter_out;
initial begin counter_out=0; end
always @(posedge clk or negedge rst)
if(!rst)
counter_out <= 0;
else
counter_out <=counter_out+1'b1;
endmodule
我的这个代码,通过quartuse 与modesim 连调的时候,CLK 一直没有变化,后来我force clk 0 0,1 50 -r 100这样,才会有CLK,但是counter_out 一直不计数,后来,我加上了
initial begin counter_out=0; end
counter_out 才开始计数的,
这个是为什么呢??请教各位大虾了!! 第一个问题,我不知道你的clk在你的tb文件中是否写好逻辑,不好说;
第二个问题,为什么counter_out初始化0后它才计数,这个问题很多人有疑问。这里给个说明。
因为仿真是计算机软件执行,如果你没有初始化,计算就无法明白你开始的数据是多少,所以就不会显示计数。但如果是硬件,如果你不初始化,它本身会是一个值。计数肯定会开始。
所以,在进行仿真的时候必须明确这些值!OK 回复 2# @HDL现场
学习了!
页:
[1]