1、数字芯片设计工程师使用DW库中的除法器。
(1)期望s(4,0)/u(14,8)=s(18,14),使用DW库中的除法器实现此功能,完成数据的实时运算。
步骤1:分子分母统一符号位和小数位。s(4,0)/u(14,8)可化简为s(12,8)/s(15,8),即s(12,0)/s(15,0)。
因DW库中除法器写法规定,商的位宽与被除数的位宽相等,所以可认为商的数据类型为s(12,0)。
步骤2:根据期望结果值s(18,14)可知,除法器商的结果保留14位的小数,所以被除数的数据类型可以定为s(26,14),因此除法可化简为s(26,14)/s(15,0)=s(26,14),即s(26,0)/s(15,0)=s(26,0)
总结:设计人员使用该IP时,分析到此处就可以正确使用除法器的IP,且此分析精度是符合要求的。
(2)数字芯片验证工程师对该IP验证时遇到的问题。
先说结论:除法器IP的输出结果会截位到26bit,该IP默认正数截位是floor,负数截位是ceiling。因此,如果此截位方式满足精度需求,验证人员要知晓此截位方式,方便正确比对。
下面举例说明,更加直观、易理解。
| RM 浮点数计算结果 | -4691.6152xxx | 4691.6152xxx |
| RM floor截位后结果 s(26,0) | -4692 | 4691 |
| IP(RTL)输出结果 s(26,0) | -4691 | 4691 |
根据上表可知,如果是结果为正数,RM用floor截位后的结果=IP输出结果,如果结果为负数,RM用floor截位后的结果≠IP输出结果,≠的原因是结果为负数时,RM用floor,IP用ceiling。