基于FPGA解析型布局求解器的多选择区域动态划分方法技术

技术编号:11365168 阅读:86 留言:0更新日期:2015-04-29 15:32
本发明专利技术涉及一种基于FPGA解析型布局求解器的多选择区域动态划分方法,该方法包括:根据网表中组成逻辑单元LE的各基本单元之间的连接关系,构建第一代价函数,计算各LE在芯片布局中的第一坐标值;确定LE在芯片中的多个重叠区域,为多个重叠区域分别找出合法的区域范围;对多个重叠区域并行的进行递归的二划分;对二划分后多个重叠区域中的LE分别加拉力,将各个重叠区域中的LE拉开;根据拉开后的各LE的各基本单元之间的连接关系,构建第二代价函数,产生各LE的第二坐标值;继续进行重叠区域的确定,找出重叠区域的合法区域范围,迭代产生各LE的第N坐标值,直至第N坐标值为所述各LE的合法布局解。本发明专利技术中并行二划分速度快,大大提升运算速度。

【技术实现步骤摘要】
基于FPGA解析型布局求解器的多选择区域动态划分方法
本专利技术涉及FPGA布局算法,尤其涉及一种基于FPGA解析型布局求解器的多选择区域动态划分方法。
技术介绍
目前,在FPGA(FieldProgrammableGateArray,现场可编程逻辑门阵列)应用中,要求集成电路具有可编程或可配置的互连网络,逻辑门通过可配置的互连网络而彼此连接,作为独立芯片或系统中核心部分起作用的FPGA已经广泛被应用于大量微电子设备中。广义的FPGA逻辑门的定义,不单指简单的与非门,也指具有可配置功能的组合逻辑与时序逻辑的逻辑单元或由多个逻辑单元互连而组成的逻辑块。随着FPGA芯片规模的扩大,布局算法愈发显得关键和重要,主要面临两方面的挑战:如何应对大规模的布局电路和提高芯片性能;随着芯片规模的增大,在提高FPGA性能前提下提高算法运行速度成为一个迫切的要求。当前工业界FPGA布局算法普遍采用解析型布局算法和其他算法相结合的方法。解析型布局算法在处理大规模的布局电路时,一般可以以较短的时间和较小的存储空间处理大规模电路设计。因此,该解析型布局算法在处理大规模的布局电路时的速度优势,使得该算法在国际工业软件上得到了广泛的使用。但是目前工业界还没有提出很好的能够保证解决解析型算法的重叠问题,一般情况下第一次迭代,求解出来的LE坐标大量重叠,最后一次迭代LE间的重叠度最小,即使是最后一次迭代也不能完全消除LE间的重叠,一般是在解析型算法之后再加一个局部合法化的过程,由于布局电路体积庞大,因此处理时间过长,往往达不到对程序运行时间的要求。
技术实现思路
本专利技术的目的是在大规模电路中,提供一种采用并行的递归二划分优化FPGA芯片布局,加速算法的运行速度,保证解析型算法的结果是一个合法的布局解的方法。为实现上述目的,本专利技术提供了一种基于FPGA解析型的布局求解器的多选择区域动态划分方法,该方法包括:将用户电路转化成门级电路,将所述门级电路映射到查找表和/或寄存器中,将所述查找表和/或寄存器组合成LE,产生网表;根据网表中组成逻辑单元LE的各基本单元之间的连接关系,构建第一代价函数,计算各LE在芯片布局中的第一坐标值;根据所述的各LE在芯片布局中的第一坐标值集合,确定LE在芯片中的多个重叠区域,为所述多个重叠区域分别找出合法的区域范围;在各合法区域范围内,对所述多个重叠区域并行的进行递归的二划分;对二划分后多个重叠区域中的LE分别加拉力,将各个重叠区域中的LE拉开;根据所述拉开后的各LE的基本单元之间的连接关系,构建第二代价函数,产生所述各LE的第二坐标值;继续进行重叠区域的确定,找出重叠区域的合法区域范围,迭代产生各LE的第N坐标值,直至第N坐标值为所述各LE的合法布局解。在上述方法中,根据网表中组成LE的各基本单元之间的线长和时序,建立第一代价函数,根据所述第一代价函数,构建矩阵,计算各LE在芯片布局中的坐标值。在上述方法中,根据芯片上各重叠区域中LE的面积确定该重叠区域的合法区域范围。在上述方法中,根据各重叠区域的面积进行递归二划分。在上述方法中,在进行重叠区域的并行二次划分时,根据宽度优先搜索进行划分。本专利技术提供的FPGA解析型布局求解器的多选择区域动态划分方法,实现划分方式更加灵活,而且在多区域并行划分时,运行速度快,保证解析型算法的结果是一个合法的布局。附图说明图1为本专利技术实施例的基于FPGA解析型的布局求解器的多选择区域动态划分方法流程图;图2为本专利技术实施例布局算法流程图;图3为本专利技术实施例基本逻辑单元的基本组成结构图;图4为本专利技术实施例多重叠区域选择划分方法;图5A-5D为本专利技术实施例递归的二划分和模块移动示意图;图6为本专利技术实施例中LE加拉力示意图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。图1为本专利技术实施例的基于FPGA解析型的布局求解器的多选择区域动态划分方法流程图,图中,该多选择区域动态划分方法包括:步骤101,将用户电路转化成门级电路,将所述门级电路映射到查找表和/或寄存器中,将所述查找表和/或寄存器组合成LE,产生网表。图2为本专利技术实施例布局算法流程图。在实施布局算法之前,如图2中本专利技术布局算法流程图,在综合与库映射阶段,需将用户电路转化为门级电路,用户电路为使用硬件描述语言(verilog)编译而成的,将使用高层次的硬件描述语言编译而成的用户电路综合成为低层次的门级电路,将门级电路映射到查找表(LUT)和寄存器(FF)中。将步骤101中的查找表和寄存器组成为三种形式的基本单元,即四输入的查找表和寄存器、单独四输入的查找表、单独的寄存器三种形式的基本单元,并将多个基本单元打包形成LE(LogicElement,逻辑单元),如图2中的打包算法。图3为本专利技术实施例基本逻辑单元的基本组成结构图。一个LE由4个LP(LogicParcel,逻辑包)、快速跳跃进位链输入(Carryskipin)、快速跳跃进位链输出(Carryskipout)及LBUF组成。每个LP中包括两个LUT4(Look-UpTable,查找表)、1个LUT4C(带进位链的LUT4)和两个寄存器。1个LE中共计有12个LUT4和8个寄存器,LUT4和寄存器的比例为3:2,快速跳跃进位链输入和快速跳跃进位链输出用于实现快速跳跃进位链功能,LBUF用于产生逻辑单元中寄存器的控制信号时钟。步骤102,根据网表中组成逻辑单元LE的各基本单元之间的连接关系(时序和线长的乘积),构建第一代价函数,计算各LE在芯片布局中的第一坐标值。二次规划布局算法基本上所有的二次规划布局算法把线长的代价函数定为:其中,(xi,yi),(xj,yj)代表LE在FPGA芯片布局中的坐标值,二次优化方程是可微函数,可以写成关于x部分和y部分的矩阵形式:分别对公式(2)和(3)求导,x部分和y部分最小值在导数等于零位置处取得:对于以上两个线性方程组使用雅可比迭代(JacobiMethod)和高斯塞德尔松弛方法(SuccessiveOverrelaxationMethod)。雅可比迭代(JacobiMethod)可以写成以下方程:Ax=b的第i个等式为:对公式(6)求反解:将公式(7)写成LU分解的矩阵形式为:高斯塞德尔松弛方法(SuccessiveOverrelaxationMethod)可以使用如下公式表示:其中w为松弛系数,小于1为亚松弛,大于1为超松弛,必须小于2才能保证算法是收敛性。通过上述全局求解器算法分别解出对于节点的x向量。在二次规划的布局方法中,影响布局速度的最重要因素是二次规划问题的求解方法,一般采用拉格朗日乘子方法进行求解。二次规划的布局算法不依赖于初始解,能并行求出所有单元位置(即芯片上所有LE的位置),求解速度快,尤其适用于处理问题规模大、单元相对小的标准单元布局。因此数学规划算法广泛运用于全局优化和划分如:CASH、VEAP等。如图2中,全局布局算法采取的是芯片划分的全局解析型算法,当进位链长度大于划分粒度时,进位链可以自由移动求解,这可以提高算法的求解空间,提高算法性能。随着全局布局算法的进行进位链的长度将逐渐减小,进位链长度小于等于划分粒度时,算法将固定这个进位链,并且保证固定的进位链之间不互相重叠,因此,在全本文档来自技高网...
基于FPGA解析型布局求解器的多选择区域动态划分方法

【技术保护点】
一种基于FPGA解析型布局求解器的多选择区域动态划分方法,其特征在于,所述方法包括:将用户电路转化成门级电路,将所述门级电路映射到查找表和/或寄存器中,将所述查找表和/或寄存器组合成LE,产生网表;根据网表中组成逻辑单元LE的各基本单元之间的连接关系,构建第一代价函数,计算各LE在芯片布局中的第一坐标值;根据所述的各LE在芯片布局中的第一坐标值集合,确定LE在芯片中的多个重叠区域,为所述多个重叠区域分别找出合法的区域范围;在各合法区域范围内,对所述多个重叠区域并行的进行递归的二划分;对二划分后多个重叠区域中的LE分别加拉力,将各个重叠区域中的LE拉开;根据所述拉开后的各LE的基本单元之间的连接关系,构建第二代价函数,产生所述各LE的第二坐标值;继续进行重叠区域的确定,找出重叠区域的合法区域范围,迭代产生各LE的第N坐标值,直至第N坐标值为所述各LE的合法布局解。

【技术特征摘要】
1.一种基于FPGA解析型布局求解器的多选择区域动态划分方法,其特征在于,所述方法包括:将用户电路转化成门级电路,将所述门级电路映射到查找表和/或寄存器中,将所述查找表和/或寄存器组合成LE,产生网表;一个LE由4个LP、快速跳跃进位链输入、快速跳跃进位链输出和LBUF组成;所述LP,包括:两个LUT4、一个LUT4C和两个寄存器;根据网表中组成逻辑单元LE的各基本单元之间的连接关系,构建第一代价函数,计算各LE在芯片布局中的第一坐标值;根据所述的各LE在芯片布局中的第一坐标值集合,确定LE在芯片中的多个重叠区域,为所述多个重叠区域分别找出合法的区域范围;在各合法区域范围内,对所述多个重叠区域并行的进行递归的二划分;在所述多个重叠区中,优先选择移动没有进位链的逻辑单元;根据宽度优先搜索进行划分;具体的,扫描时采取沿X或Y方向顺序扫描,根据冗余度,进行二划分;对二划分后多个重叠区域中的LE分别加拉力,将各个重叠区域中的L...

【专利技术属性】
技术研发人员:蒋中华虞建刘桂林刘明
申请(专利权)人:京微雅格北京科技有限公司
类型:发明
国别省市:北京;11

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

1