Verilog JK_FF计数器错误,引用非法

Verilog JK_FF计数器错误,引用非法,verilog,counter,Verilog,Counter,我正在做一个计数器,它的JK\u 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;

我正在做一个计数器,它的JK\u 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
模块JK_FF(Q,J,K,clk,rst);
输出Q;
输入J、K、clk、rst;
reg Q;
始终@(posedge clk或negedge rst)

如果(!rst)Q显示的错误消息告诉您不能使用赋值语句将值赋值给模块
输入

JA
是一个模块
输入
,您不能这样分配给它:

JA<=B&C;

JA显示的错误消息告诉您不能使用赋值语句为模块
输入赋值

JA
是一个模块
输入
,您不能这样分配给它:

JA<=B&C;
JA