微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 有关乘法器的综合

有关乘法器的综合

时间:10-02 整理:3721RD 点击:
对于有符号的小数,综合工具是怎么综合的结果?
譬如:
wire signed [15:0] a ; // 1|2|13
wire signed [15:0] b ;// 1|1|13
wire signed [?:0] c;
assign c = a * b;
为保证精度请问,c最小应当取几位?c的哪几位是整数位,哪几位是小数位?
麻烦了。

16+16-1=31位。
个人认为,你这样写,综合工具是不清楚你是想综合为浮点乘法的。需要自己来指定。
至于小于1的小数或者任意整数之间的乘法,你列出的代码都可以用的,只是一个从低位开始截取,一个从高位开始截。

定点乘法 输出宽度等于输入的两个操作数宽度的和减1。
如果把小数点当成“分段标志”,整数部分,和小数部分,都符合上面的条件。
*但是*,整数部分最后要留出一个进位位,所以宽度再+1;小数部分的那个进位加到整数部分,所以宽度不变
所以最后结果的宽度是两个操作数宽度的和。这就是教科书上教的。
如果是浮点,就完全是另外一回事了。

研究下如何定点!

thanksgiving!

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

网站地图

Top