×
嵌入式 > 技术百科 > 详情

Verilog乘法运算结果为0问题的解决

发布时间:2020-06-04 发布时间:
|
原Verilog程序如下:
wire [22:0] Total_Max;
reg  [23:0] Mixed_Max;
wire [23:0] overflow_elim;
 
 
 
assign overflow_elim = mixed_audio[23:0] * Total_Max/Mixed_Max;
 
仿真之后得出的结果overflow_elim 总是0。
 
 
 
于是将overflow_elim 的位宽从24bit增加到48bit,即:
 
wire [47:0] overflow_elim;
 
然后就能出线正确的结果。
 
这其中的思想应该和软件是一致的,需要足够的存储空间来存储mixed_audio[23:0] * Total_Max的计算结果。
 
Total_Max是23bit的数,因此和mixed_audio相乘之后的最大值为48bit。然后在进行除法操作
 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
iPhone将是质的飞跃:苹果A14处理器+高通X55基带