一种FPGA芯片布局中实现区域约束的方法技术

技术编号:14953654 阅读:328 留言:0更新日期:2017-04-02 10:16
本发明专利技术实施例涉及一种FPGA芯片布局中实现区域约束的方法,包括:获取包括多个实例的网表、约束文件;根据约束文件创建约束区域,并将多个实例中受约束的实例置于对应的约束区域,以及创建全局区域,并将多个实例中不受约束的实例置于全局区域;当约束区域不存在约束错误时,进行芯片初始布局,为每个实例分配初始位置;通过布局算法移动多个实例,而后在当受约束的实例被移出对应的约束区域时,将受约束的实例移入对应的约束区域;判断芯片布局是否满足布局结束条件,若满足,则结束芯片布局。本发明专利技术在不增加布局算法的时间复杂度的情况下,实现区域约束的功能,保证了芯片布局在无约束、单个约束、多个约束等情况下布局功能的实现。

【技术实现步骤摘要】

本专利技术涉及微电子领域中的集成电路设计
,尤其涉及一种FPGA芯片布局中实现区域约束的方法
技术介绍
现场可编程门阵列(FieldProgrammableGateArray,FPGA),它是作为专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。适用于逻辑控制、信号处理、图像处理等多种领域,重要性不言而喻。FPGA的使用离不开电子设计自动化(ElectronicDesignAutomation,EDA)工具的配合,包括设计输入、调试、功能仿真、综合、布局布线等流程;其中,FPGA布局是将电路网表中的实例(instance)配置到FPGA结构中逻辑模块的过程,布局是自动化的过程。但在实际应用中,用户往往需要以物理约束等方式参与布局过程,比如将部分实例约束到FPGA结构中某些特定位置或特定区域中。因此,如何在FPGA布局中实现区域约束就显得尤为重要。
技术实现思路
本专利技术实施例提供了一种FPGA芯片布局中实现区域约束的方法,该方法包括:获取包括多个实例的网表,并获取约束文件;根据所述约束文件创建至少一个约束区域,并将所述多个实例中受约束的实例置于对应的约束区域,以及创建全局区域,并将所述多个实例中不受约束的实例置于所述全局区域;当所述约束区域不存在约束错误时,进行芯片初始布局,为每个所述实例分配初始位置;通过布局算法移动所述多个实例,并在移动完成后判断所述受约束的实例是否被移出对应的约束区域;当所述受约束的实例被移出对应的约束区域时,将所述受约束的实例移入对应的约束区域;判断所述芯片布局是否满足布局结束条件,若满足,则结束芯片布局。可选地,在上述方法中,当所述约束区域的位置和大小固定时,所述将受约束的实例移入对应的约束区域,包括:直接将不在对应约束区域的受约束的实例移至对应约束区域的边界上。可选地,在上述方法中,当所述约束区域的位置不固定、大小固定时,所述将受约束的实例移入对应的约束区域,还包括:获取所述约束区域所对应的多个受约束的实例的位置坐标,并根据多个置坐标获得所述多个受约束的实例对应的实际区域和所述实际区域的中心位置;根据所述中心位置确定所述约束区域的位置,并将对应的所述多个受约束的实例按比例投射至所述约束区域。可选地,在上述方法中,计算所述约束区域所对应的多个受约束的实例的位置坐标的平均值,获得新的位置坐标即为所述中心位置的位置坐标。可选地,在上述方法中,所述方法还包括:当所示芯片布局不满足所述布局结束条件时,继续布局流程,通过所述布局算法移动所述多个实例。可选地,在上述方法中,所述布局算法在所述全局区域的数据结构上运行。可选地,在上述方法中,所述全局区域对应整个芯片的结构。本专利技术实施例提供一种FPGA芯片布局中实现区域约束的方法,通过建立约束区域数据结构,将受约束的实例置于对应的约束区域,同时建立全局区域数据结构,将不受约束的实例置于全局区域,通过布局算法移动实例,并通过对约束区域的控制实现了实例的约束,对于芯片布局中无约束、单个约束、多个约束等情况都能实现布局功能,并且不增加布局算法的时间复杂度。附图说明图1为本专利技术实施例所提供的一种FPGA区域及结构示意图;图2为本专利技术实施例提供的一种FPGA芯片布局中实现区域约束的方法流程示意图;图3为本专利技术实施例提供的移入方式一的移动过程示意图;图4为本专利技术实施例提供的移入方式二的移动过程示意图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。本专利技术实施例提供一种FPGA芯片布局中实现区域约束的方法,对于需要布局多个实例的芯片,根据约束文件创建对应的约束区域,将受约束的实例置于对应的约束区域中,并创建全局区域,将不受约束的实例置于全局区域中;当约束区域不存在约束错误时,进行芯片初始布局,为每个实例配置初始位置;而后进入布局流程,通过布局算法移动多个实例,并在移动完成后将被移出对应的约束区域的受约束的实例移入对应的约束区域;直至芯片布局满足布局结束条件,否则继续移动实例。图1为本专利技术实施例所提供的一种FPGA区域及结构示意图,如图1所示,FPGA结构是由包括多个逻辑模块的逻辑模块阵列构成,区域约束的目标是将电路网表中的实例(instance)约束到FPGA结构中多个逻辑模块中。在布局过程中,FPGA结构中的逻辑模块用位置坐标(x,y)来表示位置信息,如:左下角的逻辑模块的位置坐标为(0,0)。图2为本专利技术实施例提供的一种FPGA芯片布局中实现区域约束的方法流程示意图,如图2所示,该方法包括步骤S101-步骤S107,具体地:步骤S101,获取网表以及约束文件;其中,网表即指在FPGA的设计过程中综合后生成的电路网表文件,该网表包括需要布局在FPGA上的多个实例;约束文件为用户设置,约束文件中对受约束的实例进行了设置,设置了受约束实例所属的约束区域。步骤S102,根据约束文件创建至少一个约束区域,并将多个实例中受约束的实例置于对应的约束区域中;以及创建全局区域,并将不受约束的实例置于全局区域中。需要说明的是,全局区域对应整个芯片结构。步骤S103,检查上述区域约束是否存在错误,若存在,则执行步骤S104,否则执行步骤S105.在上述步骤中,区域约束存在错误即指在全局区域或约束区域存在的不合理约束,如:一个受约束的实例被约束与多个位置(受约束的实例被置于多个约束区域中);受约束的实例被置于错误位置(受约束的实例的类型和约束区域的模块类型不一致,如:IO类型的受约束的实例被放置与RAM模块上);约束区域内的受约束的实例超过该约束区域所能容纳的实例数量,或者约束区域内的受约束的实例超过该约束区域的容量。需要说明的是,以上对不合理约束的举例仅为本专利技术实施例的几个实施方式,并不限定本专利技术技术方案。步骤S104,报错退出,由于检查出区域约束存在错误,因此需退出此次布局。步骤S105,对芯片进行初始布局,为每个实例分配初始位置;步骤S106,通过布局算法移动实例,并在移动完成后,执行步骤S107.具体地,首先经过布局算法的计算获得每个实例的新位置坐标,而后根据新位置坐标将实例移动到对应的新位置上,并在移动完成后。需要说明的是,布局算法在全局区域的数据结构上运行,以便在布局时,无论有无区域约束都能以同样的流程进行布局算法,完成实例的移动,是整个布局流程不受区域约束的限制。步骤S107,判断受约束的实例是否被移出对应的约束区域,若是则执行步骤S108,否则执行步骤S109。需要说明的是,由于基于布局算法的实例移动是全局的,所以受约束的实例存在被移出对应约束区域的可能,因此,需对受约束的实例是否被移出对应的约束区域进行检查判断。步骤S108,将被移出对应的约束区域的受约束的实例移入对应的约束区域,具体移入方式详见移入方式一和移入方式二。步骤S109,判断芯片的布局是个满足布局结束条件,若满足则执行步骤S110,否则继续执行步骤S106.步骤S110,布局结束。第一种区域约束:当约束区域的位置固定、大小固定时,如果受约束的实例被移出对应的约束区域,本专利技术实施例采用移入方式一将受约束的实例移入对应本文档来自技高网...
一种FPGA芯片布局中实现区域约束的方法

【技术保护点】
一种FPGA芯片布局中实现区域约束的方法,其特征在于,所述方法包括:获取包括多个实例的网表,并获取约束文件;根据所述约束文件创建至少一个约束区域,并将所述多个实例中受约束的实例置于对应的约束区域,以及创建全局区域,并将所述多个实例中不受约束的实例置于所述全局区域;当所述约束区域不存在约束错误时,进行芯片初始布局,为每个所述实例分配初始位置;通过布局算法移动所述多个实例,并在移动完成后判断所述受约束的实例是否被移出对应的约束区域;当所述受约束的实例被移出对应的约束区域时,将所述受约束的实例移入对应的约束区域;判断所述芯片布局是否满足布局结束条件,若满足,则结束芯片布局。

【技术特征摘要】
1.一种FPGA芯片布局中实现区域约束的方法,其特征在于,所述方法包括:获取包括多个实例的网表,并获取约束文件;根据所述约束文件创建至少一个约束区域,并将所述多个实例中受约束的实例置于对应的约束区域,以及创建全局区域,并将所述多个实例中不受约束的实例置于所述全局区域;当所述约束区域不存在约束错误时,进行芯片初始布局,为每个所述实例分配初始位置;通过布局算法移动所述多个实例,并在移动完成后判断所述受约束的实例是否被移出对应的约束区域;当所述受约束的实例被移出对应的约束区域时,将所述受约束的实例移入对应的约束区域;判断所述芯片布局是否满足布局结束条件,若满足,则结束芯片布局。2.根据权利要求1所述的方法,其特征在于,当所述约束区域的位置和大小固定时,所述将受约束的实例移入对应的约束区域,包括:直接将不在对应约束区域的受约束的实例移至对应约束区域的边界上。3.根据权利要求1所述的方...

【专利技术属性】
技术研发人员:李明樊平
申请(专利权)人:北京深维科技有限公司
类型:发明
国别省市:北京;11

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

1