《电子产品世界》2007年第10期摘录:IJ栏目编辑11王莹镯碣Xil
-
如发现有乱码,请点击下面链接浏览原文
正文摘录:
IJ栏目编辑11王莹镯碣Xilinx布局器的核心算法采用了解析(数学)技术。这种算法从有重叠的初始设计布局开始,然后使用强化抽象法从高度拥挤区去除逻辑块,最终形成可行的无重叠布局。一旦完成解析布局,便在已布局的设计上运行交换式局部优化,以进一步细化布局。本布局器使用的传统成本函数按下式考虑导线长度和时间:总成本=a×w+bT式中w和T分别是导线长度成本和时间成本,a和b是标量加权系数。a和b的值可以根据时间对导线长度的相对优先级设定。布局器的成本核算方案如图l所示。因为进行布局时还没有实际线路,所以导线长度成本是依据导线长度估算。同理,时间成本是依据用户提供的限制条件和连接延迟的估算值。为了优化功耗,我们用为成本函数增加功耗成分的方法扩展了解析布局和局部优化,如图】右侧所示。修改后的成本函数如下:总成本=a×w+b×T+c×Pd…。式中L…。,。是估算的动态功耗,c是标量加权系数。可以从仿真中提取信号开关率数据,然后将其提供给工具。反之,如果不提供任何开关率数据,则工具根据逻辑功能为初始输入,为后续输出假定一个默认的开关率,并且将开关率推广到其余信号。为了获得最佳结果,需要有用户提供的开关率数据。在布局过程中,信号的电容是未知的,因此必须估算。根据布局过程中已有的信号参数,我们建立一个电容估算经验模型:c,=f(F(】。,XSrYS,)式中f是普通数学函数;c是信号f的电容;F0是信号f的扇出数}XS和Ys分别是布局中信号f的x跨度和Y跨度。这些参数与架构无关,并且在稚局过程中已经具备。为建立此模型,我们提取了从Xilinx客户那里收集的一组设计中每个信号的电容、扇出数、x跨度和Y跨度。然后,我们用最小平方回归分析法,将电容整理成模型参数的一个二次函数。就各种设计平均而言,该解析公式的误差为30%。布线·旦将逻辑块分配到FPGA上的物理位置,我们就必须为各块之间的连接进行布线。布线器采用一种协商拥挤布线算法,该算法在初始迭代中允许信号问短路。在后续迭代中,对短路的产生逐渐加大处罚,直到仅剩一个信号使用布线导体。对时间关键型连接布线的方式,应尽量缩短其延迟,这涉及密集型的RC延时计算。不过,大多数连接并非时间关键型。在功耗监控型布线器中,我们选择优化这类非关键型连接的电容。为达到这一目的,我们针对非时间关键型连接修改了布线器的成本函数,以便考虑电容,这与上述根据其他因素(如估算的延迟或不足)的方法截然相反。为了解这种算法,请看图2中的布线图。该布线图中的每个节点表示一个布线导体或逻辑块引脚,每条边线表示一个可编程布线开关。布线器必须在源引脚和目标引脚之间选择一条路径。图中各节点内部所示为该节点的原始成本和电容成本。若要尽量降低原始成本,源引脚和目标引脚之间的布线就应采纳蓝色路径。然而,在功耗监控型流程中,布线器会使用绿色路径,因为这条路径的总体电容较低。功耗蔬挖肇南碣s猫线的结果我们使用传统布局布线流程和上述功耗型流程两种方法,对一组工业设计进行了布局布线。这些设计的初始输入附加一个基于线性反图2带节点电容成本馈移位寄存器(LFSR—based)的伪随机矢量生成的布线图
阅读此文(图):
点击此处在线翻阅