我正在用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'".
任何想法或想法?
答案 0 :(得分:2)
错误在于顶级模块的输入声明......它们需要是电线,而不是寄存器
答案 1 :(得分:0)
在顶层模块中,Q需要是regs,D需要是电线。