Verilog中的参数例化和重定义

来源:互联网 发布:napa软件性能 编辑:程序博客网 时间:2024/06/13 20:13

.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
0 0
原创粉丝点击