[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN103366029A - On-site programmable gate array chip layout method - Google Patents

On-site programmable gate array chip layout method Download PDF

Info

Publication number
CN103366029A
CN103366029A CN2012100937640A CN201210093764A CN103366029A CN 103366029 A CN103366029 A CN 103366029A CN 2012100937640 A CN2012100937640 A CN 2012100937640A CN 201210093764 A CN201210093764 A CN 201210093764A CN 103366029 A CN103366029 A CN 103366029A
Authority
CN
China
Prior art keywords
module
logic
layout
wiring
gate array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012100937640A
Other languages
Chinese (zh)
Other versions
CN103366029B (en
Inventor
李明
李艳
于芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruili Flat Core Microelectronics Guangzhou Co Ltd
Original Assignee
Institute of Microelectronics of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN201210093764.0A priority Critical patent/CN103366029B/en
Publication of CN103366029A publication Critical patent/CN103366029A/en
Application granted granted Critical
Publication of CN103366029B publication Critical patent/CN103366029B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供一种现场可编程门阵列芯片布局方法,提供现场可编程门阵列芯片的逻辑单元的结构信息和打包之后生成的逻辑模块的网表信息;根据所述芯片的逻辑单元的结构信息建立布线资源图;根据所述网表信息和布线资源图进行现场可编程门阵列芯片的布局,同时进行快速布线。本发明在布局过程中根据布线资源图进行快速布线,将布局和布线过程紧密结合,提高了布线成功率,同时降低了电路的延时,提高了布线资源利用率。

Figure 201210093764

The invention provides a field programmable gate array chip layout method, which provides the structural information of the logic unit of the field programmable gate array chip and the netlist information of the logic module generated after packaging; Wiring resource map; according to the netlist information and the wiring resource map, the layout of the field programmable gate array chip is carried out, and the fast wiring is carried out at the same time. The invention performs fast wiring according to the wiring resource map in the layout process, closely combines the layout and wiring process, improves the success rate of wiring, reduces the delay of the circuit at the same time, and improves the utilization rate of wiring resources.

Figure 201210093764

Description

一种现场可编程门阵列芯片布局方法A Field Programmable Gate Array Chip Layout Method

技术领域 technical field

本发明涉及集成电路设计和电子设计自动化领域,特别是涉及一种现场可编程门阵列芯片布局方法。The invention relates to the fields of integrated circuit design and electronic design automation, in particular to a field programmable gate array chip layout method.

背景技术 Background technique

FPGA(Field-Programmable Gate Array,现场可编程门阵列)芯片是目前市场上广泛使用的可编程器件,具有开发周期短和成本低等优点。通过逻辑模块的布局和逻辑模块之间互连线的布线,FPGA芯片可以实现各种各样的应用,因此,在进行FPGA设计的软件流程中,布局和布线是至关重要的步骤。布局确定了实现电路功能需要的各逻辑模块在FPGA芯片中的位置,逻辑模块之间通过互连线的布线相连接,布局的优化目标是把相连的逻辑模块靠近放置以最大限度地减少所需要的布线资源,同时,还需要平衡FPGA芯片中的布线密度和电路延时。完成FPGA芯片的布局后,布线器就可打通合适的可编程开关以连接电路需要的所有逻辑模块的输入和输出引脚,完成FPGA芯片的布局和布线。FPGA (Field-Programmable Gate Array, Field Programmable Gate Array) chip is a programmable device widely used in the market, which has the advantages of short development cycle and low cost. Through the layout of logic modules and the wiring of interconnection lines between logic modules, FPGA chips can realize various applications. Therefore, in the software flow of FPGA design, layout and wiring are crucial steps. The layout determines the position of each logic module required to realize the circuit function in the FPGA chip, and the logic modules are connected by the wiring of the interconnection line. The optimization goal of the layout is to place the connected logic modules close to minimize the required At the same time, it is also necessary to balance the wiring density and circuit delay in the FPGA chip. After the layout of the FPGA chip is completed, the router can open appropriate programmable switches to connect the input and output pins of all logic modules required by the circuit, and complete the layout and wiring of the FPGA chip.

在FPGA芯片中,布线的面积占芯片总面积的50%以上,布线后关键路径上布线通道的延时比逻辑模块的逻辑延时要大几倍到几十倍,这充分证明了在FPGA芯片中布线的重要性。绝大多数布局布线工具软件中,布局和布线之间的关系过于松散,通常布局时无法预测布线阶段所使用的互连线,因此无法预测互连线带来的延时,最终造成FPGA芯片的延时增大。In an FPGA chip, the area of wiring accounts for more than 50% of the total area of the chip, and the delay of the wiring channel on the critical path after wiring is several to dozens of times larger than the logic delay of the logic module, which fully proves that in FPGA chips The importance of wiring. In most layout and routing tool software, the relationship between layout and routing is too loose. Usually, the interconnection lines used in the wiring stage cannot be predicted during layout, so the delay caused by the interconnection lines cannot be predicted, which eventually leads to FPGA chips. Latency increases.

目前,降低FPGA芯片延时的最好解决方法是将布局和布线同时进行,但是,布局和布线同时进行时,布局布线工具软件运行时间会增加数十倍以上,严重影响FPGA芯片的布局布线时间。At present, the best solution to reduce the delay of FPGA chips is to perform layout and routing at the same time. However, when the layout and routing are performed at the same time, the running time of the placement and routing tool software will increase by more than ten times, which seriously affects the placement and routing time of the FPGA chip. .

发明内容 Contents of the invention

本发明的目的是提供一种现场可编程门阵列芯片的布局方法,实现现场可编程门阵列芯片的快速布局并降低电路延时。The object of the present invention is to provide a field programmable gate array chip layout method, realize the fast layout of the field programmable gate array chip and reduce the circuit delay.

本发明提供一种现场可编程门阵列芯片布局方法,包括步骤:The invention provides a field programmable gate array chip layout method, comprising steps:

提供现场可编程门阵列芯片的逻辑单元的结构信息和打包之后生成的逻辑模块的网表信息;Provide the structural information of the logic unit of the field programmable gate array chip and the netlist information of the logic module generated after packaging;

根据所述芯片的逻辑单元的结构信息建立布线资源图;Establishing a wiring resource map according to the structural information of the logic unit of the chip;

根据所述网表信息和布线资源图进行现场可编程门阵列芯片的布局,同时进行快速布线。According to the net list information and the wiring resource map, the layout of the field programmable gate array chip is carried out, and the fast wiring is carried out at the same time.

优选地,所述根据所述网表信息和布线资源图进行现场可编程门阵列芯片的布局,同时进行快速布线,包括步骤:Preferably, said carrying out the layout of field programmable gate array chip according to said netlist information and wiring resource map, carry out fast wiring simultaneously, comprise the step:

随机布局所述逻辑模块和快速预布线,并设定布局温度,将所述互连线被占用总次数存储在数据结构中;random layout of the logic modules and fast pre-wiring, and setting the layout temperature, and storing the total number of times the interconnection lines are occupied in a data structure;

根据所述网表信息移动或交换所述逻辑模块进行布局;moving or exchanging the logic modules according to the netlist information for layout;

根据所述布局温度计算所述移动或交换逻辑模块的成本值;calculating a cost value for moving or swapping logic modules based on the layout temperature;

根据所述布线资源图对所述移动或交换逻辑模块进行快速局部布线,更新所述数据结构中的互连线被占用次数;Perform fast local wiring on the moving or switching logic module according to the wiring resource map, and update the number of times interconnection lines are occupied in the data structure;

计算所述快速局部布线后的成本值,根据所述成本值变化判断所述移动或交换是否接受;Calculating the cost value after the fast local wiring, and judging whether the move or exchange is accepted according to the change of the cost value;

判断布局温度是否满足设定条件,如果否,更新布局温度,执行所述根据所述网表信息移动或交换所述逻辑模块进行布局步骤;如果是,结束布局。Judging whether the layout temperature satisfies the set condition, if not, updating the layout temperature, performing the step of moving or exchanging the logic module according to the netlist information for layout; if yes, ending the layout.

优选地,采用路径搜索算法进行快速预布线。Preferably, a path search algorithm is used for fast pre-wiring.

优选地,所述根据所述网表信息移动或交换所述逻辑模块进行布局步骤为:Preferably, the step of moving or exchanging the logic module according to the netlist information is:

在所述网表信息中选择第一模块和第一模块坐标,其中所述第一模块没有被约束到固定位置,第一模块的位置不在所述第一模块坐标,第一模块的类型与所述第一模块坐标处的模块类型相同;Select the first module and the first module coordinates in the netlist information, wherein the first module is not constrained to a fixed position, the position of the first module is not in the first module coordinates, the type of the first module is consistent with the first module coordinates The module types at the coordinates of the first module mentioned above are the same;

如果所述第一模块坐标未被占用,则移动所述第一模块至第一模块坐标处;如果所述第一模块坐标被第二模块占用,所述第二模块未被约束在第一模块坐标,则交换所述第一模块和第二模块。If the coordinates of the first module are not occupied, move the first module to the coordinates of the first module; if the coordinates of the first module are occupied by the second module, the second module is not constrained to the first module coordinates, swap the first module and the second module.

优选地,所述计算所述移动或交换逻辑模块的成本值步骤为:Preferably, the step of calculating the cost value of moving or exchanging the logic module is:

采用模拟退火算法计算所述移动或交换逻辑模块的成本值。A simulated annealing algorithm is used to calculate the cost value of moving or exchanging the logic module.

优选地,所述根据所述布线资源图对所述移动或交换逻辑模块进行快速局部布线,具体为:Preferably, performing fast local wiring on the moving or switching logic module according to the wiring resource map, specifically:

对移动或交换后的逻辑模块所使用的线网进行遍历,每条线网都使用布线算法进行快速布线,所述布线算法为路径搜索算法。The wire nets used by the moved or swapped logic modules are traversed, and each wire net is quickly wired using a routing algorithm, and the routing algorithm is a path search algorithm.

优选地,所述提供现场可编程门阵列芯片的逻辑单元的结构信息,包括:Preferably, said providing the structural information of the logic unit of the field programmable gate array chip includes:

提供各种类型的逻辑单元块的位置、逻辑单元块的引脚名称、引脚位置、逻辑单元块输入引脚到输出引脚的延时、布线通道的宽度、互连线段的分布和延时及布线开关的位置、类型、延时。Provides the location of various types of logic cell blocks, pin names of logic cell blocks, pin positions, delays from input pins to output pins of logic cell blocks, width of routing channels, distribution and delay of interconnection segments And the position, type and delay of the wiring switch.

优选地,所述提供现场可编程门阵列芯片的逻辑单元打包之后生成的逻辑模块的网表信息,包括:Preferably, the netlist information of the logic module generated after the logic unit of the field programmable gate array chip is packaged includes:

提供所述逻辑单元打包之后生成的逻辑模块的名称和类型、使用到的逻辑单元块的引脚、以及所有线网的源端和漏端。Provide the name and type of the logic module generated after the logic unit is packaged, the pins of the used logic unit block, and the source and drain terminals of all nets.

优选地,所述根据所述芯片的逻辑单元的结构信息建立布线资源图,包括:Preferably, the establishment of the wiring resource map according to the structural information of the logic unit of the chip includes:

根据所述芯片的逻辑单元的结构信息建立逻辑单元源端与逻辑模块输出引脚的连接关系,逻辑单元漏端与逻辑模块输入引脚的连接关系,逻辑模块输入输出引脚与互连线的连接关系,互连线之间的连接关系,同一逻辑模块内部逻辑单元的连接关系,及其他模块与互连线的连接关系。According to the structural information of the logic unit of the chip, the connection relationship between the source end of the logic unit and the output pin of the logic module, the connection relationship between the drain end of the logic unit and the input pin of the logic module, and the connection between the input and output pins of the logic module and the interconnection line are established. Connection relationship, connection relationship between interconnection lines, connection relationship of logic units inside the same logic module, and connection relationship between other modules and interconnection lines.

与现有技术相比,本发明的方法具有下列优点:Compared with prior art, method of the present invention has following advantage:

本发明的FPGA芯片布局方法,提供现场可编程门阵列芯片的逻辑单元的结构信息和打包之后生成的逻辑模块的网表信息;根据所述芯片的逻辑单元的结构信息建立布线资源图;根据所述网表信息和布线资源图进行现场可编程门阵列芯片的布局,同时进行快速布线。本发明在布局过程中根据布线资源图进行快速布线,将布局和布线过程紧密结合,提高了布线成功率,同时降低了电路的延时,提高了布线资源利用率。The FPGA chip layout method of the present invention provides the structure information of the logic unit of the field programmable gate array chip and the netlist information of the logic module generated after packaging; establishes a wiring resource map according to the structure information of the logic unit of the chip; The layout of the field programmable gate array chip is carried out according to the netlist information and the wiring resource map, and the fast wiring is carried out at the same time. The invention performs fast wiring according to the wiring resource map in the layout process, closely combines the layout and wiring process, improves the success rate of wiring, reduces the delay of the circuit at the same time, and improves the utilization rate of wiring resources.

附图说明 Description of drawings

通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。The above and other objects, features and advantages of the present invention will be more clearly illustrated by the accompanying drawings. Like reference numerals designate like parts throughout the drawings. The drawings are not intentionally scaled according to the actual size, and the emphasis is on illustrating the gist of the present invention.

图1为本发明的FPGA芯片布局方法流程图;Fig. 1 is FPGA chip layout method flowchart of the present invention;

图2为根据FPGA芯片结构信息建立的布线资源图的示意图;FIG. 2 is a schematic diagram of a wiring resource map established according to FPGA chip structure information;

图3为根据网表信息和布线资源图进行FPGA芯片的布局流程图;Fig. 3 is the layout flowchart of carrying out FPGA chip according to netlist information and wiring resource map;

图4和图5为布局中移动和交换模块位置示意图。Figure 4 and Figure 5 are schematic diagrams of the positions of the mobile and exchange modules in the layout.

具体实施方式 Detailed ways

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the drawings in the embodiments of the present invention. Apparently, the described embodiments are only some of the embodiments of the present invention, but not all of them. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.

其次,本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,所述示意图只是示例,其在此不应限制本发明保护的范围。Secondly, the present invention is described in detail with reference to the schematic diagrams. When describing the embodiments of the present invention in detail, for the convenience of explanation, the schematic diagrams are only examples, which should not limit the protection scope of the present invention.

正如背景技术所述,目前绝大多数布局布线工具软件中,布局和布线之间的关系过于松散,通常布局时无法预测布线阶段所使用的互连线,因此无法预测互连线带来的延时,最终造成FPGA芯片的延时增大。降低FPGA芯片延时的最好解决方法是将布局和布线同时进行,但是,布局和布线同时进行时,布局布线工具软件运行时间会增加数十倍以上,严重影响FPGA芯片的布局布线时间。As mentioned in the background technology, in most of the layout and routing tool software, the relationship between placement and routing is too loose. Usually, the interconnection lines used in the routing stage cannot be predicted during layout, so the delay caused by the interconnection lines cannot be predicted. , eventually causing the delay of the FPGA chip to increase. The best solution to reduce FPGA chip delay is to perform layout and routing at the same time. However, when layout and routing are performed at the same time, the running time of the placement and routing tool software will increase by more than ten times, which seriously affects the placement and routing time of the FPGA chip.

为了快速解决FPGA芯片布局布线延时问题,本发明提供了一种FPGA芯片布局方法,该方法在FPGA芯片布局时,首先进行逻辑模块的初始布局,同时进行局部快速预布线,利用模拟退火算法计算布局时逻辑模块移动或交换的成本值,根据所述成本值判断逻辑模块移动或交换是否接受,然后根据布局温度,判断是否结束布局。本发明的FPGA芯片布局方法将布局过程和布线过程紧密结合,有效减低了互连线的延时,提高了布线资源利用率。In order to quickly solve the problem of FPGA chip layout and wiring delay, the present invention provides a FPGA chip layout method. When the method is in the FPGA chip layout, the initial layout of the logic module is first carried out, and at the same time, local fast pre-wiring is performed, and the simulated annealing algorithm is used to calculate The cost value of logical module movement or exchange during layout is used to determine whether the logical module movement or exchange is accepted, and then determine whether to end the layout according to the layout temperature. The FPGA chip layout method of the invention closely combines the layout process and the wiring process, effectively reduces the delay of interconnection lines, and improves the utilization rate of wiring resources.

本发明的现场可编程门阵列芯片布局方法流程图参见图1,包括步骤:Refer to Fig. 1 for the flow chart of field programmable gate array chip layout method of the present invention, comprise steps:

步骤S1,提供现场可编程门阵列芯片的逻辑单元的结构信息和打包之后生成的逻辑模块的网表信息。Step S1, providing the structure information of the logic unit of the field programmable gate array chip and the netlist information of the logic module generated after packing.

FPGA芯片结构信息通常包括芯片中各种类型的逻辑单元块的位置、逻辑单元块的引脚名称、引脚位置、逻辑单元块输入引脚到输出引脚的延时、布线通道的宽度、互连线段的分布和延时及布线开关的位置、类型、延时等。FPGA chip structure information usually includes the position of various types of logic unit blocks in the chip, the pin name and pin position of the logic unit block, the delay from the input pin to the output pin of the logic unit block, the width of the wiring channel, the interconnection The distribution and delay of the connection segment and the position, type and delay of the wiring switch.

FPGA芯片的逻辑单元经过工艺映射后打包生成逻辑模块,所述逻辑模块由数个逻辑单元和局部互连线组成,逻辑单元的源端通过局部互连线与逻辑模块的输出引脚连接,逻辑单元的漏端通过局部互连线与逻辑模块的输入引脚连接。The logic unit of the FPGA chip is packaged to generate a logic module after process mapping. The logic module is composed of several logic units and local interconnect lines. The source of the logic unit is connected to the output pin of the logic module through the local interconnect line. The drain of the cell is connected to the input pin of the logic module through the local interconnect line.

打包之后生成的逻辑模块的网表信息包括打包之后生成的逻辑模块的名称和类型、使用到的逻辑单元块的引脚、以及所有线网的源端和漏端。The netlist information of the logic module generated after packaging includes the name and type of the logic module generated after packaging, the pins of the used logic unit block, and the source and drain terminals of all nets.

步骤S2,根据所述芯片的逻辑单元的结构信息建立布线资源图。Step S2, establishing a wiring resource map according to the structure information of the logic unit of the chip.

互连线布线资源连通FPGA内部的所有逻辑单元,而互连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。The interconnection wiring resources connect all logic units inside the FPGA, and the length and process of the interconnection determine the driving capability and transmission speed of the signal on the connection.

如图2所示,布线资源图包括:逻辑单元源端与逻辑模块输出引脚的连接关系,逻辑单元漏端与逻辑模块输入引脚的连接关系;逻辑模块输入输出引脚与互连线的连接关系;互连线之间的连接关系,例如互连线1、互连线2和互连线3之间的连接关系;同一逻辑模块内部逻辑单元的连接关系,及其他模块与互连线的连接关系。As shown in Figure 2, the wiring resource diagram includes: the connection relationship between the source terminal of the logic unit and the output pin of the logic module, the connection relationship between the drain terminal of the logic unit and the input pin of the logic module; the connection relationship between the input and output pins of the logic module and the interconnection line Connection relationship; the connection relationship between interconnection lines, such as the connection relationship between interconnection line 1, interconnection line 2 and interconnection line 3; the connection relationship between logic units within the same logic module, and other modules and interconnection lines connection relationship.

步骤S3,根据所述网表信息和布线资源图进行FPGA芯片的布局,同时进行快速布线。In step S3, the layout of the FPGA chip is performed according to the netlist information and the wiring resource map, and fast wiring is performed at the same time.

本发明的FPGA芯片布局方法中,参见图3,具体布局过程可以包括:In the FPGA chip layout method of the present invention, referring to Fig. 3, the specific layout process can include:

步骤S31,随机布局所述逻辑模块和快速预布线,并设定布局温度,将所述互连线被占用总次数存储在数据结构中。Step S31 , randomly layout the logic modules and fast pre-wiring, set the layout temperature, and store the total number of times the interconnect lines are occupied in a data structure.

将电路需要的逻辑模块随机放置在FPGA芯片的各个位置上,完成初始布局,并设定布局温度,对初始布局进行互连线快速布线。Randomly place the logic modules required by the circuit on various positions of the FPGA chip, complete the initial layout, set the layout temperature, and quickly route the interconnection lines for the initial layout.

互连线快速布线可以采用路径搜索算法(PathFinder),在布线时假定每条互连线都是关键的,不记布线资源的重复占用问题,统计每条互连线被占用次数,将互连通道内所有互连线被占用次数叠加,存储在数据结构congestion中。The fast routing of interconnection lines can use the path search algorithm (PathFinder). When routing, it is assumed that each interconnection line is critical, and the problem of repeated occupation of wiring resources is not remembered. The number of times each interconnection line is occupied is counted, and the interconnection The number of occupied times of all interconnect lines in the channel is superimposed and stored in the data structure congestion.

步骤S32,根据所述网表信息移动或交换所述逻辑模块进行布局。Step S32, moving or exchanging the logic modules according to the netlist information for layout.

参见图4和图5,布局中逻辑模块移动或交换过程如下:Referring to Figure 4 and Figure 5, the logic module movement or exchange process in the layout is as follows:

在所述网表信息中随机选取第一模块A,并随机选取第一模块坐标B,其中,第一模块A没有被约束到固定位置,第一模块A的位置不在第一模块坐标B,第一模块A的类型和第一模块坐标B处的模块类型相同;第一模块坐标B处如果被模块占据,此模块没有被约束在固定位置。The first module A is randomly selected in the netlist information, and the first module coordinate B is randomly selected, wherein the first module A is not constrained to a fixed position, the position of the first module A is not at the first module coordinate B, and The type of a module A is the same as the module type at the first module coordinate B; if the first module coordinate B is occupied by a module, this module is not constrained to a fixed position.

当以上条件满足时,如果位置B没有被占用,如图4,模块A移动到模块坐标B处;如果位置B被模块C占用,如图5,则模块A和模块C互换位置。When the above conditions are met, if position B is not occupied, as shown in Figure 4, module A moves to module coordinate B; if position B is occupied by module C, as shown in Figure 5, then module A and module C exchange positions.

其中,所述模块的类型可以为逻辑模块、输入\输出模块等。Wherein, the type of the module may be a logic module, an input/output module, and the like.

步骤S33,根据所述布局温度计算所述移动或交换逻辑模块的成本值。Step S33, calculating the cost value of moving or exchanging the logic module according to the layout temperature.

在布局过程中计算移动或交换逻辑模块的成本值,采用模拟退火算法(SA,Simulated Annealing)。模拟退火算法是模仿逐渐冷却熔化金属以制造金属材料的退火过程。退火算法的伪代码如下:Calculate the cost value of moving or exchanging logic modules during the layout process, using simulated annealing algorithm (SA, Simulated Annealing). Simulated annealing algorithm is an annealing process that mimics the gradual cooling of molten metal to create metallic materials. The pseudocode of the annealing algorithm is as follows:

Figure BDA0000149585450000061
Figure BDA0000149585450000061

其中,bb_cost为线网边界框值,代表的是逻辑模块间的距离,timing_cost为逻辑模块间的延时值。Among them, bb_cost is the line network bounding box value, which represents the distance between logic modules, and timing_cost is the delay value between logic modules.

步骤S34,根据所述布线资源图对所述移动或交换逻辑模块进行快速局部布线,更新所述数据结构中的互连线被占用次数。Step S34 , performing fast local routing on the moving or switching logic module according to the routing resource map, and updating the number of times interconnection lines are occupied in the data structure.

当模块被移动或交换后,将线网原占用互连线释放,统计移动或交换逻辑模块所用线网,对移动或交换后的逻辑模块所使用的线网进行遍历,每条线网都使用布线算法进行快速布线,布线算法为路径搜索算法,布线时不考虑互连线是否被占用,但对互连线被占用次数进行统计,将整个互连通道中互连线被占用次数叠加计算并存储在数据结构congestion中。When the module is moved or exchanged, release the interconnection line originally occupied by the network, count the network used by the moved or exchanged logic module, traverse the network used by the moved or exchanged logic module, and use each network The routing algorithm performs fast routing. The routing algorithm is a path search algorithm. When routing, it does not consider whether the interconnection line is occupied, but counts the number of times the interconnection line is occupied, and calculates the number of times the interconnection line is occupied in the entire interconnection channel. Stored in the data structure congestion.

步骤S35,计算所述快速局部布线后的成本值,根据所述成本值变化判断所述移动或交换是否接受。Step S35, calculating the cost value after the rapid local routing, and judging whether the move or exchange is accepted according to the change of the cost value.

计算成本值,将步骤S33中的成本值Cost(S)公式增加一项约束Afac*congestion来描述互连通道的拥挤度,公式如下:Calculate the cost value, add a constraint Afac*congestion to the cost value Cost (S) formula in step S33 to describe the degree of congestion of the interconnection channel, the formula is as follows:

Cost(S)=(1-timing_tradeoff-Afac)*bb_cost+timing_tradeoff*timing_cost+Afac*congestion;其中新加入的约束项中congestion项代表互连通道中的互连线使用数目是否超过互连通道中的互连线数目,如果超过congestion值为1,否则为0;Cost(S)=(1-timing_tradeoff-Afac)*bb_cost+timing_tradeoff*timing_cost+Afac*congestion; the congestion item in the newly added constraint item represents whether the number of interconnection lines used in the interconnection channel exceeds the number of interconnection lines in the interconnection channel The number of interconnection lines, if it exceeds the congestion value is 1, otherwise it is 0;

计算IC=Cost(Snew)-Cost(S);且r=random(0,1);Calculate IC=Cost(S new )-Cost(S); and r=random(0,1);

如果r<成立,则此次模块移动或交换接受,否则拒绝。If r< holds true, then the module move or exchange is accepted, otherwise it is rejected.

步骤S36,判断FPGA芯片的布局温度是否满足设定条件,如果否,更新布局温度,执行步骤S32;如果是,结束布局。Step S36, judging whether the layout temperature of the FPGA chip satisfies the set condition, if not, updating the layout temperature, and executing step S32; if yes, ending the layout.

布局温度满足的设定条件为温度条件,设定条件与线网占用数有关,通常设定为一个比较小的值。如果布局温度不满足设定条件,即布局温度比较高时,更新布局温度后,执行步骤S32,根据所述网表信息移动或交换所述逻辑模块进行布局,进行循环,直至FPGA芯片的布局温度满足设定条件,则布局结束,得到布局结果。The setting condition that the layout temperature satisfies is the temperature condition, and the setting condition is related to the number of wire nets occupied, and is usually set to a relatively small value. If the layout temperature does not meet the set conditions, that is, when the layout temperature is relatively high, after the layout temperature is updated, step S32 is performed, and the logic module is moved or exchanged according to the netlist information for layout, and the cycle is performed until the layout temperature of the FPGA chip is reached. If the set conditions are met, the layout ends and the layout result is obtained.

采用本发明的FPGA芯片布局方法进行布局,在布局过程中进行了快速预布线,有效结合了布局和布线过程,能够提高布线成功率,提高布线资源利用率,降低电路的延时。The FPGA chip layout method of the present invention is used for layout, fast pre-wiring is carried out in the layout process, the layout and wiring processes are effectively combined, the success rate of wiring can be improved, the utilization rate of wiring resources can be improved, and the delay of circuits can be reduced.

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围。The above descriptions are only preferred embodiments of the present invention, and do not limit the present invention in any form. Any person familiar with the art, without departing from the scope of the technical solution of the present invention, can use the methods and technical content disclosed above to make many possible changes and modifications to the technical solution of the present invention, or modify it into an equivalent implementation of equivalent changes example. Therefore, any simple modifications, equivalent changes and modifications made to the above embodiments according to the technical essence of the present invention, which do not deviate from the content of the technical solution of the present invention, still belong to the scope of protection of the technical solution of the present invention.

Claims (9)

1.一种现场可编程门阵列芯片布局方法,其特征在于,包括步骤:1. A field programmable gate array chip layout method, is characterized in that, comprises steps: 提供现场可编程门阵列芯片的逻辑单元的结构信息和打包之后生成的逻辑模块的网表信息;Provide the structural information of the logic unit of the field programmable gate array chip and the netlist information of the logic module generated after packaging; 根据所述芯片的逻辑单元的结构信息建立布线资源图;Establishing a wiring resource map according to the structural information of the logic unit of the chip; 根据所述网表信息和布线资源图进行现场可编程门阵列芯片的布局,同时进行快速布线。According to the net list information and the wiring resource map, the layout of the field programmable gate array chip is carried out, and the fast wiring is carried out at the same time. 2.根据权利要求1所述的方法,其特征在于,所述根据所述网表信息和布线资源图进行现场可编程门阵列芯片的布局,同时进行快速布线,包括步骤:2. method according to claim 1, it is characterized in that, described according to described netlist information and wiring resource map, carry out the layout of field programmable gate array chip, carry out fast wiring simultaneously, comprise step: 随机布局所述逻辑模块和快速预布线,并设定布局温度,将所述互连线被占用总次数存储在数据结构中;random layout of the logic modules and fast pre-wiring, and setting the layout temperature, and storing the total number of times the interconnection lines are occupied in a data structure; 根据所述网表信息移动或交换所述逻辑模块进行布局;moving or exchanging the logic modules according to the netlist information for layout; 根据所述布局温度计算所述移动或交换逻辑模块的成本值;calculating a cost value for moving or swapping logic modules based on the layout temperature; 根据所述布线资源图对所述移动或交换逻辑模块进行快速局部布线,更新所述数据结构中的互连线被占用次数;Perform fast local wiring on the moving or switching logic module according to the wiring resource map, and update the number of times interconnection lines are occupied in the data structure; 计算所述快速局部布线后的成本值,根据所述成本值变化判断所述移动或交换是否接受;Calculating the cost value after the fast local wiring, and judging whether the move or exchange is accepted according to the change of the cost value; 判断布局温度是否满足设定条件,如果否,更新布局温度,执行所述根据所述网表信息移动或交换所述逻辑模块进行布局步骤;如果是,结束布局。Judging whether the layout temperature satisfies the set condition, if not, updating the layout temperature, performing the step of moving or exchanging the logic module according to the netlist information for layout; if yes, ending the layout. 3.根据权利要求2所述的方法,其特征在于,采用路径搜索算法进行快速预布线。3. The method according to claim 2, characterized in that a path search algorithm is used for fast pre-wiring. 4.根据权利要求2所述的方法,其特征在于,所述根据所述网表信息移动或交换所述逻辑模块进行布局步骤为:4. method according to claim 2, is characterized in that, described moving or exchanging described logic module according to described net list information and carrying out layout step is: 在所述网表信息中选择第一模块和第一模块坐标,其中所述第一模块没有被约束到固定位置,第一模块的位置不在所述第一模块坐标,第一模块的类型与所述第一模块坐标处的模块类型相同;Select the first module and the first module coordinates in the netlist information, wherein the first module is not constrained to a fixed position, the position of the first module is not in the first module coordinates, the type of the first module is consistent with the first module coordinates The module types at the coordinates of the first module mentioned above are the same; 如果所述第一模块坐标未被占用,则移动所述第一模块至第一模块坐标处;如果所述第一模块坐标被第二模块占用,所述第二模块未被约束在第一模块坐标,则交换所述第一模块和第二模块。If the coordinates of the first module are not occupied, move the first module to the coordinates of the first module; if the coordinates of the first module are occupied by the second module, the second module is not constrained to the first module coordinates, swap the first module and the second module. 5.根据权利要求2所述的方法,其特征在于,所述计算所述移动或交换逻辑模块的成本值步骤为:5. The method according to claim 2, wherein the step of calculating the cost of moving or exchanging the logic module is: 采用模拟退火算法计算所述移动或交换逻辑模块的成本值。A simulated annealing algorithm is used to calculate the cost value of moving or exchanging the logic module. 6.根据权利要求2所述的方法,其特征在于,所述根据所述布线资源图对所述移动或交换逻辑模块进行快速局部布线,具体为:6. The method according to claim 2, characterized in that, performing fast local wiring on the moving or switching logic module according to the wiring resource map, specifically: 对移动或交换后的逻辑模块所使用的线网进行遍历,每条线网都使用布线算法进行快速布线,所述布线算法为路径搜索算法。The wire nets used by the moved or swapped logic modules are traversed, and each wire net is quickly wired using a routing algorithm, and the routing algorithm is a path search algorithm. 7.根据权利要求1-6任一项所述的方法,其特征在于,所述提供现场可编程门阵列芯片的逻辑单元的结构信息,包括:7. according to the method described in any one of claim 1-6, it is characterized in that, the structural information of the logical unit of described provision field programmable gate array chip, comprises: 提供各种类型的逻辑单元块的位置、逻辑单元块的引脚名称、引脚位置、逻辑单元块输入引脚到输出引脚的延时、布线通道的宽度、互连线段的分布和延时及布线开关的位置、类型、延时。Provides the location of various types of logic cell blocks, pin names of logic cell blocks, pin positions, delays from input pins to output pins of logic cell blocks, width of routing channels, distribution and delay of interconnection segments And the position, type and delay of the wiring switch. 8.根据权利要求1-6任一项所述的方法,其特征在于,所述提供现场可编程门阵列芯片的逻辑单元打包之后生成的逻辑模块的网表信息,包括:8. according to the method described in any one of claim 1-6, it is characterized in that, the netlist information of the logic module that generates after the logic unit of described field programmable gate array chip is packed includes: 提供所述逻辑单元打包之后生成的逻辑模块的名称和类型、使用到的逻辑单元块的引脚、以及所有线网的源端和漏端。Provide the name and type of the logic module generated after the logic unit is packaged, the pins of the used logic unit block, and the source and drain terminals of all nets. 9.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述芯片的逻辑单元的结构信息建立布线资源图,包括:9. The method according to any one of claims 1-6, wherein the establishment of a wiring resource map according to the structural information of the logic unit of the chip comprises: 根据所述芯片的逻辑单元的结构信息建立逻辑单元源端与逻辑模块输出引脚的连接关系,逻辑单元漏端与逻辑模块输入引脚的连接关系,逻辑模块输入输出引脚与互连线的连接关系,互连线之间的连接关系,同一逻辑模块内部逻辑单元的连接关系,及其他模块与互连线的连接关系。According to the structural information of the logic unit of the chip, the connection relationship between the source end of the logic unit and the output pin of the logic module, the connection relationship between the drain end of the logic unit and the input pin of the logic module, and the connection between the input and output pins of the logic module and the interconnection line are established. Connection relationship, connection relationship between interconnection lines, connection relationship of logic units inside the same logic module, and connection relationship between other modules and interconnection lines.
CN201210093764.0A 2012-03-31 2012-03-31 On-site programmable gate array chip layout method Active CN103366029B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210093764.0A CN103366029B (en) 2012-03-31 2012-03-31 On-site programmable gate array chip layout method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210093764.0A CN103366029B (en) 2012-03-31 2012-03-31 On-site programmable gate array chip layout method

Publications (2)

Publication Number Publication Date
CN103366029A true CN103366029A (en) 2013-10-23
CN103366029B CN103366029B (en) 2016-04-06

Family

ID=49367368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210093764.0A Active CN103366029B (en) 2012-03-31 2012-03-31 On-site programmable gate array chip layout method

Country Status (1)

Country Link
CN (1) CN103366029B (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750885A (en) * 2013-12-29 2015-07-01 北京华大九天软件有限公司 Method for pre-distributing wiring resources for pins in integrated circuit layout wiring
CN105069216A (en) * 2015-07-31 2015-11-18 深圳市同创国芯电子有限公司 FPGA routing method and apparatus
CN106407023A (en) * 2016-09-06 2017-02-15 北京深维科技有限公司 Parallel wiring method for field-programmable gate array chip based on multi-core processor
CN106503296A (en) * 2016-09-23 2017-03-15 北京深维科技有限公司 A kind of process mapping method and device based on whitepack
CN106528923A (en) * 2016-09-27 2017-03-22 北京深维科技有限公司 Global layout method for chip
CN106649899A (en) * 2015-10-29 2017-05-10 京微雅格(北京)科技有限公司 Local memory layout method
CN107194075A (en) * 2017-05-24 2017-09-22 上海安路信息科技有限公司 The connecting line construction and distributing system and method for PLD
CN108133094A (en) * 2017-12-14 2018-06-08 中国电子科技集团公司第四十七研究所 For placement-and-routing's display methods of the field programmable gate array of antifuse
CN109086467A (en) * 2017-06-14 2018-12-25 上海复旦微电子集团股份有限公司 I/O cell layout method and device, medium and the equipment of programmable logic device
CN109284578A (en) * 2018-02-27 2019-01-29 上海安路信息科技有限公司 Logic circuit layout wiring method, graphic software platform method and its system
CN109635328A (en) * 2017-11-08 2019-04-16 成都华微电子科技有限公司 Integrated circuit layout method and distributed design approach
CN109829230A (en) * 2019-01-29 2019-05-31 中科亿海微电子科技(苏州)有限公司 The design method of FPGA IP kernel
CN110364506A (en) * 2019-07-04 2019-10-22 武汉理工大学 A Bionic Integrated Circuit with High Stability
CN111027274A (en) * 2019-12-18 2020-04-17 京微齐力(北京)科技有限公司 Three-dimensional chip layout method
CN113407258A (en) * 2021-07-05 2021-09-17 武汉理工大学 Self-adaptive resource allocation layout and wiring method and system of storage and computation integrated architecture
CN114169283A (en) * 2021-10-27 2022-03-11 深圳市紫光同创电子有限公司 Delay estimation method, device, device and storage medium for programmable logic device
CN114282474A (en) * 2021-11-16 2022-04-05 山东芯慧微电子科技有限公司 FPGA wiring resource data compression method
CN117151003A (en) * 2023-10-27 2023-12-01 中科亿海微电子科技(苏州)有限公司 FPGA layout method and device based on clock domain division

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030144828A1 (en) * 2001-07-30 2003-07-31 Lin Sharon Sheau-Pyng Hub array system and method
CN101771408A (en) * 2010-01-05 2010-07-07 中国人民解放军信息工程大学 FPGA hardware element generating method and device
CN102033987A (en) * 2010-11-30 2011-04-27 中国人民解放军信息工程大学 Method for distributing layout regions for FPGA (Field Programmable Gate Array) meta-components
CN102890729A (en) * 2011-07-18 2013-01-23 中国科学院微电子研究所 Method for carrying out layout and wiring on high-fanout programmable gate array

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030144828A1 (en) * 2001-07-30 2003-07-31 Lin Sharon Sheau-Pyng Hub array system and method
CN101771408A (en) * 2010-01-05 2010-07-07 中国人民解放军信息工程大学 FPGA hardware element generating method and device
CN102033987A (en) * 2010-11-30 2011-04-27 中国人民解放军信息工程大学 Method for distributing layout regions for FPGA (Field Programmable Gate Array) meta-components
CN102890729A (en) * 2011-07-18 2013-01-23 中国科学院微电子研究所 Method for carrying out layout and wiring on high-fanout programmable gate array

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750885A (en) * 2013-12-29 2015-07-01 北京华大九天软件有限公司 Method for pre-distributing wiring resources for pins in integrated circuit layout wiring
CN105069216A (en) * 2015-07-31 2015-11-18 深圳市同创国芯电子有限公司 FPGA routing method and apparatus
CN105069216B (en) * 2015-07-31 2018-08-21 深圳市紫光同创电子有限公司 A kind of FPGA wiring methods and device
CN106649899B (en) * 2015-10-29 2023-04-18 京微雅格(北京)科技有限公司 Local memory layout method
CN106649899A (en) * 2015-10-29 2017-05-10 京微雅格(北京)科技有限公司 Local memory layout method
CN106407023A (en) * 2016-09-06 2017-02-15 北京深维科技有限公司 Parallel wiring method for field-programmable gate array chip based on multi-core processor
CN106503296A (en) * 2016-09-23 2017-03-15 北京深维科技有限公司 A kind of process mapping method and device based on whitepack
CN106503296B (en) * 2016-09-23 2019-08-27 京微齐力(北京)科技有限公司 A kind of process mapping method and device based on whitepack
CN106528923A (en) * 2016-09-27 2017-03-22 北京深维科技有限公司 Global layout method for chip
CN106528923B (en) * 2016-09-27 2019-08-13 京微齐力(北京)科技有限公司 A kind of chip global wiring method
CN107194075A (en) * 2017-05-24 2017-09-22 上海安路信息科技有限公司 The connecting line construction and distributing system and method for PLD
CN107194075B (en) * 2017-05-24 2020-11-17 上海安路信息科技有限公司 Wiring structure of programmable logic device and wiring layout system and method
CN109086467A (en) * 2017-06-14 2018-12-25 上海复旦微电子集团股份有限公司 I/O cell layout method and device, medium and the equipment of programmable logic device
CN109635328A (en) * 2017-11-08 2019-04-16 成都华微电子科技有限公司 Integrated circuit layout method and distributed design approach
CN108133094A (en) * 2017-12-14 2018-06-08 中国电子科技集团公司第四十七研究所 For placement-and-routing's display methods of the field programmable gate array of antifuse
CN109284578B (en) * 2018-02-27 2021-06-01 上海安路信息科技股份有限公司 Logic circuit layout and wiring method, graphical display method and system thereof
CN109284578A (en) * 2018-02-27 2019-01-29 上海安路信息科技有限公司 Logic circuit layout wiring method, graphic software platform method and its system
CN109829230A (en) * 2019-01-29 2019-05-31 中科亿海微电子科技(苏州)有限公司 The design method of FPGA IP kernel
CN110364506B (en) * 2019-07-04 2022-01-28 武汉理工大学 Bionic integrated circuit with high stability
CN110364506A (en) * 2019-07-04 2019-10-22 武汉理工大学 A Bionic Integrated Circuit with High Stability
CN111027274B (en) * 2019-12-18 2023-08-22 京微齐力(北京)科技有限公司 Three-dimensional chip layout method
CN111027274A (en) * 2019-12-18 2020-04-17 京微齐力(北京)科技有限公司 Three-dimensional chip layout method
CN113407258A (en) * 2021-07-05 2021-09-17 武汉理工大学 Self-adaptive resource allocation layout and wiring method and system of storage and computation integrated architecture
CN114169283A (en) * 2021-10-27 2022-03-11 深圳市紫光同创电子有限公司 Delay estimation method, device, device and storage medium for programmable logic device
CN114169283B (en) * 2021-10-27 2024-04-05 深圳市紫光同创电子有限公司 Delay estimation method, delay estimation device, delay estimation equipment and delay estimation storage medium of programmable logic device
CN114282474A (en) * 2021-11-16 2022-04-05 山东芯慧微电子科技有限公司 FPGA wiring resource data compression method
CN117151003A (en) * 2023-10-27 2023-12-01 中科亿海微电子科技(苏州)有限公司 FPGA layout method and device based on clock domain division
CN117151003B (en) * 2023-10-27 2024-01-30 中科亿海微电子科技(苏州)有限公司 FPGA layout method and device based on clock domain division

Also Published As

Publication number Publication date
CN103366029B (en) 2016-04-06

Similar Documents

Publication Publication Date Title
CN103366029B (en) On-site programmable gate array chip layout method
CN103366028B (en) On-site programmable gate array chip layout method
US8359421B2 (en) Partitioning a crossbar interconnect in a multi-channel memory system
US9444702B1 (en) System and method for visualization of NoC performance based on simulation output
CN102890729A (en) Method for carrying out layout and wiring on high-fanout programmable gate array
CN108027789A (en) The service quality of interconnection piece with multistage arbitration
CN110442884B (en) Optimization method and device of sub-threshold digital sequential circuit
CN112131813B (en) FPGA wiring method for improving wiring speed based on port exchange technology
CN113688593A (en) Hybrid bonding layout and wiring optimization method among three-dimensional integrated circuit chips
CN104318025B (en) VLSI under anistree structure Steiner minimum trees is around barrier wiring unit
CN104462726B (en) Wiring method for the field programmable gate array of antifuse
CN117556758A (en) FPGA layout wiring method for optimizing time sequence
CN117422041A (en) Training method for automatic wiring model of analog chip and automatic wiring method
CN104063558A (en) Large scale integrated circuit path wiring method based on linear programming
CN111259614B (en) Design method for optimizing the metal routing of fishbone clock tree
CN104699867B (en) The optimization method of the partial layout of fpga chip
CN106709119A (en) FPGA chip wiring method
CN112183006A (en) Time delay evaluation method and device and readable storage medium
CN117688895B (en) Circuit diagram generating method, computer device and storage medium
CN102801586A (en) Method and device for automatically testing quality of service (QoS) granularity and precision
CN104866678A (en) FPGA Timing Constraint Layout Method
CN112989751B (en) Circuit channel wiring method, device and electronic equipment based on branch and bound method
CN105701269A (en) A method of reducing the layout area of an integrated circuit
WO2014100660A2 (en) Identifying circuit elements for selective inclusion in speed-push processing in an integrated circuit, and related circuit systems, apparatus, and computer-readable media
US9454632B1 (en) Context specific spare cell determination during physical design

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201224

Address after: 510000 601, building a, 136 Kaiyuan Avenue, Huangpu District, Guangzhou City, Guangdong Province

Patentee after: AoXin integrated circuit technology (Guangdong) Co.,Ltd.

Address before: 100029 Beijing city Chaoyang District Beitucheng West Road No. 3

Patentee before: Institute of Microelectronics of the Chinese Academy of Sciences

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220424

Address after: 510000 room 710, Jianshe building, No. 348, Kaifa Avenue, Huangpu District, Guangzhou, Guangdong

Patentee after: Ruili flat core Microelectronics (Guangzhou) Co.,Ltd.

Address before: 510000 601, building a, 136 Kaiyuan Avenue, Huangpu District, Guangzhou City, Guangdong Province

Patentee before: AoXin integrated circuit technology (Guangdong) Co.,Ltd.