在FPGA上建立MATLAB和Simulink算法原型的诀窍2
![Rank: 6](images/default/star_level3.gif) ![Rank: 6](images/default/star_level2.gif)
- UID
- 856476
|
在FPGA上建立MATLAB和Simulink算法原型的诀窍2
在设计过程初期分析定点量化的效应
工程师通常使用浮点数据类型来测试新的构想和开发初始算法。然而,FPGA和ASIC硬件实现要求转换为定点数据类型,而这往往会造成量化误差。使用手动工作流程时,通常在HDL编码过程中执行定点量化。在该工作流程中,工程师无法轻易地通过比较定点表示形式和浮点参考值量化定点量化的效应,而分析针对溢出的HDL实现也同样不易。
为了明智确定所需的小数位数,在开始HDL编码过程之前,工程师需要某种方法来比较浮点仿真结果与定点仿真结果。增加小数位数可以减小量化误差;不过,这种方法需要增加字长(区域增多、功耗升高)。
例如,图5展示了DDC滤波器链路中低通滤波器第一阶段浮点与定点仿真结果的差异。这些差异是因定点量化所致。上方图形显示了浮点与定点仿真结果的重叠效果。下方图形显示了图中每一点的量化误差。工程师可能需要根据设计规范来增加小数位数以减小由此引出的量化误差。
![](http://image.ednchina.com/2013/1/acnzj130123007sl.JPG)
除了选择小数位数之外,工程师还需要优化字长,实现低功耗和区域优化的设计。
在DDC案例研究中,工程师使用Simulink定点模块组将部分数字滤波器链路的字长减少了8位之多(图6)。
![](http://image.ednchina.com/2013/1/acnzj130123008sl.JPG) |
|
|
|
|
|