一种基于解析方法的总体FPGA自动化布局方法技术

技术编号:18458861 阅读:22 留言:0更新日期:2018-07-18 12:43
一种基于解析方法的总体FPGA自动化布局方法,包含:S1将约束信息及电路网表信息通过映射打包输入;S2将用户约束的时延信息通过静态时延分析器输入;S3将各电路单元模块按照用户指定的物理约束自动布局在芯片物理设计中的对应位置,包括输入输出布局、全局时钟布局、初始布局、总体布局、合法化布局和详细布局;总体布局是根据电路单元模块的初始位置和电路拓扑连接,采用基于混合步长调整策略的共轭梯度法求解,针对不同级别的电路单元模块、布局状态,动态调整步长计算方式,分布电路单元模块;S4输出电路网表信息。本发明专利技术对芯片版图进行快速自动化布局,使线网的线长和时延满足用户约束;通过调整总体布局中步长优化策略,优化布局质量和速度。

An overall FPGA automated placement method based on analytical method

A general FPGA automatic layout method based on analytic method, including: S1 is used to package the information of constraint and network table through mapping and packaging; S2 input the time delay information of user constraints through static time delay analyzer; S3 automatically layout each module module in the physical design of the chip in accordance with the user specified constraints. The corresponding position, including the input and output layout, the global clock layout, the initial layout, the overall layout, the legalized layout and the detailed layout; the overall layout is based on the initial position of the circuit unit module and the circuit topology, and uses the conjugate ladder method based on the mixed step adjustment strategy to solve the different levels of the circuit. Unit module, layout state, dynamic adjustment step size calculation method, distributed circuit unit module, S4 output circuit netlist information. This invention automatically layout the layout of the chip, and make the line length and time delay satisfy the user constraints, and optimize the quality and speed of the layout by adjusting the pace optimization strategy in the overall layout.

【技术实现步骤摘要】
一种基于解析方法的总体FPGA自动化布局方法
本专利技术涉及一种FPGA自动化布局方法,具体是指一种基于解析方法的总体FPGA自动化布局方法,属于集成电路设计领域,尤其是属于专用集成电路领域中的一种半定制电路FPGA(FieldProgrammableGateArray,现场可编程门阵列)的自动化布局相关
范畴。
技术介绍
FPGA采用了逻辑单元阵列(LCA,LogicCellArray)这样一个概念,内部包括的电路单元模块有:可配置逻辑模块(CLB,ConfigurableLogicBlock)、输入输出模块(IOB,InputOutputBlock)和内部连线(Interconnect)等部分。FPGA芯片是二维结构,每个点对应一个CLB,每个CLB里包含片结构SLICE,而SLICE里面包含门级表(GATE)。FPGA是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,该D触发器再驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O之间的连接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。典型FPGA的开发流程一般包括功能定义、器件选型、设计输入、功能仿真、综合优化、综合后仿真、布局、布线、后仿真、板级仿真以及芯片编程与调试等主要步骤。其中,布局是整个流程中比较费时的一步,具体是指将电路元件摆放到芯片上合法的位置,不存在违法物理约束摆放。在将逻辑网表中的硬件原语和底层单元合理地配置到芯片内部的固有硬件结构上的过程中,往往需要在速度最优和面积最优之间做出选择。目前,FPGA的规模越来越大,结构也越来越复杂,其中逻辑单元模块的类型越来越多,且包含像DSP(数字信号处理器)和RAM(随机存取存储器)这种大的逻辑单元,并且有些单元之间的走线都是固定连接,如CarryChain(进位链)和ShiftRegister(移位寄存器)等等,这些都限制了逻辑单元的随意摆放,特别是在有时序约束条件时,由于布局对FPGA版图速度的快慢起到决定性的作用,从而在布局过程中就要将时序约束考虑进去,否则通过后续的布线等优化很难满足时序的约束。因此,如何快速有效的进行自动化布局,对FPGA的版图设计起到至关重要的作用。在求解优化问题时,共轭梯度法随着变量数目的增加,收敛的迭代步数线性增长。电路总体布局实质是一个优化问题,每个可移动的单元模块即代表一个变量,当电路变大时,布局速度明显降低,且总体布局过程中,为了将单元分散开,目标函数随着迭代次数的增大会逐渐增大单元模块重叠度的惩罚力度,所以真实布局的过程中,不可能每轮目标函数的求解都将迭代次数用尽,所以要在有限步或者很少的迭代次数之内尽量获得目标函数的最优解,确保布局能在特定的时间内获得比较好的布局结果。
技术实现思路
本专利技术的目的在于提供一种基于解析方法的总体FPGA自动化布局方法,可根据优化目标对芯片版图进行快速的自动化布局,使线网的线长和时延满足用户约束或者尽可能的小;并且通过调整总体布局中步长的优化策略,优化整体布局的质量和速度。为了达到上述目的,本专利技术提供一种基于解析方法的总体FPGA自动化布局方法,包含以下步骤:S1、将FPGA的芯片约束信息以及电路网表信息通过映射打包输入;S2、将FPGA的用户约束的时延信息通过静态时延分析器输入;S3、根据输入的芯片约束信息、电路网表信息和用户约束信息,将各个电路单元模块自动布局在整个芯片物理设计中的对应位置,具体包括依次进行的输入输出布局、全局时钟布局、初始布局、总体布局、合法化布局和详细布局;其中,总体布局是指根据所有电路单元模块的初始位置和电路的拓扑连接,构建近似于半周长的目标约束,并采用基于混合步长调整策略的共轭梯度法求解,针对不同级别的电路单元模块、布局的状态,动态调整步长的计算方式,总体分布电路单元模块;S4、输出完成布局之后的电路网表信息,进行后续布线操作。所述的用户约束信息包括:存储在用户设计文件中的物理约束信息,以及存储在时钟约束文件中的时延约束信息。所述的S3中,自动布局电路单元模块的过程,具体包含以下步骤:S31、输入输出布局:摆放输入输出模块,根据FPGA的物理约束信息,随机将所有的输入输出模块摆放到指定的位置上,构建一个整数规划问题,通过求解获得最优的输入输出布局;如果不能获得最优解,报错并停止布局;S32、全局时钟布局:当FPGA中用到的时钟线网多于每个时钟区域支持的时钟线网数目时,需把由时钟线网驱动的模块进行位置的预分配,将其分配到指定的时钟区域内,形成时钟区域约束;如果不能完成由钟线线网驱动的模块的位置预分配,报错并停止布局;S33、初始布局:根据已经摆放好的输入输出模块的位置以及时钟区域约束,构建二次线长的目标约束问题,并采用预优处理的共轭梯度法对其求解,获得所有电路单元模块的初始位置,得到线长最短的布局;S34、总体布局;S35、合法化布局:将电路单元模块近距离移动到合法的整数位置上,保证各个电路单元模块之间不存在重叠,且电路单元模块移动到的位置与该电路单元模块的类型兼容;S36、详细布局:基于低温模拟退火方法,近距离的移动或者交换两个电路单元模块,弥补总体布局和合法化布局对局部布局造成的破坏。所述的S31~S36中,在每个步骤所进行的布局之后,需要衡量当前布局的状态,如果发现不可继续往下执行其他布局,需返回重新进行当前布局,以调整执行整个布局流程。所述的S34中,总体布局的流程,具体包含以下步骤:S341、构建目标函数:对总体布局进行优化的目标包含线网的总线长、整个FPGA芯片的关键时延、拥挤度、耗电量以及散热量,分别对每个目标构建目标函数;S342、将每个目标函数均转化成平滑的目标函数;S343、采用共轭梯度法求解转化后的平滑的目标函数;此时,对于构建的目标函数,需满足连续且一阶可导;S344、根据求解得到的目标函数的结果,将电路单元模块移动至合理合适的位置;S345、判断求解得到的目标函数的结果是否达到最优解;如果未达到,则返回S343,重新求解转化后的平滑的目标函数,进行下一轮移动优化;如果达到,则完成总体布局并退出。所述的S345中,判断并衡量总体布局是否达到最优解的方法是计算每条线网的半周长和电路单元模块的密度,并采用分段函数拼接的方式构建得到满足共轭梯度法的目标函数。所述的每条线网的半周长是指每条线网连接的所有电路单元模块的所在位置的最小包络矩形的周长的一半;所述的电路单元模块的密度是指单位面积上电路单元模块的拥挤度。所述的S343中,采用共轭梯度法求解优化目标函数的过程,具体为:根据构建的目标函数,计算目标函数中所有变量的目标梯度和共轭方向;根据目标梯度和共轭方向计算目标函数所有变量沿共轭方向移动的步长,将每个电路单元模块沿着其各自的共轭梯度方向向前移动该步长的距离;判断目标函数的本文档来自技高网
...

【技术保护点】
1.一种基于解析方法的总体FPGA自动化布局方法,其特征在于,包含:S1、将FPGA的芯片约束信息以及电路网表信息通过映射打包输入;S2、将FPGA的用户约束的时延信息通过静态时延分析器输入;S3、根据输入的芯片约束信息、电路网表信息和用户约束信息,将各个电路单元模块自动布局在整个芯片物理设计中的对应位置;包括依次进行的输入输出布局、全局时钟布局、初始布局、总体布局、合法化布局和详细布局;其中,总体布局是指根据所有电路单元模块的初始位置和电路的拓扑连接,构建近似于半周长的目标约束,并采用基于混合步长调整策略的共轭梯度法求解,针对不同级别的电路单元模块、布局的状态,动态调整步长的计算方式,总体分布电路单元模块;S4、输出完成布局之后的电路网表信息,进行后续布线操作。

【技术特征摘要】
1.一种基于解析方法的总体FPGA自动化布局方法,其特征在于,包含:S1、将FPGA的芯片约束信息以及电路网表信息通过映射打包输入;S2、将FPGA的用户约束的时延信息通过静态时延分析器输入;S3、根据输入的芯片约束信息、电路网表信息和用户约束信息,将各个电路单元模块自动布局在整个芯片物理设计中的对应位置;包括依次进行的输入输出布局、全局时钟布局、初始布局、总体布局、合法化布局和详细布局;其中,总体布局是指根据所有电路单元模块的初始位置和电路的拓扑连接,构建近似于半周长的目标约束,并采用基于混合步长调整策略的共轭梯度法求解,针对不同级别的电路单元模块、布局的状态,动态调整步长的计算方式,总体分布电路单元模块;S4、输出完成布局之后的电路网表信息,进行后续布线操作。2.如权利要求1所述的基于解析方法的总体FPGA自动化布局方法,其特征在于,所述的用户约束信息包括:存储在用户设计文件中的物理约束信息,以及存储在时钟约束文件中的时延约束信息。3.如权利要求1所述的基于解析方法的总体FPGA自动化布局方法,其特征在于,所述的S3中,自动布局电路单元模块的过程,具体包含以下步骤:S31、输入输出布局:摆放输入输出模块,根据FPGA的物理约束信息,随机将所有的输入输出模块摆放到指定的位置上,构建一个整数规划问题,通过求解获得最优的输入输出布局;如果不能获得最优解,报错并停止布局;S32、全局时钟布局:当FPGA中用到的时钟线网多于每个时钟区域支持的时钟线网数目时,需把由时钟线网驱动的模块进行位置的预分配,将其分配到指定的时钟区域内,形成时钟区域约束;如果不能完成由钟线线网驱动的模块的位置预分配,报错并停止布局;S33、初始布局:根据已经摆放好的输入输出模块的位置以及时钟区域约束,构建二次线长的目标约束问题,并采用预优处理的共轭梯度法对其求解,获得所有电路单元模块的初始位置,得到线长最短的布局;S34、总体布局;S35、合法化布局:将电路单元模块近距离移动到合法的整数位置上,保证各个电路单元模块之间不存在重叠,且电路单元模块移动到的位置与该电路单元模块的类型兼容;S36、详细布局:基于低温模拟退火方法,近距离的移动或者交换两个电路单元模块,弥补总体布局和合法化布局对局部布局造成的破坏。4.如权利要求3所述的基于解析方法的总体FPGA自动化布局方法,其特征在于,所述的S31~S36中,在每个步骤所进行的布局之后,需要衡量当前布局的状态,如果发现不可继续...

【专利技术属性】
技术研发人员:王似飞叶翼李小南吴昌
申请(专利权)人:上海复旦微电子集团股份有限公司
类型:发明
国别省市:上海,31

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

1