1

我正在用verilog编写一个简单的触发器模块,我正在尝试编写一个顶级模块来实例化我的触发器模块并在ModelSim中对其进行仿真。

下面是我的代码,

module flipflop(clck,D,Q);
  input  clck,D;
  output Q;

  wire R,S,S_g,R_g,Qa,Qb;

  assign R = ~D;
  assign S = D;

  nand(S_g,S,clck);
  nand(R_g,R,clck);
  nand(Qa,S_g,Qb);
  nand(Qb,R_g,Qa);

  assign Q = Qa;
endmodule

module TopLevel();
  reg  clck;
  reg  Q;
  wire D;

  flipflop p1(clck,D,Q);

  always begin
    #5 clck <=1;
    #5 clck <=0;
  end
endmodule

当我编译这段代码时它运行良好,但是当我尝试模拟它时,我收到以下错误:

# ** Error: (vsim-3053) C:/altera/13.1/FlipFlopsProjects/flipflop.v(30): Illegal output or inout port connection for "port 'Q'".

有什么想法或想法吗?

4

2 回答 2

3

错误出现在顶级模块的输入声明中......它们需要是电线,而不是 regs

于 2014-01-07T04:21:24.060 回答
1

在顶部模块中,Q 需要是 regs,D 需要是电线。

于 2014-01-07T16:19:28.600 回答