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

文档序号:8258453阅读:198来源:国知局
基于fpga解析型布局求解器的多选择区域动态划分方法
【技术领域】
[0001] 本发明涉及FPGA布局算法,尤其涉及一种基于FPGA解析型布局求解器的多选择 区域动态划分方法。
【背景技术】
[0002] 目前,在FPGA (Field Programmable Gate Array,现场可编程逻辑门阵列)应用 中,要求集成电路具有可编程或可配置的互连网络,逻辑门通过可配置的互连网络而彼此 连接,作为独立芯片或系统中核心部分起作用的FPGA已经广泛被应用于大量微电子设备 中。广义的FPGA逻辑门的定义,不单指简单的与非门,也指具有可配置功能的组合逻辑与 时序逻辑的逻辑单元或由多个逻辑单元互连而组成的逻辑块。
[0003] 随着FPGA芯片规模的扩大,布局算法愈发显得关键和重要,主要面临两方面的挑 战:如何应对大规模的布局电路和提高芯片性能;随着芯片规模的增大,在提高FPGA性能 前提下提高算法运行速度成为一个迫切的要求。
[0004] 当前工业界FPGA布局算法普遍采用解析型布局算法和其他算法相结合的方法。 解析型布局算法在处理大规模的布局电路时,一般可以以较短的时间和较小的存储空间处 理大规模电路设计。因此,该解析型布局算法在处理大规模的布局电路时的速度优势,使得 该算法在国际工业软件上得到了广泛的使用。
[0005] 但是目前工业界还没有提出很好的能够保证解决解析型算法的重叠问题,一般情 况下第一次迭代,求解出来的LE坐标大量重叠,最后一次迭代LE间的重叠度最小,即使是 最后一次迭代也不能完全消除LE间的重叠,一般是在解析型算法之后再加一个局部合法 化的过程,由于布局电路体积庞大,因此处理时间过长,往往达不到对程序运行时间的要 求。

【发明内容】

[0006] 本发明的目的是在大规模电路中,提供一种采用并行的递归二划分优化FPGA芯 片布局,加速算法的运行速度,保证解析型算法的结果是一个合法的布局解的方法。
[0007] 为实现上述目的,本发明提供了一种基于FPGA解析型的布局求解器的多选择区 域动态划分方法,该方法包括:
[0008] 将用户电路转化成门级电路,将所述门级电路映射到查找表和/或寄存器中,将 所述查找表和/或寄存器组合成LE,产生网表;根据网表中组成逻辑单元LE的各基本单元 之间的连接关系,构建第一代价函数,计算各LE在芯片布局中的第一坐标值;
[0009] 根据所述的各LE在芯片布局中的第一坐标值集合,确定LE在芯片中的多个重叠 区域,为所述多个重叠区域分别找出合法的区域范围;
[0010] 在各合法区域范围内,对所述多个重叠区域并行的进行递归的二划分;
[0011] 对二划分后多个重叠区域中的LE分别加拉力,将各个重叠区域中的LE拉开;
[0012] 根据所述拉开后的各LE的基本单元之间的连接关系,构建第二代价函数,产生所 述各LE的第二坐标值;
[0013] 继续进行重叠区域的确定,找出重叠区域的合法区域范围,迭代产生各LE的第N 坐标值,直至第N坐标值为所述各LE的合法布局解。
[0014] 在上述方法中,根据网表中组成LE的各基本单元之间的线长和时序,建立第一代 价函数,根据所述第一代价函数,构建矩阵,计算各LE在芯片布局中的坐标值。
[0015] 在上述方法中,根据芯片上各重叠区域中LE的面积确定该重叠区域的合法区域 范围。
[0016] 在上述方法中,根据各重叠区域的面积进行递归二划分。
[0017] 在上述方法中,在进行重叠区域的并行二次划分时,根据宽度优先搜索进行划分。
[0018] 本发明提供的FPGA解析型布局求解器的多选择区域动态划分方法,实现划分方 式更加灵活,而且在多区域并行划分时,运行速度快,保证解析型算法的结果是一个合法的 布局。
【附图说明】
[0019] 图1为本发明实施例的基于FPGA解析型的布局求解器的多选择区域动态划分方 法流程图;
[0020] 图2为本发明实施例布局算法流程图;
[0021] 图3为本发明实施例基本逻辑单元的基本组成结构图;
[0022] 图4为本发明实施例多重叠区域选择划分方法;
[0023] 图5A-5D为本发明实施例递归的二划分和模块移动示意图;
[0024] 图6为本发明实施例中LE加拉力示意图。
【具体实施方式】
[0025] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0026] 图1为本发明实施例的基于FPGA解析型的布局求解器的多选择区域动态划分方 法流程图,图中,该多选择区域动态划分方法包括:
[0027] 步骤101,将用户电路转化成门级电路,将所述门级电路映射到查找表和/或寄存 器中,将所述查找表和/或寄存器组合成LE,产生网表。
[0028] 图2为本发明实施例布局算法流程图。在实施布局算法之前,如图2中本发明布 局算法流程图,在综合与库映射阶段,需将用户电路转化为门级电路,用户电路为使用硬件 描述语言(verilog)编译而成的,将使用高层次的硬件描述语言编译而成的用户电路综合 成为低层次的门级电路,将门级电路映射到查找表(LUT)和寄存器(FF)中。
[0029] 将步骤101中的查找表和寄存器组成为三种形式的基本单元,即四输入的查找表 和寄存器、单独四输入的查找表、单独的寄存器三种形式的基本单元,并将多个基本单元打 包形成LE (Logic Element,逻辑单元),如图2中的打包算法。
[0030] 图3为本发明实施例基本逻辑单元的基本组成结构图。一个LE由4个LP(Logic Parcel,逻辑包)、快速跳跃进位链输入(Carry skip in)、快速跳跃进位链输出(Carry skip out)及LBUF组成。每个LP中包括两个LUT4 (Look-Up Table,查找表)、1个LUT4C (带进位链的LUT4)和两个寄存器。1个LE中共计有12个LUT4和8个寄存器,LUT4和寄 存器的比例为3:2,快速跳跃进位链输入和快速跳跃进位链输出用于实现快速跳跃进位链 功能,LBUF用于产生逻辑单元中寄存器的控制信号时钟。
[0031] 步骤102,根据网表中组成逻辑单元LE的各基本单元之间的连接关系(时序和线 长的乘积),构建第一代价函数,计算各LE在芯片布局中的第一坐标值。
[0032] 二次规划布局算法基本上所有的二次规划布局算法把线长的代价函数定为:
[0033]
【主权项】
1. 一种基于FPGA解析型布局求解器的多选择区域动态划分方法,其特征在于,所述方 法包括: 将用户电路转化成口级电路,将所述口级电路映射到查找表和/或寄存器中,将所述 查找表和/或寄存器组合成LE,产生网表; 根据网表中组成逻辑单元LE的各基本单元之间的连接关系,构建第一代价函数,计算 各LE在芯片布局中的第一坐标值; 根据所述的各LE在芯片布局中的第一坐标值集合,确定LE在芯片中的多个重叠区域, 为所述多个重叠区域分别找出合法的区域范围; 在各合法区域范围内,对所述多个重叠区域并行的进行递归的二划分; 对二划分后多个重叠区域中的LE分别加拉力,将各个重叠区域中的LE拉开; 根据所述拉开后的各LE的基本单元之间的连接关系,构建第二代价函数,产生所述各 LE的第二坐标值; 继续进行重叠区域的确定,找出重叠区域的合法区域范围,迭代产生各LE的第N坐标 值,直至第N坐标值为所述各LE的合法布局解。
2. 如权利要求1所述的基于FPGA解析型布局求解器的多选择区域动态划分方法,其特 征在于,所述根据网表中组成逻辑单元LE的各基本单元之间的连接关系,构建第一代价函 数,计算各LE在芯片布局中的第一坐标值包括: 根据网表中组成LE的各基本单元之间的线长和时序,建立第一代价函数,根据所述第 一代价函数,构建矩阵,计算各LE在芯片布局中的坐标值。
3. 如权利要求1所述的基于FPGA解析型布局求解器的多选择区域动态划分方法,其特 征在于,根据芯片上各重叠区域中LE的面积确定该重叠区域的合法区域范围。
4. 如权利要求1所述的基于FPGA解析型布局求解器的多选择区域动态划分方法,其特 征在于,根据各个重叠区域的面积进行递归二划分。
5. 如权利要求1所述的基于FPGA解析型布局求解器的多选择区域动态划分方法,其特 征在于,在进行重叠区域的并行二次划分时,根据宽度优先搜索进行划分。
【专利摘要】本发明涉及一种基于FPGA解析型布局求解器的多选择区域动态划分方法,该方法包括:根据网表中组成逻辑单元LE的各基本单元之间的连接关系,构建第一代价函数,计算各LE在芯片布局中的第一坐标值;确定LE在芯片中的多个重叠区域,为多个重叠区域分别找出合法的区域范围;对多个重叠区域并行的进行递归的二划分;对二划分后多个重叠区域中的LE分别加拉力,将各个重叠区域中的LE拉开;根据拉开后的各LE的各基本单元之间的连接关系,构建第二代价函数,产生各LE的第二坐标值;继续进行重叠区域的确定,找出重叠区域的合法区域范围,迭代产生各LE的第N坐标值,直至第N坐标值为所述各LE的合法布局解。本发明中并行二划分速度快,大大提升运算速度。
【IPC分类】G06F17-15
【公开号】CN104572579
【申请号】CN201310471151
【发明人】蒋中华, 虞建, 刘桂林, 刘明
【申请人】京微雅格(北京)科技有限公司
【公开日】2015年4月29日
【申请日】2013年10月10日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1