当前位置: 首页 > news >正文

FPGA选型

开发FPGA的第一步,就是选择一片符合设计需求的芯片。

  • 专用资源

选片第一个关注的应该是FPGA器件的专用资源。例如是否需要高速接口,如果需要的话,需要多少个通道,各个通道需要的最高收发速度是多少。同样,如果需要实现运算量较大的算法模块时,则要求FPGA器件需要有大量的DSP模块,并拥有足够多的RAM块来配合这些DSP模块。

  • 规模

在选型时,因为FPGA设计还未开始,很难确定FPGA器件的规模。通常的做法是,针对本次设计中想要用的FPGA器件系列,重新编译之前的某些功能模块,以便获得一个大致正确的规模估计。如果设计中使用了IP,这些IP核也需要编译后,加入到总面积估算中。再将需要加入的新功能进行设计估算。两方面加起来后,在此基础上预估再增加20%-30%,基本上可以满足之后的设计需求。甚至有时,现有的嵌入式逻辑分析仪也需要耗费内部存储模块,调试过程的资源消耗可能也需要考虑在内。若FPGA留有余量:避免时序收敛对设计的影响,减少开发周期,快速进入板上调试阶段;则对设计后期修改或产品版本更新所增加的逻辑单元,就能比较容易的被接纳;设计在FPGA上正常运行后,如果FPGA上有大量未使用的资源,此时可以考虑换区一个比较小的器件以降低成本,这时候要注意的就是引脚在移植代码时的修改问题。

3、速度需求

首先需要分析功能需求,然后在平衡资源与速度后,估计速度需求。同样也可以根据之前的设计来确定,根据FPGA供应商提供datasheet,在最大速度的基础上,留出足够的安全余量,确定选型。当然,也可以直接选择同类型的速度等级最高的器件,尽早的进入设计调试阶段。等功能完善之后,再选用一个较慢的FPGA器件来做降成本的设计。

4、引脚

设计需要I/O接口类型,直接影响到FPGA器件所需要的引脚数目和封装类型。在此必须知道I/O标准和驱动强度,以及外部的接口电气标准。同时需要关注设计中的信号完整性问题,这些都需要与硬件工程师讨论后,进行确定。甚至有时候调试阶段,也需要预留部分引脚作为调试引脚(内嵌逻辑分析仪的资源不够时)。

5、IP的可用性

包括两方面:一是芯片厂家的IP核的丰富性,如果提供足够多的IP核,覆盖我们的设计,当然是最好不过的;二是芯片厂家是否愿意以可接受的价格(更多可能是免费)的方式将这些IP核提供给我们。

因为IP核的使用可以大大减少开发周期,缩短工时,降低开发成本,因此选型时也需要考虑这部分。

6、器件的可用性

一些老旧器件可能会面临停产的风险,如果开发周期超过两年以上,建议选择最新或者次新的器件,因为几年后,目前最新或者次新的FPGA器件在经济上是比较划算的,也不用担心停产,导致供货不足影响产品出货;

7、功耗

根据设计的功能需求,确定FPGA需要使用的电源。例如对IP核、I/O、transceiver等模块,提供各自独立的电源层,FPGA需要的电源个数越多,电路板上的元器件成本就越高。所以需要根据之前的设计、FPGA供应商提供的功耗评估软件等估算将要消耗的功耗,从而确定所需的器件。

http://www.lryc.cn/news/327033.html

相关文章:

  • centos系统的root密码忘记或失效的解决办法(超详细)
  • 【Android 源码】Android源码下载指南
  • MySQL数据库高级语句
  • 软件测试【理论基础】
  • 蓝桥杯每日一题(floyd算法)
  • 文心一言 VS 讯飞星火 VS chatgpt (224)-- 算法导论16.3 6题
  • flutter3_douyin:基于flutter3+dart3短视频直播实例|Flutter3.x仿抖音
  • VR全景赋能智慧农业,打造沉浸式种植体验平台
  • 百度文心一言(ERNIE bot)API接入Android应用
  • springboot基本使用八(mbatisplus+filter实现登录功能)
  • 蚂蚁庄园今天答案
  • 第5章 数据建模和设计
  • 牛客NC108 最大正方形【中等 动态规划 Java,Go,PHP】
  • C#学生信息成绩管理系统
  • 精品凉拌菜系列热卤系列课程
  • Java代码基础算法练习-求一个三位数的各位数字之和-2024.03.27
  • Excel 十字交叉聚光灯查询,再也不用担心看串行与列
  • 集合和字符串的使用
  • Wagtail-基于Python Django的内容管理系统CMS实现公网访问
  • Python入门级题目及答案
  • 【C语言基础】:字符串函数(二)
  • 【Docker】Docker资源(创建容器)CPU/内存/磁盘IO/GPU限制与分配教程
  • 发展规划--IM系统
  • stm32平衡车
  • google浏览器下载文件提示无法安全地下载怎么解决?
  • Navicat 干货 | 通过检查约束确保 PostgreSQL 的数据完整性
  • FPGA时钟资源详解(2)——Clock-Capable Inputs
  • 使用JMeter的JSON提取器:通过递归下降查找,从接口响应中提取特定字段
  • Js全部循环方法解析
  • 高阶SQL语句(二)