http://blog.sina.com.cn/McCrocodile
通常在FPGA中做信号处理为达到比较高的fMax和较少的资源占用,通常使用定点化数字信号处理,虽然FPGA厂商和IP提供商提供了一些浮点IP,但是目前大多数应用还是趋向定点化处理。这里主要介绍在设计滤波器中使用工具中的定点化选项,实现滤波器的定点化,为后面一节的HDL代码生成做铺垫。
这儿还是使用前面的例子,来实施定点化。
FDAtool中定点化
如下图所示为FDATool中的定点化过程中截图,选择左侧设置量化参数(Set Quantization Parameters )按钮,在滤波器结构栏选择定点,滤波器精度有最高精度和指定精度,通常使用指定精度这样比较节约资源,最后部分为对滤波器的参数,输入数出和滤波器内部进行定点化设计。
在设置滤波器内部的参数,如乘法器,累加器的精度和整数的溢出模式。在设置精度是通常开始设置较大的精度和动态范围,满足要求后再优化。整数溢出的模式Wrap模式占用资源最少,但是如果正式部分动态范围不够会带来糟糕情况,而且不利于整体的稳定性;Staturate会占用额外的逻辑资源。
FilterBuilder中定点化
从下图可以看得出与FDATool的定点化设置是一致的。这儿就不再做介绍了。
fdesign中的定点化
(准确的应该成为使用面向对象的方式的滤波器定点化)