diff --git a/02-Finite-Impulse-Response-Filters.md b/02-Finite-Impulse-Response-Filters.md index 81ec0a1a..5a6c9f36 100755 --- a/02-Finite-Impulse-Response-Filters.md +++ b/02-Finite-Impulse-Response-Filters.md @@ -404,7 +404,7 @@ width是1到1024之间的整数。例如,ap_int<8>是一个8位有符号数( 为实现这一点,我们必须了解在执行算术运算时,位宽如何增加。考虑运算a = b + c,其中b为ap\_uint<10> 、c为ap\_uint<10> ,那么变量a的数据类型是什么?在这里我们可以做一个最坏情况的分析,假设a和b都是最大值 $$2^(10) = 1024$$。二者相加结果为a = 2024,可以表示为11位无符号数,即,ap\_uint< 11 >。一般来说,在做加法时,运算结果要比两个加数中最大数值的位宽还要多一位。也就是说,当ap\_uint b和ap_uint c相加时,a的数据类型为ap\_uint,其中 z = max(x, y) + 1。这个结论同样适用于有符号数加法。 - 通过以上方法解决了acc数据类型设计的部分问题,但是我们还必须处理乘法运算。使用相同的术语,我们希望通过x和y的数据位宽来确定数值z的数据位宽(即,ad_int a , ap_int b,ap_int c)。对于运算a = b∗c,我们不再详细介绍,位宽的运算公式为z = x + y。 + 通过以上方法解决了acc数据类型设计的部分问题,但是我们还必须处理乘法运算。使用相同的术语,我们希望通过x和y的数据位宽来确定数值z的数据位宽(即,ap_int a , ap_int b,ap_int c)。对于运算a = b∗c,我们不再详细介绍,位宽的运算公式为z = x + y。 {% hint style='info' %}