verilog reg 初值问题

虽然没有写初值 但是硬件电路肯定有逻辑电平
如果是用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 提供上电初始值的配置功能 但不如声明的时候指定方便

猜你喜欢

转载自www.cnblogs.com/321waiting/p/9103295.html