2

我为 T 触发器编写了这段代码。输出在每 11 个时钟切换一次。该程序给了我这个错误:

非法引用网络“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
4

1 回答 1

4

input您不应为模块信号赋值。尝试:

output reg [3:0] clkDivider;

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

q <= 0;
于 2013-03-03T14:21:57.453 回答