billowtust 发表于 2010-4-23 18:01:03

不知道哪里出问题了,简单的计数器代码,ISE仿真却不出结果,高手帮帮忙

module main(clk24m, irctrl);
    input clk24m;
    output irctrl;
       
       reg irctrl;
       
       always @(posedge clk24m)
       begin
                irctrl <= irctrl + 1;
       end

endmodule

代码就是这样子的
ISE仿真的时候irctrl信号总是4'hx

对verilog不是很熟,望高手指教

billowtust 发表于 2010-4-23 18:12:29

或者明白人告诉我一下,这段代码有问题没?

antonine 发表于 2010-4-23 18:35:51

没用过ISE
用Modelsim仿真的时候
需要有reset并且在reset时对模块中用到的各种变量赋初值
否则,不能对这些变量进行操作

liuxuemin2010 发表于 2010-4-23 19:37:46

没有TestBench怎么仿真,
还有个就是irctrl没有初始化(在reset时对信号初始化)
always@(posedge clk24m or posedge reset)
begin
if(reset)
    irctrl<=4'b0000;
else
    --------   

end

xlwxdl1 发表于 2010-4-23 19:39:42

LS的是个好习惯。

tear086 发表于 2010-4-23 19:58:13

回复【3楼】liuxuemin2010老鼠
没有TestBench怎么仿真,
还有个就是irctrl没有初始化(在reset时对信号初始化)
always@(posedge clk24m or posedge reset)
begin
if(reset)
    irctrl&lt;=4'b0000;
else
    --------   
end
-----------------------------------------------------------------------

说的对。

billowtust 发表于 2010-4-23 20:47:54

谢谢楼上各位,我再试试

我以为irctrl没初值的话会在溢出后自动回零来着

billowtust 发表于 2010-4-23 23:24:54

我试过复位信号了,非常好使,谢谢各位了。
页: [1]
查看完整版本: 不知道哪里出问题了,简单的计数器代码,ISE仿真却不出结果,高手帮帮忙