带有非法引用的Verilog JK_FF计数器错误

问题描述 投票:0回答:1

我正在用JK_FF进行计数器计数,0-> 1-> 2-> 3-> 4-> 0

这是我的Verilog代码

module JK_FF (Q, J, K, clk, rst);
output Q;
input J, K, clk, rst;
reg Q;

always @ (posedge clk or negedge rst)
    if(!rst) Q<=1'b0;
    else 
      case ({J,K})
        2'b00: Q<=Q;
        2'b01: Q<=1'b0;
        2'b10: Q<=1'b0;
        2'b11: Q<=~Q;
      endcase
endmodule

module Counter(A,B,C,JA,KA,JB,KB,JC,KC,clk,rst,in);
output A,B,C;
input JA,KA,JB,KB,JC,KC,clk,rst,in;
reg A,B,C;

JK_FF JKA(A,JA,KA,clk,rst);
JK_FF JKB(B,JB,KB,clk,rst);
JK_FF JKC(C,JC,KC,clk,rst);

always @ (posedge clk or negedge rst)
    if(in==1'b1) begin
        if(!rst) begin
            A<=1'b0;
            B<=1'b0;
            C<=1'b0;
        end
        else begin
            JA<=B&C;
            KA<=1'b1;
            JB<=C;
            KB<=C;
            JC<=~A;
            KC<=1'b1;
        end
    end
endmodule

我在]出现错误>

            JA<=B&C;
            KA<=1'b1;
            JB<=C;
            KB<=C;
            JC<=~A;
            KC<=1'b1;

程序说

错误:C:/Users/hoho/Desktop/project/Counter.v(34):(vlog-2110) 对网络“ JA”的非法引用。

我应该如何修复此代码?

我正在用JK_FF进行计数器0-> 1-> 2-> 3-> 4-> 0这是我的Verilog代码模块JK_FF(Q,J,K,clk,rst);输出Q;输入J,K,clk,rst; reg Q;总是@(posege clk或negedge rst)if(!...

verilog counter
1个回答
0
投票

您显示的错误消息告诉您,切勿使用赋值语句为模块input赋值。

© www.soinside.com 2019 - 2024. All rights reserved.