Quartus II - Verilog触发器ModelSim错误

时间:2014-01-07 03:53:54

标签: hardware verilog hdl intel-fpga quartus

我正在用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'".

任何想法或想法?

2 个答案:

答案 0 :(得分:2)

错误在于顶级模块的输入声明......它们需要是电线,而不是寄存器

答案 1 :(得分:0)

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