reg clk = 0; always #5 clk = ~clk ; reg a; initial begin a = 1'b0; end always @(negedge clk) begin a <= A; end
********这样写a的初值会是x态,在第一个时钟下降沿后才会有值。请问各位大佬为啥会这样?
是很奇怪的,你写的代码, a 的初值不应该是 x 应该是 0
出现 x 具体什么原因就不知道了
有个建议,在仿真时用 initial 没问题,这个 initial 是不能被综合的,就是说编译好烧到片子里 initial 没执行,a 是没有初值的。