首页 > 解决方案 > 是否可以在 Verilog 中提取参数的值

问题描述

我试图概括一个具有参数“int max=15”的模块。有没有办法将模块的输出设置为参数的值。例如,如果参数 max 设置为值 8,则 zout 将设置为值 4'b1000。

    module example
    #(parameter int max=15,
    parameter int bw=$clog2(m))
    (input logic ............,
    .........................,
    output logic [b-1:0] zout);
    assign zout = [value of max];

标签: verilogsystem-verilog

解决方案


您可以直接分配它:

module example #(
    parameter int max=15,
    parameter int b=$clog2(max+1)
) (
    output logic [b-1:0] zout
);

    assign zout = max[b-1:0];

endmodule

推荐阅读