雖然沒有寫初值 但是硬件電路肯定有邏輯電平的
如果是用fpga實現的 缺省值為全0 也可以在信號聲明時指定初始值
如果是asic實現 初始值是隨機的(但也是某個電平) 聲明時指定初值會被忽略
rtl仿真時不給定初始值 自然一直是x不定態
追問
你這說用fpga實現是什么意思,我是用quartus燒寫去alter fpga芯片上,不過缺省的不是0。
追答
不是0也是可能的
比如你寫
always @(posedge clk)
if (en)
start <= 1'b1;
這樣為了資源優化 quartus可能就把start初始化為1了
只是說絕大多數是0 這個是由eda工具來決定 沒什么原因
因為你在rtl里面沒有指定 所以都不算錯
考慮不需要初始化的寄存器的初始值沒有什么意義
quartus 有個選項Power-Up Level logic 提供上電初始值的配置功能 但不如聲明的時候指定方便