Verilog-错误:";未解析引用“;模拟时

Verilog-错误:";未解析引用“;模拟时,verilog,modelsim,Verilog,Modelsim,使用ModelSim。我试图模拟一个上下两位计数器。它可以很好地编译,但当我尝试运行模拟时,出现以下错误: **错误:(vsim-3043)D:/ModelSim/examples/Lab7.v(46):未解析对“状态”的引用 模块是: module TwoBitCounter(input Dir, clock, reset); reg[1:0] state; parameter S0 = 2'b00, S1=2'b01, S2=2'b10, S3 = 2'b11; always @(po

使用ModelSim。我试图模拟一个上下两位计数器。它可以很好地编译,但当我尝试运行模拟时,出现以下错误:

**错误:(vsim-3043)D:/ModelSim/examples/Lab7.v(46):未解析对“状态”的引用

模块是:

module TwoBitCounter(input Dir, clock, reset);

reg[1:0] state;

parameter S0 = 2'b00, S1=2'b01, S2=2'b10, S3 = 2'b11;

always @(posedge clock or negedge reset)
    if (reset == 0) state<=S0;

    else case(state)
        S0: if(Dir) state = S1; else state = S3;
        S1: if(Dir) state = S2; else state = S0;
        S2: if(Dir) state = S3; else state = S1;
        S3: if(Dir) state = S0; else state = S2;
    endcase

endmodule

由于
state
是TwoBitCounter模块的一个内部变量,因此当您试图在$monitor语句的testbench模块中直接访问它时,会出现一个错误。您可以使用层次说明符访问它:

initial $monitor(DA0.state);
或者,您可以将
状态
声明为TwoBitCounter模块的
输出
端口,并在测试台中连接到该端口

initial $monitor(DA0.state);