在FPGA中使用采用ASIC风格的设计方法的好处有哪些

可编程逻辑

1358人已加入

描述

  工艺技术的发展使得可编程门阵列(FPGA)在商业应用中得到了极大的提高。从千万门的密度到400MHz的时钟频率以及300ns芯片尺寸,这些技术上的突破使得它们能够很经济地实现批量生产。

  FPGA的门数量以引人注目的速度增长,而价格却不断下降。然而专用集成电路(ASIC)在每门上的设计和制造费用却不断攀升。除非速度或功耗特别关键,或者生产量非常高,我们很难证明使用ASIC的代价是合适的。

  由于高端FPGA中门数量的增加,曾经只在ASIC设计中才会出现的设计问题现在开始在FPGA设计中浮出水面。FPGA变的非常大也非常复杂,FPGA设计者正在遇到同一类型的收敛问题,它阻碍甚至阻止设计的完成。

  例如,互连延时是一个严重的问题。正像高门数深亚微米ASIC设计最初出现时所证明的那样,在尺寸缩减到0.18μm以下的时候,互连延时可以占到整个电路延时70-90%。由于软件运行时间以及基于性能的交互数量的增加,这还会影响到设计周期。

  其它类型的问题包括慢的或不可预测的布线结果、布线拥塞、紧缩封装的设计、时钟复杂性、关键路径生成层次、以及在维护设计性能上的能力匮乏。

  传统的电子设计自动化(EDA)软件都是在深亚微米技术、更高的门数量和互连延时之前开发,现在它们已经很难与日益增长的复杂性并驾齐驱。它强迫设计者单独地解决每一个问题,接着再重新实现整个展平的设计。结果是冗长的,几个设计交互就会导致费用超出预算、进度的拖延、并可能失去市场机会。

  在传统的EDA设计流中,设计者使用初略的互连估计来综合寄存器传输级(RTL)代码,然后设计实现工具对综合过的网表进行映射、布局布线。如果设计不能够满足性能约束,设计者需要修改RTL代码和/或约束,接着再重复整个设计流。

  结果,FPGA设计者面对着冗长、单调的布局布线运行。每一次运行都使用随机的种子,这会产生不可预料的结果,因此为了达到收敛需要运行许多次。不幸的是,即使一个例行的、微小的逻辑改变都会打破这个过程,迫使设计者再重新进行冗长单调的布局布线以便重新获得设计收敛。

  ASIC设计通过使用层次化的版图规划来进行改进,这个位于综合与布局布线之间的设计步骤减小了设计交互的数目和长度。迫切想要减少设计周期和达到性能目标的FPGA设计者正在采用这些ASIC风格的设计技术,以便能够最大程度地解决这些复杂问题。

  ASIC风格的设计方法为设计者提供了设计的早期分析和规划能力,以便最大化性能并避免冗长、重复的设计交互。它还提供了强大的增量式、模块化设计能力来适应例行的设计更改以及简化跨越多个设计的知识产权(IP)复用。

  ASIC风格的设计方法提供了在设计早期完成最终设计表示法的能力,它避免了潜在的实现问题。这为设计者提供了直观的反馈,这样,设计者能够在问题出现之前看到并校正诸如布线拥赛一类的问题。设计者可以重新安排设计块或物理层次以便减轻拥塞,并减小长的互连,从而获得更高的性能。这样的方法也可以减少整体的布局布线时间,并缩短例行设计更改或工程改动要求(ECO)。

  为了实现ASIC风格的设计方法,设计者首先产生主要设计块的物理层次。产生层次块而不是展平设计的好处是加快ECO时间。当必须进行设计更改时,交互时间较短,芯片的整体时序可以保持相对稳定。设计者仅仅需要对更改的块进行快速的布局布线。

  某些块比其他块的时序更为关键。设计者可以在布局布线之前通过对设计运行静态时序分析来确定这些关键块。时序报告显示哪一个设计块可能不能满足时序要求。

  报告还可以区分时序问题是由于长的逻辑链还是由于长的互连延时。设计者可以修改版图规划来解决与互连延时相关的问题,或者重新综合来解决逻辑相关的时序问题。版图规划上显示的连接性分析还可以显示逻辑块间的互连密度,可以识别潜在的布线拥塞面积。

  使用ASIC风格的方法,设计者能够独立于逻辑层次来处理物理层次。通常,这对于最大化性能、利用率或其它设计目标是必要的。为了减轻时序问题,设计者可以通过重新安排或分割逻辑块以修改版图规划。

  在布局布线之后,设计者可以调整设计来解决任何遗留的时序问题。使用原理图视图作为指南,设计者可以选择关键路径逻辑并把它们放到一个小块当中,并通过减小互连距离来消除时序问题。作为选择,设计者可以在版图规划中简单地移动关键路径逻辑来缩短互连距离。

  ASIC风格的设计方法还能够鼓励团队化设计方法。一个典型的FPGA设计是通过单用户流实现,而ASIC风格的设计方法则基于块的工作流实现,这是一种多用户方法,使用一个“分割”策略来减少布局布线时间。或者,一个设计者可以改变一个块而保留设计的其它部分。

  项目团队能够更容易地固定芯片的个体面积,就像片上系统(SoC)设计团队所作的那样。这种设计方法使得设计者能够在设计的早期更好地处理物理块属性,例如利用率、互连性、以及功耗。

  使用IP块使得FPGA项目团队能够在下一代产品中快速地继续成功的设计,因为他们不再需要每次都重新进行设计。

  FPGA的复杂性已经足够服务于广泛的应用。不幸的是,这种复杂性也带来了一些以前在ASIC设计中大家熟悉的问题。通过采用ASIC风格的设计方法能够减轻这些问题,使得设计者能够更快速地实现和维护设计收敛。

  责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分