Verilog 已达到迭代限制10000

Verilog 已达到迭代限制10000,verilog,Verilog,我正在使用以下代码 `timescale 1ns / 1ps module program_counter ( input clock, input reset, input [31:0] in, output reg [31:0] out ); initial begin out <= 32'b0000000000000000

我正在使用以下代码

    `timescale 1ns / 1ps
module program_counter
    (
    input        clock,
    input       reset,
    input [31:0]     in,
    output reg [31:0] out
    );
        initial 
            begin
                out <= 32'b00000000000000000000000000000001;
            end
    always @(negedge clock)
        begin
            if(reset)
                begin
                    out <= 32'b00000000000000000000000000000001;
                end
            else
                begin
                    out <= in;
                end
        end
endmodule
`时间刻度为1ns/1ps
模块程序计数器
(
输入时钟,
输入复位,
在中输入[31:0],
输出寄存器[31:0]输出
);
首字母
开始

out问题在于初始中的第一行是零延迟。这应该在时间0时驱动。尝试在首字母(#1)上设置延迟

您还希望在一个模块中混合可合成和不可合成代码。这可能不是你想要的


从该模块中去除初始块,并使用具有时间刻度的测试台实例化该模块,该测试台驱动该模块的输入,并具有适当的延迟。

32'B00000000000000000001
32'b1相同32'h****对您来说是较短的。如果您想进行半校准,请将其指定为1,32位适用于int。