比如,我编写一个函数,输入信号可能是任意位宽,函数的输出等于输入,那么函数的位宽怎么写呢?
我希望取一个数的最高位位数(像VHDL中 a'high一样),该怎么做呢?
verilog 位宽可以是变量吗
答案:2 悬赏:20
解决时间 2021-03-12 07:05
- 提问者网友:傲气稳全场
- 2021-03-12 02:25
最佳答案
- 二级知识专家网友:一身浪痞味
- 2021-03-12 03:00
可以 给个例子
module test#(parameter BITWIDE=16)
(
input [BITWIDE-1:0] data_in,
output [BITWIDE-1:0] data_out
);
调用的时候可以改位宽参数
module test#(parameter BITWIDE=16)
(
input [BITWIDE-1:0] data_in,
output [BITWIDE-1:0] data_out
);
调用的时候可以改位宽参数
全部回答
- 1楼网友:都不是誰的誰
- 2021-03-12 03:06
我没见过在verilog中 小数的乘法,你可以先把0.423放大成整数然后再与8位位宽的变量相乘,最后再丢掉乘的那个数,举个例子:
0.423*100=42.3
可以写成
(这里乘以1024相当于低位补10个0)(0.423*1024)*100/1024=433*100/1024(这里除以1024相当于丢掉低10位)=42
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯