一种用于2.5D封装FPGA的全局布局方法技术

技术编号:29331352 阅读:33 留言:0更新日期:2021-07-20 17:48
一种用于2.5D封装FPGA的全局布局方法,通过一个线长估计函数定义线长约束条件,通过一个惩罚代价函数来约束超长线路SLL,通过一个时钟栅栏区域代价函数来处理时钟约束,通过一个基于3D泊松方程的三维模块分布成本函数来约束模块分布,将2.5D封装FPGA的全局布局方法表示为一个包含了线长估计函数、惩罚代价函数、时钟栅栏区域代价函数和三维模块分布成本函数的无约束优化问题,将无约束优化问题表述为具有线性约束的可分离优化问题,采用近端群域ADMM求解可分离优化问题,运用时钟约束合法化来进行详细布局,从而实现布局合法化。本发明专利技术加快了布局计算时间,在满足时钟约束和线长约束的基层上显著减少了超长线路,得到了更加有效的合法化布局结果。

【技术实现步骤摘要】
一种用于2.5D封装FPGA的全局布局方法
本专利技术涉及超大规模集成电路(VLSI)物理设计自动化
,尤其涉及一种用于2.5D封装FPGA的全局布局方法。
技术介绍
现场可编程门阵列(FPGA)是一种预制集成电路,可以在现场进行用户定制。FPGA在电路实现中得到了广泛的应用,因为与传统的(ASICs)相比,FPGA具有更高的灵活性,可以根据设计变化在现场重新编程,缩短了上市时间,降低了非重复的工程成本。随着现代FPGA架构的显著增强,高性能的大规模FPGA可以容纳多达数百万个逻辑门,以及数千个异构模块,包括随机存取存储器(RAMs)、数字信号处理器(DSPs)和智能组成器件(IPs)。例如,Xilinx2.5DFPGAs,如Virtex-7和VirtexUltrascale系列,是商业上可用的。随着设计复杂度的不断提高,具有大逻辑容量的2.5DFPGA已经成为现代电路应用的热门。一个2.5DFPGA由多个FPGA芯片(也称为超逻辑区域或SLRs)组成,它们线性排列在一个硅中介层上。SLRs之间的连接是通过超长线路(SLLs)完成的。在2.5D的FPGA中,SLRs之间的SLLs数量要比SLRs内部互连资源的SLLs数量少得多。然而,SLL通过硅中介层会产生显著的延迟,SLR之间的SLL延迟与SLR内的净延迟相比是显著的。此外,用于SLLs的I/O引脚的数量是有限的。进一步,在一个2.5DFPGA中,每个SLR分为多个时钟布线区域和一个时钟的约束,只有数量有限的时钟线网络可以在一个时钟布线区域,其中每个时钟线网络都在一个线网格结构中,连接到一个时钟源,并在同步模块上加载相应的时钟负载(即CLBs、RAMs和DSPs)。FPGA的设计流程由逻辑合成、技术绘图、封装、布局、布线等组成。随着设计规模和复杂性的急剧增加,2.5DFPGA的布局成为关键阶段,对设计质量有着重要影响。大规模2.5DFPGA布局面临的主要挑战有两方面:(1)对于高质量的SLL约束2.5DFPGA布局(即时延、线长等);(2)严格的时钟约束,在每个芯片布局的高性能要求。为了在2.5DFPGA内实现高质量的连接,在实现具有多个SLR的电路时,SLL约束可能相当棘手,而且用于SLL的I/O引脚数量有限。在每个FPGA芯片中,时钟约束是实现高性能设计的主要瓶颈之一。当且仅当时钟区域与时钟线网络馈送的一组同步模块的包围框重叠时,时钟线网络布线于时钟区域。现有的2.5DFPDA全局布局方法存在下列问题:分别考虑关键的SLL问题和特殊的时钟约束,从而可能导致时间违规或布线失败。因此,为了得到更好的合法化结果,从一个更加全局的角度来考虑该合法化问题,并设计相应的有一定理论基础的高效算法是值得考虑的。
技术实现思路
本专利技术提供一种用于2.5D封装FPGA的全局布局方法,加快了布局计算时间,在满足时钟约束和线长约束的基层上显著减少了超长线路,得到了更加有效的合法化布局结果。为了达到上述目的,本专利技术提供一种用于2.5D封装FPGA的全局布局方法,包含以下步骤:通过一个线长估计函数定义线长约束条件,通过一个连续的惩罚代价函数来约束超长线路SLL,通过一个扩展的时钟栅栏区域代价函数来处理时钟约束,通过一个基于3D泊松方程的三维模块分布成本函数来约束模块分布;将2.5D封装FPGA的全局布局方法表示为一个包含了线长估计函数、惩罚代价函数、时钟栅栏区域代价函数和三维模块分布成本函数的无约束优化问题;将无约束优化问题表述为具有线性约束的可分离优化问题,采用近端群域ADMM求解可分离优化问题,获得满足时钟约束且线长最优情况下的每个逻辑模块的位置坐标;运用时钟约束合法化来进行详细布局,从而实现布局合法化。所述的生成线长估计函数的方法包含:定义线长函数:其中,vi和vj表示的是逻辑模块i和逻辑模块j,e表示的是线网,E表示的是线网集合,xi(xj),yi(yj)分别表示的是逻辑模块i(j)的x坐标和y坐标,zi(zj)表示的是逻辑模块i(j)所在芯片的索引,不仅包含了SLLs的总数,还包含了z方向的线长;参数αe用于调和FPGA之间的SLL以及线长;通过对离散的线长函数进行LSE光滑得到三重线长估计函数LSE:其中,vk表示的是逻辑模块k,Xk和Yk表示逻辑模块k的x坐标和y坐标,Zk表示逻辑模块k所在芯片的索引,e表示的是线网,E表示的是线网集合,参数γ和ε用来控制平滑程度。所述的惩罚代价函数Cost(vi):其中,zi为逻辑模块i所在芯片的索引,d为相邻两个SLRs之间的距离。所述的时钟栅栏区域代价函数:F(xi,yi,zi)=FH(xi,zi)×FV(yi,zi);其中,FH(xi,zi)和FV(yi,zi)分别给出了逻辑模块i的水平栅栏区域和垂直栅栏区域的代价,xiL(yiD)和xiR(yiU)分别是逻辑模块i的栅栏区域的左(下)和右(上)边界坐标。所述的三维模块分布成本函数:其中,qi表示每个逻辑模块i的电量,ζ是逻辑模块i的电势v。求解3D泊松方程得到电势的方法包含:ρ(x,y,z)是密度函数,它的二阶微分算子表示Laplace算子,ζ(x,y,z)表示电势;方程(1)是一个三维泊松方程;方程(2)是边界条件;方程(3)是相容性条件;给定边界条件和相容性条件,通过傅里叶级数方法求出关于函数ζ(x,y,z)的解析解;ξ(x,y,z)是电场,其计算方式是电势ζ(x,y,z)的负梯度;由于变量x、y、z相互独立,通过分离变量来设置密度函数和势函数:ζ(x,y,z)是三维泊松方程的解,Xj(x),Yk(y),Zl(z)分别是关于变量x,y,z的函数,参数bj,k,l,aj,k,l用于关联三个分离的变量函数;通过高斯定律,电场ξ(x,y,z)等于ζ电势分布的负梯度(x,y,z),获得ξ(x,y,z)=(ξx,ξy,ξz)所述的无约束优化问题:其中,λ1,λ2,λ3和λ4是权重,在迭代过程中每个逻辑模块vi搜索最好的位置时不断更新;W(v)是线长估计函数;C(v)为惩罚代价函数,U(v)为三维模块分布成本函数;F(v)为时钟栅栏区域代价函数。所述的将无约束优化问题表述为具有线性约束的可分离优化问题的方法包含:通过引入三个新的变量(g,h,f),无约束优化问题表述为一个具有线性约束的可分离优化问题:θ2(g,h,f)=λ4F(v)是与时钟约束有关的子问题;θ1(x,y,z)=λ1W(v)+λ2C(v)+λ3U(v)是与线长和密度有关的子问题。所述的采用近端群域ADMM求解可分离优化问题的方法包含:给定基于增广拉格朗日函数,近端群域ADMM通过迭代生成;...

【技术保护点】
1.一种用于2.5D封装FPGA的全局布局方法,其特征在于,包含以下步骤:/n通过一个线长估计函数定义线长约束条件,通过一个连续的惩罚代价函数来约束超长线路SLL,通过一个扩展的时钟栅栏区域代价函数来处理时钟约束,通过一个基于3D泊松方程的三维模块分布成本函数来约束模块分布;/n将2.5D封装FPGA的全局布局方法表示为一个包含了线长估计函数、惩罚代价函数、时钟栅栏区域代价函数和三维模块分布成本函数的无约束优化问题;/n将无约束优化问题表述为具有线性约束的可分离优化问题,采用近端群域ADMM求解可分离优化问题,获得满足时钟约束且线长最优情况下的每个逻辑模块的位置坐标;/n运用时钟约束合法化来进行详细布局,从而实现布局合法化。/n

【技术特征摘要】
1.一种用于2.5D封装FPGA的全局布局方法,其特征在于,包含以下步骤:
通过一个线长估计函数定义线长约束条件,通过一个连续的惩罚代价函数来约束超长线路SLL,通过一个扩展的时钟栅栏区域代价函数来处理时钟约束,通过一个基于3D泊松方程的三维模块分布成本函数来约束模块分布;
将2.5D封装FPGA的全局布局方法表示为一个包含了线长估计函数、惩罚代价函数、时钟栅栏区域代价函数和三维模块分布成本函数的无约束优化问题;
将无约束优化问题表述为具有线性约束的可分离优化问题,采用近端群域ADMM求解可分离优化问题,获得满足时钟约束且线长最优情况下的每个逻辑模块的位置坐标;
运用时钟约束合法化来进行详细布局,从而实现布局合法化。


2.如权利要求1所述的用于2.5D封装FPGA的全局布局方法,其特征在于,所述的生成线长估计函数的方法包含:
定义线长函数:



其中,vi和vj表示的是逻辑模块i和逻辑模块j,e表示的是线网,E表示的是线网集合,xi和yi表示的是逻辑模块i的x坐标和y坐标,xj和y表示的是逻辑模块j的x坐标和y坐标,zi和zj表示的是逻辑模块i和j所在芯片的索引,不仅包含了SLLs的总数,还包含了z方向的线长;参数αe用于调和FPGA之间的SLL以及线长;
通过对离散的线长估计函数进行LSE光滑得到三重线长估计函数LSE:



其中,vk表示的是逻辑模块k,Xk和Yk表示逻辑模块k的x坐标和y坐标,Zk表示逻辑模块k所在芯片的索引,e表示的是线网,E表示的是线网集合,参数γ和ε用来控制平滑程度。


3.如权利要求2所述的用于2.5D封装FPGA的全局布局方法,其特征在于,所述的惩罚代价函数Cost(vi):



其中,zi为逻辑模块i所在芯片的索引,d为相邻两个SLRs之间的距离。


4.如权利要求3所述的用于2.5D封装FPGA的全局布局方法,其特征在于,所述的时钟栅栏区域代价函数:
F(xi,yi,zi)=FH(xi,zi)×FV(yi,zi);






其中,FH(xi,zi)和FV(yi,zi)分别给出了逻辑模块i的水平栅栏区域和垂直栅栏区域的代价,xiL(yiD)和xiR(yiU)分别是逻辑模块i的栅栏区域的左(下)和右(上)边界坐标。


5.如权利要求4所述的用于2.5D封装FPGA的全局布局方法,其特征在于,所述的三维模块分布成本函数:



其中,qi表示每个逻辑模块i的电量,,ζ是逻辑模块i的电势v。


6.如权利要求5所述的用于2.5D封装FPGA的全局布局方法,其特征在于,求解三维泊松方程得到电势的方法包含:



ρ(x,y,z)是密度函数,它的二阶微分算子▽·▽表示Laplace算子,ζ(x,y,z)表示电势;方程(1)是一个三维泊松方程;方程(2)是...

【专利技术属性】
技术研发人员:李宁徐烈伟吴昌沈鸣杰俞军
申请(专利权)人:上海复旦微电子集团股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1