CN117436398A - Automatic insertion method, system, terminal and medium for power switch unit avoiding macro unit - Google Patents

Automatic insertion method, system, terminal and medium for power switch unit avoiding macro unit Download PDF

Info

Publication number
CN117436398A
CN117436398A CN202311444603.6A CN202311444603A CN117436398A CN 117436398 A CN117436398 A CN 117436398A CN 202311444603 A CN202311444603 A CN 202311444603A CN 117436398 A CN117436398 A CN 117436398A
Authority
CN
China
Prior art keywords
power switch
macro
units
unit
layout
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.)
Pending
Application number
CN202311444603.6A
Other languages
Chinese (zh)
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.)
Hexin Technology Co ltd
Shanghai Hexin Digital Technology Co ltd
Original Assignee
Hexin Technology Co ltd
Shanghai Hexin Digital Technology Co ltd
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 Hexin Technology Co ltd, Shanghai Hexin Digital Technology Co ltd filed Critical Hexin Technology Co ltd
Priority to CN202311444603.6A priority Critical patent/CN117436398A/en
Publication of CN117436398A publication Critical patent/CN117436398A/en
Pending legal-status Critical Current

Links

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/392Floor-planning or layout, e.g. partitioning or placement
    • 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/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • 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
    • 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/396Clock trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

The application provides a method, a system, a terminal and a medium for automatically inserting a power switch unit avoiding a macro unit, and a configuration file is imported based on a digital back-end tool; carrying out layout planning on the macro unit based on the configuration file, and reserving a channel area for adding the power switch unit in the layout planning process; adding a power switching unit in the channel region based on a function command in the digital back-end tool; adding corresponding power switch units in channel areas which meet the width requirement and are not added with the power switch units on the periphery of each macro unit; the power switch units added in all the channel regions are checked and the layout of the power switch units is adjusted. The automatic and complete insertion of the power switch units in various situations under the complex design is realized, the resource waste caused by the excessive insertion of the power switch units can be avoided, and convenience is provided for users; the floorplan workload of the user is reduced, and the working efficiency of the user and the design efficiency of the chip are improved.

Description

Automatic insertion method, system, terminal and medium for power switch unit avoiding macro unit
Technical Field
The application relates to the technical field of chip design, in particular to an automatic power switch unit inserting method, system, terminal and medium for avoiding macro units.
Background
At present, with the rapid development of microelectronic technology, the balance of power consumption and performance is more and more important in large-scale digital design, and power supply shutdown is a common method for reducing the power consumption of a chip, for example, a certain module is not required to be used in some scenes, and the voltage of the module can be turned off at the times and turned on when required, so as to achieve the purpose of reducing the power consumption.
In most cases power switch cell (power switch unit) insertion is implemented in the design, relying mainly on EDA (Electronic Design Automation ) tool-native commands, i.e. with tool-native cmd (command), power switch cell can be inserted perfectly for a simple design. However, with the development of chip technology, more and more designs tend to be complex, and multiple Macro (Macro units) are generally introduced due to design requirements, and due to limitations of native commands, complete and complete power switch cell insertion cannot be achieved through a single and simple EDA native command, and often requires a user to specify many parameters.
Disclosure of Invention
In view of the above drawbacks of the prior art, the present invention provides a method, a system, a terminal and a medium for automatically inserting a power switch unit for avoiding macro units, which are used for solving the problems in the prior art that the macro units are difficult to insert into the power switch in a floorplan stage under the complex design of a plurality of macro units.
To achieve the above and other related objects, a first aspect of the present application provides an automatic power switch unit insertion method for avoiding a macro unit, including: importing a configuration file based on the digital back-end tool; carrying out layout planning on the macro unit based on the configuration file, and reserving a channel area for adding the power switch unit in the layout planning process; adding a power switching unit in the channel region based on a function command in the digital back-end tool; circularly traversing the macro units to find out whether channel areas meeting the width requirement but not adding a power switch unit exist around each macro unit; if so, adding a corresponding power switch unit in the searched channel area; the power switch units added in all the channel regions are checked and the layout of the power switch units is adjusted.
In some embodiments of the first aspect of the present application, the manner of adjusting the layout of the power switch unit includes any one of the following: adjusting the layout of the power switch units according to whether the current power switch units in the channel area optimally allocate power supply resources to peripheral macro units of the power switch units; the layout of the power switch units is adjusted according to the positional relationship between the adjacent power switch units.
In some embodiments of the first aspect of the present application, in the case of adjusting the layout of the power switching units according to whether the current power switching unit in the channel area is optimal for the power supply resource allocation of its peripheral macro-units, the adjustment procedure comprises the following: and obtaining a plurality of power switch units with regular shapes through transverse and/or longitudinal cutting, and extracting the power switch units which meet the power supply requirements of all peripheral macro units and optimize the power supply resource distribution from the power switch units.
In some embodiments of the first aspect of the present application, the process after layout planning the macro-cell based on the configuration file includes: performing standardized inspection on the macro unit, and performing layout adjustment on the macro unit based on the standardized inspection result; the standardized inspection includes: any one or a combination of a pitch check, an integrity check, and an overlap check.
In some embodiments of the first aspect of the present application, after layout planning of the macro-cells based on the configuration file, the method further performs the following: and adding corner units meeting the inspection requirement of design rules to the periphery of the macro unit, and adding standard units between the corner units and the adjacent power switch units.
In some embodiments of the first aspect of the present application, the manner of adding a standard cell between the corner cell and the adjacent power switch cell includes: standard cells are added only between corner cells and power switch cells that meet distance configuration requirements.
In some embodiments of the first aspect of the present application, the method further comprises: the power switch units are connected in series according to a predefined rule to form one or more power switch chains; traversing each power switch chain to check the connection relation comprises the following conditions: case 1: if the power switch units are connected in series to form a power switch chain, traversing the power switch chain to check so as to determine that the power switch units in the power switch chain are sequentially connected and are connected in a non-overlapping manner; case 2: if the power switch units are connected in series to form a plurality of power switch chains, traversing each power switch chain to check to determine that each power switch chain meets the power supply requirement of the macro unit, and connecting the power switch chains in sequence and not overlapping.
To achieve the above and other related objects, a second aspect of the present application provides an automatic power switch unit insertion system for avoiding a macro unit, including: the configuration file importing module is used for importing a configuration file based on the digital back-end tool; the macro cell layout planning module is used for carrying out layout planning on macro cells based on the configuration file, and reserving a channel area for adding a power switch unit in the process of carrying out layout planning; a power switch unit adding module for adding a power switch unit in the channel region based on a function command in the digital back-end tool; the traversal searching module is used for circularly traversing the macro units to find out whether channel areas meeting the width requirement but without adding a power switch unit exist around each macro unit; if so, adding a corresponding power switch unit in the searched channel area; and the power switch unit layout adjustment module is used for checking all the added power switch units in the channel area and adjusting the layout of the power switch units.
To achieve the above and other related objects, a third aspect of the present application provides an electronic terminal, including: a processor and a memory; the memory is used for storing a computer program; the processor is configured to execute the computer program stored in the memory, so that the electronic terminal executes the automatic power switch unit insertion method of the macro-avoidance unit.
To achieve the above and other related objects, a fourth aspect of the present application provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements a method for automatically inserting a power switch unit of the evading macro unit.
As described above, the method, system, terminal and medium for automatically inserting the power switch unit avoiding the macro unit have the following beneficial effects:
(1) The automatic and complete insertion of the power switch units in various situations under the complex design is realized, the resource waste caused by the excessive insertion of the power switch units can be avoided, and convenience is provided for users;
(2) The floorplan workload of the user is reduced, and the working efficiency of the user and the design efficiency of the chip are improved.
Drawings
Fig. 1 is a schematic flow chart of a method for automatically inserting a power switch unit avoiding a macro unit according to an embodiment of the disclosure.
FIG. 2 is a schematic diagram of macro cell layout according to one embodiment of the present application.
FIG. 3 shows a corner unit addition schematic diagram in an embodiment of the present application.
FIG. 4 is a schematic diagram of a layout of corner cells around a macro cell according to one embodiment of the present application.
Fig. 5 is a schematic diagram of adding a power switch unit in an embodiment of the present application.
Fig. 6A-6C are diagrams illustrating embodiments of layout adjustment of power switch cells according to an embodiment of the present application.
FIG. 7 is a diagram showing an embodiment of prohibiting the addition of standard cells in an embodiment of the present application.
Fig. 8 is a diagram showing an embodiment of a method for automatically inserting a power switch unit avoiding a macro unit according to an embodiment of the present application.
Fig. 9 is a schematic structural diagram of an automatic power switch unit plugging system for avoiding macro units according to an embodiment of the present application.
Fig. 10 is a schematic structural diagram of an electronic terminal according to an embodiment of the present application.
Detailed Description
Other advantages and effects of the present application will become apparent to those skilled in the art from the present disclosure, when the following description of the embodiments is taken in conjunction with the accompanying drawings. The present application may be embodied or carried out in other specific embodiments, and the details of the present application may be modified or changed from various points of view and applications without departing from the spirit of the present application. It should be noted that the following embodiments and features in the embodiments may be combined with each other without conflict.
It is noted that in the following description, reference is made to the accompanying drawings, which describe several embodiments of the present application. It is to be understood that other embodiments may be utilized and that mechanical, structural, electrical, and operational changes may be made without departing from the spirit and scope of the present application. The following detailed description is not to be taken in a limiting sense, and the scope of embodiments of the present application is defined only by the claims of the issued patent. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. Spatially relative terms, such as "upper," "lower," "left," "right," "lower," "upper," and the like, may be used herein to facilitate a description of one element or feature as illustrated in the figures as being related to another element or feature.
In this application, unless specifically stated and limited otherwise, the terms "mounted," "connected," "secured," "held," and the like are to be construed broadly, and may be, for example, fixedly connected, detachably connected, or integrally connected; can be mechanically or electrically connected; can be directly connected or indirectly connected through an intermediate medium, and can be communication between two elements. The specific meaning of the terms in this application will be understood by those of ordinary skill in the art as the case may be.
Furthermore, as used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context indicates otherwise. It will be further understood that the terms "comprises," "comprising," "includes," and/or "including" specify the presence of stated features, operations, elements, components, items, categories, and/or groups, but do not preclude the presence, presence or addition of one or more other features, operations, elements, components, items, categories, and/or groups. The terms "or" and/or "as used herein are to be construed as inclusive, or meaning any one or any combination. Thus, "A, B or C" or "A, B and/or C" means "any of the following: a, A is as follows; b, a step of preparing a composite material; c, performing operation; a and B; a and C; b and C; A. b and C). An exception to this definition will occur only when a combination of elements, functions or operations are in some way inherently mutually exclusive.
In order to make the objects, technical solutions and advantages of the present invention more apparent, further detailed description of the technical solutions in the embodiments of the present invention will be given by the following examples with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
Before explaining the present invention in further detail, terms and terminology involved in the embodiments of the present invention will be explained, and the terms and terminology involved in the embodiments of the present invention are applicable to the following explanation:
<1> eda (Electronic Design Automation ): EDA refers to a design method that uses computer aided design (Computer Aided Design, CAD) software to complete the functional design, synthesis, verification, physical design (including layout, wiring, layout, design rule checking, etc.) of very large scale integrated circuit (Very Large Scale Integration Circuit, VLSI) chips. EDA tools are supports for integrated circuit design and manufacturing processes, are carriers for integrated circuit design methodologies, and are ties and bridges that connect two links of design and manufacturing. Integrated circuit enterprises need to use EDA tools to complete the design and manufacturing process.
<2> Innovus tool: innovus is a physical implementation system for ASIC (Application-specific integrated circuit) and is a design implementation platform for advanced node-oriented design by Cadence corporation. The method realizes the whole chip realization flow, namely, from Floorplanning (layout planning), placement (layout), clock tree Synthesis (CTS (clock tree synthesis), routing (wiring) to Final Verification (final verification), and the whole flow is automated. The goal of Cadence Innovus is to minimize power consumption, achieve maximum performance, while guaranteeing chip reliability. In addition, the method can perform optimal design coordination according to different process requirements.
<3> Macro unit (Macro): in digital back-end integrated circuit design, macro unit refers to a specific functional module, for example, various IP cores including a Memory (Memory), a Phase Lock Loop (PLL), a delay locked Loop (Delay locked Loop, DLL), etc., that is, a pre-designed circuit functional module used in an Application Specific Integrated Circuit (ASIC) or a field programmable logic array (Field Programmable Gate Array, FPGA), logic is already integrated in itself, and the logic is called according to a process library.
<4> power switching unit (Power switch cell, psw): the power supply circuit is used for a power supply shutdown technology, and achieves the purpose of reducing static power consumption by shutting off a power supply voltage of a certain area or a certain submodule which is temporarily not needed in a chip.
<5> Power shutdown technique (PSO): the PSO technology is most widely applied in the field of low-power design of ultra-large-scale integrated circuits, can realize complete turn-off of local power supply, and has remarkable effect on reducing power consumption of chips. PSO technology is one of the most effective methods for reducing power consumption, and the idea is to achieve the goal of reducing power consumption by turning off the power supply to areas or macro blocks in the chip that temporarily do not need power.
<6> corner cell (endcap cell): is a boundary cell, also known as an endcap cell, commonly known as a corner cell. An endcap cell is a special standard cell. In the back-end physical design, besides some common standard cells such as AND, NOT, or the like, there are some special physical cells (physical cells) which usually have no logic circuits and do not exist in netlist (netlist file), but play a role in the running of the whole chip, and the stability plays a role. The endcap cell functions to ensure that each nwell is nwell enclosed, resembling a closed loop, mainly at the end of row (both sides), and surrounding edges of memory or other blocks.
<7> Standard cell (Standard cell): in semiconductor design, a standard cell refers to a type of logic circuit, such as a logic gate circuit, a memory cell, etc., that performs a certain function. In the standard cell library of EDA design software, the following common standard cell types are typically included: logic gates, memory cells, encoders and decoders, multiplexers, adders and subtractors, combiners, device edges, and the like. In addition to the common standard cells described above, other special purpose circuits may be included in the standard cell library, such as clock drivers, power/ground connection circuits, high speed interface circuits, and the like. These standard cells can be selected and used according to the requirements and process characteristics of the chip design to achieve design goals and meet performance requirements.
<8> design rule checking (design rule check, DRC) DRC verification mainly checks whether the physical design meets the manufacturing process specifications, the goal of DRC verification is to ensure that the physical design meets the requirements of the manufacturing process, avoiding the problems of failure of the manufacturing process and circuit performance.
<9> floorplan: the layout planning is to place macro units of chips and determine the placement positions of various functional circuits in general, such as an IP module, RAM (Random Access Memory ), I/O pins (input/output pins), and the like; layout planning can directly affect the final area of the chip.
Fig. 1 is a schematic flow chart of a method for automatically inserting a power switch unit avoiding a macro unit according to an embodiment of the present application. The method mainly comprises the following steps:
step S11: the configuration file is imported based on the digital back-end tool. The configuration file includes a netlist library, a physical library and a timing library, and the digital back-end tool in this embodiment is preferably an Innovus tool.
It should be noted that the advantages of the Innovus tool include: the Innovus tool with low power consumption always surrounds the design target with low power consumption in the whole design flow, and advanced algorithm and technology are adopted to ensure the power consumption control of the chip; the system has the advantages that the system has high performance, floorplanning, placement, CTS of Innovus and Routing full-flow automation, and a designer can automatically complete important works such as layout and wiring by inputting necessary design parameters. The design time is reduced to the greatest extent, and the shipment speed is improved; compatibility, innovus can be used with other EDA tools (e.g., SPICE, virtuoso, etc.) to form a complete chip design ecosystem. The method can adapt to different chip processes and architectures, and realize automatic chip realization; the Innovus user interface is user-friendly, is intuitive to use, is easy to operate and learn, and can be used by a designer quickly, so that training time and cost are saved.
Step S12: and carrying out layout planning on the macro unit based on the configuration file, and reserving a channel area for adding the power switch unit in the layout planning process.
Referring to fig. 2, in the process of designing a chip, layout planning is performed on macro units, and all macro units are put by manual or automatic tool based on the configuration file, wherein 110, 120 and 130 are macro units with different sizes. In the placing process, the design specifications corresponding to different processes are required to be followed, meanwhile, a channel area for adding the power switch units is required to be reserved, and at the moment, the distance between macro units is required to be considered to be enough to ensure that the power switch units can be added, namely, the channel area is required to meet the process requirements of adding the power switch units.
In some examples, the process of layout planning the macro-cells based on the configuration file includes: performing standardized inspection on the macro unit, and performing layout adjustment on the macro unit based on the standardized inspection result; the standardized inspection includes: any one or a combination of a pitch check, an integrity check, and an overlap check.
In the process of macro cell layout planning, all macro cells are traversed according to the placement positions of the macro cells to carry out standardized inspection, wherein the standardized inspection mainly determines whether the problems of too small interval between the macro cells (interval inspection), macro cell omission (integrity inspection), overlapping between the macro cells (overlapping inspection) and the like exist or not based on the design requirements of the macro cells in the configuration file, and adjusts the placement of the macro cells according to the standardized inspection result.
In some examples, after layout planning the macro-cells based on the configuration file, the method further performs the following: and adding corner units meeting the inspection requirement of design rules to the periphery of the macro unit, and adding standard units between the corner units and the adjacent power switch units.
After completing layout planning of the macro cells, corner cells are added to the periphery of the macro cells according to the design requirements of the process, 110 is the macro cell, and 210 is the corner cell, which is described with reference to fig. 3. At this time, the macro cell should have a certain distance from the corner cell to meet the DRC (design rule checking) requirement of the process, and the corner cell can ensure that the physical environments of the physical cells are kept consistent in the chip design process, and can protect the functions of the chip and avoid the macro cell from being damaged in the manufacturing process. As shown in fig. 4, corner cells 210, 220, 230 are respectively corner cells corresponding to macro cells are inserted around all macro cells.
Step S13: a power switching unit is added in the channel region based on a function command in the digital back-end tool.
It should be noted that, after completing layout planning of the macro unit according to the above steps, the power switch unit is added in the reserved channel area for adding the power switch unit by using the function command in the digital back-end tool. Wherein, the function command in the digital back-end tool may be a native command in the Innovus tool: add_power_switches, with the command add_power_switches, are inserted all over the power switch cells in the chip design, as shown in fig. 5, with 310 being the power switch cells added in the channel area between adjacent macro-cells 110.
Step S14: circularly traversing the macro units to find out whether channel areas meeting the width requirement but not adding a power switch unit exist around each macro unit; if so, adding a corresponding power switch unit in the searched channel area.
It should be explained that, after the power switch unit is added by using the function command in the digital back-end tool, the addition failure of the power switch unit is easily caused because a plurality of complicated cases may exist in the channel area for adding the power switch unit. Therefore, it is necessary to find all macro cells in the chip design, and perform cycle traversal in macro cell units to see whether there is a channel area around the macro cells that meets the width requirement but is not plugged into the power switch unit, and if so, plug in the power switch unit for the channel area that meets the width requirement.
Step S15: the power switch units added in all the channel regions are checked and the layout of the power switch units is adjusted. Specifically, after the addition of the power switch unit is completed, the layout of the power switch unit needs to be adjusted, so that the layout of the power switch unit is reasonable and the minimum power consumption is maintained. The mode of adjusting the layout of the power switch unit comprises any one of the following modes:
Mode one: and adjusting the layout of the power switch units according to whether the current power switch units in the channel area are optimal for the power supply resource allocation of the peripheral macro units. The specific adjustment process comprises the following steps: and obtaining a plurality of power switch units with regular shapes through transverse and/or longitudinal cutting, and extracting the power switch units which meet the power supply requirements of all peripheral macro units and optimize the power supply resource distribution from the power switch units. It should be noted that whether the power supply resource allocation of the power switch unit is optimal refers to that the power switch unit avoids too many power switch units being inserted into the complex channel area in the layout process, and meets the power supply requirement of the macro unit with low power consumption. Specific examples are as follows:
as shown in fig. 6A, if the channel regions around the macro cell are different in width at one or more places, coordinates of all the channel regions around the macro cell are acquired and combined to form an irregular polygon, the irregular polygon is cut longitudinally, and the polygon is cut into two parts to obtain a first channel region into which the most power switch units can be inserted. However, the first channel area obtained by longitudinal cutting may have a width too narrow to allow enough power switch units to be inserted, so that the polygon may be transversely cut to select a second channel area into which the largest number of power switch units can be inserted, and if the first channel area does not meet the requirement of the width of the power switch units to be inserted, the power switch units can be inserted by using the second channel area. It is clear that the channel area into which the most power switch units can be inserted is the channel area of the power switch unit that meets the power supply requirements of all macro units around and optimizes the power supply resource allocation.
Specifically, if one channel region has a situation of different widths at one or more positions, a channel region meeting the requirements is calculated through an algorithm, and power switch cell is integrally inserted into the channel region. The algorithm comprises the following steps:
step 1: acquiring row coordinates of all rectangles in the channel region with different widths and combining the row coordinates to form an irregular polygon;
step 2: longitudinally cutting the irregular polygon to obtain a channel region (the longest rectangular channel region in this embodiment) into which at most power switch cell can be inserted;
step 3: if the channel width obtained in step 2 is too narrow to be inserted into power switch cell, selecting the largest channel area to be inserted into power switch cell after transversely cutting the irregular polygon in step 1;
the power switch cell insertion of fig. 6A can finally be implemented, i.e. the largest possible rectangle is obtained in the channel area of the irregular polygon to insert power switch cell as much as possible to meet the power supply requirements of all macro cells in the periphery.
As shown in fig. 6B, if there are macro units of non-uniform longitudinal heights that are adjacent and parallel, the problem that the power switch units are inserted too much to cause resource waste occurs easily. And acquiring coordinates of overlapping parts of adjacent and parallel macro units to generate a regular polygon, namely, transversely cutting and discarding non-overlapping parts in the figure, wherein the finally obtained regular polygon is a channel area added with a power switch unit. The cutting in this case can avoid repeated insertion in the channel area that has been covered by the globally inserted power switching unit, and also can avoid excessive insertion of the power switching unit, thereby achieving the effects of saving area and saving winding resources.
Specifically, for macro cells having non-uniform longitudinal heights, there may be cases where the widths of the upper or lower sides of the channel regions are non-uniform. At this point, the algorithm may insert power switch cell only for the channel regions that are completely parallel between neighboring macro-cells, thereby avoiding excessive insertion. The algorithm comprises the following steps:
step 1: expanding the column coordinates of the left Bian Hong unit in the adjacent macro units rightward by a specified distance to acquire a channel region;
step 2: the channel region is compared with the right Bian Hong unit in the adjacent macro cell, the row coordinates of the right Bian Hong unit are taken as the standard to capture the row coordinates completely falling in the channel region to generate a new channel region, the row coordinates beyond the new channel region are discarded, and the new channel region is taken as the insertion range of the insertion power switch cell.
Mode two: the layout of the power switch units is adjusted according to the positional relationship between the adjacent power switch units.
As described with reference to fig. 6C, after the power switch units are inserted in the channel region, if the existing power switch units are found to be located closer to the newly added power switch units within a certain range, but not in the same column, they may be combined into one column. The method comprises the following steps: the power switch unit group A, the power switch unit group B and the power switch unit group C are arranged, whether the position distances are similar is judged according to the transverse coordinates of the power switch units of each group, if so, the power switch units inserted in the mobile power switch unit group B in the whole are aligned to the power switch unit group A and the power switch unit group C in the channel, so that the power switch unit group A, the power switch unit group B and the power switch unit group C are combined into a row.
Specifically, after insertion power switch cell in the channel region, if the existing power switch cell is found to be closer to the newly added power switch cell within a certain range, it can be merged into one column. The brief algorithm comprises the following steps:
step 1: combining adjacent power switch cell groups (Group a, group B, and Group C, respectively) according to coordinates;
step 2: whether the distances are similar is determined based on the abscissa of each Group power switch cell, and if so, the moving global insert power switch cell aligns power switch cell in the channel region, i.e., the abscissas of Group a and Group C are the same, but Group B is similar to but not the abscissas of Group a, group C, and therefore, group B is incorporated into the same column of groups a and Group C and remains aligned with groups a and C.
Further, for the positional relationship check between the power switch units, the position of the newly inserted power switch unit and the power network condition around it are checked in the present embodiment, and the fine adjustment of the lateral position of the inserted power switch unit is performed according to the position of the power line of the power network, so as to ensure that the power switch unit can be directly connected to the power supply in the vicinity and keep the position centered in the channel area as much as possible to improve the power receiving and supplying robustness. Meanwhile, because denser lower-layer metal is needed above the power switch unit, the power switch unit is properly deviated from the existing power network, so that the problem of checking design rules can be avoided, and the integrity of the power network in chip design and the construction of the power network of the power switch unit are ensured.
In an embodiment of the present application, the manner of adding the standard cell between the corner cell and the adjacent power switch cell includes: standard cells are added only between corner cells and power switch cells that meet distance configuration requirements.
Specifically, if the power switch unit added based on the Innovus native command is too close to the corner unit, for example, less than the preset distance threshold, the area position is unfavorable for placing the standard unit due to the potential power supply risk, as shown in fig. 7, the power switch unit 310 is too close to the corner unit 210 on the left side, and the tool placement standard unit is automatically blocked by hard placement blockage generated in the area position. hard placement blockage refers to the prohibition of placing any standard cell in this area.
In an embodiment of the present application, the method further includes: the power switch units are connected in series according to a predefined rule to form one or more power switch chains; traversing each power switch chain to check the connection relation comprises the following conditions:
case 1: if the power switch units are connected in series to form a power switch chain, traversing the power switch chain to check so as to determine that the power switch units in the power switch chain are sequentially connected and are connected in a non-overlapping manner;
Case 2: if the power switch units are connected in series to form a plurality of power switch chains, traversing each power switch chain to check to determine that each power switch chain meets the power supply requirement of the macro unit, and connecting the power switch chains in sequence and not overlapping.
Specifically, the connection relation of the power switch units is checked, and the power switch units are connected in series, so that all the power switch units are automatically connected into one power switch chain with the aim of shortest distance between adjacent power switch units. If the power switch chain is only one, all power switch units need to be checked to be connected to the same power switch chain end to end; if a long power switch chain and a short power switch chain exist, the short chain needs to be ensured to be short enough and meet the power-on requirement, and all the rest power switch units are connected to the other long power switch chain end to end.
It should be noted that the invention can cope with the design scheme of any number of macro units and the layout planning of any placement mode of the macro units; aiming at the problem that power switch units are possibly not successfully plugged in the vicinity of some macro units, automatic supplementary addition can be performed; whether the power switch unit inserted near the boundary in the design process can cause the power connection problem or not can be judged, and the repair is carried out; and considering the position distribution of the power switch units in the whole design, the aim of shortest distance between adjacent power switch units is to realize that all the power switch units are automatically connected into a power switch chain.
It should be emphasized that the present invention can be used for floorplan with arbitrary size design, arbitrary number of macro-cell placement, and arbitrary macro-cell placement; the invention also opens some setting interfaces and parameters, inserts the power switch unit in the place where the user has extra demands, and can adapt to different types of power switch units, thereby being convenient for the user to apply in different projects and different technologies and having strong universality; the invention can also avoid the user from inputting a plurality of position parameters, and facilitates the user to insert the power switch unit as quickly and simply as possible in an automatic mode, thereby greatly reducing the work load of the user and accelerating the realization of the floorplan so as to improve the design efficiency of the whole chip.
In order to facilitate the display of the automatic power switch unit insertion method of the macro-avoiding unit, the following specific embodiments are provided for illustration:
example 1: an automatic insertion method of a power switch unit avoiding a macro unit; fig. 8 is a diagram illustrating an embodiment of a method for automatically inserting a power switch unit avoiding a macro unit according to the present embodiment.
The method comprises the following steps:
step 1: innovus tool imports netlist and design shape;
step 2: placing macro, inserting an endcap cell, and reserving a channel area for adding power switch cell;
Step 3: performing standardized inspection on macro;
step 4: adding power switch cell with native commands;
step 5: circularly traversing the macro to find out whether a channel area meeting the width requirement but not added with power switch cell exists around the macro; if present, insert power switch cell;
step 6: the positional relationship and the connection relationship of power switch cell are checked.
Referring to fig. 9, a schematic diagram of an automatic power switch unit insertion system 900 for avoiding macro units according to an embodiment of the present invention is shown. The system 900 includes:
a configuration file importing module 901, configured to import a configuration file based on a digital back-end tool;
the macro cell layout planning module 902 is configured to perform layout planning on macro cells based on the configuration file, and reserve a channel area for adding a power switch unit in the process of performing layout planning;
a power switch unit adding module 903 for adding a power switch unit in the channel area based on a function command in the digital back-end tool;
a traversal searching module 904, configured to cycle through the macro units to find whether a channel area meeting the width requirement but not adding a power switch unit exists around each macro unit; if so, adding a corresponding power switch unit in the searched channel area;
The power switch unit layout adjustment module 905 is configured to check the power switch units added in all the channel regions and adjust the layout of the power switch units.
It should be understood that the division of the modules or units of the above system is merely a division of a logic function, and may be fully or partially integrated into a physical entity or may be physically separated. And these modules or units may all be implemented in the form of software calls via the processing elements; or can be realized in hardware; it is also possible that some modules or units are implemented in the form of processing elements calling software and some modules or units are implemented in the form of hardware.
For example, the above modules or units may be one or more integrated circuits configured to implement the above methods, such as: one or more application specific integrated circuits (Application Specific Integrated Circuit, abbreviated as ASIC), or one or more microprocessors (digital signal processor, abbreviated as DSP), or one or more field programmable gate arrays (Field Programmable Gate Array, abbreviated as FPGA), or the like. For another example, when a module above is implemented in the form of a processing element scheduler code, the processing element may be a general-purpose processor, such as a central processing unit (Central Processing Unit, CPU) or other processor that may invoke the program code. For another example, the modules may be integrated together and implemented in the form of a system-on-a-chip (SOC).
Because the implementation of the name disambiguation and achievement merging system of the scientific research achievements in this embodiment is similar to the implementation of the automatic power switch unit insertion method of the macro-avoidance unit provided above, the description is omitted.
As shown in fig. 10, a schematic structural diagram of an electronic terminal in an embodiment of the present application is shown. The electronic terminal 1000 provided in this example includes: memory 1001 and processor 1002. The memory 1001 is used for storing a computer program; the processor 1002 runs a computer program to implement the automatic power switch unit insertion method for avoiding macro units.
Alternatively, the number of the memories 1001 may be one or more, and the number of the processors 1002 may be one or more.
Optionally, the processor 1002 in the electronic terminal 1000 loads one or more instructions corresponding to the process of the application program into the memory 1001 according to the steps as described in fig. 1, and the processor 1002 executes the application program stored in the first memory 1001, so as to implement various functions in the automatic power switch unit inserting method of the avoiding macro unit.
Optionally, the memory 1001 may include, but is not limited to, high speed random access memory, nonvolatile memory. Such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state storage devices; the processor 1002 may include, but is not limited to, a central processing unit (Central Processing Unit, CPU for short), a network processor (Network Processor, NP for short), etc.; but also digital signal processors (Digital Signal Processing, DSP for short), application specific integrated circuits (Application Specific Integrated Circuit, ASIC for short), field programmable gate arrays (Field Programmable Gate Array, FPGA for short) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
Alternatively, the processor 1002 may be a general-purpose processor, including a central processing unit (Central Processing Unit, abbreviated as CPU), a network processor (Network Processor, abbreviated as NP), and the like; but also digital signal processors (Digital Signal Processing, DSP for short), application specific integrated circuits (Application Specific Integrated Circuit, ASIC for short), field programmable gate arrays (Field Programmable Gate Array, FPGA for short) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
The present invention also provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the method for automatically inserting a power switching unit of a macro-avoidance unit.
Those of ordinary skill in the art will appreciate that: all or part of the steps for implementing the method embodiments described above may be performed by computer program related hardware. The aforementioned computer program may be stored in a computer readable storage medium. The program, when executed, performs steps including the method embodiments described above; and the aforementioned storage medium includes: various media that can store program code, such as ROM, RAM, magnetic or optical disks.
In the embodiments provided herein, the computer-readable storage medium may include read-only memory, random-access memory, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory, U-disk, removable hard disk, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. In addition, any connection is properly termed a computer-readable medium. For example, if the instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital Subscriber Line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, however, that computer-readable and data storage media do not include connections, carrier waves, signals, or other transitory media, but are intended to be directed to non-transitory, tangible storage media. Disk and disc, as used herein, includes Compact Disc (CD), laser disc, optical disc, digital Versatile Disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.
In summary, the present application provides a method, a system, a terminal and a medium for automatically inserting a power switch unit avoiding a macro unit, wherein the application imports a configuration file based on a digital back-end tool; carrying out layout planning on the macro unit based on the configuration file, and reserving a channel area for adding the power switch unit in the layout planning process; adding a power switching unit in the channel region based on a function command in the digital back-end tool; circularly traversing the macro units to find out whether channel areas meeting the width requirement but not adding a power switch unit exist around each macro unit; if so, adding a corresponding power switch unit in the searched channel area; the power switch units added in all the channel regions are checked and the layout of the power switch units is adjusted. The power switch unit is automatically and completely inserted in a plurality of situations under complex design, so that resource waste caused by excessive insertion of the power switch unit can be avoided, and convenience is provided for users; the floorplan workload of the user is reduced, and the working efficiency of the user and the design efficiency of the chip are improved. Therefore, the method effectively overcomes various defects in the prior art and has high industrial utilization value.
The foregoing embodiments are merely illustrative of the principles of the present application and their effectiveness, and are not intended to limit the application. Modifications and variations may be made to the above-described embodiments by those of ordinary skill in the art without departing from the spirit and scope of the present application. Accordingly, it is intended that all equivalent modifications and variations which may be accomplished by persons skilled in the art without departing from the spirit and technical spirit of the disclosure be covered by the claims of this application.

Claims (10)

1. An automatic power switch unit insertion method avoiding macro units is characterized by comprising the following steps:
importing a configuration file based on the digital back-end tool;
carrying out layout planning on the macro unit based on the configuration file, and reserving a channel area for adding the power switch unit in the layout planning process;
adding a power switching unit in the channel region based on a function command in the digital back-end tool;
circularly traversing the macro units to find out whether channel areas meeting the width requirement but not adding a power switch unit exist around each macro unit; if so, adding a corresponding power switch unit in the searched channel area;
The power switch units added in all the channel regions are checked and the layout of the power switch units is adjusted.
2. The automatic power switch unit insertion method for avoiding macro unit according to claim 1, wherein the mode of adjusting the layout of the power switch unit includes any one of the following:
adjusting the layout of the power switch units according to whether the current power switch units in the channel area optimally allocate power supply resources to peripheral macro units of the power switch units;
the layout of the power switch units is adjusted according to the positional relationship between the adjacent power switch units.
3. The automatic power switching unit insertion method of the evading macro unit according to claim 2, wherein in the case of adjusting the layout of the power switching units according to whether or not the current power switching unit in the channel area is optimal for the power supply resource allocation of its peripheral macro units, the adjustment process includes the following:
and obtaining a plurality of power switch units with regular shapes through transverse and/or longitudinal cutting, and extracting the power switch units which meet the power supply requirements of all peripheral macro units and optimize the power supply resource distribution from the power switch units.
4. The method for automatically inserting a power switch unit avoiding a macro unit according to claim 1, wherein the process after layout planning of the macro unit based on the configuration file comprises:
Performing standardized inspection on the macro unit, and performing layout adjustment on the macro unit based on the standardized inspection result; the standardized inspection includes: any one or a combination of a pitch check, an integrity check, and an overlap check.
5. The method for automatically inserting a power switch unit avoiding a macro unit according to claim 1, wherein after layout planning of the macro unit based on the configuration file, the method further performs the following steps:
and adding corner units meeting the inspection requirement of design rules to the periphery of the macro unit, and adding standard units between the corner units and the adjacent power switch units.
6. The method of automatic power switch unit insertion avoiding macro-units according to claim 5, wherein the manner of adding standard units between the corner units and the adjacent power switch units comprises:
standard cells are added only between corner cells and power switch cells that meet distance configuration requirements.
7. The method of automatically inserting a power switch unit avoiding a macro unit according to claim 1, further comprising:
the power switch units are connected in series according to a predefined rule to form one or more power switch chains; traversing each power switch chain to check the connection relation comprises the following conditions:
Case 1: if the power switch units are connected in series to form a power switch chain, traversing the power switch chain to check so as to determine that the power switch units in the power switch chain are sequentially connected and are connected in a non-overlapping manner;
case 2: if the power switch units are connected in series to form a plurality of power switch chains, traversing each power switch chain to check to determine that each power switch chain meets the power supply requirement of the macro unit, and connecting the power switch chains in sequence and not overlapping.
8. An automatic power switch unit insertion system that evades macro units, comprising:
the configuration file importing module is used for importing a configuration file based on the digital back-end tool;
the macro cell layout planning module is used for carrying out layout planning on macro cells based on the configuration file, and reserving a channel area for adding a power switch unit in the process of carrying out layout planning;
a power switch unit adding module for adding a power switch unit in the channel region based on a function command in the digital back-end tool;
the traversal searching module is used for circularly traversing the macro units to find out whether channel areas meeting the width requirement but without adding a power switch unit exist around each macro unit; if so, adding a corresponding power switch unit in the searched channel area;
And the power switch unit layout adjustment module is used for checking all the added power switch units in the channel area and adjusting the layout of the power switch units.
9. An electronic terminal, comprising: a processor and a memory;
the memory is used for storing a computer program;
the processor is configured to execute the computer program stored in the memory, so that the electronic terminal executes the automatic power switching unit inserting method for avoiding a macro unit according to any one of claims 1 to 7.
10. A computer-readable storage medium, on which a computer program is stored, characterized in that the computer program, when executed by a processor, implements the method for automatically inserting a power switch unit avoiding a macro unit according to any one of claims 1 to 7.
CN202311444603.6A 2023-11-01 2023-11-01 Automatic insertion method, system, terminal and medium for power switch unit avoiding macro unit Pending CN117436398A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311444603.6A CN117436398A (en) 2023-11-01 2023-11-01 Automatic insertion method, system, terminal and medium for power switch unit avoiding macro unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311444603.6A CN117436398A (en) 2023-11-01 2023-11-01 Automatic insertion method, system, terminal and medium for power switch unit avoiding macro unit

Publications (1)

Publication Number Publication Date
CN117436398A true CN117436398A (en) 2024-01-23

Family

ID=89547758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311444603.6A Pending CN117436398A (en) 2023-11-01 2023-11-01 Automatic insertion method, system, terminal and medium for power switch unit avoiding macro unit

Country Status (1)

Country Link
CN (1) CN117436398A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004104039A (en) * 2002-09-12 2004-04-02 Sharp Corp Automatic layout and wiring design method for integrated circuit, automatic layout and wiring design apparatus therefor, automatic layout and wiring design system therefor, control program and readable recording medium
JP2008112817A (en) * 2006-10-30 2008-05-15 Matsushita Electric Ind Co Ltd Method and device for inserting power switch
US20090113368A1 (en) * 2007-10-26 2009-04-30 Synopsys, Inc. Filler cells for design optimization in a place-and-route system
CN115392179A (en) * 2022-08-25 2022-11-25 深圳市紫光同创电子有限公司 Macro unit layout method, macro unit layout system, macro unit layout equipment and storage medium
CN115758980A (en) * 2022-11-23 2023-03-07 湘潭大学 Low-power-consumption physical design layout method based on automatic chain script
CN116227412A (en) * 2023-03-10 2023-06-06 同济大学 Low-power consumption design method for power supply gating and grid establishment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004104039A (en) * 2002-09-12 2004-04-02 Sharp Corp Automatic layout and wiring design method for integrated circuit, automatic layout and wiring design apparatus therefor, automatic layout and wiring design system therefor, control program and readable recording medium
JP2008112817A (en) * 2006-10-30 2008-05-15 Matsushita Electric Ind Co Ltd Method and device for inserting power switch
US20090113368A1 (en) * 2007-10-26 2009-04-30 Synopsys, Inc. Filler cells for design optimization in a place-and-route system
CN115392179A (en) * 2022-08-25 2022-11-25 深圳市紫光同创电子有限公司 Macro unit layout method, macro unit layout system, macro unit layout equipment and storage medium
CN115758980A (en) * 2022-11-23 2023-03-07 湘潭大学 Low-power-consumption physical design layout method based on automatic chain script
CN116227412A (en) * 2023-03-10 2023-06-06 同济大学 Low-power consumption design method for power supply gating and grid establishment

Similar Documents

Publication Publication Date Title
KR101937851B1 (en) Semiconductor integrated circuit, method of designing the same, and method of fabricating the same
US20230342537A1 (en) Layout design method, integrated circuit, operation chip, and computing device
US7079989B2 (en) Arrangements for automatic re-legging of transistors
US6892368B2 (en) Patching technique for correction of minimum area and jog design rule violations
US7380227B1 (en) Automated correction of asymmetric enclosure rule violations in a design layout
US10803224B2 (en) Propagating constants of structured soft blocks while preserving the relative placement structure
US20120233575A1 (en) Layout method for integrated circuit including vias
JP2006301961A (en) Automatic floor planning technique for semiconductor integrated circuit
US9659123B2 (en) Systems and methods for flexibly optimizing processing circuit efficiency
US20090237134A1 (en) Minimizing clock uncertainty on clock distribution networks using a multi-level de-skewing technique
KR20220104731A (en) Electrical circuit design using cells with metal lines
US8024680B2 (en) Minimal leakage-power standard cell library
US20160042110A1 (en) High quality physical design for monolithic three-dimensional integrated circuits (3d ic) using two-dimensional integrated circuit (2d ic) design tools
US7178122B2 (en) Semiconductor integrated circuit, method of designing semiconductor integrated circuit, and device for designing the same
US7028272B2 (en) Reducing cell library development cycle time
US10936784B2 (en) Planning method for power metal lines
US8595668B1 (en) Circuits and methods for efficient clock and data delay configuration for faster timing closure
US6477696B2 (en) Routing definition to optimize layout design of standard cells
CN117436398A (en) Automatic insertion method, system, terminal and medium for power switch unit avoiding macro unit
CN113743044B (en) Timing path correction method, device, medium and chip structure
US8181143B2 (en) Method and apparatus for generating a memory-efficient representation of routing data
US11126768B2 (en) Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same
US20110041112A1 (en) Method and apparatus for generating a centerline connectivity representation
CN112131824A (en) Chip winding method based on standard unit barrier layer
JP2011109025A (en) Method and apparatus for automatically disposing cells for semiconductor integrated circuit, and program therefor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination