WO2013094002A1 - 回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラム - Google Patents

回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラム Download PDF

Info

Publication number
WO2013094002A1
WO2013094002A1 PCT/JP2011/079408 JP2011079408W WO2013094002A1 WO 2013094002 A1 WO2013094002 A1 WO 2013094002A1 JP 2011079408 W JP2011079408 W JP 2011079408W WO 2013094002 A1 WO2013094002 A1 WO 2013094002A1
Authority
WO
WIPO (PCT)
Prior art keywords
power
site
functional block
power gate
design support
Prior art date
Application number
PCT/JP2011/079408
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 PCT/JP2011/079408 priority Critical patent/WO2013094002A1/ja
Publication of WO2013094002A1 publication Critical patent/WO2013094002A1/ja

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

Definitions

  • the present invention relates to a circuit design support device, a circuit design support method, and a circuit design support program.
  • a power gate for performing power gating is disposed in order to reduce an increase in power due to an increase in leakage current accompanying a decrease in threshold voltage of a transistor.
  • a power domain is provided in units of relatively large functional blocks such as a CPU (Central Processing Unit) core, and a power gate switch element is connected to the power domain.
  • CPU Central Processing Unit
  • a semiconductor integrated circuit is designed using a circuit design support device such as CAD (Computer Aided Design) that supports physical design such as circuit layout.
  • CAD Computer Aided Design
  • a site is an area defined by a frame displayed on a monitor or the like in CAD. Arrangement of circuits and the like is determined in units of sites, and a plurality of cells can be arranged in one site.
  • a switch transistor having a high threshold voltage when a switch transistor having a high threshold voltage is arranged so as to surround an area where a logic circuit is mounted, a switch transistor (power gate) having a high threshold voltage is a NAND gate or the like in one site. May be placed adjacent to the cell. For this reason, at the stage of determining the cell arrangement, it is necessary to secure a dedicated area for mounting the power gate in advance inside and outside the site.
  • a circuit design support device includes a block placement unit that places functional blocks including a combinational circuit on a site, and calculation of power consumed by at least the functional blocks placed by the block placement unit. And a power gate cell inserted in a power line or a ground line of the functional block at a predetermined site close to the site where the functional block is arranged according to the calculation result of the power calculating unit And a power gate arrangement part arranged in a number.
  • circuit design support apparatus It is possible to provide a circuit design support apparatus, a circuit design support method, and a circuit design support program that can easily design a semiconductor integrated circuit.
  • FIG. 3 is a diagram illustrating a computer that implements the circuit design support apparatus according to the first embodiment.
  • 1 is a block diagram illustrating a configuration of a main body portion of a computer system that implements a circuit design support device according to a first embodiment. It is a figure which shows an example of the cell of a semiconductor integrated circuit which does not include a power gate, a power supply line, and a ground line. It is a figure which shows an example of the power supply line of the semiconductor integrated circuit containing a power gate.
  • 4 is a diagram showing a circuit that can be mounted as a functional block on the semiconductor integrated circuit according to the first embodiment; FIG. 4 is a diagram showing a circuit that can be mounted as a functional block on the semiconductor integrated circuit according to the first embodiment; FIG.
  • FIG. 4 is a diagram showing a circuit that can be mounted as a functional block on the semiconductor integrated circuit according to the first embodiment
  • FIG. 1 is a block diagram illustrating a configuration of a circuit design support device according to a first embodiment. It is a figure showing the power gate cell arrangement
  • FIG. 3 is a diagram illustrating an example of power consumption data representing power consumption of functional blocks calculated by the circuit design support device according to the first embodiment.
  • 4 is a diagram illustrating power gate cell data used by the circuit design support device according to the first embodiment.
  • FIG. 4 is a flowchart illustrating processing executed by the circuit design support device according to the first embodiment.
  • FIG. 6 is a block diagram illustrating a configuration of a circuit design support apparatus according to a second embodiment. 6 is a flowchart illustrating processing executed by the circuit design support device according to the second embodiment.
  • circuit design support apparatus circuit design support method, and circuit design support program of the present invention are applied will be described below.
  • FIG. 1 is a diagram illustrating a computer that implements the circuit design support apparatus according to the first embodiment.
  • the computer system 1 includes a main body 2, a display 3, a keyboard 4, a mouse 5, and a network interface 6.
  • the circuit design support apparatus according to the first embodiment is a CAD (Computer Aided Design) apparatus that supports the design of a semiconductor integrated circuit.
  • the main unit 2 includes a CPU (Central Processing Unit), an HDD (Hard Disk Drive), a disk drive, and the like.
  • the display 3 is a display unit that displays a circuit diagram or the like on the display screen 3A according to an instruction from the main unit 2, and may be a liquid crystal monitor, for example.
  • the keyboard 4 is an input unit for inputting various information to the computer system 1.
  • the mouse 5 is an input unit that designates an arbitrary position on the display screen 3 ⁇ / b> A of the display 3.
  • the network interface 6 accesses an external database or the like and downloads a program or the like stored in another computer system.
  • the circuit design support program for causing the computer system 1 to function as a circuit design support apparatus is stored in, for example, a portable recording medium such as the disk 8 or a disk drive built in the main body 2.
  • the circuit design support program may be downloaded through a recording medium 7 of another computer system or a network indicated by an arrow using a communication device such as the network interface 6 and input to the computer system 1 to be installed.
  • the circuit design support program that causes the computer system 1 to function as a circuit design support device causes the computer system 1 to operate as a circuit design support device.
  • This program may be stored in a computer-readable recording medium such as the disk 8.
  • the computer-readable recording medium is limited to a portable recording medium such as a disk 8, an IC card memory, a USB (Universal Serial Bus) memory, a magnetic disk such as a floppy (registered trademark) disk, a magneto-optical disk, or a CD-ROM. It is not something.
  • the computer-readable recording medium includes various recording media that can be accessed by a computer system connected via a network interface 6 or a communication device such as a LAN.
  • the circuit design support apparatus and circuit design support method of the first embodiment are realized by the computer system 1 shown in FIG. 1 executing the circuit design support program of the first embodiment.
  • FIG. 2 is a block diagram showing the configuration of the main body of the computer system that implements the circuit design support apparatus according to the first embodiment.
  • the main unit 2 is an information processing device including a CPU (Central Processing Unit) 2A, a main storage device 2B, and an auxiliary storage device 2C.
  • the CPU 2A, the main storage device 2B, and the auxiliary storage device 2C are connected by, for example, a dedicated system bus 2D.
  • CPU 2A includes a cache and a memory controller.
  • a plurality of CPUs 2 ⁇ / b> A may be provided inside the main body 2.
  • the main storage device 2B is, for example, a DRAM (Dynamic Random Access Memory) or a ROM (Read Only Memory), and the auxiliary storage device 2C is, for example, a hard disk.
  • DRAM Dynamic Random Access Memory
  • ROM Read Only Memory
  • FIG. 3 is a diagram illustrating an example of a cell, a power supply line, and a ground line of a semiconductor integrated circuit that does not include a power gate.
  • an XYZ coordinate system is defined. This XYZ coordinate system is different from the CAD coordinate system, and is a coordinate system defined for convenience of explanation in FIG.
  • the semiconductor integrated circuit 10 includes power supply lines VDD1 to VDD6, ground lines VSS1 to VSS6, and inverters 11A to 11F.
  • Each of the inverters 11A to 11F is a cell realized by CMOS (Complementary Metal Metal Oxide Semiconductor) technology.
  • CMOS Complementary Metal Metal Oxide Semiconductor
  • Each of the inverters 11A to 11F includes one PMOS (P-type Metal Oxide Semiconductor) transistor and one NMOS (N-type Metal Oxide Semiconductor) transistor.
  • the inverters 11A to 11F are examples of cells included in the semiconductor integrated circuit 10, respectively.
  • Inverters 11A to 11F construct a functional block by a combinational circuit.
  • the functional block is a circuit in a block unit to which a predetermined function is given by a combinational circuit such as the inverters 11A to 11F.
  • the L1 layer has a downward slanting line
  • the L2 layer has a sloping right line.
  • a mesh is attached to the via (L1-L2 VIA) between the L1 layer and the L2 layer.
  • the diffusion layers of the inverters 11A to 11F are indicated by broken lines, and the contacts between the inverters 11A to 11F and the L1 layer are indicated by thick solid squares ( ⁇ ). Further, the gates of the inverters 11A to 11F are shown with a rough diagonal line rising to the right.
  • the L1 layer and the L2 layer are formed in this order on the inverters 11A to 11F (on the Z axis positive direction side).
  • the power supply lines VDD1 and VDD2 are included in the L2 layer and extend in the Y-axis direction.
  • the power supply lines VDD1 and VDD2 are connected to a power supply (not shown).
  • the power supply lines VDD3 to VDD6 are included in the L1 layer and extend in the X-axis direction.
  • the power supply lines VDD3 to VDD6 are connected to the power supply line VDD1 via the vias 12A to 12D, respectively, and are connected to the power supply line VDD2 via the vias 12E to 12H.
  • the power supply line VDD4 is connected to the sources of the PMOS transistors of the inverters 11A to 11C through contacts.
  • the power supply line VDD5 is connected to the sources of the PMOS transistors of the inverters 11D to 11F through contacts.
  • ground lines VSS1 and VSS2 are included in the L2 layer and extend in the X-axis direction.
  • the ground lines VSS1 and VSS2 are grounded.
  • the ground lines VSS3 to VSS6 are included in the L1 layer and extend in the X-axis direction.
  • the ground lines VSS3 to VSS6 are connected to the ground line VSS1 via the vias 13A to 13D, respectively, and are connected to the ground line VSS2 via the vias 13E to 13H.
  • the ground line VSS4 is connected to the NMOS sources of the inverters 11A to 11C through contacts.
  • the ground line VSS5 is connected to the NMOS sources of the inverters 11D to 11F through contacts.
  • the gates and drains of the inverters 11A to 11F are connected to wirings included in the L1 layer, but are omitted from FIG.
  • the PMOS sources of the inverters 11A to 11C are directly connected to the power supply lines VDD1 and VDD2 via the power supply line VDD4.
  • the NMOS sources of the inverters 11A to 11C are directly connected to the ground lines VSS1 and VSS2 via the ground line VSS4.
  • the PMOS sources of the inverters 11D to 11F are directly connected to the power supply lines VDD1 and VDD2 via the power supply line VDD5.
  • the NMOS sources of the inverters 11D to 11F are directly connected to the ground lines VSS1 and VSS2 via the ground line VSS4.
  • the inverters 11A to 11C construct a functional block mounted on one site in the stage of designing the semiconductor integrated circuit 40 using CAD.
  • the inverters 11D to 11F construct a functional block mounted on one site at the stage of designing the semiconductor integrated circuit 40 using CAD.
  • the site is an area defined by a frame displayed on the monitor in CAD, and is an area having a predetermined length in the X-axis direction and the Y-axis direction in FIG.
  • a site is an area represented by a broken line
  • FIG. 3 shows four sites ST1 to ST4.
  • the sites ST1 to ST4 include the power line VDD1 to the ground line VSS2 in the X-axis direction.
  • the site ST1 includes a power supply line VDD3 and a ground line VSS3
  • the site ST2 includes a power supply line VDD4 and a ground line VSS4.
  • the site ST3 includes a power supply line VDD5 and a ground line VSS5
  • the site ST4 includes a power supply line VDD6 and a ground line VSS6.
  • the sites ST1 to ST4 are regions defined by the power supply lines VDD1 to VDD6 and the ground lines VSS1 to VSS6 in the X-axis direction and the Y-axis direction.
  • the arrangement of cells is determined using sites such as sites ST1 to ST4 shown in FIG. Since FIG. 3 shows a part of the semiconductor integrated circuit 30, in practice, a large number of sites such as the sites ST1 to ST4 are arranged in a matrix.
  • the sites ST1 to ST4 may be referred to as a single site, and the sites ST1 and ST2 in which the ground lines VSS3 and VSS4 are located may be referred to as a double site. In this case, the sites ST3 and ST4 where the ground lines VSS5 and VSS6 are located are also double sites.
  • each of the sites ST1 to ST4 is referred to as a half site.
  • the sites ST1 to ST4 include the power supply line VDD1 and the ground line VSS2 extending in the Y-axis direction has been described.
  • the sites ST1 to ST4 may be defined as regions inside the power supply line VDD1 and the ground line VSS2 in the X-axis direction without including the power supply line VDD1 and the ground line VSS2.
  • FIG. 4 is a diagram illustrating an example of a power supply line of a semiconductor integrated circuit including a power gate.
  • the XYZ coordinate system is defined as in FIG.
  • the same components as those shown in FIG. 3 are denoted by the same reference numerals, and the description thereof is omitted.
  • the L1 layer, the L2 layer, the via (L1-L21-VIA), the diffusion layers of the inverters 11A to 11F, the contacts, and the gate are shown by the same drawing method as in FIG.
  • the power gate cell is shown surrounded by a very thick solid line.
  • the semiconductor integrated circuit 20 shown in FIG. 4 includes power supply lines VDD1 to VDD3 and VDD6, virtual power supply lines VPWR1 to VPWR6, ground lines VSS1 to VSS6, inverters 11A to 11F, and power gate cells 21 and 22.
  • connection relationship of the ground lines VSS1 to VSS6 is the same as in FIG.
  • connection relationship between the ground lines VSS4 and VSS5 and the sources of the NMOS transistors of the inverters 11A to 11F is the same as that in FIG.
  • connection relationship between the power supply lines VDD1 and VDD2 and the power supply lines VDD3 and VDD6 is the same as in FIG. 3, but the power supply lines VDD1 and VDD2 are divided between the power supply lines VDD3 and VDD6 in the Y-axis direction.
  • the virtual power supply lines VPWR1 and VPWR2 included in the L2 layer are disposed in the portion where the power supply lines VDD1 and VDD2 are divided.
  • the virtual power supply line VPWR1 is connected to the virtual power supply lines VPWR3 to VPWR6 included in the L1 layer via the vias 14A to 14D, respectively.
  • the virtual power supply line VPWR2 is connected to the virtual power supply lines VPWR3 to VPWR6 via the vias 14E to 14H, respectively.
  • the inverters 11A to 11C of the semiconductor integrated circuit 40 shown in FIG. 4 are different from the inverters 11A to 11C shown in FIG. 3 in that the source of the PMOS transistor is connected to the virtual power supply line VPWR4. Note that although the wiring of the L1 layer connected to the gates and drains of the PMOS transistors and NMOS transistors of the inverters 11A to 11C is omitted, it is the same as FIG.
  • the inverters 11D to 11F of the semiconductor integrated circuit 40 are different from the inverters 11D to 11F shown in FIG. 3 in that the source of the PMOS transistor is connected to the virtual power supply line VPWR5.
  • the wiring of the L1 layer connected to the gates and drains of the PMOS transistors and NMOS transistors of the inverters 11D to 11F is omitted, it is the same as FIG.
  • the power gate cell 21 is disposed at a site ST1 adjacent to the positive side in the Y-axis direction of the site ST2 where the inverters 11A to 11C are disposed, and the power gate cell 22 is disposed at the Y of the site ST3 where the inverters 11D to 11F are disposed. It is disposed at a site ST4 adjacent to the negative axis side.
  • the power gate cell 21 includes PMOS transistors 210 to 219, and the power gate cell 22 includes PMOS transistors 220 to 229.
  • the power gate cells 21 and 22 are examples of cells included in the semiconductor integrated circuit 40, respectively.
  • Each of the PMOS transistors 210 to 219 has a source connected to the power supply line VDD3 through a contact, a drain connected to the virtual power supply line VPWR3 through a contact, and a gate connected to the wiring of the L1 layer through the contact. Yes.
  • Each of the PMOS transistors 220 to 229 has a source connected to the power supply line VDD6 through a contact, a drain connected to the virtual power supply line VPWR6 through a contact, and a gate connected to the wiring of the L1 layer through the contact. Yes.
  • the power supply lines VDD1 and VDD2 and the virtual power supply lines VPWR1 and VPWR2 are connected via power gate cells 21 and 22. That is, the power gate cells 21 and 22 are inserted between the power supply lines VDD1 and VDD2 and the virtual power supply lines VPWR1 and VPWR2.
  • Electric power is supplied to the inverters 11A to 11F via the power gate cells 21 and 22.
  • the power supply to the inverters 11A to 11 can be cut off by turning off the power gate cells 21 and 22, thereby saving power.
  • the power gate cells 21 and 22 are turned off to connect the inverters 11A to 11F to the power supply line VDD1. And by separating from VDD2, the generation of leakage current can be suppressed.
  • the power gate cells 21 and 22 are arranged in the sites ST1 and ST4 in order to perform power gating of the functional blocks arranged in the sites ST2 and ST3 of the semiconductor integrated circuit 40, respectively.
  • the sites ST1 and ST4 are not dedicated sites for the power gate cells 21 and 22, but are sites where functional blocks such as inverters 11A to 11F can be arranged instead of the power gate cells 21 and 22, for example.
  • the power gate cell 21 and 22 are arranged at the sites ST1 and ST4 where the functional block can be mounted, the power gate cell is configured by a transistor that can be mounted at the site used for the functional block design. 21 and 22 are constructed.
  • the PMOS transistors 210 to 219 and the PMOS transistors 220 to 229 included in the power gate cells 21 and 22 are transistors that can be mounted on the site used for the functional block design, similarly to the inverters 11A to 11F that constitute the functional block. is there.
  • the power gate cells 21 and 22 are constructed with the transistors that can be mounted on the site used for the functional block design. , 22 need not be a dedicated location.
  • the transistors constituting the power gate cells 21 and 22 are transistors that can be mounted on a site used for functional block design.
  • the threshold voltages of the transistors that can be mounted on the site used for the functional block design can be set to a plurality of types of voltages
  • the threshold voltages of the transistors constituting the power gate cells 21 and 22 are set to the inverters 11A to 11F. It may be set higher than the threshold voltage of the transistor that constructs. In such a case, the effect of power gating by the power gate cells 21 and 22 becomes more remarkable.
  • the configuration in which the power gate cells 21 and 22 are constructed with transistors that can be mounted on the site used for the functional block design has been described.
  • the transistors constituting the power gate cells 21 and 22 can be mounted at the site used for designing the functional block.
  • a transistor different from the transistor may be used.
  • 5 to 7 are diagrams showing circuits that can be mounted on the semiconductor integrated circuit 40 of the first embodiment as functional blocks.
  • FIG. 5 shows a functional block 50 constructed by a combinational circuit.
  • the functional block 50 is a circuit including, for example, an inverter, an AND gate, a NAND gate, and the like, and is constructed by one or a plurality of cells at the gate level included in the net list.
  • FIG. 6 shows a circuit in which a power gate cell 23 constructed by a PMOS transistor is connected to the power supply line VDD side of the functional block 50. Power gating of the functional block 50 is performed by inputting a control signal (SW bar) to the gate terminal of the power gate cell 23 to control on / off of the power gate cell 23.
  • SW bar control signal
  • the relationship between the functional block 50 and the power gate cell 23 shown in FIG. 6 is the relationship between the inverters 11A to 11C and the power gate cell 21 shown in FIG. 4, and the relationship between the inverters 11A to 11C and the power gate cell 21 shown in FIG. It is the same.
  • FIG. 7 shows a circuit in which a power gate cell 24 constructed by an NMOS transistor is connected to the ground line VSS side of the functional block 50. Power gating of the functional block 50 is performed by inputting a control signal (SW) to the gate terminal of the power gate cell 24 to control on / off of the power gate cell 24.
  • SW control signal
  • FIG. 6 shows a circuit in which the power gate cell 23 is arranged on the power supply line VDD side.
  • the power gate cell 24 is arranged on the ground line VSS side, it is the same as the circuit in FIG.
  • power gating can be performed. In this case, the power gate cell is inserted into the ground line.
  • FIG. 8 is a block diagram illustrating a configuration of the circuit design support apparatus 100 according to the first embodiment.
  • FIG. 9 is a diagram illustrating power gate cell arrangement data used by the circuit design support apparatus 100 according to the first embodiment.
  • FIG. 10 is a diagram illustrating an example of power consumption data representing the power consumption of the functional blocks calculated by the circuit design support device 100 according to the first embodiment.
  • FIG. 11 is a diagram illustrating power gate cell data used by the circuit design support apparatus 100 according to the first embodiment.
  • the circuit design support apparatus 100 includes a main control unit 110, a block arrangement unit 120, a power calculation unit 130, a power gate arrangement unit 140, a signal line connection unit 150, and a memory 160. Including.
  • the main control unit 110, the block arrangement unit 120, the power calculation unit 130, and the power gate arrangement unit 140 are the circuit of the first embodiment in which the main body unit 2 (see FIG. 2) of the computer system 1 shown in FIG. It is a block representing a function realized by executing a design support program.
  • the memory 160 is a memory for storing data or a database used when the main body 2 (see FIG. 2) of the computer system 1 shown in FIG. 1 executes the circuit design support program of the first embodiment.
  • This memory is realized by the storage device 2B or the auxiliary storage device 2C.
  • the memory 160 stores a netlist 161, a physical library 162, a power library 163, power gate arrangement data 164, power consumption data 165, and power gate cell data 166.
  • the main control unit 110 is a control unit that supervises the processing of the circuit design support apparatus 100 according to the first embodiment. Also, the main control unit 110 creates cell coordinate data in which cell instance names are associated with coordinates on CAD.
  • the instance name of the cell represents a unique identification name of each cell included in the semiconductor integrated circuit 40.
  • the coordinates on the CAD are coordinates used to represent the position of each cell in the circuit design support apparatus 100 of the first embodiment.
  • the position (coordinates) of each cell in the semiconductor integrated circuit 40 is managed by cell coordinate data created by the main control unit 110.
  • the block arrangement unit 120 displays cells on the monitor 3 using physical information stored in the physical library 162. In addition, the block arrangement unit 120 arranges functional blocks included in the netlist 161 at a site designated by an operation input to the keyboard 4 or the mouse 5 of the computer system 1 (see FIG. 1).
  • the physical library 162 stores physical information such as the size of the cell included in the functional block, the shape of the cell, and the position of the pin in the cell.
  • the monitor 3 Based on the physical information stored in the physical library 162, the monitor 3 (see FIG. 1) displays a diagram representing the cell shape, size, and pins. The designer moves the cell diagram with the mouse 5 to place it at a desired site. When the cell is placed on the site, the main control unit 110 creates data in which the instance name of the cell is associated with the coordinates on the CAD.
  • the site ST2 and ST3 are determined by the block arrangement unit 120 as the sites where the inverters 11A to 11F are arranged, the instance names of the inverters 11A to 11F and the sites ST2 and ST3 are associated. Data associated with the coordinates to be generated is generated.
  • the power calculation unit 130 uses the power gate arrangement data 164, the netlist 161, and the power library 163 to calculate the power consumption of the functional blocks arranged on the site by the block arrangement unit 120 and creates the power consumption data 165. .
  • the power data stored in the power library 163 is data in which cell names stored in the netlist are associated with power consumption.
  • the cell name is, for example, the name of a cell defined at the gate level such as an inverter, an AND gate, and a NAND gate, and is represented by an identifier indicating the type of the cell.
  • the power consumption represents the power consumption consumed in one switching in the cell. Note that the power consumption may be estimated using the area of a region where cells are formed instead of the number of cells.
  • the power calculation unit 130 uses the power gate arrangement data 164, the net list 161, and the power library 163 to calculate the power consumption of the functional blocks arranged on the site by the block arrangement unit 120, and to calculate all the power blocks included in the functional blocks. Calculate the total power consumption of the cell.
  • the power gate arrangement data 164 is data in which the cell name, the number of cells, and the instance name of the cell included in the functional block are associated.
  • the net list 161 is data in which an instance name of each cell, a cell name, and a net name to which an input / output pin is connected are associated.
  • the power library 163 includes power data in which cell names and power consumption are associated with each other.
  • the power calculation unit 130 calculates the total power consumption of all the cells included in the functional block, and creates power consumption data 165 representing the power consumption estimation result for each functional block based on the power consumption trial calculation result. To do.
  • the power consumption of the cell is calculated using, for example, the number of cells specified by the cell name, the power consumption per switching, and the frequency.
  • the power gate arrangement unit 140 is installed at a site adjacent to the site where the functional block requiring power gating is installed. A power gate cell is arranged. The process of arranging the power gate cell by the power gate arrangement unit 140 will be described later with reference to FIG.
  • the signal line connection unit 150 routes the control signal line of the power gate cell whose placement on the site is determined by the power gate placement unit 140 based on the net list.
  • the memory 160 is a memory realized by the main storage device 2B or the auxiliary storage device 2C, and includes a netlist 161, a physical library 162, a power library 163, power gate arrangement data 164, power consumption data 165, and power gate cell data 166. Is stored.
  • the netlist 161 includes, for example, many gate level cells. Information on each cell is stored in the netlist 161 in a state where a cell identifier and a cell name are associated with each other.
  • the cell name is a name of a cell defined at a gate level, such as an inverter, an AND gate, and a NAND gate.
  • the netlist 161 is created by a logic synthesis tool (not shown), for example.
  • the netlist 161 is described in a hardware description language such as Verilog or VHDL, for example, and describes the connection relationship between a plurality of gate level cells included in the circuit.
  • the net list 161 is data in which the instance name of each cell, the cell name, and the net name to which the input / output pin is connected are associated.
  • the instance name of the cell represents a unique identification name of each cell included in the semiconductor integrated circuit 40.
  • the cell name is, for example, a cell name defined at a gate level such as an inverter, an AND gate, and a NAND gate, and is represented by an identifier indicating a cell type.
  • the netlist 161 created by a logic synthesis tool (not shown) is stored in the memory 160.
  • the inverters 11A to 11F (see FIG. 4) are examples of gate level cells included in the netlist 161.
  • the physical library 162 stores physical information such as a cell size, a cell shape, and a pin position in the cell.
  • the circuit design support device 100 displays on the monitor 3 (see FIG. 1) a diagram representing the cell shape, size, and pins based on the physical information stored in the physical library 162.
  • the power data stored in the power library 163 is data in which cell names stored in the netlist are associated with power consumption.
  • the power consumption represented by the power data is, for example, data representing the power consumption per switching of the transistor.
  • the power gate arrangement data 164 is data in which a block name, a cell name of the power gate cell, the number of cells of the power gate cell, and an instance name of the cell are associated with each other.
  • the data is created manually by the designer before the process is performed.
  • the power gate arrangement data 164 includes a block name indicating the type of the functional block, a cell name of the power gate cell, the number of cells of the power gate cell, and an instance of the cell in order to estimate the power consumption for each functional block. Data generated by associating names.
  • the block name represents an identifier of a functional block that receives power supply through the power gate cell.
  • the cell name of the power gate cell represents an identifier of the power gate cell.
  • the number of power gate cells represents the number of power gate cells represented by the cell name.
  • the instance name of the cell represents a unique identification name of each cell included in the semiconductor integrated circuit 40.
  • the power gate arrangement data 164 identifies the instance name of the cell included in the functional block specified by the block name, and the cell name and the number of cells for supplying power to the functional block specified by the block name Is identified.
  • the power gate arrangement data 164 is created, for example, when the designer inputs by operating the keyboard 4 or the mouse 5. However, when the main control unit 110 manages the coordinate data of the function block, the main control is performed based on the function block coordinate data and the cell coordinate data for the function block specified by the designer's operation input. The unit 110 may extract a cell name included in the functional block.
  • ten power gate cells with the cell name PG001 are arranged in the functional block with the block name BL1, and are included in the functional block via the power gate cell.
  • the instance names of the cells to which power is supplied are 0014B, 0016C, and 0024B.
  • the functional block having the block name BL2 four power gate cells having the cell name PG001 are arranged, and the instance name of the cell to which power is supplied via the power gate cell included in the functional block is 0046B. , 0048D, and 0046D.
  • the functional block having the block name BL3 eight power gate cells having the cell name PG002 are arranged, and the instance names of cells included in the functional block and supplied with power through the power gate cell are 0123A and 0125B. It is.
  • the power consumption data 165 is data representing the power consumption calculated by the power calculation unit 130.
  • the power consumption data 165 is data in which a block name and power consumption are associated as shown in FIG.
  • the power consumption included in the power consumption data 165 is calculated based on the power gate arrangement data 164, the netlist 161, and the power library 163.
  • the netlist 161 and the power library 163 can be used to determine the power consumption of the cell included in the functional block. it can.
  • the power calculator 130 creates power consumption data 165 by associating the power consumption obtained for each functional block with the block name. For example, in the power consumption data 165 shown in FIG. 10, the trial calculation result of the power consumption of the functional block whose block name is BL1 is 100, and the trial calculation result of the power consumption of the functional block whose block name is BL2 is 40.
  • the power gate cell data 166 is data associating a cell name, a size, and supply power as shown in FIG.
  • the cell name represents an identifier of the power gate cell.
  • the size represents the size of the power gate cell in the X-axis direction and the Y-axis direction.
  • the supplied power represents the power supplied by the power gate cell.
  • the power gate with the cell name PG001 has a size in the X-axis direction of 100, a size in the Y-axis direction of 9, and a power supply of 100.
  • the power gate with the cell name PG002 has a size in the X-axis direction of 100, a size in the Y-axis direction of 18, and a power supply of 200.
  • the power gate with the cell name PG003 has a size in the X-axis direction of 100, a size in the Y-axis direction of 27, and a supply power of 300.
  • the power gate cell data 166 is displayed on the monitor 3 so that the designer can use it when considering the arrangement of the power gate cells.
  • FIG. 12 is a flowchart for explaining processing of the circuit design support apparatus 100 according to the first embodiment.
  • the processes shown in S2 to S5 in FIG. 12 are processes executed by the circuit design support apparatus 100 according to the first embodiment.
  • a logic synthesis tool (not shown) performs logic synthesis or the like of the semiconductor integrated circuit 40, thereby creating a netlist 161 (step S1).
  • a net list 161 created by a logic synthesis tool (not shown) is stored in the memory 160 by the main control unit 110.
  • the block arrangement unit 120 is included in a functional block created by a logic synthesis tool (not shown) based on physical information stored in the physical library 162 and the contents of the operation input of the designer to the computer system 1.
  • a block layout for arranging and wiring cells is performed (step S2).
  • step S2 layout design such as arrangement and wiring of functional blocks is automatically performed by the block arrangement unit 120.
  • a part of the layout may be manually determined by operating the keyboard 4 or the mouse 5 by the designer.
  • the process may be performed up to the arrangement of the cells included in the functional block, and the wiring process may be performed after the power gate arrangement process (step S4) described later.
  • the main control unit 110 generates data in which the cell instance name is associated with coordinate data representing coordinates on the CAD.
  • the power calculation unit 130 calculates the power consumption of the functional blocks arranged on the site by the block arrangement unit 120, and uses the power consumption data 165. Is created (step S3).
  • the calculation result of the power consumption is stored in the memory 160 as the power consumption data 165 and displayed on the monitor 3 as necessary.
  • the number and location of power gate cells necessary for supplying power to the functional block to be power gating are calculated. This calculation may be automatically calculated based on the power gate cell data 166 shown in FIG. 11 or may be determined by the designer with reference to the power gate cell data 166. When the designer decides, the designer decides the arrangement of the power gate cells by looking at the trial calculation result of the power consumption displayed on the monitor 3.
  • the power gate arrangement unit 140 arranges the power gate cell selected by the designer at the site selected by the designer based on the contents of the operation input of the designer to the computer system 1 (step S4). .
  • the data representing the figure representing the shape, size and pin of the power gate cell is stored in the physical library 162, and the figure representing the power gate cell is displayed on the monitor 3.
  • the power gate placement unit 140 places the power gate cell at a desired site.
  • the main control unit 110 creates data in which the instance name of the power gate cell is associated with the coordinates on the CAD.
  • the designer uses the inverters 11A to 11F based on the estimated power consumption of the inverters 11A to 11F.
  • the power gate placement unit 140 moves the power gate cells 21 and 22 to the site ST1. And ST4.
  • the power gate cell is arranged after the net list is created by the logic synthesis tool, the site is decided by the block arrangement unit 120, and the power consumption is calculated by the power calculation unit 130. can do.
  • the place where the power gate cells 21 and 22 are arranged can be freely selected.
  • the power gates 21 and 22 are not arranged together in the sites ST2 and ST3 where the functional blocks such as the inverters 11A to 11F are arranged, but the functional blocks such as the inverters 11A to 11F are arranged.
  • Power gate cells 21 and 22 are arranged at sites ST1 and ST4 adjacent to the sites ST2 and ST4 where they are arranged.
  • the site on which the power gate cells 21 and 22 are mounted can be freely changed in the design stage of the semiconductor integrated circuit 40.
  • the inverters 11A to 11C and 11D to 11F are arranged at the sites ST2 and St3, respectively, and the power gate cells 21 are connected to the sites ST1 and ST4 to perform power gating of the inverters 11A to 11F. , 22 are determined to be arranged.
  • the power gate cell 22 is not arranged at the site ST4, and the site The design can be changed so that other functional blocks are arranged in ST4.
  • the functional blocks of the central site among the five functional blocks are determined.
  • the arrangement can be changed, and a power gate cell can be arranged instead of this functional block.
  • the site where the power gate cells 21 and 22 are placed is determined. After that, the site where the power gate cells 21 and 22 are arranged can be determined.
  • the power gate cells 21 and 22 can be mounted on a site adjacent to an arbitrary functional block for performing power gating after all functional blocks included in the semiconductor integrated circuit 40 are designed and arranged.
  • the semiconductor integrated circuit 40 can be easily designed.
  • step S4 the main control unit 110 performs isolator placement, addition of control signal line net information to the net list, and the like.
  • the signal line connection unit 150 connects the control signal line of the power gate cell based on the net list (step S5).
  • the function block cell instance name and coordinates, the net list, and the data representing the instance name and coordinates of the power gate cell cell are obtained, and based on these data, the GDS data is obtained by the main control unit 110. Generated.
  • the circuit design support apparatus 100 determines the arrangement of the power gate cells after the site determination by the block arrangement unit 120 and the power consumption calculation by the power calculation unit 130 are performed. be able to.
  • a place for arranging the power gate cell is also decided, and a place for the power gate cell is secured.
  • the power gate cell is arranged at the same site as the functional block, it is necessary to secure a place for the power gate cell in the site where the functional block is arranged.
  • the power required for the functional block may be found after the functional block is arranged, and it is difficult to estimate unless the switching probability of the transistor when the functional block is operated by a virtual program is obtained. There is a case.
  • the conventional design method that determines the layout of the power gate cell at the stage of determining the layout of the functional block is not easy to design the semiconductor integrated circuit, and improves the efficiency of space utilization in the semiconductor integrated circuit. It was sometimes difficult to do.
  • the power gate cell can be arranged after the arrangement of the functional blocks is determined and the power calculation is performed, so that the semiconductor integrated circuit 40 can be easily designed. can do.
  • the power gate cell since the power gate cell is arranged at a site different from the site where the functional block is arranged, the functional block can be moved in units of sites at the stage of arranging the power gate cell. Further, after the power gate cell is arranged, the power gate cell can be moved in units of sites. For this reason, for example, after the functional block is arranged, the arrangement location of the functional block can be changed and the power gate cell can be arranged.
  • the power gate cell is arranged at a site different from the site where the functional block is arranged. Can be improved. Moreover, the utilization efficiency of the space of the semiconductor integrated circuit 40 can be improved by improving the degree of freedom of arrangement of the functional block and the power gate cell.
  • FIG. 13 is a diagram illustrating an example of a monitor display in the process of arranging the power gate cell on the site in the circuit design support apparatus 100 according to the first embodiment.
  • the XYZ coordinate system is defined as in FIG. This XYZ coordinate system is different from the CAD coordinate system, and is a coordinate system defined for convenience of explanation in FIG.
  • the portion surrounded by a solid line is a double site, and the double site is divided into two single sites by a broken line shown in the X-axis direction at the center of the double site.
  • FIG. 13 a total of 48 double sites are arranged in 4 columns on the X axis and 12 rows in the Y axis direction.
  • each double site is partitioned so that the ground line VSS is located at the center in the Y-axis direction.
  • VDD1 in FIG. 4
  • VDD2, VSS1, and VSS2 are arranged in the Y-axis direction.
  • the part shown in gray in the center of 48 double sites is the part where the functional block FB is arranged.
  • the functional block FB is disposed up to the center of the double site at the end on the X-axis positive direction side and the end on the X-axis negative direction side.
  • the end on the Y axis positive direction side and the end on the Y axis negative direction side of the functional block FB are not arranged on the entire double site, but extend to the single site.
  • the power gate cells 21A to 21C and 22A to 22C are arranged at the remaining single site of the double site at the Y axis positive direction end and the Y axis negative direction end of the functional block.
  • the power gate cells 21A to 21C and 22A to 22C are arranged at a site adjacent to the long side (side along the X axis) of the site where the functional block FB is arranged.
  • power gating is performed by the power gate cells 21A to 21C and 22A to 22C.
  • the power gate cells 21A to 21C and 22A to 22C are inserted into the power supply line and perform power gating on the functional block FB.
  • the functional block FB and the power supply line VDD are separated from each other at the end on the X axis negative direction side and the end on the X axis positive direction side of the functional block FB. This is because the functional block FB is separated from the power supply line VDD adjacent in the X-axis direction in order to perform power gating on the functional block FB.
  • the functional block FB is separated from the power supply line VDD adjacent in the X-axis direction.
  • the functional block FB may be separated from the ground line VSS adjacent in the X-axis direction.
  • FIG. 13 shows a mode in which the power gate cells 21A to 21C and 22A to 22C are arranged at sites adjacent to the Y axis positive direction side and the Y axis negative direction side of the site where the functional block FB is arranged, respectively.
  • the power gate cell may be arranged at a site adjacent to the X-axis positive direction side and the X-axis negative direction side of the site where the functional block BK is arranged.
  • the site where the power gate cell is arranged is not limited to the site adjacent to the site where the functional block BK is arranged, for example, a site where one site is separated from the site where the functional block BK is arranged. It may be.
  • the site where the functional block FB is arranged may be a cell close to the functional block BK.
  • FIG. 14 is an enlarged view showing a part of the semiconductor integrated circuit shown in FIG.
  • FIG. 13 shows the functional block FB arranged over seven double sites between the power gate cell 21A and the power gate cell 22A, in FIG. 14, for convenience of explanation, the functional block FB is one double site. It is assumed that it is formed.
  • the semiconductor integrated circuit shown in FIG. 14 moves the inverters 11A to 11F and the power gate cells 21 and 22 of the semiconductor integrated circuit shown in FIG. 4 to the X-axis positive direction side by half the length of the site in the X-axis direction. Circuit configuration.
  • inverters 11A and 11B are arranged at site ST2, and inverter 11D is arranged at site ST3. That is, as compared with the inverters 11A, 11B, and 11D shown in FIG. 4, the positions of the inverters 11A, 11B, and 11D shown in FIG. 14 are shifted to the X-axis positive direction side by half the length of the site. .
  • Power gate cells 21A and 22A are also shifted to the X-axis positive direction side by half the length of the site.
  • Power gate cells 21A and 22A are power gate cells similar to power gate cells 21 and 22 shown in FIG. 4, respectively.
  • An inverter 15A is arranged in the left half of the site ST1
  • an inverter 15B is arranged in the left half of the site ST2
  • inverters 15C and 15D are arranged in the left half of the site ST3
  • an inverter 15E is arranged in the left half of the site ST4. Is arranged.
  • the inverters 15A to 15E are connected to the power supply lines VDD3 to VDD6 and the ground lines VSS3 to VSS6 without performing power gating. That is, inverters 15A to 15E are included in functional blocks that are not subjected to power gating.
  • the inverters 11A and 11B and the inverter 11D are power-gated by the power gate cells 21A and 22A, respectively. Inverters 11A, 11B, and 11D are included in a functional block in which power gating is performed.
  • the power supply lines VDD4 and VDD5 and the virtual power supply lines VPWR4 and VPWR5 are separated in the sites ST2 and ST3. This is because power is supplied to the inverters 11A, 11B, and 11D through the power gate cells 21A, 22A.
  • the power supply line may be divided at the boundary.
  • FIG. 15 is a diagram showing an example of a monitor display in the process of arranging the power gate cell on the site in the circuit design support apparatus 100 according to the first embodiment.
  • the power gate of the single site is later
  • the cells can be changed to cells 21A to 21C and 22A to 22C (or any one of 21A to 21C and 22A to 22C).
  • FIG. 16 is a block diagram illustrating a configuration of the circuit design support apparatus 200 according to the second embodiment.
  • the circuit design support apparatus 200 includes a main control unit 110, a block arrangement unit 120, a power calculation unit 130, a power gate arrangement unit 140, a signal line connection unit 150, and a power determination unit 170. And a memory 160.
  • the circuit design support apparatus 200 according to the second embodiment is different from the circuit design support apparatus 100 according to the first embodiment in that a power determination unit 170 is added to the circuit design support apparatus 100 according to the first embodiment. Further, the circuit design support apparatus 200 according to the second embodiment changes the point that the power gate cell is arranged on the site before the power calculation unit 130 performs the power consumption trial calculation, and the power consumption trial calculation method in the power calculation unit 130 is changed. This is different from the circuit design support apparatus 100 of the first embodiment.
  • the power calculation unit 130 executes a simulation program such as SPICE (Simulation Program with Integrated Integrated Circuit) to obtain the switching probability of the transistors included in the functional block. Then, the power calculation unit 130 makes a trial calculation of the total power consumption of all the cells included in the functional block, and creates power consumption data 165 representing the trial calculation result.
  • SPICE Simulation Program with Integrated Integrated Circuit
  • the reason why such a trial calculation method is executed is that the power consumption of the cell depends on the number of elements such as transistors included in the cell, the switching probability of the transistors, and the like.
  • the power calculation unit 130 executes a simulation program such as SPICE to obtain the switching probability of the transistors included in the functional block, and then calculates the total power consumption of all the cells included in the functional block.
  • a simulation program such as SPICE
  • the power determination unit 170 compares the power consumption calculated by the power calculation unit 130 with the power supply of the power gate cell determined to be placed on the site by the power gate placement unit 140, and the power gate cell supply power is sufficient. It is determined whether or not. When the power determination unit 170 determines that the power supplied to the power gate cell is not sufficient, the power determination unit 170 requests the designer to rearrange the power gate cell. Display.
  • FIG. 17 is a flowchart showing processing executed by the circuit design support apparatus 200 according to the second embodiment.
  • the process illustrated in FIG. 17 is a process executed by the circuit design support apparatus 200 according to the second embodiment.
  • steps S1 and S2 are the same as steps S1 and S2 (see FIG. 12) of the circuit design support apparatus 100 according to the first embodiment, and thus description of steps S11 and S12 is omitted here.
  • the process from step S13 executed by the power gate arrangement unit 140 will be described.
  • the power gate placement unit 140 places the power gate cell selected by the designer on the site selected by the designer based on the contents of the operation input by the designer to the computer system 1 (step S13).
  • the power gate arrangement data 164 (see FIG. 9) has been created manually by the designer until the time when the processing of step 13 is performed, or the power gate arrangement unit 140 by the operation input of the designer in step S13. Can be created.
  • the power calculation unit 130 executes, for example, SPICE to obtain the switching probability of the transistors included in the functional block, calculates the total power consumption of all the cells included in the functional block, and represents the calculation result
  • the power consumption data 165 is created (step S14).
  • the power determination unit 170 compares the power consumption data 165 with the supply power of the power gate cell determined to be placed on the site by the power gate placement unit 140, and the supply power of the power gate cell is sufficient. Is determined (step S15).
  • the power determination unit 170 calculates the supply power of the power gate cell determined to be placed on the site by the power gate placement unit 140 in step S13, and compares the calculation result with the power consumption data 165.
  • the power supply of the power gate cell determined to be placed on the site by the power gate placement unit 140 in step S13 may be calculated based on the power gate placement data 164 and the power gate cell data 166.
  • the cell name and the cell number of the power gate cell whose arrangement is determined in step S13 are extracted from the power gate arrangement data 164, and the supply power corresponding to the cell name included in the power gate cell data 166 is multiplied by the cell number.
  • the power supplied to the power gate cell may be calculated.
  • the power determination unit 170 may determine that the power gate cell supply power is sufficient if the power gate cell supply power is greater than the power consumption included in the power consumption data 165. On the contrary, the power determination unit 170 may determine that the power supply of the power gate cell is not sufficient if the power supply of the power gate cell is less than or equal to the power consumption included in the power consumption data 165. In this determination, in order to give a predetermined margin to the supplied power, for example, a value increased by 10% of the power consumption may be compared with the supplied power of the power gate cell.
  • the power determination unit 170 determines that the power supply of the power gate cell is not sufficient
  • the power determination unit 170 monitors a message indicating that the power supply of the power gate cell is not sufficient to request the designer to rearrange the power gate cell. 3 is displayed.
  • the power determination unit 170 determines that the power supply of the power gate cell is sufficient
  • the power determination unit 170 displays on the monitor 3 that the power supply of the power gate cell is sufficient.
  • step S15 If the power determination unit 170 determines that the power supplied to the power gate cell is sufficient in step S15 (S15: YES), the main control unit 110 advances the flow to step S16.
  • step S16 the signal line connection unit 150 connects the control signal line of the power gate cell based on the net list (step S16).
  • the process of step S16 is the same as the process of step S5 in the first embodiment.
  • step S15 determines in step S15 that the power supplied to the power gate cell is not sufficient (S15: NO)
  • the main control unit 110 advances the flow to step S17.
  • step S17 power gate cells are rearranged.
  • the process proceeds to step S ⁇ b> 17, since the message indicating that the power supplied to the power gate cell is not sufficient is displayed on the monitor 3, the designer rearranges the power gate cell.
  • the power gate placement unit 140 places the power gate cell selected by the designer at the site selected by the designer based on the contents of the operation input by the designer to the computer system 1 (step S17). .
  • step S17 When the processing in step S17 is completed, the main control unit 110 returns the flow to step S15. As a result, the power determination unit 170 determines whether or not the power gate cell supply power is sufficient, and step S15 until the power determination unit 170 determines that the power gate cell supply power is sufficient. The loop of S15 and S17 will be repeated.
  • step S15 When the power determination unit 170 determines that the power supplied to the power gate cell is sufficient in step S15, the flow proceeds to step S16.
  • the semiconductor integrated circuit is easily designed. be able to.
  • circuit design support apparatus 200 since the circuit design support apparatus 200 according to the second embodiment arranges the power gate cell at a site different from the site where the functional block is arranged, similarly to the circuit design support apparatus 100 according to the first embodiment, The degree of freedom of arrangement of the power gate cell can be dramatically improved. Moreover, the utilization efficiency of the space of the semiconductor integrated circuit 40 can be improved by improving the degree of freedom of arrangement of the functional block and the power gate cell.
  • circuit design support apparatus 200 calculates the power consumption using the switching probability of the transistor after determining the arrangement of the power gate cells, the power calculation in a state closer to reality is calculated. It can be carried out.
  • circuit design support device 100 compares the power consumption obtained by the trial calculation with the power supplied to the power gate cell, determines whether the power supplied to the power gate cell is sufficient, When the power supplied to the power gate cell is insufficient, the rearrangement of the power gate cell is obtained.
  • the power gate cell can be more reliably arranged.
  • circuit design support apparatus the circuit design support method, and the circuit design support program according to the exemplary embodiments of the present invention have been described above, but the present invention is limited to the specifically disclosed embodiments. However, various modifications and changes can be made without departing from the scope of the claims.
  • 11A to 11F Inverter 21, 21A to 21F, 22, 22A to 22F Power gate cell 100 Circuit design support device 110 Main control unit 120 Block arrangement unit 130 Power calculation unit 140 Power gate arrangement unit 150 Signal line connection unit 160 Memory 161 Netlist 162 Physical Library 163 Power Library 164 Power Gate Arrangement Data 165 Power Consumption Data 166 Power Gate Cell Data 170 Power Judgment Unit 200 Circuit Design Support Device

Landscapes

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

Abstract

 半導体集積回路の設計を容易に行うことができる回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラムを提供することを課題とする。 回路設計支援装置は、組み合わせ回路を含む機能ブロックをサイトに配置するブロック配置部と、少なくとも前記ブロック配置部によって配置が行なわれた前記機能ブロックで消費される電力の計算を行う電力計算部と、前記機能ブロックが配置されたサイトに近接する所定のサイトに、前記機能ブロックの電源ライン又はグランドラインに挿入されるパワーゲートセルを前記電力計算部の計算結果に応じた個数配置するパワーゲート配置部とを含む。

Description

回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラム
 本発明は、回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラムに関する。
 近年の半導体集積回路は、トランジスタの閾値電圧の低下に伴うリーク電流の増加による電力増加を削減するため、パワーゲーティングを行うパワーゲートを配置する場合がある。従来のパワーゲーティングでは、例えば、CPU(Central Processing Unit)コア等の比較的大きな機能ブロック単位で電源ドメインを設け、その電源ドメインにパワーゲートスイッチ素子を接続することにより行われる。
 半導体集積回路は、回路の配置等の物理設計を支援するCAD(Computer Aided Design)等の回路設計支援装置を用いて設計が行われており、回路の配置を決める際には、サイトという領域を用いている。ここで、サイトとは、CADにおいてモニタ等に表示される枠によって規定される領域である。回路等の配置はサイト単位で決定されており、1つのサイトには複数のセルを配置することができる。
 従来のパワーゲートは、論理回路を搭載したエリアを取り囲むように高閾値電圧を有するスイッチトランジスタを配置する場合や、1つのサイト内で、高閾値電圧を有するスイッチトランジスタ(パワーゲート)がNANDゲート等のセルに隣接して配置される場合がある。このため、セルの配置を決める段階で、予めパワーゲートを搭載する専用の領域をサイト内外に確保する必要があった。
特開2007-227625号公報
 予めパワーゲートを搭載する専用の領域をサイト内外に確保しようとする場合、予めパワーゲーティングを行う対象となる機能ブロックの電力を見積もり、必要な電力を供給できるだけのパワーゲートを配置できる領域を確保する必要がある。ここで、電力削減効率を上げるために、例えば、従来のCPU等の比較的大きな機能ブロック単位よりも細かい単位の機能ブロックに対してパワーゲーティングを行なおうとすると、個々のブロックごとに必要となる電力の見積もりやパワーゲートの配置領域の確保等を行う必要がある。しかし、予めパワーゲーティングを行う対象についての電力見積もり等が十分行えない場合には、パワーゲーティングを適用した物理設計を容易に行なうことができないという問題がある。
 このため、上述のような従来の半導体集積回路の設計を支援する回路設計支援装置では、パワーゲート又はセル等の配置に制約があり、半導体集積回路の設計を容易に行うことができないという課題があった。
 そこで、半導体集積回路の設計を容易に行うことができる回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラムを提供することを目的とする。
 本発明の実施の形態の回路設計支援装置は、組み合わせ回路を含む機能ブロックをサイトに配置するブロック配置部と、少なくとも前記ブロック配置部によって配置が行なわれた前記機能ブロックで消費される電力の計算を行う電力計算部と、前記機能ブロックが配置されたサイトに近接する所定のサイトに、前記機能ブロックの電源ライン又はグランドラインに挿入されるパワーゲートセルを前記電力計算部の計算結果に応じた個数配置するパワーゲート配置部とを含む。
 半導体集積回路の設計を容易に行うことができる回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラムを提供することができる。
実施の形態1の回路設計支援装置を実現するコンピュータを示す図である。 実施の形態1の回路設計支援装置を実現するコンピュータシステムの本体部の構成を示すブロック図である。 パワーゲートを含まない半導体集積回路のセルと電源ライン及びグランドラインの一例を示す図である。 パワーゲートを含む半導体集積回路の電源ラインの一例を示す図である。 実施の形態1の半導体集積回路に機能ブロックとして搭載可能な回路を示す図である。 実施の形態1の半導体集積回路に機能ブロックとして搭載可能な回路を示す図である。 実施の形態1の半導体集積回路に機能ブロックとして搭載可能な回路を示す図である。 実施の形態1の回路設計支援装置の構成を示すブロック図である。 実施の形態1の回路設計支援装置が用いるパワーゲートセル配置データを表す図である。 実施の形態1の回路設計支援装置が試算する機能ブロックの消費電力を表す消費電力データの一例を示す図である。 実施の形態1の回路設計支援装置が用いるパワーゲートセルデータを表す図である。 実施の形態1の回路設計支援装置が実行する処理を示すフローチャートである。 実施の形態1の回路設計支援装置においてパワーゲートセルをサイトに配置する工程におけるモニタの表示の一例を示す図である。 図13に示す半導体集積回路の一部を拡大して示す図である。 実施の形態1の回路設計支援装置においてパワーゲートセルをサイトに配置する工程におけるモニタの表示の一例を示す図である。 実施の形態2の回路設計支援装置の構成を示すブロック図である。 実施の形態2の回路設計支援装置が実行する処理を示すフローチャートである。
 以下、本発明の回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラムを適用した実施の形態について説明する。
 <実施の形態1>
 以下、実施の形態1の回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラムについて説明する。
 図1は、実施の形態1の回路設計支援装置を実現するコンピュータを示す図である。
 コンピュータシステム1は、本体部2、ディスプレイ3、キーボード4、マウス5、及びネットワークインタフェース6を含む。実施の形態1の回路設計支援装置は、半導体集積回路の設計を支援するCAD(Computer Aided Design)装置である。
 本体部2は、CPU(Central Processing Unit:中央演算装置)、HDD(Hard Disk Drive:ハードディスクドライブ)、及びディスクドライブ等を内蔵する。ディスプレイ3は、本体部2からの指示により表示画面3A上に回路図等を表示する表示部であり、例えば、液晶モニタであればよい。
 キーボード4は、コンピュータシステム1に種々の情報を入力するための入力部である。マウス5は、ディスプレイ3の表示画面3A上の任意の位置を指定する入力部である。ネットワークインタフェース6は、外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする。
 コンピュータシステム1に回路設計支援装置としての機能を持たせる回路設計支援プログラムは、例えば、ディスク8等の可搬型記録媒体や本体部2に内蔵されるディスクドライブ等に格納される。回路設計支援プログラムは、ネットワークインタフェース6等の通信装置を使って他のコンピュータシステムの記録媒体7か矢印で示すネットワークを通じてダウンロードされ、コンピュータシステム1に入力されてインストールされるようにしても良い。
 コンピュータシステム1に回路設計支援装置としての機能を持たせる回路設計支援プログラムは、コンピュータシステム1を回路設計支援装置として動作させる。このプログラムは、例えばディスク8等のコンピュータ読み取り可能な記録媒体に格納されていてもよい。
 コンピュータ読み取り可能な記録媒体は、ディスク8、ICカードメモリ、USB(Universal Serial Bus)メモリ、フロッピー(登録商標)ディスク等の磁気ディスク、光磁気ディスク、CD-ROM等の可搬型記録媒体に限定されるものではない。コンピュータ読み取り可能な記録媒体は、ネットワークインタフェース6又はLAN等の通信装置を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
 実施の形態1の回路設計支援装置及び回路設計支援方法は、図1に示すコンピュータシステム1が実施の形態1の回路設計支援プログラムを実行することによって実現される。
 図2は、実施の形態1の回路設計支援装置を実現するコンピュータシステムの本体部の構成を示すブロック図である。
 本体部2は、CPU(Central Processing Unit:中央演算処理装置)2A、主記憶装置2B、及び補助記憶装置2Cを含む情報処理装置である。CPU2A、主記憶装置2B、及び補助記憶装置2Cは、例えば、専用のシステムバス2Dで接続されている。
 CPU2Aは、キャッシュ及びメモリコントローラを含む。CPU2Aは、本体部2の内部に複数設けられていてもよい。
 主記憶装置2Bは、例えば、DRAM(Dynamic Random Access Memory:ダイナミックランダムアクセスメモリ)やROM(Read Only Memory:読み出し専用メモリ)であり、補助記憶装置2Cは、例えば、ハードディスクである。
 次に、パワーゲートを含まない半導体集積回路の電源ラインと、パワーゲートを含む半導体集積回路の電源ラインについて説明する。
 図3は、パワーゲートを含まない半導体集積回路のセルと電源ライン及びグランドラインの一例を示す図である。図3では、XYZ座標系を定義する。このXYZ座標系はCADの座標系とは異なり、図13において説明の便宜上、定義する座標系である。
 半導体集積回路10は、電源ラインVDD1~VDD6、グランドラインVSS1~VSS6、及びインバータ11A~11Fを含む。
 インバータ11A~11Fは、それぞれ、CMOS(Complementary Metal Oxide Semiconductor)技術によって実現されるセルである。インバータ11A~11Fは、それぞれ、PMOS(P-type Metal Oxide Semiconductor)トランジスタとNMOS(N-type Metal Oxide Semiconductor)トランジスタを1つずつ含む。インバータ11A~11Fは、それぞれ、半導体集積回路10に含まれるセルの一例である。
 インバータ11A~11Fは、組み合わせ回路による機能ブロックを構築する。機能ブロックとは、インバータ11A~11Fのような組み合わせ回路によって所定の機能が与えられたブロック単位の回路である。
 図3では、L1層に右下がりの斜線を付し、L2層に右上がりの斜線を付す。L1層とL2層の間のビア(L1-L2 VIA)にはメッシュを付す。インバータ11A~11Fの拡散層を破線で示し、インバータ11A~11FとL1層とのコンタクトを太実線の四角(□)で示す。また、インバータ11A~11Fのゲートには、右上がりの粗い斜線を示す。
 なお、L1層及びL2層は、この順でインバータ11A~11Fの上に(Z軸正方向側に)形成されている。
 電源ラインVDD1及びVDD2は、L2層に含まれ、Y軸方向に延在している。電源ラインVDD1及びVDD2は、図示しない電源に接続される。
 電源ラインVDD3~VDD6は、L1層に含まれ、X軸方向に延在している。電源ラインVDD3~VDD6は、それぞれ、ビア12A~12Dを介して、電源ラインVDD1に接続されるとともに、ビア12E~12Hを介して、電源ラインVDD2に接続されている。
 電源ラインVDD4は、コンタクトを介して、インバータ11A~11CのPMOSトランジスタのソースに接続されている。電源ラインVDD5は、コンタクトを介して、インバータ11D~11FのPMOSトランジスタのソースに接続されている。
 グランドラインVSS1及びVSS2は、L2層に含まれ、X軸方向に延在している。グランドラインVSS1及びVSS2は、接地されている。
 グランドラインVSS3~VSS6は、L1層に含まれ、X軸方向に延在している。グランドラインVSS3~VSS6は、それぞれ、ビア13A~13Dを介して、グランドラインVSS1に接続されるとともに、ビア13E~13Hを介して、グランドラインVSS2に接続されている。
 グランドラインVSS4は、コンタクトを介して、インバータ11A~11CのNMOSのソースに接続されている。グランドラインVSS5は、コンタクトを介して、インバータ11D~11FのNMOSのソースに接続されている。
 インバータ11A~11Fのゲート及びドレインは、L1層に含まれる配線に接続されるが、図3では見易さの観点から省略する。
 インバータ11A~11CのPMOSのソースは、電源ラインVDD4を経て、電源ラインVDD1及びVDD2に直接接続されている。また、インバータ11A~11CのNMOSのソースは、グランドラインVSS4を経て、グランドラインVSS1及びVSS2に直接接続されている。
 インバータ11D~11FのPMOSのソースは、電源ラインVDD5を経て、電源ラインVDD1及びVDD2に直接接続されている。また、インバータ11D~11FのNMOSのソースは、グランドラインVSS4を経て、グランドラインVSS1及びVSS2に直接接続されている。
 ここで、インバータ11A~11Cは、CADを用いて半導体集積回路40を設計する段階における1サイトに搭載される機能ブロックを構築する。
 同様に、インバータ11D~11Fは、CADを用いて半導体集積回路40を設計する段階における1サイトに搭載される機能ブロックを構築する。
 サイトとは、CADにおいてモニタに表示される枠によって規定される領域であり、図3におけるX軸方向及びY軸方向に所定の長さを有する領域である。
 図3では、サイトは、破線によって表される領域であり、図3には4つのサイトST1~ST4を示す。サイトST1~ST4は、X軸方向には電源ラインVDD1からグランドラインVSS2を含む。また、Y軸方向では、サイトST1は、電源ラインVDD3とグランドラインVSS3を含み、サイトST2は、電源ラインVDD4とグランドラインVSS4を含む。また、サイトST3は、電源ラインVDD5とグランドラインVSS5を含み、サイトST4は、電源ラインVDD6とグランドラインVSS6を含む。
 このように、サイトST1~ST4は、X軸方向及びY軸方向において、電源ラインVDD1~VDD6とグランドラインVSS1~VSS6とによって規定される領域である。
 一般に、CADによる半導体集積回路の設計段階では、図3に示すサイトST1~ST4のようなサイトを用いて、セルの配置を決めている。図3は半導体集積回路30の一部を示しているため、実際にはサイトST1~ST4のようなサイトが多数マトリクス状に配列されることになる。
 図3に示す状態では、サイトST1及びST4にはセルは配置されておらず、サイトST2にはインバータ11A~11Cが配置され、サイトST3にはインバータ11D~11Fが配置されている。サイトST1及びST4には、セルを配置してもよい。
 なお、サイトの取り扱いについては、サイトST1~ST4のことをシングルサイトと称し、間にグランドラインVSS3及びVSS4が位置するサイトST1及びST2をダブルサイトと称する場合がある。この場合、間にグランドラインVSS5及びVSS6が位置するサイトST3及びST4もダブルサイトである。
 また、間にグランドラインVSS3及びVSS4が位置するサイトST1及びST2、及び、間にグランドラインVSS5及びVSS6が位置するサイトST3及びST4を、それぞれサイトと称する場合もある。この場合には、サイトST1~ST4は、それぞれ、ハーフサイトと称される。
 このように、図3に示すサイトST1~ST4については、例えば上述のような二通りの取り扱い型があるが、ここでは、サイトST1~ST4として区別して説明を行う。
 なお、ここでは、サイトST1~ST4がY軸方向に延在する電源ラインVDD1とグランドラインVSS2を含む形態について説明した。しかしながら、サイトST1~ST4は、電源ラインVDD1とグランドラインVSS2を含まずに、X軸方向において、電源ラインVDD1とグランドラインVSS2の内側の領域として定義されてもよい。
 図4は、パワーゲートを含む半導体集積回路の電源ラインの一例を示す図である。図4では、図3と同様にXYZ座標系を定義する。また、図4では、図3に示す構成要素と同様の構成要素には同一符号を付し、その説明を省略する。
 図4において、L1層、L2層、ビア(L1-L2 VIA)、インバータ11A~11Fの拡散層、コンタクト、及びゲートは、図3と同様の描画方法で示す。また、パワーゲートセルを極太実線で囲んで示す。
 図4に示す半導体集積回路20は、電源ラインVDD1~VDD3、VDD6、仮想電源ラインVPWR1~VPWR6、グランドラインVSS1~VSS6、インバータ11A~11F、及びパワーゲートセル21、22を含む。
 図4において、グランドラインVSS1~VSS6の接続関係は、図3と同様である。また、グランドラインVSS4及びVSS5とインバータ11A~11FのNMOSトランジスタのソースとの接続関係も、図4と同様である。
 また、電源ラインVDD1及びVDD2と電源ラインVDD3及びVDD6の接続関係は図3と同様であるが、電源ラインVDD1及びVDD2は、Y軸方向において電源ラインVDD3とVDD6との間で分断されている。
 電源ラインVDD1及びVDD2が分断された部分には、L2層に含まれる仮想電源ラインVPWR1及びVPWR2が配設されている。
 仮想電源ラインVPWR1は、それぞれ、ビア14A~14Dを介して、L1層に含まれる仮想電源ラインVPWR3~VPWR6に接続されている。また、仮想電源ラインVPWR2は、それぞれ、ビア14E~14Hを介して、仮想電源ラインVPWR3~VPWR6に接続されている。
 図4に示す半導体集積回路40のインバータ11A~11Cは、PMOSトランジスタのソースが仮想電源ラインVPWR4に接続されている点が、図3に示すインバータ11A~11Cと異なる。なお、インバータ11A~11CのPMOSトランジスタ及びNMOSトランジスタのゲート及びドレインに接続されるL1層の配線を省略するが、図3と同様である。
 半導体集積回路40のインバータ11D~11Fは、PMOSトランジスタのソースが仮想電源ラインVPWR5に接続されている点が、図3に示すインバータ11D~11Fと異なる。なお、インバータ11D~11FのPMOSトランジスタ及びNMOSトランジスタのゲート及びドレインに接続されるL1層の配線を省略するが、図3と同様である。
 パワーゲートセル21は、インバータ11A~11Cが配置されるサイトST2のY軸正方向側に隣接するサイトST1に配設され、パワーゲートセル22は、インバータ11D~11Fが配置されるサイトST3のY軸負方向側に隣接するサイトST4に配設される。
 パワーゲートセル21は、PMOSトランジスタ210~219を含み、パワーゲートセル22は、PMOSトランジスタ220~229を含む。パワーゲートセル21、22は、それぞれ、半導体集積回路40に含まれるセルの一例である。
 PMOSトランジスタ210~219は、それぞれ、ソースがコンタクトを介して電源ラインVDD3に接続され、ドレインがコンタクトを介して仮想電源ラインVPWR3に接続され、ゲートがコンタクトを介してL1層の配線に接続されている。
 PMOSトランジスタ220~229は、それぞれ、ソースがコンタクトを介して電源ラインVDD6に接続され、ドレインがコンタクトを介して仮想電源ラインVPWR6に接続され、ゲートがコンタクトを介してL1層の配線に接続されている。
 半導体集積回路40では、電源ラインVDD1及びVDD2と、仮想電源ラインVPWR1及びVPWR2とは、パワーゲートセル21及び22を介して接続されている。すなわち、パワーゲートセル21及び22は、電源ラインVDD1及びVDD2と、仮想電源ラインVPWR1及びVPWR2との間に挿入されている。
 インバータ11A~11Fには、パワーゲートセル21、22を介して電力が供給される。
 このため、インバータ11A~11Fを駆動しない場合には、パワーゲートセル21、22をオフすることにより、インバータ11A~11への電力供給を遮断でき、省電力化を図ることができる。
 また、インバータ11A~11Fに含まれるPMOSトランジスタ及びNMOSトランジスタの閾値電圧が低い場合にはリーク電流が発生する場合があるが、パワーゲートセル21、22をオフしてインバータ11A~11Fを電源ラインVDD1及びVDD2から切り離すことにより、リーク電流の発生を抑制できる。
 パワーゲートセル21、22は、半導体集積回路40のサイトST2及びST3の各々に配置される機能ブロックのパワーゲーティングを行うために、それぞれ、サイトST1及びST4内に配置されている。
 サイトST1及びST4は、パワーゲートセル21、22の専用のサイトではなく、パワーゲートセル21、22の代わりに、例えば、インバータ11A~11Fのような機能ブロックを配置することができるサイトである。
 実施の形態1では、上述のように、機能ブロックを搭載可能なサイトST1及びST4にパワーゲートセル21、22を配置するために、機能ブロックの設計に用いるサイトに搭載可能なトランジスタによってパワーゲートセル21、22を構築している。
 すなわち、パワーゲートセル21、22に含まれるPMOSトランジスタ210~219とPMOSトランジスタ220~229は、機能ブロックを構築するインバータ11A~11Fと同様に、機能ブロックの設計に用いるサイトに搭載可能なトランジスタである。
 このように、実施の形態1では、機能ブロックの設計に用いるサイトに搭載可能なトランジスタでパワーゲートセル21、22を構築するため、パワーゲートセル21、22を配置する場所は、パワーゲートセル21、22を配置するための専用の場所である必要はない。
 なお、ここでは、パワーゲートセル21、22を構築するトランジスタが、機能ブロックの設計に用いるサイトに搭載可能なトランジスタである形態について説明した。
 この場合に、例えば、機能ブロックの設計に用いるサイトに搭載可能なトランジスタの閾値電圧を複数種類の電圧に設定できる場合は、パワーゲートセル21、22を構築するトランジスタの閾値電圧をインバータ11A~11Fを構築するトランジスタの閾値電圧よりも高く設定してもよい。このような場合には、パワーゲートセル21、22によるパワーゲーティングの効果がより顕著なものとなる。
 また、以上では、機能ブロックの設計に用いるサイトに搭載可能なトランジスタでパワーゲートセル21、22を構築する形態について説明した。しかしながら、機能ブロックが搭載されるサイトとは異なるサイトにパワーゲートセル21、22を配置するのであれば、パワーゲートセル21、22を構築するトランジスタは、機能ブロックの設計に用いるサイトに搭載可能なトランジスタとは異なるトランジスタであってもよい。
 次に、図5乃至図7を用いて、実施の形態1の半導体集積回路40に機能ブロックとして搭載可能な回路について説明する。
 図5乃至図7は、実施の形態1の半導体集積回路40に機能ブロックとして搭載可能な回路を示す図である。
 図5には、組み合わせ回路で構築される機能ブロック50を示す。機能ブロック50は、例えば、インバータ、ANDゲート、NANDゲート等を含む回路であり、ネットリストに含まれるゲートレベルの一又は複数のセルによって構築される。
 図6には、機能ブロック50の電源ラインVDD側に、PMOSトランジスタで構築されるパワーゲートセル23を接続した回路を示す。パワーゲートセル23のゲート端子に、制御信号(SWバー)を入力してパワーゲートセル23のオン/オフを制御することにより、機能ブロック50のパワーゲーティングを行う。
 図6に示す機能ブロック50とパワーゲートセル23の関係は、図4に示すインバータ11A~11Cとパワーゲートセル21の関係、及び、図4に示すインバータ11A~11Cとパワーゲートセル21の関係と同様である。
 図7には、機能ブロック50のグランドラインVSS側に、NMOSトランジスタで構築されるパワーゲートセル24を接続した回路を示す。パワーゲートセル24のゲート端子に、制御信号(SW)を入力してパワーゲートセル24のオン/オフを制御することにより、機能ブロック50のパワーゲーティングを行う。
 図6には、パワーゲートセル23を電源ラインVDD側に配置する回路を示したが、図7に示すようにグランドラインVSS側にパワーゲートセル24を配置しても、図6の回路と同様に、パワーゲーティングを行うことができる。この場合は、パワーゲートセルは、グランドラインに挿入されることになる。
 次に、実施の形態1の回路設計支援装置について説明する。
 図8は、実施の形態1の回路設計支援装置100の構成を示すブロック図である。図9は、実施の形態1の回路設計支援装置100が用いるパワーゲートセル配置データを表す図である。図10は、実施の形態1の回路設計支援装置100が試算する機能ブロックの消費電力を表す消費電力データの一例を示す図である。図11は、実施の形態1の回路設計支援装置100が用いるパワーゲートセルデータを表す図である。
 図8に示すように、実施の形態1の回路設計支援装置100は、主制御部110、ブロック配置部120、電力計算部130、パワーゲート配置部140、信号線接続部150、及びメモリ160を含む。
 これらのうち、主制御部110、ブロック配置部120、電力計算部130、及びパワーゲート配置部140は、図1に示すコンピュータシステム1の本体部2(図2参照)が実施の形態1の回路設計支援プログラムを実行することによって実現される機能を表すブロックである。
 また、メモリ160は、図1に示すコンピュータシステム1の本体部2(図2参照)が実施の形態1の回路設計支援プログラムを実行する際に使用するデータ又はデータベースを格納するメモリであり、主記憶装置2B又は補助記憶装置2Cによって実現されるメモリである。
 メモリ160には、ネットリスト161、物理ライブラリ162、電力ライブラリ163、パワーゲート配置データ164、消費電力データ165、及びパワーゲートセルデータ166が格納される。
 主制御部110は、実施の形態1の回路設計支援装置100の処理を統括する制御部である。また、主制御部110は、セルのインスタンス名と、CAD上の座標とを関連付けたセル座標データを作成する。
 セルのインスタンス名は、半導体集積回路40に含まれる各セルの固有の識別名を表す。また、CAD上の座標は、実施の形態1の回路設計支援装置100において、各セルの位置を表すために用いる座標である。
 半導体集積回路40の内部における各セルの位置(座標)は、主制御部110が作成するセル座標データによって管理される。
 ブロック配置部120は、物理ライブラリ162に格納される物理情報を用いてモニタ3にセルを表示する。また、ブロック配置部120は、コンピュータシステム1(図1参照)のキーボード4又はマウス5への操作入力によって指定されたサイトに、ネットリスト161に含まれる機能ブロックを配置する。物理ライブラリ162には、機能ブロックに含まれるセルのサイズ、セルの形状、セルにあるピンの位置等の物理情報が格納されている。
 物理ライブラリ162に格納されている物理情報に基づき、モニタ3(図1参照)には、セルの形状、サイズ、及びピンを表す図が表示される。設計者はセルの図をマウス5で移動することにより、所望のサイトに配置する。セルがサイトに配置されると、主制御部110は、セルのインスタンス名とCAD上の座標を関連付けたデータを作成する。
 例えば、ブロック配置部120により、図4に示すように、インバータ11A~11Fを配置するサイトとして、サイトST2及びST3が決定されると、インバータ11A~11Fのインスタンス名と、サイトST2及びST3に対応する座標が関連付けられたデータが生成される。
 電力計算部130は、パワーゲート配置データ164、ネットリスト161、及び電力ライブラリ163を用いて、ブロック配置部120によってサイトに配置された機能ブロックの消費電力を試算し、消費電力データ165を作成する。
 電力ライブラリ163に格納される電力データは、ネットリストに格納されているセル名と消費電力とを関連付けたデータである。セル名は、例えば、インバータ、ANDゲート、NANDゲート等のゲートレベルで規定されるセルの名称であり、セルの種類を示す識別子で表される。消費電力は、セルにおける1回のスイッチングにおいて消費される消費電力を表す。なお、消費電力は、セルの数の代わりに、セルが形成される領域の面積を用いて概算してもよい。
 電力計算部130は、パワーゲート配置データ164、ネットリスト161、及び電力ライブラリ163を用いて、ブロック配置部120によってサイトに配置された機能ブロックの消費電力を試算し、機能ブロックに含まれるすべてのセルの消費電力の合計値を試算する。
 パワーゲート配置データ164は、機能ブロックに含まれるセル名、セル数、及びセルのインスタンス名が関連付けられたデータである。ネットリスト161は、各セルのインスタンス名、セル名、及び入出力ピンが接続されるネット名を関連付けたデータである。電力ライブラリ163は、セル名と消費電力とを関連付けた電力データを含む。
 電力計算部130は、機能ブロックに含まれるすべてのセルの消費電力の合計値を試算するとともに、消費電力の試算結果に基づき、機能ブロック毎の消費電力の試算結果を表す消費電力データ165を作成する。
 セルの消費電力は、例えば、セル名で特定されるセルの個数と、1スイッチングあたりの消費電力と、周波数とを用いて、試算される。
 パワーゲート配置部140は、ブロック配置部120によるサイトの決定、及び、電力計算部130による消費電力の試算が行われた後に、パワーゲーティングが必要な機能ブロックが搭載されるサイトに隣接するサイトに、パワーゲートセルを配置する。パワーゲート配置部140によるパワーゲートセルを配置する処理については、図12を用いて後述する。
 信号線接続部150は、パワーゲート配置部140によってサイトへの配置が決定されたパワーゲートセルの制御信号線をネットリストに基づいて配線する。
 メモリ160は、主記憶装置2B又は補助記憶装置2Cによって実現されるメモリであり、ネットリスト161、物理ライブラリ162、電力ライブラリ163、パワーゲート配置データ164、消費電力データ165、及びパワーゲートセルデータ166が格納される。
 ネットリスト161は、例えば、ゲートレベルのセルを多数含む。各セルの情報は、セルの識別子とセル名とを関連付けた状態でネットリスト161に格納される。セル名は、例えば、インバータ、ANDゲート、NANDゲート等のゲートレベルで規定されるセルの名称である。
 ネットリスト161は、例えば、図示しない論理合成ツールによって作成される。ネットリスト161は、例えばVerilogやVHDL等のハードウェア記述言語で記述され、回路に含まれる複数のゲートレベルのセルの接続関係等を記述したものである。
 具体的には、ネットリスト161は、各セルのインスタンス名、セル名、及び入出力ピンが接続されるネット名を関連付けたデータである。セルのインスタンス名は、半導体集積回路40に含まれる各セルの固有の識別名を表す。セル名は、例えば、インバータ、ANDゲート、NANDゲート等のゲートレベルで規定されるセルの名称であり、セルの種類を示す識別子で表される。
 図示しない論理合成ツールによって作成されるネットリスト161は、メモリ160に格納されている。なお、インバータ11A~11F(図4参照)は、ネットリスト161に含まれるゲートレベルのセルの一例である。
 物理ライブラリ162には、セルのサイズ、セルの形状、セルにあるピンの位置等の物理情報が格納されている。
 回路設計支援装置100は、物理ライブラリ162に格納されている物理情報に基づき、セルの形状、サイズ、及びピンを表す図をモニタ3(図1参照)に表示する。
 電力ライブラリ163に格納される電力データは、ネットリストに格納されているセル名と消費電力とを関連付けたデータである。電力データが表す消費電力は、例えば、トランジスタの1回のスイッチングあたりの消費電力を表すデータである。
 パワーゲート配置データ164は、図9に示すように、ブロック名、パワーゲートセルのセル名、パワーゲートセルのセル数、セルのインスタンス名を関連付けたデータであり、電力計算部130による電力の計算が行われる前に、例えば、設計者が手入力で作成するデータである。
 パワーゲート配置データ164は、機能ブロック毎の消費電力の試算を行うために、設計者が機能ブロックの種別を表すブロック名と、パワーゲートセルのセル名、パワーゲートセルのセル数、セルのインスタンス名を関連付けることによって生成されるデータである。
 ブロック名は、パワーゲートセルを介して電力の供給を受ける機能ブロックの識別子を表す。パワーゲートセルのセル名は、パワーゲートセルの識別子を表す。パワーゲートセルのセル数は、セル名で表されるパワーゲートセルの数を表す。セルのインスタンス名は、半導体集積回路40に含まれる各セルの固有の識別名を表す。
 パワーゲート配置データ164により、ブロック名で指定される機能ブロックに含まれるセルのインスタンス名が特定されるとともに、ブロック名で指定される機能ブロックに電力供給を行うパワーゲートセルのセル名及びセル数が特定される。
 パワーゲート配置データ164は、例えば、設計者がキーボード4又はマウス5の操作によって入力することによって作成される。しかしながら、主制御部110が機能ブロックの座標データを管理している場合は、設計者の操作入力によって指定された機能ブロックについて、機能ブロックの座標データとセルの座標データとに基づいて、主制御部110が機能ブロックに含まれるセル名を抽出してもよい。
 例えば、図9に示すパワーゲート配置データ164では、ブロック名がBL1の機能ブロックには、セル名がPG001のパワーゲートセルが10個配置され、その機能ブロックに含まれてパワーゲートセルを介して電力が供給されるセルのインスタンス名は0014B、0016C、及び0024Bである。
 また、ブロック名がBL2の機能ブロックには、セル名がPG001のパワーゲートセルが4個配置され、その機能ブロックに含まれてパワーゲートセルを介して電力が供給されるセルのインスタンス名は0046B、0048D、及び0046Dである。
 ブロック名がBL3の機能ブロックには、セル名がPG002のパワーゲートセルが8個配置され、その機能ブロックに含まれてパワーゲートセルを介して電力が供給されるセルのインスタンス名は0123A及び0125Bである。
 消費電力データ165は、電力計算部130によって試算される消費電力を表すデータであり、例えば、図10に示すように、ブロック名と消費電力を関連付けたデータである。
 消費電力データ165に含まれる消費電力は、パワーゲート配置データ164、ネットリスト161、及び電力ライブラリ163に基づいて計算される。
 パワーゲート配置データ164には機能ブロックの種別を表すブロック名とセルのインスタンス名が含まれるので、ネットリスト161、及び電力ライブラリ163を用いると、機能ブロックに含まれるセルの消費電力を求めることができる。
 電力計算部130は、機能ブロック毎に求めた消費電力をブロック名と関連付けて、消費電力データ165を作成する。例えば、図10に示す消費電力データ165では、ブロック名がBL1の機能ブロックの消費電力の試算結果は100であり、ブロック名がBL2の機能ブロックの消費電力の試算結果は40である。
 パワーゲートセルデータ166は、図11に示すように、セル名、サイズ、及び供給電力を関連付けたデータである。セル名は、パワーゲートセルの識別子を表す。サイズは、パワーゲートセルのX軸方向及びY軸方向の大きさを表す。供給電力は、パワーゲートセルが供給する電力を表す。
 例えば、セル名がPG001のパワーゲートは、X軸方向のサイズが100、Y軸方向のサイズが9であり、供給電力が100である。また、セル名がPG002のパワーゲートは、X軸方向のサイズが100、Y軸方向のサイズが18であり、供給電力が200である。セル名がPG003のパワーゲートは、X軸方向のサイズが100、Y軸方向のサイズが27であり、供給電力が300である。
 パワーゲートセルデータ166は、設計者がパワーゲートセルの配置を検討する際に利用できるように、モニタ3に表示される。
 図12は、実施の形態1の回路設計支援装置100の処理を説明するフローチャートである。図12のS2~S5に示す処理は、実施の形態1の回路設計支援装置100が実行する処理である。
 まず、図示しない論理合成ツールが半導体集積回路40の論理合成等を行うことにより、ネットリスト161が作成される(ステップS1)。
 図示しない論理合成ツールによって作成されるネットリスト161は、主制御部110により、メモリ160に格納される。 
 次に、ブロック配置部120は、物理ライブラリ162に格納される物理情報と、コンピュータシステム1への設計者の操作入力の内容とに基づき、図示しない論理合成ツールによって作成された機能ブロックに含まれるセルの配置・配線等をするブロックレイアウトが行われる(ステップS2)。
 ステップS2のブロックレイアウトでは、機能ブロックの配置・配線等のレイアウト設計がブロック配置部120によって自動的に行われる。なお、ブロックレイアウトでは、設計者がキーボード4又はマウス5を操作することにより、一部のレイアウトを手動で決定してもよい。また、ブロックレイアウトを行なう処理(ステップS2)において、機能ブロックに含まれるセルの配置まで行い、配線処理は後述のパワーゲートの配置処理(ステップS4)後に行うようにしてもよい。
 また、ステップS2の処理に伴い、主制御部110は、セルのインスタンス名と、CAD上の座標を表す座標データとを関連付けたデータを生成する。
 次に、電力計算部130は、パワーゲート配置データ171、ネットリスト161、及び電力ライブラリ163を用いて、ブロック配置部120によってサイトに配置された機能ブロックの消費電力を試算し、消費電力データ165を作成する(ステップS3)。消費電力の試算結果は、消費電力データ165としてメモリ160に格納されるとともに、必要に応じてモニタ3に表示される。
 消費電力データ165に基づいて、パワーゲーティング対象とする機能ブロックに電力を供給するために必要なパワーゲートセルの数や配置場所が算出される。この算出は、図11に示されるパワーゲートセルデータ166に基づいて自動的に算出してもよく、また、設計者がパワーゲートセルデータ166を参照して決定してもよい。設計者が決定する場合、設計者は、モニタ3に表示される消費電力の試算結果を見て、パワーゲートセルの配置を決める。
 次に、パワーゲート配置部140は、コンピュータシステム1への設計者の操作入力の内容に基づき、設計者によって選択されたサイトに、設計者によって選択されたパワーゲートセルを配置する(ステップS4)。
 パワーゲートセルの形状、サイズ、及びピンを表す図を表すデータは物理ライブラリ162に格納されており、パワーゲートセルを表す図はモニタ3に表示される。パワーゲート配置部140は、設計者がパワーゲートセルの図をマウス5でドラッグすると、所望のサイトにパワーゲートセルを配置する。
 パワーゲートセルがサイトに配置されると、主制御部110は、パワーゲートセルのインスタンス名とCAD上の座標を関連付けたデータを作成する。
 例えば、図4に示すように、機能ブロックの一例としてのインバータ11A~11FがサイトST2及びST3に配置された後に、インバータ11A~11Fの消費電力の試算結果に基づき、設計者がインバータ11A~11Fにパワーゲーティングを行うことを決めたとする。
 そして、設計者がキーボード4又はマウス5でパワーゲートセル21、22をサイトST2及びST3にそれぞれ隣接するサイトST1及びST4にドラッグすると、パワーゲート配置部140は、パワーゲートセル21、22をサイトST1及びST4に配置する。
 このように、実施の形態1では、論理合成ツールによるネットリストの作成、ブロック配置部120によるサイトの決定、及び、電力計算部130による消費電力の計算が行われた後に、パワーゲートセルを配置することができる。
 従って、実施の形態1の半導体集積回路40の設計段階において、パワーゲートセル21、22を配置する場所を自由に選択できる。
 また、実施の形態1では、インバータ11A~11Fのような機能ブロックを配置するサイトST2及びST3の内部にパワーゲート21、22を一緒に配置するのではなく、インバータ11A~11Fのような機能ブロックを配置するサイトST2及びST4に隣接するサイトST1及びST4にパワーゲートセル21、22を配置する。
 このようにパワーゲートセル21、22を配置する場所をサイト単位で選択するため、半導体集積回路40の設計段階において、パワーゲートセル21、22を搭載するサイトを自由に変更することができる。
 例えば、半導体集積回路40の設計段階で、インバータ11A~11C及び11D~11FをそれぞれサイトST2及びSt3に配置するとともに、インバータ11A~11Fのパワーゲーティングを行うためにサイトST1及びST4にパワーゲートセル21、22をそれぞれ配置するように決定したとする。
 その後に、インバータ11~11Fに必要な電力の計算を行った結果、インバータ11D~11Fについてはパワーゲーティングを行わないことになった場合は、サイトST4にパワーゲートセル22を配置せずに、サイトST4に他の機能ブロックを配置するように設計変更することができる。
 また、これとは逆に、5つの機能ブロックをそれぞれY軸方向に配列される5つのサイトに配置するように決定し、電力計算を行った後に、5つのうちの中央のサイトの機能ブロックの配置を変更し、この機能ブロックの代わりに、パワーゲートセルを配置することができる。
 このように、実施の形態1の半導体集積回路40では、機能ブロックの配置を決める段階において、パワーゲートセル21、22を配置するサイトを取り置いておく必要はなく、機能ブロック配置するサイトを決定した後に、パワーゲートセル21、22を配置するサイトを決定できる。
 すなわち、パワーゲートセル21、22は、半導体集積回路40に含まれるすべての機能ブロックを設計して配置を決定した後に、パワーゲーティングを行う任意の機能ブロックに隣接するサイトに搭載することができる。
 このため、実施の形態1によれば、半導体集積回路40を容易に設計することができる。
 なお、ステップS4の処理が終了したときに、主制御部110は、アイソレータの配置、ネットリストへの制御信号線のネット情報の追加等を行う。
 最後に、信号線接続部150は、ネットリストに基づき、パワーゲートセルの制御信号線を接続する(ステップS5)。
 以上により、実施の形態1の回路設計支援装置100によって機能ブロック及びパワーゲートセルの配置が完了する。
 また、以上により、機能ブロックのセルのインスタンス名と座標、ネットリスト、及びパワーゲートセルのセルのインスタンス名と座標を表すデータが得られ、これらのデータに基づき、主制御部110によってGDSデータが生成される。
 その後、GDSデータの検証(LVS(Layout Versus Schematic)/DRC(Design Rule Check)が行われ、検証に合格すると製造データとして用いることができるデータとなる。
 以上のように、実施の形態1の回路設計支援装置100は、ブロック配置部120によるサイトの決定、及び、電力計算部130による消費電力の試算が行われた後に、パワーゲートセルの配置を決めることができる。
 従来は、機能ブロックの配置を決定する際に、パワーゲートセルを配置する場所も決めて、パワーゲートセル用の場所を確保していた。
 また、従来は、機能ブロックを配置するサイトと同一のサイトにパワーゲートセルを配置するため、機能ブロックを配置するサイト内に、パワーゲートセル用の場所を確保する必要があった。
 ところで、機能ブロックに必要な電力は、機能ブロックを配置してから判明することもあり、また、仮想的なプログラムで機能ブロックを動作させたときのトランジスタのスイッチング確率を求めないと、試算が難しい場合がある。
 従って、従来のように、機能ブロックの配置を決定する段階でパワーゲートセルの配置を決定する設計手法では、半導体集積回路の設計は容易ではなく、半導体集積回路内でのスペースの活用効率を向上させるのは困難な場合があった。
 これに対して、実施の形態1の回路設計支援装置100によれば、機能ブロックの配置を決定し、電力計算を行った後に、パワーゲートセルを配置できるので、半導体集積回路40を容易に設計することができる。
 また、機能ブロックを配置するサイトとは異なるサイトにパワーゲートセルを配置するので、パワーゲートセルを配置する段階で機能ブロックをサイト単位で移動させることができる。また、パワーゲートセルを配置した後に、サイト単位でパワーゲートセルを移動することもできる。このため、例えば、機能ブロックを配置した後に、機能ブロックの配置場所を変更し、パワーゲートセルを配置することができる。
 このように、実施の形態1の回路設計支援装置100では、機能ブロックを配置するサイトとは異なるサイトにパワーゲートセルを配置するので、機能ブロック及びパワーゲートセルの配置の自由度を飛躍的に向上させることができる。また、機能ブロック及びパワーゲートセルの配置の自由度が向上することにより、半導体集積回路40のスペースの活用効率を向上させることもできる。
 ここで、図13乃至図15を用いて、実施の形態1の回路設計支援装置100によって設計される半導体集積回路の変形例について説明する。
 図13は、実施の形態1の回路設計支援装置100においてパワーゲートセルをサイトに配置する工程におけるモニタの表示の一例を示す図である。図13では図4と同様にXYZ座標系を定義する。このXYZ座標系はCADの座標系とは異なり、図13において説明の便宜上、定義する座標系である。
 図13では、左下の見本に示すように、実線で囲む部分をダブルサイトとし、ダブルサイトの中央でX軸方向に示す破線により、ダブルサイトが2つのシングルサイトに分けられることとする。
 このため、図13には、X軸に4列、Y軸方向に12行の合計48個のダブルサイトが配列されている。
 各ダブルサイトを規定する実線のうち、X軸方向に延在する実線は、電源ラインVDDを示し、各ダブルサイトの内部でX軸方向に延在する破線は、グランドラインVSSを示す。このように、各ダブルサイトは、グランドラインVSSがY軸方向の中心に位置するように区画されている。
 また、48個のダブルサイトを4列に分け、X軸方向に間隔を開けてあるのは、各電源ラインVDD及び各グランドラインVSSに接続する大元の電源ラインとグランドライン(図4におけるVDD1、VDD2、VSS1、VSS2に相当するライン)をY軸方向に配置するためである。
 48個のダブルサイトの中央にグレーで示す部分は、機能ブロックFBが配置される部分である。機能ブロックFBは、X軸正方向側の端部とX軸負方向側の端部とにおいて、ダブルサイトの中央まで配置されている。
 また、機能ブロックFBのY軸正方向側の端部とY軸負方向側の端部とは、ダブルサイトの全体に配置されずに、シングルサイトまでとなっている。
 そして、機能ブロックのY軸正方向側の端部とY軸負方向側の端部とにおけるダブルサイトの残りのシングルサイトに、パワーゲートセル21A~21C及び22A~22Cが配置されている。パワーゲートセル21A~21C及び22A~22Cは、機能ブロックFBが配置されるサイトの長辺(X軸に沿う辺)に隣接するサイトに配置されている。
 機能ブロックFBは、パワーゲートセル21A~21C及び22A~22Cによってパワーゲーティングが行われる。パワーゲートセル21A~21C及び22A~22Cは、電源ラインに挿入されて機能ブロックFBのパワーゲーティングを行う。
 なお、機能ブロックFBのX軸負方向側の端部と、X軸正方向側の端部とでは、機能ブロックFBと、電源ラインVDDとの間が離されている。これは、機能ブロックFBにパワーゲーティングを行うために、X軸方向において隣接する電源ラインVDDから機能ブロックFBを切り離すためである。
 なお、図13では、パワーゲートセル21A~21C及び22A~22Cが電源ラインに挿入されて機能ブロックFBのパワーゲーティングを行うため、機能ブロックFBをX軸方向に隣接する電源ラインVDDから切り離す形態を示す。しかしながら、パワーゲートセル21A~21C及び22A~22Cがグランドラインに挿入されて機能ブロックFBのパワーゲーティングを行う場合は、機能ブロックFBをX軸方向において隣接するグランドラインVSSから切り離せばよい。
 また、図13には、機能ブロックFBが配置されるサイトのY軸正方向側及びY軸負方向側に隣接するサイトにパワーゲートセル21A~21C及び22A~22Cをそれぞれ配置する形態を示した。しかしながら、パワーゲートセルは、機能ブロックBKが配置されるサイトのX軸正方向側及びX軸負方向側に隣接するサイトに配置されてもよい。また、パワーゲートセルが配置されるサイトは、機能ブロックBKが配置されるサイトに隣接するサイトに限定されず、例えば、機能ブロックBKが配置されるサイトとの間に1つのサイトを隔てたサイトであってもよい。機能ブロックFBが配置されるサイトは、機能ブロックBKに近接するセルであればよい。
 次に、上述のように機能ブロックFBの端部において、機能ブロックFBをX軸方向において隣接する電源ラインVDDから切り離す部分の詳細について説明する。
 図14は、図13に示す半導体集積回路の一部を拡大して示す図である。図13では、パワーゲートセル21Aとパワーゲートセル22Aとの間に、7つのダブルサイトにわたって配置される機能ブロックFBを示したが、図14では、説明の便宜上、機能ブロックFBは1つのダブルサイトに形成されているものとする。
 また、図14に示す半導体集積回路は、図4に示す半導体集積回路のインバータ11A~11F及びパワーゲートセル21、22をサイトのX軸方向の長さの半分だけ、X軸正方向側に移動させた回路構成を有する。
 このため、図4に示す構成要素と同様の構成要素には同一符号を付し、その説明を省略する。
 図14に示すように、インバータ11A及び11Bは、サイトST2に配置され、インバータ11Dは、サイトST3に配置される。すなわち、図4に示すインバータ11A、11B、及び11Dに比べて、図14に示すインバータ11A、11B、及び11Dの位置は、X軸正方向側に、サイトの半分の長さだけシフトしている。
 また、これに伴い、パワーゲートセル21A、22AもX軸正方向側に、サイトの半分の長さだけシフトしている。パワーゲートセル21A、22Aは、それぞれ、図4に示すパワーゲートセル21、22と同様のパワーゲートセルである。
 サイトST1の左半分にはインバータ15Aが配置され、サイトST2の左半分にはインバータ15Bが配置され、サイトST3の左半分にはインバータ15C及び15Dが配置され、サイトST4の左半分にはインバータ15Eが配置されている。インバータ15A~15Eは、パワーゲーティングが行われずに、電源ラインVDD3~VDD6及びグランドラインVSS3~VSS6に接続されている。すなわち、インバータ15A~15Eは、パワーゲーティングが行われない機能ブロックに含まれている。
 インバータ11A及び11Bと、インバータ11Dとは、それぞれ、パワーゲートセル21A、22Aによってパワーゲーティングが行われる。インバータ11A、11B、及び11Dは、パワーゲーティングが行われる機能ブロックに含まれている。
 このような半導体集積回路では、サイトST2及びST3の内部において、電源ラインVDD4及びVDD5と、仮想電源ラインVPWR4及びVPWR5は分断されている。これは、インバータ11A、11B、及び11Dにパワーゲートセル21A、22Aを通じて電力供給を行うためである。
 このように、サイトの中に、パワーゲーティングが行われる機能ブロックと、パワーゲーティングが行われない機能ブロックとの境界がサイトの内部に位置する場合は、図14に示す電源ラインVDD4及びVDD5のように、境界において、電源ラインを分断すればよい。
 次に、図15を用いて、図13に示す構成の変形例について説明する。
 図15は、実施の形態1の回路設計支援装置100においてパワーゲートセルをサイトに配置する工程におけるモニタの表示の一例を示す図である。
 図15に示すパワーゲートセル21D~21F及び22D~22Fは、ダブルサイトに配置されている点が図13に示すパワーゲートセル21A~21C及び22A~22Cと異なる。その他の構成は、図13に示す半導体集積回路と同様である。
 図15に示すパワーゲートセル21D~21F及び22D~22Fのように、ダブルサイトに配置してもよい。
 また、図15に示すようにダブルサイトにパワーゲートセル21D~21F及び22D~22Fを配置した後に、機能ブロックFBの電力消費量が少ないことが判明した場合には、後に、シングルサイトのパワーゲートセル21A~21C及び22A~22C(あるいは21A~21C及び22A~22Cのうちのいずれか)に変更することができる。
 <実施の形態2>
 図16は、実施の形態2の回路設計支援装置200の構成を示すブロック図である。
 図16に示すように、実施の形態2の回路設計支援装置200は、主制御部110、ブロック配置部120、電力計算部130、パワーゲート配置部140、信号線接続部150、電力判定部170、及びメモリ160を含む。
 実施の形態2の回路設計支援装置200は、実施の形態1の回路設計支援装置100に電力判定部170を追加した点が実施の形態1の回路設計支援装置100と異なる。また、実施の形態2の回路設計支援装置200は、電力計算部130が消費電力の試算を行う前にパワーゲートセルをサイトに配置する点と、電力計算部130における消費電力の試算方法を変更した点が実施の形態1の回路設計支援装置100と異なる。
 その他の構成は、実施の形態1の回路設計支援装置100と同様であるため、同様の構成要素には同一符号を付し、その説明を省略する。
 実施の形態2では、電力計算部130は、一例として、SPICE(Simulation Program with Integrated Circuit Emphasis)等のシミュレーションプログラムを実行して機能ブロックに含まれるトランジスタのスイッチング確率等を求める。そして、電力計算部130は、機能ブロックに含まれるすべてのセルの消費電力の合計値を試算し、試算結果を表す消費電力データ165を作成する。
 このような試算方法を実行するのは、セルの消費電力は、セルに含まれるトランジスタ等の素子の数、及び、トランジスタのスイッチング確率等によって異なるからである。
 電力計算部130は、例えばSPICE等のシミュレーションプログラムを実行して機能ブロックに含まれるトランジスタのスイッチング確率等を求めた上で、機能ブロックに含まれるすべてのセルの消費電力の合計値を試算する。
 電力判定部170は、電力計算部130が試算した消費電力と、パワーゲート配置部140によってサイトへの配置が決定されたパワーゲートセルの供給電力とを比較し、パワーゲートセルの供給電力が十分であるか否かを判定する。電力判定部170は、パワーゲートセルの供給電力が十分ではないと判定した場合は、パワーゲートセルの再配置を設計者に求め、十分であると判定した場合には、その旨をモニタ3に表示させる。
 次に、図17を用いて、実施の形態2の回路設計支援装置200が実行する処理について説明する。
 図17は、実施の形態2の回路設計支援装置200が実行する処理を示すフローチャートである。図17に示す処理は、実施の形態2の回路設計支援装置200が実行する処理である。
 図17に示すステップS11及びS12の処理は、実施の形態1の回路設計支援装置100のステップS1及びS2(図12参照)と同様の処理であるため、ここではステップS11及びS12の説明を省略し、パワーゲート配置部140が実行するステップS13の処理から説明する。
 パワーゲート配置部140は、コンピュータシステム1への設計者の操作入力の内容に基づき、設計者によって選択されたサイトに、設計者によって選択されたパワーゲートセルを配置する(ステップS13)。
 なお、パワーゲート配置データ164(図9参照)は、ステップ13の処理を行う時点までに設計者が手入力によって作成されているか、あるいは、ステップS13における設計者の操作入力によってパワーゲート配置部140が作成すればよい。
 次に、電力計算部130は、例えばSPICEを実行して機能ブロックに含まれるトランジスタのスイッチング確率等を求め、機能ブロックに含まれるすべてのセルの消費電力の合計値を試算し、試算結果を表す消費電力データ165を作成する(ステップS14)。
 次に、電力判定部170は、消費電力データ165と、パワーゲート配置部140によってサイトへの配置が決定されたパワーゲートセルの供給電力とを比較し、パワーゲートセルの供給電力が十分であるか否かを判定する(ステップS15)。
 ステップS15の処理に際し、電力判定部170は、ステップS13でパワーゲート配置部140によってサイトへの配置が決定されたパワーゲートセルの供給電力を算出し、算出結果を消費電力データ165と比較する。
 ステップS13でパワーゲート配置部140によってサイトへの配置が決定されたパワーゲートセルの供給電力は、パワーゲート配置データ164と、パワーゲートセルデータ166とに基づいて算出すればよい。
 すなわち、ステップS13で配置を決定したパワーゲートセルのセル名とセル数をパワーゲート配置データ164から抽出し、パワーゲートセルデータ166に含まれるセル名に対応する供給電力に、セル数を乗じることにより、パワーゲートセルの供給電力を算出すればよい。
 また、電力判定部170は、パワーゲートセルの供給電力が、消費電力データ165に含まれる消費電力よりも多ければ、パワーゲートセルの供給電力が十分であると判定すればよい。これとは逆に、電力判定部170は、パワーゲートセルの供給電力が、消費電力データ165に含まれる消費電力以下であれば、パワーゲートセルの供給電力が十分ではないと判定すればよい。なお、この判定では、供給電力に所定の余裕を持たせるために、例えば、消費電力の10%増しの値と、パワーゲートセルの供給電力とを比較するようにしてもよい。
 電力判定部170は、パワーゲートセルの供給電力が十分ではないと判定した場合は、パワーゲートセルの再配置を設計者に求めるべく、パワーゲートセルの供給電力が十分ではない旨のメッセージをモニタ3に表示させる。
 一方、電力判定部170は、パワーゲートセルの供給電力が十分であると判定した場合には、パワーゲートセルの供給電力が十分である旨をモニタ3に表示させる。
 主制御部110は、電力判定部170がステップS15でパワーゲートセルの供給電力が十分であると判定した場合(S15:YES)は、フローをステップS16に進行させる。
 ステップS16では、信号線接続部150は、ネットリストに基づき、パワーゲートセルの制御信号線を接続する(ステップS16)。ステップS16の処理は、実施の形態1におけるステップS5の処理と同様である。
 一方、電力判定部170がステップS15でパワーゲートセルの供給電力が十分ではないと判定した場合(S15:NO)は、主制御部110は、フローをステップS17に進行させる。
 ステップS17では、パワーゲートセルの再配置が行われる。ステップS17に進行する場合は、パワーゲートセルの供給電力が十分ではない旨のメッセージがモニタ3に表示されているので、設計者はパワーゲートセルの再配置を行う。
 この結果、パワーゲート配置部140は、コンピュータシステム1への設計者の操作入力の内容に基づき、設計者によって選択されたサイトに、設計者によって選択されたパワーゲートセルを配置する(ステップS17)。
 ステップS17の処理が終了すると、主制御部110はフローをステップS15にリターンする。この結果、電力判定部170によってパワーゲートセルの供給電力が十分であるか否かが判定され、ステップS15において電力判定部170によってパワーゲートセルの供給電力が十分であると判定されるまで、ステップS15及びS17のループが繰り返されることになる。
 そして、ステップS15において電力判定部170によってパワーゲートセルの供給電力が十分であると判定されると、フローはステップS16に進行する。
 以上、実施の形態2の回路設計支援装置200によれば、ブロック配置部120によるサイトの決定が行われた後に、パワーゲートセルの配置を決めることができるので、半導体集積回路を容易に設計することができる。
 また、実施の形態2の回路設計支援装置200は、実施の形態1の回路設計支援装置100と同様に、機能ブロックを配置するサイトとは異なるサイトにパワーゲートセルを配置するので、機能ブロック及びパワーゲートセルの配置の自由度を飛躍的に向上させることができる。また、機能ブロック及びパワーゲートセルの配置の自由度が向上することにより、半導体集積回路40のスペースの活用効率を向上させることもできる。
 また、実施の形態2の回路設計支援装置200は、パワーゲートセルの配置を決定した後に、トランジスタのスイッチング確率を用いて消費電力を試算するので、より現実に近い状態での消費電力の試算を行うことができる。
 また、実施の形態2の回路設計支援装置100は、試算で求めた消費電力と、パワーゲートセルの供給電力とを比較し、パワーゲートセルの供給電力が十分であるか否かを判定し、パワーゲートセルの供給電力が不十分である場合には、パワーゲートセルの再配置を求める。
 このため、パワーゲートセルの配置をより確実に行うことができる。
 以上、本発明の例示的な実施の形態の回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラムについて説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
 11A~11F インバータ
 21、21A~21F、22、22A~22F パワーゲートセル
 100 回路設計支援装置
 110 主制御部
 120 ブロック配置部
 130 電力計算部
 140 パワーゲート配置部
 150 信号線接続部
 160 メモリ
 161 ネットリスト
 162 物理ライブラリ
 163 電力ライブラリ
 164 パワーゲート配置データ
 165 消費電力データ
 166 パワーゲートセルデータ
 170 電力判定部
 200 回路設計支援装置

Claims (7)

  1.  半導体集積回路の設計をコンピュータが支援する回路設計支援装置であって、
     組み合わせ回路を含む機能ブロックをサイトに配置するブロック配置部と、
     少なくとも前記ブロック配置部によって配置が行なわれた前記機能ブロックで消費される電力の計算を行う電力計算部と、
     前記機能ブロックが配置されたサイトに近接する所定のサイトに、前記機能ブロックの電源ライン又はグランドラインに挿入されるパワーゲートセルを前記電力計算部の計算結果に応じた個数配置するパワーゲート配置部と
     を含む、回路設計支援装置。
  2.  前記パワーゲートセルは、前記機能ブロックの作成に用いるサイトに搭載可能な素子によって構築される、請求項1記載の回路設計支援装置。
  3.  前記パワーゲート配置部は、前記機能ブロックが配置されたサイトの長辺側に隣接するサイトに前記パワーゲートセルを配置する、請求項1又は2記載の回路設計支援装置。
  4.  前記パワーゲート配置部による前記パワーゲートセルの配置が行われる前に、前記ブロック配置部によってサイトに配置された機能ブロックの電力を計算する電力計算部をさらに含む、請求項1乃至3のいずれか一項記載の回路設計支援装置。
  5.  前記パワーゲート配置部によってパワーゲートセルが配置された後に、前記ブロック配置部によってサイトに配置された機能ブロックの電力を計算する電力計算部と、
     前記電力計算部の計算結果と、前記パワーゲート配置部によって配置されたパワーゲートセルの電力供給量とを比較し、前記パワーゲートセルの電力供給量が前記機能ブロックに足りるか否かを判定する判定部と
     をさらに含む、請求項1乃至3のいずれか一項記載の回路設計支援装置。
  6.  半導体集積回路の設計をコンピュータが支援する回路設計支援方法であって、
     コンピュータが、
     組み合わせ回路を含む機能ブロックをサイトに配置するブロック配置工程と、
     少なくとも前記ブロック配置部によって配置が行なわれた前記機能ブロックで消費される電力の計算を行う電力計算工程と、
     前記機能ブロックが配置されたサイトに近接する所定のサイトに、前記機能ブロックの電源ライン又はグランドラインに挿入されるパワーゲートセルを前記電力計算工程の計算結果に応じた個数配置するパワーゲート配置工程と
     を実行する、回路設計支援方法。
  7.  半導体集積回路の設計をコンピュータが支援する回路設計支援プログラムであって、
     コンピュータを
     組み合わせ回路を含む機能ブロックをサイトに配置するブロック配置部、
     少なくとも前記ブロック配置部によって配置が行なわれた前記機能ブロックで消費される電力の計算を行う電力計算部、及び
     前記機能ブロックが配置されたサイトに近接する所定のサイトに、前記機能ブロックの電源ライン又はグランドラインに挿入されるパワーゲートセルを前記電力計算部の計算結果に応じた個数配置するパワーゲート配置部
     として機能させる、回路設計支援プログラム。
PCT/JP2011/079408 2011-12-19 2011-12-19 回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラム WO2013094002A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/079408 WO2013094002A1 (ja) 2011-12-19 2011-12-19 回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/079408 WO2013094002A1 (ja) 2011-12-19 2011-12-19 回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラム

Publications (1)

Publication Number Publication Date
WO2013094002A1 true WO2013094002A1 (ja) 2013-06-27

Family

ID=48667932

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/079408 WO2013094002A1 (ja) 2011-12-19 2011-12-19 回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラム

Country Status (1)

Country Link
WO (1) WO2013094002A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007227625A (ja) * 2006-02-23 2007-09-06 Toshiba Microelectronics Corp 半導体集積回路及びそのレイアウト設計方法
JP2011222895A (ja) * 2010-04-14 2011-11-04 Renesas Electronics Corp 半導体集積回路の設計方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007227625A (ja) * 2006-02-23 2007-09-06 Toshiba Microelectronics Corp 半導体集積回路及びそのレイアウト設計方法
JP2011222895A (ja) * 2010-04-14 2011-11-04 Renesas Electronics Corp 半導体集積回路の設計方法

Similar Documents

Publication Publication Date Title
CN101187957B (zh) 设计集成电路的公共时钟域中的多个锁存器的布图的系统和方法
US8941150B2 (en) Power routing in standard cells
US7245516B2 (en) Layout method and computer program product
US11869884B2 (en) Semiconductor devices, methods of designing layouts of semiconductor devices and methods of fabricating semiconductor devices
US20240020451A1 (en) Systems and methods for integrated circuit layout
US8187924B2 (en) Method, design program and design support device for semiconductor integrated circuit, and semiconductor integrated circuit
US9734272B2 (en) Techniques for generating physical layouts of in silico multi mode integrated circuits
US9275186B2 (en) Optimization for circuit migration
US11082044B2 (en) Integrated circuit including power gating cell
JP4999379B2 (ja) 半導体集積回路設計方法、半導体集積回路設計装置
US20220171912A1 (en) Poly-bit cells
WO2013094002A1 (ja) 回路設計支援装置、回路設計支援方法、及び、回路設計支援プログラム
US20180052951A1 (en) Acceleration Of Voltage Propagation Based On Device Chain Reduction
US20230004704A1 (en) Circuit layout generation system
US8966418B2 (en) Priority based layout versus schematic (LVS)
JP5540910B2 (ja) 集積回路、集積回路設計装置及び集積回路設計方法
Boon et al. Speeding Parasitic-Extraction Stage in Layout-Change-Order Validation Cycle Through Net-Tracing and Layout Trimming
KR20230125436A (ko) 반도체 집적 회로의 레이아웃 설계 방법 및 이를 수행하는 설계 시스템
JP2006173262A (ja) 半導体集積回路のレイアウト設計方法及びシステム
JP2002151594A (ja) 半導体集積回路の設計方法及び半導体集積回路の設計支援装置
CN114530446A (zh) 半导体结构及提供单元阵列的方法
JPH096826A (ja) 半導体集積回路の設計方法
JP2002203001A (ja) 電源配線設計装置
US20140310541A1 (en) Power Gating Shared Logic
JP2014052857A (ja) 半導体集積回路の設計支援装置、設計方法およびプログラム

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: 11878315

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11878315

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP