阵列分配未在 Verilog 中更新



我有以下代码:

reg [7:0]data[0:7];
always @(posedge clk) begin
    data[var1]<=var2;
    $write("%d:%d:%d", var1, var2, data[var1]);
end

3:100: 打印 x,因此数据分配无法正常工作。这是为什么呢?

因为您正在使用非阻塞赋值来data ,所以您看到的是当前值data而不是要更新的值。使用$strobe而不是$display,或者更好的是,将$write放在不同的总是挡住负边缘上的打印。

最新更新