赛灵思中国通讯51-使 FPGA 达到 ASIC 级特性的正确途径是什么?
发布者:jackzhang
时间:2014-03-23 16:03:08
作者:Steve Leibson 赛灵思公司 Xcell每日博客编辑
不久前发生在 ASIC 上的问题现又在 FPGA 上重演。到底是什么问题?那就是布线延迟对于设计性能的主导作用。多年以来,登纳德缩放比例定律(Dennard scaling)增加了晶体管速度,同时摩尔定律的扩展增加了每平方毫米的晶体管密度。糟糕的是对于互联来说其效果正好相反。电线因摩尔定律扩展而变得更细更扁,但速度却变得更慢。最终,晶体管延迟降低到无足轻重的程度,而布线延迟却成为主导。随着 FPGA 密度的增加以及赛灵思 UltraScale ™ All Programmable 器件进军 ASIC 级设计领域,相同的问题又出现了。UltraScale 器件经过重新设计后能够克服这种问题,但解决方案却并不方便简单。以下来介绍一下解决方案的各个步骤。
步骤1:压缩模块,以使信号无需传送太远。
听起来很明确是不是?必要性是新发明的原动力,是时候在 UltraScale 密度方面采取行动了。UltraScale 架构中的CLB 已经过重新设计,这样 Vivado®设计套件就能更高效地将逻辑排列到 CLB 中。逻辑模块设计使排列变得更加紧密,因此 CLB 间的布线资源需求量就会变得更少。布线路径也变得更短。UltraScale 架构中 CLB 的变化包括 :为 CLB 中的每个触发器增加专用输入与输出(这样触发器就能单独使用从而实现更高利用率);添加更多触发器时钟使能 ;为 CLB 的移位寄存器和分布式 RAM 组件添加独立时钟。从概念上讲,改进后的 CLB 使用和排列情况如图 1 中的框图所示。
该实例显示,之前采用 16 个 CLB 的电路模块现在用9 个改进后的 UltraScale CLB 即可实现。图中蓝色小方块和三角形的分布情况表明 CLB 的利用率已提高,红线的减少说明对布线数量的需求也在降低。
步骤2:添加更多布线资源。这种情况下的收效会快速递减,除非采取措施解决该问题。对于 UltraScale 架构来说,解决方案涉及添加更多的本地布线资源,从而使可布线性能够随 CLB 密度的增加更快速地提高。图 2 显示了该结果。
但是,仅仅增加硬件布线资源是不够的。您还必须加强设计工具的布局布线算法,以便其能够利用这些新资源。赛灵思 Vivado 设计套件已相应地进行了升级。
步骤3:处理不断增加的时钟歪斜。您可能不知道,过去的 FPGA 时钟分配过于简单了。早期几代的 FPGA 依靠一个由 IC 几何中心成扇形散开的中央时钟分配中枢为所有片上逻辑提供时钟。这种全局时钟方案在诸如 Virtex UltraScale 和 Kintex UltraScale All Programmable 器件系列的 ASIC 级 FPGA 中行不通。不断提高的 CLB 密度和持续增加的时钟速率不允许这样做。因此,UltraScale 器件采用了一种经过彻底改进的时钟方案,如图 3 所示。
UltraScale 架构的时钟分配网络包含一个区域化的分段时钟基础架构(segmented clocking infrastructure),该结构可将多个时钟分配节点放在众多片上时钟域的几何中心。再由独立的时钟分配节点驱动从适当大小的基础架构分段(infrastructure segment)中构建的独立时钟树。
这种方案至少有三个主要优势 :
1. 时钟歪斜快速减小 ;
2. 可用的时钟资源显著增多 ;
3. 时序收敛立刻变得更加简单。
然而,这样不足以改善时钟基础架构,除非设计工具也能支持新的时钟方案。为此,Vivado 设计套件相应地进行了升级,因为该套件针对的是步骤 2 中讨论的改良型 CLB 间布线。
赛灵思必须针对以上三大步骤的每个步骤进行硬件架构和设计工具方面的重大更改。这就是赛灵思所指的可对 UltraScale 架构和 Vivado 设计套件进行协同优化。这需要做出很大的努力,并且也绝对是实现 ASIC 级 All Programmable 器件组合必须要做的工作。
如欲了解更多相关信息,敬请查阅白皮书“用于高性能 Smarter 系统的赛灵思 UltraScale 架构” (http://china.xilinx.com/support/documentation/ white_papers/wp434-ultrascale-smarter-systems.pdf).