WO2022041494A1 - Method and structure for pre-guiding logic outputs of macro cells in narrow channel layout - Google Patents

Method and structure for pre-guiding logic outputs of macro cells in narrow channel layout Download PDF

Info

Publication number
WO2022041494A1
WO2022041494A1 PCT/CN2020/128250 CN2020128250W WO2022041494A1 WO 2022041494 A1 WO2022041494 A1 WO 2022041494A1 CN 2020128250 W CN2020128250 W CN 2020128250W WO 2022041494 A1 WO2022041494 A1 WO 2022041494A1
Authority
WO
WIPO (PCT)
Prior art keywords
channel
macro
buffer
wiring
unit
Prior art date
Application number
PCT/CN2020/128250
Other languages
French (fr)
Chinese (zh)
Inventor
赵少峰
Original Assignee
东科半导体(安徽)股份有限公司
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 东科半导体(安徽)股份有限公司 filed Critical 东科半导体(安徽)股份有限公司
Publication of WO2022041494A1 publication Critical patent/WO2022041494A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • G06F30/3947Routing global

Definitions

  • the present invention relates to the technical field of integrated circuit layout design and optimization, in particular to a logic output pre-guidance method and structure of macro cells under narrow channel layout.
  • a macrocell is a predefined logic function realization unit composed of flip-flops, arithmetic logic units, hardware registers, etc. with a higher abstraction level than logic gates. These logic cells are placed on the silicon chip as a whole as a macrocell. In the manufacturing process, engineers need to build metal interconnect lines between each predefined unit, and different connection methods can achieve different functions at a higher logic level.
  • the macro cells are arranged in an array, and there is a routing track aisle between every two macro cells, called a channel (Channel), and the routing track in the channel is called a track. Wiring between macrocells is made in vertical and horizontal routing track channels.
  • the connection of macrocells needs to insert logical function units in order to realize different functions at a higher logic level.
  • the channel width is limited, and the channels between adjacent macrocells, or between the macrocell and the chip boundary are not enough to meet the trace resource requirements after the logic functional unit is inserted. , resulting in having to sacrifice area or redo the macrocell layout to meet the trace resource requirements.
  • the purpose of the present invention is to provide a logic output pre-guidance method and structure for macro cells under narrow channel layout, which can solve the problem of insufficient routing track resources to meet logic output requirements under narrow channel layout.
  • an embodiment of the present invention provides a logic output pre-guidance method for a macrocell under a narrow channel layout, including:
  • all macrocells are pre-wired according to the output logic of all macrocells, and it is determined whether the channel size of the channel between any two adjacent macrocells after the layout meets the routing track resource requirements. ;
  • the pre-guidance processing specifically includes:
  • a buffer is inserted into one of the first wiring tracks in the first number of first wiring tracks in turn, and each The buffers are sequentially arranged on the adjacent second wiring tracks perpendicular to the channel direction, so as to form a first buffer array in the shape of a broken line;
  • a buffer is inserted into one of the first wiring tracks of the second number of first wiring tracks in turn, and each The buffers are sequentially arranged on the adjacent second routing tracks perpendicular to the channel direction, so as to form a second buffer array in the shape of a broken line;
  • Routing along the second routing track connects each pin of the first macrocell with a buffer corresponding to one of the first buffer arrays, and routing each pin of the second macrocell with a corresponding buffer in the second buffer array;
  • Routing along the first routing track is used to lead the outputs of the respective buffers out of the first channel, thereby leading the logic outputs of the respective pins of the first macrocell and the second macrocell to the first channel outside;
  • the pre-winding process is specifically as follows: for any two or more pins of any two or more macro units with related output logic, inserting corresponding logic function units into the channel to connect the two or more pins.
  • the determination of whether the channel size of the channel between any two adjacent macro-units after the layout satisfies the requirements of the routing track resources is specifically:
  • the method for allocating the total number to the first number and the second number specifically includes: according to the number of pins of the first macro unit on one side of the first channel and the number of pins of the second macro unit on the first channel The number of pins on one side determines the first number and the second number.
  • an embodiment of the present invention provides a logic output pre-steering structure of a macrocell in a narrow channel layout, including: a first macrocell, a second macrocell, a first channel, a first buffer array, and a second buffer array;
  • the first macro unit and the second macro unit are two adjacent macro units, and the first channel is between the first macro unit and the second macro unit; the first channel has a wiring track resources, including a plurality of first routing tracks parallel to the direction of the first channel and a plurality of second routing tracks perpendicular to the direction of the first channel;
  • the first buffer array and the second buffer array are arranged in the first channel, and are arranged in the shape of a broken line;
  • each buffer in the first buffer array is sequentially arranged on one of the first wiring tracks of the first number, and is connected to the first wiring track along the first wiring track and the first macro unit.
  • a corresponding pin is connected by wiring;
  • Each buffer in the second buffer array is sequentially disposed on one of the second number of first routing tracks, and corresponds to one of the second macrocells along the first routing track
  • the pins are connected by wiring; the sum of the first quantity and the second quantity is less than or equal to the total quantity;
  • adjacent buffers have displacements of at least one wiring track along the direction of the first wiring track and the direction of the second wiring track.
  • the first wiring tracks of the first number and the first wiring tracks of the second number do not overlap each other.
  • the structure further includes: a logical functional unit;
  • the logic function unit is arranged outside the first channel; one or more pins of the first macro unit and/or the second macro unit pass through the first buffer array and/or the second buffer array Corresponding buffers in are connected to the logic functional units.
  • the logic function unit is also connected to one or more pins of other macro units.
  • the structure further includes: other buffers outside the first channel;
  • One or more pins of the first macro unit and/or the second macro unit are connected to other buffers after passing through the corresponding buffers in the first buffer array and/or the second buffer array , and then connected to the logic function unit.
  • the first buffer array and the second buffer array arranged in a zigzag line are added by performing pre-pilot processing on the first channel, so that the buffer
  • Each buffer in the array guides the pin logic output of the corresponding first macro unit and the second macro unit, and leads them out of the first channel, so as to facilitate the layout of the corresponding logic function units outside the channel, and realize
  • the logic function unit is connected with the wiring of the pin through the buffer, thereby maximizing the rational use of the channel track resources under the narrow channel layout, so that the limited track track resources can meet the logic output requirements to the greatest extent.
  • FIG. 1 is a flowchart of a logic output pre-guidance method for a macrocell under a narrow channel layout provided by an embodiment of the present invention
  • FIG. 2 is a flowchart of method steps for pre-boot processing provided by an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of two adjacent macro cells under a narrow channel layout provided by an embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram-schematic diagram showing two adjacent macro-units of non-functional physical units (Physical only cells);
  • FIG. 5 is a schematic diagram of a logic output pre-guidance structure of a macrocell under a narrow channel layout.
  • An embodiment of the present invention provides a logic output pre-guidance method for a macrocell under a narrow channel layout, the main steps of which are shown in FIG. 1 , including:
  • Step 110 After the macro-unit is laid out, pre-wire processing is performed on all the macro-units according to the output logic of all the macro-units, and it is determined whether the channel size of the channel between any two adjacent macro-units after the layout satisfies the routing requirements. orbital resource requirements;
  • each macrocell has its own output logic, and according to the output logic, the trace resources required for the output of each macrocell can be calculated.
  • wiring tracks including a first wiring track parallel to the channel direction and a second wiring track perpendicular to the channel direction.
  • first wiring tracks and second wiring tracks There are multiple first wiring tracks and second wiring tracks.
  • the multiple first wiring tracks are arranged in parallel with each other. They are on the same layer or different layers in terms of physical implementation, and the multiple second wiring tracks are also arranged in parallel with each other. , they are physically implemented at the same layer or at different layers.
  • Pre-wire processing is a process after the macrocell layout. It refers to inserting the corresponding logic function unit into the channel for any two or more pins of any two or more macrocells with related output logic. to connect the two or more pins. That is to say, for each adjacent first macro unit and second macro unit, confirm whether the logic function unit to be inserted in the first channel between them has enough space and routing track resources provided in the first channel. , if not, it means that the channel between these two adjacent macrocells cannot route the track resource requirements after layout.
  • the logic function unit can be directly inserted and then routed. If the requirements cannot be met, pre-boot processing needs to be performed.
  • Step 120 when the channel size of the first channel between the adjacent first macro-unit and the second macro-unit does not meet the routing track resource requirement, perform pre-guidance processing on the first channel;
  • Step 121 determining the total number of the first routing tracks in the first channel parallel to the first channel direction, and assigning the total number to the first number and the second number;
  • a specific method for allocating the total number to the first number and the second number may be: determining the number of pins of the first macro unit on the first channel side and the number of pins of the second macro unit on the first channel side.
  • a quantity and a second quantity that is, the allocation is performed according to the amount of the routing track resource usage requirements of two adjacent macro cells in the same channel.
  • the total number can also be distributed equally.
  • the sum of the first quantity and the second quantity is less than or equal to the total quantity.
  • Step 122 according to the order of the pins of the first macro unit on the first channel side, insert a buffer on one of the first routing tracks in the first number of first routing tracks corresponding to each pin in turn, and Each buffer is sequentially arranged on the adjacent second routing tracks in the vertical channel direction, so as to form a first buffer array in the shape of a broken line;
  • adjacent buffers have displacements of at least one wiring track along the direction of the first wiring track and the direction of the second wiring track.
  • the buffers inserted in this way form a continuous or discontinuous polyline shape.
  • Step 123 according to the order of the pins of the second macro unit on the first channel side, insert a buffer on one of the first wiring tracks in the second number of first wiring tracks corresponding to each pin in turn, and Each buffer is sequentially arranged on the adjacent second routing tracks in the vertical channel direction, so as to form a second buffer array in the shape of a broken line;
  • the formation process of the second buffer array is the same as that of the first buffer array, and details are not repeated here.
  • Step 124 routing along the second routing track to connect each pin of the first macrocell with a buffer corresponding to one of the first buffer arrays, and routing each pin of the second macrocell to the second buffer a corresponding buffer in the device array;
  • the corresponding pins and the input terminals of the buffer are wired and connected.
  • Step 125 routing along the first wiring track to lead the output of each buffer out of the first channel, so as to lead the logic output of each pin of the first macro unit and the second macro unit out of the first channel.
  • Step 130 After the pre-boot processing is performed on the first channel, through the outputs of the respective buffers of the first buffer array and/or the second buffer array, the layout and layout of the corresponding logical functional units are performed outside the first channel. Wiring connection.
  • buffers may also be provided outside the first channel; one or more pins of the first macro unit and/or the second macro unit pass through corresponding pins in the first buffer array and/or the second buffer array After the buffer is selected, it can also be connected to other buffers, and then connected to the logic functional unit.
  • the structures of two adjacent macro units under the narrow channel layout are as shown in the figure, including: a first macro unit 1 , a second macro unit 2 and a first channel 3 .
  • the first macro unit 1 and the second macro unit 2 are two adjacent macro units, and the first channel 3 is between the first macro unit 1 and the second macro unit 2 .
  • the first channel 3 has routing track resources. This routing track resource is distributed throughout the entire chip in the physical design, but for the logic output of the macrocell, it is necessary to use the routing track resources in the first channel 3 for logic. output.
  • the wire resources in the first channel 3 include a plurality of first wire tracks 41 parallel to the direction of the first channel and a plurality of second wire tracks 42 perpendicular to the direction of the first channel.
  • Non-functional physical cells Physical only cells
  • Non-functional physical cells are those that are not in the netlist but need to exist in the actual chip. , such as power ground IO, IO that supplies power to IO, and some substrates, well contact units, etc.
  • the non-functional physical unit 5 occupies the first channel 3 , which makes the available routing track resources in the first channel 3 even tighter. For this reason, after the above-mentioned logic output pre-booting method is performed, a first buffer array 6 and a second buffer array (not shown in the figure) as shown in FIG. 5 will be formed in the first channel.
  • the first buffer array 6 and the second buffer array are arranged in the first channel 3 and are arranged in the shape of a broken line respectively; because the second buffer array and the first buffer array
  • the setting method of the array 6 is the same, except that the occupied trace track resources may be evenly allocated or allocated according to the output logic requirements, so the second buffer array is not shown here. In the case of evenly distributing the routing track resources occupied by the two, it can be considered that the first buffer array 6 and the second buffer array are arranged symmetrically.
  • Each buffer 61 in the first buffer array 6 is sequentially disposed on one of the first wiring tracks 41 of the first number of first wiring tracks, and is connected to the first macrocell 1 along the first wiring track 41 A corresponding pin 11 of 1 is connected by wiring; similarly, each buffer in the second buffer array is sequentially arranged on one of the first wiring tracks in the second number of first wiring tracks, and along the first track The wire track is connected with a corresponding pin 21 of the second macrocell 2 by wiring.
  • the first number of first wiring tracks and the second number of first wiring tracks do not overlap each other.
  • adjacent buffers have displacements of at least one wiring track along the direction of the first wiring track and the direction of the second wiring track.
  • the logic output pre-guidance structure also includes: a logic function unit; the logic function unit can be set at an appropriate position outside the first channel 3 according to the actual situation of the layout, so the logic function unit is not shown separately in the figure.
  • One or more pins of the first macrocell 1 and/or the second macrocell 2 are connected to the logic functional unit through the corresponding buffers in the first buffer array 6 and/or the second buffer array.
  • the connection in this step is the same as the conventional wiring, which can be routed along the wiring track, which is not shown in the figure.
  • first macro unit and the second macro unit may also have logic function connection requirements with one or more pins of other macro units, so the logic function unit can also be connected with one or more pins of other macro units. Multiple pins are connected.
  • buffers may also be provided outside the first channel; one or more pins of the first macro unit and/or the second macro unit pass through corresponding pins in the first buffer array and/or the second buffer array After the buffer is selected, it can also be connected to other buffers, and then connected to the logic functional unit.
  • the first buffer array and the second buffer array arranged in a zigzag line are added by performing pre-pilot processing on the first channel, so that the buffer
  • Each buffer in the array guides the pin logic output of the corresponding first macro unit and the second macro unit, and leads them out of the first channel, so as to facilitate the layout of the corresponding logic function units outside the channel, and realize
  • the logic function unit is connected with the wiring of the pin through the buffer, thereby maximizing the rational use of the channel track resources under the narrow channel layout, so that the limited track track resources can meet the logic output requirements to the greatest extent.

Abstract

A method and structure for pre-guiding logic outputs of macro cells in a narrow channel layout. The method comprises: after the layout of macro cells, performing pre-winding processing on all the macro cells according to output logics of all the macro cells, and determining whether the channel dimensions of a channel between any two adjacent macro cells after layout meets the requirements for wiring track resources (110); if the channel dimensions of a first channel (3) between a first macro cell (1) and a second macro cell (2) that are adjacent do not meet the requirements for wiring track resources, performing pre-guiding processing on the first channel (3) (120); and by means of outputs of buffers in a first buffer array (6) and a second buffer array that are added by means of executing pre-guiding processing, leading the output logics of pins of the first macro cell (1) and the second macro cell (2) out of the first channel (3), so as to perform the layout of corresponding logic function units, and perform routing connection between the logic function units and the pins by means of the buffers. Thus, the problem of wiring track resources in a narrow channel layout being insufficient and not meeting logic output requirements is solved.

Description

窄通道布局下宏单元的逻辑输出预导引方法和结构Logic output pre-steering method and structure of macrocell under narrow channel layout
本申请要求于2020年08月28日提交中国专利局、申请号为202010887106.3,发明名称为“窄通道布局下宏单元的逻辑输出预导引方法和结构”的中国专利申请的优先权。This application claims the priority of the Chinese patent application filed on August 28, 2020 with the application number 202010887106.3 and the title of the invention is "Logical Output Pre-guidance Method and Structure of Macrocells in Narrow Channel Layout".
技术领域technical field
本发明涉及集成电路布图设计和优化技术领域,尤其涉及窄通道布局下宏单元的逻辑输出预导引方法和结构。The present invention relates to the technical field of integrated circuit layout design and optimization, in particular to a logic output pre-guidance method and structure of macro cells under narrow channel layout.
背景技术Background technique
数字后端集成电路(IC)设计中,宏单元(Macro)是设计中最常见的单元。宏单元是由相对逻辑门抽象级别更高的触发器、算术逻辑单元、硬体暂存器等组成的预定义逻辑功能实现单元。这些逻辑单元作为一个宏单元整体被安置在硅片上。在制造过程中,工程师需要构建各个预定义单元之间的金属互连线,不同的连线方式可以在更高逻辑层次实现不同的功能。In digital back-end integrated circuit (IC) design, the macro cell (Macro) is the most common unit in the design. A macrocell is a predefined logic function realization unit composed of flip-flops, arithmetic logic units, hardware registers, etc. with a higher abstraction level than logic gates. These logic cells are placed on the silicon chip as a whole as a macrocell. In the manufacturing process, engineers need to build metal interconnect lines between each predefined unit, and different connection methods can achieve different functions at a higher logic level.
在设计中,宏单元按阵列排列,在每两个宏单元之间有一个走线轨道过道,称为通道(Channel),通道中的走线轨道称为track。宏单元之间的连线在垂直和水平走线轨道通道中进行。宏单元的连线在更高逻辑层次上为了实现不同的功能还需要插入逻辑功能单元。但是在很多设计中,因为受到芯片面积的约束和局限,通道宽度有限,相邻宏单元之间,或者宏单元与芯片边界之间的通道不足以满足插入逻辑功能单元后的走线轨道资源需求,导致不得不牺牲面积或重新进行宏单元布局为代价来满足走线轨道资源要求。In the design, the macro cells are arranged in an array, and there is a routing track aisle between every two macro cells, called a channel (Channel), and the routing track in the channel is called a track. Wiring between macrocells is made in vertical and horizontal routing track channels. The connection of macrocells needs to insert logical function units in order to realize different functions at a higher logic level. However, in many designs, due to the constraints and limitations of the chip area, the channel width is limited, and the channels between adjacent macrocells, or between the macrocell and the chip boundary are not enough to meet the trace resource requirements after the logic functional unit is inserted. , resulting in having to sacrifice area or redo the macrocell layout to meet the trace resource requirements.
发明内容SUMMARY OF THE INVENTION
本发明的目的是提供一种窄通道布局下宏单元的逻辑输出预导引方法和结构,能够解决窄通道布局下走线轨道资源不足不能满足逻辑输出需求的问题。The purpose of the present invention is to provide a logic output pre-guidance method and structure for macro cells under narrow channel layout, which can solve the problem of insufficient routing track resources to meet logic output requirements under narrow channel layout.
为此,第一方面,本发明实施例提供了一种窄通道布局下宏单元的逻辑输出预导引方法,包括:To this end, in a first aspect, an embodiment of the present invention provides a logic output pre-guidance method for a macrocell under a narrow channel layout, including:
在宏单元布局后,根据全部宏单元的输出逻辑,对全部的宏单元进行预绕线处理,确定布局后任意两个相邻的宏单元之间的通道的通道尺寸是否满足走线轨道资源需求;After the macrocell is laid out, all macrocells are pre-wired according to the output logic of all macrocells, and it is determined whether the channel size of the channel between any two adjacent macrocells after the layout meets the routing track resource requirements. ;
当相邻的第一宏单元与第二宏单元之间的第一通道的通道尺寸不满足走线轨道资源需求时,对所述第一通道执行预导引处理;When the channel size of the first channel between the adjacent first macro-unit and the second macro-unit does not meet the routing track resource requirement, perform pre-steering processing on the first channel;
其中,所述预导引处理具体包括:Wherein, the pre-guidance processing specifically includes:
确定所述第一通道内平行所述第一通道方向的第一走线轨道的总数量,并将总数量分配为第一数量和第二数量;所述第一数量与第二数量之和小于等于所述总数量;Determine the total number of first routing tracks in the first channel parallel to the direction of the first channel, and assign the total number to a first number and a second number; the sum of the first number and the second number is less than equal to said total quantity;
按照第一宏单元在所述第一通道一侧的引脚顺序,对应每个引脚依次在第一数量的第一走线轨道中的一个第一走线轨道上插入一个缓冲器,且各个缓冲器依次设置在相邻的垂直所述通道方向的第二走线轨道上,从而组成折线形状的第一缓冲器阵列;According to the pin sequence of the first macro unit on the first channel side, corresponding to each pin, a buffer is inserted into one of the first wiring tracks in the first number of first wiring tracks in turn, and each The buffers are sequentially arranged on the adjacent second wiring tracks perpendicular to the channel direction, so as to form a first buffer array in the shape of a broken line;
按照第二宏单元在所述第一通道一侧的引脚顺序,对应每个引脚依次在第二数量的第一走线轨道中的一个第一走线轨道上插入一个缓冲器,且各个缓冲器依次设置在相邻的垂直所述通道方向的第二走线轨道上,从而组成折线形状的第二缓冲器阵列;According to the pin sequence of the second macro unit on the first channel side, corresponding to each pin, a buffer is inserted into one of the first wiring tracks of the second number of first wiring tracks in turn, and each The buffers are sequentially arranged on the adjacent second routing tracks perpendicular to the channel direction, so as to form a second buffer array in the shape of a broken line;
沿所述第二走线轨道布线连接所述第一宏单元的每个引脚与第一缓冲器阵列中的一个相对应的缓冲器,以及布线连接所述第二宏单元每个引脚 与第二缓冲器阵列中的一个相对应的缓冲器;Routing along the second routing track connects each pin of the first macrocell with a buffer corresponding to one of the first buffer arrays, and routing each pin of the second macrocell with a corresponding buffer in the second buffer array;
沿所述第一走线轨道布线用以将各个缓冲器的输出引出所述第一通道外,从而将第一宏单元和第二宏单元的各个引脚的逻辑输出引导致所述第一通道外;Routing along the first routing track is used to lead the outputs of the respective buffers out of the first channel, thereby leading the logic outputs of the respective pins of the first macrocell and the second macrocell to the first channel outside;
在对所述第一通道执行预导引处理后,通过所述第一缓冲器阵列和/或所述第二缓冲器阵列的各个缓冲器的输出,在所述第一通道外进行相应的逻辑功能单元的布局和布线连接。After the pre-boot processing is performed on the first channel, corresponding logic is performed outside the first channel through the outputs of the respective buffers of the first buffer array and/or the second buffer array Placement and routing of functional units.
优选的,所述预绕线处理具体为:对任意两个或多个宏单元的具有相关输出逻辑的两个或多个引脚,在通道内插入相应的逻辑功能单元,用以连接所述两个或多个引脚。Preferably, the pre-winding process is specifically as follows: for any two or more pins of any two or more macro units with related output logic, inserting corresponding logic function units into the channel to connect the two or more pins.
进一步优选的,所述确定布局后任意两个相邻的宏单元之间的通道的通道尺寸是否满足走线轨道资源需求具体为:Further preferably, the determination of whether the channel size of the channel between any two adjacent macro-units after the layout satisfies the requirements of the routing track resources is specifically:
确定在每个通道内需插入的逻辑功能单元是否能够全部插入所述通道内。It is determined whether the logical functional units to be inserted in each channel can all be inserted into the channel.
优选的,所述将总数量分配为第一数量和第二数量的方法具体包括:根据第一宏单元在所述第一通道一侧的引脚数量和第二宏单元在所述第一通道一侧的引脚数量确定所述第一数量与第二数量。Preferably, the method for allocating the total number to the first number and the second number specifically includes: according to the number of pins of the first macro unit on one side of the first channel and the number of pins of the second macro unit on the first channel The number of pins on one side determines the first number and the second number.
第二方面,本发明实施例提供了一种窄通道布局下宏单元的逻辑输出预导引结构,包括:第一宏单元、第二宏单元、第一通道、第一缓冲器阵列和第二缓冲器阵列;In a second aspect, an embodiment of the present invention provides a logic output pre-steering structure of a macrocell in a narrow channel layout, including: a first macrocell, a second macrocell, a first channel, a first buffer array, and a second buffer array;
所述第一宏单元与第二宏单元为相邻的两个宏单元,所述第一宏单元与第二宏单元之间为所述第一通道;所述第一通道内具有走线轨道资源,其中包括多个平行所述第一通道方向的第一走线轨道和多个垂直所述第一通道方向的第二走线轨道;The first macro unit and the second macro unit are two adjacent macro units, and the first channel is between the first macro unit and the second macro unit; the first channel has a wiring track resources, including a plurality of first routing tracks parallel to the direction of the first channel and a plurality of second routing tracks perpendicular to the direction of the first channel;
所述第一缓冲器阵列和第二缓冲器阵列设置在所述第一通道内,且所述分别呈折线形状排列;The first buffer array and the second buffer array are arranged in the first channel, and are arranged in the shape of a broken line;
其中,所述第一缓冲器阵列中的每一个缓冲器依次设置在第一数量的第一走线轨道中的一个第一走线轨道上,并沿第一走线轨道与第一宏单元的一个对应引脚通过布线连接;Wherein, each buffer in the first buffer array is sequentially arranged on one of the first wiring tracks of the first number, and is connected to the first wiring track along the first wiring track and the first macro unit. A corresponding pin is connected by wiring;
所述第二缓冲器阵列中的每一个缓冲器依次设置在第二数量的第一走线轨道中的一个第一走线轨道上,并沿第一走线轨道与第二宏单元的一个对应引脚通过布线连接;所述第一数量与第二数量之和小于等于所述总数量;Each buffer in the second buffer array is sequentially disposed on one of the second number of first routing tracks, and corresponds to one of the second macrocells along the first routing track The pins are connected by wiring; the sum of the first quantity and the second quantity is less than or equal to the total quantity;
每个缓冲器阵列中,相邻的缓冲器之间在沿第一走线轨道方向和第二走线轨道方向上均具有至少一个走线轨道的位移。In each buffer array, adjacent buffers have displacements of at least one wiring track along the direction of the first wiring track and the direction of the second wiring track.
优选的,所述第一数量的第一走线轨道与所述第二数量的第一走线轨道相互不重叠。Preferably, the first wiring tracks of the first number and the first wiring tracks of the second number do not overlap each other.
优选的,所述结构还包括:逻辑功能单元;Preferably, the structure further includes: a logical functional unit;
所述逻辑功能单元设置在所述第一通道外;所述第一宏单元和/或所述第二宏单元的一个或多个引脚通过第一缓冲器阵列和/或第二缓冲器阵列中相应的的缓冲器与所述逻辑功能单元相连接。The logic function unit is arranged outside the first channel; one or more pins of the first macro unit and/or the second macro unit pass through the first buffer array and/or the second buffer array Corresponding buffers in are connected to the logic functional units.
优选的,所述逻辑功能单元还与其他宏单元的一个或多个引脚相连接。Preferably, the logic function unit is also connected to one or more pins of other macro units.
优选的,所述结构还包括:所述第一通道外的其他缓冲器;Preferably, the structure further includes: other buffers outside the first channel;
所述第一宏单元和/或所述第二宏单元的一个或多个引脚通过第一缓冲器阵列和/或第二缓冲器阵列中相应的的缓冲器后,再连接至其他缓冲器,再与所述逻辑功能单元相连接。One or more pins of the first macro unit and/or the second macro unit are connected to other buffers after passing through the corresponding buffers in the first buffer array and/or the second buffer array , and then connected to the logic function unit.
本发明实施例提供的窄通道布局下宏单元的逻辑输出预导引方法,通过对第一通道执行预导引处理增加折线型排列的第一缓冲器阵列和第二缓冲器阵列,以缓冲器阵列中的各个缓冲器引导对应的第一宏单元与第二宏单元的引脚逻辑输出,将其引出至第一通道外,从而方便在通道外进行相应的逻辑功能单元的布局,并实现了逻辑功能单元通过缓冲器与引脚的布线连接,由此最大化的合理利用了窄通道布局下通道的走线轨道资源,使得 有限的走线轨道资源在最大程度上满足逻辑输出需求。In the method for pre-piloting the logic output of macro cells in a narrow channel layout provided by the embodiment of the present invention, the first buffer array and the second buffer array arranged in a zigzag line are added by performing pre-pilot processing on the first channel, so that the buffer Each buffer in the array guides the pin logic output of the corresponding first macro unit and the second macro unit, and leads them out of the first channel, so as to facilitate the layout of the corresponding logic function units outside the channel, and realize The logic function unit is connected with the wiring of the pin through the buffer, thereby maximizing the rational use of the channel track resources under the narrow channel layout, so that the limited track track resources can meet the logic output requirements to the greatest extent.
附图说明Description of drawings
图1为本发明实施例提供的窄通道布局下宏单元的逻辑输出预导引方法的流程图;1 is a flowchart of a logic output pre-guidance method for a macrocell under a narrow channel layout provided by an embodiment of the present invention;
图2为本发明实施例提供的预导引处理的方法步骤流程图;FIG. 2 is a flowchart of method steps for pre-boot processing provided by an embodiment of the present invention;
图3为本发明实施例提供的窄通道布局下相邻两个宏单元的结构示意图;3 is a schematic structural diagram of two adjacent macro cells under a narrow channel layout provided by an embodiment of the present invention;
图4为示出了非功能物理单元(Physical only cells)的相邻两个宏单元的结构示意图-示意图;FIG. 4 is a schematic structural diagram-schematic diagram showing two adjacent macro-units of non-functional physical units (Physical only cells);
图5为窄通道布局下宏单元的逻辑输出预导引结构示意图。FIG. 5 is a schematic diagram of a logic output pre-guidance structure of a macrocell under a narrow channel layout.
具体实施方式detailed description
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。The technical solutions of the present invention will be further described in detail below through the accompanying drawings and embodiments.
本发明实施例提供了一种窄通道布局下宏单元的逻辑输出预导引方法,其主要步骤如图1所示,包括:An embodiment of the present invention provides a logic output pre-guidance method for a macrocell under a narrow channel layout, the main steps of which are shown in FIG. 1 , including:
步骤110,在宏单元布局后,根据全部宏单元的输出逻辑,对全部的宏单元进行预绕线处理,确定布局后任意两个相邻的宏单元之间的通道的通道尺寸是否满足走线轨道资源需求;Step 110: After the macro-unit is laid out, pre-wire processing is performed on all the macro-units according to the output logic of all the macro-units, and it is determined whether the channel size of the channel between any two adjacent macro-units after the layout satisfies the routing requirements. orbital resource requirements;
具体的,在宏单元布局后,各个宏单元的位置就已经确定下来了。每个宏单元有各自的输出逻辑,根据输出逻辑可以计算每个宏单元的输出所需占用的走线轨道资源。Specifically, after the macrocells are laid out, the positions of the respective macrocells have been determined. Each macrocell has its own output logic, and according to the output logic, the trace resources required for the output of each macrocell can be calculated.
在相邻两个宏单元之间的通道中,都有可用的走线轨道(track),包括平行通道方向的第一走线轨道和垂直通道方向的第二走线轨道。第一走线轨道和第二走线轨道均为多条,多条第一走线轨道相互平行排列,它们在物理实现上处于同一层或不同层,多条第二走线轨道也相互平行排列,它 们在物理实现上处于同一层或不同层。In the channel between two adjacent macro cells, there are available wiring tracks (tracks), including a first wiring track parallel to the channel direction and a second wiring track perpendicular to the channel direction. There are multiple first wiring tracks and second wiring tracks. The multiple first wiring tracks are arranged in parallel with each other. They are on the same layer or different layers in terms of physical implementation, and the multiple second wiring tracks are also arranged in parallel with each other. , they are physically implemented at the same layer or at different layers.
预绕线处理是在宏单元布局之后的一个过程,是指对任意两个或多个宏单元的具有相关输出逻辑的两个或多个引脚,在通道内插入相应的逻辑功能单元,用以连接所述两个或多个引脚。也就是说,对于每个相邻的第一宏单元与第二宏单元,确认在它们之间的第一通道内要插入的逻辑功能单元是否第一通道有足够的空间和走线轨道资源提供,如果没有,则意味着布局后这两个相邻的宏单元之间的通道不能走线轨道资源需求。Pre-wire processing is a process after the macrocell layout. It refers to inserting the corresponding logic function unit into the channel for any two or more pins of any two or more macrocells with related output logic. to connect the two or more pins. That is to say, for each adjacent first macro unit and second macro unit, confirm whether the logic function unit to be inserted in the first channel between them has enough space and routing track resources provided in the first channel. , if not, it means that the channel between these two adjacent macrocells cannot route the track resource requirements after layout.
如果能够满足走线轨道资源需求,直接插入逻辑功能单元后进行布线即可,对于不能满足需求的,就需要执行预导引处理。If the resource requirements of the routing track can be met, the logic function unit can be directly inserted and then routed. If the requirements cannot be met, pre-boot processing needs to be performed.
步骤120,当相邻的第一宏单元与第二宏单元之间的第一通道的通道尺寸不满足走线轨道资源需求时,对第一通道执行预导引处理; Step 120, when the channel size of the first channel between the adjacent first macro-unit and the second macro-unit does not meet the routing track resource requirement, perform pre-guidance processing on the first channel;
其中,预导引处理具体如图2所示,包括:Among them, the pre-guidance process is specifically shown in Figure 2, including:
步骤121,确定第一通道内平行第一通道方向的第一走线轨道的总数量,并将总数量分配为第一数量和第二数量; Step 121, determining the total number of the first routing tracks in the first channel parallel to the first channel direction, and assigning the total number to the first number and the second number;
也就是说,首先确定通道内的可用的走线轨道资源的数量,然后再对走线轨道资源进行合理分配使用。That is to say, first determine the number of available routing track resources in the channel, and then reasonably allocate and use the routing track resources.
具体将总数量分配为第一数量和第二数量的方法可以为:根据第一宏单元在第一通道一侧的引脚数量和第二宏单元在第一通道一侧的引脚数量确定第一数量与第二数量。也就是根据相邻两个宏单元在同一通道中的走线轨道资源使用需求的量进行分配。当然也可以对总数量进行平均分配。总之,第一数量与第二数量之和小于等于总数量。A specific method for allocating the total number to the first number and the second number may be: determining the number of pins of the first macro unit on the first channel side and the number of pins of the second macro unit on the first channel side. A quantity and a second quantity. That is, the allocation is performed according to the amount of the routing track resource usage requirements of two adjacent macro cells in the same channel. Of course, the total number can also be distributed equally. In short, the sum of the first quantity and the second quantity is less than or equal to the total quantity.
步骤122,按照第一宏单元在第一通道一侧的引脚顺序,对应每个引脚依次在第一数量的第一走线轨道中的一个第一走线轨道上插入一个缓冲器,且各个缓冲器依次设置在相邻的垂直通道方向的第二走线轨道上,从而组成折线形状的第一缓冲器阵列; Step 122, according to the order of the pins of the first macro unit on the first channel side, insert a buffer on one of the first routing tracks in the first number of first routing tracks corresponding to each pin in turn, and Each buffer is sequentially arranged on the adjacent second routing tracks in the vertical channel direction, so as to form a first buffer array in the shape of a broken line;
也就是说,对第一宏单元的第一个引脚,沿对应第一个引脚的第二走线 轨道,在第一宏单元最近的第一走线轨道上插入一个缓冲器;然后对第一宏单元的第二个引脚,沿对应第二个引脚的第二走线轨道,在距离第一宏单元次近的第一走线轨道上插入一个缓冲器,以此类推,直到插入第一数量个缓冲器,然后再逐一向靠近第一宏单元的方向对各引脚再一一对应的插入缓冲器,直到全部引脚对应的缓冲器插入完毕,形成第一缓冲器阵列。That is, for the first pin of the first macrocell, along the second routing track corresponding to the first pin, insert a buffer on the first routing track closest to the first macrocell; then For the second pin of the first macrocell, along the second trace corresponding to the second pin, insert a buffer on the first trace closest to the first macrocell, and so on, until Insert the first number of buffers, and then insert buffers one by one to each pin in a direction close to the first macrocell until all the buffers corresponding to the pins are inserted, forming a first buffer array.
每个缓冲器阵列中,相邻的缓冲器之间在沿第一走线轨道方向和第二走线轨道方向上均具有至少一个走线轨道的位移。这样方式插入的缓冲器,组成了连续或不连续的折线形状。In each buffer array, adjacent buffers have displacements of at least one wiring track along the direction of the first wiring track and the direction of the second wiring track. The buffers inserted in this way form a continuous or discontinuous polyline shape.
步骤123,按照第二宏单元在第一通道一侧的引脚顺序,对应每个引脚依次在第二数量的第一走线轨道中的一个第一走线轨道上插入一个缓冲器,且各个缓冲器依次设置在相邻的垂直通道方向的第二走线轨道上,从而组成折线形状的第二缓冲器阵列; Step 123, according to the order of the pins of the second macro unit on the first channel side, insert a buffer on one of the first wiring tracks in the second number of first wiring tracks corresponding to each pin in turn, and Each buffer is sequentially arranged on the adjacent second routing tracks in the vertical channel direction, so as to form a second buffer array in the shape of a broken line;
具体的,第二缓冲器阵列的形成过程与第一缓冲器阵列相同,不再赘述。Specifically, the formation process of the second buffer array is the same as that of the first buffer array, and details are not repeated here.
步骤124,沿第二走线轨道布线连接第一宏单元的每个引脚与第一缓冲器阵列中的一个相对应的缓冲器,以及布线连接第二宏单元每个引脚与第二缓冲器阵列中的一个相对应的缓冲器; Step 124, routing along the second routing track to connect each pin of the first macrocell with a buffer corresponding to one of the first buffer arrays, and routing each pin of the second macrocell to the second buffer a corresponding buffer in the device array;
在缓冲器阵列构成后,将具有对应关系的引脚和缓冲器地输入端进行布线连接。After the buffer array is formed, the corresponding pins and the input terminals of the buffer are wired and connected.
步骤125,沿第一走线轨道布线用以将各个缓冲器的输出引出第一通道外,从而将第一宏单元和第二宏单元的各个引脚的逻辑输出引导致第一通道外。 Step 125, routing along the first wiring track to lead the output of each buffer out of the first channel, so as to lead the logic output of each pin of the first macro unit and the second macro unit out of the first channel.
由此,在合理的最大化利用了窄通道布线资源的条件下,将宏单元的全部引脚的逻辑输出引导到窄通道之外。Therefore, under the condition of reasonably maximizing the utilization of the narrow channel routing resources, the logic outputs of all the pins of the macrocell are guided out of the narrow channel.
步骤130,在对第一通道执行预导引处理后,通过第一缓冲器阵列和/或第二缓冲器阵列的各个缓冲器的输出,在第一通道外进行相应的逻辑功能单元的布局和布线连接。Step 130: After the pre-boot processing is performed on the first channel, through the outputs of the respective buffers of the first buffer array and/or the second buffer array, the layout and layout of the corresponding logical functional units are performed outside the first channel. Wiring connection.
在本例中仅对相邻的两个宏单元的逻辑输出的连接进行了说明,当然对于第一宏单元和第二宏单元来说,它们都还可能与其他宏单元的一个或多个引脚之间具有逻辑功能连接需求,因此逻辑功能单元还可以与其他宏单元的一个或多个引脚相连接。In this example, only the connection of the logical outputs of two adjacent macro-units is described. Of course, for the first macro-unit and the second macro-unit, they may also be connected with one or more references of other macro-units. There is a logic function connection requirement between the pins, so the logic function unit can also be connected with one or more pins of other macro cells.
此外,在第一通道外还可以设置有其他缓冲器;第一宏单元和/或第二宏单元的一个或多个引脚通过第一缓冲器阵列和/或第二缓冲器阵列中相应的的缓冲器后,还可以再连接至其他缓冲器,再与逻辑功能单元相连接。In addition, other buffers may also be provided outside the first channel; one or more pins of the first macro unit and/or the second macro unit pass through corresponding pins in the first buffer array and/or the second buffer array After the buffer is selected, it can also be connected to other buffers, and then connected to the logic functional unit.
以上说明了窄通道布局下宏单元的逻辑输出预导引方法,下面对通过上述方法实现的窄通道布局下宏单元的逻辑输出预导引结构进行说明。The above describes the logic output pre-steering method of the macro cell under the narrow channel layout, and the following describes the logic output pre-steering structure of the macro cell under the narrow channel layout implemented by the above method.
如图3所示,窄通道布局下相邻两个宏单元的结构如图所示,包括:第一宏单元1、第二宏单元2和第一通道3。第一宏单元1与第二宏单元2为相邻的两个宏单元,第一宏单元1与第二宏单元2之间为第一通道3。As shown in FIG. 3 , the structures of two adjacent macro units under the narrow channel layout are as shown in the figure, including: a first macro unit 1 , a second macro unit 2 and a first channel 3 . The first macro unit 1 and the second macro unit 2 are two adjacent macro units, and the first channel 3 is between the first macro unit 1 and the second macro unit 2 .
第一通道3内具有走线轨道资源,这个走线轨道资源在物理设计中是遍布整个芯片的,但是对于宏单元的逻辑输出来说,需要使用第一通道3内具有走线轨道资源进行逻辑输出。如图示,第一通道3内的线资源包括多个平行第一通道方向的第一走线轨道41和多个垂直第一通道方向的第二走线轨道42。The first channel 3 has routing track resources. This routing track resource is distributed throughout the entire chip in the physical design, but for the logic output of the macrocell, it is necessary to use the routing track resources in the first channel 3 for logic. output. As shown in the figure, the wire resources in the first channel 3 include a plurality of first wire tracks 41 parallel to the direction of the first channel and a plurality of second wire tracks 42 perpendicular to the direction of the first channel.
在实际芯片后端设计过程中,还会有一些非功能物理单元(Physical only cells)占用通道内的面积,非功能物理单元是那些在网表中没有,而在实际芯片中需要存在的一些单元,如电源地IO、给IO供电的IO以及一些衬底、阱接触单元等。In the back-end design process of the actual chip, there will also be some non-functional physical cells (Physical only cells) occupying the area in the channel. Non-functional physical cells are those that are not in the netlist but need to exist in the actual chip. , such as power ground IO, IO that supplies power to IO, and some substrates, well contact units, etc.
结合图3、图4所示,非功能物理单元5占据在第一通道3内,会使得第一通道3内的可用走线轨道资源更为紧张。为此在执行上述逻辑输出预导引方法后,在第一通道内会形成如图5所示的第一缓冲器阵列6和第二缓冲器阵列(图中未示出)。As shown in FIG. 3 and FIG. 4 , the non-functional physical unit 5 occupies the first channel 3 , which makes the available routing track resources in the first channel 3 even tighter. For this reason, after the above-mentioned logic output pre-booting method is performed, a first buffer array 6 and a second buffer array (not shown in the figure) as shown in FIG. 5 will be formed in the first channel.
结合图3、图4、图5所示,第一缓冲器阵列6和第二缓冲器阵列设置 在第一通道3内,且分别呈折线形状排列;因为第二缓冲器阵列与第一缓冲器阵列6的设置方法相同,只不过占用的走线轨道资源多少可能是平均分配或者根据输出逻辑需求分配,因此在这里没有画出第二缓冲器阵列。在平均分配二者占用的走线轨道资源的情况下,可以认为第一缓冲器阵列6和第二缓冲器阵列是对称设置的。3, 4, and 5, the first buffer array 6 and the second buffer array are arranged in the first channel 3 and are arranged in the shape of a broken line respectively; because the second buffer array and the first buffer array The setting method of the array 6 is the same, except that the occupied trace track resources may be evenly allocated or allocated according to the output logic requirements, so the second buffer array is not shown here. In the case of evenly distributing the routing track resources occupied by the two, it can be considered that the first buffer array 6 and the second buffer array are arranged symmetrically.
第一缓冲器阵列6中的每一个缓冲器61依次设置在第一数量的第一走线轨道中的一个第一走线轨道41上,并沿第一走线轨道41与第一宏单元1的一个对应引脚11通过布线连接;同样,第二缓冲器阵列中的每一个缓冲器依次设置在第二数量的第一走线轨道中的一个第一走线轨道上,并沿第一走线轨道与第二宏单元2的一个对应引脚21通过布线连接。第一数量的第一走线轨道与所述第二数量的第一走线轨道相互不重叠。Each buffer 61 in the first buffer array 6 is sequentially disposed on one of the first wiring tracks 41 of the first number of first wiring tracks, and is connected to the first macrocell 1 along the first wiring track 41 A corresponding pin 11 of 1 is connected by wiring; similarly, each buffer in the second buffer array is sequentially arranged on one of the first wiring tracks in the second number of first wiring tracks, and along the first track The wire track is connected with a corresponding pin 21 of the second macrocell 2 by wiring. The first number of first wiring tracks and the second number of first wiring tracks do not overlap each other.
每个缓冲器阵列中,相邻的缓冲器之间在沿第一走线轨道方向和第二走线轨道方向上均具有至少一个走线轨道的位移。In each buffer array, adjacent buffers have displacements of at least one wiring track along the direction of the first wiring track and the direction of the second wiring track.
在逻辑输出预导引结构中还包括:逻辑功能单元;逻辑功能单元可以根据布局的实际情况设置在第一通道3外的适当位置,因此图中对逻辑功能单元没有单独示出。The logic output pre-guidance structure also includes: a logic function unit; the logic function unit can be set at an appropriate position outside the first channel 3 according to the actual situation of the layout, so the logic function unit is not shown separately in the figure.
第一宏单元1和/或第二宏单元2的一个或多个引脚通过第一缓冲器阵列6和/或第二缓冲器阵列中相应的的缓冲器与逻辑功能单元相连接。这步的连接与常规的布线是相同的,沿走线轨道布线即可,在图中没有在示出。One or more pins of the first macrocell 1 and/or the second macrocell 2 are connected to the logic functional unit through the corresponding buffers in the first buffer array 6 and/or the second buffer array. The connection in this step is the same as the conventional wiring, which can be routed along the wiring track, which is not shown in the figure.
当然对于第一宏单元和第二宏单元来说,它们都还可能与其他宏单元的一个或多个引脚之间具有逻辑功能连接需求,因此逻辑功能单元还可以与其他宏单元的一个或多个引脚相连接。Of course, for the first macro unit and the second macro unit, they may also have logic function connection requirements with one or more pins of other macro units, so the logic function unit can also be connected with one or more pins of other macro units. Multiple pins are connected.
此外,在第一通道外还可以设置有其他缓冲器;第一宏单元和/或第二宏单元的一个或多个引脚通过第一缓冲器阵列和/或第二缓冲器阵列中相应的的缓冲器后,还可以再连接至其他缓冲器,再与逻辑功能单元相连接。In addition, other buffers may also be provided outside the first channel; one or more pins of the first macro unit and/or the second macro unit pass through corresponding pins in the first buffer array and/or the second buffer array After the buffer is selected, it can also be connected to other buffers, and then connected to the logic functional unit.
本发明实施例提供的窄通道布局下宏单元的逻辑输出预导引方法,通过 对第一通道执行预导引处理增加折线型排列的第一缓冲器阵列和第二缓冲器阵列,以缓冲器阵列中的各个缓冲器引导对应的第一宏单元与第二宏单元的引脚逻辑输出,将其引出至第一通道外,从而方便在通道外进行相应的逻辑功能单元的布局,并实现了逻辑功能单元通过缓冲器与引脚的布线连接,由此最大化的合理利用了窄通道布局下通道的走线轨道资源,使得有限的走线轨道资源在最大程度上满足逻辑输出需求。In the method for pre-piloting the logic output of macro cells in a narrow channel layout provided by the embodiment of the present invention, the first buffer array and the second buffer array arranged in a zigzag line are added by performing pre-pilot processing on the first channel, so that the buffer Each buffer in the array guides the pin logic output of the corresponding first macro unit and the second macro unit, and leads them out of the first channel, so as to facilitate the layout of the corresponding logic function units outside the channel, and realize The logic function unit is connected with the wiring of the pin through the buffer, thereby maximizing the rational use of the channel track resources under the narrow channel layout, so that the limited track track resources can meet the logic output requirements to the greatest extent.
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The specific embodiments described above further describe the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above descriptions are only specific embodiments of the present invention, and are not intended to limit the scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.

Claims (9)

  1. 一种窄通道布局下宏单元的逻辑输出预导引方法,其特征在于,所述窄通道布局下宏单元的逻辑输出预导引方法包括:A logic output pre-guidance method for macro cells under narrow channel layout, characterized in that the logic output pre-guidance method for macro cells in the narrow channel layout comprises:
    在宏单元布局后,根据全部宏单元的输出逻辑,对全部的宏单元进行预绕线处理,确定布局后任意两个相邻的宏单元之间的通道的通道尺寸是否满足走线轨道资源需求;After the macrocell is laid out, all macrocells are pre-wired according to the output logic of all macrocells, and it is determined whether the channel size of the channel between any two adjacent macrocells after the layout meets the routing track resource requirements. ;
    当相邻的第一宏单元与第二宏单元之间的第一通道的通道尺寸不满足走线轨道资源需求时,对所述第一通道执行预导引处理;When the channel size of the first channel between the adjacent first macro-unit and the second macro-unit does not meet the routing track resource requirement, perform pre-steering processing on the first channel;
    其中,所述预导引处理具体包括:Wherein, the pre-guidance processing specifically includes:
    确定所述第一通道内平行所述第一通道方向的第一走线轨道的总数量,并将总数量分配为第一数量和第二数量;所述第一数量与第二数量之和小于等于所述总数量;Determine the total number of first routing tracks in the first channel parallel to the direction of the first channel, and assign the total number to a first number and a second number; the sum of the first number and the second number is less than equal to said total quantity;
    按照第一宏单元在所述第一通道一侧的引脚顺序,对应每个引脚依次在第一数量的第一走线轨道中的一个第一走线轨道上插入一个缓冲器,且各个缓冲器依次设置在相邻的垂直所述通道方向的第二走线轨道上,从而组成折线形状的第一缓冲器阵列;According to the pin sequence of the first macro unit on the first channel side, corresponding to each pin, a buffer is inserted into one of the first wiring tracks in the first number of first wiring tracks in turn, and each The buffers are sequentially arranged on the adjacent second wiring tracks perpendicular to the channel direction, so as to form a first buffer array in the shape of a broken line;
    按照第二宏单元在所述第一通道一侧的引脚顺序,对应每个引脚依次在第二数量的第一走线轨道中的一个第一走线轨道上插入一个缓冲器,且各个缓冲器依次设置在相邻的垂直所述通道方向的第二走线轨道上,从而组成折线形状的第二缓冲器阵列;According to the pin sequence of the second macro unit on the first channel side, corresponding to each pin, a buffer is inserted into one of the first wiring tracks of the second number of first wiring tracks in turn, and each The buffers are sequentially arranged on the adjacent second routing tracks perpendicular to the channel direction, so as to form a second buffer array in the shape of a broken line;
    沿所述第二走线轨道布线连接所述第一宏单元的每个引脚与第一缓冲器阵列中的一个相对应的缓冲器,以及布线连接所述第二宏单元每个引脚与第二缓冲器阵列中的一个相对应的缓冲器;Routing along the second routing track connects each pin of the first macrocell with a buffer corresponding to one of the first buffer arrays, and routing each pin of the second macrocell with a corresponding buffer in the second buffer array;
    沿所述第一走线轨道布线用以将各个缓冲器的输出引出所述第一通道外,从而将第一宏单元和第二宏单元的各个引脚的逻辑输出引导致所述第一通道外;Routing along the first routing track is used to lead the outputs of the respective buffers out of the first channel, thereby leading the logic outputs of the respective pins of the first macrocell and the second macrocell to the first channel outside;
    在对所述第一通道执行预导引处理后,通过所述第一缓冲器阵列和/或所述第二缓冲器阵列的各个缓冲器的输出,在所述第一通道外进行相应的逻辑功能单元的布局和布线连接。After the pre-boot processing is performed on the first channel, corresponding logic is performed outside the first channel through the outputs of the respective buffers of the first buffer array and/or the second buffer array Placement and routing of functional units.
  2. 根据权利要求1所述的窄通道布局下宏单元的逻辑输出预导引方法,其特征在于,所述预绕线处理具体为:对任意两个或多个宏单元的具有相关输出逻辑的两个或多个引脚,在通道内插入相应的逻辑功能单元,用以连接所述两个或多个引脚。The logic output pre-guidance method for macro cells in a narrow channel layout according to claim 1, wherein the pre-winding process is specifically: for any two or more macro cells with related output logic. One or more pins, and corresponding logic function units are inserted into the channel to connect the two or more pins.
  3. 根据权利要求2所述的窄通道布局下宏单元的逻辑输出预导引方法,其特征在于,所述确定布局后任意两个相邻的宏单元之间的通道的通道尺寸是否满足走线轨道资源需求具体为:The logic output pre-guidance method of macro cells under narrow channel layout according to claim 2, wherein, after the layout is determined, whether the channel size of the channel between any two adjacent macro cells satisfies the routing track The specific resource requirements are:
    确定在每个通道内需插入的逻辑功能单元是否能够全部插入所述通道内。It is determined whether the logical functional units to be inserted in each channel can all be inserted into the channel.
  4. 根据权利要求1所述的,其特征在于,所述将总数量分配为第一数量和第二数量的方法具体包括:根据第一宏单元在所述第一通道一侧的引脚数量和第二宏单元在所述第一通道一侧的引脚数量确定所述第一数量与第二数量。The method according to claim 1, wherein the method for allocating the total number into the first number and the second number specifically comprises: according to the number of pins of the first macro unit on one side of the first channel and the number of the first The number of pins of the two macrocells on one side of the first channel determines the first number and the second number.
  5. 一种窄通道布局下宏单元的逻辑输出预导引结构,其特征在于,所述结构包括:第一宏单元、第二宏单元、第一通道、第一缓冲器阵列和第二缓冲器阵列;A logic output pre-steering structure for macro cells under narrow channel layout, characterized in that the structure includes: a first macro cell, a second macro cell, a first channel, a first buffer array, and a second buffer array ;
    所述第一宏单元与第二宏单元为相邻的两个宏单元,所述第一宏单元与第二宏单元之间为所述第一通道;所述第一通道内具有走线轨道资源,其中包括多个平行所述第一通道方向的第一走线轨道和多个垂直所述第一通道方向的第二走线轨道;The first macro unit and the second macro unit are two adjacent macro units, and the first channel is between the first macro unit and the second macro unit; the first channel has a wiring track resources, including a plurality of first routing tracks parallel to the direction of the first channel and a plurality of second routing tracks perpendicular to the direction of the first channel;
    所述第一缓冲器阵列和第二缓冲器阵列设置在所述第一通道内,且所述分别呈折线形状排列;The first buffer array and the second buffer array are arranged in the first channel, and the arrays are respectively arranged in the shape of a broken line;
    其中,所述第一缓冲器阵列中的每一个缓冲器依次设置在第一数量的第 一走线轨道中的一个第一走线轨道上,并沿第一走线轨道与第一宏单元的一个对应引脚通过布线连接;Wherein, each buffer in the first buffer array is sequentially arranged on one of the first wiring tracks of the first number, and is connected to the first wiring track along the first wiring track and the first macro unit. A corresponding pin is connected by wiring;
    所述第二缓冲器阵列中的每一个缓冲器依次设置在第二数量的第一走线轨道中的一个第一走线轨道上,并沿第一走线轨道与第二宏单元的一个对应引脚通过布线连接;所述第一数量与第二数量之和小于等于所述总数量;Each buffer in the second buffer array is sequentially disposed on one of the second number of first routing tracks, and corresponds to one of the second macrocells along the first routing track The pins are connected by wiring; the sum of the first quantity and the second quantity is less than or equal to the total quantity;
    每个缓冲器阵列中,相邻的缓冲器之间在沿第一走线轨道方向和第二走线轨道方向上均具有至少一个走线轨道的位移。In each buffer array, adjacent buffers have displacements of at least one wiring track along the direction of the first wiring track and the direction of the second wiring track.
  6. 根据权利要求5所述的逻辑输出预导引结构,其特征在于,所述第一数量的第一走线轨道与所述第二数量的第一走线轨道相互不重叠。The logic output pre-guiding structure of claim 5, wherein the first number of first wiring tracks and the second number of first wiring tracks do not overlap each other.
  7. 根据权利要求5所述的逻辑输出预导引结构,其特征在于,所述结构还包括:逻辑功能单元;The logic output pre-boot structure according to claim 5, wherein the structure further comprises: a logic function unit;
    所述逻辑功能单元设置在所述第一通道外;所述第一宏单元和/或所述第二宏单元的一个或多个引脚通过第一缓冲器阵列和/或第二缓冲器阵列中相应的的缓冲器与所述逻辑功能单元相连接。The logic function unit is arranged outside the first channel; one or more pins of the first macro unit and/or the second macro unit pass through the first buffer array and/or the second buffer array Corresponding buffers in are connected to the logic functional units.
  8. 根据权利要求7所述的逻辑输出预导引结构,其特征在于,所述逻辑功能单元还与其他宏单元的一个或多个引脚相连接。The logic output pre-guidance structure according to claim 7, wherein the logic function unit is further connected to one or more pins of other macro units.
  9. 根据权利要求7所述的逻辑输出预导引结构,其特征在于,所述结构还包括:所述第一通道外的其他缓冲器;The logic output pre-boot structure according to claim 7, wherein the structure further comprises: other buffers outside the first channel;
    所述第一宏单元和/或所述第二宏单元的一个或多个引脚通过第一缓冲器阵列和/或第二缓冲器阵列中相应的的缓冲器后,再连接至其他缓冲器,再与所述逻辑功能单元相连接。One or more pins of the first macro unit and/or the second macro unit are connected to other buffers after passing through the corresponding buffers in the first buffer array and/or the second buffer array , and then connected to the logical functional unit.
PCT/CN2020/128250 2020-08-28 2020-11-12 Method and structure for pre-guiding logic outputs of macro cells in narrow channel layout WO2022041494A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010887106.3A CN111859841A (en) 2020-08-28 2020-08-28 Logic output pre-guiding method and structure of macro unit under narrow channel layout
CN202010887106.3 2020-08-28

Publications (1)

Publication Number Publication Date
WO2022041494A1 true WO2022041494A1 (en) 2022-03-03

Family

ID=72967322

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/128250 WO2022041494A1 (en) 2020-08-28 2020-11-12 Method and structure for pre-guiding logic outputs of macro cells in narrow channel layout

Country Status (2)

Country Link
CN (1) CN111859841A (en)
WO (1) WO2022041494A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111859841A (en) * 2020-08-28 2020-10-30 安徽省东科半导体有限公司 Logic output pre-guiding method and structure of macro unit under narrow channel layout
CN112699631B (en) * 2021-01-14 2022-08-26 东科半导体(安徽)股份有限公司 Design optimization method for solving problem of wiring congestion at corner of wiring channel
CN114492290B (en) * 2022-04-06 2022-07-01 飞腾信息技术有限公司 Power switch planning method, device, equipment and storage medium of chip

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08213466A (en) * 1995-02-07 1996-08-20 Kawasaki Steel Corp Semiconductor integrated circuit
JP2000114468A (en) * 1998-10-06 2000-04-21 Seiko Epson Corp Semiconductor integrated circuit
JP2000236025A (en) * 1999-02-15 2000-08-29 Matsushita Electric Ind Co Ltd Clock skew adjusting circuit and layout design thereof
US20030049891A1 (en) * 2000-12-26 2003-03-13 Liu Louis Chao-Chiuan Utilization of MACRO power routing area for buffer insertion
CN101887469A (en) * 2009-05-12 2010-11-17 台湾积体电路制造股份有限公司 Method of designing integrated circuit and computer system with the method
CN111859841A (en) * 2020-08-28 2020-10-30 安徽省东科半导体有限公司 Logic output pre-guiding method and structure of macro unit under narrow channel layout

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08213466A (en) * 1995-02-07 1996-08-20 Kawasaki Steel Corp Semiconductor integrated circuit
JP2000114468A (en) * 1998-10-06 2000-04-21 Seiko Epson Corp Semiconductor integrated circuit
JP2000236025A (en) * 1999-02-15 2000-08-29 Matsushita Electric Ind Co Ltd Clock skew adjusting circuit and layout design thereof
US20030049891A1 (en) * 2000-12-26 2003-03-13 Liu Louis Chao-Chiuan Utilization of MACRO power routing area for buffer insertion
CN101887469A (en) * 2009-05-12 2010-11-17 台湾积体电路制造股份有限公司 Method of designing integrated circuit and computer system with the method
CN111859841A (en) * 2020-08-28 2020-10-30 安徽省东科半导体有限公司 Logic output pre-guiding method and structure of macro unit under narrow channel layout

Also Published As

Publication number Publication date
CN111859841A (en) 2020-10-30

Similar Documents

Publication Publication Date Title
WO2022041494A1 (en) Method and structure for pre-guiding logic outputs of macro cells in narrow channel layout
US10747933B2 (en) Channel-less integrated circuit layout wiring for chips including a plurality of partitions
US11625522B2 (en) Method and apparatus for generating three-dimensional integrated circuit design
US7523436B2 (en) Semi-custom-made semiconductor integrated circuit device, method for customization and method for redesign
US10812079B2 (en) Integrated circuit layout wiring for multi-core chips
US6397375B1 (en) Method for managing metal resources for over-the-block routing in integrated circuits
Ni et al. A cost-effective TSV repair architecture for clustered faults in 3-D IC
US7612599B2 (en) Semiconductor device
US9977857B1 (en) Method and circuit for via pillar optimization
US7639037B1 (en) Method and system for sizing flow control buffers
JPH11176937A (en) Design method of vlsi chip
CN212484368U (en) Logic output pre-guiding structure of macro unit under narrow channel layout
US6625792B1 (en) Semiconductor design system, semiconductor integrated circuit, semiconductor design method and storage medium storing semiconductor design program
US5264390A (en) Method of automatic wiring in a semiconductor device
US8250512B2 (en) Apparatus for preventing congestive placement and associated method
JP2006285445A (en) Layout design method, layout design program and layout design device
JP6599813B2 (en) Semiconductor integrated circuit and design method of semiconductor integrated circuit
US11151298B1 (en) Metal track routing with buffer bank insertion
JP6326756B2 (en) Information processing apparatus, scan path connection method, and program for configuring scan campus
JPH02121349A (en) Semiconductor integrated circuit device and its design
JP2001267430A (en) Macro cell arrangement device and method
Vaidyanathan et al. Techniques for early package closure in system-in-packages
JPH07288283A (en) Semiconductor integrated circuit device
JP2001244341A (en) Layout method for semiconductor integrated circuit
Ho mSMART: A Signal-integrity-, MAnufacturing-, Reliability-, and Timing-Driven Multilevel Full-Chip Routing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20951162

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20951162

Country of ref document: EP

Kind code of ref document: A1