FPGA和DSP的区别还有很多,这里先说一点,希望能起到抛砖引玉的作用。具体的环境和设计方案各有其用武之地,设计者要根据自己的需要来选用。
Q2:在做设计之前,如何选择FPGA呢?
A2:一般情况下,先针对设计,列出您想要实现的功能,大致画个功能框图,然后根据其功能和系统的要求大致推算出你需要的:
IO需求——可用IO数量、差分信号对、IO的电平格式等;
电压源的需求——系统提供哪些电压?核电压需要多少?IO电压源需要哪些?
封装——用TQ?VQ?PLCC?BGA?还是其它的封装形式?
内部RAM的需求——需要双口RAM吗?需要FIFO吗?大小是多少?
时钟及速度需求——最大的时钟速率是多少?需要多少个PLL?速度等级?全局时钟有多少?
逻辑资源和IPcore的需求——需要哪些IP核,大致占用多少资源?
扩展和升级的需求——是否考虑IO和逻辑资源留有一些余量,以便以后的扩展?升级是否方便?
价格的因素。
基本就这些,当然也可以初步选定一个型号,直接在开发软件中对你的程序进行编译、综合、布局布线等,这样能清楚地可以看到你的设计占用的资源,然后再选择合适的型号。
Q3:FPGA对于初学者来说,应该从哪几个方面入手?
A3:我建议初学者首先要理解FPGA的原理,这是基础,然后设计一些小型的代码,在验证设计的基础上真正的理解设计硬件的思想,那么这样的话你必然要学到如何结合FPGA资源,特点,性能等方面知识的理论才能专心于设计代码上。至于说芯片的设计安全也是必然要理解的,不然一个静电上去就毁掉芯片了,那你的老板肯定要感到Surprised了。设计的精髓就是设计的思路上的问题了,包括代码的设计技巧,系统要求的功能模块的实现方法,多个模块如何配合的代码设计,后期的验证,调试,到板级的设计调试等等,要做好FPGA设计不同于DSP,软件设计等等,精髓的东西即使现在讲给初学者,他一样是茫然的,不知道什么是什么,因为这是需要很强的功力才能理解和体会到的。需要时间需要付出,需要努力吃苦钻研技术,更需要成长的路上有良师的指导和同行朋友的交流,需要长期的积累的。到那时你就是专家了。