模块电路
module test
#( parameter P1 = 1 ,
parameter P2 = 2 )//参数例化
(
input clk,
input a,
output b
);
//内部电路
endmudule
例化时修改参数定义的方式
写法1:
test #(.P1(3),.P2(4))
u_test(
.clk(clk),
.a(a),
.b(b)
);
写法2:
test #(3,4)
u_test(
.clk(clk),
.a(a),
.b(b)
);
写法3:
defparam u_test.P1 = 3;
defparam u_test.P2 = 4;
test u_test(
.clk(clk),
.a(a),
.b(b)
);
注意:在进行参数定义的时候,不要写成下面的形式,要写就全部在模块的开头位置进行定义,或者就按照下面全部写在模块内部,否则在编译的时候会出错。
module test
(
input clk,
input a,
output b
);
parameter P1 = 1 ;
parameter P2 = 2 ;//参数例化
//内部电路
endmudule