xiaoxiaobaiyu52 发表于 2016-1-10 22:20:35

为什么modelsim仿真,有些变量读不出

遇到了个问题,直接贴程序,就这一段reg_1ms_clk和clk_1ms,一直都是XXX的状态,而其他寄存器都是正常的,但是clk和reset已给
reg reg_1ms_clk;
reg clk_1ms;
always @(posedge clk)
begin
        if(!reset)
                begin
                        reg_1ms_clk <= 1'b0;
                        clk_1ms <= 1'b0;
                end
        else
                begin
                        if(reg_1ms_clk >= 9'b0000_0010_0) //9'b111110100)
                                begin
                                        reg_1ms_clk <= 1'b0;
                                        clk_1ms <= !clk_1ms;
                                end
                        else
                                reg_1ms_clk <= reg_1ms_clk + 1'b1;
                end

end
这个两个变量,其他always要用到,我觉得这个写得这么直接,不会被优化掉吧,为啥会看不到呢。

xiaoxiaobaiyu52 发表于 2016-1-10 22:23:15

这是仿真出来的图,其他功能都正常,唯独这两个reg是xxx

uindex 发表于 2016-1-10 22:36:41

reset需要先拉到地一个周期才能完成初始化。

xiaoxiaobaiyu52 发表于 2016-1-10 22:56:04

uindex 发表于 2016-1-10 22:36
reset需要先拉到地一个周期才能完成初始化。

其实是有的,这是前面放大后的波形

我程序里还写在复位后为0,但也没置0

xiaoxiaobaiyu52 发表于 2016-1-10 22:56:55

难道reset要在CLK之后?我再改改试试

xiaoxiaobaiyu52 发表于 2016-1-10 23:37:29

谢谢楼上的朋友,的确是这个原因,问题解决了,谢谢

zhangyidao 发表于 2016-1-11 00:08:23

仔细看看同步清零和异步清零
页: [1]
查看完整版本: 为什么modelsim仿真,有些变量读不出