系统设计初期如何对FPGA芯片进行选型
0赞目前市场上FPGA型号种类越来越多,价格也相差很大,一个项目选择的FPGA是不是合适,不仅影响到项目成本,甚至有时候可以决定项目的成败。那么如何在项目初期进行FPGA选择呢?我们需要考虑以下几个因素:
1.FPGA本身特有的性能.
如Cyclone IV就有两个系列:E系列和GX系列。如果当我们项目中需要用到高速收发器或PCIE硬核时,我们只能选择G系列。还有同样是Cyclone IV E(或GX)系列,也分不同的型号,各个型号包含的DSP,RAM的数量是不一样的,我们要根据项目的需求进行相应的选择。
2.LEs数量的选择
这个比较难,因为在项目初期,代码一般都没有写好,这时候我们可以根据以往的经验,如实现一些相近的功能,需要多少资源,从而去估算项目可能需要多少资源。同时考虑到以后系统可能要增加一些功能,可能要用到一些内部的调试方法如:SignalTap II等,因此容量最好在前面的基础上至少再增加25%,这样的话也有利于时序的约束。
在Quartus II 软件中,AssignmentàDevice中有一个Migration compatibility 选择。这个选择的作用是给当前项目所用的芯片选择一个兼容的可移植的芯片,这个芯片的管脚数和类型和项目中用到的芯片一样,但是密度不一样。这样的话,当发现当前芯片LEs不够用,或太多了话,就可以用这个兼容芯片代替。如下图所示:
3.对速度的要求
这个也可以通过以往的工程实践经验得到。也可以参考data sheets进行选择。
4.对I/O口的要求
项目中需要用到多少I/O口,对I/O口的驱动能力要求,要什么样的I/O标准等等,都需要考虑。I/O口的数量和芯片的封装类型会影响到系统成本和板级设计,所以需要仔细考虑。同时介意预留15%的口,这样的话,可以把内部逻辑引到外部预留I/O口上,方便系统调试。
5.对功耗的要求
现在大部分FPGA都是由多电源供电的,这样的话,对功耗的计算会相对的复杂些。这个还是可以靠以往的工程经验进行估算。同时推介用FPGA供应商提供的功耗估算工具进行早期的计算。如altera提供了PowerPlay Early Power Estimation spreadsheet可以进行相关的计算。其对cyclone iv的操作界面如下图所示:
具体操作可以参考相应文档,要是有时间可以写篇相关博文,呵呵。
6.设计当中要用到的IP核
当要用到IP核时,需要充分的考虑可得到的IP核能否在项目中使用到的FPGA芯片上实现,能否达到时序收敛等因素。
7.芯片是否可以买到
越新的芯片,在价格和性能上往往越有优势。因此我们在选择芯片的时候,要根据具体情况进行选择。根据设计到产品的周期,进行芯片的选择,尽量的选择性价比到的,但是确保最后能得到所需要的芯片。