.v文件中的parameter参数例化方式
//定义参数的方式
module exam_prj
#(parameter WIDTH=8)
//端口内的参数只能在这使用
(
input [WIDTH-1:0] dataa,//[WIDTH-1:0]
input [WIDTH-1:0] datab,
output reg [WIDTH:0] result
);
parameter Conuter_Top = 4'd9;//用于代码部分的参数
//代码部分省略
//例化参数的方式
//module exam_prj_tb;
exam_prj//---------
#(
.WIDTH(8),
.Conuter_Top(4'd5)
)
exam_prj_inst//------*注意例化时的名字在这个位置*
(
.dataa(dataa),
.datab(datab),
.result(sum)
);
.v文件中的parameter参数重定义方式
//===========Subfolders--counter.v==============
//--------------------------------------
parameter CNT_MAX = 25'd24_999_999;
//---------------------------------------
//===========Header --pll_led.v=================
//--------------------------------------
counter
#(
.CNT_MAX(25'd24_999)
)
counter_inst(
.Clk(c0),
.Rst_n(Rst_n),
.led(LED[0])
);
//---------------------------------------
//==================instant --.tb================
//-----------------------------------------
//instant user module
PLL_LED PLL_LED(
.Clk(Clk),
.Rst_n(Rst_n),
.LED(LED)
);
defparam PLL_LED.counter_inst.CNT_MAX = 249;
//------------------------------------------
//=============tb.v layering-transfer=================//
@(posedge (prj_inst.CNT_MAX == 25'd189))
//trigger signal