fpga原型验证在数字soc系统项目当中已经非常普遍且非常重要,但对于一个soc的项目而言,选择合适的fpga原型验证系统显的格外重要,尤其对于首次使用基于fpga的原型设计验证的工程师而言,从fpga原型验证技术目标的细节理解到掌握如何使用它来构建芯片的原型,是一个质的飞跃,做到这一点,并非易事。下面我们来看一下如何step by step建立适合团队的fpga原型验证系统平台与技术。
fpga的规模到底有多大?
芯片设计领域通常讲到规模,我们第一反应一定是逻辑规模,当然对于芯片设计验证工程师而言,逻辑门数是规模的第一反应,但实际上fpga是构建soc原型系统的最佳选择,它不仅包含大量的组合逻辑和时序逻辑资源,还包含其他资源,比如各种类型的ram存储资源和dsp算术资源,以及时钟资源、特殊的io资源和高速互连接口与器件,这些都进一步扩大了fpga技术用于芯片原型设计与验证的范围。
逻辑资源:fpga在高度可配置的单元中实现逻辑,将查找表与可选输出ff、进位逻辑和其他特殊元素相结合,以有效映射逻辑。
存储资源:小容量内存可以用查找表配置,大容量的专用内存块会分布在整个设备中,可以用作单端口或双端口r/w同步内存块。这些存储器块可以连接在一起并形成更深或更宽的存储器块,并且可以使用附加的内置逻辑来实现专用存储器,例如单时钟或双时钟fifo。这些通常是从供应商提供的专用内存ip库中配置的。
dsp资源:fpga在整个设备中分布专用dsp资源(包括mac等)也是常见的,(乘法/累加)块、移位、幅度比较器和模式检测等。此外,dsp块具有级联功能,允许它们连接在一起形成更广泛的数学函数,如dsp滤波器,而不使用逻辑fpga资源。
io接口资源:fpga的io可以多种方式配置,以符合各种标准、驱动强度、差分对等。
互连资源:fpga中最重要的资源可能是各种块之间互连的手段。除了一些特殊缓冲区之外,这些资源通常不能由用户明确控制,而是由布局布线工具和一些高级综合工具隐含地使用,以便在fpga上实现设计的连接(chip2chip)。
时钟资源:专用于实现设计的时钟。这些专用的可编程时钟发生器,包括pll、全局和区域时钟缓冲器以及低偏斜分布网络。
特殊用途的模块:一些设备具有实现特定功能的硬核模块,如以太网mac、pci express接口、选定的cpu核心或高速串行收发器(例如serdes)。这些特殊模块有助于实现行业标准的外围接口。
建议:鉴于专用资源的专用性,soc逻辑可能不会透明地映射到这些资源中。为了使用专用资源,一些soc设计块可能需要与fpga等效功能的模块替换。当进行此类设计更改时,应理解新块的功能行为可能与原始块不同。
关于fpga资源的估算
fpga资源丰富,我们通常希望很快地将这些资源应用到soc相关的功能设计中,但实际上能否快速的将soc代码快速移植到fpga,一方面取决于工程师的经验,另一方面真的取决于soc的架构设计和代码质量,一般而言组合逻辑路径较短的设计更容易porting到fpga原型验证,也就是说善于运用寄存器的设计更容易porting,另外合理的流水线设计也将更容易porting。通常需要很多步骤的从soc代码移植到fpga代码,才能顺利的porting完成。
在资源换算上,通常我们常说asic门数目,而实际上asic的门数和fpga的门数换算并没有一个严格的计算公式,大多数都是不严谨的估算,作为一名 严苛的工程师,很容易进入到公式计算的思维定式,但实际上,很难有严苛的公式,大多是只是经验之谈,比如一个lut大概换算多少逻辑门,一个ff大概换算多少门,而在asic芯片设计中,所谓的门更是通过综合工具综合结果而来。另外,在fpga综合工具中,即使代码量差不多,综合出来的结果也会千差万别,说白了,还是取决于代码质量。建议首先根据特殊资源确定设计是否适合fpga原型设计与验证,一旦设计代码可综合,就通过综合工具运行相关设计代码,以获得准确的fpga资源使用估计。如果设计是可综合的,建议使用快速综合评估,以表明预期的资源利用率。
一旦给定设计的fpga资源利用水平可用,我们就需要为设计的成熟度建立利用水平目标。一般来说,fpga利用率越高,处理设计(合成、放置和布线等)所需的时间就越长,而且由于布线延迟更大,系统时钟运行速度也会越慢。此外,在原型项目期间,设计可能会发生变化,未来可能会添加一些诊断逻辑,因此系统中fpga的数量应保守考虑。
基于fpga的原型设计的一个关键目标是降低soc项目的整体风险,因此,将最后一点点的逻辑都要压缩到fpga中可能不是风险最低的方法。除了不留任何扩展空间外,当设备太满时,fpga布局布线结果也会降低,运行时间也会大大增加。指导方针可能是保持低于75%的利用率,这对于生产fpga设计和原型项目来说是典型的,60%甚至50%都是合理的。这将缩短设计迭代时间,更容易达到目标性能。
代码设计:好的设计代码风格比其他设计更有效地映射到fpga资源中,因为它们与fpga架构和资源的匹配程度。如上所述,由于fpga技术含大量触发器,具有较高ff与组合逻辑比的设计可能比具有较低比率的设计实现更高的有效门,简单来讲就是组合逻辑路径不要太长。
时钟资源:虽然有多个时钟域,但fpga的pll资源、时钟多路复用器资源和片上的布线资源都是有限的。对于多时钟设计,需要更仔细地查看所选fpga中的可用时钟资源和时钟域限制。
布线资源:fpga的可用逻辑可能受到布线资源可用性的限制,布线资源的可用性可能因设计而异。“高密度连接”设计可能会耗尽某些区域的fpga布线资源,并限制对该区域fpga资源的访问,从而可能导致这些资源无法使用。此外,与“轻度拥塞”设计相比,此类设计可能以较低的时钟速率运行。
io资源:在现代soc设计中,多fpga分区设计中的fpga在耗尽逻辑或内存之前耗尽引脚是非常常见的。平衡fpga之间资源的分区可能仍然需要使用多路复用来路由fpga之间的所有信号。
降压斩波电路原理图及工作原理
所有行业的数据采集:增加单极性输入的增益
5g网络什么时候普及 4G何时退网
电磁水表的工作原理
中国半导体行业协会理事会议召开 30位代表出席了本次会议
如何建立适合团队的FPGA原型验证系统平台与技术?
红米note4x 真机初音未来这色彩还真有点驾驭不了
高压直流电源其基本原理 高压直流电源主要功能
AMS突破性技术可与轮胎监测远程信息系统相连
河北省组织电信企业加大建设力度,推动5G网络向纵深覆盖
国外服务器的4大通用网络安全保护方案
小米新机通过3C认证,标配小米9同款充电器
关于高压环网柜触头机械设备特点的调节
Livox发布HAP激光雷达 速腾聚创与酷哇机器人达成战略合作
LM324运放电路图和引脚图 四路运算放大器的应用电路和工作原理详解
量身订制的DSP元件设计策略
支付宝又上一台阶 马云宣告“无现金时代”到来 各大大型企业陆续推出支付工具开始竞争
制作一个对讲机的教程
双平衡混频器的功能分析
小米6什么时候上市?小米6售价,小米6发布2499元起,没有6P,4月28日多平台首卖!