WO2020140517A1 - 一种电源网络设计方法、装置和存储介质 - Google Patents
一种电源网络设计方法、装置和存储介质 Download PDFInfo
- Publication number
- WO2020140517A1 WO2020140517A1 PCT/CN2019/109190 CN2019109190W WO2020140517A1 WO 2020140517 A1 WO2020140517 A1 WO 2020140517A1 CN 2019109190 W CN2019109190 W CN 2019109190W WO 2020140517 A1 WO2020140517 A1 WO 2020140517A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- area
- parameter
- coordinates
- distance
- memory macro
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/18—Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/04—Power grid distribution networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
Definitions
- This application relates to the field of chip design, in particular to a power network design method, device and storage medium.
- the design of the power supply network is very important, related to the stability of the chip work.
- the quality of the power supply network design directly affects the chip's operating speed and functional stability. If weak points of power supply appear in certain parts of the power supply network, resulting in a large voltage drop in the circuit device in the problem area, the circuit will eventually function abnormally.
- the multi-power domain design of a chip means that the chip is powered by multiple power sources or separates several power sources internally. There are complex design methods: power off (MTCMOS Power Gating), power off with state retention function (Power Gating with State Retention), dynamic voltage frequency adjustment (Dynamic Voltage and Frequency Scaling), low voltage standby (Low- Vdd Standby) etc.
- the chip contains a large number of memory macro cells. If the power-off technology is superimposed, the power supply of the memory macro cells will have high requirements.
- the design of the power supply network In order to ensure the normal operation of a large number of memory macro cells, the design of the power supply network must be considered The power requirements of these memories and the power supply capacity at the moment of switching on and off.
- the design of a power network with multiple power domains it is necessary to meet the design requirements of the above technology, and the strength of the power network needs to be ensured, and local weakness cannot exist.
- the division of the power supply network and the determination of related parameters require engineers to calculate, which is time-consuming and has a high error rate. Need to find a multi-power domain power network design automation method, reduce design difficulty and error points, and enhance the quality of the power network.
- the main purpose of the present application is to overcome the above-mentioned shortcomings of the prior art, and to provide a power network design method, device, and storage medium to solve the problem of automating multi-power domain power network design in the prior art.
- An aspect of the present application provides a power network design method, including: identifying coordinates of each memory macro unit in a power domain to be processed in the power domain to be processed; the memory macro unit is rectangular; and the coordinates include : Plane coordinates of the four corners of the memory macro unit; according to the coordinates of the respective memory macro unit in the power domain to be processed, determine the coordinates of the first area and each second area of the power domain to be processed And the coordinates of each third area, wherein the second area includes areas between adjacent memory macro cells, the third area includes areas of individual memory macro cells, and the first area includes Exclude all areas other than the first area and the second area; determine the first metal wire arrangement parameters in the first area of the power supply domain to be processed according to design requirements, according to the The coordinates determine the corresponding second metal wire arrangement parameters in each second area and the corresponding third metal wire arrangement parameters in each third area according to the coordinates of each third area; according to the determined The first metal wire arrangement parameter, the second metal wire arrangement parameter and the third metal wire arrangement parameter, respectively for the first
- determining the coordinates of each second region in the to-be-processed power domain according to the coordinates of each memory macro unit in the to-be-processed power domain includes: according to each memory macro in the to-be-processed power domain The number of the unit, each of the two adjacent memory macro units in the respective memory macro units and the second area between them are used as an analysis unit; according to the two numbers in each of the analysis units The coordinates of adjacent memory macro cells determine the coordinates of the second area between the two adjacent memory macro cells.
- determining the coordinates of the second area between the two adjacently numbered memory macro units according to the coordinates of the two adjacently numbered memory macro units in each analysis unit includes: The upper-right vertex coordinates and the lower-right vertex coordinates of the first-numbered memory macro-unit in the two adjacent-numbered memory macro-units in each analysis unit are correspondingly used as the two-numbered adjacent memory macro-units The upper left vertex coordinates and the lower left vertex coordinates of the second area between the two regions; the upper left vertex coordinates and the lower left vertex of the two memory macro units that are numbered next to each other in the two adjacent memory macro units in each analysis unit Coordinates, corresponding to the upper right vertex coordinates and the lower right vertex coordinates of the second area between the two adjacent memory macro units; the two adjacent memory macros in each analysis unit The second vertex coordinates and the fourth vertex coordinates of the memory macro unit with the highest number in the unit correspond to the first vertex coordinates and the third vertex coordinates of the second region between the two adjacent memory
- the method further includes: determining whether a second area exists between the two adjacent memory macro units in each analysis unit.
- determining whether a second area exists between the two adjacent memory macro units in each analysis unit includes: judging that the two memory macro units adjacent to each other are numbered later Whether the difference between the abscissa of the first vertex coordinate/the third vertex coordinate of the memory macro unit and the abscissa of the second vertex coordinate or the fourth vertex coordinate of the memory macro unit with the previous number is greater than zero; if so, determine There is a second area between the two adjacent memory macro cells.
- the first metal wire arrangement parameter, the second metal wire arrangement parameter, and/or the third metal wire arrangement parameter include: a first distance parameter, in the first group of metal wires on the first side of the area to which they belong , The distance O between the middle position of the first metal line on the first side and the first side of the region; the second distance parameter, the distance S between two adjacent metal lines in each group of metal lines; the third distance Parameter, the distance P between the first metal wires on the first side of the adjacent two groups of metal wires; width parameter, the width W of each metal wire in each group of metal wires.
- W 2 is the width parameter of each second area
- S 2 is the second distance parameter of each second area
- P 2 is the third distance parameter of each second area
- i is the bar of each group of metal wires Number
- (X n+1 ) is the second vertex coordinate of each second area or the abscissa of the fourth vertex coordinate
- (X n +W Mn ) is the first vertex coordinate or third vertex of each second area
- n is the number of the memory macro unit;
- W 3 is the width parameter of each third area
- S 3 is the second distance parameter of each third area
- P 3 is the third distance parameter of each third area
- i is the bar of each group of metal wires Number
- (X n +W Mn ) is the horizontal coordinate of the second vertex coordinate or the fourth vertex coordinate of each third area
- X n is the horizontal coordinate of the first vertex coordinate or the third vertex coordinate of each third area
- N is the number of the memory macro unit.
- Another aspect of the present application provides an electronic device, including: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the above by executing the executable instructions Any one of the power supply network design methods.
- a power supply network design device including: a coordinate recognition unit configured to recognize coordinates of each memory macro unit in a power domain to be processed in the power domain to be processed; the memory unit is rectangular The coordinates include: the plane coordinates of the four corners of the memory macro unit; the coordinate determination unit is set to determine the first position in the power domain to be processed according to the coordinates of each memory macro unit in the power domain to be processed Coordinates of an area, coordinates of each second area, and coordinates of each third area, wherein the second area includes areas between adjacent memory macro cells, and the third area includes individual memory macros
- the area of the unit, the first area includes an area excluding all of the first area and the second area; the parameter determination unit is set to determine the first area in the power supply domain to be processed according to design requirements Parameters of the first metal wire arrangement, the corresponding second metal wire arrangement parameters in each second area are determined according to the coordinates of each second area, and each third is determined separately according to the coordinates of each third area
- the coordinate determining unit, according to the coordinates of each memory macro unit in the to-be-processed power domain, determining the coordinates of each second region in the to-be-processed power domain includes: according to the to-be-processed power source The number of each memory macro unit in the domain, each two adjacent memory macro units in the respective memory macro units and the second region between them are used as one analysis unit; according to each analysis unit The coordinates of the two memory macro cells adjacent to each other, determine the coordinates of the second area between the two memory macro cells adjacent to each other.
- the coordinate determining unit determines the second between the two adjacent memory macro units according to the coordinates of the two adjacent memory macro units in each analysis unit
- the coordinates of the area include: the second vertex coordinate and the fourth vertex coordinate of the first-numbered memory macro-unit in the two adjacent-numbered memory macro-units in each analysis unit are taken as the two The first vertex coordinate and the third vertex coordinate of the second area between the numbered adjacent memory macro units; the numbered memory of the two numbered adjacent memory macro units in each analysis unit
- the first vertex coordinate and the third vertex coordinate of the macro cell correspond to the second vertex coordinate and the fourth vertex coordinate of the second region between the two adjacent memory macro cells.
- the coordinate determining unit is further configured to determine the two memory macro units with adjacent numbers according to the coordinates of the two memory macro units with adjacent numbers in each analysis unit Before the coordinates of the second region between, determine whether there is a second region between the two adjacent memory macro units in each analysis unit.
- the coordinate determining unit determining whether a second area exists between the two adjacent memory macro units in each analysis unit includes: judging the two adjacent memory macros Is the difference between the abscissa of the first vertex coordinate/third vertex coordinate of the memory macrocell numbered later in the unit and the abscissa of the second vertex coordinate or the fourth vertex coordinate of the memory macrocell numbered earlier Zero; if yes, it is determined that there is a second area between the two adjacent memory macro cells.
- the first metal wire arrangement parameter, the second metal wire arrangement parameter, and/or the third metal wire arrangement parameter include: a first distance parameter, in the first group of metal wires on the first side of the area to which they belong , The distance between the middle position of the first metal line on the first side and the first side of the area; the second distance parameter, the distance between two adjacent metal lines in each group of metal lines; the third distance parameter , The distance between the first metal wires on the first side of the adjacent two groups of metal wires; the width parameter, the width of each metal wire in each group of metal wires.
- W 2 is the width parameter of each second area
- S 2 is the second distance parameter of each second area
- P 2 is the third distance parameter of each second area
- i is the bar of each group of metal wires Number
- (X n+1 ) is the second vertex coordinate of each second area or the abscissa of the fourth vertex coordinate
- (X n +W Mn ) is the first vertex coordinate or third vertex of each second area
- n is the number of the memory macro unit;
- W 3 is the width parameter of each third area
- S 3 is the second distance parameter of each third area
- P 3 is the third distance parameter of each third area
- i is the bar of each group of metal wires Number
- (X n +W Mn ) is the horizontal coordinate of the second vertex coordinate or the fourth vertex coordinate of each third area
- X n is the horizontal coordinate of the first vertex coordinate or the third vertex coordinate of each third area
- N is the number of the memory macro unit.
- Yet another aspect of the present application provides a storage medium on which a computer program is stored, and when the program is executed by a processor, the steps of any of the foregoing methods are implemented.
- the power supply network area is divided by identifying the coordinates of each memory macrocell and processing the coordinates. After the areas are divided, the metal is calculated using the area coordinate information Wire layout parameters, and then generate a power supply network that meets the requirements according to the coordinates of each area and the wire layout parameters.
- This application uses related algorithms to replace the implementation of the traditional part of the power supply network, and only a simple configuration is required to complete the basic power network implementation.
- This application can realize the automatic design of the power supply network, improve work efficiency, shorten the design cycle, high accuracy, and simple structure. It is suitable for the power supply network design of all chips, especially in the design of high complexity to ensure the stability of the chip power supply .
- FIG. 1 is a method schematic diagram of an embodiment of a power network design method provided by this application;
- Figure 2 is a schematic diagram of the chip structure
- Figure 3 is a schematic diagram of numbering processing of memory macro cells in the power domain
- Figure 4a is a schematic representation of the coordinate representation of the seventh memory macrocell
- 4b is a schematic diagram of the coordinate representation of the nth memory macrocell
- 5a is a schematic diagram of the first area in the power domain
- 5b is a schematic diagram of the second area in the power domain
- 5c is a schematic diagram of the third area in the power domain
- FIG. 6 is a schematic flowchart of a specific implementation of the step of determining the coordinates of each second region in the to-be-processed power domain according to the coordinates of each memory macro unit in the to-be-processed power domain according to an embodiment of the present application ;
- FIG. 7 is a schematic diagram of a method for dividing a box in a second area
- FIG. 8 is a schematic representation of the coordinate representation of the second area in the box taking the box composed of the first memory macrocell and the second memory macrocell as an example;
- 9a is a schematic diagram of the labeling of the metal wire arrangement parameters and the power supply network in the third area;
- 9b is a schematic diagram of the labeling of the wire arrangement parameters and the power supply network in the second area
- 9c is a schematic diagram of the labeling of the wire arrangement parameters and the power supply network in the first area
- FIG. 11 is a schematic structural diagram of an embodiment of a power network design device provided by the present application.
- FIG. 1 is a method schematic diagram of an embodiment of a power network design method provided by this application.
- the method of the present application is suitable for the design of a power network in a multi-power domain of a chip.
- the multi-power domain power network design method of the chip includes at least step S110, step S120, step S130, and step S140.
- Step S110 Identify the coordinates of each memory macro unit in the power domain to be processed in the power domain to be processed.
- the structure of the chip is shown in Figure 2. If there are no multiple power domains, it can be handled as a single power domain. Under each power domain, there will be multiple memory macrocells. As shown in FIG. 3, for a single power domain, all the memory macrocells in the power domain are found and numbered sequentially. Identify the coordinates of each memory macrocell in the power domain. Specifically, the coordinates of each memory macro cell in the power domain can be identified through a pre-written program. The memory macro unit is rectangular, and the coordinates may specifically be plane coordinates of four vertices of the memory macro unit.
- the coordinates of all memory macro units in a power domain are recorded using four-point coordinates, that is, the coordinates of the four vertices of the memory macro unit are recorded, the first vertex coordinate, the second vertex coordinate, and the third Vertex coordinates and fourth vertex coordinates.
- the side opposite to the left side of the viewer is the left side
- the side opposite to the right side of the viewer is the right side
- the first vertex coordinate is the upper left vertex coordinate of the memory macro unit
- the second The vertex coordinates are the upper right vertex coordinates of the memory macro unit
- the third vertex coordinates are the lower left vertex coordinates of the memory macro unit
- the fourth vertex coordinates are the lower right vertex coordinates of the memory macro unit.
- the coordinates of the seventh memory macrocell are (X 7 , Y 7 ), (X 7 +W M7 ,Y 7 ), (X 7 ,Y 7 +L M7 ),(X 7 +W M7 ,Y 7 +L M7 ), the coordinates of the nth memory macrocell are (X n ,Y n ),(X n +W Mn ,Y n ),(X n ,Y n +L Mn ) , (X n +W Mn , Y n +L Mn ), that is, the first vertex coordinate of the n-th memory macrocell is (X n , Y n ), and the second vertex coordinate is (X n +W Mn , Y n ), the third vertex coordinate (X n , Y n +L Mn ), the fourth vertex coordinate is (X n +W Mn , Y n +L Mn ); where W Mn represents the width of the n
- Step S120 according to the coordinates of each memory macro unit in the to-be-processed power domain, determine the coordinates of the first area, the coordinates of each second area, and the coordinates of each third area of the to-be-processed power domain coordinate.
- the second area includes an area between adjacent memory macro cells, refer to the area 2 shown in FIG. 5b
- the third area includes an area of each independent memory macro cell, refer to the area shown in FIG. 5c 3.
- the first area includes an area excluding all the first area and the second area, refer to area 1 shown in FIG. 5a.
- step S120 includes step S121 and step S122.
- Step S121 According to the number of each memory macro unit in the power domain to be processed, use every two adjacent memory macro units in the respective memory macro units and the second area between them as an analysis unit .
- every two adjacent memory macro units can be combined (for example, a script language can be used for looping), for example, 1 and 2 and the second area between them as an analysis Unit, 2 and 3 and the second area between them as an analysis unit,..., with And the second area in between serves as an analysis unit, with The second area between them serves as an analysis unit.
- every two memory macro cells and the second area between them can be regarded as a box.
- the specific algorithm is that if there are n memory macrocells in a power domain, then (b, b+1) is taken to form a box b, and the value range of b includes 1, 2, ..., n-1, then there are n- 1 box, 1 and 2 and the area between them are box 1, 2 and 3 and the area between them are box 2, ..., 9 and 10 and the area between them is box 9.
- Step S123 Determine the coordinates of the second region between the two memory macro-units with adjacent numbers according to the coordinates of the two memory macro-units with adjacent numbers in each analysis unit.
- the second vertex coordinate and the fourth vertex coordinate of the first-numbered memory macro-unit in the two adjacent-numbered memory macro-units in each analysis unit are taken as the two-number adjacent
- the first vertex coordinates and the third vertex coordinates correspond to the second vertex coordinates and the fourth vertex coordinates of the second area between the two adjacent memory macro units.
- the side opposite to the left side of the viewer is the left side
- the side opposite to the right side of the viewer is the right side
- the first vertex coordinate may be the upper left vertex coordinate
- the second vertex coordinate may be the upper right vertex coordinate
- the third The vertex coordinates may be the lower left vertex coordinates
- the fourth vertex coordinates may be the lower right vertex coordinates.
- the four-point coordinates taken out form a new closed area ⁇ (X 2 , Y 2 +L M2 )(X 1 +W M1 ,Y 1 +L M1 )(X 2 ,Y 2 )(X 1+ W M1 ,Y 1 ) ⁇ , and so on, determine the area 2 between all legally adjacent memory macrocells.
- memory macrocells 910 are listed on both sides of the voltage domain area. The two numbers are adjacent, but the actual They are not adjacent, so there is no second area in the middle, and no processing is needed to obtain the corresponding coordinates of the second area. Therefore, it is necessary to determine whether there is area 2.
- step S122 is further included.
- step S122 it is determined whether there is a second area between the two adjacent memory macro units in each analysis unit. That is to say, step S123 is executed only when there is a second area between two adjacent memory macro-units with numbers, according to the coordinates of the two adjacent memory macro-units in each analysis unit, the Said coordinates of the second area between two adjacent memory macrocells.
- the horizontal coordinate of the first vertex coordinate (upper left vertex) or the third vertex (lower left vertex) coordinate of the memory macro cell that is numbered later in the two memory macro cells that are adjacent to each other is judged Whether the difference between the abscissa of the second vertex coordinate (upper right vertex) or the fourth vertex coordinate (lower right vertex) of the macro unit is greater than zero; if so, determine between the two adjacent memory macro units There is a second area. In other words, using the calculation of the coordinates of the two adjacent memory macrocells to determine whether [(X n+1 -(X n +W Mn )] is greater than 0, if it is greater than 0, a legal area 2 is generated Otherwise, skip and not generate. The final effect is the area 2 part as shown in Figure 5b.
- the third area includes the areas of the individual memory macrocells. Therefore, the coordinates of the individual memory macrocells are the coordinates of the third area of each memory macrocell.
- the first area includes an area excluding all the first area and the second area, that is, the power supply area removes all the second area and the third area, and the remaining area is the first area.
- Step S130 Determine the first metal wire arrangement parameters in the first area of the power domain to be processed according to design requirements, and determine the corresponding second metal wire in each second area according to the coordinates of each second area Arrangement parameters and the corresponding third metal wire arrangement parameters in each third area are determined according to the coordinates of each third area.
- the first metal wire arrangement parameter, the second metal wire arrangement parameter and/or the third metal wire arrangement parameter may specifically include a first distance parameter, a second distance parameter, a third distance parameter and a width parameter.
- the first distance parameter is the distance O between the middle position of the first metal line on the first side and the first side of the belonging area in the first group of metal lines on the first side of the belonging area; for example, the first If the side is the left side, the first distance parameter is the distance between the middle position of the first metal line on the left side and the left side of the belonging area in the first group of metal lines on the left side of the belonging area.
- the second distance parameter is the distance S between two adjacent metal wires in each group of metal wires.
- the third distance parameter is the distance P between the first metal wires on the first side of the adjacent two sets of metal wires. For example, if the first side is the left side, the third distance is the distance P between the first metal wires on the left side of the two adjacent groups of metal wires.
- the width parameter is the width W of each metal wire in each group of metal wires. For details, reference may be made to FIGS. 9a, 9b, and 9c, where Lmacro represents the length of the memory macrocell, Wmacro represents the width of the memory macrocell, and Wm2m is the width of the second region.
- Determining the first metal wire arrangement parameters in the first region in the power domain to be processed according to design requirements specifically includes:
- the width parameter W 1 and the second distance parameter S 1 of each first area are determined according to design requirements; the second distance parameter S 1 is greater than the minimum value of the width parameter W 1 .
- W 1 is the width parameter of each first area
- S 1 is the second distance parameter of each first area
- P 1 is the third distance parameter of each first area
- i is the bar of each group of metal lines number.
- determining the corresponding second metal wire arrangement parameters in each second area specifically includes:
- the second distance parameter S 2 and the third distance parameter P 2 of each second area are determined using the following formula:
- W 2 is the width parameter of each second area
- S 2 is the second distance parameter of each second area
- P 2 is the third distance parameter of each second area
- i is the bar of each group of metal wires Number
- (X n+1 ) is the second vertex coordinate of each second area or the abscissa of the fourth vertex coordinate
- (X n +W Mn ) is the first vertex coordinate or third vertex of each second area
- n is the number of the memory macro unit;
- determining the corresponding third metal wire arrangement parameters in each third area respectively includes:
- the corresponding third metal wire arrangement parameters in each third area are determined using the following formulas:
- W 3 is the width parameter of each third area
- S 3 is the second distance parameter of each third area
- P 3 is the third distance parameter of each third area
- i is the bar of each group of metal wires Number
- (X n +W Mn ) is the horizontal coordinate of the second vertex coordinate or the fourth vertex coordinate of each third area
- X n is the horizontal coordinate of the first vertex coordinate or the third vertex coordinate of each third area
- N is the number of the memory macro unit.
- Step S140 According to the determined first metal wire arrangement parameter, second metal wire arrangement parameter and third metal wire arrangement parameter, the first region and each second The power network is arranged in each area and each third area.
- the power supply network is arranged for the first area, each second area, and each third area in the to-be-processed power supply area according to corresponding metal wire arrangement parameters, respectively.
- Figure 10 shows the effect diagram after the layout design of the power network is completed according to each area.
- the power network design device 100 includes a coordinate recognition unit 110, a coordinate determination unit 120, a parameter determination unit 130, and a network arrangement unit 140.
- the coordinate recognition unit 110 is set to recognize the coordinates of each memory macro unit in the power domain to be processed in the power domain to be processed; the memory unit is rectangular; the coordinates include: the four corner planes of the memory macro unit coordinate.
- the coordinate determination unit 120 is configured to determine the coordinates of the first area, the coordinates of each second area, and each third area in the power supply domain to be processed according to the coordinates of each memory macro unit in the power supply domain to be processed Where the second area includes areas between adjacent memory macrocells, the third area includes areas of individual memory macrocells, and the first area includes all the first areas and The area outside the second area; the parameter determination unit 130 is set to determine the first metal wire arrangement parameters in the first area in the power domain to be processed according to design requirements, according to the coordinates of each second area Determine the corresponding second metal wire arrangement parameters in each second area and determine the corresponding third metal wire arrangement parameters in each third area according to the coordinates of each third area; the network arrangement unit 140 sets Is based on the determined coordinates of the first area, the coordinates
- the coordinate recognition unit 110 recognizes the coordinates of each memory macro unit in the power domain to be processed in the power domain to be processed.
- the structure of the chip is shown in Figure 2. If there are no multiple power domains, it can be handled as a single power domain. Under each power domain, there will be multiple memory macrocells. As shown in FIG. 3, for a single power domain, all the memory macrocells in the power domain are found and numbered sequentially. Identify the coordinates of each memory macrocell in the power domain. Specifically, the coordinates of each memory macro cell in the power domain can be identified through a pre-written program. The memory macro unit is rectangular, and the coordinates may specifically be plane coordinates of four vertices of the memory macro unit.
- the coordinates of all memory macro units in a power domain are recorded using four-point coordinates, that is, the coordinates of the four vertices of the memory macro unit are recorded, the first vertex coordinate, the second vertex coordinate, and the third Vertex coordinates and fourth vertex coordinates.
- the side opposite to the left side of the viewer is the left side
- the side opposite to the right side of the viewer is the right side
- the first vertex coordinate is the upper left vertex coordinate of the memory macro unit
- the second The vertex coordinates are the upper right vertex coordinates of the memory macro unit
- the third vertex coordinates are the lower left vertex coordinates of the memory macro unit
- the fourth vertex coordinates are the lower right vertex coordinates of the memory macro unit.
- the coordinates of the seventh memory macrocell are (X 7 , Y 7 ), (X 7 +W M7 ,Y 7 ), (X 7 ,Y 7 +L M7 ),(X 7 +W M7 ,Y 7 +L M7 ), the coordinates of the nth memory macrocell are (X n ,Y n ),(X n +W Mn ,Y n ),(X n ,Y n +L Mn ) , (X n +W Mn , Y n +L Mn ), that is, the first vertex coordinate of the n-th memory macrocell is (X n , Y n ), and the second vertex coordinate is (X n +W Mn , Y n ), the coordinates of the third vertex (X n , Y n +L Mn ), the coordinates of the fourth vertex are (X n +W Mn , Y n +L Mn ); where W Mn represents
- the coordinate determining unit 120 determines the coordinates of the first area, the coordinates of each second area, and each third area of the power area to be processed according to the coordinates of the respective memory macro units in the power area to be processed coordinate of.
- the second area includes an area between adjacent memory macro cells, refer to the area 2 shown in FIG. 5b
- the third area includes an area of each independent memory macro cell, refer to the area shown in FIG. 5c 3.
- the first area includes an area excluding all the first area and the second area, refer to the area shown in FIG. 5a.
- the coordinate determining unit 120 determines the coordinates of each second region in the to-be-processed power domain according to the coordinates of each memory macro unit in the to-be-processed power domain specifically includes: according to each of the to-be-processed power domains The number of the memory macrocell, each two adjacent memory macrocells in the respective memory macrocells and the second area between them are used as one analysis unit; according to the two in each analysis unit The coordinates of two memory macrocells with adjacent numbers determine the coordinates of the second area between the two memory macrocells with adjacent numbers.
- the coordinate determining unit 120 determines the second area between the two adjacently numbered memory macro units according to the coordinates of the two adjacently numbered memory macro units in each analysis unit
- the coordinates may specifically include: taking the second vertex coordinate and the fourth vertex coordinate of the first-numbered memory macro-unit in the two adjacent-numbered memory macro-units in each analysis unit as the two numbers The first vertex coordinate and the third vertex coordinate of the second area between adjacent memory macro units; the memory macro units that are numbered later in the two numbered adjacent memory macro units in each analysis unit
- the first vertex coordinate and the third vertex coordinate of the cell respectively correspond to the second vertex coordinate and the fourth vertex coordinate of the second area between the two memory macrocells with adjacent numbers.
- the coordinate determining unit 120 is further configured to determine, according to the coordinates of the two adjacent memory macro units in each analysis unit, the first between the two adjacent memory macro units. Before the coordinates of the two regions, it is determined whether a second region exists between the two adjacent memory macro units in each analysis unit.
- the coordinate determining unit determining whether a second area exists between the two adjacent memory macro units in each analysis unit may specifically include: judging the two adjacent memory macro units Is the difference between the abscissa of the first vertex coordinate/third vertex coordinate of the memory macro cell numbered in the middle and the abscissa of the second vertex coordinate or the fourth vertex coordinate of the memory macro cell numbered before ; If yes, it is determined that there is a second area between the two adjacent memory macro cells.
- the above coordinate determination unit 120 determines the details of the coordinates of the second area between the two adjacent memory macro units according to the coordinates of the two adjacent memory macro units in each analysis unit For description, reference may be made to the specific implementation manner of determining the coordinates of each second region in the power domain to be processed in the foregoing method embodiment, which is not described herein again.
- the third area includes the areas of the individual memory macrocells. Therefore, the coordinates of the individual memory macrocells are the coordinates of the third area of each memory macrocell.
- the first area includes an area excluding all the first area and the second area, that is, the power supply area removes all the second area and the third area, and the remaining area is the first area.
- the parameter determining unit 130 determines the first metal wire arrangement parameters in the first region in the power domain to be processed according to the design requirements, and determines the corresponding second metal in each second region according to the coordinates of each second region
- the wire arrangement parameters and the corresponding third metal wire arrangement parameters in each third area are determined according to the coordinates of each third area.
- the first metal wire arrangement parameter, the second metal wire arrangement parameter and/or the third metal wire arrangement parameter may specifically include a first distance parameter, a second distance parameter, a third distance parameter and a width parameter.
- the first distance parameter is the distance O between the middle position of the first metal line on the first side and the first side of the belonging area in the first group of metal lines on the first side of the belonging area; for example, the first If the side is the left side, the first distance parameter is the distance between the middle position of the first metal line on the left side and the left side of the belonging area in the first group of metal lines on the left side of the belonging area.
- the second distance parameter is the distance S between two adjacent metal wires in each group of metal wires.
- the third distance parameter is the distance P between the first metal wires on the first side of the adjacent two sets of metal wires. For example, if the first side is the left side, the third distance is the distance P between the first metal wires on the left side of the adjacent two sets of metal wires.
- the width parameter is the width W of each metal wire in each group of metal wires.
- Lmacro represents the length of the memory macrocell
- Wmacro represents the width of the memory macrocell
- Wm2m is the width of the second region.
- the method for the parameter determination unit 130 to determine the metal wire arrangement parameters is described in detail below according to different regions:
- Determining the first metal wire arrangement parameters in the first region in the power domain to be processed according to design requirements specifically includes:
- the width parameter W 1 and the second distance parameter S 1 of each first area are determined according to design requirements; the second distance parameter S 1 is greater than the minimum value of the width parameter W 1 .
- W 1 is the width parameter of each first area
- S 1 is the second distance parameter of each first area
- P 1 is the third distance parameter of each first area
- i is the bar of each group of metal lines number.
- determining the corresponding second metal wire arrangement parameters in each second area specifically includes:
- the second distance parameter S 2 and the third distance parameter P 2 of each second area are determined using the following formula:
- W 2 is the width parameter of each second area
- S 2 is the second distance parameter of each second area
- P 2 is the third distance parameter of each second area
- i is the bar of each group of metal wires Number
- (X n+1 ) is the second vertex coordinate of each second area or the abscissa of the fourth vertex coordinate
- (X n +W Mn ) is the first vertex coordinate or third vertex of each second area
- n is the number of the memory macro unit;
- determining the corresponding third metal wire arrangement parameters in each third area respectively includes:
- the corresponding third metal wire arrangement parameters in each third area are determined using the following formulas:
- W 3 is the width parameter of each third area
- S 3 is the second distance parameter of each third area
- P 3 is the third distance parameter of each third area
- i is the bar of each group of metal wires Number
- (X n +W Mn ) is the horizontal coordinate of the second vertex coordinate or the fourth vertex coordinate of each third area
- X n is the horizontal coordinate of the first vertex coordinate or the third vertex coordinate of each third area
- N is the number of the memory macro unit.
- the network arrangement unit 140 respectively determines the first area and each of the power supply areas to be processed.
- the second area and each third area are arranged for the power network.
- the first area, each second area, and each third area correspond to the first metal wire arrangement parameter and the second metal wire arrangement
- the first area, each second area, and each third area in the power supply area to be processed can be powered according to the corresponding wire arrangement parameters, respectively Network layout.
- the present application also provides a storage medium corresponding to the power network design method, on which a computer program is stored, and when the program is executed by a processor, the steps of any of the foregoing methods are implemented.
- the solution provided by this application for the design of the multi-power domain of the chip, by identifying the coordinates of each memory macrocell, and processing the coordinates to complete the division of the power supply network area, after the area is divided, the area coordinate information is used to calculate The metal wire arrangement parameters are generated, and then a power supply network that meets the requirements is generated according to the coordinates of each area and the metal wire arrangement parameters.
- This application uses related algorithms to replace the implementation of the traditional part of the power supply network, and only a simple configuration is required to complete the basic power network implementation.
- This application can realize the automatic design of the power supply network, improve work efficiency, shorten the design cycle, high accuracy, and simple structure. It is suitable for the power supply network design of all chips, especially in the design of high complexity to ensure the stability of the chip power supply .
- each functional unit may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
- the disclosed technical content may be implemented in other ways.
- the device embodiments described above are only schematic.
- the division of the unit may be a logical function division.
- there may be another division manner for example, multiple units or components may be combined or may Integration into another system, or some features can be ignored, or not implemented.
- the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, units or modules, and may be in electrical or other forms.
- the unit described as a separate component may or may not be physically separated, and the component as a control device may or may not be a physical unit, that is, it may be located in one place, or may be distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
- the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable storage medium.
- the technical solution of the present application may be essentially or part of the contribution to the existing technology or all or part of the technical solution may be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to enable a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in the embodiments of the present application.
- the aforementioned storage media include: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program code .
- the solution provided by the embodiment of the present application can be used for multi-power domain design of the chip to reduce the network configuration.
- the power supply network area is divided by identifying the coordinates of each memory macrocell and processing the coordinates After dividing the area, calculate the metal wire arrangement parameters using the area coordinate information, and then generate a power network that meets the requirements according to each area coordinate and metal wire arrangement parameters. Only a simple configuration is required to automate the power network Design, improve work efficiency, shorten design cycle, high accuracy, simple structure, suitable for power network design of all chips.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
一种电源网络设计方法、装置和存储介质,所述方法包括:识别待处理电源域中的各个存储器宏单元的坐标(S110);根据各个存储器宏单元的坐标,确定第一区域的坐标、每个第二区域的坐标和每个第三区域的坐标(S120);根据设计要求确定第一区域的第一金属线排布参数,根据每个第二区域的坐标确定每个第二区域的第二金属线排布参数和以及根据每个第三区域的坐标确定每个第三区域的第三金属线排布参数(S130);根据第一区域的坐标、每个第二区域的坐标和每个第三区域的坐标及相应的第一金属线排布参数、第二金属线排布参数和第三金属线排布参数,对第一区域、每个第二区域和每个第三区域进行电源网络排布(S140)。
Description
本申请要求于2019年01月02日提交中国专利局、申请号为201910002719.1、申请名称“一种电源网络设计方法、装置和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及芯片设计领域,尤其涉及一种电源网络设计方法、装置和存储介质。
在芯片设计中,电源网络的设计非常重要,关系到芯片工作的稳定性。电源网络设计的好坏,直接影响到芯片的运行速度,功能的稳定性。如果电源网络中某些部位出现供电的弱点,导致问题区域的电路器件产生大的电压降,最终会使电路功能异常。芯片多电源域设计,是指芯片由多种电源供电或内部分开几种电源。存在复杂的设计方法有:电源关断(MTCMOS Power Gating)、带状态保持功能的电源关断(Power Gating with State Retention)、动态电压频率调整(Dynamic Voltage and Frequency Scaling)、低电压待机(Low-Vdd Standby)等。
在大型芯片设计中,芯片中包含大量存储器宏单元,如果叠加电源关断技术,对存储器宏单元的供电会提出很高的要求,为保证大量存储器宏单元的正常工作,供电网络的设计必须考虑这些存储器的用电需求,以及开关电瞬间的供电能力。多电源域的电源网络设计中,需满足上述技术的设计要求,而且需要保证电源网络的强度,不能存在局部弱点。面对复杂的设计要求,供电网络的划分与相关参数的确定需要工程师计算,时间耗费,错误率较高。需要找出一种多电源域电源网络设计的自动化方法,减少设计难度和错误点,增强电源网络的质量。
发明内容
本申请的主要目的在于克服上述现有技术的缺陷,提供一种电源网络设计方法、装置和存储介质,以解决现有技术中实现多电源域电源网络设计的自动化的问题。
本申请一方面提供了一种电源网络设计方法,包括:识别待处理电源域中的各个存储器宏单元在所述待处理电源域中的坐标;所述存储器宏单元为矩形;所述坐标,包括:存储器宏单元的四个角的平面坐标;根据所述各个存储器宏单元在所述待处理电源域中的坐标,确定所述待处理电源域中的第一区域的坐标、每个第二区域的坐标和每个第三区域的坐标,其中,所述第二区域包括相邻存储器宏单元之间的区域,所述第三区域包括各个独立的存储器宏单元的区域,所述第一区域包括排除所有所述第一区域和所述第二区域之外的区域;根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数和以及根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数;根据确定的所述第一金属线排布参数、第二金属线排布参数和第三金属线排布参数,分别对所述待处理电源区域中的第一区域、每个第二区域和每个第三区域进行电源网络排布。
可选地,根据各个存储器宏单元在所述待处理电源域中的坐标,确定所述待处理电源域中每个第二区域的坐标,包括:根据所述待处理电源域中的各个存储器宏单元的编号,将所述各个存储器宏单元中的每两个编号相邻的存储器宏单元及其之间的第二区域作为一个分析单元;根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标。
可选地,根据每个所述分析单元中的所述两个编号相邻的存储器宏 单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标,包括:将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在前的存储器宏单元的右上顶点坐标和右下顶点坐标相应作为所述两个编号相邻的存储器宏单元之间的第二区域的左上顶点坐标和左下顶点坐标;将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的左上顶点坐标和左下顶点坐标,相应作为所述两个编号相邻的存储器宏单元之间的第二区域的右上顶点坐标和右下顶点坐标;将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在前的存储器宏单元的第二顶点坐标和第四顶点坐标相应作为所述两个编号相邻的存储器宏单元之间的第二区域的第一顶点坐标和第三顶点坐标;将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的第一顶点坐标和第三顶点坐标,相应作为所述两个编号相邻的存储器宏单元之间的第二区域的第二顶点坐标和第四顶点坐标。
可选地,在根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标之前,还包括:确定每个所述分析单元中所述两个编号相邻的存储器宏单元之间是否存在第二区域。
可选地,确定每个所述分析单元中所述两个编号相邻的存储器宏单元之间是否存在第二区域,包括:判断所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的第一顶点坐标/第三顶点坐标的横坐标与编号在前的存储器宏单元的第二顶点坐标或第四顶点坐标的横坐标之间的差值是否大于零;若是,则确定所述两个编号相邻的存储器宏单元之间存在第二区域。
可选地,第一金属线排布参数、第二金属线排布参数和/或第三金属 线排布参数,包括:第一距离参数,所属区域的第一侧的第一组金属线中,第一侧的第一条金属线的中间位置与所属区域的第一侧边的距离O;第二距离参数,每组金属线中相邻两条金属线之间的距离S;第三距离参数,相邻两组金属线的第一侧的第一条金属线之间的距离P;宽度参数,每组金属线中各条金属线的宽度W。
可选地,根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,包括:按照设计要求确定每个第一区域的宽度参数W
1和第二距离参数S
1;按照第一预设规则,根据每个第一区域的所述宽度参数W
1和第一预设调整参数因子k
1确定每个第一区域的第一距离参数O
1;按照第二预设规则,根据每个第一区域的所述宽度参数W
1和所述第二距离参数S
1确定每个第一区域的第三距离参数P
1;所述第一预设规则,包括:O
1=W
1/2+k
1;所述第二预设规则,包括:P
1=i(W
1+S
1);其中,W
1为每个第一区域的宽度参数,S
1为每个第一区域的第二距离参数,P
1为每个第一区域的第三距离参数,i为每组金属线的条数;和/或,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数,包括:按照设计要求确定每个第二区域的宽度参数W
2;按照第三预设规则,根据所述宽度参数W
2确定每个第二区域的第一距离参数O
2;其中,所述第三预设规则,包括:O
2=W
2/2;根据每个第二区域的坐标利用如下公式分别确定每个第二区域的第二距离参数S
2和第三距离参数P
2:
S
2={{(X
n+1)-(X
n+W
Mn)}-i*W
2}/(i-1);
P
2={(X
n+1)-(X
n+W
Mn)}+S
2;
其中,W
2为每个第二区域的宽度参数,S
2为每个第二区域的第二距离参数,P
2为每个第二区域的第三距离参数,i为每组金属线的条数,(X
n+1)为每个第二区域的第二顶点坐标或第四顶点坐标的横坐标,(X
n+W
Mn)为 每个第二区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号;
和/或,根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数,包括:按照设计要求确定每个第三区域的宽度参数W
3;按照第四预设规则,根据所述宽度参数W
3和第三预设调整参数因子k
3确定每个第三区域的第一距离参数O
3;其中,所述第四预设规则,包括:O
3=W
3/2+k
3;根据每个第三区域的坐标利用如下公式分别确定每个第三区域中相应的第三金属线排布参数:
S
3={{(X
n+W
Mn)-(X
n)}-i*W
3}/(i-1);
P
3={(X
n+W
Mn)-(X
n)}+S
3;
其中,W
3为每个第三区域的宽度参数,S
3为每个第三区域的第二距离参数,P
3为每个第三区域的第三距离参数,i为每组金属线的条数,(X
n+W
Mn)为每个第三区域的第二顶点坐标或第四顶点坐标的横坐标,X
n为每个第三区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号。
本申请另一方面提供了一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的电源网络设计方法。
本申请另一方面提供了一种电源网络设计装置,包括:坐标识别单元,设置为识别待处理电源域中的各个存储器宏单元在所述待处理电源域中的坐标;所述存储器单元为矩形;所述坐标,包括:存储器宏单元的四个角的平面坐标;坐标确定单元,设置为根据各个存储器宏单元在所述待处理电源域中的坐标,确定所述待处理电源域中的第一区域的坐标、每个第二区域的坐标和每个第三区域的坐标,其中,所述第二区域 包括相邻存储器宏单元之间的区域,所述第三区域包括各个独立的存储器宏单元的区域,所述第一区域包括排除所有所述第一区域和所述第二区域之外的区域;参数确定单元,设置为根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数和以及根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数;网络排布单元,设置为根据确定的所述第一金属线排布参数、第二金属线排布参数和第三金属线排布参数,分别对所述待处理电源区域中的第一区域、每个第二区域和每个第三区域进行电源网络排布。
可选地,所述坐标确定单元,根据各个存储器宏单元在所述待处理电源域中的坐标,确定所述待处理电源域中每个第二区域的坐标,包括:根据所述待处理电源域中的各个存储器宏单元的编号,将所述各个存储器宏单元中的每两个编号相邻的存储器宏单元及其之间的第二区域作为一个分析单元;根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标。
可选地,所述坐标确定单元,根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标,包括:将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在前的存储器宏单元的第二顶点坐标和第四顶点坐标相应作为所述两个编号相邻的存储器宏单元之间的第二区域的第一顶点坐标和第三顶点坐标;将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的第一顶点坐标和第三顶点坐标,相应作为所述两个编号相邻的存储器宏单元之间的第二区域的第二顶点坐标和第四顶点坐标。
可选地,所述坐标确定单元,还设置为:在根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标之前,确定每个所述分析单元中所述两个编号相邻的存储器宏单元之间是否存在第二区域。
可选地,所述坐标确定单元,确定每个所述分析单元中所述两个编号相邻的存储器宏单元之间是否存在第二区域,包括:判断所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的第一顶点坐标/第三顶点坐标的横坐标与编号在前的存储器宏单元的第二顶点坐标或第四顶点坐标的横坐标之间的差值是否大于零;若是,则确定所述两个编号相邻的存储器宏单元之间存在第二区域。
可选地,第一金属线排布参数、第二金属线排布参数和/或第三金属线排布参数,包括:第一距离参数,所属区域的第一侧的第一组金属线中,第一侧的第一条金属线的中间位置与所属区域的第一侧边的距离;第二距离参数,每组金属线中,相邻两条金属线之间的距离;第三距离参数,相邻两组金属线的第一侧的第一条金属线之间的距离;宽度参数,每组金属线中,各条金属线的宽度。
可选地,所述参数确定单元,根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,包括:按照设计要求确定每个第一区域的宽度参数W
1和第二距离参数S
1;按照第一预设规则,根据每个第一区域的所述宽度参数W
1和第一预设调整参数因子k
1确定每个第一区域的第一距离参数O
1;按照第二预设规则,根据每个第一区域的所述宽度参数W
1和所述第二距离参数S
1确定每个第一区域的第三距离参数P
1;所述第一预设规则,包括:O
1=W
1/2+k
1;所述第二预设规则,包括:P
1=i(W
1+S
1);其中,W
1为每个第一区域的宽度参数,S
1为每个第一区域的第二距离参数,P
1为每个第一区域的第三距离参数,i为每组金 属线的条数;
和/或,所述参数确定单元,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数,包括:按照设计要求确定每个第二区域的宽度参数W
2;按照第三预设规则,根据所述宽度参数W
2确定每个第二区域的第一距离参数O
2;其中,所述第三预设规则,包括:O
2=W
2/2;根据每个第二区域的坐标利用如下公式分别确定每个第二区域的第二距离参数S
2和第三距离参数P
2:
S
2={{(X
n+1)-(X
n+W
Mn)}-i*W
2}/(i-1);
P
2={(X
n+1)-(X
n+W
Mn)}+S
2;
其中,W
2为每个第二区域的宽度参数,S
2为每个第二区域的第二距离参数,P
2为每个第二区域的第三距离参数,i为每组金属线的条数,(X
n+1)为每个第二区域的第二顶点坐标或第四顶点坐标的横坐标,(X
n+W
Mn)为每个第二区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号;
和/或,所述参数确定单元,根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数,包括:按照设计要求确定每个第三区域的宽度参数W
3;按照第四预设规则,根据所述宽度参数W
3和第三预设调整参数因子k
3确定每个第三区域的第一距离参数O
3;其中,所述第四预设规则,包括:O
3=W
3/2+k
3;根据每个第三区域的坐标利用如下公式分别确定每个第三区域中相应的第三金属线排布参数:
S
3={{(X
n+W
Mn)-(X
n)}-i*W
3}/(i-1);
P
3={(X
n+W
Mn)-(X
n)}+S
3;
其中,W
3为每个第三区域的宽度参数,S
3为每个第三区域的第二距离参数,P
3为每个第三区域的第三距离参数,i为每组金属线的条数,(X
n+W
Mn)为每个第三区域的第二顶点坐标或第四顶点坐标的横坐标,X
n为 每个第三区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号。
本申请又一方面提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现前述任一所述方法的步骤。
根据本申请的技术方案,对于芯片的多电源域设计,通过识别每个存储器宏单元的坐标,并且对坐标的处理来完成供电网络区域的划分,划分完区域后,利用区域坐标信息计算出金属线排布参数,之后根据每个区域坐标和金属线排布参数产生满足要求的电源网络。本申请采用相关算法代替传统部分供电网络的实现,只需进行简单配置,即可完成基本的电源网络实现。本申请能够实现电源网络的自动化设计,提高工作效率、缩短设计周期、准确性高、结构简洁,适用于所有芯片的电源网络设计,尤其在复杂程度很高的设计下保证了芯片供电的稳定性。
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明设置为解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请提供的电源网络设计方法的一实施例的方法示意图;
图2是芯片结构示意图;
图3对电源域中的存储器宏单元进行编号处理示意图;
图4a是第7个存储器宏单元的坐标表示示意图;
图4b是第n个存储器宏单元的坐标表示示意图;
图5a是电源域中的第一区域的示意图;
图5b是电源域中的第二区域的示意图;
图5c是电源域中的第三区域的示意图;
图6是根据本申请实施例的根据各个存储器宏单元在所述待处理电 源域中的坐标,确定所述待处理电源域中每个第二区域的坐标的步骤的一具体实施方式的流程示意图;
图7是第二区域的盒子划分方法示意图;
图8以第一个存储器宏单元和第二个存储器宏单元组成的盒子为例的盒子内第二区域的坐标表示示意图;
图9a为第三区域中的金属线排布参数的标注与电源网络的示意图;
图9b为第二区域中的金属线排布参数的标注与电源网络的示意图;
图9c为第一区域中的金属线排布参数的标注与电源网络的示意图;
图10为按照各个区域完成电源网络的排布设计后的效果图;
图11是本申请提供的电源网络设计装置的一实施例的结构示意图。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是本申请提供的电源网络设计方法的一实施例的方法示意图。本申请方法适用于芯片多电源域的电源网络设计。
如图1所示,根据本申请的一个实施例,所述芯片的多电源域电源网络设计方法至少包括步骤S110、步骤S120、步骤S130和步骤S140。
步骤S110,识别待处理电源域中的各个存储器宏单元在所述待处理电源域中的坐标。
芯片的结构如图2所示,如果没有多个电源域的情况就按照为单一电源域处理即可。在每个电源域下,都会有多个存储器宏单元。如图3所示,对于单独的一个电源域,找出该电源域内所有的存储器宏单元,并且依次进行编号。识别每个存储器宏单元在该电源域中的坐标。具体地,可以通过预先编写的程序识别每个存储器宏单元在该电源域中的坐标。所述存储器宏单元为矩形,所述坐标具体可以为存储器宏单元的四个顶点的平面坐标。
如图4a和图4b所示,利用四点坐标记录一个电源域中所有存储器宏单元的坐标,即,记录存储器宏单元四个顶点的坐标,分别第一顶点坐标、第二顶点坐标、第三顶点坐标和第四顶点坐标。具体地,与观看者左侧相对的一侧为左侧,与观看者右侧相对的一侧为右侧,所述第一顶点坐标为所述存储器宏单元的左上顶点坐标,所述第二顶点坐标为所述存储器宏单元的右上顶点坐标,所述第三顶点坐标为所述存储器宏单元左下顶点坐标,所述第四顶点坐标为所述存储器宏单元右下顶点坐标。如图4a和图4b所示,第7个存储器宏单元的坐标为(X
7,Y
7)、(X
7+W
M7,Y
7)、(X
7,Y
7+L
M7)、(X
7+W
M7,Y
7+L
M7),第n个存储器宏单元的坐标为(X
n,Y
n)、(X
n+W
Mn,Y
n)、(X
n,Y
n+L
Mn)、(X
n+W
Mn,Y
n+L
Mn),即,第n个存储器宏单元的第一顶点坐标为(X
n,Y
n)、第二顶点坐标为(X
n+W
Mn,Y
n)、第三顶点坐标(X
n,Y
n+L
Mn)、第四顶点坐标为(X
n+W
Mn,Y
n+L
Mn); 其中,W
Mn代表第n个存储器宏单元的宽度,L
Mn代表第n个存储器宏单元的长度。
步骤S120,根据所述各个存储器宏单元在所述待处理电源域中的坐标,确定所述待处理电源域中的第一区域的坐标、每个第二区域的坐标和每个第三区域的坐标。
具体地,所述第二区域包括相邻存储器宏单元之间的区域,参考图5b所示的区域2,所述第三区域包括各个独立的存储器宏单元的区域,参考图5c所示的区域3,所述第一区域包括排除所有所述第一区域和所述第二区域之外的区域,参考图5a所示的区域1。
下面按照不同区域来详细说明确定区域坐标的方法:
对于第二区域:
图6是根据本申请实施例的根据各个存储器宏单元在所述待处理电源域中的坐标,确定所述待处理电源域中每个第二区域的坐标的步骤的一具体实施方式的流程示意图。如图6所示,步骤S120包括步骤S121和步骤S122。
步骤S121,根据所述待处理电源域中的各个存储器宏单元的编号,将所述各个存储器宏单元中的每两个编号相邻的存储器宏单元及其之间的第二区域作为一个分析单元。
具体地,可以根据各个存储器宏单元的编号,把每两个相邻的存储器宏单元进行组合(例如可以利用脚本语言进行循环),例如,①和②及其之间的第二区域作为一个分析单元,②和③及其之间的第二区域作为一个分析单元,…,
和
及其之间的第二区域作为一个分析单元,
和
及其之间的第二区域作为一个分析单元,如图7所示,可以把每两个存储器宏单元及其之间的第二区域(分析单元)看作一个盒子。具体算法为,假如一个电源域内一共有n个存储器宏单元,则取(b,b+1) 组成一个盒子b,b取值范围包括1、2、…、n-1,则一共有n-1个盒子,①和②及其之间的区域为盒子1,②和③及其之间的区域为盒子2,…,⑨和⑩及其之间的区域为盒子9。
步骤S123,根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标。
具体地,将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在前的存储器宏单元的第二顶点坐标和第四顶点坐标相应作为所述两个编号相邻的存储器宏单元之间的第二区域的第一顶点坐标和第三顶点坐标;将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的第一顶点坐标和第三顶点坐标,相应作为所述两个编号相邻的存储器宏单元之间的第二区域的第二顶点坐标和第四顶点坐标。其中,与观看者左侧相对的一侧为左侧,与观看者右侧相对的一侧为右侧,第一顶点坐标可以为左上顶点坐标,第二顶点坐标可以为右上顶点坐标,第三顶点坐标可以为左下顶点坐标,第四顶点坐标可以为右下顶点坐标。
如图8所示,取一个盒子(盒子1)进行分析(b=1)。取第一个存储器宏单元①(等同于第b个)的右下顶点坐标(X
1+W
M1,Y
1)和右上顶点坐标(X
1+W
M1,Y
1+L
M1)坐标,取第二个存储器宏单元②(等同于第b+1个)的左下顶点坐标(X
2,Y
2)和左上顶点坐标(X
2,Y
2+L
M2)坐标,作为它们之间的第二区域2的坐标,其中,存储器宏单元①的右下顶点坐标(X
1+W
M1,Y
1)和右上顶点坐标(X
1+W
M1,Y
1+L
M1)坐标分别作为①和②之间的第二区域的左下顶点坐标和左上顶点坐标,存储器宏单元②的左下顶点坐标(X
2,Y
2)和左上顶点坐标(X
2,Y
2+L
M2)坐标,分别作为①和②之间的第二区域的右下顶点坐标和左上顶点坐标。取出的四点坐标组成一个新的 闭合区域{(X
2,Y
2+L
M2)(X
1+W
M1,Y
1+L
M1)(X
2,Y
2)(X
1+W
M1,Y
1)},以此类推,确定所有合法相邻存储器宏单元之间的区域2。
但是,并不是所有编号相邻的存储器宏单元组成的区域都是合法的,如图7所示,存储器宏单元⑨⑩都分别列于电压域区域的两侧,二者编号相邻,但实际并不相邻,因此中间不存在第二区域,不需要进行处理得到相应的第二区域坐标,因此,需要来进行判断是否存在区域2。
具体地,如图6所示,在上述步骤S123之前,还包括步骤S122。
步骤S122,确定每个所述分析单元中所述两个编号相邻的存储器宏单元之间是否存在第二区域。也就是说,在两个编号相邻的存储器宏单元之间存在第二区域才执行步骤S123,根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标。
具体地,判断所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的第一顶点坐标(左上顶点)或第三顶点(左下顶点)坐标的横坐标与编号在前的存储器宏单元的第二顶点坐标(右上顶点)或第四顶点坐标(右下顶点)的横坐标之间的差值是否大于零;若是,则确定所述两个编号相邻的存储器宏单元之间存在第二区域。也就是说,利用所述编号相邻两个存储器宏单元的坐标的计算,判断[(X
n+1-(X
n+W
Mn)]是否大于0,如果大于0,则生成合法的区域2,否则跳过不生成。最后的效果为如图5b所示的区域2部分。
对于第三区域:
第三区域包括各个独立的存储器宏单元的区域,因此,各个独立的存储器宏单元的坐标即为每个所述存储器宏单元的第三区域的坐标。
对于第一区域:
所述第一区域包括排除所有所述第一区域和所述第二区域之外的区 域,即,电源域区域去除所有的第二区域和第三区域,剩下的区域即为第一区域。
步骤S130,根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数和以及根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数。
所述第一金属线排布参数、第二金属线排布参数和/或第三金属线排布参数具体地可以包括第一距离参数、第二距离参数、第三距离参数和宽度参数。其中,所述第一距离参数为所属区域的第一侧的第一组金属线中,第一侧的第一条金属线的中间位置与所属区域的第一侧边的距离O;例如第一侧为左侧,则所述第一距离参数为所属区域的左侧的第一组金属线中,左侧的第一条金属线的中间位置与所属区域的左侧边的距离。所述第二距离参数为每组金属线中相邻两条金属线之间的距离S。所述第三距离参数为相邻两组金属线的第一侧的第一条金属线之间的距离P。例如,第一侧为左侧,则所述第三距离为相邻两组金属线的左侧的第一条金属线之间的距离P。所述宽度参数,每组金属线中各条金属线的宽度W。具体可以参考图9a、图9b和图9c所示,其中Lmacro表示存储器宏单元长度,Wmacro表示存储器宏单元宽度,Wm2m为第二区域宽度。
下面按照不同区域来详细说明确定金属线排布参数的方法:
(1)根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数具体包括:
按照设计要求确定每个第一区域的宽度参数W
1和第二距离参数S
1;所述第二距离参数S
1大于所述宽度参数W
1的最小值。
按照第一预设规则,根据每个第一区域的所述宽度参数W
1和第一预设调整参数因子k
1确定每个第一区域的第一距离参数O
1;其中,所述第 一预设规则具体可以为O
1=W
1/2+k
1;
按照第二预设规则,根据每个第一区域的所述宽度参数W
1和所述第二距离参数S
1确定每个第一区域的第三距离参数P
1;其中,所述第二预设规则具体可以为P
1=i(W
1+S
1);
其中,W
1为每个第一区域的宽度参数,S
1为每个第一区域的第二距离参数,P
1为每个第一区域的第三距离参数,i为每组金属线的条数。
(2)根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数具体包括:
按照设计要求确定每个第二区域的宽度参数W
2;
按照第三预设规则,根据所述宽度参数W
2确定每个第二区域的第一距离参数O
2;其中,所述第三预设规则具体可以为O
2=W
2/2;
根据每个第二区域的坐标利用如下公式分别确定每个第二区域的第二距离参数S
2和第三距离参数P
2:
S
2={{(X
n+1)-(X
n+W
Mn)}-i*W
2}/(i-1);
P
2={(X
n+1)-(X
n+W
Mn)}+S
2;
其中,W
2为每个第二区域的宽度参数,S
2为每个第二区域的第二距离参数,P
2为每个第二区域的第三距离参数,i为每组金属线的条数,(X
n+1)为每个第二区域的第二顶点坐标或第四顶点坐标的横坐标,(X
n+W
Mn)为每个第二区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号;
(3)根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数具体包括:
按照设计要求确定每个第三区域的宽度参数W
3;
按照第四预设规则,根据所述宽度参数W
3和第三预设调整参数因子k
3确定每个第三区域的第一距离参数O
3;其中,所述第四预设规则具体可 以为O
3=W
3/2+k
3;
根据每个第三区域的坐标利用如下公式分别确定每个第三区域中相应的第三金属线排布参数:
S
3={{(X
n+W
Mn)-(X
n)}-i*W
3}/(i-1);
P
3={(X
n+W
Mn)-(X
n)}+S
3;
其中,W
3为每个第三区域的宽度参数,S
3为每个第三区域的第二距离参数,P
3为每个第三区域的第三距离参数,i为每组金属线的条数,(X
n+W
Mn)为每个第三区域的第二顶点坐标或第四顶点坐标的横坐标,X
n为每个第三区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号。
步骤S140,根据确定的所述第一金属线排布参数、第二金属线排布参数和第三金属线排布参数,分别对所述待处理电源区域中的第一区域、每个第二区域和每个第三区域进行电源网络排布。
具体地,第一区域、每个第二区域和每个第三区域相应的所述第一金属线排布参数、第二金属线排布参数和第三金属线排布参数确定后,就可以分别根据相应的金属线排布参数,对所述待处理电源区域中的第一区域、每个第二区域和每个第三区域进行电源网络排布。
图10所示,为按照各个区域完成电源网络的排布设计后的效果图。
图11是本申请提供的电源网络设计装置的一实施例的结构示意图。如图11所示,所述电源网络设计装置100包括:坐标识别单元110、坐标确定单元120、参数确定单元130和网络排布单元140。
坐标识别单元110设置为识别待处理电源域中的各个存储器宏单元在所述待处理电源域中的坐标;所述存储器单元为矩形;所述坐标,包括:存储器宏单元的四个角的平面坐标。坐标确定单元120设置为根据各个存储器宏单元在所述待处理电源域中的坐标,确定所述待处理电源 域中的第一区域的坐标、每个第二区域的坐标和每个第三区域的坐标,其中,所述第二区域包括相邻存储器宏单元之间的区域,所述第三区域包括各个独立的存储器宏单元的区域,所述第一区域包括排除所有所述第一区域和所述第二区域之外的区域;参数确定单元130设置为根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数和以及根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数;网络排布单元140设置为根据确定的第一区域的坐标、每个第二区域的坐标和每个第三区域的坐标以及相应的所述第一金属线排布参数、第二金属线排布参数和第三金属线排布参数,分别对所述待处理电源区域中的第一区域、每个第二区域和每个第三区域进行电源网络排布。
坐标识别单元110识别待处理电源域中的各个存储器宏单元在所述待处理电源域中的坐标。
芯片的结构如图2所示,如果没有多个电源域的情况就按照为单一电源域处理即可。在每个电源域下,都会有多个存储器宏单元。如图3所示,对于单独的一个电源域,找出该电源域内所有的存储器宏单元,并且依次进行编号。识别每个存储器宏单元在该电源域中的坐标。具体地,可以通过预先编写的程序识别每个存储器宏单元在该电源域中的坐标。所述存储器宏单元为矩形,所述坐标具体可以为存储器宏单元的四个顶点的平面坐标。
如图4a和图4b所示,利用四点坐标记录一个电源域中所有存储器宏单元的坐标,即,记录存储器宏单元四个顶点的坐标,分别第一顶点坐标、第二顶点坐标、第三顶点坐标和第四顶点坐标。具体地,与观看者左侧相对的一侧为左侧,与观看者右侧相对的一侧为右侧,所述第一 顶点坐标为所述存储器宏单元的左上顶点坐标,所述第二顶点坐标为所述存储器宏单元的右上顶点坐标,所述第三顶点坐标为所述存储器宏单元左下顶点坐标,所述第四顶点坐标为所述存储器宏单元右下顶点坐标。如图4a和图4b所示,第7个存储器宏单元的坐标为(X
7,Y
7)、(X
7+W
M7,Y
7)、(X
7,Y
7+L
M7)、(X
7+W
M7,Y
7+L
M7),第n个存储器宏单元的坐标为(X
n,Y
n)、(X
n+W
Mn,Y
n)、(X
n,Y
n+L
Mn)、(X
n+W
Mn,Y
n+L
Mn),即,第n个存储器宏单元的第一顶点坐标为(X
n,Y
n)、第二顶点坐标为(X
n+W
Mn,Y
n)、第三顶点坐标(X
n,Y
n+L
Mn)、第四顶点坐标为(X
n+W
Mn,Y
n+L
Mn);其中,W
Mn代表第n个存储器宏单元的宽度,L
Mn代表第n个存储器宏单元的长度。
坐标确定单元120根据所述各个存储器宏单元在所述待处理电源域中的坐标,确定所述待处理电源域中的第一区域的坐标、每个第二区域的坐标和每个第三区域的坐标。
具体地,所述第二区域包括相邻存储器宏单元之间的区域,参考图5b所示的区域2,所述第三区域包括各个独立的存储器宏单元的区域,参考图5c所示的区域3,所述第一区域包括排除所有所述第一区域和所述第二区域之外的区域,参考图5a所示的区域。
对于第二区域:
所述坐标确定单元120根据各个存储器宏单元在所述待处理电源域中的坐标,确定所述待处理电源域中每个第二区域的坐标具体包括:根据所述待处理电源域中的各个存储器宏单元的编号,将所述各个存储器宏单元中的每两个编号相邻的存储器宏单元及其之间的第二区域作为一个分析单元;根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标。
其中,所述坐标确定单元120根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标具体可以包括:将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在前的存储器宏单元的第二顶点坐标和第四顶点坐标相应作为所述两个编号相邻的存储器宏单元之间的第二区域的第一顶点坐标和第三顶点坐标;将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的第一顶点坐标和第三顶点坐标,相应作为所述两个编号相邻的存储器宏单元之间的第二区域的第二顶点坐标和第四顶点坐标。
所述坐标确定单元120还设置为:在根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标之前,确定每个所述分析单元中所述两个编号相邻的存储器宏单元之间是否存在第二区域。其中,所述坐标确定单元,确定每个所述分析单元中所述两个编号相邻的存储器宏单元之间是否存在第二区域具体可以包括:判断所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的第一顶点坐标/第三顶点坐标的横坐标与编号在前的存储器宏单元的第二顶点坐标或第四顶点坐标的横坐标之间的差值是否大于零;若是,则确定所述两个编号相邻的存储器宏单元之间存在第二区域。上述坐标确定单元120根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标的详细描述可以参考前述方法实施例中确定所述待处理电源域中每个第二区域的坐标的具体实施方式此处不加赘述。
对于第三区域:
第三区域包括各个独立的存储器宏单元的区域,因此,各个独立的 存储器宏单元的坐标即为每个所述存储器宏单元的第三区域的坐标。
对于第一区域:
所述第一区域包括排除所有所述第一区域和所述第二区域之外的区域,即,电源域区域去除所有的第二区域和第三区域,剩下的区域即为第一区域。
参数确定单元130根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数和以及根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数。所述第一金属线排布参数、第二金属线排布参数和/或第三金属线排布参数具体地可以包括第一距离参数、第二距离参数、第三距离参数和宽度参数。其中,所述第一距离参数为所属区域的第一侧的第一组金属线中,第一侧的第一条金属线的中间位置与所属区域的第一侧边的距离O;例如第一侧为左侧,则所述第一距离参数为所属区域的左侧的第一组金属线中,左侧的第一条金属线的中间位置与所属区域的左侧边的距离。所述第二距离参数为每组金属线中相邻两条金属线之间的距离S。所述第三距离参数为相邻两组金属线的第一侧的第一条金属线之间的距离P。例如,第一侧为左侧,则所述第三距离为相邻相邻两组金属线的左侧的第一条金属线之间的距离P。所述宽度参数,每组金属线中各条金属线的宽度W。具体可以参考图9a、图9b和图9c所示,其中Lmacro表示存储器宏单元长度,Wmacro表示存储器宏单元宽度,Wm2m为第二区域宽度。
下面按照不同区域来详细说明参数确定单元130确定金属线排布参数的方法:
(1)根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数具体包括:
按照设计要求确定每个第一区域的宽度参数W
1和第二距离参数S
1;所述第二距离参数S
1大于所述宽度参数W
1的最小值。
按照第一预设规则,根据每个第一区域的所述宽度参数W
1和第一预设调整参数因子k
1确定每个第一区域的第一距离参数O
1;其中,所述第一预设规则具体可以为O
1=W
1/2+k
1;
按照第二预设规则,根据每个第一区域的所述宽度参数W
1和所述第二距离参数S
1确定每个第一区域的第三距离参数P
1;其中,所述第二预设规则具体可以为P
1=i(W
1+S
1);
其中,W
1为每个第一区域的宽度参数,S
1为每个第一区域的第二距离参数,P
1为每个第一区域的第三距离参数,i为每组金属线的条数。
(2)根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数具体包括:
按照设计要求确定每个第二区域的宽度参数W
2;
按照第三预设规则,根据所述宽度参数W
2确定每个第二区域的第一距离参数O
2;其中,所述第三预设规则具体可以为O
2=W
2/2;
根据每个第二区域的坐标利用如下公式分别确定每个第二区域的第二距离参数S
2和第三距离参数P
2:
S
2={{(X
n+1)-(X
n+W
Mn)}-i*W
2}/(i-1);
P
2={(X
n+1)-(X
n+W
Mn)}+S
2;
其中,W
2为每个第二区域的宽度参数,S
2为每个第二区域的第二距离参数,P
2为每个第二区域的第三距离参数,i为每组金属线的条数,(X
n+1)为每个第二区域的第二顶点坐标或第四顶点坐标的横坐标,(X
n+W
Mn)为每个第二区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号;
(3)根据每个第三区域的坐标分别确定每个第三区域中相应的第三 金属线排布参数具体包括:
按照设计要求确定每个第三区域的宽度参数W
3;
按照第四预设规则,根据所述宽度参数W
3和第三预设调整参数因子k
3确定每个第三区域的第一距离参数O
3;其中,所述第四预设规则具体可以为O
3=W
3/2+k
3;
根据每个第三区域的坐标利用如下公式分别确定每个第三区域中相应的第三金属线排布参数:
S
3={{(X
n+W
Mn)-(X
n)}-i*W
3}/(i-1);
P
3={(X
n+W
Mn)-(X
n)}+S
3;
其中,W
3为每个第三区域的宽度参数,S
3为每个第三区域的第二距离参数,P
3为每个第三区域的第三距离参数,i为每组金属线的条数,(X
n+W
Mn)为每个第三区域的第二顶点坐标或第四顶点坐标的横坐标,X
n为每个第三区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号。
网络排布单元140根据确定的所述第一金属线排布参数、第二金属线排布参数和第三金属线排布参数,分别对所述待处理电源区域中的第一区域、每个第二区域和每个第三区域进行电源网络排布具体地,第一区域、每个第二区域和每个第三区域相应的所述第一金属线排布参数、第二金属线排布参数和第三金属线排布参数确定后,就可以分别根据相应的金属线排布参数,对所述待处理电源区域中的第一区域、每个第二区域和每个第三区域进行电源网络排布。
本申请还提供对应于所述电源网络设计方法的一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现前述任一所述方法的步骤。
据此,本申请提供的方案,对于芯片的多电源域设计,通过识别每 个存储器宏单元的坐标,并且对坐标的处理来完成供电网络区域的划分,划分完区域后,利用区域坐标信息计算出金属线排布参数,之后根据每个区域坐标和金属线排布参数产生满足要求的电源网络。本申请采用相关算法代替传统部分供电网络的实现,只需进行简单配置,即可完成基本的电源网络实现。本申请能够实现电源网络的自动化设计,提高工作效率、缩短设计周期、准确性高、结构简洁,适用于所有芯片的电源网络设计,尤其在复杂程度很高的设计下保证了芯片供电的稳定性。
本文中所描述的功能可在硬件、由处理器执行的软件、固件或其任何组合中实施。如果在由处理器执行的软件中实施,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体予以传输。其它实例及实施方案在本申请及所附权利要求书的范围及精神内。举例来说,归因于软件的性质,上文所描述的功能可使用由处理器、硬件、固件、硬连线或这些中的任何者的组合执行的软件实施。此外,各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为控制装置的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其 中的部分或者全部单元来实现本实施例方案的目的。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不设置为限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
本申请实施例提供的方案可以用于芯片的多电源域设计,减少网络配置,在本申请实施例中,通过识别每个存储器宏单元的坐标,并且对坐标的处理来完成供电网络区域的划分,划分完区域后,利用区域坐标信息计算出金属线排布参数,之后根据每个区域坐标和金属线排布参数产生满足要求的电源网络,只需进行简单配置,即可实现电源网络的自动化设计,提高工作效率、缩短设计周期、准确性高、结构简洁,适用于所有芯片的电源网络设计。
Claims (24)
- 一种电源网络设计方法,包括:识别待处理电源域中的各个存储器宏单元在所述待处理电源域中的坐标;所述存储器宏单元为矩形;所述坐标,包括:存储器宏单元的四个角的平面坐标;根据所述各个存储器宏单元在所述待处理电源域中的坐标,确定所述待处理电源域中的第一区域的坐标、每个第二区域的坐标和每个第三区域的坐标,其中,所述第二区域包括相邻存储器宏单元之间的区域,所述第三区域包括各个独立的存储器宏单元的区域,所述第一区域包括排除所有所述第一区域和所述第二区域之外的区域;根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数和以及根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数;根据确定的所述第一金属线排布参数、第二金属线排布参数和第三金属线排布参数,分别对所述待处理电源区域中的第一区域、每个第二区域和每个第三区域进行电源网络排布。
- 根据权利要求1所述的方法,其中,根据各个存储器宏单元在所述待处理电源域中的坐标,确定所述待处理电源域中每个第二区域的坐标,包括:根据所述待处理电源域中的各个存储器宏单元的编号,将所述各个存储器宏单元中的每两个编号相邻的存储器宏单元及其之间的第二区域作为一个分析单元;根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标。
- 根据权利要求2所述的方法,其中,根据每个所述分析单元中的 所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标,包括:将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在前的存储器宏单元的右上顶点坐标和右下顶点坐标相应作为所述两个编号相邻的存储器宏单元之间的第二区域的左上顶点坐标和左下顶点坐标;将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的左上顶点坐标和左下顶点坐标,相应作为所述两个编号相邻的存储器宏单元之间的第二区域的右上顶点坐标和右下顶点坐标;将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在前的存储器宏单元的第二顶点坐标和第四顶点坐标相应作为所述两个编号相邻的存储器宏单元之间的第二区域的第一顶点坐标和第三顶点坐标;将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的第一顶点坐标和第三顶点坐标,相应作为所述两个编号相邻的存储器宏单元之间的第二区域的第二顶点坐标和第四顶点坐标。
- 根据权利要求2或3所述的方法,其中,在根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标之前,还包括:确定每个所述分析单元中所述两个编号相邻的存储器宏单元之间是否存在第二区域。
- 根据权利要求4所述的方法,其中,确定每个所述分析单元中所述两个编号相邻的存储器宏单元之间是否存在第二区域,包括:判断所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的第一顶点坐标/第三顶点坐标的横坐标与编号在前的存储器宏单元的第二顶点坐标或第四顶点坐标的横坐标之间的差值是否大于零;若是,则确定所述两个编号相邻的存储器宏单元之间存在第二区域。
- 根据权利要求1-4任一项所述的方法,其中,第一金属线排布参数、第二金属线排布参数、第三金属线排布参数,该三个金属线排布参数中至少一项包括:第一距离参数,所属区域的第一侧的第一组金属线中,第一侧的第一条金属线的中间位置与所属区域的第一侧边的距离O;第二距离参数,每组金属线中相邻两条金属线之间的距离S;第三距离参数,相邻两组金属线的第一侧的第一条金属线之间的距离P;宽度参数,每组金属线中各条金属线的宽度W。
- 根据权利要求6所述的方法,其中,根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,包括:按照设计要求确定每个第一区域的宽度参数W 1和第二距离参数S 1;按照第一预设规则,根据每个第一区域的所述宽度参数W 1和第一预设调整参数因子k 1确定每个第一区域的第一距离参数O 1;按照第二预设规则,根据每个第一区域的所述宽度参数W 1和所述第二距离参数S 1确定每个第一区域的第三距离参数P 1;所述第一预设规则,包括:O 1=W 1/2+k 1;所述第二预设规则,包括:P 1=i(W 1+S 1);其中,W 1为每个第一区域的宽度参数,S 1为每个第一区域的第二距 离参数,P 1为每个第一区域的第三距离参数,i为每组金属线的条数。
- 根据权利要求6所述的方法,其中,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数,包括:按照设计要求确定每个第二区域的宽度参数W 2;按照第三预设规则,根据所述宽度参数W 2确定每个第二区域的第一距离参数O 2;其中,所述第三预设规则,包括:O 2=W 2/2;根据每个第二区域的坐标利用如下公式分别确定每个第二区域的第二距离参数S 2和第三距离参数P 2:S 2={{(X n+1)-(X n+W Mn)}-i*W 2}/(i-1);P 2={(X n+1)-(X n+W Mn)}+S 2;其中,W 2为每个第二区域的宽度参数,S 2为每个第二区域的第二距离参数,P 2为每个第二区域的第三距离参数,i为每组金属线的条数,(X n+1)为每个第二区域的第二顶点坐标或第四顶点坐标的横坐标,(X n+W Mn)为每个第二区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号。
- 根据权利要求6所述的方法,其中,根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数,包括:按照设计要求确定每个第三区域的宽度参数W 3;按照第四预设规则,根据所述宽度参数W 3和第三预设调整参数因子k 3确定每个第三区域的第一距离参数O 3;其中,所述第四预设规则,包括:O 3=W 3/2+k 3;根据每个第三区域的坐标利用如下公式分别确定每个第三区域中相应的第三金属线排布参数:S 3={{(X n+W Mn)-(X n)}-i*W 3}/(i-1);P 3={(X n+W Mn)-(X n)}+S 3;其中,W 3为每个第三区域的宽度参数,S 3为每个第三区域的第二距离参数,P 3为每个第三区域的第三距离参数,i为每组金属线的条数,(X n+W Mn)为每个第三区域的第二顶点坐标或第四顶点坐标的横坐标,X n为每个第三区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号。
- 根据权利要求6所述的方法,其中,根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,包括:按照设计要求确定每个第一区域的宽度参数W 1和第二距离参数S 1;按照第一预设规则,根据每个第一区域的所述宽度参数W 1和第一预设调整参数因子k 1确定每个第一区域的第一距离参数O 1;按照第二预设规则,根据每个第一区域的所述宽度参数W 1和所述第二距离参数S 1确定每个第一区域的第三距离参数P 1;所述第一预设规则,包括:O 1=W 1/2+k 1;所述第二预设规则,包括:P 1=i(W 1+S 1);其中,W 1为每个第一区域的宽度参数,S 1为每个第一区域的第二距离参数,P 1为每个第一区域的第三距离参数,i为每组金属线的条数;或者,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数,包括:按照设计要求确定每个第二区域的宽度参数W 2;按照第三预设规则,根据所述宽度参数W 2确定每个第二区域的第一 距离参数O 2;其中,所述第三预设规则,包括:O 2=W 2/2;根据每个第二区域的坐标利用如下公式分别确定每个第二区域的第二距离参数S 2和第三距离参数P 2:S 2={{(X n+1)-(X n+W Mn)}-i*W 2}/(i-1);P 2={(X n+1)-(X n+W Mn)}+S 2;其中,W 2为每个第二区域的宽度参数,S 2为每个第二区域的第二距离参数,P 2为每个第二区域的第三距离参数,i为每组金属线的条数,(X n+1)为每个第二区域的第二顶点坐标或第四顶点坐标的横坐标,(X n+W Mn)为每个第二区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号;或者,根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数,包括:按照设计要求确定每个第三区域的宽度参数W 3;按照第四预设规则,根据所述宽度参数W 3和第三预设调整参数因子k 3确定每个第三区域的第一距离参数O 3;其中,所述第四预设规则,包括:O 3=W 3/2+k 3;根据每个第三区域的坐标利用如下公式分别确定每个第三区域中相应的第三金属线排布参数:S 3={{(X n+W Mn)-(X n)}-i*W 3}/(i-1);P 3={(X n+W Mn)-(X n)}+S 3;其中,W 3为每个第三区域的宽度参数,S 3为每个第三区域的第二距离参数,P 3为每个第三区域的第三距离参数,i为每组金属线的条数,(X n+W Mn)为每个第三区域的第二顶点坐标或第四顶点坐标的横坐标,X n为 每个第三区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号。
- 根据权利要求6所述的方法,其中,根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,包括:按照设计要求确定每个第一区域的宽度参数W 1和第二距离参数S 1;按照第一预设规则,根据每个第一区域的所述宽度参数W 1和第一预设调整参数因子k 1确定每个第一区域的第一距离参数O 1;按照第二预设规则,根据每个第一区域的所述宽度参数W 1和所述第二距离参数S 1确定每个第一区域的第三距离参数P 1;所述第一预设规则,包括:O 1=W 1/2+k 1;所述第二预设规则,包括:P 1=i(W 1+S 1);其中,W 1为每个第一区域的宽度参数,S 1为每个第一区域的第二距离参数,P 1为每个第一区域的第三距离参数,i为每组金属线的条数;以及,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数,包括:按照设计要求确定每个第二区域的宽度参数W 2;按照第三预设规则,根据所述宽度参数W 2确定每个第二区域的第一距离参数O 2;其中,所述第三预设规则,包括:O 2=W 2/2;根据每个第二区域的坐标利用如下公式分别确定每个第二区域的第二距离参数S 2和第三距离参数P 2:S 2={{(X n+1)-(X n+W Mn)}-i*W 2}/(i-1);P 2={(X n+1)-(X n+W Mn)}+S 2;其中,W 2为每个第二区域的宽度参数,S 2为每个第二区域的第二距离参数,P 2为每个第二区域的第三距离参数,i为每组金属线的条数,(X n+1)为每个第二区域的第二顶点坐标或第四顶点坐标的横坐标,(X n+W Mn)为每个第二区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号;以及,根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数,包括:按照设计要求确定每个第三区域的宽度参数W 3;按照第四预设规则,根据所述宽度参数W 3和第三预设调整参数因子k 3确定每个第三区域的第一距离参数O 3;其中,所述第四预设规则,包括:O 3=W 3/2+k 3;根据每个第三区域的坐标利用如下公式分别确定每个第三区域中相应的第三金属线排布参数:S 3={{(X n+W Mn)-(X n)}-i*W 3}/(i-1);P 3={(X n+W Mn)-(X n)}+S 3;其中,W 3为每个第三区域的宽度参数,S 3为每个第三区域的第二距离参数,P 3为每个第三区域的第三距离参数,i为每组金属线的条数,(X n+W Mn)为每个第三区域的第二顶点坐标或第四顶点坐标的横坐标,X n为每个第三区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号。
- 一种电源网络设计装置,包括:坐标识别单元,设置为识别待处理电源域中的各个存储器宏单元在所述待处理电源域中的坐标;所述存储器单元为矩形;所述坐标,包括: 存储器宏单元的四个角的平面坐标;坐标确定单元,设置为根据各个存储器宏单元在所述待处理电源域中的坐标,确定所述待处理电源域中的第一区域的坐标、每个第二区域的坐标和每个第三区域的坐标,其中,所述第二区域包括相邻存储器宏单元之间的区域,所述第三区域包括各个独立的存储器宏单元的区域,所述第一区域包括排除所有所述第一区域和所述第二区域之外的区域;参数确定单元,设置为根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数和以及根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数;网络排布单元,设置为根据确定的所述第一金属线排布参数、第二金属线排布参数和第三金属线排布参数,分别对所述待处理电源区域中的第一区域、每个第二区域和每个第三区域进行电源网络排布。
- 根据权利要求12所述的装置,其中,所述坐标确定单元,根据各个存储器宏单元在所述待处理电源域中的坐标,确定所述待处理电源域中每个第二区域的坐标,包括:根据所述待处理电源域中的各个存储器宏单元的编号,将所述各个存储器宏单元中的每两个编号相邻的存储器宏单元及其之间的第二区域作为一个分析单元;根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标。
- 根据权利要求13所述的装置,其中,所述坐标确定单元,根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标,包括:将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号 在前的存储器宏单元的第二顶点坐标和第四顶点坐标相应作为所述两个编号相邻的存储器宏单元之间的第二区域的第一顶点坐标和第三顶点坐标;将每个所述分析单元中的所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的第一顶点坐标和第三顶点坐标,相应作为所述两个编号相邻的存储器宏单元之间的第二区域的第二顶点坐标和第四顶点坐标。
- 根据权利要求13或14所述的装置,其中,所述坐标确定单元,还设置为:在根据每个所述分析单元中的所述两个编号相邻的存储器宏单元的坐标,确定所述两个编号相邻的存储器宏单元之间的第二区域的坐标之前,确定每个所述分析单元中所述两个编号相邻的存储器宏单元之间是否存在第二区域。
- 根据权利要求15所述的装置,其中,所述坐标确定单元,确定每个所述分析单元中所述两个编号相邻的存储器宏单元之间是否存在第二区域,包括:判断所述两个编号相邻的存储器宏单元中编号在后的存储器宏单元的第一顶点坐标/第三顶点坐标的横坐标与编号在前的存储器宏单元的第二顶点坐标或第四顶点坐标的横坐标之间的差值是否大于零;若是,则确定所述两个编号相邻的存储器宏单元之间存在第二区域。
- 根据权利要求12-16任一项所述的装置,其中,第一金属线排布参数、第二金属线排布参数、第三金属线排布参数,该三个金属线排布参数中至少一项包括:第一距离参数,所属区域的第一侧的第一组金属线中,第一侧的第一条金属线的中间位置与所属区域的第一侧边的距离;第二距离参数,每组金属线中,相邻两条金属线之间的距离;第三距离参数,相邻两组金属线的第一侧的第一条金属线之间的距离;宽度参数,每组金属线中,各条金属线的宽度。
- 根据权利要求17所述的装置,其中,所述参数确定单元,根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,包括:按照设计要求确定每个第一区域的宽度参数W 1和第二距离参数S 1;按照第一预设规则,根据每个第一区域的所述宽度参数W 1和第一预设调整参数因子k 1确定每个第一区域的第一距离参数O 1;按照第二预设规则,根据每个第一区域的所述宽度参数W 1和所述第二距离参数S 1确定每个第一区域的第三距离参数P 1;所述第一预设规则,包括:O 1=W 1/2+k 1;所述第二预设规则,包括:P 1=i(W 1+S 1);其中,W 1为每个第一区域的宽度参数,S 1为每个第一区域的第二距离参数,P 1为每个第一区域的第三距离参数,i为每组金属线的条数。
- 根据权利要求17所述的装置,其中,所述参数确定单元,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数,包括:按照设计要求确定每个第二区域的宽度参数W 2;按照第三预设规则,根据所述宽度参数W 2确定每个第二区域的第一距离参数O 2;其中,所述第三预设规则,包括:O 2=W 2/2;根据每个第二区域的坐标利用如下公式分别确定每个第二区域的第二距离参数S 2和第三距离参数P 2:S 2={{(X n+1)-(X n+W Mn)}-i*W 2}/(i-1);P 2={(X n+1)-(X n+W Mn)}+S 2;其中,W 2为每个第二区域的宽度参数,S 2为每个第二区域的第二距离参数,P 2为每个第二区域的第三距离参数,i为每组金属线的条数,(X n+1)为每个第二区域的第二顶点坐标或第四顶点坐标的横坐标,(X n+W Mn)为每个第二区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号。
- 根据权利要求17所述的装置,其中,所述参数确定单元,根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数,包括:按照设计要求确定每个第三区域的宽度参数W 3;按照第四预设规则,根据所述宽度参数W 3和第三预设调整参数因子k 3确定每个第三区域的第一距离参数O 3;其中,所述第四预设规则,包括:O 3=W 3/2+k 3;根据每个第三区域的坐标利用如下公式分别确定每个第三区域中相应的第三金属线排布参数:S 3={{(X n+W Mn)-(X n)}-i*W 3}/(i-1);P 3={(X n+W Mn)-(X n)}+S 3;其中,W 3为每个第三区域的宽度参数,S 3为每个第三区域的第二距离参数,P 3为每个第三区域的第三距离参数,i为每组金属线的条数,(X n+W Mn)为每个第三区域的第二顶点坐标或第四顶点坐标的横坐标,X n为每个第三区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号。
- 根据权利要求17所述的装置,其中,所述参数确定单元,根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,包括:按照设计要求确定每个第一区域的宽度参数W 1和第二距离参数S 1;按照第一预设规则,根据每个第一区域的所述宽度参数W 1和第一预设调整参数因子k 1确定每个第一区域的第一距离参数O 1;按照第二预设规则,根据每个第一区域的所述宽度参数W 1和所述第二距离参数S 1确定每个第一区域的第三距离参数P 1;所述第一预设规则,包括:O 1=W 1/2+k 1;所述第二预设规则,包括:P 1=i(W 1+S 1);其中,W 1为每个第一区域的宽度参数,S 1为每个第一区域的第二距离参数,P 1为每个第一区域的第三距离参数,i为每组金属线的条数;或者,所述参数确定单元,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数,包括:按照设计要求确定每个第二区域的宽度参数W 2;按照第三预设规则,根据所述宽度参数W 2确定每个第二区域的第一距离参数O 2;其中,所述第三预设规则,包括:O 2=W 2/2;根据每个第二区域的坐标利用如下公式分别确定每个第二区域的第二距离参数S 2和第三距离参数P 2:S 2={{(X n+1)-(X n+W Mn)}-i*W 2}/(i-1);P 2={(X n+1)-(X n+W Mn)}+S 2;其中,W 2为每个第二区域的宽度参数,S 2为每个第二区域的第二距离参数,P 2为每个第二区域的第三距离参数,i为每组金属线的条数,(X n+1)为每个第二区域的第二顶点坐标或第四顶点坐标的横坐标,(X n+W Mn)为每个第二区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号;或者,所述参数确定单元,根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数,包括:按照设计要求确定每个第三区域的宽度参数W 3;按照第四预设规则,根据所述宽度参数W 3和第三预设调整参数因子k 3确定每个第三区域的第一距离参数O 3;其中,所述第四预设规则,包括:O 3=W 3/2+k 3;根据每个第三区域的坐标利用如下公式分别确定每个第三区域中相应的第三金属线排布参数:S 3={{(X n+W Mn)-(X n)}-i*W 3}/(i-1);P 3={(X n+W Mn)-(X n)}+S 3;其中,W 3为每个第三区域的宽度参数,S 3为每个第三区域的第二距离参数,P 3为每个第三区域的第三距离参数,i为每组金属线的条数,(X n+W Mn)为每个第三区域的第二顶点坐标或第四顶点坐标的横坐标,X n为每个第三区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号。
- 根据权利要求17所述的装置,其中,所述参数确定单元,根据设计要求确定所述待处理电源域中的第一区域中的第一金属线排布参数,包括:按照设计要求确定每个第一区域的宽度参数W 1和第二距离参数S 1;按照第一预设规则,根据每个第一区域的所述宽度参数W 1和第一预设调整参数因子k 1确定每个第一区域的第一距离参数O 1;按照第二预设规则,根据每个第一区域的所述宽度参数W 1和所述第二距离参数S 1确定每个第一区域的第三距离参数P 1;所述第一预设规则,包括:O 1=W 1/2+k 1;所述第二预设规则,包括:P 1=i(W 1+S 1);其中,W 1为每个第一区域的宽度参数,S 1为每个第一区域的第二距离参数,P 1为每个第一区域的第三距离参数,i为每组金属线的条数;以及,所述参数确定单元,根据每个第二区域的坐标分别确定每个第二区域中相应的第二金属线排布参数,包括:按照设计要求确定每个第二区域的宽度参数W 2;按照第三预设规则,根据所述宽度参数W 2确定每个第二区域的第一距离参数O 2;其中,所述第三预设规则,包括:O 2=W 2/2;根据每个第二区域的坐标利用如下公式分别确定每个第二区域的第二距离参数S 2和第三距离参数P 2:S 2={{(X n+1)-(X n+W Mn)}-i*W 2}/(i-1);P 2={(X n+1)-(X n+W Mn)}+S 2;其中,W 2为每个第二区域的宽度参数,S 2为每个第二区域的第二距离参数,P 2为每个第二区域的第三距离参数,i为每组金属线的条数,(X n+1)为每个第二区域的第二顶点坐标或第四顶点坐标的横坐标,(X n+W Mn)为每个第二区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号;以及,所述参数确定单元,根据每个第三区域的坐标分别确定每个第三区域中相应的第三金属线排布参数,包括:按照设计要求确定每个第三区域的宽度参数W 3;按照第四预设规则,根据所述宽度参数W 3和第三预设调整参数因子k 3确定每个第三区域的第一距离参数O 3;其中,所述第四预设规则,包括:O 3=W 3/2+k 3;根据每个第三区域的坐标利用如下公式分别确定每个第三区域中相应的第三金属线排布参数:S 3={{(X n+W Mn)-(X n)}-i*W 3}/(i-1);P 3={(X n+W Mn)-(X n)}+S 3;其中,W 3为每个第三区域的宽度参数,S 3为每个第三区域的第二距离参数,P 3为每个第三区域的第三距离参数,i为每组金属线的条数,(X n+W Mn)为每个第三区域的第二顶点坐标或第四顶点坐标的横坐标,X n为每个第三区域的第一顶点坐标或第三顶点坐标的横坐标;n为存储器宏单元的编号。
- 一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现权利要求1-11任一所述方法的步骤。
- 一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-11任意一项所述的电源网络设计方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/419,232 US12175168B2 (en) | 2019-01-02 | 2019-09-29 | Power supply network design method and apparatus, and storage medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910002719.1A CN111400975B (zh) | 2019-01-02 | 2019-01-02 | 一种电源网络设计方法、装置和存储介质 |
| CN201910002719.1 | 2019-01-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020140517A1 true WO2020140517A1 (zh) | 2020-07-09 |
Family
ID=71406846
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2019/109190 Ceased WO2020140517A1 (zh) | 2019-01-02 | 2019-09-29 | 一种电源网络设计方法、装置和存储介质 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US12175168B2 (zh) |
| CN (1) | CN111400975B (zh) |
| WO (1) | WO2020140517A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116227412A (zh) * | 2023-03-10 | 2023-06-06 | 同济大学 | 一种插入电源门控和创建电地网格的低功耗设计方法 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114417771B (zh) * | 2020-10-28 | 2025-11-04 | Oppo广东移动通信有限公司 | 芯片电路的布局方法、电路设计方法、装置、设备及介质 |
| CN116757144B (zh) * | 2023-07-07 | 2024-01-26 | 上海韬润半导体有限公司 | 一种优化电源网络节省绕线资源的方法、系统和存储介质 |
| CN118171624B (zh) * | 2024-05-13 | 2024-08-13 | 深圳市电科星拓科技有限公司 | 一种电路布局方法、系统、半导体芯片及电子设备 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5808900A (en) * | 1996-04-30 | 1998-09-15 | Lsi Logic Corporation | Memory having direct strap connection to power supply |
| US20050028124A1 (en) * | 2003-08-01 | 2005-02-03 | Eilas Gedamu | System and method for automatically routing power for an integrated circuit |
| CN1917206A (zh) * | 2006-08-25 | 2007-02-21 | 威盛电子股份有限公司 | 集成电路的电源地网络及其布置方法 |
| US7219324B1 (en) * | 2003-06-02 | 2007-05-15 | Virage Logic Corporation | Various methods and apparatuses to route multiple power rails to a cell |
| CN101908080A (zh) * | 2009-06-03 | 2010-12-08 | 复旦大学 | 快速设计电源网络的方法 |
| CN106844809A (zh) * | 2015-12-04 | 2017-06-13 | 展讯通信(上海)有限公司 | 一种获取存储器宏单元尺寸的方法及装置 |
| CN106855893A (zh) * | 2015-12-09 | 2017-06-16 | 展讯通信(上海)有限公司 | 一种获取存储器版图电源主线的方法及装置 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2915312B2 (ja) * | 1995-02-10 | 1999-07-05 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体集積回路装置 |
| US6966045B2 (en) * | 1999-12-27 | 2005-11-15 | Kabushiki Kaisha Toshiba | Method and computer program product for estimating wire loads |
| US6732343B2 (en) * | 2002-05-13 | 2004-05-04 | Agilent Technologies, Inc. | System and methods for placing clock buffers in a datapath stack |
| US6804811B2 (en) * | 2002-09-25 | 2004-10-12 | Lsi Logic Corporation | Process for layout of memory matrices in integrated circuits |
| US7124387B2 (en) * | 2004-07-29 | 2006-10-17 | International Business Machines Corporation | Integrated circuit macro placing system and method |
| US8266571B2 (en) * | 2008-06-10 | 2012-09-11 | Oasis Tooling, Inc. | Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow |
| US8086985B2 (en) * | 2008-09-23 | 2011-12-27 | Qualcomm Incorporated | Automatic alignment of macro cells |
| US8601423B1 (en) * | 2012-10-23 | 2013-12-03 | Netspeed Systems | Asymmetric mesh NoC topologies |
| US9582634B2 (en) * | 2013-12-30 | 2017-02-28 | Altera Corporation | Optimizing IC design using retiming and presenting design simulation results as rescheduling optimization |
| US11625523B2 (en) * | 2016-12-14 | 2023-04-11 | iCometrue Company Ltd. | Logic drive based on standard commodity FPGA IC chips |
| CN106991206B (zh) * | 2017-01-12 | 2020-09-11 | 北京集创北方科技股份有限公司 | 生成芯片平面布局信息的方法和装置 |
| US10878163B2 (en) * | 2017-08-30 | 2020-12-29 | Taiwan Semiconductor Manufacturing Company, Ltd. | Semiconductor device including PG-aligned cells and method of generating layout of same |
| US11080454B2 (en) * | 2019-08-30 | 2021-08-03 | Taiwan Semiconductor Manufacturing Co., Ltd. | Integrated circuit, system, and method of forming the same |
| US11403448B1 (en) * | 2021-04-23 | 2022-08-02 | Taiwan Semiconductor Manufacturing Co., Ltd. | Apparatus and method for mapping foundational components during design porting from one process technology to another process technology |
| US11675951B2 (en) * | 2021-05-28 | 2023-06-13 | Huawei Technologies Co., Ltd. | Methods and systems for congestion prediction in logic synthesis using graph neural networks |
-
2019
- 2019-01-02 CN CN201910002719.1A patent/CN111400975B/zh active Active
- 2019-09-29 US US17/419,232 patent/US12175168B2/en active Active
- 2019-09-29 WO PCT/CN2019/109190 patent/WO2020140517A1/zh not_active Ceased
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5808900A (en) * | 1996-04-30 | 1998-09-15 | Lsi Logic Corporation | Memory having direct strap connection to power supply |
| US7219324B1 (en) * | 2003-06-02 | 2007-05-15 | Virage Logic Corporation | Various methods and apparatuses to route multiple power rails to a cell |
| US20050028124A1 (en) * | 2003-08-01 | 2005-02-03 | Eilas Gedamu | System and method for automatically routing power for an integrated circuit |
| CN1917206A (zh) * | 2006-08-25 | 2007-02-21 | 威盛电子股份有限公司 | 集成电路的电源地网络及其布置方法 |
| CN101908080A (zh) * | 2009-06-03 | 2010-12-08 | 复旦大学 | 快速设计电源网络的方法 |
| CN106844809A (zh) * | 2015-12-04 | 2017-06-13 | 展讯通信(上海)有限公司 | 一种获取存储器宏单元尺寸的方法及装置 |
| CN106855893A (zh) * | 2015-12-09 | 2017-06-16 | 展讯通信(上海)有限公司 | 一种获取存储器版图电源主线的方法及装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116227412A (zh) * | 2023-03-10 | 2023-06-06 | 同济大学 | 一种插入电源门控和创建电地网格的低功耗设计方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111400975B (zh) | 2022-03-08 |
| CN111400975A (zh) | 2020-07-10 |
| US12175168B2 (en) | 2024-12-24 |
| US20220058308A1 (en) | 2022-02-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111400975A (zh) | 一种电源网络设计方法、装置和存储介质 | |
| US8219965B2 (en) | Layout design method of semiconductor integrated circuit including regenerating a cell layout to set first and second distances and generating library data | |
| US10762272B2 (en) | Pattern density analysis method | |
| CN103258066B (zh) | 逻辑簇的布局方法 | |
| TWI640883B (zh) | 電腦可讀存儲介質及積體電路的電壓降和電遷移的分析方法 | |
| JP4580006B2 (ja) | 半導体集積回路のマスクレイアウト設計データの検証方法 | |
| CN108537151A (zh) | 一种非极大值抑制运算装置及系统 | |
| CN101908080B (zh) | 快速设计电源网络的方法 | |
| US10031947B2 (en) | Method and apparatus for performing a search operation on heterogeneous computing systems | |
| WO2023087718A1 (zh) | 信号线的布线方法、装置、设备及可读存储介质 | |
| US6467070B2 (en) | Design support apparatus for semiconductor devices | |
| CN116822447A (zh) | 一种电路器件的重叠检测方法、装置、计算机设备及介质 | |
| CN108414883A (zh) | 一种基于模型融合的变压器故障类型检测方法 | |
| CN113361226B (zh) | 一种减小版图文件大小的方法及电子设备 | |
| CN102722600B (zh) | 芯片功耗的计算方法 | |
| CN116050340B (zh) | 版图设计中引脚的自动布局方法、装置及相关产品 | |
| CN102663156B (zh) | 栅长可调的标准单元版图设计方法及其装置 | |
| CN105302947B (zh) | 基于扇圆的多扇出路径的中继器插入方法 | |
| CN116227209A (zh) | 一种点云数据多维线性差值方法、终端设备及存储介质 | |
| CN102902347B (zh) | 一种片上系统的低功耗电压岛划分方法 | |
| CN115457003A (zh) | 一种变电设备缺陷识别方法、系统及存储介质 | |
| CN104239590B (zh) | 一种集成电路版图验证中的小单元层次结构调整方法 | |
| US20140181761A1 (en) | Identifying circuit elements for selective inclusion in speed-push processing in an integrated circuit, and related circuit systems, apparatus, and computer-readable media | |
| CN112417794B (zh) | 一种散射参数计算方法 | |
| KR102632111B1 (ko) | 슬립 신호 스티칭 기술 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19907818 Country of ref document: EP Kind code of ref document: A1 |