在模块 A 中,我试图将模块 B 的输出用作另一个模块 C 的输入。本质上,这是一个“启动”开关,在满足某些条件后在模块 B 中翻转,然后这应该是成为模块C激活的触发器。是否可以像这样链接输出和输入?
我一直在阅读,发现这张图片特别有用 - 但是,我不太了解网的概念,或者它们是否会有所帮助。将模块 B 的输出连接到用作模块 C 输入的 reg 是否可行?谢谢。
编辑:
我正在寻找这样的东西(涉及3个不同的模块),我在模块A中实例化模块B和模块C。我想将B的输出连接到C的输入。
您的三个模块示例(image),使用线 outB_to_inC 将输出连接到输入:
//A.v
module A(inA, outA);
input wire inA;
output wire outA;
wire outB_to_inC;
B B_inst(.inB(inA), .outB(outB_to_inC));
C C_inst(.inC(outB_to_inC), .outC(outA));
endmodule
/////
//B.v
module B (inB, outB);
input wire inB;
output wire outB;
//... more code here
endmodule
/////
//C.v
module C (inC, outC);
input wire inC;
output wire outC;
//... more code here
endmodule
你可以建立这些联系例如:
module my_moduleA (inA, outA)
input inA;
output reg outA; //If you want to assign something to out inside an always block, it has to be output reg, otherwise you will have to use assign out from an always block.
//Put your logic here
endmodule
module my_moduleB (inB, outB)
input inB;
output reg outB; //If you want to assign something to out inside an always block, it has to be output reg, otherwise you will have to use assign out from an always block.
//Put your logic here
//Instantiation of module A
my_moduleA instance( //Here is the connection made between module A and B
.inA (inB),
.outA (outB));
endmodule
这就是连接的方式,如果你想在内部信号上建立这些连接,那么你可以使用线型