KR100423594B1 - Concurrent logical and physical construction of voltage islands for mixed supply voltage designs - Google Patents
Concurrent logical and physical construction of voltage islands for mixed supply voltage designs Download PDFInfo
- Publication number
- KR100423594B1 KR100423594B1 KR10-2001-0070932A KR20010070932A KR100423594B1 KR 100423594 B1 KR100423594 B1 KR 100423594B1 KR 20010070932 A KR20010070932 A KR 20010070932A KR 100423594 B1 KR100423594 B1 KR 100423594B1
- Authority
- KR
- South Korea
- Prior art keywords
- circuit
- voltage
- bin
- voltage level
- assigning
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
본 발명은 전압 아일런드를 논리적 및 물리적으로 구성하는 방법을 개시하고 있다. 반도체 칩 설계는 설계 영역인 "빈"으로 분할된다. 상기 방법에서, 반도체 칩은 여러 영역으로 "슬라이스"되고 그 후에 이들 영역이 여러개의 전압 레벨로 배정된다. 각각의 빈은 전압 아일런드로서 생각될 수 있다. 설계시 회로가 여러개의 빈에 부가되거나 여러개의 빈에서 제거되어, 회로의 속도 및 전력을 증가 또는 감소시킬 수 있다. 즉, 고전압으로 배정된 빈에 회로를 배치하면 속도 및 전력이 증가하고, 저전압을 갖는 빈에 회로를 배치하면 속도 및 전력이 감소한다. 또한, 빈의 크기 및 위치도 변화될 수 있다. 상기 단계들을 반복함으로써, 속도 제한 및 다른 기준을 충족시키면서 전력 소모를 최적으로 할 수 있다. 본 발명은 설계시 회로 위치를 계속적으로 정교하게 하고 논리 배치의 변화를 이루기 위해 배치 공정이 중단될 수 있는 어닐링 배치 툴 등의 임의의 배치 환경에 적용될 수 있다.The present invention discloses a method for logically and physically configuring voltage islands. The semiconductor chip design is divided into "bins" which are design areas. In this method, a semiconductor chip is "sliced" into several regions and then these regions are assigned to several voltage levels. Each bin can be thought of as a voltage island. In design, circuits may be added to or removed from multiple bins, increasing or decreasing the speed and power of the circuit. That is, placing a circuit in a bin assigned to a high voltage increases speed and power, while placing a circuit in a bin having a low voltage decreases speed and power. In addition, the size and position of the bins can also vary. By repeating the above steps, power consumption can be optimized while meeting speed limits and other criteria. The invention can be applied to any placement environment, such as an annealing placement tool, in which the placement process can be interrupted to continuously refine circuit location in the design and to make changes in the logic layout.
Description
본 발명은 일반적으로 반도체 칩상에 회로를 컴퓨터로 배치하는 것에 관한 것이고, 특히 혼합 공급 전압 설계용 전압 아일런드를 논리적 및 물리적으로 동시에 구성하는 방법에 관한 것이다.FIELD OF THE INVENTION The present invention relates generally to computer circuitry on semiconductor chips, and more particularly to a method for logically and physically configuring voltage islands for mixed supply voltage designs simultaneously.
디지털 회로의 스위칭 전력은 전원 전압 증가분의 제곱값으로 증가한다. 그러므로, 전원 전압을 감소시키는 것이 회로의 전력 소모를 감소시키기 위하여 바람직하다. 그러나, 전원 전압의 감소는 또한 회로 성능을 저하시킨다. 그러므로, 고전원 전압으로 구동되는 회로 및 저전원 전압으로 구동되는 회로(이하에서는, 각각 고전압 회로 및 저전압 회로라 함)를 동일한 칩상에서 결합하는 것이 바람직하다. 소망하는 회로 성능의 달성이 요구되는 곳에서는 고전압 회로를 사용하고 그 외의 곳에서는 저전압 회로를 사용한다.The switching power of the digital circuit increases with the square of the supply voltage increase. Therefore, it is desirable to reduce the power supply voltage in order to reduce the power consumption of the circuit. However, reducing the power supply voltage also degrades circuit performance. Therefore, it is preferable to combine a circuit driven with a high power voltage and a circuit driven with a low power supply voltage (hereinafter, referred to as a high voltage circuit and a low voltage circuit, respectively) on the same chip. Use high voltage circuits where the desired circuit performance is required and low voltage circuits elsewhere.
반도체 칩상에 고전압 및 저전압 회로가 이러한 방식으로 결합되어 있을 때, 저전압 회로들을 합쳐서 저전압 "아일런드"로 물리적으로 그룹화하고, 고전압 회로를 합쳐서 고전압 "아일런드"로 별도로 그룹화하는 것이 바람직하다. 이것은, 고전압 및 저전압 전원이 별도의 분배 네트워크상에 분포되어 있고 회로를 아일런드로 그룹화함으로써 각 아일런드 내에는 2개의 전원 중 하나만 분포되면 족하기 때문에 바람직하다. 이것은 2개의 전원을 분포시키는 데 필요한 여분의 배선 리소스의 양을 감소시켜서 신호 배선용으로 더 많은 배선 리소스를 사용가능하게 한다. 결국, 이것은 반도체 칩을 더 작게 하고/하거나 더 적은 수의 배선 평면이 소요되게 한다.When high voltage and low voltage circuits are coupled in this manner on a semiconductor chip, it is desirable to combine the low voltage circuits physically into a low voltage "island" and to group the high voltage circuits separately into a high voltage "island". This is desirable because the high and low voltage power supplies are distributed on separate distribution networks and only one of the two power supplies needs to be distributed within each island by grouping the circuits into islands. This reduces the amount of extra wiring resources needed to distribute the two power supplies, making more wiring resources available for signal wiring. In turn, this makes the semiconductor chip smaller and / or requires fewer wiring planes.
칩상에서 고전압 및 저전압 회로를 결합시킬 때, 한 형태의 회로에서 다른 형태의 회로로 신호를 구동하는 네트(net)에 대하여 또한 주의해야 한다. 통상적으로, 고전압 회로는 특정한 삽입 회로 없이도 저전압 회로를 직접 구동할 수 있으나, 고전압 회로를 갖는 저전압 회로는 특정한 "레벨 시프터" 회로를 통하여 고전압 회로를 구동해야 한다. 그 회로로 인하여 네트워크의 영역, 전력 및 지연이 증가된다. 그러므로, 그 회로의 사용을 최소화하는 것이 바람직하다. 다수의 회로군에서 고전압 래치 회로가 추가 비용없이 레벨 시프터로서 동작할 수 있다. 그러므로, 저전압 회로가 래치 회로에 직접 전력을 공급하도록 저전압 회로를 선택하면, 필요한 레벨 시프터 수를 감소시킬 수 있다. 긴밀하게 연결된 회로의 그룹을 고전압 또는 저전압으로 배정함으로써, 필요한 레벨 시프터 수를 통상적으로 감소시킬 수 있다.When combining high and low voltage circuits on a chip, care must also be taken with respect to the net that drives the signal from one type of circuit to another. Typically, a high voltage circuit can drive a low voltage circuit directly without a specific insertion circuit, but a low voltage circuit with a high voltage circuit must drive a high voltage circuit through a specific "level shifter" circuit. The circuitry increases the area, power and delay of the network. Therefore, it is desirable to minimize the use of the circuit. In many families of circuits, the high voltage latch circuit can operate as a level shifter at no additional cost. Therefore, if the low voltage circuit is selected so that the low voltage circuit directly supplies the latch circuit, the number of level shifters required can be reduced. By assigning a group of tightly coupled circuits to high or low voltage, the number of level shifters required can typically be reduced.
요약하면, 고전압 회로를 고전압 아일런드에 배치하고 저전압 회로를 저전압 아일런드에 배치함으로써, 사용된 레벨 시프터 수를 통상적으로 최소화한다. 이것은 또한 고전압 전력 및 저전압 전력이 라우팅(routing)해야 하는 곳의 수를 감소시켜, 전력 분배 비용을 감소시킨다. 그러나, 양호한 논리 회로의 배치에는 상기 아일런드가 도움이 되지 않을 수 있다. 예를 들어, 신호는 고전압 아일런드까지 이동한 후 다시 고전압 아일런드로부터 그 신호를 사용하는 회로까지 이동함으로써 매우 장거리를 이동해야 할 수 있다. 이것은 성능을 증가시키는 것이 아니라 성능을 실제로 감소시킨다. 그러므로, 양호한 배치가 이루어져야 하는 곳에서 불량한 배치 결과가 일어나게 된다.In summary, by placing a high voltage circuit in a high voltage island and a low voltage circuit in a low voltage island, the number of level shifters used is typically minimized. This also reduces the number of places where high voltage power and low voltage power should be routed, thereby reducing power distribution costs. However, the island may not help in the placement of good logic circuits. For example, a signal may have to travel very long distances by moving up to a high voltage island and then back from the high voltage island to the circuit using the signal. This does not increase performance but actually reduces performance. Therefore, poor placement results occur where good placement should be made.
고전압 및 저전압 회로를 생성하는 다른 방법은 논리 클러스터링이다. 논리 클러스터에서는 고전압 및 저전압 회로가 접속을 기반으로 해서 설계되고 전압 아일런드내에는 설계되지 않는다. 더 고속으로 될 필요가 있는 회로의 소자는 더 높은 전압으로 변경되는 반면에, 더 저속의 비-임계(non-critical) 소자는 저전압으로 변경된다. 이것은, 데이터 경로가 이동되지 않을 때, 고전압 및 저전압 아일런드 클러스터링에 의해 발생된 배치 문제를 해결한다. 그러나, 상이한 전원이 각소에 분포되어야 하고 논리 클러스터링에 의해 레벨 시프터수가 대단히 증가할 수 있다.Another method of creating high voltage and low voltage circuits is logic clustering. In logical clusters, high and low voltage circuits are designed based on connections and not within voltage islands. Devices in the circuit that need to be faster change to higher voltages, while slower non-critical devices change to low voltages. This solves the placement problem caused by high voltage and low voltage island clustering when the data path is not moved. However, different power sources must be distributed at each place and the number of level shifters can be greatly increased by logical clustering.
그러므로, 임계 데이터 경로가 타이밍 조건을 충족시키게 하면서 전력 라우팅의 양 및 레벨 시프터수를 제한할 필요가 있다.Therefore, there is a need to limit the amount of power routing and the number of level shifters while allowing the critical data path to meet timing conditions.
본 발명의 양호한 실시예는 전압 아일런드의 논리적 및 물리적 구성을 제공하여 상기 문제를 해결한다. 본 발명의 양호한 실시예에서는 더 적은 레벨 시프터 및 더 적은 전력 라우팅을 제공하면서 여전히 타이밍 및 기타 필요 조건을 충족시키도록 물리적 및 논리적 합성(synthesis)을 결합한다. 또한, 전압 아일런드를 구성하기 위해 반복 공정을 사용함으로써, 전력 사용을 최소화하는 반면에 특히 속도 제한을 충족시킨다.The preferred embodiment of the present invention solves this problem by providing a logical and physical configuration of the voltage island. Preferred embodiments of the present invention combine physical and logical synthesis to still meet timing and other requirements while providing less level shifters and less power routing. In addition, by using an iterative process to construct the voltage island, power consumption is minimized while in particular the speed limit is met.
본 발명의 한 특징에서, 반도체 칩 설계는 설계 영역들인 "빈"(bin)으로 분할된다. 이 방법에서 반도체 칩 설계는 여러 영역으로 "슬라이스"되고, 그 영역들은 여러개의 전압 레벨로 배정될 수 있다. 각 빈은 전압 아일런드로서 생각할 수 있다. 설계시 회로들이 여러개의 빈에 부가되거나 빈에서 제거되어, 회로의 속도 및 전력을 증가 또는 감소시킬 수 있다. 즉, 고전압으로 배정된 빈에 회로를 배치하면 속도 및 전력이 증가하고, 저전압을 갖는 빈에 회로를 배치하면 속도 및 전력이 감소한다. 또한, 빈의 크기 및 위치는 변화될 수 있다. 이러한 단계를 반복함으로써, 속도 제한 및 다른 기준을 충족하면서도 최적의 전력 소모가 이루어진다.In one aspect of the invention, the semiconductor chip design is divided into "bins" which are design areas. In this method, the semiconductor chip design is "sliced" into several regions, which regions can be assigned to multiple voltage levels. Each bin can be thought of as a voltage island. In design, circuits can be added to or removed from multiple bins, increasing or decreasing the speed and power of the circuit. That is, placing a circuit in a bin assigned to a high voltage increases speed and power, while placing a circuit in a bin having a low voltage decreases speed and power. In addition, the size and position of the bins may vary. By repeating these steps, optimal power consumption is achieved while meeting speed limits and other criteria.
그러므로, 회로를 전압 아일런드에 단지 부가하거나 어느 회로가 고전압을 필요로 하는지를 단지 결정하고 그 회로를 고전압 레벨로 변화시키는 대신에, 본 발명은 상기 2개의 개념을 결합한 것이다. 본 발명은 미리 정해진 기준을 충족시키기 위해 전압 아일런드의 물리적 및 논리적 둘다의 구성을 사용한다.Therefore, instead of just adding a circuit to a voltage island or just determining which circuit requires a high voltage and changing the circuit to a high voltage level, the present invention combines the two concepts. The present invention employs both physical and logical configurations of voltage islands to meet predetermined criteria.
반도체 칩 설계를 다수의 빈으로 분할하는 것은 설계시 회로를 배치하는 단지 하나의 방법이다. 본 발명은 설계시 회로의 위치를 계속적으로 정교히 하면서 진행하고 또한 논리 회로 배치를 변경하기 위해 배치 공정이 중단될 수 있는 어떠한 배치 환경에도 적용할 수 있다.Dividing a semiconductor chip design into multiple bins is just one way of placing circuitry in the design. The present invention can be applied to any placement environment where the placement process can be interrupted to continuously advance the position of the circuit in the design and also change the logic circuit placement.
본 발명의 상기 및 다른 특징과 장점은 첨부 도면에 예시한 바와 같은 본 발명의 양호한 실시예의 하기 상세한 설명으로부터 명백해질 것이다.These and other features and advantages of the present invention will become apparent from the following detailed description of the preferred embodiments of the invention as illustrated in the accompanying drawings.
도 1은 본 발명의 가장 양호한 실시예에 따라 전압 아일런드의 논리적 및 물리적 구성을 제공하는 양호한 방법의 도시도.1 illustrates a preferred method of providing a logical and physical configuration of a voltage island in accordance with a preferred embodiment of the present invention.
도 2는 속도를 개선하고 전력 및 컨제스쳔(congestion)을 감소시키기 위해 회로들을 빈(bin)들 사이에서 이동시키는 양호한 방법의 도시도.2 shows a preferred method of moving circuits between bins to improve speed and reduce power and congestion.
도 3 내지 7은 도 1의 방법에 따른 각종의 배치 스테이지에서의 논리 회로의 예시도.3-7 illustrate logic circuits at various stages of deployment in accordance with the method of FIG. 1.
도 8 및 9는 예시된 배치상에서 본 발명의 양호한 실시예에 의해 채택되는 전력 감소 단계의 예시도.8 and 9 illustrate exemplary power reduction steps employed by the preferred embodiment of the present invention in the illustrated arrangement.
도 10 및 11은 본 발명의 양호한 실시예에 따른 제2의 양호한 방법의 흐름도.10 and 11 are flow charts of a second preferred method according to a preferred embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
331,332 : NAND 게이트331,332: NAND gate
330,340 : 논리 블록330,340: Logical Blocks
350∼355 : 인버터350 to 355: Inverter
410,420 : 아일런드410,420: Island
510, 520 : 빈510, 520: empty
1055 : 레벨 시프터1055: Level Shifter
1122 : 애플케이션 프로그램1122: application program
1128 : 운용 체계1128: operating system
1140 : 터미널 인터페이스1140: Terminal Interface
전술한 바와 같이, 본 발명은 반도체 칩상에 회로를 컴퓨터로 배치하는 것에 관한 것이다. 이 원리를 모르는 사람을 위해, 다음의 개요부에서는 배치 공정과 관련된 개념을 소개하고 있다. 반도체 칩상에 회로를 컴퓨터로 배치하는 기술의 당업자는 상세한 설명으로 바로 들어가도 좋다.As mentioned above, the present invention relates to the arrangement of circuitry on a semiconductor chip by a computer. For those who do not know this principle, the following overview introduces concepts related to the batch process. Those skilled in the art of arranging circuits on a semiconductor chip with a computer may directly enter the detailed description.
개요부Outline
반도체 칩을 설계할 때, 컴퓨터 설계 툴을 사용한다. 이 툴은 작동하여 "네트리스트"라고 하는 파일을 생성한다. 그 네트리스트는 모든 게이트들 및 그들간의 연결에 대한 설명을 포함하고 있다. 반도체 칩 설계자는 일반적으로 시뮬레이트된 칩의 논리 레이아웃을 가지고 작업한다. 환언하면, 반도체 칩은 어떤 기능을 수행하고, 설계자는 시뮬레이트된 칩이 그 기능을 실제로 논리적으로 수행하도록 보장한다. 실제 칩을 제조할 준비가 되었을 때, 칩 설계자는 원래의 네트리스트를 이용하고 출력을 생성하는 배치 툴을 사용한다. 배치 툴에는 네트리스트, 타이밍 제한, 배치 제한 및 스위칭 정보가 설정된다. 또한, 배치 툴에는 배선 및 게이트의 타이밍을 설명하고 배치 룰, 게이트의 크기 및 형태 등을 포함하는 라이브러리가 설정된다. 배치 툴은 변형된 네트리스트 및 배치 정보를 출력한다. 그 후에, 상기 변형된 네트리스트 및 배치 정보는 배선 툴에 공급되고, 이 배선 툴은 반도체 웨이퍼 상에서 실제로 칩을 생성할 때 사용하는 마스크 및 기타 정보를 발생한다.When designing semiconductor chips, computer design tools are used. This tool works to create a file called a "netlist." The netlist contains a description of all the gates and the connections between them. Semiconductor chip designers typically work with the logic layout of a simulated chip. In other words, the semiconductor chip performs some function, and the designer ensures that the simulated chip actually performs the function logically. When ready to manufacture the actual chip, the chip designer uses a batch tool that uses the original netlist and generates the output. The batch tool is set with netlist, timing limit, batch limit and switching information. The layout tool is also set with a library that describes the timing of the wiring and gate and includes layout rules, the size and shape of the gate, and the like. The batch tool outputs the modified netlist and the batch information. Thereafter, the modified netlist and placement information is supplied to a wiring tool, which generates masks and other information that are used to actually create the chip on the semiconductor wafer.
여러가지 다른 형태의 배치 시스템이 있다. 그 중 하나의 중요한 시스템은 PDS(Placement Driven Synthesis)라고 하는 것이다. PDS에 대한 참고문헌은 컴퓨터 설계에 관한 국제 회의(1997년)의 책자 206 내지 210 페이지에서 S. Hojat 및 D. Villarrubia에 의한 명칭 "An Integrated Placement and Synthesis Approach for Timing Closure of the POWER PC Microprocessor"가 있으며, 이 문헌은 인용에 의해 이 명세서에 통합되는 것으로 한다. PDS 시스템은 배치 중에 네트워크의 논리 변화를 가능하게 한다. PDS는 컷을 기반으로 하는 배치 프로그램 및 컷들간에 수행되는 동작 세트로 구성된다. 컷을 기반으로 하는 배치 프로그램은 칩상에서 칩 영역 및 회로를 반복적으로 분할한다. 일반적으로, 그 분할은 (비록 칩을 4개의 부분으로 분할하는 4분법(quadrisection method)이 또한 공지되어 있지만) 칩을 2개로 분할함으로써 시작하고, 그 후 그 각각의 절반을 2개로 분할하며, 계속해서 그런 방법으로 분할한다. 처음에는 칩상에서 회로의 최종 위치에 대하여 알 수가 없고, 각각의 컷 세트 후에 회로 위치가 정교하게 된다.There are many different types of deployment systems. One important system is called Placement Driven Synthesis (PDS). References to PDS are given by the names "An Integrated Placement and Synthesis Approach for Timing Closure of the POWER PC Microprocessor" by S. Hojat and D. Villarrubia in pages 206-210 of the International Conference on Computer Design (1997). This document is incorporated herein by reference. PDS systems allow for logical changes in the network during deployment. The PDS consists of a batch program based on cuts and a set of operations performed between the cuts. The cut-based batch program repeatedly divides the chip region and the circuit on the chip. Generally, the division begins by dividing the chip into two (although the quadrisection method of dividing the chip into four parts is also known), and then dividing each half into two and continuing. To divide in that way. Initially, the final position of the circuit on the chip is unknown, and after each set of cuts the circuit position is elaborated.
배치 공정의 어느 지점에서 칩이 분할되어 형성된 영역들은 "빈"이라고 부른다. PDS에서, 각종의 "논리 합성" 동작(일반적으로 네트리스트를 변형시키는 프로그램)은 배치 컷 세트들 사이에서 수행되어, 현재 사용가능한 회로 배치의 정교히된 지식을 기반으로 네트워크에 대한 변형예가 이루어질 수 있게 한다. 통상적인 동작에는 버퍼링, 클로닝(cloning)(회로를 복제하고 원래의 회로와 복제된 회로간에 그 팬아웃을 분포시키는 것), 팩토링(factoring), 핀 스와핑(pin swapping) 등을 포함한다. 회로들은 가끔 빈들 사이에서 이동된다.The regions formed by dividing the chip at any point in the placement process are called "empty". In the PDS, various "logical synthesis" operations (generally, programs that modify the netlist) are performed between batch cut sets, so that variations on the network can be made based on a sophisticated knowledge of the currently available circuit layouts. To be. Typical operations include buffering, cloning (duplicating circuits and distributing their fanouts between the original circuit and the duplicated circuits), factoring, pin swapping, and the like. Circuits are often moved between bins.
배치 툴 및 그 방법의 다른 예는 시뮬레이트된 어닐링 플레이서(placer)이다. 그 배치 툴은 크리스탈의 물리적인 어닐링과 유사하게 동작하여, 배치에 대해 많은 시험상의 변화를 만든다. 각 시험상의 변화는 배치의 "양호성"(예를 들어, 추정된 와이어 컨제스쳔) 및 어닐링 공정을 제어하는 데에 도움을 주는 "온도" 변수의 측정에 있어서의 개선점에 따라 유지되거나 원래대로 복구될 수 있다. 이 공정은 고온에서 시작하고 배치가 진척됨에 따라 저온으로 진행한다. 측정을 개선하는 변화는 항시 유지되는 반면에 측정을 저하시키는 변화는 유지될 가능성이 있는데, 그 가능성은 온도 감소 및 배치 측정 저하량의 증가에 따라 감소한다. 배치 공정이 진행함에 따라, 회로가 허용된 배치 변화 내에서 이동하는 평균 거리가 감소한다. 그러므로, 칩상의 회로 위치를 점차로 더 잘 알 수 있다.Another example of a placement tool and method is a simulated annealing placer. The placement tool works similar to the physical annealing of the crystal, making many experimental changes to the placement. Each test change is maintained or restored according to improvements in the measurement of "temperature" parameters that help control the "goodness" of the batch (e.g., estimated wire control) and the annealing process. Can be. The process starts at high temperatures and proceeds to low temperatures as the batch progresses. Changes that improve the measurement are always maintained, while changes that degrade the measurement are likely to be maintained, with the potential decreasing with decreasing temperature and increasing amount of batch measurement degradation. As the batch process proceeds, the average distance the circuit travels within the allowed batch changes decreases. Therefore, the circuit location on the chip can be better known gradually.
상세한 설명details
본 발명의 양호한 실시예는 물리적 및 논리적 합성 모두를 결합하여 더 적은 수의 레벨 시프터 및 더 적은 전력 라우팅을 제공하지만, 타이밍 및 다른 조건을 충족시킨다. 또한, 전압 아일런드의 구성을 위해 반복 공정을 사용함으로써, 전력 사용이 최소화되는 반면에 특히 속도 제한이 충족된다.The preferred embodiment of the present invention combines both physical and logical synthesis to provide fewer level shifters and less power routing, but meets timing and other conditions. In addition, by using an iterative process for the construction of the voltage island, the power usage is minimized while in particular the speed limit is met.
본 발명의 하나의 특징에서 반도체 칩 설계는 설계 영역들인 "빈"(bin)으로 분할된다. 이 방법에서 반도체 칩 설계는 여러 영역으로 "슬라이스"되고, 그 영역들은 여러개의 전압 레벨로 배정될 수 있다. 각 빈은 전압 아일런드로서 생각할 수 있다. 설계시 회로들이 여러개의 빈에 부가되거나 빈에서 제거되어, 회로의 속도 및 전력을 증가 또는 감소시킬 수 있다. 즉, 고전압으로 배정된 빈에 회로를 배치하면 속도 및 전력이 증가하고, 저전압을 갖는 빈에 회로를 배치하면 속도 및 전력이 감소한다. 또한, 빈의 크기 및 위치는 변화될 수 있다. 이러한 단계를 반복함으로써, 속도 제한 및 다른 기준을 충족하면서도 최적의 전력 소모가 이루어진다.In one aspect of the invention the semiconductor chip design is divided into design bins, " bins. &Quot; In this method, the semiconductor chip design is "sliced" into several regions, which regions can be assigned to multiple voltage levels. Each bin can be thought of as a voltage island. In design, circuits can be added to or removed from multiple bins, increasing or decreasing the speed and power of the circuit. That is, placing a circuit in a bin assigned to a high voltage increases speed and power, while placing a circuit in a bin having a low voltage decreases speed and power. In addition, the size and position of the bins may vary. By repeating these steps, optimal power consumption is achieved while meeting speed limits and other criteria.
그러므로, 회로를 전압 아일런드에 단지 부가하거나 어느 회로가 더 높은 전압을 필요로 하는지를 단지 결정하고 그 회로를 더 높은 전압 레벨로 변화시키는 대신에, 본 발명은 상기 2개의 개념을 결합한 것이다. 본 발명은 미리 정해진 기준을 충족시키기 위해 전압 아일런드의 물리적 및 논리적 둘다의 구성을 사용한다.반도체 칩 설계를 다수의 빈으로 분할하는 것은 설계시 회로를 배치하는 단지 하나의 방법이다. 본 발명은 설계시 회로의 위치를 계속적으로 정교히 하면서 진행하고 또한 논리 회로 배치를 변경하기 위해 배치 공정이 중단될 수 있는 어떠한 배치 환경에도 적용할 수 있다.Therefore, instead of just adding a circuit to a voltage island or just determining which circuit requires a higher voltage and changing the circuit to a higher voltage level, the present invention combines the two concepts. The present invention employs both physical and logical configurations of voltage islands to meet predetermined criteria. Dividing a semiconductor chip design into multiple bins is just one method of placing circuitry in the design. The present invention can be applied to any placement environment where the placement process can be interrupted to continuously advance the position of the circuit in the design and also change the logic circuit placement.
양호한 실시예를 더 설명하기 전에 용어를 설명하는 것이 좋겠다. 본원에서 "빈"은 반도체 칩의 설계 영역이다. 각 빈은 특정 전압으로 반드시 배정될 필요는 없다. 전압 아일런드는 특정 전압으로 배정되는 설계 영역이다. 전압 아일런드의 모든 회로는 그 전압 아일런드에 배정한 특정 전압에 의해 전력이 공급된다.It is better to explain the terminology before further describing the preferred embodiment. "Bin" is the design area of a semiconductor chip herein. Each bin does not have to be assigned a specific voltage. Voltage islands are areas of design that are assigned a specific voltage. All circuits in a voltage island are powered by a specific voltage assigned to that voltage island.
어떤 배치 시스템도 이 명세서에서 설명하는 물리적 및 논리적 둘다의 합성을 수행하기 위해 사용될 수 있다. 일반적으로, 그 배치 시스템은 칩 설계의 일부상의 회로 세트를 특정 전압 레벨로 배정하고, 칩 설계의 영역을 선택하고, 그 영역내의 회로를 다른 전압 레벨로 배정한다. 고전압 레벨과 저(또는 중간) 전압 레벨간에는 설계를 최적화하기 위해 회로의 이동이 발생한다. 본 발명의 가장 양호한 실시예에서 칩 설계는 빈으로 슬라이스된다. 각 빈은 전압 아일런드로 되고 특정 전압으로 배정된다. 일부의 빈은 고전압이 배정되고 다른 일부의 빈은 낮은 전압이 배정된다. 그러므로, 물리적인 합성이 수행된다. 상기 물리적인 제한내에서, 회로들은 고전압 영역으로부터 저전압 영역으로, 또는 그 역으로 이동되어 전력, 속도, 및 다른 기준을 충족시킨다. 그러므로, 논리 합성이 또한 수행된다. 본 발명의 다른 실시예에서는 어닐링 배치 시스템이 사용된다. 이 실시예에서 전압 아일런드는 특정 위치에 배정되고 빈은 사용되지 않는다. 그러나, 물리적 및 논리적 합성은 여전히 발생한다.Any deployment system can be used to perform the synthesis of both the physical and logical described herein. In general, the placement system assigns a set of circuits on a portion of a chip design to a particular voltage level, selects an area of the chip design, and assigns circuits within that area to another voltage level. Between the high voltage level and the low (or medium) voltage level, circuit shifts occur to optimize the design. In the best embodiment of the present invention the chip design is sliced into bins. Each bin is a voltage island and assigned a specific voltage. Some bins are assigned a high voltage and some bins are assigned a low voltage. Therefore, physical synthesis is performed. Within this physical limitation, circuits are moved from the high voltage region to the low voltage region and vice versa to meet power, speed, and other criteria. Therefore, logical synthesis is also performed. In another embodiment of the present invention an annealing batch system is used. In this embodiment the voltage island is assigned to a specific location and no bin is used. However, physical and logical synthesis still occurs.
도 12는 본 발명의 컴퓨터 시스템의 블록도이다. 당업자라면, 본 발명의 메카니즘 및 장치는 컴퓨터 시스템이 복잡한 다중 사용자 컴퓨팅 장치이든지 단일 사용자 워크스테이션이든지에 관계없이 어떤 컴퓨터 시스템에도 동일하게 사용될 수 있다는 것을 알 것이다. 도 12에 도시된 바와 같이, 컴퓨터 시스템(1100)은 메인 메모리(1120)에 연결된 메인 또는 중앙 처리 장치(CPU)(1110), 대량 저장 인터페이스(1130), 터미널 인터페이스(1140), 및 네트워크 인터페이스(1150)를 포함하고 있다. 상기 시스템 소자들은 시스템 버스(1160)를 통해 상호 연결된다. 대량 저장 인터페이스(1130)는 대량 저장 장치(DASD 장치(1155) 등)를 컴퓨터 시스템(1100)에 연결하기 위해 사용된다. 하나의 특정 형태의 DASD 장치는 플로피 디스켓(1195)에 데이터를 저장하고 그 플로피 디스켓(1195)에서 데이터를 판독하는 플로피 디스크 드라이브이다.12 is a block diagram of a computer system of the present invention. Those skilled in the art will appreciate that the mechanisms and apparatus of the present invention may equally be used for any computer system, whether the computer system is a complex multi-user computing device or a single user workstation. As shown in FIG. 12, the computer system 1100 may include a main or central processing unit (CPU) 1110, a mass storage interface 1130, a terminal interface 1140, and a network interface connected to the main memory 1120. 1150). The system elements are interconnected via a system bus 1160. The mass storage interface 1130 is used to connect the mass storage device (DASD device 1155, etc.) to the computer system 1100. One particular type of DASD device is a floppy disk drive that stores data on and reads data from the floppy diskette 1955.
메인 메모리(1120)는 하나 이상의 애플리케이션 프로그램(1122), 회로 소자(1124), 데이터(1126), 및 운용 체계(1128)를 포함하고 있다. 컴퓨터 시스템(1100)은 컴퓨터 시스템(1100)의 프로그램이 메인 메모리(1120) 및 DASD 장치(1155)와 같은 다수의 소형 저장 장치에 액세스하는 대신에 대형의 단일 저장 장치에만 액세스하는 것처럼 동작하게 하는 공지된 가상 어드레싱 메카니즘을 사용한다. 그러므로, 애플리케이션 프로그램(1122), 회로 소자(1124), 데이터(1126) 및 운용 체계(1128)가 메인 메모리(1120) 내에 있는 것으로 도시하고 있지만, 그것들이 동시에 메인 메모리(1120)에 모두 완전히 포함될 필요가 없다는 것을 당업자라면 알 것이다. ("컴퓨터 시스템 메모리"라고 하는 용어는 이 명세서에서 컴퓨터 시스템(1100)의 모든 가상 메모리를 총칭하는 의미로 사용된다.)Main memory 1120 includes one or more application programs 1122, circuit elements 1124, data 1126, and operating system 1128. The computer system 1100 is known to allow programs in the computer system 1100 to act as if they access only a single large storage device instead of accessing multiple small storage devices, such as the main memory 1120 and the DASD device 1155. Use a virtual addressing mechanism. Therefore, although application program 1122, circuit elements 1124, data 1126, and operating system 1128 are shown as being in main memory 1120, they need to be fully included in main memory 1120 all at the same time. Those skilled in the art will appreciate that there is no. (The term "computer system memory" is used herein to mean all virtual memory of computer system 1100.)
운용 체계(1128)는 임의의 적당한 운용 체계일 수 있다. 본 발명의 정신 및 범위는 어느 하나의 운용 체계로 제한되지 않는다. 또한, 메인 메모리(1120) 내에는 CPU(1110)에 의해 실행되는 하나 이상의 애플리케이션 프로그램(1122)이 있다. 이들 애플리케이션 프로그램들 중 하나는 본 발명에 따른 집적 회로 설계 툴(1134)이다. 또한, 메인 메모리(1120) 내에는 설계 툴(1134)에 의해 사용되는 회로 소자(1124)의 표시 데이터들(예를 들어, 전기 및 타이밍 파라미터)이 포함되어 있다. 집적 회로 설계 툴(1134) 및 회로 소자(1124)가 메인 메모리(1120) 내에 있는 것으로 도시하였지만, 그들은 컴퓨터 시스템(1100)의 가상 메모리 공간 내 어디에도 존재할 수 있다. 또한, 회로 소자(1124)가 설계 툴(1134)과 분리해서 도시되어 있지만, 상기 회로 소자(1124)는 또한 집적 회로 설계 툴(1134)과 일체형으로 제공될 수 있다. 뒤에서 더 상세하게 설명하는 바와 같이, 집적 회로 설계 툴(1134)은 회로 소자(1124)의 PDS(Placement Driven Synthesis)를 수행하는 설계 툴이 바람직하다. 개요부에서 언급했듯이, PDS는 칩 설계를 빈이라고 하는 비교적 적은 영역들로 분할한다. 이 양호한 실시예에서, 빈은 전압 아일런드로서 사용되고 기준(criteria)들은 설계가 언제 알맞게 배치되었는지 결정하는 데에 사용된다.Operating system 1128 may be any suitable operating system. The spirit and scope of the present invention is not limited to any one operating system. In addition, there is one or more application programs 1122 executed by the CPU 1110 in the main memory 1120. One of these application programs is the integrated circuit design tool 1134 according to the present invention. The main memory 1120 also includes display data (eg, electrical and timing parameters) of the circuit elements 1124 used by the design tool 1134. Although the integrated circuit design tool 1134 and the circuit elements 1124 are shown as being in the main memory 1120, they may exist anywhere in the virtual memory space of the computer system 1100. In addition, although the circuit device 1124 is shown separately from the design tool 1134, the circuit device 1124 may also be provided integrally with the integrated circuit design tool 1134. As described in greater detail below, the integrated circuit design tool 1134 is preferably a design tool that performs Placement Driven Synthesis (PDS) of the circuitry 1124. As mentioned in the overview, PDS divides the chip design into relatively small areas called bins. In this preferred embodiment, the bin is used as the voltage island and the criteria are used to determine when the design is properly placed.
컴퓨터 시스템(1100)이 단일의 메인 CPU 및 단일 시스템 버스만을 포함하도록 도시하고 있지만, 본 발명은 다수의 CPU 및/또는 다수의 버스를 갖는 컴퓨터 시스템을 사용해서 실시되는 것을 당업자라면 알 것이다. 또한, 양호한 실시예에서 사용하는 인터페이스들 각각은 CPU(1110)에서의 컴퓨트-인텐시브(compute-intensive) 처리를 오프-로드하기 위해 사용되는 별도의 완전히 프로그램된 마이크로프로세서들을 포함하고 있다. 그러나, 본 발명이 비슷한 기능을 수행하도록 단순히 I/O 어댑터를 사용하는 컴퓨터 시스템에도 동일하게 적용된다는 것을 당업자는 알 것이다.Although computer system 1100 is shown to include only a single main CPU and a single system bus, those skilled in the art will appreciate that the present invention may be practiced using computer systems having multiple CPUs and / or multiple buses. In addition, each of the interfaces used in the preferred embodiment includes separate fully programmed microprocessors used to off-load compute-intensive processing in the CPU 1110. However, those skilled in the art will appreciate that the present invention applies equally to computer systems that simply use I / O adapters to perform similar functions.
터미널 인터페이스(1140)는 하나 이상의 터미널(1165)을 컴퓨터 시스템(1100)에 직접 연결하기 위해 사용된다. 비지능형이거나 완전히 프로그램가능한 워크스테이션일 수 있는 상기 터미널(1165)은 시스템 관리자 및 사용자가 컴퓨터 시스템(1100)과 통신하도록 하기 위해 사용된다.Terminal interface 1140 is used to connect one or more terminals 1165 directly to computer system 1100. The terminal 1165, which may be a non-intelligent or fully programmable workstation, is used to allow system administrators and users to communicate with the computer system 1100.
네트워크 인터페이스(1150)는 다른 컴퓨터 시스템 및/또는 워크스테이션(예를 들어, 도 1의 1175 및 1185)을 컴퓨터 시스템(1100)에 네트워크 형식으로 연결하기 위해 사용된다. 본 발명은 네트워크 인터페이스(1150)가 존재하는지의 여부에 관계없이 적용할 수 있다. 본원의 양호한 실시예를 위해서, 네트워크 인터페이스가 존재하고, 본 발명은 컴퓨터 시스템(1100)이 다른 컴퓨터 시스템 및/또는 워크스테이션에 어떻게 연결되든지간에, 즉 연결이 현재의 아날로그 및/또는 디지털 기술을 사용하여 이루어지거나 또는 미래의 어떤 네트워킹 메카니즘을 경유해서 이루어지거나에 상관없이 동일하게 적용한다. 컴퓨터 시스템(1100) 내에 네트워크 인터페이스(1150)가 존재한다는 것은 컴퓨터 시스템(1100)이 하나 이상의 다른 컴퓨터 시스템 또는 워크스테이션과 협력해서 처리에 사용할 수 있다는 의미라는 것을 아는 것이 또한 중요하다. 물론, 이것은 메인 메모리(1120)에 도시된 프로그램이 모두 컴퓨터 시스템(1100)에 반드시 상주할 필요는 없다는 것을 의미한다. 예를 들어, 애플리케이션 프로그램(1122)의 하나 이상의 프로그램은 다른 시스템에 상주하여 컴퓨터 시스템(1100) 상에 상주하는 하나 이상의 프로그램과 협력해서 처리하는 동작에 관여할 수 있다. 그 협력 처리는 RPC(remote procedure call) 등의 공지된 클라이언트-서버 메카니즘들 중 하나를 사용해서 수행될 수 있다.The network interface 1150 is used to connect other computer systems and / or workstations (eg, 1175 and 1185 of FIG. 1) to the computer system 1100 in a network format. The present invention can be applied regardless of whether or not the network interface 1150 exists. For the preferred embodiment of the present invention, there is a network interface, and the present invention uses the present analog and / or digital technology no matter how the computer system 1100 is connected to other computer systems and / or workstations. The same applies whether or not through a network or via some networking mechanism in the future. It is also important to know that the presence of network interface 1150 in computer system 1100 means that computer system 1100 can be used for processing in cooperation with one or more other computer systems or workstations. Of course, this means that not all programs depicted in main memory 1120 necessarily reside in computer system 1100. For example, one or more programs of application program 1122 may be involved in the operation of co-operating with one or more programs residing on another system and residing on computer system 1100. The cooperative process may be performed using one of known client-server mechanisms, such as remote procedure call (RPC).
이 점에서, 본 발명이 완전히 기능적인 컴퓨터 시스템을 배경으로 설명되었지만(및 설명되겠지만), 당업자라면 본 발명이 다양한 형태의 프로그램 제품으로서 분배될 수 있고, 또한 그 분배를 실제로 수행하도록 신호 저장 매체의 특정 형태와 상관없이 동일하게 적용한다는 것을 알 것이다. 신호 저장 매체의 예로는 플로피 디스크(예를 들어, 도 12의 디스크(1195)) 및 CD ROM 등의 기록형 매체, 및 무선 통신 링크를 포함하는 디지털 및 아날로그 통신 링크 등의 전송형 매체가 있다.In this respect, while the invention has been described (and will be described) in the context of a fully functional computer system, those skilled in the art will appreciate that the invention may be distributed as various forms of program products, and that the distribution of signal storage media to actually perform the It will be appreciated that the same applies regardless of the particular form. Examples of signal storage media include recordable media such as floppy disks (e.g., disk 1195 in FIG. 12) and CD ROM, and transmission media such as digital and analog communication links, including wireless communication links.
도 1은 전압 아일런드의 논리적 및 물리적 구성을 사용해서 회로를 배치하는 방법을 도시하고 있다. 이 방법(100)은 도 12에 예시한 바와 같이 집적 회로 설계 툴(1134)에 의해 양호하게 수행된다. 상기 방법(100)은, 회로 소자의 배치 중에 집적 회로 설계 툴(1134)에 의해 수행될 때, 회로 소자 배치를 용이하게하여 전력 및 속도의 최적 결합을 생성하고 다른 기준을 충족시킨다.1 illustrates a method of placing circuits using logical and physical configurations of voltage islands. This method 100 is preferably performed by the integrated circuit design tool 1134 as illustrated in FIG. The method 100, when performed by the integrated circuit design tool 1134 during the placement of circuit elements, facilitates circuit element placement to create an optimal combination of power and speed and meet other criteria.
상기 방법(100)은 배치안된 설계(105)를 배치 툴에 설정함으로써 시작된다. 그 배치안된 설계는 모든 게이트들 및 그들간의 연결을 설명하는 네트리스트에 의해 설명된다. 그 배치안된 설계와 함께, 툴에는 한 세트의 타이밍 제한 및/또는 전력 및 영역 제한이 설정된다. 또한, 특정 위치에 어떤 회로(입력/출력 회로 등)가 위치할 필요가 있게 됨에 따라, 몇가지 위치 제한이 또한 필요하다. 결국, 배치 툴에는 와이어 및 게이트의 타이밍을 설명하고 배치 룰 및 게이트의 크기와 형상 등을 포함하는 라이브러리가 설정된다.The method 100 begins by setting an unplaced design 105 in a placement tool. The unplaced design is described by a netlist that describes all the gates and the connections between them. With the unplaced design, the tool is set with a set of timing limits and / or power and area limits. In addition, as some circuits (input / output circuits, etc.) need to be located at specific locations, some position restrictions are also required. Eventually, the placement tool sets up a library that describes the timing of the wires and gates and includes placement rules, gate size and shape, and the like.
초기에, 모든 회로들은 특정 전압으로 세트된다(단계 110). 바람직하게는 모든 회로가 전체 전력 조건을 감소시키도록 저전압으로 세트되는 것이 좋다. 회로들이 초기에 고전압으로 세트되면, 회로들이 이미 고전력으로 되고 배치된 설계가 고전력으로 되는 경향이 있다. 2개 이상의 전압을 사용하는 경우에는, 최저 전압을 이 단계에서 선택하는 것을 권장한다. 2개의 전압(저전압 및 고전압)을 사용하는 경우에는, 전압 아일런드의 개시 전압으로서 저전압이 선택되어야 한다.Initially, all circuits are set to a specific voltage (step 110). Preferably all circuits are set to low voltage to reduce the overall power condition. If the circuits are initially set to high voltage, the circuits already have high power and the placed design tends to be high power. If more than one voltage is used, it is recommended to select the lowest voltage at this stage. In the case of using two voltages (low voltage and high voltage), a low voltage should be selected as the starting voltage of the voltage island.
단계 120에서는 배치안된 설계가 빈으로 분할된다. 이 방법(100)에서 각각의 빈 및 전압 아일런드는 등가이어야 한다. 환언하면, 각각의 전압 아일런드가 하나의 빈으로 된다. 상기 분할(또는 "컷팅") 공정 동안, 성능 객체(performance objective)를 충족시키기 위해, 전압 아일런드 생성이 아닌 다른 수단에 의해 전력을 감소시키기 위해, 및 다른 설계 객체를 충족시키기 위해 일반적인 PDS 합성 동작이 사용된다. 특히, PDS 시스템은 이 경우 전체적인 라우팅 제한을 고려할 수 있다. 전압 아일런드가 너무 적으면, 전력 라우팅량이 증가한다. 그것은 시스템 공간에 나쁜 영향을 미칠 수 있다.In step 120, the unplaced design is divided into bins. Each bin and voltage island in this method 100 should be equivalent. In other words, each voltage island becomes one bin. During the splitting (or “cutting”) process, general PDS synthesis operations to meet performance objectives, to reduce power by means other than voltage island generation, and to meet other design objects. This is used. In particular, the PDS system may consider the overall routing constraint in this case. If the voltage island is too small, the amount of power routing increases. It can adversely affect system space.
단계 125에서는 모든 설계 기준이 충족되는 지의 결정이 이루어진다. 일반적으로, 설계 기준은 기본적으로 성능 및 전력을 결합한 것이다. 예를 들어, 설계 기준은 성능 제한을 조건으로 하여 전력을 최소화하는 것일 수 있다. 이러한 기준에 대하여 성능 제한이 충족되어야 하고, 그 성능 기준을 충족하는 각종의 배치 설계에 의해 다른 전력 소모가 발생할 수 있다. 성능을 판단하는 하나의 방법은 "슬랙(slacks)"에 의한 것이다. 신호가 절대적으로 하나의 위치에 있어야 할 때와 신호가 실제로 그곳에 있게 될 때간의 시간량이 슬랙이다. 포지티브 슬랙이라면, 신호가 도착 예정보다 먼저 도착한다. 이것은 경로에서 하나 이상의 회로를 더 적은 전력으로 되게 하는 것을 가능하게 한다. 반대로, 네가티브 슬랙이라면, 신호가 제때에 도착하지 않는다. 일반적으로, 이것은 그 경로에서 하나 이상의 회로를 더 높은 전력으로 변화시키는 것이 성능을 증가시킨다는 것을 의미한다. 성능 제한을 조건으로 전력을 최소화하는 기준에 있어서 상기 설계 기준을 충족시킨다는 것은 모든 성능 객체가 충족되고(즉, 모든 슬랙이 포지티브임) 배치된 설계가 가능한 설계 배치의 최저 전력을 갖는다는 것을 의미한다.In step 125 a determination is made whether all design criteria are met. In general, design criteria basically combine performance and power. For example, the design criterion may be to minimize power subject to performance limitations. Performance limits must be met for these criteria, and different power consumption may occur with various deployment designs that meet the performance criteria. One way of judging performance is by "slacks". The amount of time between when the signal should be absolutely in one position and when the signal is actually there is a slack. If it's a positive slack, the signal arrives ahead of schedule. This makes it possible to bring more power to one or more circuits in the path. Conversely, with negative slack, the signal does not arrive in time. In general, this means that changing one or more circuits to higher power in the path increases performance. Meeting the design criteria in terms of minimizing power subject to performance limitations means that all performance objects are met (i.e. all slack is positive) and that the deployed design has the lowest power of the design deployment possible. .
설계 기준이 전력 제한을 조건으로 하여 성능을 최대화하는 것이라면, 상기 기준을 충족시킨다는 것은 고전압을 많은 빈에 배정하는 것에 의해 전력 제한이 초과하게 된다는 것을 의미한다.If the design criterion is to maximize performance under the power limitation, then meeting that criterion means that the power limit is exceeded by assigning a high voltage to many bins.
전력 및 성능을 제외한 기준이 단계 125에서 시험될 수 있다는 것을 주목해야한다. 예를 들어, 입력/출력 회로 등과 같은 회로에서는 그 위치가 중요하다. 단계 125에서 기준을 충족시킴에 의해 상기 회로가 알맞은 위치에 있다는 것을 확정할 수 있다. 또한, 영역, 잡음, 신뢰도 및 와이어-능력은 단계 125에서 시험될 수 있는 다른 기준이다.Note that criteria except power and performance can be tested in step 125. For example, its location is important in circuits such as input / output circuits. Meeting the criterion in step 125 may ensure that the circuit is in the proper position. Also, area, noise, reliability, and wire-ability are other criteria that can be tested in step 125.
설계 기준이 충족되면(단계 125에서 'YES'), 단계 150에서 배치가 완료된다. 그 단계에서 PDS 시스템에는 회로를 저전압 빈으로부터 고전압 빈으로 또는 그 반대로 전이할 수 없는 제한이 설정된다. 이 단계 중에, 변형된 네트리스트 및 배치 정보가 출력된다. 배치 정보를 출력하기에 앞서서, PDS 시스템은 배치 정보를 생성하기 위해 각 빈내의 각 회로의 정확한 위치를 결정한다. 양호하게는, 이전의 단계에서 회로들이 특정한 빈에 간단히 배치되는 것이 좋다. 단계 150동안, 빈내의 각 회로의 정확한 X, Y 위치가 결정된다. 변형된 네트리스트 및 배치 정보를 일단 출력하면, 설계가 배치되고 최적화된다(단계 160). 설계는 칩을 실제로 제조하는 데 필요한 마스크 등을 생성하기 위해 배선 툴에 이송될 수 있다.If the design criteria are met (YES in step 125), the deployment is complete in step 150. At that stage, the PDS system is set a limit that cannot transition the circuit from a low voltage bin to a high voltage bin or vice versa. During this step, the modified netlist and placement information is output. Prior to outputting the placement information, the PDS system determines the exact location of each circuit in each bin to generate the placement information. Preferably, in the previous step the circuits are simply placed in a particular bin. During step 150, the exact X, Y position of each circuit in the bin is determined. Once the modified netlist and placement information is output, the design is deployed and optimized (step 160). The design can be transferred to a wiring tool to create a mask or the like needed to actually manufacture the chip.
하나 이상의 기준이 충족되지 않으면(단계 125에서 'NO'), 단계 130에서 PDS 시스템은 빈을 제2 전압으로 배정한다. 선택된 빈은 제2 전압의 전압 아일런드로 된다. 양호하게는, 제2 전압이 제1 전압보다 높다. 저전압과 고전압의 2개의 전압을 사용하면, 빈이 고전압으로 배정되는 것이 가장 좋다. 2개 이상의 전압을 사용하면, 2번째의 최고 전압이 빈에 배정되는 것이 좋다. 예를 들어, 3개의 전압(저전압, 중간전압 및 고전압)이 있다면, 양호하게는 빈이 중간 전압으로 초기 배정될 것이다. 단계 125를 통한 두번째 통과에서, 빈내의 회로의 슬랙이 예를 들어 여전히 네카티브라면 상기와 동일한 빈은 이때에 고전압으로 배정될 수 있다. 빈을 저전압에서 고전압으로 증가하는 전압으로 배정함으로써 빈을 감소하는 전압(고전압에서 저전압으로 되는 것)으로 배정하는 것에 의해 달성될 수 있었던 것보다 전력이 더 낮은 배치된 설계를 얻을 수 있다.If one or more criteria are not met (NO in step 125), then in step 130 the PDS system assigns a bin to the second voltage. The selected bin becomes the voltage island of the second voltage. Preferably, the second voltage is higher than the first voltage. If two voltages, low and high, are used, it is best to assign the bin to a high voltage. If more than one voltage is used, the second highest voltage should be assigned to the bin. For example, if there are three voltages (low voltage, medium voltage and high voltage), the bin will preferably be initially assigned to the medium voltage. In a second pass through step 125, if the slack of the circuit in the bin is still a negative, for example, the same bin may be assigned a high voltage at this time. By assigning the bin to a voltage that increases from low voltage to high voltage, it is possible to obtain a deployed design with lower power than could be achieved by assigning the bin to a decreasing voltage (from high voltage to low voltage).
단계 130에서 특정한 빈이 제2 전압으로 배정할 빈으로서 또한 선택된다. 어느 빈을 제2 전압으로 배정할 것인지를 결정하는 방법에는 여러가지가 있다. 제2 전압이 고전압일 때, 일반적으로 그 선택된 빈은 설계시 최악의 슬랙 경로상에 회로를 포함하는 빈으로 된다. 상기 시나리오에서 전압이 증가함에 따라 회로의 속도가 증가하여, 슬랙을 개선한다. 그 선택된 빈은 또한 임의로 선택될 수 있다. 빈을 선택하는 다른 방법(제2 전압이 고전압일 때)은 낮은 스위칭 빈을 선택하는 것이고, 여기서 낮은 스위칭 빈은 많이 사용되지 않는 네트, 즉 상대적으로 적은 횟수로 스위칭되는 회로를 포함하고 있다. 스위칭의 증가가 전력 증가를 가져오므로, 종래의 방법에서는 전력이 감소된다.In step 130 a particular bin is also selected as the bin to assign to the second voltage. There are several ways to determine which bin to assign to the second voltage. When the second voltage is high voltage, the selected bin generally becomes the bin containing the circuit on the worst slack path in design. In this scenario, as the voltage increases, the speed of the circuit increases, improving slack. The selected bin can also be arbitrarily selected. Another way of selecting a bin (when the second voltage is a high voltage) is to select a low switching bin, where the low switching bin includes a less frequently used net, i.e. a circuit that switches relatively few times. Since the increase in switching results in an increase in power, power is reduced in conventional methods.
대안으로, 어느 빈을 제2 전압으로 배정할 것인지의 결정에서는 다수의 늦은 경로가 수렴하는 포인트를 찾는 것을 수반한다. 그 포인트를 찾는 방법은 참고문헌[K. Usami, et al.,"Automated Low-Power Technique Exploiting Multiple Supply Voltages Applied to a Media Processor", Institute of Electrical and Electronics Engineers Journal of Solid-State Circuits, v.33, no. 3, 463-472 (March 1998); 및 L. Berman, et al., "Efficient Techniques for Timing Correction", Proceeding of the 1990 International Symposium on Circuits and Systems(May 1990)]에 설명되어 있으며, 이 참고 문헌은 인용함으로써 이 명세서에 통합된다.Alternatively, the determination of which bin to assign to the second voltage involves finding a point where a number of late paths converge. How to find the point is described in references [K. Usami, et al., "Automated Low-Power Technique Exploiting Multiple Supply Voltages Applied to a Media Processor", Institute of Electrical and Electronics Engineers Journal of Solid-State Circuits, v.33, no. 3, 463-472 (March 1998); And L. Berman, et al., "Efficient Techniques for Timing Correction", Proceeding of the 1990 International Symposium on Circuits and Systems (May 1990), which is incorporated herein by reference.
또한, 선택된 빈은 임계 경로에 다수의 회로를 갖는 빈으로 될 수 있다. 이와 같은 선택을 할 때, 임계 경로에 최대수의 회로를 갖는 빈이 빈으로서 선택될 수 있다. 대안으로서, 빈이 포함하는 회로가 제2 (고)전압으로 배정되면 어느 빈이 임계 경로에 대해 최대 지연 개선을 야기하는지를 판정함으로써 선택을 행할 수 있다. 마지막으로, 빈이 레벨 시프터의 필요성을 감소시키는 것과 같이, 래치에 직접 전력 공급하는 다수의 입력을 갖는 빈을 선택함에 의해 빈 선택이 이루어질 수 있다.The selected bin can also be a bin with multiple circuits in the critical path. When making this selection, bins with the maximum number of circuits in the critical path may be selected as bins. Alternatively, the selection can be made by determining which bin causes the maximum delay improvement for the critical path if the circuit that the bin contains is assigned a second (high) voltage. Finally, a bin selection can be made by selecting a bin with multiple inputs that directly power the latches, such as reducing the need for a level shifter.
다수의 빈이 단계 130에서 선택될 수 있다. 그러나, 간단히 하기 위해, 이 명세서에서는 오직 하나의 빈의 선택에 대하여 설명한다. 또한, 단계 130에서, 선택된 빈 및 그 회로는 제2 전압에 배정된다. 회로를 제2 전압으로 배정하는 것에 의해 PDS 툴이 지연, 전력 소모, 슬랙 및 기타 데이터를 재계산하도록 허용한다. 그 후에, 기준이 충족되었는 지를 결정하기 위해 상기 정보가 사용된다.Multiple bins may be selected in step 130. However, for simplicity, this specification describes the selection of only one bin. Further, in step 130, the selected bin and its circuit are assigned to the second voltage. Assigning the circuit to the second voltage allows the PDS tool to recalculate delays, power consumption, slack and other data. Thereafter, the information is used to determine if the criteria have been met.
단계 135에서, 레벨 시프터가 필요한 곳에 부가된다. 제2 전압이 고전압이면, 선택된 빈이 고전압 아일런드로 변환된다. 신호를 고전압 아일런드(선택된 빈)의 회로에 출력하는 저전압 회로들은 저전압 신호에 부가된 레벨 시프터를 갖는다. 제2 전압이 저전압이라면, 고전압 아일런드의 회로와 저전압 아일런드의 회로 사이에 레벨 시프터를 필요로 하지 않는다. 이것은 일반적으로 저전압 회로가 고전압 회로에 전력을 공급하기 위해 레벨 시프터를 필요로 하지만 고전압 회로가 저전압 회로에 전력을 공급하는 데는 레벨 시프터를 반드시 필요로 하지 않기 때문이다.In step 135, a level shifter is added where needed. If the second voltage is a high voltage, the selected bin is converted to a high voltage island. Low voltage circuits that output a signal to a circuit of a high voltage island (selected bin) have a level shifter added to the low voltage signal. If the second voltage is low voltage, no level shifter is required between the circuit of the high voltage island and the circuit of the low voltage island. This is because low voltage circuits generally require level shifters to power high voltage circuits, but high voltage circuits do not necessarily require level shifters to power low voltage circuits.
단계 140에서, 레벨 시프터가 레벨 시프터를 더 이상 필요로 하지 않는 회로의 출력에서 제거된다. 예를 들어, 저전압 회로가 고전압 회로에 제공하는 출력 신호를 갖는다면, 저전압 회로의 출력 신호는 그것 위에 레벨 시프터를 갖게 된다. 상기 저전압 회로를 포함하는 빈이 높거나 더 높은 전압 아일런드로 만들어질 때, 레벨 시프터가 저전압 회로의 출력상에서 더 이상 필요로 하지 않는다.In step 140, the level shifter is removed from the output of the circuit that no longer needs the level shifter. For example, if the low voltage circuit has an output signal that provides the high voltage circuit, the output signal of the low voltage circuit has a level shifter above it. When the bin containing the low voltage circuit is made of a high or higher voltage island, a level shifter is no longer needed on the output of the low voltage circuit.
단계 145에서, 회로들은 빈들 사이에서 이동하여 속도를 개선하고 전력 및 컨제스쳔을 감소시킨다. 회로들은 선택된 빈으로 이동하여 속도를 증가시키거나(선택된 빈이 고전압 빈인 경우), 점유를 증가시키거나 인접한 빈들에 공간을 확보할 수 있다. 회로들은 선택된 빈 외부로 이동하여 전력을 감소시키거나(선택된 빈이 고전압 빈이고 회로가 저전압 빈으로 이동하는 경우), 컨제스쳔을 감소시키거나, 점유를 감소시키거나 그 포위한 빈 점유를 증가시킬 수 있다.In step 145, the circuits move between the bins to improve speed and reduce power and control. Circuits can move to a selected bin to increase speed (if the selected bin is a high voltage bin), increase occupancy, or free up space in adjacent bins. Circuits can move out of the selected bin to reduce power (when the selected bin is a high voltage bin and the circuit moves to a low voltage bin), reduce congestion, reduce occupancy, or increase the occupied bin occupancy. Can be.
도 1에 덧붙여서, 도 2는 단계 145를 더 구체적으로 설명한다. 이 예의 단계 145에서는 선택된 빈이 고전압이고 일부 포위한 빈들이 저전압인 것으로 기재되어 있다. 상기 상황과 그 반대의 상황, 즉 선택된 빈을 저전압으로 하고 일부 포위한 빈들을 고전압으로 하는 상황간의 차이는 도 2의 설명 후 논의된다. 단계들이 방법 145 및 100에서 특정 순서로 도시되었지만, 그 단계들은 반드시 그 순서대로 수행될 필요는 없다는 것을 알아야한다.In addition to FIG. 1, FIG. 2 describes step 145 in more detail. In step 145 of this example it is described that the selected bin is high voltage and some nested bins are low voltage. The difference between the above situation and vice versa, that is, the situation where the selected bin is low voltage and some of the nested bins are high voltage is discussed after the description of FIG. Although the steps are shown in a particular order in methods 145 and 100, it is to be understood that the steps need not necessarily be performed in that order.
방법 145의 각 단계 또는 동작 후, 회로들은 타이밍 제한을 위반하는지, 빈 용량을 초과하는지, 또는 빈들간의 컷 라인상에서 컨제스쳔 제한을 위반하는지를 알기 위해 검사될 수 있다. 만일 그렇다면, 그 동작은 거절될 수 있다. 타이밍 제한은 회로 이동에 의해 야기된 배선 길이의 변화에 의해 발생되는 네트상의 증가된 부하로 인해 위반될 수 있다. 빈 용량은 너무 많은 회로들이 빈에 배치되어 회로 및 연결 배선이 빈의 영역에 간단히 맞출 수 없는 경우에 위반될 수 있다. 다른 반도체 기술은 회로에 대한 다른 영역 조건을 가질 수 있음을 주목한다. 컨제스쳔 제한은 빈으로 가는 너무 많은 데이터 경로 때문에 너무 많은 와이어가 있는 경우에 위반될 수 있다. 빈으로 가는 데이터 경로가 너무 많으면, 빈은 배선가능하지 않다. 방법 145에서, 회로 이동은 회로의 클로닝을 포함하여 네트 길이에서의 충돌을 감소시킬 수 있다.After each step or operation of method 145, the circuits can be checked to see if it violates the timing limit, exceeds the bin capacity, or violates the constraint limit on the cut line between the bins. If so, the operation may be rejected. Timing restrictions can be violated due to increased load on the net caused by changes in wiring length caused by circuit movement. The bin capacity can be violated if too many circuits are placed in the bin so that the circuit and connecting wiring cannot simply fit into the area of the bin. Note that other semiconductor technologies may have different area conditions for the circuit. Constraints restrictions can be violated if there are too many wires because of too many data paths to the bin. If there are too many data paths to the bin, the bin is not wireable. In method 145, circuit movement may include cloning of the circuit to reduce collisions in the net length.
도 2에서, 방법 145는 비-임계 회로가 선택된 빈에서 저전력의 인접한 빈으로 이동될 때 시작된다(단계 210). 임계 경로는 소정의 타이밍 조건을 충족할 필요가 있으며 또한 타이밍을 충족하기에 가장 어려운 경향이 있다. PDS 시스템은 타이밍 분석을 수행하고, 그 분석으로부터 어느 경로가 임계 경로인지를 결정한다. 비-임계 회로는 임계 경로에 없는 회로이다. 역으로, 임계 회로는 임계 경로에 있는 회로이다. 단계 210에서는 비-임계 회로를 저전력 전압 아일런드로 이동함으로써 전력을 낮춘다. 필요하다면, 상기 비-임계 회로의 출력상의 레벨 시프터가 그 입력으로 이동된다. 상기 단계에서 다른 저전압 빈의 회로에 공급되는 빈 출력을 소싱하는 선택된 빈의 회로들을 우선적으로 선택하는 것이 가능하다.In FIG. 2, method 145 begins when a non-critical circuit is moved from a selected bin to a low power adjacent bin (step 210). Critical paths need to meet certain timing conditions and also tend to be the most difficult to meet timing. The PDS system performs a timing analysis and determines from which analysis which path is the critical path. Non-critical circuits are circuits that are not in the critical path. Conversely, the threshold circuit is a circuit in the critical path. In step 210 power is lowered by moving the non-critical circuit to a low power voltage island. If necessary, the level shifter on the output of the non-critical circuit is moved to its input. In this step it is possible to preferentially select the circuits of the selected bin sourcing the bin outputs supplied to the circuits of the other low voltage bins.
또한 단계 210에서, 다른 저전압 빈의 회로에 의해 공급되는 선택된 빈의 회로들을 우선적으로 선택하는 것이 가능하다. 필요한 레벨 시프터수를 감소하기 위해, 최대-흐름, 최소-컷(max-flow, min-cut)의 절차가 수행될 수 있다. 최대-흐름, 최소-컷의 절차를 설명하는 참고문헌으로는 "Graph Algorithms", Shimon Even, Computer Science Press, 1979 가 있으며, 이 참고 문헌은 여기에서의 인용에 의해 이 명세서에 통합된다. 상기 절차에서 흐름 그래프는 다른 저전압 빈의 회로에 의해 공급되는 선택된 고전압 빈상의 모든 비-임계 빈 입력의 세트로부터 및 그 선택된 빈의 팬-아웃 콘(cones)의 비-임계 회로로부터 구성된다. 흐름 네트워크를 통한 최소-컷이 결정된다. 상기 흐름 네트워크를 통한 최소-컷 내의 네트 중 "잔류"인 모든 회로가 결정된다. 상기 "잔류" 또는 "공급" 회로를 인접한 저전압 빈으로 이동하는 것에 의해 빈 입력에서 필요로 하는 레벨 시프터의 수가 최소로 된다. 본질적으로, 상기 절차는 저전압에서 고전압으로 변이하는 신호의 수를 최소로 생성하고 배선 길이를 최소화한다. 흐름 그래프는 어느 회로가 저전압으로 이동되어야 하는지를 결정하는 하나의 방법이다.In step 210 it is also possible to preferentially select the circuits of the selected bin which are supplied by the circuits of the other low voltage bins. In order to reduce the number of level shifters required, a procedure of max-flow, min-cut (max-flow, min-cut) may be performed. References describing the procedure of maximum-flow, minimum-cut include "Graph Algorithms", Shimon Even, Computer Science Press, 1979, which is incorporated herein by reference. In the above procedure, the flow graph is constructed from a set of all non-critical bin inputs of a selected high voltage bin supplied by a circuit of another low voltage bin and from a non-critical circuit of fan-out cones of that selected bin. The minimum-cut through the flow network is determined. All circuits that are “residual” of the nets within the minimum-cut through the flow network are determined. Moving the "residual" or "supply" circuit to an adjacent low voltage bin minimizes the number of level shifters required at the bin input. In essence, the procedure produces a minimum number of signals transitioning from low voltage to high voltage and minimizes wiring length. The flow graph is one way of determining which circuit should be moved to the low voltage.
단계 210에서는 고 스위칭 회로를 빈 외부로 또한 양호하게 이동할 수 있다. 고 스위칭 회로는 상대적으로 높은 시간량을 스위치하는 회로이다. 그 상대적으로 높은 스위칭량이 더 많은 전력을 소모한다. 그러므로, 전력을 감소시키는 방법은 고전압 빈에서 저전압 빈까지의 고 스위칭 회로를 제거한다는 것이다. 회로가 임계 경로에 있다면, 회로가 고 스위칭 회로일지라도 고전압 빈에 남아있게 된다.In step 210, the high switching circuit can also move well out of the bin. The high switching circuit is a circuit for switching a relatively high amount of time. The relatively high switching amount consumes more power. Therefore, a method of reducing power is to eliminate the high switching circuit from the high voltage bin to the low voltage bin. If the circuit is in the critical path, it will remain in the high voltage bin even if the circuit is a high switching circuit.
단계 220에서, 그 선택된 빈이 최소 용량 이하로 떨어지면(단계 220에서 'YES'), 선택된 빈의 회로의 출력에 의해 전력이 공급되는 저전압 회로가 선택된 빈에 부가된다(단계 240). 이러한 방법으로 이동하는 회로들은 이 회로들이 레벨 시프터를 필요로 하는 입력을 따라서 있을 수 있으므로, 필요에 따라 부가되는 레벨 시프터 수를 최소화하기 위해 우선적으로 선택된다. 이 단계에서는 임계 네트에 의해 전력 공급되는 회로를 고전압 빈에 부가함으로써 임계 네트가 가장 빠른 속도로 유지되게 한다. 그러므로, 선택된 빈의 크기가 적을 때, 임계 네트에 의해 전력 공급되고 저전력 빈에 있는 회로가 고전력으로 선택된 빈에 부가되고, 비-임계 회로가 선택된 빈에서 제거된다. 대안으로서, 이 단계에서는 포위하는 영역으로부터 선택된 빈으로 저 스위칭 회로를 부가하는 것을 수반할 수 있다. 이것이 전력을 감소시키고, 선택된 빈의 용량을 증가시킨다.In step 220, if the selected bin falls below the minimum capacity (YES in step 220), a low voltage circuit powered by the output of the circuit of the selected bin is added to the selected bin (step 240). Circuits moving in this way may be along the input where these circuits require a level shifter, and are therefore preferentially selected to minimize the number of level shifters added as needed. In this step, the circuit powered by the critical net is added to the high voltage bin so that the critical net is maintained at the fastest speed. Therefore, when the size of the selected bin is small, the circuit powered by the critical net and in the low power bin is added to the selected bin at high power, and the non-critical circuit is removed from the selected bin. As an alternative, this step may involve adding a low switching circuit from the surrounding area to the selected bin. This reduces the power and increases the capacity of the selected bin.
선택된 빈이 최소 용량 이하로 떨어지지 않으면(단계 220에서 'NO'), 모든 비-임계 회로가 이동되었는지의 결정이 이루어진다(단계 225). 그렇지 않다면(단계 225에서 'NO'), 방법은 단계 210으로 되돌아간다. 모든 비-임계 회로가 이동되었다면(단계 225에서 'YES'), 선택된 빈의 임계 회로에 전력을 공급하는 저전압 빈의 임계 회로가 선택된 빈으로 이동된다(단계 203). 그러므로, 선택된 빈의 임계 회로가 여전히 타이밍 제한을 충족하지 않는다면, 이들 임계 회로에 전력을 공급하는 회로가 저전력에서 고전력으로 이동된다. 그럼으로써 임계 경로에서 속도를 내게 하고 타이밍을 개선한다. 레벨 시프터가 있는 경우에는, 레벨 시프터가 새롭게 부가된 회로의 출력에서 새롭게 부가된 회로의 입력으로 이동된다.If the selected bin does not fall below the minimum capacity ('NO' in step 220), a determination is made whether all non-critical circuits have been moved (step 225). If not ('NO' in step 225), the method returns to step 210. If all non-critical circuits have been moved (YES at step 225), then the threshold circuit of the low voltage bin powering the threshold circuits of the selected bin is moved to the selected bin (step 203). Therefore, if the threshold circuits of the selected bin still do not meet the timing constraints, the circuits that power these threshold circuits are moved from low to high power. This speeds up the critical path and improves timing. If there is a level shifter, the level shifter is moved from the output of the newly added circuit to the input of the newly added circuit.
단계 235에서, 선택된 빈이 최소 용량 이하로 떨어지면, 선택된 빈의 임계 회로의 출력에 의해 전력 공급되는 저전압 회로가 선택된 빈에 부가된다. 단계 235는 단계 240과 바슷하다. 상기 방법으로 이동하는 회로들은 필요에 따라 부가되는 레벨 시프터 수를 최소화하도록 우선적으로 선택된다. 단계 235에서는 임계 네트에 의해 전력 공급되는 회로를 고전압 빈에 부가함으로써 임계 네트가 가장 빠른 속도로 유지되게 한다. 그러므로, 선택된 빈의 크기가 적을 때, 임계 네트에 의해 전력 공급되고 저전력 빈에 있는 회로들이 고전력의 선택된 빈에 부가되고, 비-임계 회로가 선택된 빈에서 제거된다.In step 235, if the selected bin falls below the minimum capacity, a low voltage circuit powered by the output of the threshold circuit of the selected bin is added to the selected bin. Step 235 is similar to step 240. Circuits moving in this way are preferentially selected to minimize the number of level shifters added as needed. In step 235, the circuit powered by the critical net is added to the high voltage bin so that the critical net is maintained at the fastest speed. Therefore, when the size of the selected bin is small, the circuits powered by the critical net and in the low power bin are added to the selected bin of high power, and the non-critical circuit is removed from the selected bin.
또한, 단계 235에서, 선택된 빈의 외부로 이동되는 회로에 대해 인접한 빈에 공간을 확보하는 것이 필요할 수 있다. 그것을 이루기 위하여, 선택된 빈의 임계 회로의 출력에 의해 전력 공급되는 저전압 회로가 선택된 빈에 부가된다. 또한, 상기 방법으로 이동하는 회로들은 필요에 따라 부가되는 레벨 시프터 수를 최소화하도록 우선적으로 선택된다.In addition, at step 235, it may be necessary to reserve space in adjacent bins for circuits that are moved out of the selected bin. To accomplish this, a low voltage circuit powered by the output of the threshold circuit of the selected bin is added to the selected bin. In addition, circuits moving in this manner are preferentially selected to minimize the number of level shifters added as needed.
단계 255에서 모든 기준이 그 빈에 충족하는 지에 관한 결정이 이루어진다. 그 기준은 주로 칩 설계용으로 설정된 성능 및 전력 기준에 따른 성능 및 전력 기준이 될 것이다. 또한, 용량 과다 또는 용량 부족, 라우팅 또는 위치 사양 등과 같은 다른 기준이 검사될 수 있다. 모든 기준이 충족되지 않으면(단계 255에서 'NO'), 방법 145가 다시 수행되고; 모든 기준이 충족되면(단계 255에서 'YES'), 그 방법은 단계 250에서 종료된다. 성능 및 전력 기준이 단계 255 이전에 충족될 수 있다 하더라도, 방법(145)은 다른 기준을 여전히 충족하면서 전력을 최대폭으로 감소시키기 위하여 복수회 수행될 수 있다. 다른 기준(및 특히, 성능 기준)을 충족하는 저전력 구성은 가장 양호한 해결책이다.In step 255 a determination is made as to whether all criteria meet the bin. The criteria will be performance and power criteria based primarily on performance and power criteria set for chip design. In addition, other criteria such as over or under capacity, routing or location specifications, etc. may be examined. If all the criteria are not met ('NO' in step 255), method 145 is performed again; If all the criteria are met (YES at step 255), the method ends at step 250. Although the performance and power criteria may be met before step 255, the method 145 may be performed multiple times to maximize power reduction while still meeting other criteria. Low power configurations that meet other criteria (and especially performance criteria) are the best solution.
방법 145는 도 2에 도시된 단계 모두를 포함할 수도 있고 또는 도시된 단계들 중 특정의 일부만을 포함할 수도 있다. 예를 들어, 방법 145에서 단계 210만이 사용될 수 있다. 양호하게는, 모든 단계를 사용하는 것이 최소 전력량으로 최상의 성능을 제공하기 때문에 바람직하다. 또한, 방법 145의 어떤 단계가 미리 정해진 레벨을 초과하여 컨제스쳔을 증가시키면, 컨제스쳔을 감소시키기 위하여 빈들간에서 회로를 이동시킬 수 있다.Method 145 may include all of the steps shown in FIG. 2 or may include only some of the specific steps shown. For example, only step 210 may be used in method 145. Preferably, using all steps is preferred because it provides the best performance with the least amount of power. In addition, if any step of method 145 increases the control above a predetermined level, the circuit may be moved between bins to reduce the control.
도 2에 도시된 방법(145)은 선택된 빈이 인접한 빈보다 높은 전압으로 배정될 때마다 적용될 수 있다. 선택된 빈이 저전압이고 인접한 빈이 더 높은 전압이면, 방법(145)이 약간 달라진다. 이 실시예에서는 단계 210에서 비-임계 회로를 인접한 빈들로부터 선택된 빈으로 이동하고 그 선택된 빈의 외부로 임계 회로를 이동시키는 것이 더 유리하다. 단계 240에서, 비-임계 회로인 출력 회로가 선택된 빈으로 우선적으로 이동된다. 그것은 단계 230 및 235에서도 같다. 즉 포위하는 고전력 빈으로부터의 비-임계 회로가 저전력 빈으로 이동된다.The method 145 shown in FIG. 2 may be applied whenever the selected bin is assigned a higher voltage than the adjacent bin. If the selected bin is low voltage and the adjacent bin is a higher voltage, the method 145 is slightly different. In this embodiment, it is more advantageous to move the non-critical circuit from adjacent bins to the selected bin in step 210 and to move the threshold circuit out of the selected bin. In step 240, the output circuit, which is a non-critical circuit, is preferentially moved to the selected bin. The same is true for steps 230 and 235. That is, the non-critical circuit from the surrounding high power bin is moved to the low power bin.
방법 100의 단계 145 후에 방법 100의 단계 125가 다시 수행된다. 방법 100은 기준을 충족할 때까지 또는 방법이 수렴하지 않을 때까지 계속된다. 일반적으로, 후자는 시간 제한으로 세트된다, 즉, 방법이 특정 시간을 초과하면, 방법이 해답(solution)으로 수렴하지 않는 것으로 추정된다. 예를 들어, 너무 낮은 전력 기준이 너무 높은 성능 기준에 대해 선택되면, 상기 경우가 발생한다.After step 145 of method 100, step 125 of method 100 is performed again. Method 100 continues until the criteria are met or until the method does not converge. In general, the latter is set to a time limit, i.e., if the method exceeds a certain time, it is assumed that the method does not converge to the solution. For example, if too low a power criterion is chosen for a too high performance criterion, this case occurs.
도 1 및 도 2와 함께 도 3 내지 도 7을 참조하면, 도 3 내지 도 7은 칩 설계의 예시적인 섹션을 도시한 것이다. 도 3은, 설계가 방법 100의 단계 105에서 존재하는 것과 같이, 완전히 배치안된 칩 설계를 도시하고 있다. 도 4 내지 도 7은 동일한 칩 설계를 방법 100 및 145의 배치 공정의 각종 단계에서 도시한 것이다.Referring to FIGS. 3-7 together with FIGS. 1 and 2, FIGS. 3-7 illustrate exemplary sections of a chip design. 3 shows a chip design that is not fully deployed, as the design exists at step 105 of method 100. 4-7 illustrate the same chip design at various stages of the batch process of methods 100 and 145.
도 3에는 완전히 배치안된 칩 설계가 도시된다. 배치안된 칩 설계(300)는 각종 입력(310,311,312,313,314,315.316) 및 출력(320)을 구비하고 있다. 배치안된 칩 설계(300)는 또한 다수의 회로, 즉 다수의 NAND 게이트(331,332), 논리 블록(340,330), 다수의 인버터(350,351,352,353,354,355) 및 NOR 게이트(360)를 포함하고 있다. 배치안된 칩 설계(300)는 네트리스트에 의해 설명된다.3 shows a completely unplaced chip design. The unplaced chip design 300 has various inputs 310, 311, 312, 313, 314, 315. 316 and an output 320. The unplaced chip design 300 also includes a number of circuits, namely a number of NAND gates 331, 332, logic blocks 340, 330, a number of inverters 350, 351, 352, 353, 354, 355 and a NOR gate 360. Undeployed chip design 300 is described by a netlist.
도 4에서는 부분 배치된 설계(400)를 도시하고 있으며, 상호 연결부의 일부만이 도시된다. 부분 배치된 설계(400)는 방법 100의 단계 110 및 120 후에 나타난다. 각 빈은 저전압으로 세트되어, 저전압 빈/아일런드(410 및 420)를 생성한다. 바운더리(430)에 의해 2개의 아일런드(410,420)를 분리한다. 단계 120에서, 일반적인 PDS 합성 동작은 성능 객체를 충족시키고, 전압 아일런드 생성을 제외한 다른 수단에 의해 전력을 감소하고, 다른 설계 객체를 충족시키기 위해 사용된다. 그 결과, 도 4에 도시된 부분 배치된 설계(400)가 생성된다. 경로(370)는 임계 경로이고 네트(440 및 460)는 바운더리(430)를 크로스한다.4 shows a partially disposed design 400, with only a portion of the interconnects shown. The partially deployed design 400 appears after steps 110 and 120 of method 100. Each bin is set to a low voltage, producing low voltage bins / islands 410 and 420. The two islands 410 and 420 are separated by the boundary 430. In step 120, a general PDS synthesis operation is used to meet performance objects, reduce power by other means except for voltage island generation, and to meet other design objects. As a result, the partially disposed design 400 shown in FIG. 4 is created. Path 370 is a critical path and nets 440 and 460 cross boundary 430.
도 5에서, 빈(410)은 고전압 빈/아일런드(510)로 배정된다. 단계 125에서, 모든 기준이 충족되지 않아서(단계 125에서 'NO'), 빈(510)이 단계 130에서 고전압 빈으로서 선택된다. 빈(520)(도 4의 420)은 변하지 않고 여전히 저전압 빈이다. 빈(510)의 모든 회로는 고전압으로 배정된다. 빈(510)은 상기 적은 설계의 가장 나쁜 슬랙 경로(경로 370)상에 대부분의 회로를 가지므로, 고전압 빈으로서 선택된다(방법 100의 단계 130). 레벨 시프터(470,480,490)는 네트(370,370,440) 각각에 부가되어 상기 신호를 더 높은 전압으로 시프트한다(단계 135). 레벨 시프터는 신호가 인버터(353)를 떠나서 인버터(354)로 이동할 때 네트(460) 및 경로(370)에 부가되지 않는데, 왜냐하면 이것들은 고전압 신호이기 때문이다. 이 신호들은 저전압 회로를 구동시킬 수 있어야 한다. 단계(140)에서 레벨 시프터는 제거되지 않는다.In FIG. 5, bin 410 is assigned to high voltage bin / island 510. In step 125, all criteria are not met ('NO' in step 125), so the bin 510 is selected as the high voltage bin in step 130. The bin 520 (420 of FIG. 4) remains unchanged and is a low voltage bin. All circuitry in bin 510 is assigned a high voltage. The bin 510 is selected as the high voltage bin because it has most of the circuitry on the least designed worst slack path (path 370) (step 130 of method 100). Level shifters 470, 480, 490 are added to the nets 370, 370, 440, respectively, to shift the signal to a higher voltage (step 135). The level shifter is not added to the net 460 and the path 370 when the signal leaves the inverter 353 and moves to the inverter 354 because these are high voltage signals. These signals must be able to drive the low voltage circuit. In step 140 the level shifter is not removed.
부분 배치된 설계(400)는 전력, 성능 및 다른 기준이 충족되는 지를 결정하기 위해 상기 단계후 검사될 수 있다. 빈 또는 고전압 아일런드(510)의 경우에, 네트 컨제스쳔은 매우 높고; 입력(310 내지 314)은 빈의 한 쪽상에 약간의 배선만을 필요로 한다. 또한, 비-임계 회로(NAND 게이트 332) 및 비-임계 네트(450,440,460)는 고전압 빈(510) 내에 있다. 더욱이, 임계 경로(370)는 타이밍 조건을 충족하지 않는 것으로 추정할 수 있고, 이것은 슬랙이 네가티브임을 의미한다.The partially deployed design 400 may be checked after the step to determine if power, performance and other criteria are met. In the case of an empty or high voltage island 510, the net control is very high; Inputs 310 through 314 only require some wiring on one side of the bin. Further, non-critical circuits (NAND gate 332) and non-critical nets 450, 440, 460 are in high voltage bin 510. Moreover, it can be assumed that threshold path 370 does not meet the timing condition, which means that the slack is negative.
도 5 및 도 6은 도 2의 방법(145)의 단계 시퀀스에 대한 이하의 설명에서 인용되어야 한다. 빈(510)이 최적화되지 않기 때문에, 방법 145의 단계 210에서 입력(314), 회로(332) 및 네트(440,460,450)가 저전압 빈/아일런드(520)로 이동된다. 레벨 시프터(490)는 더 이상 필요하지 않으므로 제거된다. 단계 220에서 선택된 빈이 최소 용량 이하로 되지 않고, 단계 224에서 모든 저전압 회로가 이동되었다. 단계 230에서 임계 회로(354,360)가 고전압 빈/아일런드(510)로 이동된다. 레벨 시프터(470)는 더 이상 필요로 하지 않으나, 레벨 시프터(610)는 네트(620)로부터의 전압을 증가시키기 위해 부가된다.5 and 6 should be cited in the following description of the step sequence of the method 145 of FIG. Because bin 510 is not optimized, input 314, circuit 332 and nets 440, 460, 450 are moved to low voltage bin / island 520 at step 210 of method 145. The level shifter 490 is no longer needed and thus removed. The bin selected in step 220 does not go below the minimum capacity and in step 224 all low voltage circuitry has been moved. In step 230 threshold circuits 354 and 360 are moved to high voltage bin / island 510. Level shifter 470 is no longer needed, but level shifter 610 is added to increase the voltage from net 620.
전력 및 성능 기준이 단계 255에서 결정된다. 이 예에서 전력 및 성능 기준이 충족된다고 가정한다. 그러나, 전력 및 성능의 양호한 조합이 다른 배치에서 생성될 수 있는지를 확인하기 위해 방법 145가 소정 횟수 반복될 수 있다. 도 1 및 도 2와 함께 도 6 및 도 7을 참조하면, 방법 145를 반복한 후의 결과가 도 7의 배치된 설계(700)이다. 임계 경로(370)의 도 6의 배치가 그 경로의 슬랙을 포지티브로 되게 하는 것을 알 수 있다. 그것이 타이밍 조건을 충족시키기 때문에, 경로(370)는 도 7에서 더 이상 임계 경로가 아니다. 그러나, 상기 경로에 대한 모든 변화는 타이밍과의 일치성을 결정하기 위해 검사되어야 한다. 단계 210에서 임계 회로(350)는 고전압 빈/아일런드(510)로부터 저전압 빈/아일런드(520)로 이동되었다. 그 결과, 성능 기준을 충족하면서도 레벨 시프터수를 최하로 하고 전력 소모를 최하로 할 수 있다. 상기 반복 공정동안, 임계 회로(351,352) 등이 빈(510)으로부터 빈(520)으로 또한 이동되었다. 그러나, 성능이 충족되지 않았다. 그러므로, 배치된 설계(700)가 성능 및 전력 기준을 충족시킨다. 전력이 기준 이하이면, 회로(350) 및 회로(340)가 고전압 빈(510)에 부가된다(용량 조건이 위반되지 않았다는 가정하에).Power and performance criteria are determined at step 255. In this example, it is assumed that power and performance criteria are met. However, the method 145 may be repeated a certain number of times to ascertain that a good combination of power and performance can be produced in another batch. Referring to FIGS. 6 and 7 in conjunction with FIGS. 1 and 2, the result after repeating method 145 is the deployed design 700 of FIG. 7. It can be seen that the arrangement of FIG. 6 of the critical path 370 causes the slack of that path to be positive. Because it meets the timing condition, path 370 is no longer a critical path in FIG. However, all changes to the path must be checked to determine consistency with timing. In step 210 the threshold circuit 350 is moved from the high voltage bin / island 510 to the low voltage bin / island 520. As a result, the number of level shifters can be minimized and power consumption can be minimized while meeting performance criteria. During the iterative process, critical circuits 351, 352 and the like were also moved from bin 510 to bin 520. However, the performance was not met. Therefore, the deployed design 700 meets performance and power criteria. If the power is below the reference, the circuit 350 and the circuit 340 are added to the high voltage bin 510 (assuming that the capacitance condition has not been violated).
단계 145 후에, 전체 설계가 최적화될 때까지, 부가된 빈이 단계 125 내지 145에서 선택되고 최적화된다. 도 7의 간단한 예에서 빈(520)은 고전압으로 배정될 수 있다. 그것에 의해 성능이 개선된다. 그러나, 전력이 또한 증가한다. 배치된 설계(700)가 성능 및 전력 조건을 충족시키므로, 단계 125에서는 모든 기준이 충족된다고 표시할 것이다. 단계 150에서, 배치가 완료되고 네트리스트 및 배치 정보를 출력한다. 그 결과 배치되고 최적화된 설계로 된다(단계 160).After step 145, the added bins are selected and optimized in steps 125-145 until the overall design is optimized. In the simple example of FIG. 7, bin 520 may be assigned a high voltage. This improves the performance. However, power also increases. Since the deployed design 700 meets performance and power requirements, step 125 will indicate that all criteria are met. In step 150, the batch is completed and the netlist and the batch information are output. The result is a placed and optimized design (step 160).
방법 100 및 145에서 클로닝 및 버퍼링 등의 일반적인 합성 동작을 또한 포함하여 전력을 더 감소시킨다. 도 8 및 도 9는 (배선 길이를 최소화하고 레벨 시프터를 제거함으로써) 전력을 감소시키기 위해 방법 145동안 수행된 클로닝 동작을 예시한다. 도 8에서, 부분 배치된 설계(1000)는 저전압 빈(1030)으로부터 바운더리(1040)에 의해 분리된 고전압 빈(1020)을 포함하고 있다. 바운더리(1040)상에는 2개의 레벨 시프터(1055, 1060)가 있다. 레벨 시프터(1060)는 전압을 빈(1030)의 저전압으로부터 빈(1020)의 고전압으로 시프트하는 반면에 레벨 시프터(1055)는 그 역의 동작을 수행한다. 구현되는 기술에 따라, 레벨 시프터(1055)를 필요로 하지 않게도 된다. 도 8에 사용되는 특정한 기술에서는 레벨 시프터(1055)를 사용한다. 경로(1090)가 도 8의 타이밍 조건에 충족되었던 임계 경로이다.The methods 100 and 145 also include general synthetic operations such as cloning and buffering to further reduce power. 8 and 9 illustrate a cloning operation performed during method 145 to reduce power (by minimizing wiring length and eliminating level shifters). In FIG. 8, the partially disposed design 1000 includes a high voltage bin 1020 separated by a boundary 1040 from a low voltage bin 1030. There are two level shifters 1055 and 1060 on the boundary 1040. The level shifter 1060 shifts the voltage from the low voltage of the bin 1030 to the high voltage of the bin 1020, while the level shifter 1055 performs the reverse operation. Depending on the technology implemented, the level shifter 1055 may not be required. The particular technique used in FIG. 8 uses a level shifter 1055. Path 1090 is a critical path that has met the timing condition of FIG. 8.
고전압 빈(1020)은 입력(1010∼1013), 인버터(1070,1075,1080,1085), 논리 블록(1050) 및 출력(1091)을 포함하고 있다. 저전압 빈(1030)은 입력(1014∼1016), 논리 블록(1045), NOR 게이트(1086) 및 인버터(1087)를 포함하고 있다. 방법 145가 부분 배치된 설계(1000)상에서 작동할 때, 배선 길이가 높게 된 것으로 결정되고(특히 네트 1093 및 1094) 레벨 시프터(1055)가 제거될 수 있다. 그것을 지지하기 위해, 인버터(G1, 1070) 및 인버터(G2, 1075)는 인버터(G1 클론, 1097) 및 인버터(G2 클론, 1096)로 되도록 클론된다(도 9 참조). 이것은 라인 길이가 이제 네트(1091)이므로 라인 길이를 감소시킨다. 또한, 레벨 시프터(1055)가 더 이상 필요로 하지 않으므로, 레벨 시프터수가 감소된다.The high voltage bin 1020 includes inputs 1010-1013, inverters 1070, 1075, 1080, and 1085, logic blocks 1050 and outputs 1091. The low voltage bin 1030 includes inputs 1014-1016, a logic block 1045, a NOR gate 1086, and an inverter 1087. When the method 145 operates on a partially disposed design 1000, the wiring length is determined to be high (especially nets 1093 and 1094) and the level shifter 1055 can be removed. To support it, inverters G1 and 1070 and inverters G2 and 1075 are cloned to be inverters G1 clone 1097 and inverters G2 clone 1096 (see FIG. 9). This reduces the line length since the line length is now net 1091. Also, since the level shifter 1055 is no longer needed, the number of level shifters is reduced.
앞선 방법이 PDS(place driven synthesis)를 사용해서 설명된다. 다른 배치 툴 및 방법이 있다. 본 발명은 설계시 회로 위치를 계속해서 개선하고 배치 공정이 논리 위치를 변화시키도록 인터럽트될 수 있는 임의의 배치 환경에 적용될 수 있다. 다음의 설명은 시뮬레이트된 어닐링 플레이서(placer)인 배치 툴 및 그 방법론에 대하여 집중한다. 개요부에서 언급했듯이, 그러한 배치 툴은 크리스탈의 물리적인 어닐링과 유사하게 동작하여, 배치에 다수의 변화가 이루어진다.The foregoing method is described using place driven synthesis (PDS). There are other deployment tools and methods. The present invention can be applied to any placement environment where design can continue to improve circuit placement and the placement process can be interrupted to change the logical position. The following description focuses on a batch tool and a methodology that is a simulated annealing placer. As mentioned in the overview, such placement tools behave similarly to the physical annealing of crystals, resulting in many variations in placement.
도 10은 시뮬레이트된 어닐링 플레이서를 사용하는 전압 아알런드를 논리적 및 물리적으로 동시에 구성하는 방법(800)을 도시하고 있다. 방법 800은 방법 100과 매우 비슷하므로, 여기에서는 방법 800을 참조하여 그 차이점만을 설명한다. 그 설명 중에, 비교를 위해 도 1을 참조하는 것이 좋을 것이다.FIG. 10 illustrates a method 800 for logically and physically configuring a voltage aland simultaneously using a simulated annealing placer. Since method 800 is very similar to method 100, only the differences are described here with reference to method 800. During the description, it would be good to refer to FIG. 1 for comparison.
상기 2개의 방법들간의 하나의 차이는 방법 800의 단계 820에 있다. 방법 100에서 사용된 것과 같이 PDS 시스템은 칩 설계를 빈이라 불리우는 여러 개의 영역으로 분할한다. 시뮬레이트된 어닐링 배치 시스템은 빈을 사용하지 않는다. 단계 820에서는, 칩 설계를 분할하고 설계시 합성 동작을 수행하는 대신에, 회로를 이동시키는 평균 거리가 최소로 권고된 전압 아일런드 크기보다 적을 때까지 정상적인 어닐링 배치 공정을 수행한다. 이로써 전압 아일런드의 논리적 및 물리적 동시 구성을 부가하기에 앞서서 정상적인 어닐링 배치 공정이 완료될 수 있다.One difference between the two methods is in step 820 of method 800. As used in Method 100, the PDS system divides the chip design into several areas called bins. The simulated annealing batch system does not use bins. In step 820, instead of dividing the chip design and performing a synthesis operation in the design, a normal annealing placement process is performed until the average distance to move the circuit is less than the minimum recommended voltage island size. This allows a normal annealing batch process to be completed prior to adding logical and physical simultaneous configuration of the voltage island.
단계 830에서는, 회로를 "시드" 회로로서 선택한다. 전술한 바와 같이, 모든 회로를 저전압으로 초기에 세트하는 것이 양호하다. 그 후에 시드 회로가 고전압으로 배정되고 고전압 아일랜드가 시드 회로 주위에서 생성된다. 고전압 아일런드의 크기는 그 아일런드 내의 회로수에 따라 증가 또는 감소할 수 있다. 기존의 고전압 아일런드에 가까운 회로를 시드 회로로서 우선적으로 선택하는 것이 가능하다. 그러므로, 기존의 고전압 아일런드에 물리적으로 인접한 시드 회로를 이동시킴으로써 그 기존의 고전압 아일런드의 크기가 증가한다. 그러므로, 전체 빈을 전압 아일런드로서 선택하는 빈을 갖는 대신에, 방법 800은 회로를 선택하고 그 회로 주위에서 전압 아일런드를 생성한다.In step 830, the circuit is selected as the "seed" circuit. As described above, it is preferable to initially set all the circuits to low voltage. The seed circuit is then assigned a high voltage and a high voltage island is created around the seed circuit. The size of the high voltage island may increase or decrease depending on the number of circuits in the island. It is possible to preferentially select a circuit close to the existing high voltage island as the seed circuit. Therefore, by moving the seed circuit physically adjacent to the existing high voltage island, the size of the existing high voltage island is increased. Therefore, instead of having a bin that selects the entire bin as a voltage island, method 800 selects a circuit and generates a voltage island around the circuit.
단계 845에서, 회로들이 영역들간에(아일런드들간에) 이동되어 속도를 개선하고 전력 및 컨제스쳔을 감소시킨다. 단계 845는 도 11에서 방법 845로서 더 상세하게 개시되고, 도 2의 단계 230 내지 255와 비슷하다. 단계 930에서, 선택된 아일런드의 임계 회로에 전력을 공급하는 저전압 아일런드의 임계 회로는 선택된 아일런드로 이동된다. 필요하다면, 아일런드의 크기가 증가된다. 그러므로, 그 선택된 아일런드의 임계 회로 및 경로가 타이밍 제한을 여전히 충족시키지 않으면, 상기 임계 회로에 전력을 공급하는 회로는 저전력에서 고전력으로 이동된다. 이것은 임계 경로의 속도를 내게 하고 타이밍을 개선한다. 레벨 시프터가 있다면, 그 레벨 시프터는 새롭게 부가된 회로의 출력에서 새롭게 부가된 회로의 입력으로 이동된다.In step 845, the circuits are moved between regions (between islands) to improve speed and reduce power and control. Step 845 is described in more detail as method 845 in FIG. 11 and is similar to steps 230-255 of FIG. 2. In step 930, the threshold circuit of the low voltage island that powers the threshold circuit of the selected island is moved to the selected island. If necessary, the size of the island is increased. Therefore, if the threshold circuit and path of the selected island still do not meet the timing constraints, the circuit powering the threshold circuit is moved from low power to high power. This speeds up the critical path and improves timing. If there is a level shifter, the level shifter is moved from the output of the newly added circuit to the input of the newly added circuit.
단계 935에서, 선택된 시드 회로를 포함하는 아일런드가 최소 용량 이하로 떨어진다면, 선택된 아일런드의 임계 회로의 출력에 의해 전력 공급되는 저전압 회로가 선택된 아일런드에 부가된다. 상기 방법으로 이동되는 회로들은 필요에 따라 부가되는 레벨 시프터 수를 최소화하도록 우선적으로 선택된다. 단계 940에서는 임계 네트에 의해 전력 공급되는 회로를 고전압 아일런드에 부가함으로써 임계 네트가 가장 빠른 속도로 유지되게 한다. 그러므로, 선택된 아일런드 크기가 작아지면, 임계 네트에 의해 전력 공급되고 저전력 아일런드내에 있는 회로가 고전력으로 선택된 아일런드에 부가되고, 비-임계 회로가 선택된 아일런드에서 제거된다.In step 935, if the island containing the selected seed circuit falls below the minimum capacity, a low voltage circuit powered by the output of the threshold circuit of the selected island is added to the selected island. Circuits moved in this way are preferentially selected to minimize the number of level shifters added as needed. In step 940, the circuit powered by the critical net is added to the high voltage island so that the critical net is maintained at the fastest speed. Therefore, as the selected island size becomes smaller, the circuit powered by the critical net and in the low power island is added to the selected island with high power, and the non-critical circuit is removed from the selected island.
또한, 단계 935에서는 선택된 아일런드의 외부로 이동되는 회로용으로 인접한 아일런드에 공간을 확보할 필요가 있을 수 있다. 그것을 이루기 위해서, 선택된 아일런드의 임계 회로의 출력에 의해 전력 공급되는 저전압 회로가 선택된 아일런드에 부가된다. 다시, 상기 방법으로 이동하는 회로가 우선적으로 선택되어 필요에 따라 부가되는 레벨 시프터 수를 최소화한다.Further, at step 935, it may be necessary to reserve space in adjacent islands for the circuit being moved out of the selected island. To accomplish this, a low voltage circuit powered by the output of the threshold circuit of the selected island is added to the selected island. Again, the circuit moving in this way is preferentially selected to minimize the number of level shifters added as needed.
단계 955에서 모든 기준이 이 아일런드에 대하여 충족되는지에 관한 결정이 이루어진다. 그 기준은 처음에는 칩 설계용으로 설정된 성능 및 전력 기준에 따른 성능 및 전력 기준으로 될 수 있다. 또한, 용량 과다 또는 용량 부족, 라우팅 또는 위치 사양 등과 같은 다른 기준이 검사될 수 있다. 모든 기준이 충족되지 않으면(단계 955에서 'NO'), 방법 845는 다시 수행되고, 모든 기준이 충족되면(단계 955에서 'YES'), 방법은 단계 950에서 종료된다. 성능 및 전력 기준이 단계 955 이전에 충족될 수 있지만, 다른 기준을 여전히 충족하면서 전력을 최대폭으로 감소시키기 위하여 방법 845가 복수회 수행될 수 있다. 다른 기준(및 특히, 성능 기준)을 충족하는 최저 전력 구성이 가장 양호한 해결책이다.In step 955 a determination is made as to whether all criteria are met for this island. The criteria may initially be performance and power criteria according to performance and power criteria set for chip design. In addition, other criteria such as over or under capacity, routing or location specifications, etc. may be examined. If all criteria are not met ('NO' in step 955), the method 845 is performed again, and if all criteria are met ('YES' in step 955), the method ends at step 950. Although performance and power criteria may be met before step 955, method 845 may be performed multiple times to maximize power reduction while still meeting other criteria. The lowest power configuration that meets other criteria (and especially performance criteria) is the best solution.
아일런드가 양호한 용량보다 적다면, 단계 955에서 부가 회로를 아일런드에 부가하는 것이 수반될 수 있다는 것을 또한 알아야 한다. 단계 930 및 935에서 충분한 회로를 아일런드에 부가하지 않는다면(임계 입력 콘이 적기 때문에 또는 물리적으로 인접하게 하는 데에 필요한 회로 이동이 다른 제한을 위반하기 때문에), 다른 가까운 임계 회로가 선택되어 고전압으로 배정되고, 아일런드로 이동될 수 있다. 그 후에, 단계 930 및 935는 새롭게 부가된 회로의 입력 및 출력상에서 계속될 수 있다.It should also be noted that if the island is less than a good capacity, then adding an additional circuit to the island in step 955 may be involved. If not enough circuits are added to the island in steps 930 and 935 (because there are fewer critical input cones or because the circuit movement necessary to physically adjoin violates other limitations), another near threshold circuit is selected to high voltage. Can be assigned and moved to island. Thereafter, steps 930 and 935 may continue on the input and output of the newly added circuit.
도 2의 방법(145)을 참조하여 설명했듯이, 단계 845의 미리 정해진 기준을 충족하기 위해 다른 동작들이 취해질 수 있다. 예를 들어, 속도를 개선시키고, 전력을 감소시키고 및/또는 컨제스쳔을 감소시키기 위하여 버퍼링 또는 클로닝이 사용될 수 있다. 부가적인 예로서, 다음의 최적화 방법 145를 참고하여 설명됨)를 단계 845에서 또한 사용할 수 있고: 고 스위칭 회로가 고전압 아일런드에서 저전압 아일런드로 이동하여 전력을 감소시킬 수 있으며; 전압 아일런드가 너무 적으면, 선택된 고전압 아일런드내에 있는 임계 경로 또는 네트에 의해 전력 공급되는 포위하는 저전압 아일런드의 회로가 고전압 아일런드로 이동될 수 있고(속도를 개선한다); 회로들이 레벨 시프터의 최소화를 기반으로 하여 선택된 전압 아일런드로 이동될 수 있다.As described with reference to the method 145 of FIG. 2, other actions may be taken to meet the predetermined criteria of step 845. For example, buffering or cloning can be used to improve speed, reduce power, and / or reduce congestion. As an additional example, the following optimization method 145) may also be used in step 845: the high switching circuit may move from the high voltage island to the low voltage island to reduce power; If the voltage island is too low, the circuit of the surrounding low voltage island powered by the critical path or net in the selected high voltage island can be moved to (high speed) the high voltage island; Circuits can be moved to a selected voltage island based on minimization of the level shifter.
도 10의 단계 850에서, 이미 형성된 고전압 아일런드를 물리적으로 차단시키는 어떤 변화도 허용되지 않는다. 마무리 배치 공정이 계속되지만 고전압 아일런드들 사이를 물리적으로 차단시킬 수 있는 어떤 변화도 생성하지 않는다는 룰을 가지고 진행된다. 전압 아일런드내의 회로의 정확한 X,Y 배치가 이 단계에서 또한 결정된다.In step 850 of FIG. 10, no change is allowed to physically block the already formed high voltage island. The finishing batch process continues, but with the rule that it does not produce any change that would physically block the high voltage islands. The exact X, Y placement of the circuit in the voltage island is also determined at this stage.
방법 800 및 845는 저전압 아일런드용 시드를 선택하는 것에 동일하게 적용할 수 있다. 이 경우에, 비-임계 네트 및 회로들이 저전압 아일런드에 부가되고 임계 네트 및 회로들이 고전압 아일런드로 이송된다.Methods 800 and 845 are equally applicable to selecting seeds for low voltage islands. In this case, non-critical nets and circuits are added to the low voltage island and the critical nets and circuits are transferred to the high voltage island.
요약해서, 전압 아일런드의 논리적 및 물리적 구성 둘다를 제공하는 방법은 각종의 배치 알고리즘에 적용가능하다. 그 방법에 따라, 전압 아일런드는 선택되고 회로들이 설계 기준을 가장 잘 분석하도록 아일런드에 부가되거나 또는 아일런드에서 제거된다. 2개의 기본적인 기준은 전력 및 성능 기준이다. 아일런드의 논리적 구성은 그 논리적 구조가 아일런드 내에 및 포위하는 아일런드상에 유지되기 때문에 발생한다. 물리적 구성은 회로들이 물리적인 전압 아일런드로 (및 물리적인 전압 아일런드의 외부로) 이동하기 때문에 발생한다. 회로 및 물리적인 전압 레이아웃의 논리 관계가 결합하여 필요한 데서 성능을 증가시키고 필요한 데서 전력을 감소시킬 때 가장 양호한 배치가 발생된다. 상기 방법의 반복 특성에 의해 상기 결합된 논리 관계를 비교적 쉽게 찾을 수 있다.In summary, the method of providing both logical and physical configurations of voltage islands is applicable to various placement algorithms. Depending on the method, the voltage island is selected and circuits are added to or removed from the island to best analyze the design criteria. The two basic criteria are power and performance criteria. The logical configuration of the island occurs because the logical structure is maintained in and on the surrounding island. Physical configuration occurs because circuits move into and out of the physical voltage island. The best placement occurs when the logical relationship of the circuit and the physical voltage layout combine to increase performance where needed and reduce power where needed. The iterative nature of the method makes it easier to find the combined logical relationship.
전술한 방법은 전압 아일런드의 논리적 및 물리적 구성 모두를 제공한다. 본 발명의 양호한 실시예는 물리적 및 논리적인 합성 모두를 결합하여 레벨 시프터수를 적게 하고 전력 라우팅을 적게 하나 여전히 타이밍 및 다른 조건을 충족시킨다. 부가적으로, 전압 아일런드를 구성하는 방법에서 반복 공정을 사용함에 의해, 전력 사용을 최소화할 수 있으면서, 특히 속도 제한을 충족시킨다.The method described above provides both logical and physical configurations of voltage islands. The preferred embodiment of the present invention combines both physical and logical synthesis to reduce the number of level shifters and to reduce power routing but still meet timing and other conditions. In addition, by using an iterative process in the method of constructing the voltage island, power usage can be minimized, in particular to meet the speed limit.
본원에서 설명된 실시예 및 예는 본 발명 및 그 실제 응용예를 설명하기위해 개시되고 당업자로 하여금 본 발명을 제조 및 사용하게 할 수 있다. 그러나, 앞선 설명 및 예가 예시만을 목적으로 개시된다는 것을 당업자라면 알 수 있다. 상세한 설명은 본 발명을 철저하게, 즉 본 발명을 개시된 정확한 형태로 제한하려는 의도는 없다. 비슷하게, 달리 특정화하지 않는다면, 도면 또는 명세서에 표시된 방법의 단계 시퀀스가 가능한 시퀀스의 예로서 설정되고 제한하려는 것이 아니다. 다수의 변형예 및 변화는 다음의 청구항의 정신 및 범위에서 벗어남이 없이 상기 교시에 비추어보아 가능하다.The embodiments and examples described herein are disclosed to illustrate the invention and its practical applications and may enable those skilled in the art to make and use the invention. However, it will be apparent to one skilled in the art that the foregoing description and examples are disclosed for purposes of illustration only. The detailed description is not intended to be exhaustive or to limit the invention to the precise form disclosed. Similarly, unless otherwise specified, the sequence of steps in the method shown in the figures or specification is set as an example of a possible sequence and not intended to be limiting. Many modifications and variations are possible in light of the above teachings without departing from the spirit and scope of the following claims.
Claims (38)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/713,829 US6792582B1 (en) | 2000-11-15 | 2000-11-15 | Concurrent logical and physical construction of voltage islands for mixed supply voltage designs |
US09/713,829 | 2000-11-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020037715A KR20020037715A (en) | 2002-05-22 |
KR100423594B1 true KR100423594B1 (en) | 2004-03-22 |
Family
ID=24867704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0070932A KR100423594B1 (en) | 2000-11-15 | 2001-11-15 | Concurrent logical and physical construction of voltage islands for mixed supply voltage designs |
Country Status (8)
Country | Link |
---|---|
US (1) | US6792582B1 (en) |
EP (1) | EP1207470A3 (en) |
JP (1) | JP2002215706A (en) |
KR (1) | KR100423594B1 (en) |
CN (2) | CN100419990C (en) |
IL (1) | IL143248A0 (en) |
SG (1) | SG106644A1 (en) |
TW (1) | TWI231435B (en) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002190572A (en) * | 2000-12-20 | 2002-07-05 | Fujitsu Ltd | Semiconductor device, layout data designing device, and recording medium |
US6701505B1 (en) * | 2001-11-30 | 2004-03-02 | Sequence Design, Inc. | Circuit optimization for minimum path timing violations |
US6904584B2 (en) * | 2002-05-06 | 2005-06-07 | International Business Machines Corporation | Method and system for placing logic nodes based on an estimated wiring congestion |
JP2003345845A (en) * | 2002-05-22 | 2003-12-05 | Mitsubishi Electric Corp | Automatic arranging and wiring apparatus |
US7007247B1 (en) * | 2002-05-24 | 2006-02-28 | Cadence Design Systems, Inc. | Method and mechanism for RTL power optimization |
US6971079B2 (en) * | 2002-09-18 | 2005-11-29 | Sun Microsystems, Inc. | Accuracy of timing analysis using region-based voltage drop budgets |
US7676781B1 (en) | 2003-01-14 | 2010-03-09 | Cadence Design Systems, Inc. | Method and mechanism for implementing a minimum spanning tree |
US7100128B1 (en) * | 2003-01-14 | 2006-08-29 | Cadence Design Systems, Inc. | Zone tree method and mechanism |
US7096445B1 (en) | 2003-01-14 | 2006-08-22 | Cadence Design Systems, Inc. | Non-orthogonal structures and space tiles for layout, placement, and routing of an integrated circuit |
WO2004077638A1 (en) * | 2003-02-20 | 2004-09-10 | International Business Machines Coporation | Testing using independently controllable voltage islands |
US6990645B2 (en) * | 2003-04-29 | 2006-01-24 | International Business Machines Corporation | Method for static timing verification of integrated circuits having voltage islands |
KR100992177B1 (en) | 2003-05-07 | 2010-11-04 | 모사이드 테크놀로지스 코포레이션 | Managing power on integrated circuits using power islands |
CN100555168C (en) * | 2003-08-04 | 2009-10-28 | 皇家飞利浦电子股份有限公司 | The structure of voltage source and method |
US6861753B1 (en) * | 2003-10-09 | 2005-03-01 | International Business Machines Corporation | Method and apparatus for performing power routing on a voltage island within an integrated circuit chip |
US7000214B2 (en) * | 2003-11-19 | 2006-02-14 | International Business Machines Corporation | Method for designing an integrated circuit having multiple voltage domains |
US7111266B2 (en) * | 2003-11-24 | 2006-09-19 | International Business Machines Corp. | Multiple voltage integrated circuit and design method therefor |
US7119578B2 (en) * | 2003-11-24 | 2006-10-10 | International Business Machines Corp. | Single supply level converter |
CA2462497A1 (en) * | 2004-03-30 | 2005-09-30 | Dspfactory Ltd. | Method and system for data logging in a listening device |
US7400167B2 (en) * | 2005-08-16 | 2008-07-15 | Altera Corporation | Apparatus and methods for optimizing the performance of programmable logic devices |
US7296251B2 (en) * | 2004-05-25 | 2007-11-13 | International Business Machines Corporation | Method of physical planning voltage islands for ASICs and system-on-chip designs |
US7984398B1 (en) * | 2004-07-19 | 2011-07-19 | Synopsys, Inc. | Automated multiple voltage/power state design process and chip description system |
JP2006073955A (en) * | 2004-09-06 | 2006-03-16 | Fujitsu Ltd | Semiconductor device, design equipment, layout designing method, program and recording medium |
WO2007077516A1 (en) * | 2006-01-06 | 2007-07-12 | Koninklijke Philips Electronics, N.V. | Power aware dynamic scheduling in multiprocessor system employing voltage islands |
US7870517B1 (en) * | 2006-04-28 | 2011-01-11 | Cadence Design Systems, Inc. | Method and mechanism for implementing extraction for an integrated circuit design |
US7475366B2 (en) * | 2006-08-04 | 2009-01-06 | International Business Machines Corporation | Integrated circuit design closure method for selective voltage binning |
US7546566B2 (en) * | 2007-04-05 | 2009-06-09 | Synopsys, Inc. | Method and system for verification of multi-voltage circuit design |
CN101339581B (en) * | 2008-08-29 | 2012-07-18 | 北京中星微电子有限公司 | Embedded system on-line debugging emulation method based on communication interruption |
US8321824B2 (en) * | 2009-04-30 | 2012-11-27 | Synopsys, Inc. | Multiple-power-domain static timing analysis |
US8502590B2 (en) | 2009-12-14 | 2013-08-06 | The Boeing Company | System and method of controlling devices operating within different voltage ranges |
US8199601B2 (en) | 2010-05-20 | 2012-06-12 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method of selectively varying supply voltage without level shifting data signals |
US8572541B2 (en) * | 2010-09-05 | 2013-10-29 | Texas Instruments Incorporated | Method and system for adaptive physical design |
US8756442B2 (en) | 2010-12-16 | 2014-06-17 | Advanced Micro Devices, Inc. | System for processor power limit management |
US9152168B2 (en) * | 2012-09-06 | 2015-10-06 | International Business Machines Corporation | Systems and methods for system power estimation |
CN102902347B (en) * | 2012-09-28 | 2015-08-19 | 宁波大学 | A kind of Low-power-consumptiovoltage voltage island division methods of SOC (system on a chip) |
US9223383B2 (en) | 2012-12-21 | 2015-12-29 | Advanced Micro Devices, Inc. | Guardband reduction for multi-core data processor |
US9360918B2 (en) | 2012-12-21 | 2016-06-07 | Advanced Micro Devices, Inc. | Power control for multi-core data processor |
US9372520B2 (en) | 2013-08-09 | 2016-06-21 | Globalfoundries Inc. | Reverse performance binning |
GB201314938D0 (en) * | 2013-08-21 | 2013-10-02 | Advanced Risc Mach Ltd | Communication between voltage domains |
KR101538458B1 (en) | 2014-01-03 | 2015-07-23 | 연세대학교 산학협력단 | Voltage island formation for 3d many-core chip multiprocessor |
US9335775B2 (en) | 2014-06-23 | 2016-05-10 | International Business Machines Corporation | Integrated circuit having regulated voltage island power system |
US10262981B2 (en) * | 2016-04-29 | 2019-04-16 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit, system for and method of forming an integrated circuit |
US11340813B1 (en) | 2020-11-16 | 2022-05-24 | Micron Technology, Inc. | Reliability scan assisted voltage bin selection |
US11416666B1 (en) | 2021-03-04 | 2022-08-16 | Taiwan Semiconductor Manufacturing Co., Ltd. | Integrated circuit and method for forming the same |
US11593005B2 (en) * | 2021-03-31 | 2023-02-28 | Micron Technology, Inc. | Managing voltage bin selection for blocks of a memory device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05299624A (en) * | 1992-04-23 | 1993-11-12 | Mitsubishi Electric Corp | Semiconductor integrated circuit device |
KR960043163A (en) * | 1995-05-26 | 1996-12-23 | 모리시다 요이치 | Logic synthesis method, semiconductor integrated circuit and arithmetic circuit |
EP0863472A2 (en) * | 1994-01-19 | 1998-09-09 | Matsushita Electric Industrial Co., Ltd. | Semiconductor integrated circuit with two supply voltage levels |
JP2000039939A (en) * | 1998-07-23 | 2000-02-08 | Nec Eng Ltd | One chip cpu and its voltage converting circuit |
KR20010039543A (en) * | 1999-10-21 | 2001-05-15 | 사와무라 시코 | Data transfer circuit |
KR100363983B1 (en) * | 1994-11-22 | 2003-02-11 | 가부시끼가이샤 히다치 세이사꾸쇼 | Semiconductor integrated circuit |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4580228A (en) | 1983-06-06 | 1986-04-01 | The United States Of America As Represented By The Secretary Of The Army | Automated design program for LSI and VLSI circuits |
US4860081A (en) * | 1984-06-28 | 1989-08-22 | Gte Laboratories Incorporated | Semiconductor integrated circuit structure with insulative partitions |
US4698760A (en) | 1985-06-06 | 1987-10-06 | International Business Machines | Method of optimizing signal timing delays and power consumption in LSI circuits |
US4754408A (en) | 1985-11-21 | 1988-06-28 | International Business Machines Corporation | Progressive insertion placement of elements on an integrated circuit |
US4745084A (en) | 1986-11-12 | 1988-05-17 | Vlsi Technology, Inc. | Method of making a customized semiconductor integrated device |
DE3650323T2 (en) * | 1986-12-17 | 1996-01-25 | Ibm | VLSI chip and manufacturing method. |
US4815003A (en) | 1987-06-19 | 1989-03-21 | General Electric Company | Structured design method for high density standard cell and macrocell layout of VLSI chips |
JP2822781B2 (en) | 1992-06-11 | 1998-11-11 | 三菱電機株式会社 | Master slice type semiconductor integrated circuit device |
US5313398A (en) * | 1992-07-23 | 1994-05-17 | Carnegie Mellon University | Method and apparatus for simulating a microelectronic circuit |
JPH06140607A (en) | 1992-10-28 | 1994-05-20 | Mitsubishi Electric Corp | Semiconductor integrated circuit |
US5612892A (en) * | 1993-12-16 | 1997-03-18 | Intel Corporation | Method and structure for improving power consumption on a component while maintaining high operating frequency |
US5814845A (en) | 1995-01-10 | 1998-09-29 | Carnegie Mellon University | Four rail circuit architecture for ultra-low power and voltage CMOS circuit design |
JPH1063703A (en) * | 1996-08-26 | 1998-03-06 | Toshiba Corp | Method for designing low power consumption circuit |
US5780883A (en) | 1997-02-28 | 1998-07-14 | Translogic Technology, Inc. | Gate array architecture for multiplexer based circuits |
US5933358A (en) * | 1997-09-30 | 1999-08-03 | Synopsys, Inc. | Method and system of performing voltage drop analysis for power supply networks of VLSI circuits |
US6289496B1 (en) * | 1998-06-29 | 2001-09-11 | Xilinx, Inc. | Placement of input-output design objects into a programmable gate array supporting multiple voltage standards |
US6499129B1 (en) * | 1998-07-22 | 2002-12-24 | Circuit Semantics, Inc. | Method of estimating performance of integrated circuit designs |
EP1016992A1 (en) * | 1998-12-29 | 2000-07-05 | STMicroelectronics S.r.l. | Performance driven multi-valued variable supply voltage scheme for low-power design of VLSI circuits and system |
ATE401597T1 (en) * | 2000-01-24 | 2008-08-15 | Broadcom Corp | SYSTEM AND METHOD FOR COMPENSATING SIGNAL DELAY MISMATCHES INDUCED BY SUPPLY VOLTAGE |
US6417689B1 (en) * | 2001-01-16 | 2002-07-09 | Xilinx, Inc. | Method and apparatus for placing output signals having different voltage levels on output pins of a programmable logic device |
-
2000
- 2000-11-15 US US09/713,829 patent/US6792582B1/en not_active Expired - Fee Related
-
2001
- 2001-05-20 IL IL14324801A patent/IL143248A0/en not_active IP Right Cessation
- 2001-10-15 EP EP01308768A patent/EP1207470A3/en not_active Withdrawn
- 2001-10-30 SG SG200106659A patent/SG106644A1/en unknown
- 2001-11-02 JP JP2001338435A patent/JP2002215706A/en active Pending
- 2001-11-09 TW TW090127960A patent/TWI231435B/en not_active IP Right Cessation
- 2001-11-15 KR KR10-2001-0070932A patent/KR100423594B1/en not_active IP Right Cessation
- 2001-11-15 CN CNB011385367A patent/CN100419990C/en not_active Expired - Fee Related
- 2001-11-15 CN CNA2008100049050A patent/CN101241518A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05299624A (en) * | 1992-04-23 | 1993-11-12 | Mitsubishi Electric Corp | Semiconductor integrated circuit device |
EP0863472A2 (en) * | 1994-01-19 | 1998-09-09 | Matsushita Electric Industrial Co., Ltd. | Semiconductor integrated circuit with two supply voltage levels |
KR100363983B1 (en) * | 1994-11-22 | 2003-02-11 | 가부시끼가이샤 히다치 세이사꾸쇼 | Semiconductor integrated circuit |
KR960043163A (en) * | 1995-05-26 | 1996-12-23 | 모리시다 요이치 | Logic synthesis method, semiconductor integrated circuit and arithmetic circuit |
KR100296183B1 (en) * | 1995-05-26 | 2001-10-22 | 마츠시타 덴끼 산교 가부시키가이샤 | Design method of semiconductor integrated circuit, semiconductor integrated circuit and operation circuit |
JP2000039939A (en) * | 1998-07-23 | 2000-02-08 | Nec Eng Ltd | One chip cpu and its voltage converting circuit |
KR20010039543A (en) * | 1999-10-21 | 2001-05-15 | 사와무라 시코 | Data transfer circuit |
Also Published As
Publication number | Publication date |
---|---|
SG106644A1 (en) | 2004-10-29 |
US6792582B1 (en) | 2004-09-14 |
CN100419990C (en) | 2008-09-17 |
IL143248A0 (en) | 2002-04-21 |
CN101241518A (en) | 2008-08-13 |
EP1207470A2 (en) | 2002-05-22 |
KR20020037715A (en) | 2002-05-22 |
TWI231435B (en) | 2005-04-21 |
EP1207470A3 (en) | 2006-02-22 |
JP2002215706A (en) | 2002-08-02 |
CN1353454A (en) | 2002-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100423594B1 (en) | Concurrent logical and physical construction of voltage islands for mixed supply voltage designs | |
US6038386A (en) | Method for controlling power and slew in a programmable logic device | |
US6536024B1 (en) | Method for making integrated circuits having gated clock trees | |
US20140258956A1 (en) | Apparatus and methods for power management in integrated circuits | |
US5761078A (en) | Field programmable gate arrays using semi-hard multicell macros | |
US5790882A (en) | Programmable logic device placement method utilizing weighting function to facilitate pin locking | |
EP3975429A1 (en) | Mixed-radix and/or mixed-mode switch matrix architecture and integrated circuit | |
US9589090B1 (en) | Method and apparatus for performing multiple stage physical synthesis | |
US6581199B2 (en) | Engineering-change method of semiconductor circuit | |
US9230048B1 (en) | Integrated circuits with interconnect selection circuitry | |
US6480996B1 (en) | System and method for transposing wires in a circuit design | |
Bozorgzadeh et al. | Routability-driven packing: Metrics and algorithms for cluster-based FPGAs | |
US7178124B1 (en) | Methods, algorithms, software, architectures and system for placing clocked components and routing timing signals in a circuit and/or layout | |
JP3178371B2 (en) | Design method of semiconductor integrated circuit | |
US6938232B2 (en) | Floorplanning apparatus deciding floor plan using logic seeds associated with hierarchical blocks | |
JP2002318827A (en) | Integrated circuit manufacturing system | |
US7146582B2 (en) | Logic circuit optimizing method, logic circuit optimizing device and logic circuit composing device | |
Nag et al. | Performance-driven simultaneous place and route for row-based FPGAs | |
Morshedzadeh et al. | Three-dimensional switchbox multiplexing in emerging 3D-FPGAs to reduce chip footprint and improve TSV usage | |
JP2023162524A (en) | Information processing device, scan path connection method, and scan path connection program | |
JP3614306B2 (en) | LSI layout method and recording medium storing LSI layout program | |
Sayal | EDA design for Microscale Modular Assembled ASIC (M2A2) circuits | |
Zargham et al. | 4.2 Layout, Placement, and Routing | |
GB2209857A (en) | Manufacture of integrated circuits | |
JP2006049638A (en) | Semiconductor device and method for designing the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20110201 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |