非法引用网络错误

时间:2013-03-03 13:43:42

标签: verilog flip-flop

我为T Flipflop编写了这个程序。输出每隔11个clk切换一次。该程序给出了" Illegal reference to net "clkDivider"错误。

我的问题是,这个错误是什么意思?造成这种情况的原因是什么?

以下是代码:

module TFF(clkDivider,clk,reset,q);

input clk,reset;
input [3:0]clkDivider;
output reg q;

always @(posedge clk or negedge reset)
begin
   if(~reset==0)
   begin
      q=0;
      clkDivider<=0;
   end
   else
      if(clkDivider==11)
      begin
         q=1;
         clkDivider<=0;
      end
      else
         clkDivider<=clkDivider+1;
end

endmodule

2 个答案:

答案 0 :(得分:4)

您不应将值分配给模块input信号。尝试:

output reg [3:0] clkDivider;

此外,您可能应该对q使用非阻止分配,例如:

q <= 0;

答案 1 :(得分:0)

你写这个:

reg [3:0] temp;
assign temp = clkDivider;

然后使用temp,并在需要更改的地方