Module Declaration
module top_module ( input a, input b, output out );
endmodule
现在已有一个声明了的mod_a模块,目的是将
a——in1;b——in2;out——out
①按照声明mod_a时的顺序填写;(较为简洁)
意思就是若mod_a是如下顺序声明
module mod_a ( input in1, input in2, output out );
则在调用mod_a时候就应该按照顺序填写(By position)【一个萝卜一个坑】
mod_a instance1 (a,b,out);
若mod_a声明时顺序为【先声明了output】
module mod_a (output out ,input in1, input in2 );
则调用时要注意对应顺序,不要写错了。
mod_a instance1 (out,a,b);
较为简洁,但容易对应错误。
②按照名称对应,代码会更冗长,但不容易出错。(无论声明顺序)
mod_a inst1 (
.in1(a), // "in1"连接 "a"
.in2(b), // "in2" 连接 "b"
.out(out) // "out" 连接 "out"
);
代码比较冗长,书写格式也像C语言。