tag 标签: dspbuilder

相关博文
  • 热度 16
    2013-7-31 01:29
    1014 次阅读|
    0 个评论
    今天学习了用DSP Builder设计一个低通FIR滤波器。按照参考书籍的提示,一步步的完成了这个简单的设计。简单是简单,但足以了解利用DSP Builder开发的大概流程。 首先,要了解什么是FIR滤波器,在此我就不多说,不懂的同学去飜书《信号与系统》。其次,对其进行分析建模,最后得到要实现的其实就是这个表达式y(n)=∑h(m)x(n-m)。然后,用DSP Builder库里的元件搭建模型(些处注意,simulink库的其它元件只能用于协调仿真,不能被综合)。建模完成后,可以添加示波器模块观察波形。在此,只是完成了算法级的设计,要转换成RTL经电路,还要添加编译模块进行编译。编译完成后,可以先调用MODLESIM进行仿真,验证其功能是否正解。在下载到FPGA开发板之前,还有重新进行设置和编译。因为之前编译时,器件是自动选择的,而且没有分配管脚。  附件是做些设计时的一些截图。仿真结果和参考书籍上,略有不同。还有在MATLAB中有一个WARNING,不知是怎么回事。               参考书籍:《基于Altera fpga/cpld的电子系统设计及工程实践》
  • 热度 17
    2011-3-8 17:26
    3006 次阅读|
    1 个评论
    传统的DSP(数字信号处理芯片)大都是基于固定的硬件架构,通过软件编程来实现各种复杂的信号运算与处理。设计者在选型的时候往往难以寻觅一款完全符合系统要求的片子。而基于FPGA这个硬平台的解决方案从很大程度上解决了设计者的苦恼,DSPBuilder就是Altera针对其FPGA器件在DSP 领域的利器。 在拜读了Altera《DSP Builder Handbook.pdf》的第一个小节后,特权同学比较有感于一个系统设计的软硬实现划分。 传统的DSP设计如图1所示,设计者通过Matlab等强大的仿真工具在PC平台上验证好算法后,通常需要手动编写各种最终运行在嵌入式平台(即DSP)上的汇编代码或者C代码。当然可能会利用一些现成的函数库来加速开发,而相对而言,其速度性能或者说数据处理的吞吐量很大程度上受限于它所处的硬件平台。也就是说,DSP芯片的固有架构决定了算法实现的情况。退一步讲,如果对算法复杂度估计不足,在软硬齐头并进的开发中就很可能让已经制板的硬件系统成为不折不扣的“试验品”。 而基于基本逻辑单元和存储器结构的FPGA,就不存在这些问题。设计者可以根据实际需要不断地配置调整内部的各个功能块,甚至常见的一种更神乎其神的方式是可以对原本在传统DSP芯片开发中无法改动的软硬件分工进行颠覆。 图2就是一个很好的软硬分工划分示意。从左到右,第一个流程是完全基于软件的算法实现方式,如果算法不太复杂,系统硬件也能够满足要求,这不失为一个很可行方式。因为基于软件的算法开发已经很成熟了(毕竟大多算法的早期验证都是在软件基础上进行的),有很多可直接调用的库函数可以借用。第二个流程复杂度高一点,算法的实现既有赖于硬件也需要软件帮忙,这个衔接和工作量划分很重要。特权同学有过一些实践,总结一点经验就是尽量把高吞吐量、重复性高的任务分给硬件来做,而软件更适合一些控制管理的工作。这就是软硬兼施,各自发挥他们的所长,目的也只有一个:更好的完成算法的实现。最后一个流程是杀手锏——完全用硬件来实现,这估计只有DSPBuilder量级的工具能够干这个活,甚至不用设计者明白HDL语言即可完成从一些算法仿真工具到HDL语言的转换,这估计就是DSPBuilder的卖点吧。 对DSPBuilder了解不多,消化这个文档也是一个认识DSPBuilder的开始,希望接下来有机会更多的接触FPGA在算法实现方面的应用。
相关资源