WO2022113282A1 - 半導体集積回路装置の設計方法、半導体集積回路装置及びプログラム - Google Patents

半導体集積回路装置の設計方法、半導体集積回路装置及びプログラム Download PDF

Info

Publication number
WO2022113282A1
WO2022113282A1 PCT/JP2020/044262 JP2020044262W WO2022113282A1 WO 2022113282 A1 WO2022113282 A1 WO 2022113282A1 JP 2020044262 W JP2020044262 W JP 2020044262W WO 2022113282 A1 WO2022113282 A1 WO 2022113282A1
Authority
WO
WIPO (PCT)
Prior art keywords
power switch
switch circuit
narrow
arrangement pattern
arrangement
Prior art date
Application number
PCT/JP2020/044262
Other languages
English (en)
French (fr)
Inventor
賢吾 高橋
祐二 高橋
Original Assignee
株式会社ソシオネクスト
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ソシオネクスト filed Critical 株式会社ソシオネクスト
Priority to JP2022564945A priority Critical patent/JPWO2022113282A1/ja
Priority to PCT/JP2020/044262 priority patent/WO2022113282A1/ja
Priority to CN202080107453.8A priority patent/CN116472605A/zh
Publication of WO2022113282A1 publication Critical patent/WO2022113282A1/ja
Priority to US18/323,244 priority patent/US20230299070A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • H01L27/10Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
    • H01L27/10Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
    • H01L27/118Masterslice integrated circuits
    • H01L27/11803Masterslice integrated circuits using field effect technology
    • H01L27/11807CMOS gate arrays
    • H01L2027/11868Macro-architecture
    • H01L2027/11874Layout specification, i.e. inner core region
    • H01L2027/11881Power supply lines

Definitions

  • the present invention relates to a method for designing a semiconductor integrated circuit device, a semiconductor integrated circuit device, and a program.
  • Power cutoff technology is one of the technologies for realizing low power consumption of semiconductor integrated circuit devices.
  • Power cutoff technology is a technology that suppresses leakage current that causes power consumption by dividing the inside of a semiconductor integrated circuit device into multiple power supply domains (circuit blocks) and cutting off the power supply of the power supply domain that is not operating. Is.
  • a power switch circuit for switching and controlling connection / disconnection between the global power supply wiring provided for the entire circuit arranged on the chip and the local power supply wiring provided for the circuit of the power supply domain is used.
  • Patent Document 1 discloses a configuration in which a plurality of power switch circuits (PSWs) 902 are arranged in a stepped manner with respect to a power supply domain for power supply control in a semiconductor integrated circuit device 901.
  • a plurality of power switch circuits 902 are arranged so as to be spaced from the row of adjacent power switch circuits 902 in the vertical direction at regular intervals in the horizontal direction.
  • the power switch circuit 902 When a plurality of power switch circuits 902 are arranged in a regular arrangement pattern as shown in FIG. 9A, there are the following problems.
  • the power switch circuit When a macro (functional circuit) that realizes a predetermined function is arranged in a semiconductor integrated circuit device, the power switch circuit may not be arranged in the same arrangement pattern depending on the arrangement of the macro.
  • the power switch circuit 902A whose arrangement position does not overlap with the macro 903 can be arranged according to a predetermined arrangement pattern, but the arrangement position with the macro 903.
  • the power switch circuit 902B that overlaps with each other cannot be arranged.
  • the power switch circuit 902B If the power switch circuit 902B is not arranged, the power supply voltage fluctuation (IR-Drop) during operation in the circuit area becomes large and the constraint (criteria) cannot be satisfied, or the power supply to the circuit area cannot be performed. Sometimes. The occurrence of such a constraint violation (criteria violation) of the power supply voltage fluctuation (IR-Drop) causes a return work in the design process of the semiconductor integrated circuit device.
  • FIG. 9B a method of arranging the power switch circuit 902 by shifting the arrangement position of the power switch circuit 902 that is not arranged when a predetermined arrangement pattern is followed.
  • the power switch circuit 902 is arranged by sliding it so that the macro 903 and the arrangement position do not overlap with each other in the portion surrounded by the broken line.
  • IR-Drop power supply voltage fluctuation
  • the power supply switch circuit 902 and the power switch circuit 902 correspond to the narrow area between the macros 903.
  • Global power supply wiring 911 and local power supply wiring 912 will be provided.
  • the usable standard cell area is reduced, and the wiring resources that can be used for the signal wiring input / output to / from the standard cell and the macro, the signal wiring passing through, and the like are also reduced. Decreased available standard cell areas and wiring resources increase the likelihood of going back and forth in the design process of semiconductor integrated circuit equipment.
  • An object of the present invention is to provide a method for designing a semiconductor integrated circuit device capable of appropriately arranging a power switch circuit.
  • One aspect of the method for designing a semiconductor integrated circuit device is to arrange a plurality of macros in the circuit arrangement area of the semiconductor integrated circuit device in which a plurality of power switch circuits are arranged according to the first rule, and to arrange the macros in the circuit arrangement area.
  • a narrow region having a width less than the first value is detected from the first region where is not arranged, and a power switch circuit is arranged in the detected narrow region according to a second rule different from the first rule. Then, the power switch circuit is arranged in the first region other than the narrow region according to the first rule.
  • the disclosed semiconductor integrated circuit device design method allows the power switch circuit to be appropriately arranged.
  • FIG. 1 is a diagram illustrating an outline of a method for designing a semiconductor integrated circuit device according to the present embodiment.
  • FIG. 2 is a flowchart showing an example of a narrow region detection process in the present embodiment.
  • FIG. 3A is a diagram illustrating division of the circuit arrangement area.
  • FIG. 3B is a diagram illustrating an example of a determination criterion for a narrow region.
  • FIG. 4A is a flowchart showing an example of the arrangement process of the power switch circuit in the first embodiment.
  • FIG. 4B is a flowchart showing an example of the arrangement process of the power switch circuit in the first embodiment.
  • FIG. 5A is a flowchart showing an example of the arrangement process of the power switch circuit in the second embodiment.
  • FIG. 5B is a flowchart showing an example of the arrangement process of the power switch circuit in the second embodiment.
  • FIG. 6A is a diagram showing an example of an arrangement pattern in the present embodiment.
  • FIG. 6B is a diagram showing an example of an arrangement pattern in the present embodiment.
  • FIG. 6C is a diagram showing an example of an arrangement pattern in this embodiment.
  • FIG. 7 is a diagram illustrating an example of a semiconductor integrated circuit device according to the present embodiment.
  • FIG. 8 is a diagram showing a configuration example of a computer that can realize the design method of the semiconductor integrated circuit device in the present embodiment.
  • FIG. 9A is a diagram illustrating an arrangement example of a power switch circuit in a semiconductor integrated circuit device.
  • FIG. 9B is a diagram illustrating another arrangement example of the power switch circuit in the semiconductor integrated circuit device.
  • the semiconductor integrated circuit device to be designed in the embodiment described below is a semiconductor integrated circuit device having a power supply domain in which control related to power supply is performed.
  • a power switch circuit for controlling the connection state between the global power supply wiring provided for the entire circuit arranged on the chip and the local power supply wiring provided for the circuit of the power supply domain is provided to provide a global power supply. Whether or not the wiring and the local power supply wiring are electrically connected can be switched by a control signal.
  • the power supplied by the global power supply wiring is supplied to the circuit of the power supply domain via the local power supply wiring connected by the power switch circuit.
  • the global power supply wiring, local power supply wiring, and power supply switch circuit may be provided on the power supply potential side or the ground potential side.
  • a global power supply wiring that supplies the power supply potential and a local power supply wiring that supplies the power supply potential are provided, and a power supply switch circuit is provided between the global power supply wiring that supplies the power supply potential and the local power supply wiring that supplies the power supply potential. The case will be described as an example.
  • FIG. 1 is a diagram illustrating an outline of a method for designing a semiconductor integrated circuit device according to the present embodiment.
  • the method for designing a semiconductor integrated circuit device in the present embodiment can be realized by, for example, a computer (design device), and each process of the method for designing the semiconductor integrated circuit device in the present embodiment is executed by the processor (CPU or the like).
  • step S101 the processor arranges a macro (functional circuit) in the circuit arrangement area of the semiconductor integrated circuit device based on the logic circuit information read from the external storage device or the like and the design data including the netlist.
  • the macro is a designed circuit block that realizes a predetermined function, and is, for example, a memory macro or the like.
  • the processor detects a narrow area (Narrow Area) in the circuit arrangement area after the macro is arranged.
  • the narrow area (Narrow Area) is, for example, the distance between macros or the macro and circuit arrangement in the area (standard cell arrangement area) in which macros are not arranged in the circuit arrangement area.
  • the area where the distance from the outer edge of the area is smaller than a predetermined value.
  • step S103 and step S104 the processor arranges the power switch circuit (PSW) in the area (standard cell arrangement area) in which the macro is not arranged in the circuit arrangement area, and wirings related to the power supply. Perform (power supply wiring).
  • step S103 the processor arranges the power switch circuit in accordance with the first rule for the area other than the narrow area detected in step S102, and performs power supply wiring.
  • the arrangement pattern according to the first rule is, for example, an arrangement pattern for arranging in a staircase pattern as shown in FIG. 9A.
  • step S104 the processor arranges the power switch circuit in accordance with the second rule different from the first rule for the narrow area detected in step S102, and performs power supply wiring.
  • steps S103 and S104 are in no particular order, and after the power switch circuit is arranged and the power supply wiring is performed in the narrow area, the power switch circuit is arranged and the power supply wiring is performed in the area other than the narrow area. May be good.
  • step S105 the processor arranges a circuit cell (standard cell or the like) in the standard cell arrangement area in the circuit arrangement area based on the design data, and performs wiring such as signal wiring.
  • a circuit cell standard cell or the like
  • step S106 the processor arranges macros and circuit cells in the circuit arrangement area based on the design data, and performs power supply wiring and signal wiring. Drop) is analyzed.
  • the analysis process of the power supply voltage fluctuation (IR-Drop) during operation in the semiconductor integrated circuit device may be performed by using a well-known technique.
  • step S107 the processor arranges the power switch circuit, corrects the power supply wiring, and the like according to the analysis result of the power supply voltage fluctuation (IR-Drop) performed in step S106. For example, when a constraint violation (criteria violation) occurs in the analysis of the power supply voltage fluctuation (IR-Drop) in step S106, the processor arranges the power switch circuit and power supply wiring so as to eliminate the constraint violation (criteria violation). Make corrections.
  • IR-Drop analysis result of the power supply voltage fluctuation
  • FIG. 2 is a flowchart showing an example of the detection process of the narrow area (Narrow Area) in step S102 shown in FIG.
  • step S201 the processor horizontally divides the area (standard cell arrangement area) in which the macro is not arranged in the circuit arrangement area.
  • the lateral direction is assumed to indicate a direction perpendicular to the direction in which the power supply wiring extends.
  • the processor sets the standard cell arrangement area in the circuit arrangement area 301 as the right side or the left side of the macro 302, or the right side or the left side of the outer edge portion of the circuit arrangement area 301 as the opposite side of the rectangle. Divide into division areas. In the example shown in FIG. 3A, the processor is divided into eight division areas Z1 to Z8.
  • step S202 the processor determines whether or not there is a user-instructed value specified in advance by the user as a threshold value used for detecting a narrow area. If the processor determines that there is a user-instructed value (NO in step S202), the processor proceeds to step S203, and if it determines that there is no user-instructed value (YES in step S202), the processor proceeds to step S204.
  • step S203 the processor sets the width x of the narrow area determination standard used for determining whether or not the area is a narrow area to a user-instructed value specified in advance by the user, and proceeds to step S205.
  • step S204 the processor sets the width x of the determination criterion in the narrow area to a specified value, and proceeds to step S205.
  • This specified value is a value specified in consideration of the pitch (arrangement interval) of the power switch circuit when arranging the power switch circuit according to the first rule.
  • the specified value is a width 313 which is the sum of the width of one power switch circuit 312 and the length twice the pitch of the power switch circuit 312, as shown in FIG. 3B as an example.
  • the pitch is the distance between the corresponding parts of the adjacent power switch circuits, for example, the lateral distance between the left sides of the adjacent power switch circuits.
  • 311 is a macro (functional circuit).
  • step S205 the processor selects one unprocessed divided area from the divided areas divided in step S201.
  • step S206 the processor determines whether or not the width of the target divided area is less than the width x of the determination criterion of the narrow area. If the processor determines that the width of the target divided area is less than the width x of the criterion (YES in step S206), the processor proceeds to step S207, and the width of the target divided area is not less than the width x of the criterion. If it is determined (NO in step S206), the process proceeds to step S208.
  • step S207 the processor adds the target divided area to the narrow area by registering the target divided area in the narrow area list, and proceeds to step S208.
  • step S208 the processor returns to step S205 if there is an unprocessed divided area in the divided area divided in step S201, and there is no unprocessed divided area, that is, processing is completed for all the divided areas. If so, the detection process for the narrow area is terminated.
  • the standard cell arrangement area in the circuit arrangement area is divided in the horizontal direction, but it may be divided in the vertical direction (the same direction as the direction in which the power supply wiring extends). ..
  • the processor divides the standard cell arrangement area in the circuit arrangement area 301 into a division area in which the upper side or the lower side of the macro 302 or the upper side or the lower side of the outer edge portion of the circuit arrangement area 301 is the opposite side of the rectangle. Then, the same processing as the above-mentioned processing is performed.
  • FIGS. 4A and 4B are flowcharts showing an example of the arrangement process of the power switch circuit in the first embodiment.
  • step S401 the processor detects a narrow area (Narrow Area) in the circuit arrangement area of the semiconductor integrated circuit device in which the macro (functional circuit) is arranged, for example, as shown in FIG.
  • step S402 the processor refers to the narrow area list, and supplies power to the area other than the narrow area in the area where the macro is not arranged (standard cell arrangement area) in the circuit arrangement area according to the first rule. Place the switch circuit.
  • the arrangement pattern of the power switch circuit according to the first rule is, for example, an arrangement pattern in which the power switch circuit is arranged in a staircase pattern as shown in FIG. 9A.
  • the processor arranges the power switch circuit for each of the narrow areas in the area where the macro is not arranged (standard cell arrangement area) in the circuit arrangement area.
  • the processor refers to the narrow area list and selects one of the narrow areas in which the power switch circuit is not arranged.
  • step S404 the processor arranges the power switch circuit in the initial arrangement pattern for the target narrow area.
  • the initial arrangement pattern of the power switch circuit is an arrangement pattern according to a rule different from the arrangement pattern of the power switch circuit according to the first rule.
  • step S405 the processor returns to step S403 if there is a narrow area in the narrow area list in which the power switch circuit is not arranged.
  • the processor proceeds to step S406 when there is no narrow area in which the power switch circuit is not arranged, that is, when the power switch circuit is arranged in the initial arrangement pattern in all the narrow areas of the narrow area list.
  • the order in which the power switch circuit is arranged in the area other than the narrow area and the power switch circuit is arranged in the narrow area in steps S402 to S405 is arbitrary, and the power switch circuit is arranged in the narrow area. Later, the power switch circuit may be arranged in an area other than the narrow area.
  • step S406 the processor performs power supply wiring related to the power supply switch circuit and the like arranged as described above.
  • the processor connects to a power switch circuit to perform wiring such as global power supply wiring and local power supply wiring for supplying power supply potential, and power supply wiring for supplying ground potential.
  • step S407 the processor roughly arranges and wirings circuit cells (standard cells and the like), signal wiring, and the like with respect to the standard cell arrangement area in the circuit arrangement area.
  • step S408 the processor performs wiring congestion detection processing for evaluating the wiring margin in the standard cell arrangement area in the circuit arrangement area where the arrangement and wiring are performed as described above.
  • the wiring congestion detection process it is assumed that the wiring is congested when there is more wiring than the amount corresponding to the size of the area in the area to be detected.
  • the amount of wiring according to the size of the area shall be predetermined.
  • the wiring congestion detection process may be performed using a well-known technique. After performing the wiring congestion detection process, the processor proceeds to step S409 shown in FIG. 4B.
  • step S409 the processor determines whether or not there is wiring congestion in the narrow area in the circuit arrangement area.
  • the processor determines that there is no wiring congestion in all the narrow areas in the circuit arrangement area (NO in step S409), the processor proceeds to step S411, and if there is wiring congestion in at least one narrow area in the circuit arrangement area. If it is determined (YES in step S409), the process proceeds to step S431.
  • the processor repeats steps S411 to S414 to make the arrangement pattern more resistant to IR-Drop (power supply voltage fluctuation) than the current arrangement pattern for each of the narrow areas. Change to and place the power switch circuit. That is, the processor determines whether or not there is an arrangement pattern that is stronger in IR-Drop than the current arrangement pattern (S412). When the processor determines that there is a stronger arrangement pattern in IR-Drop (YES in step S412), the arrangement pattern is stronger in IR-Drop (more suppresses and reduces the fluctuation of the power supply voltage) and is narrow.
  • a power switch circuit is arranged in the area (S413).
  • an arrangement pattern that is more resistant to IR-Drop is, for example, an arrangement pattern in which the number of power switch circuits arranged in the region is increased.
  • FIG. 6A shows the original arrangement pattern
  • FIG. 6B shows an example of an arrangement pattern that is more resistant to IR-Drop than FIG. 6A.
  • 611 and 621 are power switch circuits
  • 612 and 622 are local power supply wirings
  • 613 and 623 are global power supply wirings.
  • 631 and 632 are macros (for example, memory macros).
  • the power switch circuit 611 is arranged stepwise according to the first rule in the area 601 which is not a narrow area. Further, in the narrow region 602, the power switch circuits 621 are arranged in a row (624A) along one of the macros 631 according to a rule different from the first rule.
  • the local power supply wiring 612 and the global power supply wiring 613 are connected to the power switch circuit 611, and the local power supply wiring 622 and the global power supply wiring 623 are connected to the power supply switch circuit 621.
  • the local power supply wiring 612 connected to the power supply switch circuit 611 arranged in the region 601 is wired as long as it can be wired, and the global power supply wiring 613 connected to the power supply switch circuit 611 is wired only in the region 601. Will be done. Therefore, in the arrangement pattern shown in FIG. 6A, the local power supply wiring 612A connected to the power supply switch circuit 611 is wired not only in the area 601 but also in the narrow area 602.
  • the global power supply wiring 613A connected to the power supply switch circuit 611 can be wired even in the narrow region 602, but is wired only in the region 601. In this way, wiring resources are secured by not wiring the global power supply wiring 613 connected to the power supply switch circuit 611 to the narrow area 602.
  • the power switch circuit 611 in the area 601 that is not a narrow area, is arranged in a staircase pattern according to the first rule, similarly to the arrangement pattern shown in FIG. 6A. Further, in the narrow region 602, the power switch circuits 621 are arranged in two rows (624A, 624B) along the macros 631 and 632, respectively, according to a rule different from the first rule. Similar to the arrangement pattern shown in FIG. 6A, the power switch circuit 611 is connected to the local power supply wiring 612 and the global power supply wiring 613, and the power supply switch circuit 621 is connected to the local power supply wiring 622 and the global power supply wiring 623. ing.
  • the local power supply wiring 612 connected to the power supply switch circuit 611 arranged in the area 601 is wired as long as it can be wired, and the power supply switch circuit 611 is used.
  • the global power supply wiring 613 connected to is wired only in the area 601. Therefore, in the arrangement pattern shown in FIG. 6B, the local power supply wiring 612A connected to the power supply switch circuit 611 is wired not only in the area 601 but also in the narrow area 602.
  • the global power supply wiring 613A connected to the power supply switch circuit 611 can be wired even in the narrow region 602, but is wired only in the region 601.
  • IR-Drop power supply voltage fluctuation
  • the processor After returning to the process shown in FIG. 4B and changing the arrangement pattern in the narrow region by the iterative process of steps S411 to S414, the processor performs power supply wiring (S415) in the same manner as in steps S406 to S408 described above, and the circuit cell. (Standard cell, etc.), signal wiring, etc. are roughly arranged and wired (S416), and wiring congestion detection processing is performed (S417).
  • step S4108 the processor determines whether or not there is wiring congestion in the narrow area.
  • the processor determines that there is no wiring congestion in all the narrow areas (NO in step S418)
  • the processor returns to step S411 and performs a process of changing the arrangement pattern in the narrow area to an arrangement pattern that is more resistant to IR-Drop. ..
  • step S418 When it is determined in step S418 that there is wiring congestion in at least one narrow area (YES), the processor proceeds to step S419, and the arrangement pattern in the narrow area is determined and fixed by the iterative processing of steps S419 to S422.
  • the processor changes the wiring pattern to an arrangement pattern immediately before the arrangement pattern in which wiring congestion occurred in step S418, that is, an arrangement pattern in which wiring resources are larger than the arrangement pattern in which wiring congestion occurs (S420).
  • the arrangement pattern of the target narrow area is fixed (S421). Then, the arrangement process of the power switch circuit is completed.
  • the processor changes the arrangement pattern in which the wiring resource is larger than the current arrangement pattern for each of the narrow areas by the iterative process of steps S431 to S434. And arrange the power switch circuit. That is, the processor determines whether or not there is an arrangement pattern in which the wiring resource is larger than the current arrangement pattern (S432). When the processor determines that there is an arrangement pattern with a larger wiring resource (YES in step S432), the processor arranges the power switch circuit in a narrow area in the arrangement pattern with a larger wiring resource (S433). On the other hand, when the processor determines that there is no arrangement pattern having a larger wiring resource (NO in step S432), the processor ends the iterative process of steps S431 to S434.
  • FIG. 6A shows the original arrangement pattern
  • FIG. 6C shows an example of the arrangement pattern in which the wiring resource is larger than that of FIG. 6A. Since FIG. 6A has already been described, the description thereof will be omitted here.
  • 611 and 621 are power switch circuits
  • 612 and 622 are local power supply wirings
  • 613 and 623 are global power supply wirings.
  • 631 and 632 are macros (for example, memory macros).
  • the power switch circuit 611 is arranged in a staircase pattern according to the first rule, similarly to the arrangement pattern shown in FIG. 6A. Further, in the narrow region 602, the power switch circuits 621 are arranged in a row (624A) along one macro 631 according to a rule different from the first rule, similar to the arrangement pattern shown in FIG. 6A. There is.
  • the local power supply wiring 612 and the global power supply wiring 613 are connected to the power switch circuit 611, and the local power supply wiring 622 and the global power supply wiring 623 are connected to the power supply switch circuit 621.
  • the local power supply wiring 612 and the global power supply wiring 613 connected to the power supply switch circuit 611 arranged in the area 601 are wired only in the area 601. Therefore, in the arrangement pattern shown in FIG. 6C, the local power supply wiring 612B and the global power supply wiring 613A connected to the power supply switch circuit 611 can be wired even in the narrow region 602, but only the region 601 is wired. In this way, by not wiring the local power supply wiring 612 and the global power supply wiring 613 connected to the power supply switch circuit 611 in the narrow area 602, a wiring resource larger than the arrangement pattern shown in FIG. 6A is secured.
  • the processor After returning to the process shown in FIG. 4B and changing the arrangement pattern in the narrow region by the iterative process of steps S431 to S434, the processor performs power supply wiring (S435) in the same manner as in steps S406 to S408 described above, and the circuit cell. (Standard cell, etc.), signal wiring, etc. are roughly arranged and wired (S436), and wiring congestion detection processing is performed (S437).
  • step S438 the processor determines whether or not there is wiring congestion in the narrow area.
  • the processor determines that there is wiring congestion in at least one narrow area (YES in step S438)
  • the processor returns to step S431 and performs a process of changing the arrangement pattern in the narrow area to an arrangement pattern having a larger wiring resource. ..
  • step S438 When it is determined in step S438 that there is no wiring congestion in all the narrow areas (NO), the processor proceeds to step S439, and the arrangement pattern in the narrow areas is determined and fixed by the iterative processing of steps S439 to S441.
  • the processor fixes the arrangement pattern when it is determined that there is no wiring congestion in all the narrow areas as the arrangement pattern of the target narrow area (S440). Then, the arrangement process of the power switch circuit is completed.
  • a narrow area list is created by the narrow area detection process, all the narrow areas are listed, and then the initial arrangement of the power switch circuit and the process of changing the arrangement pattern are executed.
  • the process of arranging the power switch circuit and changing the pattern may be sequentially executed at the stage where each narrow area is detected without listing the narrow areas.
  • the processor when there is no wiring congestion in the initial arrangement pattern for a narrow area, the processor is more resistant to IR-Drop (more power supply voltage fluctuation) within a range where wiring congestion does not occur.
  • the processor updates to an arrangement pattern that is more resistant to IR-Drop until wiring congestion occurs in a narrow area, and when wiring congestion occurs, the processor changes to an arrangement pattern with a large wiring resource before that and changes to a narrow area. Fix the placement pattern of. If there is no candidate placement pattern to be updated, fix it with the current placement pattern.
  • the processor searches for an arrangement pattern with larger wiring resources.
  • the processor updates to an arrangement pattern in which wiring resources are larger in a narrow area, and fixes an arrangement pattern in which the degree of wiring congestion is reduced as an arrangement pattern in a narrow area. If there is no candidate placement pattern to be updated, fix it with the current placement pattern.
  • the power switch circuit in consideration of the restrictions (criteria) of the power supply voltage fluctuation (IR-Drop) and the wiring resources.
  • IR-Drop the power supply voltage fluctuation
  • the wiring resource By arranging in consideration of the constraint (criteria) of the power supply voltage fluctuation (IR-Drop) and the wiring resource, it is possible to suppress the occurrence of the return work in the design process of the semiconductor integrated circuit device.
  • the power switch circuit is arranged in the same arrangement pattern for all the narrow areas in the circuit arrangement area of the semiconductor integrated circuit apparatus.
  • the arrangement pattern of the power switch circuit is individually determined for each narrow area, and the power switch circuit is arranged for each narrow area with an arrangement pattern that does not depend on other narrow areas.
  • the power switch circuit can be arranged in an appropriate arrangement pattern for each narrow area in the circuit arrangement area.
  • 5A and 5B are flowcharts showing an example of the arrangement process of the power switch circuit in the second embodiment.
  • step S501 the processor detects a narrow area (Narrow Area) in the circuit arrangement area of the semiconductor integrated circuit device in which the macro (functional circuit) is arranged, for example, as shown in FIG.
  • step S502 the processor refers to the narrow area list and supplies power to the area other than the narrow area in the area where the macro is not arranged (standard cell arrangement area) in the circuit arrangement area according to the first rule. Place the switch circuit.
  • the arrangement pattern of the power switch circuit according to the first rule is, for example, an arrangement pattern in which the power switch circuit is arranged in a staircase pattern as shown in FIG. 9A.
  • the processor arranges the power switch circuit in the initial arrangement pattern for each of the narrow areas in the area where the macro is not arranged (standard cell arrangement area) in the circuit arrangement area.
  • the initial arrangement pattern is an arrangement pattern according to a rule different from the arrangement pattern of the power switch circuit in the first rule.
  • the processor After arranging the power switch circuit for the area other than the narrow area and the narrow area, the processor performs the power wiring related to the power switch circuit and the like (S506), and the circuit cell is relative to the standard cell arrangement area in the circuit arrangement area. (Standard cell, etc.), signal wiring, etc. are roughly arranged and wired (S507), wiring congestion is detected, and IR-Drop (power supply voltage fluctuation) is estimated (S508).
  • the wiring congestion detection process and the power supply voltage fluctuation (IR-Drop) estimation process may be performed using well-known techniques.
  • the processor executes the processes of steps S509 to S519 for each narrow area in which the arrangement pattern is not fixed.
  • step S509 the processor selects one narrow area to be processed from the narrow areas whose arrangement pattern is not fixed.
  • step S510 the processor is in a state where there is wiring congestion in the narrow area to be processed and there is IR-Drop (power supply voltage fluctuation) which is a constraint violation (criteria violation) in the narrow area and surrounding macros. It is determined whether or not it is. If the processor determines that there is wiring congestion in the narrow area to be processed and there is an IR-Drop that violates the constraint in the narrow area or the surrounding macro (YES in step S510), the processor proceeds to step S511. If not (NO in step S510), the process proceeds to step S512.
  • IR-Drop power supply voltage fluctuation
  • step S511 since the processor has wiring congestion and IR-Drop that violates the constraint, it is insufficient to deal with the change in the arrangement pattern related to the power switch circuit. Therefore, the macro for the narrow area to be processed. Give instructions to correct the placement. After that, the processor proceeds to step S519.
  • step S512 the processor determines whether or not there is wiring congestion in the narrow area to be processed.
  • the processor determines that there is wiring congestion in the narrow area to be processed (YES in step S512)
  • the processor proceeds to step S513, and when it determines that there is no wiring congestion in the narrow area to be processed (NO in step S512).
  • step S513 the processor determines whether or not there is an arrangement pattern in which the wiring resource is larger than the current arrangement pattern. That is, the processor determines whether or not there is an arrangement pattern with larger wiring resources.
  • the processor determines that there is an arrangement pattern having a larger wiring resource (YES in step S513)
  • the processor proceeds to step S514.
  • the processor determines that there is no arrangement pattern having a larger wiring resource (NO in step S513)
  • the processor proceeds to step S518 because there is no arrangement pattern as a change candidate.
  • step S514 the processor changes the arrangement pattern in the narrow area to be processed to the arrangement pattern with a large wiring resource, and proceeds to step S519.
  • An example of the process of changing the arrangement pattern to the arrangement pattern having a large wiring resource is as described with reference to FIGS. 6A and 6C in the first embodiment.
  • step S515 the processor determines whether or not there is an IR-Drop that violates the constraint in the narrow area to be processed or the macro around it. If the processor determines that there is an IR-Drop that violates the constraint (YES in step S515), the processor proceeds to step S516, and if it determines that there is no IR-Drop that violates the constraint (NO in step S515), the processor proceeds to step S516. The process proceeds to step S518.
  • step S516 the processor determines whether or not there is an arrangement pattern that is stronger in IR-Drop than the current arrangement pattern. That is, the processor determines whether or not there is a stronger arrangement pattern in IR-Drop. If the processor determines that the IR-Drop has a stronger arrangement pattern (YES in step S516), the processor proceeds to step S517. On the other hand, when the processor determines that the IR-Drop does not have a stronger arrangement pattern (NO in step S516), the processor proceeds to step S518 because there is no arrangement pattern as a change candidate.
  • step S517 the processor changes the arrangement pattern in the narrow area to be processed to an arrangement pattern that is strong against IR-Drop, and proceeds to step S519.
  • An example of the process of changing the arrangement pattern to the arrangement pattern strong against IR-Drop is as described with reference to FIGS. 6A and 6B in the first embodiment.
  • step S5128 since the processor does not have an arrangement pattern that is a candidate for change for the narrow area of the processing target, the arrangement pattern of the narrow area of the processing target is fixed to the current arrangement pattern. After that, the processor proceeds to step S519.
  • step S519 the processor returns to step S509 if there is an unprocessed narrow area in the narrow area where the arrangement pattern is unfixed, and proceeds to step S520 if there is no unprocessed narrow area.
  • step S520 the processor determines whether or not there is a correction instruction for macro arrangement.
  • the processor determines that there is a macro placement correction instruction (YES in step S520)
  • the processor ends the process and returns to the macro placement process, and when it determines that there is no macro placement correction instruction (NO in step S520). ) To step S521.
  • step S521 the processor determines whether or not the arrangement pattern has been changed in any of the narrow areas.
  • the processor determines that the arrangement pattern has been changed in any of the narrow areas (YES in step S521)
  • the processor returns to step S506 and re-executes the processes after step S506.
  • the processor determines that the arrangement pattern has not been changed in any of the narrow areas (NO in step S521)
  • the processor determines that the arrangement pattern has been fixed in all the narrow areas and ends the process. ..
  • the processor when any one of IR-Drop (power supply voltage fluctuation) that causes wiring congestion or constraint violation (criteria violation) is confirmed in a narrow area, the processor adopts an arrangement pattern to improve it. Make changes. If wiring congestion occurs in a narrow area, change to an arrangement pattern with a large wiring resource, and if there is an IR-Drop that violates the constraint, change to an arrangement pattern that is strong against IR-Drop. If there is no change candidate placement pattern, the current placement pattern is used. Further, when both wiring congestion and IR-Drop that violates the constraint are confirmed in a narrow area, the processor issues an instruction to correct the macro arrangement because it is not enough to change the arrangement pattern. The processor performs this processing for each narrow area in the circuit arrangement area.
  • IR-Drop power supply voltage fluctuation
  • FIG. 7 is a diagram illustrating an example of a semiconductor integrated circuit device having a layout corresponding to the above-mentioned design method of the semiconductor integrated circuit device.
  • the macro 702 is arranged in the circuit arrangement area 701 of the semiconductor integrated circuit device, and the power switch circuit (PSW) 703 is arranged in the area (standard cell arrangement area) in which the macro 702 is not arranged in the circuit arrangement area 701. ..
  • the power switch circuit 703 follows the first rule (as an example, a stepped region). It is arranged (in the arrangement pattern).
  • the power switch circuit 703 follows a rule different from the first rule (as an example, in a row). It is arranged (in the arrangement pattern of).
  • the arrangement pattern shown in FIG. 6A is taken as an example of the original arrangement pattern, and according to FIGS. 6B and 6C, an example of an arrangement pattern that is more resistant to IR-Drop and an example of an arrangement pattern that has a larger wiring resource. Are shown one by one, but the present invention is not limited to these. If more multiple arrangement patterns with different strengths and wiring resource amounts for IR-Drop are prepared, and the arrangement patterns are ordered and applied in consideration of IR-Drop and wiring properties. good.
  • a program product in which each process of the above-mentioned design method of the semiconductor integrated circuit device is realized by the computer executing the program and performing the process is included in the embodiment of the present invention.
  • the program product there is a computer in which the program itself for realizing the processing of the design method of the semiconductor integrated circuit device described above is read.
  • the program product there are a transmission device capable of providing the program to a computer communicably connected via a network, a network system including the transmission device, and the like.
  • the program when the supplied program cooperates with the OS (operating system) running in the computer or other application software to realize the processing of the above-mentioned design method of the semiconductor integrated circuit device, the program is also used. It is included in the embodiment of the present invention. Further, even when all or part of the processing of the supplied program is performed by the function expansion board or the function expansion unit of the computer to realize the processing of the design method of the semiconductor integrated circuit device described above, such a program is the present invention. Is included in the embodiment of. Further, in order to use the present invention in a network environment, all or a part of the programs may be executed on another computer.
  • FIG. 8 is a diagram showing a configuration example of a computer that can realize the design method of the semiconductor integrated circuit device in the present embodiment.
  • a CPU 802, a ROM 803, a RAM 804, a network interface 805, an input device 806, an output device 807, and an external storage device 808 are connected to the bus 801.
  • the CPU 802 processes and calculates data, and controls each component connected via the bus 801.
  • a boot program is stored in the ROM 803 in advance, and the computer is started by executing the boot program by the CPU 802.
  • a computer program is stored in the external storage device 808, and the computer program is copied to the RAM 804 and executed by the CPU 802 to perform, for example, each process of the above-mentioned semiconductor integrated circuit device design method.
  • the RAM 804 is used as a work memory for input / output of data, transmission / reception, and temporary storage for controlling each component.
  • the external storage device 808 is, for example, a hard disk drive (HDD), a solid state drive (SSD), a CD-ROM, or the like, and the stored contents are not erased even when the power is turned off.
  • the network interface 805 is an interface for connecting to a network.
  • the input device 806 is, for example, a keyboard, a pointing device (mouse), or the like, and can perform various designations, inputs, and the like.
  • the output device 807 is a display, a printer, or the like, and can perform display, printing, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

半導体集積回路装置の設計方法では、複数の電源スイッチ回路が第1の規則に従って配置される半導体集積回路装置の回路配置領域内に、複数のマクロを配置し、回路配置領域内のマクロが配置されていない第1の領域から、幅が第1の値未満である狭小領域を検出し、検出された狭小領域に、第1の規則とは異なる第2の規則に従って電源スイッチ回路を配置し、狭小領域以外の第1の領域に、第1の規則に従って電源スイッチ回路を配置する。

Description

半導体集積回路装置の設計方法、半導体集積回路装置及びプログラム
 本発明は、半導体集積回路装置の設計方法、半導体集積回路装置及びプログラムに関する。
 半導体集積回路装置の低消費電力化を実現するための技術の一つに、電源遮断技術がある。電源遮断技術とは、半導体集積回路装置の内部を複数の電源ドメイン(回路ブロック)に分割し、動作していない電源ドメインの電源を遮断することによって電力消費の原因となるリーク電流を抑制する技術である。電源遮断技術では、チップに配置される回路全体に対して設けられるグローバル電源配線と電源ドメインの回路に対して設けられるローカル電源配線との接続/遮断を切り替え制御する電源スイッチ回路が用いられる。
 特許文献1には、図9Aに示すように、半導体集積回路装置901において電源制御する電源ドメインに対して複数の電源スイッチ回路(PSW)902を階段状に配置する構成が開示されている。横方向については一定の間隔を空け、縦方向については隣接する電源スイッチ回路902の列と位置をずらすようにして、複数の電源スイッチ回路902が配置される。
 図9Aに示したような規則的な配置パターンで複数の電源スイッチ回路902を配置する場合、次のような問題点がある。半導体集積回路装置に所定の機能を実現するマクロ(機能回路)を配置すると、マクロの配置によっては電源スイッチ回路が同一の配置パターンで配置できないことがある。例えば、図9Aに示すように半導体集積回路装置901にマクロ903を配置すると、マクロ903と配置位置が重ならない電源スイッチ回路902Aは所定の配置パターンに従って配置することができるが、マクロ903と配置位置が重なってしまう電源スイッチ回路902Bは配置することができない。電源スイッチ回路902Bが未配置となると、その回路領域における動作時の電源電圧変動(IR-Drop)が大きくなって制約(クライテリア)を満たせなくなったり、その回路領域への電源供給ができなくなったりすることがある。このような電源電圧変動(IR-Drop)の制約違反(クライテリア違反)等の発生は、半導体集積回路装置の設計工程において出戻り作業を発生させることになる。
 この問題点を回避する方法として、図9Bに示すように、所定の配置パターンに従った場合に未配置となる電源スイッチ回路902の配置位置をずらすようにして、電源スイッチ回路902を配置する方法が考えられる。図9Bにおいては、破線で囲んだ部分において、マクロ903と配置位置が重ならないようにスライドさせて電源スイッチ回路902を配置している。このようにすることで、動作時の電源電圧変動(IR-Drop)を抑制し制約(クライテリア)を満たすことができるかもしれないが、マクロ903間の狭い領域に電源スイッチ回路902とそれに対応するグローバル電源配線911及びローカル電源配線912を設けることになる。そのため、使用可能なスタンダードセル領域が少なくなってしまい、また、スタンダードセルやマクロに入出力される信号配線や通過する信号配線等に使用可能な配線リソースが少なくなってしまう。使用可能なスタンダードセル領域や配線リソースの低下は、半導体集積回路装置の設計工程において出戻り作業を発生させる可能性を高くする。
国際公開第2017/208888号
 本発明の目的は、電源スイッチ回路の適切な配置を行うことができる半導体集積回路装置の設計方法を提供することにある。
 半導体集積回路装置の設計方法の一態様は、複数の電源スイッチ回路が第1の規則に従って配置される半導体集積回路装置の回路配置領域内に、複数のマクロを配置し、回路配置領域内のマクロが配置されていない第1の領域から、幅が第1の値未満である狭小領域を検出し、検出された狭小領域に、第1の規則とは異なる第2の規則に従って電源スイッチ回路を配置し、狭小領域以外の第1の領域に、第1の規則に従って電源スイッチ回路を配置する。
 開示の半導体集積回路装置の設計方法は、電源スイッチ回路を適切に配置することができる。
図1は、本実施形態における半導体集積回路装置の設計方法の概要を説明する図である。 図2は、本実施形態における狭小領域の検出処理の例を示すフローチャートである。 図3Aは、回路配置領域の分割について説明する図である。 図3Bは、狭小領域の判定基準の例を説明する図である。 図4Aは、第1の実施形態における電源スイッチ回路の配置処理の例を示すフローチャートである。 図4Bは、第1の実施形態における電源スイッチ回路の配置処理の例を示すフローチャートである。 図5Aは、第2の実施形態における電源スイッチ回路の配置処理の例を示すフローチャートである。 図5Bは、第2の実施形態における電源スイッチ回路の配置処理の例を示すフローチャートである。 図6Aは、本実施形態における配置パターンの例を示す図である。 図6Bは、本実施形態における配置パターンの例を示す図である。 図6Cは、本実施形態における配置パターンの例を示す図である。 図7は、本実施形態における半導体集積回路装置の例を説明する図である。 図8は、本実施形態における半導体集積回路装置の設計方法を実現可能なコンピュータの構成例を示す図である。 図9Aは、半導体集積回路装置における電源スイッチ回路の配置例を説明する図である。 図9Bは、半導体集積回路装置における電源スイッチ回路の他の配置例を説明する図である。
 以下、本発明の実施形態を図面に基づいて説明する。
 以下に説明する実施形態において設計対象となる半導体集積回路装置は、電源供給に係る制御が行われる電源ドメインを有する半導体集積回路装置である。電源ドメインでは、チップに配置される回路全体に対して設けられるグローバル電源配線と電源ドメインの回路に対して設けられるローカル電源配線との接続状態を制御する電源スイッチ回路(PSW)を設け、グローバル電源配線とローカル電源配線とを電気的に接続するか否かが制御信号により切り替え可能に構成されている。グローバル電源配線によって供給される電源は、電源スイッチ回路により接続されるローカル電源配線を介して電源ドメインの回路に供給される。
 グローバル電源配線、ローカル電源配線、及び電源スイッチ回路は、電源電位側に設けてもよいし、接地電位側に設けてもよい。以下では、電源電位を供給するグローバル電源配線と電源電位を供給するローカル電源配線とを設け、電源電位を供給するグローバル電源配線と電源電位を供給するローカル電源配線との間に電源スイッチ回路を設ける場合を例に説明する。
(第1の実施形態)
 本発明の第1の実施形態について説明する。
 図1は、本実施形態における半導体集積回路装置の設計方法の概要を説明する図である。本実施形態における半導体集積回路装置の設計方法は、例えばコンピュータ(設計装置)により実現でき、そのプロセッサ(CPU等)により本実施形態における半導体集積回路装置の設計方法の各処理が実行される。
 ステップS101にて、プロセッサは、外部記憶装置等から読み出した論理回路情報やネットリストを含む設計データに基づいて、半導体集積回路装置の回路配置領域内にマクロ(機能回路)を配置する。マクロは、所定の機能を実現する設計済の回路ブロックであり、例えばメモリマクロ等である。
 次に、ステップS102にて、プロセッサは、マクロを配置した後の回路配置領域において、狭小領域(Narrow Area)の検出を行う。ここで、狭小領域(Narrow Area)とは、例えば、回路配置領域内のマクロを配置していない領域(スタンダードセル配置領域)の内で、マクロとマクロとの間の距離、若しくはマクロと回路配置領域の外縁部との間の距離が、所定の値よりも小さい領域である。
 続いて、ステップS103及びステップS104にて、プロセッサは、回路配置領域内のマクロが配置されていない領域(スタンダードセル配置領域)に対して、電源スイッチ回路(PSW)を配置し、電源に係る配線(電源配線)を行う。ステップS103では、プロセッサは、ステップS102において検出された狭小領域以外の領域について、第1の規則に従って電源スイッチ回路を配置して電源配線を行う。第1の規則での配置パターンは、例えば図9Aに示したような階段状に配置する配置パターンである。ステップS104では、プロセッサは、ステップS102において検出された狭小領域について、第1の規則とは異なる第2の規則に従って電源スイッチ回路を配置して電源配線を行う。なお、ステップS103及びステップS104の実行順序は順不同であり、狭小領域について電源スイッチ回路の配置及び電源配線を行った後に、狭小領域以外の領域について電源スイッチ回路の配置及び電源配線を行うようにしてもよい。
 次に、ステップS105にて、プロセッサは、設計データに基づいて、回路配置領域内のスタンダードセル配置領域に回路セル(スタンダードセル等)を配置し、信号配線等の配線を行う。
 次に、ステップS106にて、プロセッサは、設計データに基づいて回路配置領域内にマクロや回路セルを配置し電源配線や信号配線を行った半導体集積回路装置における動作時の電源電圧変動(IR-Drop)の解析を行う。半導体集積回路装置における動作時の電源電圧変動(IR-Drop)の解析処理については、周知の技術を用いて実行すればよい。
 次に、ステップS107にて、プロセッサは、ステップS106において行った電源電圧変動(IR-Drop)の解析結果等に応じて、電源スイッチ回路の配置や電源配線の修正等を行う。プロセッサは、例えば、ステップS106での電源電圧変動(IR-Drop)の解析において制約違反(クライテリア違反)が発生した場合、制約違反(クライテリア違反)を解消するように電源スイッチ回路の配置や電源配線の修正を行う。
 図2は、図1に示したステップS102での狭小領域(Narrow Area)の検出処理の例を示すフローチャートである。
 狭小領域の検出処理では、まず、ステップS201にて、プロセッサは、回路配置領域内でマクロが配置されていない領域(スタンダードセル配置領域)を横方向に分割する。ここで、横方向は、電源配線が延びる方向に対して垂直な方向を指すものとする。プロセッサは、図3Aに一例を示すように、回路配置領域301内のスタンダードセル配置領域を、マクロ302の右辺又は左辺、若しくは回路配置領域301の外縁部の右辺又は左辺を矩形の対向する辺とする分割エリアに分割する。図3Aに示す例では、プロセッサは、8つの分割エリアZ1~Z8に分割する。
 次に、ステップS202にて、プロセッサは、狭小領域の検出に用いるしきい値として、ユーザーが予め指定したユーザー指示値があるか否かを判定する。プロセッサは、ユーザー指示値があると判定した場合(ステップS202においてNO)にはステップS203に進み、ユーザー指示値がないと判定した場合(ステップS202においてYES)にはステップS204に進む。
 ステップS203にて、プロセッサは、狭小領域であるか否かの判定に用いる、狭小領域の判定基準の幅xをユーザーが予め指定したユーザー指示値に設定してステップS205に進む。
 ステップS204にて、プロセッサは、狭小領域の判定基準の幅xを規定値に設定してステップS205に進む。この規定値は、第1の規則に従って電源スイッチ回路を配置する際の電源スイッチ回路のピッチ(配置間隔)を考慮して規定した値である。例えば、規定値は、図3Bに一例を示すように、1個の電源スイッチ回路312の幅と電源スイッチ回路312のピッチの2倍の長さとを合わせた幅313とする。ここで、ピッチとは、隣接する電源スイッチ回路の対応する部位どうしの間隔であり、例えば、隣接する電源スイッチ回路の左辺どうしの横方向の間隔である。図3Bにおいて、311はマクロ(機能回路)である。
 以下に説明するステップS205~S208の繰り返し処理は、ステップS201において分割した分割エリア毎に行われる。ステップS205にて、プロセッサは、ステップS201において分割した分割エリアの内から未処理の分割エリアを1つ選択する。
 次に、ステップS206にて、プロセッサは、対象の分割エリアの幅が狭小領域の判定基準の幅x未満であるか否かを判定する。プロセッサは、対象の分割エリアの幅が判定基準の幅x未満であると判定した場合(ステップS206においてYES)にはステップS207に進み、対象の分割エリアの幅が判定基準の幅x未満ではないと判定した場合(ステップS206においてNO)にはステップS208に進む。
 ステップS207にて、プロセッサは、対象の分割エリアを狭小領域リストに登録することで、対象の分割エリアを狭小領域に追加してステップS208に進む。
 ステップS208にて、プロセッサは、ステップS201において分割した分割エリアの内に未処理の分割エリアがある場合にはステップS205に戻り、未処理の分割エリアがない、すなわちすべての分割エリアについて処理が完了した場合には狭小領域の検出処理を終了する。
 なお、前述した狭小領域の検出処理では、回路配置領域内のスタンダードセル配置領域を横方向に分割しているが、縦方向(電源配線が延びる方向と同じ方向)に分割するようにしてもよい。その場合、プロセッサは、回路配置領域301内のスタンダードセル配置領域を、マクロ302の上辺又は下辺、若しくは回路配置領域301の外縁部の上辺又は下辺を矩形の対向する辺とする分割エリアに分割して、前述した処理と同様の処理を行う。
 次に、図4A及び図4Bを参照して、第1の実施形態における電源スイッチ回路の配置処理について説明する。図4A及び図4Bに示した処理は、図1におけるステップS102~S104の処理に対応する。第1の実施形態では、回路配置領域内のすべての狭小領域に対して、同じ配置パターンで電源スイッチ回路を配置する。図4A及び図4Bは、第1の実施形態における電源スイッチ回路の配置処理の例を示すフローチャートである。
 ステップS401にて、プロセッサは、マクロ(機能回路)が配置された半導体集積回路装置の回路配置領域において、例えば、図2に示したようにして狭小領域(Narrow Area)の検出を行う。
 ステップS402にて、プロセッサは、狭小領域リストを参照して、回路配置領域内のマクロが配置されていない領域(スタンダードセル配置領域)のうちの狭小領域以外の領域について、第1の規則に従って電源スイッチ回路を配置する。第1の規則での電源スイッチ回路の配置パターンは、例えば図9Aに示したように階段状に配置する配置パターンである。
 また、ステップS403~S405の繰り返し処理により、プロセッサは、回路配置領域内のマクロが配置されていない領域(スタンダードセル配置領域)のうちの狭小領域のそれぞれについて、電源スイッチ回路を配置する。ステップS403にて、プロセッサは、狭小領域リストを参照して、狭小領域の内から電源スイッチ回路の配置を行っていない狭小領域を1つ選択する。
 次に、ステップS404にて、プロセッサは、対象の狭小領域について初期配置パターンで電源スイッチ回路を配置する。この電源スイッチ回路の初期配置パターンは、第1の規則での電源スイッチ回路の配置パターンとは異なる規則での配置パターンである。
 次に、ステップS405にて、プロセッサは、狭小領域リストの内に電源スイッチ回路の配置を行っていない狭小領域がある場合にはステップS403に戻る。プロセッサは、電源スイッチ回路の配置を行っていない狭小領域がない、すなわち狭小領域リストのすべての狭小領域に初期配置パターンで電源スイッチ回路を配置した場合にはステップS406に進む。
 なお、ステップS402~S405において行う狭小領域以外の領域についての電源スイッチ回路の配置、及び狭小領域についての電源スイッチ回路の配置を行う順序は任意であり、狭小領域について電源スイッチ回路の配置を行った後に、狭小領域以外の領域について電源スイッチ回路の配置を行うようにしてもよい。
 ステップS406にて、プロセッサは、前述のようにして配置した電源スイッチ回路等に係る電源配線を行う。プロセッサは、電源スイッチ回路に接続して電源電位を供給するグローバル電源配線及びローカル電源配線や、接地電位を供給する電源配線等の配線を行う。
 ステップS407にて、プロセッサは、回路配置領域内のスタンダードセル配置領域に対して回路セル(スタンダードセル等)や信号配線等の概略的な配置、配線を行う。
 次に、ステップS408にて、プロセッサは、前述のようにして配置及び配線を行った回路配置領域内のスタンダードセル配置領域において、配線の余裕度を評価する配線混雑の検出処理を行う。配線混雑の検出処理では、検出処理の対象とする領域において、その領域の大きさに応じた量以上の配線がある場合に配線混雑であるとする。領域の大きさに応じた配線量は、予め定めているものとする。配線混雑の検出処理については、周知の技術を用いて実行すればよい。配線混雑の検出処理を行った後、プロセッサは、図4Bに示すステップS409に進む。
 ステップS409にて、プロセッサは、回路配置領域内の狭小領域に配線混雑があるか否かを判定する。プロセッサは、回路配置領域内のすべての狭小領域において配線混雑がないと判定した場合(ステップS409においてNO)にはステップS411に進み、回路配置領域内の少なくとも1つの狭小領域において配線混雑があると判定した場合(ステップS409においてYES)にはステップS431に進む。
 すべての狭小領域において配線混雑がないと判定した場合、プロセッサは、ステップS411~S414の繰り返し処理により、狭小領域のそれぞれについて、現在の配置パターンよりもIR-Drop(電源電圧変動)に強い配置パターンに変更して電源スイッチ回路を配置する。すなわち、プロセッサは、現在の配置パターンよりもIR-Dropに強い配置パターンがあるか否かを判定する(S412)。プロセッサは、よりIR-Dropに強い配置パターンがあると判定した場合(ステップS412においてYES)には、よりIR-Dropに強い(より電源電圧変動を抑制し小さくするような)配置パターンで、狭小領域に電源スイッチ回路を配置する(S413)。一方、プロセッサは、よりIR-Dropに強い配置パターンがないと判定した場合(ステップS412においてNO)には、ステップS411~S414の繰り返し処理を終了する。よりIR-Dropに強い配置パターンは、例えば領域内に配置する電源スイッチ回路の数を増加した配置パターンである。
 ここで、図6A及び図6Bを参照して、IR-Dropに強い(電源電圧変動が小さくなるような)配置パターンに配線パターンを変更する処理の例について説明する。図6Aが元の配置パターンを示しており、図6Bが図6AよりもIR-Dropに強い配置パターンの一例を示している。図6A及び図6Bにおいて、611、621は電源スイッチ回路であり、612、622はローカル電源配線であり、613、623はグローバル電源配線である。また、631、632はマクロ(例えばメモリマクロ)である。
 図6Aに示す元の配置パターンでは、狭小領域ではない領域601において、電源スイッチ回路611は、第1の規則に従って階段状に配置されている。また、狭小領域602において、電源スイッチ回路621は、第1の規則とは異なる規則に従って、一方のマクロ631に沿うように一列(624A)に配置されている。電源スイッチ回路611には、ローカル電源配線612及びグローバル電源配線613が接続され、電源スイッチ回路621には、ローカル電源配線622及びグローバル電源配線623が接続されている。
 図6Aに示すように、領域601に配置される電源スイッチ回路611と接続するローカル電源配線612は配線可能である限り配線され、電源スイッチ回路611と接続するグローバル電源配線613は領域601においてのみ配線される。そのため、図6Aに示す配置パターンでは、電源スイッチ回路611と接続するローカル電源配線612Aは、領域601だけでなく狭小領域602においても配線される。一方、電源スイッチ回路611と接続するグローバル電源配線613Aは、狭小領域602においても配線可能ではあるが、領域601だけ配線される。このように、電源スイッチ回路611と接続するグローバル電源配線613を狭小領域602に配線させないことで配線リソースを確保している。
 図6Bに示す配置パターンでは、狭小領域ではない領域601において、電源スイッチ回路611は、図6Aに示した配置パターンと同様に、第1の規則に従って階段状に配置されている。また、狭小領域602において、電源スイッチ回路621は、第1の規則とは異なる規則に従って、マクロ631、632のそれぞれに沿うように二列(624A、624B)に配置されている。図6Aに示した配置パターンと同様に、電源スイッチ回路611には、ローカル電源配線612及びグローバル電源配線613が接続され、電源スイッチ回路621には、ローカル電源配線622及びグローバル電源配線623が接続されている。
 また、図6Bに示す配置パターンでは、図6Aに示す配置パターンと同様に、領域601に配置される電源スイッチ回路611と接続するローカル電源配線612は配線可能である限り配線され、電源スイッチ回路611と接続するグローバル電源配線613は領域601においてのみ配線される。そのため、図6Bに示す配置パターンでは、電源スイッチ回路611と接続するローカル電源配線612Aは、領域601だけでなく狭小領域602においても配線される。一方、電源スイッチ回路611と接続するグローバル電源配線613Aは、狭小領域602においても配線可能ではあるが、領域601だけ配線される。
 このように狭小領域602において、二列分の電源スイッチ回路621を配置することで、図6Aに示した配置パターンよりもIR-Drop(電源電圧変動)を抑制し小さくすることができる。一方、二列分の電源スイッチ回路621について電源配線が配線されるため、配線リソースは減少する。
 図4Bに示す処理に戻り、ステップS411~S414の繰り返し処理により狭小領域における配置パターンを変更した後、プロセッサは、前述したステップS406~S408と同様にして、電源配線を行い(S415)、回路セル(スタンダードセル等)や信号配線等の概略的な配置や配線を行い(S416)、配線混雑の検出処理を行う(S417)。
 次に、ステップS418にて、プロセッサは、狭小領域に配線混雑があるか否かを判定する。プロセッサは、すべての狭小領域において配線混雑がないと判定した場合(ステップS418においてNO)にはステップS411に戻り、狭小領域における配置パターンを、さらにIR-Dropに強い配置パターンに変更する処理を行う。
 ステップS418において少なくとも1つの狭小領域において配線混雑があると判定した場合(YES)、プロセッサは、ステップS419に進み、ステップS419~S422の繰り返し処理により、狭小領域における配置パターンを決定して固定する。プロセッサは、狭小領域において、配線パターンを、ステップS418において配線混雑が発生した配置パターンより1つ前の配置パターン、すなわち配線混雑が発生した配置パターンより配線リソースが大きい配置パターンに変更して(S420)、対象とする狭小領域の配置パターンを固定化する(S421)。そして、電源スイッチ回路の配置処理を終了する。
 ステップS409において少なくとも1つの狭小領域において配線混雑があると判定した場合、プロセッサは、ステップS431~S434の繰り返し処理により、狭小領域のそれぞれについて、現在の配置パターンよりも配線リソースが大きい配置パターンに変更して電源スイッチ回路を配置する。すなわち、プロセッサは、現在の配置パターンよりも配線リソースが大きい配置パターンがあるか否かを判定する(S432)。プロセッサは、より配線リソースが大きい配置パターンがあると判定した場合(ステップS432においてYES)には、より配線リソースが大きい配置パターンで、狭小領域に電源スイッチ回路を配置する(S433)。一方、プロセッサは、より配線リソースが大きい配置パターンがないと判定した場合(ステップS432においてNO)には、ステップS431~S434の繰り返し処理を終了する。
 ここで、図6A及び図6Cを参照して、配線リソースが大きい配置パターンに配線パターンを変更する処理の例について説明する。図6Aが元の配置パターンを示しており、図6Cが図6Aよりも配線リソースが大きい配置パターンの一例を示している。図6Aについては、すでに説明しているので、ここでの説明は省略する。図6Cにおいて、611、621は電源スイッチ回路であり、612、622はローカル電源配線であり、613、623はグローバル電源配線である。また、631、632はマクロ(例えばメモリマクロ)である。
 図6Cに示す配置パターンでは、狭小領域ではない領域601において、電源スイッチ回路611は、図6Aに示した配置パターンと同様に、第1の規則に従って階段状に配置されている。また、狭小領域602において、電源スイッチ回路621は、図6Aに示した配置パターンと同様に、第1の規則とは異なる規則に従って、一方のマクロ631に沿うように一列(624A)に配置されている。電源スイッチ回路611には、ローカル電源配線612及びグローバル電源配線613が接続され、電源スイッチ回路621には、ローカル電源配線622及びグローバル電源配線623が接続されている。
 図6Cに示す配置パターンでは、領域601に配置される電源スイッチ回路611と接続するローカル電源配線612及びグローバル電源配線613は領域601においてのみ配線される。そのため、図6Cに示す配置パターンでは、電源スイッチ回路611と接続するローカル電源配線612B及びグローバル電源配線613Aは、狭小領域602においても配線可能ではあるが、領域601だけ配線される。このように、電源スイッチ回路611と接続するローカル電源配線612及びグローバル電源配線613を狭小領域602に配線させないことで、図6Aに示した配置パターンよりも大きい配線リソースを確保している。
 図4Bに示す処理に戻り、ステップS431~S434の繰り返し処理により狭小領域における配置パターンを変更した後、プロセッサは、前述したステップS406~S408と同様にして、電源配線を行い(S435)、回路セル(スタンダードセル等)や信号配線等の概略的な配置や配線を行い(S436)、配線混雑の検出処理を行う(S437)。
 次に、ステップS438にて、プロセッサは、狭小領域に配線混雑があるか否かを判定する。プロセッサは、少なくとも1つの狭小領域において配線混雑があると判定した場合(ステップS438においてYES)にはステップS431に戻り、狭小領域における配置パターンを、さらに配線リソースが大きい配置パターンに変更する処理を行う。
 ステップS438においてすべての狭小領域において配線混雑がないと判定した場合(NO)、プロセッサは、ステップS439に進み、ステップS439~S441の繰り返し処理により、狭小領域における配置パターンを決定して固定する。プロセッサは、すべての狭小領域において配線混雑がないと判定したときの配置パターンを、対象とする狭小領域の配置パターンとして固定化する(S440)。そして、電源スイッチ回路の配置処理を終了する。
 なお、前述した実施形態では、狭小領域の検出処理によって狭小領域リストを作成し、全ての狭小領域をリストアップした上で、電源スイッチ回路の初期配置及び配置パターン変更の処理を実行したが、これに限定されず、狭小領域のリストアップをせずに、各狭小領域を検出した段階で、逐次的に、電源スイッチ回路の配置及びパターン変更の処理を実行するようにしてもよい。
 以上のように、第1の実施形態では、プロセッサは、狭小領域に対して初期配置パターンで配線混雑がない場合、配線混雑が発生しない範囲で、よりIR-Dropに強い(より電源電圧変動が小さい)配置パターンの探索を行う。プロセッサは、狭小領域において配線混雑が発生するまで、よりIR-Dropに強い配置パターンへの更新を行い、配線混雑が発生した場合に、その前の配線リソースが大きい配置パターンに変更して狭小領域の配置パターンを固定する。更新すべき候補の配置パターンがない場合には、現在の配置パターンで固定する。
 一方、プロセッサは、狭小領域に対して初期配置パターンで配線混雑がある場合、より配線リソースが大きい配置パターンの探索を行う。プロセッサは、狭小領域において、より配線リソースが大きい配置パターンへの更新を行い、配線混雑の度合いを低減させた配置パターンを狭小領域の配置パターンとして固定する。更新すべき候補の配置パターンがない場合には、現在の配置パターンで固定する。
 このように第1の実施形態によれば、電源電圧変動(IR-Drop)の制約(クライテリア)や配線リソースを考慮して電源スイッチ回路を適切に配置することが可能となる。電源電圧変動(IR-Drop)の制約(クライテリア)や配線リソースを考慮した配置を行うことで、半導体集積回路装置の設計工程において出戻り作業の発生を抑制することができる。
(第2の実施形態)
 次に、本発明の第2の実施形態について説明する。
 前述した第1の実施形態では、半導体集積回路装置の回路配置領域内のすべての狭小領域に対して、同じ配置パターンで電源スイッチ回路を配置する。以下に説明する第2の実施形態では、狭小領域毎に電源スイッチ回路の配置パターンを個別に決定し、狭小領域毎に他の狭小領域に依存しない配置パターンで電源スイッチ回路を配置する。第2の実施形態では、回路配置領域内の狭小領域毎に、適切な配置パターンで電源スイッチ回路を配置することが可能となる。
 電源スイッチ回路の配置処理以外は、前述した第1の実施形態と同様であるので説明は省略し、以下では第2の実施形態における電源スイッチ回路の配置処理について説明する。図5A及び図5Bは、第2の実施形態における電源スイッチ回路の配置処理の例を示すフローチャートである。
 ステップS501にて、プロセッサは、マクロ(機能回路)が配置された半導体集積回路装置の回路配置領域において、例えば、図2に示したようにして狭小領域(Narrow Area)の検出を行う。
 ステップS502にて、プロセッサは、狭小領域リストを参照して、回路配置領域内のマクロが配置されていない領域(スタンダードセル配置領域)のうちの狭小領域以外の領域について、第1の規則に従って電源スイッチ回路を配置する。第1の規則での電源スイッチ回路の配置パターンは、例えば図9Aに示したように階段状に配置する配置パターンである。
 また、ステップS503~S505の繰り返し処理により、プロセッサは、回路配置領域内のマクロが配置されていない領域(スタンダードセル配置領域)の狭小領域のそれぞれについて、初期配置パターンで電源スイッチ回路を配置する。初期配置パターンは、第1の規則での電源スイッチ回路の配置パターンとは異なる規則での配置パターンである。
 なお、ステップS502~S505において電源スイッチ回路の配置を行う順序は任意であり、狭小領域について電源スイッチ回路の配置を行った後に、狭小領域以外の領域について電源スイッチ回路の配置を行うようにしてもよい。
 狭小領域以外の領域及び狭小領域について電源スイッチ回路の配置を行った後、プロセッサは、電源スイッチ回路等に係る電源配線を行い(S506)、回路配置領域内のスタンダードセル配置領域に対して回路セル(スタンダードセル等)や信号配線等の概略的な配置や配線を行い(S507)、配線混雑の検出処理及びIR-Drop(電源電圧変動)の見積もりを行う(S508)。配線混雑の検出処理、及び電源電圧変動(IR-Drop)の見積もり処理については、周知の技術を用いて実行すればよい。
 配線混雑の検出処理及びIR-Drop(電源電圧変動)の見積もりを行った後、プロセッサは、配置パターンが未固定の狭小領域について、狭小領域毎にステップS509~S519の処理を実行する。ステップS509にて、プロセッサは、配置パターンが未固定の狭小領域の内から処理対象の狭小領域を1つ選択する。
 次に、ステップS510にて、プロセッサは、処理対象の狭小領域において配線混雑があり、かつその狭小領域や周辺のマクロにおいて制約違反(クライテリア違反)となるIR-Drop(電源電圧変動)がある状態であるか否かを判定する。プロセッサは、処理対象の狭小領域において配線混雑があり、かつその狭小領域や周辺のマクロにおいて制約違反となるIR-Dropがあると判定した場合(ステップS510においてYES)にはステップS511に進み、そうでない場合(ステップS510においてNO)にはステップS512に進む。
 ステップS511にて、プロセッサは、配線混雑があり、かつ制約違反となるIR-Dropがあるので、電源スイッチ回路に係る配置パターンの変更では対処が不十分であるため、処理対象の狭小領域に対するマクロ配置の修正指示を出す。その後、プロセッサは、ステップS519に進む。
 ステップS512にて、プロセッサは、処理対象の狭小領域において配線混雑があるか否かを判定する。プロセッサは、処理対象の狭小領域において配線混雑があると判定した場合(ステップS512においてYES)にはステップS513に進み、処理対象の狭小領域において配線混雑がないと判定した場合(ステップS512においてNO)にはステップS515に進む。
 ステップS513にて、プロセッサは、現在の配置パターンよりも配線リソースが大きい配置パターンがあるか否かを判定する。すなわち、プロセッサは、より配線リソースが大きい配置パターンがあるか否かを判定する。プロセッサは、より配線リソースが大きい配置パターンがあると判定した場合(ステップS513においてYES)にはステップS514に進む。一方、プロセッサは、より配線リソースが大きい配置パターンがないと判定した場合(ステップS513においてNO)には、変更候補となる配置パターンがないのでステップS518に進む。
 ステップS514にて、プロセッサは、処理対象の狭小領域における配置パターンを配線リソースが大きい配置パターンに変更し、ステップS519に進む。配線リソースが大きい配置パターンに配置パターンを変更する処理の例については、第1の実施形態において図6A及び図6Cを用いて説明したとおりである。
 ステップS515にて、プロセッサは、処理対象の狭小領域や周辺のマクロにおいて制約違反となるIR-Dropがあるか否かを判定する。プロセッサは、制約違反となるIR-Dropがあると判定した場合(ステップS515においてYES)にはステップS516に進み、制約違反となるIR-Dropがないと判定した場合(ステップS515においてNO)にはステップS518に進む。
 ステップS516にて、プロセッサは、現在の配置パターンよりもIR-Dropに強い配置パターンがあるか否かを判定する。すなわち、プロセッサは、よりIR-Dropに強い配置パターンがあるか否かを判定する。プロセッサは、よりIR-Dropに強い配置パターンがあると判定した場合(ステップS516においてYES)にはステップS517に進む。一方、プロセッサは、よりIR-Dropに強い配置パターンがないと判定した場合(ステップS516においてNO)には、変更候補となる配置パターンがないのでステップS518に進む。
 ステップS517にて、プロセッサは、処理対象の狭小領域における配置パターンをIR-Dropに強い配置パターンに変更し、ステップS519に進む。IR-Dropに強い配置パターンに配置パターンを変更する処理の例については、第1の実施形態において図6A及び図6Bを用いて説明したとおりである。
 ステップS518にて、プロセッサは、処理対象の狭小領域について変更候補となる配置パターンがないので、処理対象の狭小領域の配置パターンを現在の配置パターンに固定化する。その後、プロセッサは、ステップS519に進む。
 ステップS519にて、プロセッサは、配置パターンが未固定の狭小領域の内に未処理の狭小領域がある場合にはステップS509に戻り、未処理の狭小領域がない場合にはステップS520に進む。
 ステップS520にて、プロセッサは、マクロ配置の修正指示があるか否かを判定する。プロセッサは、マクロ配置の修正指示があると判定した場合(ステップS520においてYES)には処理を終了してマクロの配置工程に戻り、マクロ配置の修正指示がないと判定した場合(ステップS520においてNO)にはステップS521に進む。
 ステップS521にて、プロセッサは、いずれかの狭小領域において配置パターンの変更が行われたか否かを判定する。プロセッサは、いずれかの狭小領域において配置パターンの変更が行われたと判定した場合(ステップS521においてYES)にはステップS506に戻り、ステップS506以降の処理を再び実行する。一方、プロセッサは、いずれの狭小領域においても配置パターンの変更が行われていないと判定した場合(ステップS521においてNO)には、すべての狭小領域で配置パターンが固定されたと判定し処理を終了する。
 第2の実施形態では、プロセッサは、狭小領域において配線混雑又は制約違反(クライテリア違反)となるIR-Drop(電源電圧変動)の何れか1つが確認された場合、それを改善する配置パターンへの変更を行う。狭小領域において配線混雑が発生している場合には配線リソースが大きい配置パターンへの変更を行い、制約違反となるIR-Dropがある場合にはIR-Dropに強い配置パターンへの変更を行う。変更候補の配置パターンがない場合には、現在の配置パターンで固定する。また、プロセッサは、狭小領域において配線混雑及び制約違反となるIR-Dropの両方が確認された場合、配置パターンの変更だけでは不十分であるので、マクロ配置の修正指示を出す。プロセッサは、この処理を回路配置領域内の狭小領域毎に行う。
 これにより、狭小領域毎に電源電圧変動(IR-Drop)の制約(クライテリア)や配線リソースを考慮して電源スイッチ回路を適切に配置することが可能となる。電源電圧変動(IR-Drop)の制約(クライテリア)や配線リソースを考慮した配置を行うことで、半導体集積回路装置の設計工程において出戻り作業の発生を抑制することができる。
(第3の実施形態)
 図7は、前述した半導体集積回路装置の設計方法に対応するレイアウトを有する半導体集積回路装置の例を説明する図である。半導体集積回路装置の回路配置領域701内にマクロ702が配置され、回路配置領域701内においてマクロ702が配置されていない領域(スタンダードセル配置領域)に電源スイッチ回路(PSW)703が配置されている。分割した領域の幅が狭小領域の判定基準の幅以上である領域(狭小領域以外の領域)Z1、Z2、Z3、Z5では、電源スイッチ回路703は、第1の規則に従って(一例として階段状の配置パターンで)配置される。分割した領域の幅が狭小領域の判定基準の幅未満である領域(狭小領域)Z4、Z6、Z7、Z8では、電源スイッチ回路703は、第1の規則とは異なる規則に従って(一例として列状の配置パターンで)配置される。
 なお、前述した実施形態では、図6Aに示した配置パターンを元の配置パターンの一例とし、図6B及び図6Cにより、よりIR-Dropに強い配置パターンと、より配線リソースが大きい配置パターンの例をそれぞれ1つずつ示したが、これらに限定されるものではない。IR-Dropに対する強度や配線リソース量が異なった、より多くの複数の配置パターンを用意しておき、IR-Dropと配線性とを考慮して配置パターンに序列を付けて適用するようにすればよい。
 また、前述した実施形態における半導体集積回路装置の設計方法は、例えばCPU(Central Processing Unit)又はMPU(Micro Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を有するコンピュータが、記憶部に記憶されたプログラムを実行することで実現でき、前記プログラムは本発明の実施形態に含まれる。また、コンピュータに前述した半導体集積回路装置の設計方法の各処理を実行させるプログラムを、例えばCD-ROMのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものであり、前記プログラムを記録した記録媒体は本発明の実施形態に含まれる。前記プログラムを記録する記録媒体としては、CD-ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。
 また、コンピュータがそのプログラムを実行し処理を行うことにより、前述した半導体集積回路装置の設計方法の各処理が実現されるプログラムプロダクトは、本発明の実施形態に含まれる。前記プログラムプロダクトとしては、前述した半導体集積回路装置の設計方法の処理を実現するプログラム自体、前記プログラムが読み込まれたコンピュータがある。また、前記プログラムプロダクトとして、ネットワークを介して通信可能に接続されたコンピュータに前記プログラムを提供可能な送信装置、当該送信装置を備えるネットワークシステム等がある。
 また、供給されたプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)又は他のアプリケーションソフト等と協働して前述した半導体集積回路装置の設計方法の処理が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。また、供給されたプログラムの処理のすべて又は一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて前述した半導体集積回路装置の設計方法の処理が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。また、本発明をネットワーク環境で利用するべく、全部又は一部のプログラムが他のコンピュータで実行されるようになっていても良い。
 例えば、前述した実施形態における半導体集積回路装置の設計方法は、図8に示すようなコンピュータ(設計装置)により実現でき、そのCPUにより前述した実施形態における半導体集積回路装置の設計方法の動作が実施される。図8は、本実施形態における半導体集積回路装置の設計方法を実現可能なコンピュータの構成例を示す図である。バス801には、CPU802、ROM803、RAM804、ネットワークインターフェース805、入力装置806、出力装置807、及び外部記憶装置808が接続されている。
 CPU802は、データの処理や演算を行うとともに、バス801を介して接続された各構成要素を制御する。ROM803には、予めブートプログラムが記憶されており、このブートプログラムをCPU802が実行することにより、コンピュータが起動する。外部記憶装置808にコンピュータプログラムが記憶されており、そのコンピュータプログラムがRAM804にコピーされてCPU802により実行することで、例えば前述した半導体集積回路装置の設計方法の各処理等が行われる。RAM804は、データの入出力、送受信のためのワークメモリ、各構成要素の制御のための一時記憶として用いられる。
 外部記憶装置808は、例えばハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、CD-ROM等であり、電源を切っても記憶内容が消えない。ネットワークインターフェース805は、ネットワークに接続するためのインターフェースである。入力装置806は、例えばキーボードやポインティングデバイス(マウス)等であり、各種指定や入力等を行うことができる。出力装置807は、ディスプレイやプリンタ等であり、表示や印刷等を行うことができる。
 また、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
 本発明によれば、半導体集積回路装置の回路配置領域に電源スイッチ回路を適切に配置する半導体集積回路装置の設計方法を提供することができる。

Claims (20)

  1.  複数の電源スイッチ回路が第1の規則に従って配置される半導体集積回路装置の回路配置領域内に、複数のマクロを配置し、
     前記回路配置領域内の前記マクロが配置されていない第1の領域から、幅が第1の値未満である狭小領域を検出し、
     検出された前記狭小領域に、前記第1の規則とは異なる第2の規則に従って前記電源スイッチ回路を配置し、
     前記狭小領域以外の前記第1の領域に、前記第1の規則に従って前記電源スイッチ回路を配置する
    ことを特徴とする半導体集積回路装置の設計方法。
  2.  前記第1の値は、前記電源スイッチ回路の幅、及び前記第1の規則に従って前記電源スイッチ回路が配置される場合の配置間隔の少なくとも一方に基づいて規定された値であることを特徴とする請求項1に記載の半導体集積回路装置の設計方法。
  3.  前記狭小領域に、第1の配置パターンで前記電源スイッチ回路を配置して配線混雑が発生する場合、前記第1の配置パターンよりも配線リソースが大きい第2の配置パターンに変更し前記電源スイッチ回路を配置することを特徴とする請求項1又は2に記載の半導体集積回路装置の設計方法。
  4.  前記狭小領域に、第1の配置パターンで前記電源スイッチ回路を配置して制約違反となる電源電圧変動が発生する場合、前記第1の配置パターンよりも電源電圧変動が抑制される第3の配置パターンに変更し前記電源スイッチ回路を配置することを特徴とする請求項1~3の何れか1項に記載の半導体集積回路装置の設計方法。
  5.  配置された前記マクロに基づいて前記第1の領域を複数の矩形領域に分割し前記狭小領域の検出を行うことを特徴とする請求項1~4の何れか1項に記載の半導体集積回路装置の設計方法。
  6.  検出されたすべての前記狭小領域に、同じ配置パターンで前記電源スイッチ回路を配置することを特徴とする請求項1~5の何れか1項に記載の半導体集積回路装置の設計方法。
  7.  前記狭小領域に、第1の配置パターンで前記電源スイッチ回路を配置して配線混雑が発生しない場合、前記第1の配置パターンよりも電源電圧変動が抑制される第4の配置パターンに変更し前記電源スイッチ回路を配置することを特徴とする請求項1、2、5及び6の何れか1項に記載の半導体集積回路装置の設計方法。
  8.  検出された前記狭小領域毎に、他の前記狭小領域に依存しない配置パターンで前記電源スイッチ回路を配置することを特徴とする請求項1~5の何れか1項に記載の半導体集積回路装置の設計方法。
  9.  回路配置領域を有する半導体集積回路装置であって、
     前記回路配置領域に配置された複数のマクロと、
     前記回路配置領域内の前記マクロが配置されていない第1の領域のうち、幅が第1の値未満である狭小領域以外の前記第1の領域に、第1の規則に従って配置された複数の第1の電源スイッチ回路と、
     前記第1の領域のうちの前記狭小領域に、前記第1の規則とは異なる第2の規則に従って配置された複数の第2の電源スイッチ回路と
    を有することを特徴とする半導体集積回路装置。
  10.  前記第1の値は、前記第1の電源スイッチ回路の幅、及び前記第1の規則に従って前記第1の電源スイッチ回路が配置される場合の配置間隔の少なくとも一方に基づいて規定された値であることを特徴とする請求項9に記載の半導体集積回路装置。
  11.  すべての前記狭小領域に、同じ配置パターンで前記第2の電源スイッチ回路が配置されていることを特徴とする請求項9又は10に記載の半導体集積回路装置。
  12.  前記狭小領域毎に、他の前記狭小領域に依存しない配置パターンで前記第2の電源スイッチ回路が配置されていることを特徴とする請求項9又は10に記載の半導体集積回路装置。
  13.  複数の電源スイッチ回路が第1の規則に従って配置される半導体集積回路装置の回路配置領域内に、複数のマクロを配置する処理と、
     前記回路配置領域内の前記マクロが配置されていない第1の領域から、幅が第1の値未満である狭小領域を検出する処理と、
     検出された前記狭小領域に、前記第1の規則とは異なる第2の規則に従って前記電源スイッチ回路を配置する処理と、
     前記狭小領域以外の前記第1の領域に、前記第1の規則に従って前記電源スイッチ回路を配置する処理と
    をコンピュータに実行させるためのプログラム。
  14.  前記第1の値は、前記電源スイッチ回路の幅、及び前記第1の規則に従って前記電源スイッチ回路が配置される場合の配置間隔の少なくとも一方に基づいて規定された値であることを特徴とする請求項13に記載のプログラム。
  15.  前記狭小領域に前記電源スイッチ回路を配置する処理では、前記狭小領域に、第1の配置パターンで前記電源スイッチ回路を配置して配線混雑が発生する場合、前記第1の配置パターンよりも配線リソースが大きい第2の配置パターンに変更し前記電源スイッチ回路を配置することを特徴とする請求項13又は14に記載のプログラム。
  16.  前記狭小領域に前記電源スイッチ回路を配置する処理では、前記狭小領域に、第1の配置パターンで前記電源スイッチ回路を配置して制約違反となる電源電圧変動が発生する場合、前記第1の配置パターンよりも電源電圧変動が抑制される第3の配置パターンに変更し前記電源スイッチ回路を配置することを特徴とする請求項13~15の何れか1項に記載のプログラム。
  17.  前記狭小領域を検出する処理では、配置された前記マクロに基づいて前記第1の領域を複数の矩形領域に分割し前記狭小領域の検出を行うことを特徴とする請求項13~16の何れか1項に記載のプログラム。
  18.  前記狭小領域に前記電源スイッチ回路を配置する処理では、検出されたすべての前記狭小領域に、同じ配置パターンで前記電源スイッチ回路を配置することを特徴とする請求項13~17の何れか1項に記載のプログラム。
  19.  前記狭小領域に前記電源スイッチ回路を配置する処理では、前記狭小領域に、第1の配置パターンで前記電源スイッチ回路を配置して配線混雑が発生しない場合、前記第1の配置パターンよりも電源電圧変動が抑制される第4の配置パターンに変更し前記電源スイッチ回路を配置することを特徴とする請求項13、14、17及び18の何れか1項に記載のプログラム。
  20.  前記狭小領域に前記電源スイッチ回路を配置する処理では、検出された前記狭小領域毎に、他の前記狭小領域に依存しない配置パターンで前記電源スイッチ回路を配置することを特徴とする請求項13~17の何れか1項に記載のプログラム。
PCT/JP2020/044262 2020-11-27 2020-11-27 半導体集積回路装置の設計方法、半導体集積回路装置及びプログラム WO2022113282A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022564945A JPWO2022113282A1 (ja) 2020-11-27 2020-11-27
PCT/JP2020/044262 WO2022113282A1 (ja) 2020-11-27 2020-11-27 半導体集積回路装置の設計方法、半導体集積回路装置及びプログラム
CN202080107453.8A CN116472605A (zh) 2020-11-27 2020-11-27 半导体集成电路装置的设计方法、半导体集成电路装置以及程序
US18/323,244 US20230299070A1 (en) 2020-11-27 2023-05-24 Designing method of semiconductor integrated circuit device, semiconductor integrated circuit device, and non-transitory computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/044262 WO2022113282A1 (ja) 2020-11-27 2020-11-27 半導体集積回路装置の設計方法、半導体集積回路装置及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/323,244 Continuation US20230299070A1 (en) 2020-11-27 2023-05-24 Designing method of semiconductor integrated circuit device, semiconductor integrated circuit device, and non-transitory computer-readable recording medium

Publications (1)

Publication Number Publication Date
WO2022113282A1 true WO2022113282A1 (ja) 2022-06-02

Family

ID=81755455

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/044262 WO2022113282A1 (ja) 2020-11-27 2020-11-27 半導体集積回路装置の設計方法、半導体集積回路装置及びプログラム

Country Status (4)

Country Link
US (1) US20230299070A1 (ja)
JP (1) JPWO2022113282A1 (ja)
CN (1) CN116472605A (ja)
WO (1) WO2022113282A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12002720B2 (en) * 2020-11-23 2024-06-04 Wolfspeed, Inc. Methods and systems for component analysis, sorting, and sequencing based on component parameters and devices utilizing the methods and systems

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0645440A (ja) * 1992-07-24 1994-02-18 Fujitsu Ltd 半導体集積回路のレイアウト方法
JP2005259879A (ja) * 2004-03-10 2005-09-22 Sony Corp 半導体集積回路
JP2007258226A (ja) * 2006-03-20 2007-10-04 Seiko Epson Corp 半導体集積回路
JP2008277788A (ja) * 2007-04-05 2008-11-13 Nec Electronics Corp 半導体装置
JP2009076501A (ja) * 2007-09-18 2009-04-09 Sony Corp 半導体集積回路
JP2011222895A (ja) * 2010-04-14 2011-11-04 Renesas Electronics Corp 半導体集積回路の設計方法
WO2017208888A1 (ja) * 2016-06-01 2017-12-07 株式会社ソシオネクスト 半導体集積回路装置
WO2017208887A1 (ja) * 2016-06-01 2017-12-07 株式会社ソシオネクスト 半導体集積回路装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0645440A (ja) * 1992-07-24 1994-02-18 Fujitsu Ltd 半導体集積回路のレイアウト方法
JP2005259879A (ja) * 2004-03-10 2005-09-22 Sony Corp 半導体集積回路
JP2007258226A (ja) * 2006-03-20 2007-10-04 Seiko Epson Corp 半導体集積回路
JP2008277788A (ja) * 2007-04-05 2008-11-13 Nec Electronics Corp 半導体装置
JP2009076501A (ja) * 2007-09-18 2009-04-09 Sony Corp 半導体集積回路
JP2011222895A (ja) * 2010-04-14 2011-11-04 Renesas Electronics Corp 半導体集積回路の設計方法
WO2017208888A1 (ja) * 2016-06-01 2017-12-07 株式会社ソシオネクスト 半導体集積回路装置
WO2017208887A1 (ja) * 2016-06-01 2017-12-07 株式会社ソシオネクスト 半導体集積回路装置

Also Published As

Publication number Publication date
US20230299070A1 (en) 2023-09-21
JPWO2022113282A1 (ja) 2022-06-02
CN116472605A (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
US8225239B2 (en) Methods for defining and utilizing sub-resolution features in linear topology
US7469396B2 (en) Semiconductor device and layout design method therefor
US10083269B2 (en) Computer implemented system and method for generating a layout of a cell defining a circuit component
US7257783B2 (en) Technology migration for integrated circuits with radical design restrictions
US20110145775A1 (en) Cell library, layout method, and layout apparatus
KR20140029050A (ko) 패턴 형성 방법
US10817637B2 (en) System and method of designing integrated circuit by considering local layout effect
US9672311B2 (en) Method and system for via retargeting
CN108416077B (zh) 用于通过考虑后段制程来设计集成电路的方法和计算系统
JP2006220771A (ja) 半導体集積回路のレイアウト方法、製造方法及びレイアウトプログラム
CN111597768B (zh) 用于构建版图图案集的方法、设备和计算机可读存储介质
WO2022113282A1 (ja) 半導体集積回路装置の設計方法、半導体集積回路装置及びプログラム
JP2005142226A (ja) 半導体集積回路およびその設計方法
KR100565404B1 (ko) 반도체 집적 회로, 반도체 집적 회로 설계 방법 및 반도체집적 회로 설계 장치
US9965579B2 (en) Method for designing and manufacturing an integrated circuit, system for carrying out the method, and system for verifying an integrated circuit
JP4220932B2 (ja) 半導体集積回路の設計支援方法
US8621415B2 (en) Obtaining power domain by clustering logical blocks based on activation timings
US10565341B2 (en) Constrained cell placement
US11983477B2 (en) Routing layer re-optimization in physical synthesis
JP2009134439A (ja) ソフトマクロを用いたレイアウト設計方法、ソフトマクロのデータ構造及びソフトマクロライブラリの作成方法
US6591408B1 (en) Apparatus and method for designing semiconductor circuit, and recording medium
Lei et al. Minimum implant area-aware placement and threshold voltage refinement
Lin et al. MIA-aware detailed placement and VT reassignment for leakage power optimization
JP2013045861A (ja) 半導体レイアウト設定装置、半導体レイアウト設定方法、及び半導体レイアウト設定プログラム
KR102718979B1 (ko) Beol을 고려하여 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템

Legal Events

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

Ref document number: 20963546

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022564945

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 202080107453.8

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20963546

Country of ref document: EP

Kind code of ref document: A1