依据项目经理开出的规格书,开发的第一步,当然是选择一片符合设计需求的FPGA芯片。
第一步:选定器件特色
操作:第一个关注的应该是FPGA器件的专用资源。
1、高速BANK的引脚
若需要高速接口,需要多少个通道,各个通道需要的最高收发速度是多少。
2、18*18的乘法器
若需要实现运算量较大的算法模块时,则要求FPGA器件需要有大量的DSP模块,并拥有足够多的RAM块来配合这些DSP模块。
3、PLL锁相环数量
4、IP核
包括两方面:
一是芯片厂家的IP核的丰富性,如果提供足够多的IP核,覆盖我们的设计,当然是最好不过的;RAM/FIFO/ROM等
二是芯片厂家是否愿意以可接受的价格(更多可能是免费)的方式将这些IP核提供给我们。LVDS/eDP/MIPI/网口
IP核的使用可以大大减少开发周期,缩短工时,降低开发成本,因此选型时也需要考虑这部分。
第二步:规模大小(逻辑量)
推荐: 第一版本,项目所需逻辑量 占 芯片总逻辑量的 60%以内。
后续还需要升级版本,需要预留部分引脚和逻辑量。
操作:
在选型时,因为FPGA设计还未开始,很难确定FPGA器件的规模。
通常的做法:
针对本次设计中想要用的FPGA器件系列,重新编译之前的某些功能模块,以便获得一个大致正确的规模估计。
如果设计中使用了IP,这些IP核也需要编译后,加入到总面积估算中。
再将需要加入的新功能进行设计估算。
两方面加起来后,在此基础上预估再增加20%-30%,基本上可以满足之后的设计需求。
甚至有时,现有的嵌入式逻辑分析仪也需要耗费内部存储模块,调试过程的资源消耗可能也需要考虑在内。
若FPGA留有余量:
避免时序收敛对设计的影响,减少开发周期,快速进入板上调试阶段;
则对设计后期修改或产品版本更新所增加的逻辑单元,就能比较容易的被接纳;
设计在FPGA上正常运行后,如果FPGA上有大量未使用的资源,此时可以考虑换区一个比较小的器件以降低成本,这时候要注意的就是引脚在移植代码时的修改问题。
第三步:速度需求
首先需要分析功能需求,然后在平衡资源与速度后,估计速度需求。同样也可以根据之前的设计来确定,根据FPGA供应商提供的datasheet,在最大速度的基础上,留出足够的安全余量,确定选型。
当然,也可以直接选择同类型的速度等级最高的器件,尽早的进入设计调试阶段。等功能完善之后,再选用一个较慢的FPGA器件来做降成本的设计。
推荐:尽量不用选择某一系列里最低速度等级的芯片,不是晶圆靠近中心的位置,器件的稳定性需要考量。
第四步:引脚
设计需要I/O接口类型,直接影响到FPGA器件所需要的引脚数目和封装类型。在此必须知道I/O标准和驱动强度,以及外部的接口电气标准。
甚至有时候调试阶段,也需要预留部分引脚作为调试引脚(内嵌逻辑分析仪的资源不够时)。
综合:
需要确定 芯片总引脚 和 差分对引脚
芯片引脚=专用引脚(配置引脚+DDR3/4/5专用引脚+高速BANK差分对引脚)+用户引脚(差分对引脚+单端引脚)
第五步:器件的可用性
一些老旧器件可能会面临停产的风险,如果开发周期超过两年以上,建议选择最新或者次新的器件,因为几年后,目前最新或者次新的FPGA器件在经济上是比较划算的,也不用担心停产,导致供货不足影响产品出货;
第六步:功耗
根据设计的功能需求,确定FPGA需要使用的电源。例如对IP核、I/O、transceiver等模块,提供各自独立的电源层,FPGA需要的电源个数越多,电路板上的元器件成本就越高。
所以需要根据之前的设计、FPGA供应商提供的功耗评估软件等估算将要消耗的功耗,从而确定所需的器件。
第七步:器件的工具软件易用性
对于一些国产FPGA器件,其开发软件稳定性较低,可能会额外增加开发成本,提高风险,因此在选型时,需注意;
但也有优点,国产厂商的服务非常好,有问题的话,能很快反馈信息。
第八步:其他
器件在高低温、强辐射等极端环境下的性能表现;
第九步:产品的继承性
一些常用功能模块的可移植性,考虑选型时,可能需要多考虑可以继承上一代产品的可用器件。
原文链接:浅谈FPGA的选型_ALIFPGA的博客-CSDN博客_fpga选型