微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > 问一个verilog参数化的问题

问一个verilog参数化的问题

时间:12-12 整理:3721RD 点击:
现在有一个多bit位宽的信号a,现在知道a的最大值是A_MAX,并用参数化表示(因为顶层例化时要求对A的最大值有不同的值),现在想要参数化表示a的位宽,该如何实现,就比如如下一段程序,BIT_WIDTH怎么表达呢,正常就是取对数,再取整就行,但verilog中好像是没有对数运算的吧,大牛帮我想想有什么办法,多谢先。
parameter  A_MAX = 100;
parameter   BIT_WIDTH = ?
reg [BIT_WIDTH-1:0] a;

localparam DPW = func_log2(DP);
function integer func_log2;
input integer value;
integer log2_i;
begin
    func_log2 = 0;
    for (log2_i = 0; 2 ** log2_i < value; log2_i = log2_i+1) func_log2 = log2_i + 1;
end
endfunction

A_MAX限定是10进制?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top