KR102449569B1 - 전력망 삽입 기술 - Google Patents
전력망 삽입 기술 Download PDFInfo
- Publication number
- KR102449569B1 KR102449569B1 KR1020180008235A KR20180008235A KR102449569B1 KR 102449569 B1 KR102449569 B1 KR 102449569B1 KR 1020180008235 A KR1020180008235 A KR 1020180008235A KR 20180008235 A KR20180008235 A KR 20180008235A KR 102449569 B1 KR102449569 B1 KR 102449569B1
- Authority
- KR
- South Korea
- Prior art keywords
- strap
- power grid
- grid layout
- user
- region
- Prior art date
Links
- 238000003780 insertion Methods 0.000 title claims abstract description 119
- 230000037431 insertion Effects 0.000 title claims abstract description 119
- 238000000034 method Methods 0.000 title claims description 122
- 238000009434 installation Methods 0.000 claims abstract description 19
- 239000002184 metal Substances 0.000 claims description 23
- 229910052751 metal Inorganic materials 0.000 claims description 23
- 238000013461 design Methods 0.000 claims description 17
- 239000004065 semiconductor Substances 0.000 claims description 16
- 238000004519 manufacturing process Methods 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 4
- 239000011295 pitch Substances 0.000 description 28
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 150000002739 metals Chemical class 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000414 obstructive effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
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
- G06F30/394—Routing
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
- H01L27/0203—Particular design considerations for integrated circuits
- H01L27/0207—Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
-
- 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
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
- H01L27/04—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body
- H01L27/06—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers the substrate being a semiconductor body including a plurality of individual components in a non-repetitive configuration
- H01L27/0688—Integrated circuits having a three-dimensional layout
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/18—Manufacturability analysis or optimisation for manufacturability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Power Engineering (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Image Generation (AREA)
Abstract
본 명세서에 개시된 다양한 구현예들은 장치에 관한 것이다. 이 장치는 전력망 레이아웃을 수정하기 위한 사용자 정의 파라미터를 수신하고, 그 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 영역을 식별하는 영역 식별 모듈을 포함할 수 있다. 이 장치는 스트랩을 삽입할 전력망 레이아웃의 영역 내 트랙 위치를 식별하는 트랙 식별 모듈을 포함할 수 있다. 이 장치는 미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 영역 내에 적어도 하나의 스트랩을 삽입하는 스트랩 설치 모듈을 포함할 수 있다.
Description
이 섹션은 본 명세서에 서술된 다양한 기술의 이해와 관련된 정보를 제공하기 위한 것이다. 섹션 제목이 암시하는 바와 같이, 이것은 관련 기술의 설명일 뿐, 결코 그것이 종래기술임을 암시하는 것은 아니다. 일반적으로, 관련 기술은 종래기술로 간주될 수도 있고 아닐 수도 있다. 그러므로, 이 섹션의 모든 내용은 이러한 관점에서 해석되어야 하며, 종래기술임을 인정하는 것으로 해석되어서는 안 된다는 것을 이해해야 한다.
집적회로는 전형적으로 전력 및 다른 전기 신호를 전달하기 위해 형성된 와이어(또는 다른 도체)를 포함한다. 각각의 와이어는 와이어의 폭과 간격의 합을 의미하는 와이어 피치를 가질 수 있다. 표준 셀(SC) 설치 및 라우팅 도구는 전형적으로 집적회로 상의 다양한 레이어 내에 미리 정해진 피치로 그리고 미리 정해진 위치에 라우팅 와이어(routing wire)를 포함한다. 몇몇 라우팅 도구는 필요한 곳 뿐만 아니라, 전체 플로어플랜(floorplan)에 걸쳐 하나 이상의 또는 모든 파워 서플라이를 라우팅 또는 삽입하기 위해 사용된다. 불행하게도, 이것은 라우팅 리소스를 낭비하고, 집적회로의 파워, 성능, 및 면적(PPA)에 나쁜 영향을 준다. 또한, 이것은 몇몇 파워 서플라이에 대하여 제한적인 전력망 패턴을 생성할 수 있고, 이는 전력망 설계의 유연성을 줄일 수 있다.
이제, 다양한 기술의 구현예가 첨부된 도면을 참조하여 서술된다. 그러나, 첨부된 도면은 본 명세서에 서술된 다양한 구현예를 설명하기 위한 것일 뿐, 본 명세서에서 서술된 다양한 기술의 실시예들을 제한하도록 의도된 것이 아님을 이해해야 한다.
도 1은 본 명세서에 서술된 다양한 구현예에 따른 전력망 삽입 기술을 구현하는 시스템의 블록도를 도시한다.
도 2a 및 도 2b는 본 명세서에 서술된 다양한 구현예에 따른 전력망 레이아웃 아키텍처의 다양한 도면을 도시한다.
도 3a 및 도 3b는 본 명세서에 서술된 다양한 구현예에 따른 전력망 삽입을 구현하는 방법의 프로세스 흐름도를 도시한다.
도 4는 본 명세서에 서술된 다양한 구현예에 따른 전력망 삽입을 구현하는 방법의 다른 프로세스 흐름도를 도시한다.
도 5는 본 명세서에 서술된 다양한 구현예에 따른 컴퓨팅 장치의 블록도를 도시한다.
도 1은 본 명세서에 서술된 다양한 구현예에 따른 전력망 삽입 기술을 구현하는 시스템의 블록도를 도시한다.
도 2a 및 도 2b는 본 명세서에 서술된 다양한 구현예에 따른 전력망 레이아웃 아키텍처의 다양한 도면을 도시한다.
도 3a 및 도 3b는 본 명세서에 서술된 다양한 구현예에 따른 전력망 삽입을 구현하는 방법의 프로세스 흐름도를 도시한다.
도 4는 본 명세서에 서술된 다양한 구현예에 따른 전력망 삽입을 구현하는 방법의 다른 프로세스 흐름도를 도시한다.
도 5는 본 명세서에 서술된 다양한 구현예에 따른 컴퓨팅 장치의 블록도를 도시한다.
본 명세서에 서술된 다양한 구현예는 본 명세서에 서술된 다양한 구현예에 따른 전력망 삽입 스킴 및 기술을 제공하는 것을 의미하며 이를 지향한다. 이러한 전력망 삽입 스킴(scheme) 및 기술은 타겟 피치(target pitch) 기반의 전력망 스트랩(strap) 및 비아(via) 삽입을 제공한다. 전력망의 몇몇 부분들은 국소화되고(localized), 전력망의 주요 부분은 전체 서플라이 무결성에 해를 끼칠 수 있으므로 추가적인 국소화된 구조를 삽입하기 위해 중단되지 않는다. 본 명세서에 서술된 스킴 및 기술은 삽입되어야 할 대상 사이에 사용자의 타겟 피치(즉, 거리)를 유지하고자 함과 동시에, 전력망의 국소화된 부분(즉, 서브-영역)를 삽입하기 위해 지정된 구역(즉, 영역) 내의 합법적 위치를 검색하고 찾는다.
이제, 다양한 전력망 삽입 스킴 및 기술을 제공하는 다양한 구현예가 도 1 내지 도 5를 참조하여 상세하게 설명될 것이다.
도 1은 관련된 다양한 방법을 통해 전력망 삽입 스킴 및 기술을 구현하는 컴퓨팅 장치(102)를 이용하는 장치(100)의 한 실시예를 보여주는 블록도이다.
도 1을 참조하면, 장치(100)는 전력망 삽입 목적의 컴퓨팅 장치(102)를 갖춘 시스템으로서 구현될 수 있고, 그로 인해 컴퓨팅 장치(102)는 여기 서술된 바와 같은 전력망 삽입 스킴 및 기술을 구현하기 위한 전용의 특수목적 머신으로 변환된다. 그러므로, 컴퓨팅 장치(102)는 도 1에 구체적으로 도시되지는 않았으나, 적어도 하나의 프로세서(들)(104), 메모리(106)(예컨대, 비일시적 컴퓨터 판독 가능한 저장 매체), 주변기기, 파워, 및 다양한 다른 컴퓨팅 엘리먼트 및/또는 컴포넌트를 포함하여, 표준 엘리먼트(들) 및/또는 컴포넌트(들)을 포함할 수 있다. 또한, 도 1에 도시된 바와 같이, 장치(100)는 그래픽 사용자 인터페이스(GUI)(132)를 제공하기 위해 사용될 수 있는 디스플레이 장치(130)(예컨대, 모니터 또는 다른 디스플레이)에 연결될 수 있다. 몇몇 경우에, GUI(132)는 전력망 삽입 스킴 및 기술과 연관된 사용자로부터의 입력(예컨대, 사용자 입력)을 수신하기 위해 사용될 수 있다. 다른 경우에, 하나 이상의 다른 사용자 인터페이스(UI)(120)(예컨대, GUI 또는 유사한 것을 가진 하나 이상의 다른 컴퓨팅 장치)는 전력망 삽입 스킴 및 기술과 연관된 한 명 이상의 다른 사용자로부터의 입력(예컨대, 다른 사용자 입력)을 수신하기 위해 사용될 수 있다. 또한, 장치(100)는 사용자 및 전력망 삽입 스킴 및 기술과 관련된 데이터 및 정보를 저장 및/또는 기록하도록 구성될 수 있는 하나 이상의 데이터베이스(150)에 연결될 수도 있다.
따라서, 장치(100)는 컴퓨팅 장치(102) 및 컴퓨터 판독 가능한 매체(106)(또는 하나 이상의 데이터베이스(150)) 상에 저장 또는 기록되어 있고 적어도 하나의 프로세서(104)에 의해 실행 가능한 명령어를 포함할 수 있다. 장치(100)는 전력망 삽입 스킴 및 기술을 구현하기 위해 사용될 수 있다. 또한, 장치(100)는 사용자에게 출력을 제공하기 위한 디스플레이 장치(130)를 포함할 수 있고, 디스플레이 장치(130)는 사용자로부터의 입력을 수신하기 위한 GUI(132)를 포함할 수 있다. 몇몇 경우에, 하나 이상의 UI(120)는 한 명 이상의 다른 사용자에게 출력을 제공하고 한 명 이상의 다른 사용자로부터의 입력을 수신하기 위해 사용될 수 있다.
컴퓨팅 장치(102)는, 예컨대, 영역 식별 모듈(110)과 같은 하나 이상의 모듈을 포함할 수 있다. 몇몇 시나리오에서, 영역 식별 모듈(110)은 전력망 레이아웃을 수정하기 위한 사용자 정의 파라미터를 수신할 수 있고, 그 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 영역을 식별할 수 있다. 전력망 레이아웃은 반도체 웨이퍼에 집적회로 설계를 적용하기 위한 제조 파라미터를 포함할 수 있다. 또한, 전력망 레이아웃은 집적회로가 반도체 웨이퍼 상에서 에칭될 때 집적회로가 적절하게 기능하도록 하는, 집적회로 내의 파라미터 변화를 식별할 수 있다.
이러한 영역은 사용자 정의 영역을 포함할 수 있고, 사용자 정의 파라미터는 사용자에 의해 제공된 사용자 정의 영역을 포함할 수 있다. 사용자 정의 파라미터는 사용자에 의해 제공된 서플라이 타겟 피치(supply target pitch)를 포함할 수 있다. 전력망 레이아웃의 영역은 복수의 서브-영역으로 세분될 수 있고, 서플라이 타겟 피치는 서브-영역 내의 다수의 트랙 위치를 정의할 수 있다.
컴퓨팅 장치(102)는 트랙 식별 모듈(112)을 포함할 수 있다. 몇몇 시나리오에서, 트랙 식별 모듈(112)은 스트랩을 삽입할 전력망 레이아웃의 영역 내 트랙 위치를 식별할 수 있다. 트랙 식별 모듈(112)은 영역 내 각각의 트랙 위치의 리스트를 추출할 수 있고, 이 리스트는 영역 내 각각의 트랙 위치에 대한 트랙 데이터 및 정보를 정의하는 데이터 구조를 포함할 수 있다. 트랙 식별 모듈(112)은 영역 내 각각의 트랙 위치의 리스트를 기초로 영역 내 각각의 트랙 위치에 대한 장애물을 식별할 수 있다. 이러한 장애물은 스트랩 삽입을 방해하는 스트립 삽입 이전에 제 자리에 이미 존재하고 있는 금속 및 비아를 포함할 수 있다. 트랙 식별 모듈(112)은 스트랩 삽입을 방해하는 다양한 유형의 장애물을 가지는 하나 이상의 차단된 트랙을 식별할 수 있다. 또한, 트랙 식별 모듈(112)은 스트랩 삽입 간격 규칙을 체크할 수 있고, 이러한 간격 규칙은 인접한 트랙 위치에 대한 스트랩 삽입을 방해하는 다양한 인접한 간격의 장애물을 식별할 수 있다.
컴퓨팅 장치(102)는 스트랩 설치 모듈(114)을 포함할 수 있다. 몇몇 시나리오에서, 스트랩 설치 모듈(114)은 미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 영역 내에 적어도 하나의 스트랩을 삽입할 수 있다. 몇몇 경우에, 스트랩 설치 모듈(114)은 각각의 서브-영역 내 중앙 트랙 위치와 가장 가까운(또는 각각의 서브-영역의 적어도 하나의 끝부분과 가장 가까운) 적어도 하나의 트랙 위치를 선택할 수 있고, 미리 정해진 스트랩 삽입 규칙을 기초로 각각의 서브-영역 내 중앙 트랙 위치와 가장 가까운(또는 각각의 서브-영역의 적어도 하나의 끝부분과 가장 가까운) 적어도 하나의 트랙 위치에 적어도 하나의 스트랩을 삽입할 수 있다. 미리 정해진 스트랩 삽입 규칙은 장애물에 의해 차단된 트랙 위치를 회피하기 위한 다양한 유형의 규칙을 포함할 수 있다. 또한, 미리 정해진 스트랩 삽입 규칙은 스트랩 삽입 간격 규칙을 위반하는 트랙 위치를 회피하기 위한 다양한 유형의 규칙을 포함할 수 있다. 또한, 미리 정해진 스트랩 삽입 규칙은 중앙 트랙 위치와 가장 가까운(또는 각각의 서브-영역의 적어도 하나의 끝부분과 가장 가까운) 트랙 위치를 선택하기 위한 다양한 유형의 규칙을 포함할 수 있다.
도 1을 참조하면, 장치(100)는 개별 기능을 나타내는 다양한 기능 블록 또는 모듈을 이용하여 도시되어 있다. 그러나, 이러한 도면은 명료함 및 편리함을 위해 제공된 것임을 이해해야 하고, 그러므로 다양한 기능들이 겹쳐지거나 서술된 블록(들) 또는 모듈(들) 내에 결합될 수도 있고, 및/또는 도 1에 구체적으로 도시되지 않은 하나 이상의 추가 블록(들) 또는 모듈(들)에 의해 구현될 수도 있음을 이해해야 한다. 또한, 도 1의 장치(100)에 사용될 수 있는 다양한 표준 및/또는 종래의 기능들도 포함될 수 있으나, 그러한 표준 및/또는 종래의 엘리먼트들은 명료함 및 편리함을 위해 확실하게 서술되지는 않음을 이해해야 한다.
도 2a 및 도 2b는 본 명세서에 서술된 다양한 구현예에 따른 전력망 레이아웃 아키텍처의 다양한 도면을 도시한다.
구체적으로, 도 2a는 전력망 레이아웃 아키텍처(200A)의 도면과, 그것의 예시적인 3차원(3D)도를 도시한다. 도시된 바와 같이, 전력망 레이아웃 아키텍처(200A)는 표준 셀 레일(210), 하부 그리드(212), 및 상부 그리드(214)의 스택(202)을 포함할 수 있다. 스택(202)은, 예컨대, 금속 레이어(M1, M2, M3) 및 비아(V, V1)와 같은 복수의 레이어를 포함할 수 있다. 스택(202)은, 예컨대, 하부 상부 그리드(LUG) 스트랩(202), 상부 금속 스트랩(222, 224), 및 다이내믹 스트랩(226)과 같은 복수의 금속 스트랩 레이어를 포함할 수 있다. 스택(202)은 파워 게이트 토템(totem)(228)을 포함할 수 있다. 다양한 경우에, 스트랩은 집적회로 및 그것의 컴포넌트에 전압을 공급하기 위해 전력망에 의해 사용되는 금속 와이어를 의미할 수 있다. 또한, 토템은 표준 셀 레일과 LUG 사이의 금속 및 비아 스택을 의미할 수 있다.
몇몇 구현예에서, 전력망 레이아웃 아키텍처(200A)는 LUG 스트랩(220), 파워 게이트 토템(228), 스트랩(222, 224, 226), 및 표준 셀 파워 레일(210)의 삽입을 가지는, 파워 스위치(즉, 파워 게이트 토템(228))을 가진 단일 서플라이를 제공할 수 있다. 본 명세서에 서술된 다양한 구현예는, 예컨대, 사용자가 스트랩 삽입을 수행할 수 있는(표준 셀 레일(210) 제외) 수직 및/또는 수평 레이어를 포함하는, 도 2a에 도시된 복수의 레이어와 연관된 전력망 삽입 스킴 및 기술을 제공할 수 있다. 몇몇 경우에, 이 전력망 삽입 스킴 및 기술은, 예컨대, M3 스트랩, 하부 상부 그리드 스트랩(220), 및 상부 금속 스트랩(224, 226)과 같은 스트랩 및/또는 비아의 경우에 적용될 수 있다. 그러므로, 이 전력망 삽입 스킴 및 기술은 수평 및/또는 수직 방향의 임의의 모든 레이어에 대하여 사용될 수 있다. 더 큰 전력망 내에 국소화된 전력망이 존재할 때, 이 전력망 삽입 스킴 및 기술은, 예컨대, 기존의 전력망의 트랙 위치들 사이의 개방 공간 내 국소화된 전력망 내부를 인터리빙(interleaving)함으로써 합법적 위치들을 식별할 수 있다.
도 2b는 스트랩 삽입을 위한 전력망 레이아웃 아키텍처(200B)의 한 영역(250)의 개략적인 도면을 도시한다. 영역(250)은 사용자 정의 영역일 수 있고, 영역(250)은 바운딩 박스(250A)에 의해 제한될 수 있다. 영역(250)은 스트랩 삽입을 위해 식별된 복수의 트랙 위치(252)를 포함할 수 있다. 트랙 위치(252)는, 예컨대, 수평으로(도시됨) 또는 수직으로와 같은, 그리드 기반 패턴으로 배열될 수 있고, 식별될 수 있다. 영역(250)은, 예컨대, 스트랩 삽입 이전에 제 위치에 있는 금속(254) 및 스트랩 삽입 이전에 제 위치에 있는 비아(256)와 같은, 스트랩 삽입 이전에 제 위치에 있는 다양한 물체(또는 장애물)를 포함할 수 있다. 영역(250)은 스트랩 삽입(258)을 통해 삽입되는 하나 이상의 스트랩을 포함할 수 있고, 여기서 스트랩은 스트랩 삽입(258) 후 특정 스트랩 위치(250)에 놓여진다.
전력망 레이아웃(200B)의 영역(250)은 복수의 서브-영역(260A, 260B, 260C, 260D)으로 세분화될 수 있다. 몇몇 경우에, 사용자는 사용자에 의해 정해진 하나의 그룹(또는 세트)로 배열된 하나 이상의 트랙 위치(252)를 가지는 서플라이 타겟 피치(262)를 포함할 수 있는 사용자 정의 파라미터를 제공할 수 있다. 이처럼, 서플라이 타겟 피치(262)는, 예컨대, 각각의 서브-영역(260A, 260B, 260C, 260D) 내의 다섯 트랙과 같은, 다수의 트랙 위치(252)를 정의할 수 있다. 영역(250)에 대하여, LIST()(270)는, 예컨대, 0, 1, 2, 3, … , 19와 같은, 트랙 위치의 번호 부여된 리스트를 표시하기 위해 제공될 수 있다. 다양한 경우에, LIST()는 트랙 리스트 또는 트랙 리스팅이라 불릴 수도 있다.
LIST()(270)는 영역(250) 내의 각각의 트랙 위치, 0, 1, 2, 3, … , 19에 대한 트랙 정보를 정의하는 다양한 데이터 구조를 포함할 수 있다. 또한, 트랙 정보는 영역(250) 내 각각의 트랙 위치 0, 1, 2, 3, … , 19에 대한 하나 이상의 장애물(예컨대, 스트랩 삽입 이전에 제 위치에 있는 다양한 물체)를 식별할 수 있다. 몇몇 경우에, 장애물은 스트랩 삽입을 방해할 수 있는 스트랩 삽입 이전에 제 위치에 이미 존재하고 있는 금속(254) 및 비아(256)를 포함할 수 있다. 또한, LIST()(270)는 스트랩 삽입을 방해할 수 있는 장애물을 가지는 하나 이상의 차단된 트랙(272)을 식별할 수 있다. 예컨대, 도 2b에 도시된 바와 같이, 트랙 위치, 2, 3, 4, 5, 7, 14, 15, 16, 및 19는 (X)를 통해 차단된(272) 것으로 표시될 수 있다. 몇몇 경우에, 차단된 트랙(272)은 장애물로 인해 스트랩 삽입에 이용할 수 없는 사용 불가능한 트랙 또는 트랙 위치를 의미할 수 있다.
차단된 트랙 위치가 식별되면, 스트랩 삽입 또는 설치가 영역(250) 내에 발생할 수 있고, 이 때 하나 이상의 스트랩(258)이 영역(250) 내의 하나 이상의 사용 가능한 트랙 위치(252)에 삽입 또는 설치될 수 있다. 몇몇 경우에, 각각의 서브-영역(260A, 260B, 260C, 260D) 내 중앙 트랙 위치와 가장 가까운(또는 각각의 서브-영역(260A, 260B, 260C, 260D)의 적어도 하나의 끝부분과 가장 가까운) 각각의 서브-영역(260A, 260B, 260C, 260D) 내 적어도 하나의 트랙 위치(252)가 스트랩 삽입을 위해 선택될 수 있다. 예를 들어, 제1 서브-영역(260A)에서, 스트랩(258)은 중앙 트랙 위치(2)가 장애물을 가지므로 제1 트랙 위치(1)에 삽입될 수 있다. 이와 유사하게, 제2 서브-영역(260B)에서, 스트랩(258)은 중앙 트랙 위치(7)가 장애물을 가지므로 제6 트랙 위치(6)에 삽입될 수 있다. 제3 서브-영역(260C)에서, 스트랩(258)은 중앙 트랙 위치(12)에 나타나는 장애물이 없으므로 제12 트랙 위치(12)에 삽입될 수 있다. 제4 서브-영역(260D)에서, 스트랩(258)은 중앙 트랙 위치(17)에 나타나는 장애물이 없으므로 제17 트랙 위치(17)에 삽입될 수 있다. 또한, LIST()(270)는 새로 삽입된 스트랩을 가지는 하나 이상의 스트랩 설치 또는 삽입(274)을 식별하기 위해 갱신될 수 있다. 예를 들어, 트랙 위치(1, 6, 12, 및 17)는 (S)로 마킹됨으로써 스트랩이 설치되었음(274)으로 표시될 수 있다.
여기 서술된 바와 같이, 스트랩(258)은 미리 정해진 스트랩 삽입 규칙을 기초로 각각의 서브-영역(260A, 260B, 260C, 260D) 내 중앙 트랙 위치와 가장 가까운 트랙 위치(252) 내에 삽입될 수 있다. 이처럼, 미리 정해진 스트랩 삽입 규칙은 중앙 트랙 위치와 가장 가까운 트랙 위치를 선택하는 것을 포함하여 임의의 다수의 규칙을 포함할 수 있다. 몇몇 경우에, 스트랩(258)은 미리 정해진 스트랩 삽입 규칙을 기초로 각각의 서브-영역(260A, 260B, 260C, 260D)의 적어도 하나의 끝부분과 가장 가까운 트랙 위치(252)에 삽입될 수 있다. 그러므로, 미리 정해진 스트랩 삽입 규칙은 영역 또는 서브-영역의 적어도 하나의 끝부분과 가장 가까운 트랙 위치를 선택하는 것을 포함하여 임의의 개수의 규칙을 포함할 수 있다. 또한, 미리 정해진 스트랩 삽입 규칙은 장애물에 의해 차단된 트랙 위치를 회피하는 것을 포함할 수 있다. 또한, 미리 정해진 스트랩 삽입 규칙은 스트랩 삽입 간격 규칙을 위반하는 트랙 위치를 회피하는 것을 포함할 수 있다. 예컨대, 다양한 간격 규칙은 인접한 트랙 위치에 대하여 스트랩 삽입을 방해할 수 있는 인접한 간격의 장애물을 식별할 수 있다.
몇몇 구현예에서, 전력망 레이아웃(200B)은 반도체 웨이퍼에 집적회로 설계를 적용하기 위한 제조 파라미터와 관련된 데이터 및 정보와 연관될 수 있다. 또한, 전력망 레이아웃은 집적회로가 반도체 웨이퍼 상에서 에칭될 때 집적회로가 적절하게 기능하게 하는, 집적회로 내의 파라미터 변화를 식별할 수 있다. 그러므로, 전력망 레이아웃(200B)은 반도체 기판 또는 웨이퍼 상에 집적회로를 제조하는 것과 관련된 다양한 데이터 및 정보를 가지는 하나 이상의 데이터 구조로서 표현될 수 있고, 여기서 집적회로는 복수의 로직 레이어, 복수의 금속 레이어 및 임의의 개수의, 레이어 커플링 비아(layer coupling via)를 포함하는 복수의 레이어들로 이루어질 수 있다.
다양한 구현예에서, 용어 '스트랩(strap)'은 전력망 및 전력망 내에 다양한 경로(route)를 만들기 위해 사용될 수 있는 금속 스트랩(또는 몇몇 다른 유형의 도전성 스트랩)을 의미할 수 있다. 몇몇 경우에, 용어 '피치(pitch)'는 최소 금속 폭 및/또는 최소 금속 간격과 동일한(또는 실질적으로 유사한) 측정 단위와 연관된 트랙(또는 트랙 위치)을 의미할 수 있다. 몇몇 경우에, 하나의 레이어 상의 트랙들은 유사한 피치를 가질 수도 있고 그렇지 않을 수도 있다. 몇몇 다른 경우에, 용어 '타겟 피치(target pitch)'는 스트랩 사이에 있을 수 있는 임의의 피치 개수를 의미할 수 있다. 또 다른 몇몇 경우에, 용어 '타겟 피치'는 스트랩간의 바람직한 거리를 의미할 수도 있다. 또한, 몇몇 경우에, 용어 '피치(또는 타겟 피치)'는 스트랩의 수직 피치 및/또는 수평 피치에 사용될 수 있는 기본적인 피치를 의미할 수 있다.
몇몇 구현예에서, 파워 스트랩은 적어도 하나의 금속 와이어, 파워 스위치(파워 게이트라고도 함), 및/또는 비아를 포함할 수 있다. 몇몇 다른 구현예에서, 임의의 특정 레이어 상의 금속 와이어는 그 동일한 레이어 상에 2 이상의 평행 와이어를 포함할 수 있다.
도 3a 및 도 3b는 본 명세서에 서술된 구현예에 따른 전력망 삽입을 구현하는 방법(300)의 도면을 도시한다. 구체적으로, 도 3a는 방법(300)에 대한 프로세스 플로우의 제1 부분(300A)을 도시하고, 도 3b는 방법(300)을 위한 프로세스 흐름의 제2 부분(300B)을 도시한다.
방법(300)이 특정한 동작 실행 순서를 나타낼 수 있으나, 몇몇 경우에 동작들의 다양한 어느 부분들은 상이한 순서로 그리고 상이한 시스템상에서 실행될 수 있음을 이해해야 한다. 몇몇 다른 경우에, 추가 동작 및/또는 단계들이 방법(300)에 추가될 수도 있고, 일부는 방법(300)에서 생략될 수도 있다. 방법(300)은 하드웨어 및/또는 소프트웨어로 구현될 수 있다. 하드웨어로 구현된다면, 방법(300)은 도 1 내지 도 2b를 참조하여 앞서 서술된 바와 같은 다양한 컴포넌트들을 통해 구현될 수 있다. 소프트웨어로 구현된다면, 방법(300)은 본 명세서에 서술된 다양한 전력망 삽입 스킴 및 기술을 구현하도록 구성될 수 있는 프로그램 또는 소프트웨어 명령어 프로세스로서 구현될 수 있다. 또한, 소프트웨어로 구현된다면, 방법(300)을 구현하는 것과 관련된 다양한 명령어들이 메모리에 저장될 수 있고, 여기서, 프로세서 및 메모리를 갖춘 컴퓨터, 서버, 또는 다양한 다른 컴퓨팅 장치가 방법(300)을 수행하도록 구성될 수 있다.
도 3a 및 도 3b를 참조하면, 방법(300)은 본 명세서에 서술된 다양한 전력망 삽입 스킴 및 기술을 구현하기 위해 사용될 수 있다. 예를 들어, 방법(300)은 삽입된 스트랩 및/또는 비아 간의 목표 간격을 충족하도록 함과 동시에, 동일한 레이어(들) 또는 이웃한 레이어(들) 상에 이미 놓여 있는 물체를 고려하여 전력망 스트랩 및/또는 비아를 삽입하기 위해 사용될 수 있다. 레벨 시프터(level shifter) 및 격리 회로(isolation circuit)를 위한 보조 파워 서플라이는 전체 디자인 플로어플랜을 커버할 필요가 없기 때문에, 보조 파워 서플라이는 오직 레벨 시프터 및 격리 회로가 물리적으로 놓여질 위치에만 설치될 수 있다.@
도 3a는 본 명세서에 서술된 구현예에 따른 방법(300)에 대한 프로세스 흐름의 제1 부분(300A)을 도시한다.
블록(310, 312)에서, 방법(300)은 사용자 정의 파라미터를 수신, 추출, 또는 획득할 수 있다. 구체적으로, 블록(310)에서, 방법(300)은 사용자 정의 영역을 수신할 수 있고, 블록(312)에서, 방법(300)은 사용자 지정 서플라이 타겟 피치를 수신할 수 있다. 몇몇 경우에, 사용자는 스트랩 삽입을 위해 지정될 수 있는 직방형 또는 직선형의 '영역'을 식별하는 사용자 정의 파라미터를 제공할 수 있다. 또한, 사용자 정의 파라미터는 스트랩 및/또는 비아가 서로로부터 얼마나 멀리 떨어져야 하는지 식별할 수 있다(타겟 피치). 도 2b는 복수의(예컨대, 4개의) '서브-영역(A, B, C, D)'을 가지는 '영역'(200B)의 예를 제공하는데, 각각의 '서브-영역'은 복수의(예컨대, 5개의) 트랙을 가진다. 몇몇 경우에, '영역'은 사용자가 공급이 추가되기를 바라는 직사각형 구역으로 정의될 수 있고, '서브-영역'은 타겟 피치 사이의 위치로서 정의될 수 있다.
블록(320)에서, 방법(300)은 레귤러 전력망(PG) 삽입 스트랩 및 비아를 수신할 수 있다. 용어 '레귤러'는 이미 놓여 있는 물체 및 구조를 의미할 수 있고, 그러므로, 레귤러 PG 삽입 스트랩 및 비아는 새로 설치되는 PG 삽입 스트랩 및 비아에 대하여 장애물(또는 방해되는 물체 및 구조)로 간주될 수 있는 이미 설치된 PG 삽입 스트랩을 의미할 수 있다. 몇몇 경우에, 레귤러 파워 및 그라운드 서플라이 스트랩 및 비아는 플로어 플랜으로 삽입될 수 있다. 파워 도메인이 게이트될 것이라면, 파워 스위치도 삽입될 수 있다. 스트랩 및 비아는 오직 어느 트랙(또는 트랙 위치) 내에서만 발생할 수 있다.
블록(322)에서, 방법(300)은 블록(310, 312)으로부터 사용자 정의 파라미터를 수신할 수 있고, 사용자 정의 파라미터를 기초로 가능한 트랙 위치를 찾은 다음, 그 가능한 트랙 위치의 인덱싱된 리스트(또는 인덱스 리스트)를 생성한다. 몇몇 경우에, 방법(300)은 스트랩 및 비아를 위한 가능한 삽입 위치(트랙)가 이 영역 내에 존재할 수 있는 위치를 식별할 수 있고, 방법(300)은 그 정보를 각각의 트랙에 대하여 하나의 엔트리를 가지는 '리스트'로 변환한다. '리스트' 내의 하나 이상의 또는 모든 트랙은 개방된 것으로 표시될 수 있다. 몇몇 경우에, '리스트'는 일부 또는 모든 트랙 정보를 보유한 데이터 구조를 의미한다.
블록(330)에서, 방법(300)은 인덱스 리스트에 의해 차단된 트랙을 식별하기 위해 전력망 아키텍처의 플로어플랜에 질문할 수 있고, 그 다음 방법(300)은 식별된 차단된 트랙을 기초로 인덱스 리스트를 갱신할 수 있다. 또한, 블록(332)에서, 방법(300)은 차단하기 위해 인접 트랙을 체크함으로써 간격 규칙을 체크할 수 있고, 그 다음 방법(300)은 차단된 인접 트랙을 기초로 인덱스 리스트를 갱신할 수 있다.
몇몇 경우에, 방법(300)은 사용자 지정된 '영역' 내의 주어진 레이어 상의 이미 설치된 스트랩 및 비아의 위치를 찾기 위해 플로어플랜에 질문할 수 있고, 방법(300)은 그 위치를 트랙 '리스트' 내의 인덱스로 변환한 후 그 인덱스를 '차단'됨으로 표시할 수 있다. 스트랩 및 비아가 설계 규칙을 준수하기 위해 그들 사이에 어느 정도의 거리를 필요로 할 수 있기 때문에, 방법(300)은 또한 적절한 개수의 인접한 인덱스들을 '차단'됨으로 표시할 수 있다. 또한, 몇몇 트랙 또는 몇몇 트랙 위치는 DRC(design rule compliance)와 관련된 규칙으로 인해 '차단'될 수 있다. 몇몇 경우에, 용어 '차단'됨은 트랙 또는 트랙 위치 내의 차단을 의미한다.
블록(340)에서, 방법(300)은 영역 폭을 타겟 피치로 나누어 서브-영역의 개수를 계산할 수 있다(영역 폭/타겟 피치 = 서브-영역의 개수). 몇몇 경우에, '타겟 피치' 및 '영역'의 크기를 기초로, 방법(300)은 얼마나 많은 스트랩이 적합한지 그리고 이상적으로 설치된 때 '타겟 피치'를 초과하지 않는지 판정할 수 있고, 그 다음 방법(300)은 그 영역을 그 양만큼 나눌 수 있다. 또한, 방법(300)은 각각의 '서브-영역' 내에 적어도 하나의 스트랩을 설치할 수 있다.
도 3b는 본 명세서에 서술된 구현예에 따른 방법(300)의 프로세스 플로우의 제2 부분(300B)을 도시한다.
블록(350)에서, 각각의 서브-영역에 대하여, 그리고 블록((352)에서, 방법(300)은 중앙에서 가장 가까운 '차단'되지 않은 트랙을 찾고 스트랩을 추가할 수 있다. 몇몇 경우에 ,각각의 '서브-영역' 내에서, 방법(300)은 '차단'된 위치 사이에 가장 큰 갭을 가지는 에어리어를 찾고, 그 에어리어의 중앙에 스트랩을 설치할 수 있다. 그러나 그 스트랩이 (예컨대, 간격 규칙 및 제약으로 인해) 합법적으로 설치될 수 없다면, 방법(300)은 보조 서플라이 없이 이 '서브-영역'을 떠날 수 있다. 몇몇 다른 경우에, 블록(350 및 352)에서, 방법(300)은 하나 이상의 '서브-영역' 내의 적어도 하나의 끝부분과 가장 가까운 트랙 위치를 찾을 수 있다. 여기서 더 서술한 바와 같이, 스트랩 삽입은 중앙의 트랙 위치와 가장 가까운 트랙 위치를 선택하는 것 및 영역 또는 서브-영역의 적어도 하나의 끝부분과 가장 가까운 트랙 위치를 선택하는 것을 포함할 수 있다.
판정 블록(354)에서, 방법(300)은 솔루션이 찾아졌는지 여부를 결정 또는 판정할 수 있다. 블록(354)에서 솔루션이 찾아졌다면, 블록(360)에서, 방법(300)은 스트랩을 설치할 수 있고, 블록(362)에서, 방법(300)은 다음 서브-영역으로 진행할 수 있다. 몇몇 경우에, 방법(300)은 사용자의 '타겟 피치'와 관계없이 각각의 '영역' 내에 복수의 스트랩(예컨대, 적어도 2개의 스트랩)을 설치할 수 있다. 이것은 서플라이 무결성을 돕기 위해 행해질 수 있다.
그렇지 않다면, 블록(354)에서 솔루션이 찾아지지 않으면, 블록(370)에서 방법(300)은 현재의 서브-영역을 스킵할 수 있고, 블록(372)에서, 방법(300)은 사용자에게 현재의 서브-영역에서 솔루션을 찾지 못했기 때문에 현재의 서브-영역이 스킵됨을 경고할 수 있다. 그 다음, 블록(372) 후, 방법(300)은 블록(362)에서 다음 서브-영역으로 진행할 수 있다.
판정 블록(380)에서, 방법(300)은 현재의 서브-영역이 마지막 서브-영역인지 여부를 판정 및 판단할 수 있다. 그렇다면, 방법(300)은 블록(390)에서 종료한다. 그렇지 않다면, 방법(300)은 블록(352)으로 복귀하여 다음 서브-영역으로 진행한다. 이처럼, 방법(300)은 마지막 서브-영역이 처리될 때까지 블록(352-380)을 반복할 수 있다.
방법(300)을 구현하는 몇 가지 이점은 자동화되지 않았을 때 수동적으로 행해져서 사람이 실수하기 쉬웠던 보조 서플라이의 삽입을 신뢰성 있고, 반복 가능하고, 견고하게 할 수 있는 자동화를 포함한다. 방법(300)의 시간 절약은 더 빠른 턴어라운드 시간(turnaround time)을 가능하게 할 수 있고, 사용자들이 그들의 설계가 희망하는 목표를 충족함을 보장하기 위해 다양한 구성을 평가하는 것을 가능하게 할 수 있다. 또한, 방법(300)은 몇몇 다른 환경에 스트랩 및/또는 비아를 삽입하는데 바로 적용 가능할 수 있다. 보조 서플라이를 삽입하는 것과 더불어, 방법(300)은 하나 이상의 파워 서플라이 및 그라운드 서플라이를 가질 수 있는 메모리 매크로(memory macro) 위에 스트랩을 삽입할 수 있다. 서플라이는 메모리 매크로에 대해 동일한 밀도를 사용하지 않을수도 있다. 또한, 방법(300)은 최종 사용자가 타겟 피치를 통해 각각의 서플라이 밀도를 제어하는 것을 허용할 수 있고, 방법(300)은 스트랩 및/또는 비아를 서로의 주변에 어떻게 배치할지 알아내기 위해 사용될 수도 있다. 몇몇 경우에, 방법(300)은 핫 스폿 고정(hot spot fixing)을 위해 사용될 수도 있다.
도 4는 본 명세서에 서술된 다양한 구현예에 따른 전력망 삽입을 구현하는 방법(400)의 프로세스 흐름도를 도시한다.
방법(400)이 특정한 동작 실행 순서를 나타낼 수 있으나, 몇몇 경우에 동작들의 다양한 어느 부분들은 상이한 순서로 그리고 상이한 시스템상에서 실행될 수 있음을 이해해야 한다. 몇몇 다른 경우에, 추가 동작 및/또는 단계들이 방법(400)에 추가될 수도 있고, 일부는 방법(400)에서 생략될 수도 있다. 방법(400)은 하드웨어 및/또는 소프트웨어로 구현될 수 있다. 하드웨어로 구현된다면, 방법(400)은 도 1 내지 도 2b를 참조하여 앞서 서술된 바와 같은 다양한 컴포넌트들을 통해 구현될 수 있다. 소프트웨어로 구현된다면, 방법(400)은 본 명세서에 서술된 다양한 전력망 삽입 스킴 및 기술을 구현하도록 구성될 수 있는 프로그램 또는 소프트웨어 명령어 프로세스로서 구현될 수 있다. 또한, 소프트웨어로 구현된다면, 방법(400)을 구현하는 것과 관련된 다양한 명령어들이 메모리에 저장될 수 있고, 여기서, 프로세서 및 메모리를 갖춘 컴퓨터, 서버, 또는 다양한 다른 컴퓨팅 장치가 방법(400)을 수행하도록 구성될 수 있다.
도 4를 참조하면, 방법(400)은 다양한 전력망 삽입 스킴 및 기술을 구현하기 위해 사용될 수 있다.
블록(410)에서, 방법(400)은 전력망 레이아웃을 수정하기 위해 사용자로부터 사용자 정의 파라미터를 수신할 수 있다. 전력망 레이아웃은 반도체 웨이퍼에 집적회로 설계를 적용하기 위한 제조 파라미터를 포함할 수 있다. 몇몇 시나리오에서, 전력망 레이아웃은 집적회로가 반도체 웨이퍼 상에서 에칭될 때 집적회로가 적절하게 기능하도록 하는 집적회로 내의 파라미터 변동을 식별할 수 있다.
블록(420)에서, 방법(400)은 사용자에 의해 제공된 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 사용자 지정된 영역을 식별할 수 있다. 몇몇 시나레이오에서, 사용자 정의 파라미터는 사용자에 의해 제공된 서플라이 타겟 피치를 포함한다. 몇몇 다른 시나리오에서, 전력망 레이아웃의 영역은 복수의 서브-영역으로 세분될 수 있고, 서플라이 타겟 피치는 각각의 서브-영역 내의 다수의 트랙 위치를 정의할 수 있다.
블록(430)에서, 방법(400)은 스트랩을 삽입할 전력망 레이아웃의 영역 내 트랙 위치를 식별할 수 있고, 이것은 전력망 레이아웃의 영역 내의 각각의 트랙 위치에 대한 장애물을 식별하는 것을 포함할 수 있다. 장애물은 스트랩 삽입을 방해하는 스트랩 삽입 이전에 제 자리에 이미 존재하는 금속 및 비아를 포함할 수 있다.
블록(440)에서, 방법(400)은 미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 영역 내에 적어도 하나의 스트랩을 삽입할 수 있다. 미리 정해진 스트랩 삽입 규칙은 장애물로 차단된 트랙 위치를 회피하는 제1 규칙을 포함할 수 있다. 미리 정해진 스트랩 삽입 규칙은 스트랩 삽입 간격 규칙을 위반하는 트랙 위치를 회피하는 제2 규칙을 포함할 수 있다. 또한, 미리 정해진 스트랩 삽입 규칙은 중앙 트랙 위치와 가장 가까운(또는 그 영역의 적어도 하나의 끝부분과 가장 가까운) 트랙 위치를 선택하는 제3 규칙을 포함할 수 있다.
몇몇 시나리오에서, 블록(440)에서, 방법(400)은 영역 내 각각의 트랙 위치의 리스트를 추출할 수 있고, 이 리스트는 영역 내 각각의 트랙 위치에 대한 트랙 정보를 정의하는 데이터 구조를 포함할 수 있다. 또한, 블록(440)에서, 방법(400)은 스트랩 삽입을 방해하는 장애물을 가진 하나 이상의 차단된 트랙을 식별할 수 있다. 또한, 블록(440)에서, 방법(400)은 인접한 트랙 위치에 대한 스트랩 삽입을 방해할 수 있는 인접한 간격의 장애물을 식별할 수 있는, 스트랩 삽입 간격 규칙을 체크할 수 있다.
도 5는, 예컨대, 도 1의 컴퓨팅 장치(102) 및 그것과 연관된 컴포넌트를 포함하여, 본 명세서에 서술된 다양한 구현예를 구현하는데 적합한 컴퓨팅 장치(500)의 블록도이다. 이처럼, 컴퓨팅 장치(500)는 컴퓨팅 장치(102)로 구현될 수 있고, 유무선 네트워크를 통해 다양한 다른 컴퓨팅 장치들과 네트워크 통신하도록 구성될 수도 있다.
컴퓨팅 장치(500)는, 예컨대, 서버, 퍼스널 컴퓨터(PC), 랩탑, 노트북, 모바일 통신 장치 또는 이들과 유사한 것과 같은, 다양한 컴퓨팅 장치로 구현될 수 있다. 컴퓨팅 장치(500)는, 예컨대, 프로세싱 컴포넌트(504)(예컨대, 프로세서, 디지털 신호 프로세서(DSP) 등), 시스템 메모리 컴포넌트(506)(예컨대, RAM), 정적 저장 컴포넌트(508)(예컨대, ROM), 디스크 드라이브 컴포넌트(510)(예컨대, 자기 또는 광), 네트워크 인터페이스 컴포넌트(512)(예컨대, 모뎀 또는 이더넷 카드), 디스플레이 컴포넌트(514)(예컨대, CRT 또는 LCD), 입력 컴포넌트(516)(예컨대, 키보드), 커서 컨트롤 컴포넌트(518)(예컨대, 마우스 또는 트랙볼) 및 이미지 캡처 컴포넌트(520)(예컨대, 아날로그 또는 디지털 카메라)와 같은 다양한 서브시스템 및/또는 컴포넌트들을 상호연결하는 버스(502)(또는 정보를 교환하기 위한 다른 통신 메커니즘)을 포함할 수 있다. 몇몇 구현예에서, 디스크 드라이브 컴포넌트(510)는 하나 이상의 디스크 드라이브 컴포넌트를 가진 데이터베이스를 포함할 수 있다.
컴퓨팅 장치(500)는 시스템 메모리 컴포넌트(506)에 담긴 하나 이상의 명령어들의 하나 이상의 시퀀스를 실행하는 프로세서(504)에 의해 다양한 특정 작업들을 수행한다. 이러한 명령어는 정적 저장 컴포넌트(508) 또는 디스크 드라이브 컴포넌트(510)와 같은, 다른 컴퓨터 판독 가능한 매체로부터 시스템 메모리 컴포넌트(506)로 읽어올 수 있다. 몇몇 경우에, 하드와이어(hard-wired) 회로는 본 명세서에 서술된 다양한 스킴 및/또는 기술을 시행하기 위해 소프트웨어 명령어를 대신하여, 또는 그것과 조합하여 사용될 수 있다.
로직은 컴퓨터 판독 가능한 매체 내에 인코딩될 수 있는데, 이는 실행을 위해 프로세서(504)에 명령어를 제공하는데 참여하는 임의의 매체를 의미할 수 있다. 이러한 매체는 비휘발성 메체 및 휘발성 매체를 포함한 다수의 형태를 취할 수 있는데, 이에 제한되는 것은 아니다. 다양한 구현예에서, 비휘발성 매체는 디스크 드라이브 컴포넌트(510)와 같은 광 또는 자기 디스크를 포함하고, 휘발성 매체는 시스템 메모리 컴포넌트(506)와 같은 동적 메모리를 포함한다. 몇몇 구현예에서, 실행 명령어와 관련된 데이터 및 정보는, 예컨대, 라디오 파장(radio wave) 및 적외선 데이터 통신 동안 생성되는 것을 포함하여, 음향 또는 광 파형의 형태의 전송 매체를 통해 컴퓨팅 장치(500)로 전송될 수 있다. 다양한 구현예에서, 전송 매체는 버스(502)를 포함하는 와이어를 포함하여, 동축 케이블, 구리선, 및/또는 광섬유를 포함할 수 있다.
컴퓨터 판독 가능한 매체의 몇몇 일반적인 형태는, 예컨대, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 임의의 다른 광 매체, 천공 카드, 종이 테이프, 홀의 패턴을 가지는 임의의 다른 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 운송파, 또는 컴퓨터가 판독할 수 있는 임의의 다른 매체를 포함한다.
다양한 구현예에서, 본 명세서에 서술된 스킴 및 기술을 실시하기 위한 명령어 시퀀스의 실행은 컴퓨팅 장치(500)에 의해 수행될 수 있다. 본 명세서에 서술된 다른 구현예에서, 통신 링크(530)(예컨대, 무선 통신, 모바일, 및/또는 셀룰러 폰 네트워크를 포함하여 LAN, WLAN, PTSN 및/또는 다른 다양한 유무선 네트워크)에 의해 연결된 복수의 컴퓨팅 장치(500)가 서로 협력하여 본 명세서의 구현예들을 실시하기 위한 명령어 시퀀스를 수행할 수 있다.
다양한 구현예에서, 컴퓨팅 장치(500)는 통신 링크(530) 및 통신 인터페이스(512)를 통해 프로그램(즉, 애플리케이션 코드)을 포함하는, 메시지, 데이터, 정보 및 명령어를 전송 및 수신할 수 있다. 또한, 실행을 위해 디스크 드라이브 컴포넌트(510) 또는 몇몇 다른 비휘발성 저장 컴포넌트 내에 수신 및/또는 저장된, 수신된 프로그램 코드는 프로세서(504)에 의해 실행될 수 있다.
이제, 장치의 구현예가 서술된다. 이 장치는 전력망 레이아웃을 수정하기 위한 사용자 정의 파라미터를 수신하고, 그 사용자 정의 파라미터를 기초로 스트랩을 삽입할 파우 그리드 레이아웃의 영역을 식별하는 영역 식별 모듈을 포함할 수 있다. 이 장치는 스트랩을 삽입할 전력망 레이아웃의 영역 내 트랙 위치를 식별하는 트랙 식별 모듈을 포함할 수 있다. 이 장치는 미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 영역 내에 적어도 하나의 스트랩을 삽입하는 스트랩 설치 모듈을 포함할 수 있다.
이제, 방법의 구현예가 서술된다. 이 방법은 전력망 레이아웃을 수정하기 위해 사용자로부터 사용자 정의 파라미터를 수신하는 단계를 포함할 수 있다. 전력망 레이아웃은 반도체 웨이퍼 상에 집적회로 설계를 적용하기 위한 제조 파라미터를 포함할 수 있다. 이 방법은 사용자에 의해 제공된 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 사용자 정의 영역을 식별하는 단계를 포함할 수 있다. 이 방법은 스트랩을 삽입할 전력망 레이아웃의 영역 내의 트랙 위치를 식별하는 단계로서, 전력망 레이아웃의 영역 내의 각각의 트랙 위치에 대한 장애물을 식별하는 것을 포함하는 단계를 포함할 수 있다. 장애물은 스트랩 삽입을 방해하는 스트랩 삽입 이전에 제 위치에 있는 미리 존재하는 금속 및 비아를 포함할 수 있다. 이 방법은 미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 영역 내에 적어도 하나의 스트랩을 삽입하는 단계를 포함할 수 있다.
이제, 컴퓨터에 의해 실행될 때 컴퓨터가 전력망 레이아웃을 수정하기 위해 사용자로부터 사용자 정의 파라미터를 수신하게 하는 복수의 컴퓨터 실행 가능한 명령어를 저장하고 있는 비일시적 컴퓨터 판독 가능한 매체의 구현예가 서술된다. 전력망 레이아웃은 반도체 웨이퍼에 집적회로 설계를 적용하기 위한 제조 파라미터를 포함할 수 있다. 이 명령어는 컴퓨터가 사용자에 의해 제공된 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 사용자 정의 영역을 식별하게 만들 수 있다. 이 명령어는 컴퓨터가 전력망 레이아웃의 영역 내의 각각의 트랙 위치에 대한 장애물을 식별하게 만드는 것을 포함하여, 스트랩을 삽입할 전력망 레이아웃의 영역 내 트랙 위치를 식별하게 만들 수 있다. 장애물은 스트랩 삽입을 방해하는 스트랩 삽입 전에 제 위치에 미리 존재하는 금속 및 비아를 포함할 수 있다. 이 명령어는 컴퓨터가 미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 영역 내에 적어도 하나의 스트랩을 삽입하게 할 수 있다.
본 명세서에 서술된 다양한 기술의 구현예는 다수의 범용 또는 특수 목적용 컴퓨팅 시스템 환경 또는 구성과 함께 운영될 수 있다. 본 명세서에 서술된 다양한 기술과 함께 사용하기 적합한 컴퓨팅 시스템, 환경, 및/또는 구성의 예는 퍼스널 컴퓨터, 서버 컴퓨터, 휴대용 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋탑박스, 프로그래밍 가능한 고객 전자장치, 네트워크 PC, 미니 컴퓨터, 메인프레임 컴퓨터, 스마트폰, 태블릿, 웨어러블 컴퓨터, 클라우드 컴퓨팅 시스템, 가상 컴퓨터 및 해양 전자 장치 등을 포함하지만, 이에 제한되는 것은 아니다.
본 명세서에 서술된 다양한 기술들은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은, 컴퓨터 실행 가능한 명령어의 일반적인 환경에서 구현될 수 있다. 프로그램 모듈은 특정한 작업을 수행하거나 특정한 추상적 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 또한, 각각의 프로그램 모듈은 그 자신의 방식으로 구현될 수 있으며, 모든 프로그램 모듈이 동일한 방식으로 구현될 필요는 없다. 프로그램 모듈이 단일 컴퓨팅 시스템상에서 실행할 수 있지만, 몇몇 구현예에서, 프로그램 모듈은 서로 통신하도록 조절된 별개의 컴퓨팅 시스템들 또는 장치들 상에서 구현될 수도 있음을 이해해야 한다. 또한, 프로그램 모듈은 하드웨어 및 소프트웨어의 몇몇 조합일 수 있으며, 이때 프로그램 모듈에 의해 수행되는 특정 작업들은 하드웨어 또는 소프트웨어에 의해 또는 이 둘의 몇몇 조합에 의해 수행될 수 있다.
본 명세서에 서술된 다양한 기술들은 분산 컴퓨팅 환경에서 구현될 수 있으며, 이 때 작업들은, 예컨대, 유선 링크, 무선 링크, 또는 이들의 다양한 조합에 의한 통신 네트워크를 통해 링크되어 있는 원격 프로세싱 장치에 의해 수행된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은, 예컨대, 메모리 저장 장치 및 그와 유사한 것을 포함하는 로컬 및 원격 컴퓨터 저장 매체 내에 위치할 수 있다.
또한, 본 명세서에 제공된 설명들은 어느 특수한 구현예에 관한 것으로 간주될 수 있다. 본 명세서에 제공된 설명들은 당업자들이 청구항의 내용에 의해 본 명세서에 정의된 임의의 내용을 만들고 이용하는 것을 가능하게 할 목적으로 제공된 것임을 이해해야 한다.
청구항의 내용은 본 명세서에 제공된 구현예 및 설명으로 제한되지 않으며, 청구항에 따른 구현예들의 일부를 포함하는 그 구현예 및 다른 구현예의 엘리먼트들의 조합의 수정된 형태를 포함하도록 의도된 것임을 이해해야 한다. 임의의 이러한 구현예를 개발할 때, 임의의 엔지니어링 또는 설계 프로젝트에서, 구현예마다 다를 수 있는 시스템 관련 및 비지니스 관련 제한사항을 준수하는 것과 같은 개발자의 특수한 목적을 달성하기 위해, 구현예에 특정된 다양한 판단이 이루어져야 함을 이해해야 한다. 또한, 이러한 개발 노력이 복잡하고 시간 소모적일 수 있지만, 본 명세서의 교시를 받은 당업자들에게는 설계, 제조 및 생산의 일상적인 업무임을 이해해야 한다.
첨부된 도면에 그 예가 도시되어 있는 다양한 구현예들이 상세하게 참조되었다. 아래의 상세한 설명에서, 다수의 구체적인 세부사항들은 본 명세서에 제공된 내용의 완전한 이해를 돕기 위해 제시된 것이다. 그러나, 여기 제시된 내용은 이러한 구체적인 세부사항 없이도 실시될 수 있다. 몇몇 다른 예에서, 공지된 방법, 절차, 컴포넌트, 회로, 및 네트워크는 실시예들의 세부사항을 불필요하게 모호하게 하지 않기 위해 상세하게 설명되지 않았다.
또한, 용어 '제1', '제2' 등이 다양한 엘리먼트를 설명하기 위해 본 명세서에서 사용될 수 있지만, 이러한 엘리먼트들이 이러한 용어에 의해 제한되어서는 안 된다는 것을 이해해야 한다. 이러한 용어들은 단지 한 엘리먼트를 다른 엘리먼트와 구별하기 위해 사용된 것이다. 예를 들어, 제1 엘리먼트가 제2 엘리먼트로 불릴 수도 있고, 제2 엘리먼트가 제1 엘리먼트로 불릴 수도 있다. 제1 및 제2 엘리먼트는 각각의 두 엘리먼트 모두일 수도 있으나, 이들이 동일한 엘리먼트로 간주되어서는 안 된다.
본 명세서에 제공된 내용의 설명에 사용된 용어들은 특정 구현예를 설명하기 위한 목적일 뿐이며, 본 명세서에 제공된 내용을 제한하려는 의도는 아니다. 본 명세서 및 첨부된 청구항에 제공된 내용의 설명에 사용된 단수 형태 "하나", "하나의", "그"는 그 문맥에서 분명히 다르게 언급하지 않았다면 복수의 형태도 포함하도록 의도되었다. 본 명세서에서 사용된 용어 "및/또는"은 하나 이상의 연관된 목록의 항목들의 임의의 모든 가능한 조합을 포함하는 의미이다. 용어 "포함하다", "포함하는", "구비하다" 및/또는 "구비한"은 본 명세서에서 사용된 때 언급된 특징, 정수, 단계, 동작, 엘리먼트, 및/또는 컴포넌트의 존재를 명시한 것이지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 엘리먼트, 컴포넌트 및/또는 이들의 그룹의 존재 또는 추가를 배제하는 것은 아니다.
여기서 사용된 때, 용어 "만약"은 문맥에 따라 "~한 때", 또는 "~하면", 또는 "판정에 응답하여", 또는 "탐지에 응답하여"의 의미로 해석될 수 있다. 이와 유사하게, 문구 "~로 판정되면" 또는 "[언급된 조건 또는 이벤트]가 탐지된다면"은 문맥에 따라 "판정 시", 또는 "판정에 응답하여" 또는 "[언급된 조건 또는 이벤트]의 탐지 시" 또는 "[언급된 조건 또는 이벤트]의 탐지에 응답하여"의 의미로 해석될 수 있다. 용어 "위" 및 "아래"; "상부" 및 "하부"; "위로" 및 "아래로"; "밑에" 및 "위에" 및 주어진 지점 또는 엘리먼트 위 또는 아래의 상대적 위치를 나타내는 다른 유사한 용어들이 본 명세서에 서술된 다양한 기술의 몇몇 구현예와 관련하여 사용될 수 있다.
앞선 내용은 본 명세서에 서술된 다양한 기술의 구현예에 관한 것이지만, 아래의 청구항에 의해 판단될 수 있는 본 명세서의 내용에 따른 다른 및 추가적인 구현예가 고안될 수도 있다.
본 발명의 내용이 구조적 특징 및/또는 방법론적 행위에 특정된 언어로 서술되었으나, 첨부된 청구항에 의해 정의되는 본 발명의 내용은 상술된 특정한 특징 또는 행위로 반드시 제한되는 것은 아님을 이해해야 한다. 그보다는, 상술된 특정한 특징 및 행위는 청구항을 구현하기 위한 예시적인 형태로서 개시된 것이다.
Claims (20)
- 전력망 레이아웃(layout)을 수정하기 위한 사용자 정의 파라미터를 수신하고 상기 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 영역을 식별하는 영역 식별 모듈;
스트랩을 삽입할 전력망 레이아웃의 상기 영역 내의 트랙 위치를 식별하는 트랙 식별 모듈; 및
미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 상기 영역 내에 적어도 하나의 스트랩을 삽입하는 스트랩 설치 모듈을 포함하고,
전력망 레이아웃은 반도체 웨이퍼에 집적회로 설계를 적용하기 위한 제조 파라미터를 포함하는 것을 특징으로 하는 장치. - 삭제
- 제 1 항에 있어서, 전력망 레이아웃은 집적회로가 반도체 웨이퍼 상에서 에칭될 때 집적회로가 작동할 수 있도록 해주는, 집적회로 내부의 파라미터 변화를 식별하는 것을 특징으로 하는 장치.
- 전력망 레이아웃(layout)을 수정하기 위한 사용자 정의 파라미터를 수신하고 상기 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 영역을 식별하는 영역 식별 모듈;
스트랩을 삽입할 전력망 레이아웃의 상기 영역 내의 트랙 위치를 식별하는 트랙 식별 모듈; 및
미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 상기 영역 내에 적어도 하나의 스트랩을 삽입하는 스트랩 설치 모듈을 포함하고,
상기 영역은 사용자 정의 영역을 포함하고, 상기 사용자 정의 파라미터는 상기 사용자에 의해 제공된 사용자 정의 영역을 포함하는 것을 특징으로 하는 장치. - 전력망 레이아웃(layout)을 수정하기 위한 사용자 정의 파라미터를 수신하고 상기 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 영역을 식별하는 영역 식별 모듈;
스트랩을 삽입할 전력망 레이아웃의 상기 영역 내의 트랙 위치를 식별하는 트랙 식별 모듈; 및
미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 상기 영역 내에 적어도 하나의 스트랩을 삽입하는 스트랩 설치 모듈을 포함하고,
상기 사용자 정의 파라미터는 사용자에 의해 제공되는 서플라이 타겟 피치를 포함하는 것을 특징으로 하는 장치. - 제 5항에 있어서, 전력망 레이아웃의 상기 영역은 복수의 서브-영역으로 세분되고, 상기 서플라이 타겟 피치는 각각의 서브-영역 내의 다수의 트랙 위치를 정의하는 것을 특징으로 하는 장치.
- 제 6 항에 있어서, 상기 스트랩 설치 모듈은 각각의 서브-영역 내 중앙 트랙 위치와 가장 가까운 또는 각각의 서브-영역의 적어도 하나의 끝부분과 가장 가까운 적어도 하나의 트랙 위치를 선택하고, 미리 정해진 스트랩 삽입 규칙을 기초로 적어도 하나의 트랙 위치 내에 적어도 하나의 스트랩을 삽입하는 것을 특징으로 하는 장치.
- 전력망 레이아웃(layout)을 수정하기 위한 사용자 정의 파라미터를 수신하고 상기 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 영역을 식별하는 영역 식별 모듈;
스트랩을 삽입할 전력망 레이아웃의 상기 영역 내의 트랙 위치를 식별하는 트랙 식별 모듈; 및
미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 상기 영역 내에 적어도 하나의 스트랩을 삽입하는 스트랩 설치 모듈을 포함하고,
상기 트랙 식별 모듈은 상기 영역 내 각각의 트랙 위치의 리스트를 추출하고, 상기 리스트는 상기 영역 내의 각각의 트랙 위치에 대한 트랙 정보를 정의하는 데이터 구조를 포함하는 것을 특징으로 하는 장치. - 제 8 항에 있어서, 상기 트랙 식별 모듈은 상기 영역 내 각각의 트랙 위치의 리스트를 기초로 상기 영역 내 각각의 트랙 위치에 대한 장애물을 식별하는 것을 특징으로 하는 장치.
- 제 9 항에 있어서, 상기 장애물은 스트랩 삽입을 방해하는 스트랩 삽입 이전에 제 위치에 이미 존재하고 있는 금속 및 비아를 포함하는 것을 특징으로 하는 장치.
- 전력망 레이아웃(layout)을 수정하기 위한 사용자 정의 파라미터를 수신하고 상기 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 영역을 식별하는 영역 식별 모듈;
스트랩을 삽입할 전력망 레이아웃의 상기 영역 내의 트랙 위치를 식별하는 트랙 식별 모듈; 및
미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 상기 영역 내에 적어도 하나의 스트랩을 삽입하는 스트랩 설치 모듈을 포함하고,
상기 트랙 식별 모듈은 스트랩 삽입을 방해하는 장애물을 가진 하나 이상의 차단된 트랙을 식별하는 것을 특징으로 하는 장치. - 전력망 레이아웃(layout)을 수정하기 위한 사용자 정의 파라미터를 수신하고 상기 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 영역을 식별하는 영역 식별 모듈;
스트랩을 삽입할 전력망 레이아웃의 상기 영역 내의 트랙 위치를 식별하는 트랙 식별 모듈; 및
미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 상기 영역 내에 적어도 하나의 스트랩을 삽입하는 스트랩 설치 모듈을 포함하고,
상기 트랙 식별 모듈은 스트랩 삽입 간격 규칙을 체크하고, 상기 간격 규칙은 인접한 트랙 위치에 대하여 스트랩 삽입을 방해하는 인접한 간격의 장애물을 식별하는 것을 특징으로 하는 장치. - 전력망 레이아웃(layout)을 수정하기 위한 사용자 정의 파라미터를 수신하고 상기 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 영역을 식별하는 영역 식별 모듈;
스트랩을 삽입할 전력망 레이아웃의 상기 영역 내의 트랙 위치를 식별하는 트랙 식별 모듈; 및
미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 상기 영역 내에 적어도 하나의 스트랩을 삽입하는 스트랩 설치 모듈을 포함하고,
상기 미리 정해진 스트랩 삽입 규칙은 장애물로 차단된 트랙 위치를 회피하는 것을 포함하는 것을 특징으로 하는 장치. - 전력망 레이아웃(layout)을 수정하기 위한 사용자 정의 파라미터를 수신하고 상기 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 영역을 식별하는 영역 식별 모듈;
스트랩을 삽입할 전력망 레이아웃의 상기 영역 내의 트랙 위치를 식별하는 트랙 식별 모듈; 및
미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 상기 영역 내에 적어도 하나의 스트랩을 삽입하는 스트랩 설치 모듈을 포함하고,
상기 미리 정해진 스트랩 삽입 규칙은 스트랩 삽입 간격 규칙을 위반하는 트랙 위치를 회피하는 것을 포함하는 것을 특징으로 하는 장치. - 전력망 레이아웃(layout)을 수정하기 위한 사용자 정의 파라미터를 수신하고 상기 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 영역을 식별하는 영역 식별 모듈;
스트랩을 삽입할 전력망 레이아웃의 상기 영역 내의 트랙 위치를 식별하는 트랙 식별 모듈; 및
미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 상기 영역 내에 적어도 하나의 스트랩을 삽입하는 스트랩 설치 모듈을 포함하고,
상기 미리 정해진 스트랩 삽입 규칙은 중앙 트랙 위치와 가장 가까운 또는 상기 영역의 적어도 하나의 끝부분과 가장 가까운 트랙 위치를 선택하는 것을 포함하는 것을 특징으로 하는 장치. - 전력망 레이아웃을 수정하기 위해 사용자로부터 사용자 정의 파라미터를 수신하는 단계로서, 전력망 레이아웃은 반도체 웨이퍼에 집적회로 설계를 적용하기 위한 제조 파라미터를 포함하는 것인 상기 사용자 정의 파라미터를 수신하는 단계;
사용자에 의해 제공된 상기 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 사용자 정의된 영역을 식별하는 단계;
스트랩을 삽입할 전력망 레이아웃의 상기 영역 내의 트랙 위치를 식별하는 단계로서, 전력망 레이아웃의 상기 영역 내 각각의 트랙 위치에 대한 장애물을 식별하는 것을 포함하고, 상기 장애물은 스트랩 삽입을 방해하는 스트랩 삽입 이전에 제 위치에 이미 존재하고 있는 금속 및 비아를 포함하는 것인, 상기 트랙 위치를 식별하는 단계; 및
미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 상기 영역 내에 적어도 하나의 스트랩을 삽입하는 단계를 포함하고,
전력망 레이아웃은 집적회로가 반도체 웨이퍼 상에서 에칭될 때 집적회로가 작동할 수 있도록 해주는, 집적회로 내부의 파라미터 변화를 더 식별하는 것을 특징으로 하는 방법. - 삭제
- 전력망 레이아웃을 수정하기 위해 사용자로부터 사용자 정의 파라미터를 수신하는 단계로서, 전력망 레이아웃은 반도체 웨이퍼에 집적회로 설계를 적용하기 위한 제조 파라미터를 포함하는 것인 상기 사용자 정의 파라미터를 수신하는 단계;
사용자에 의해 제공된 상기 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 사용자 정의된 영역을 식별하는 단계;
스트랩을 삽입할 전력망 레이아웃의 상기 영역 내의 트랙 위치를 식별하는 단계로서, 전력망 레이아웃의 상기 영역 내 각각의 트랙 위치에 대한 장애물을 식별하는 것을 포함하고, 상기 장애물은 스트랩 삽입을 방해하는 스트랩 삽입 이전에 제 위치에 이미 존재하고 있는 금속 및 비아를 포함하는 것인, 상기 트랙 위치를 식별하는 단계; 및
미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 상기 영역 내에 적어도 하나의 스트랩을 삽입하는 단계를 포함하고,
상기 사용자 정의 파라미터는 사용자에 의해 제공되는 서플라이 타겟 피치를 포함하고, 전력망 레이아웃의 상기 영역은 복수의 서브-영역으로 세분되고, 상기 서플라이 타겟 피치는 각각의 서브-영역 내의 다수의 트랙 위치를 정의하는 것을 특징으로 하는 방법. - 전력망 레이아웃을 수정하기 위해 사용자로부터 사용자 정의 파라미터를 수신하는 단계로서, 전력망 레이아웃은 반도체 웨이퍼에 집적회로 설계를 적용하기 위한 제조 파라미터를 포함하는 것인 상기 사용자 정의 파라미터를 수신하는 단계;
사용자에 의해 제공된 상기 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 사용자 정의된 영역을 식별하는 단계;
스트랩을 삽입할 전력망 레이아웃의 상기 영역 내의 트랙 위치를 식별하는 단계로서, 전력망 레이아웃의 상기 영역 내 각각의 트랙 위치에 대한 장애물을 식별하는 것을 포함하고, 상기 장애물은 스트랩 삽입을 방해하는 스트랩 삽입 이전에 제 위치에 이미 존재하고 있는 금속 및 비아를 포함하는 것인, 상기 트랙 위치를 식별하는 단계; 및
미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 상기 영역 내에 적어도 하나의 스트랩을 삽입하는 단계를 포함하고,
상기 미리 정해진 스트랩 삽입 규칙은
장애물로 차단된 트랙 위치를 회피하는 제1 규칙;
스트랩 삽입 간격 규칙을 위반하는 트랙 위치를 회피하는 제2 규칙; 및
중앙 트랙 위치와 가장 가까운 또는 상기 영역의 적어도 하나의 끝부분과 가장 가까운 트랙 위치를 선택하는 제3 규칙
중 하나 이상을 포함하는 것을 특징으로 하는 방법. - 복수의 컴퓨터 실행 가능한 명령어를 저장하고 있는 비일시적 컴퓨터 판독 가능한 매체로서, 상기 컴퓨터 실행 가능한 명령어는 컴퓨터에 의해 실행된 때 컴퓨터가;
전력망 레이아웃을 수정하기 위해 사용자로부터 사용자 정의 파라미터를 수신하게 하고;
사용자에 의해 제공된 상기 사용자 정의 파라미터를 기초로 스트랩을 삽입할 전력망 레이아웃의 사용자 정의된 영역을 식별하게 하고;
전력망 레이아웃의 상기 영역 내의 각각의 트랙 위치에 대한 장애물을 식별하는 것을 포함하여, 스트랩을 삽입할 전력망 레이아웃의 상기 영역 내 트랙 위치를 식별하게 하고; 그리고
미리 정해진 스트랩 삽입 규칙을 기초로 전력망 레이아웃의 상기 영역 내에 적어도 하나의 스트랩을 삽입하게 하고,
상기 전력망 레이아웃은 반도체 웨이퍼에 집적회로 설계를 적용하기 위한 제조 파라미터를 포함하고,
상기 장애물은 스트랩 삽입을 방해하는 스트랩 삽입 이전에 제 위치에 이미 존재하고 있는 금속 및 비아를 포함하는 것을 특징으로 하는 복수의 컴퓨터 실행 가능한 명령어를 저장하고 있는 비일시적 컴퓨터 판독 가능한 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/418,593 | 2017-01-27 | ||
US15/418,593 US10452803B2 (en) | 2017-01-27 | 2017-01-27 | Power grid insertion technique |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180088586A KR20180088586A (ko) | 2018-08-06 |
KR102449569B1 true KR102449569B1 (ko) | 2022-09-30 |
Family
ID=62979938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180008235A KR102449569B1 (ko) | 2017-01-27 | 2018-01-23 | 전력망 삽입 기술 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10452803B2 (ko) |
KR (1) | KR102449569B1 (ko) |
TW (1) | TWI762561B (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11157676B2 (en) * | 2016-09-20 | 2021-10-26 | Octavo Systems Llc | Method for routing bond wires in system in a package (SiP) devices |
US10346574B2 (en) * | 2017-06-16 | 2019-07-09 | Qualcomm Incorporated | Effective substitution of global distributed head switch cells with cluster head switch cells |
US11449116B2 (en) * | 2019-09-26 | 2022-09-20 | Arm Limited | Power grid porosity techniques |
US11735525B2 (en) * | 2019-10-21 | 2023-08-22 | Tokyo Electron Limited | Power delivery network for CFET with buried power rails |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020065643A1 (en) | 2000-11-27 | 2002-05-30 | Matsushita Electric Industrial Co., Ltd. | Method for optimizing electromagnetic interference and method for analyzing the electromagnetic interference |
US20030066041A1 (en) | 2001-09-28 | 2003-04-03 | Prashant Saxena | Adaptive power routing and shield sharing to reduce shield count |
US20060080630A1 (en) | 2003-11-02 | 2006-04-13 | Mentor Graphics Corp. | Power/ground wire routing correction and optimization |
US20090019411A1 (en) * | 2005-12-17 | 2009-01-15 | Rajit Chandra | Thermally Aware Design Modification |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7565638B2 (en) * | 2006-11-21 | 2009-07-21 | Sun Microsystems, Inc. | Density-based layer filler for integrated circuit design |
US20080238882A1 (en) * | 2007-02-21 | 2008-10-02 | Ramesh Sivarajan | Symmetric touch screen system with carbon nanotube-based transparent conductive electrode pairs |
JP5528662B2 (ja) * | 2007-09-18 | 2014-06-25 | ソニー株式会社 | 半導体集積回路 |
US8996190B2 (en) * | 2011-03-01 | 2015-03-31 | Michael Lamar Williams | Method and apparatus for controlling electrical loads to provide positive damping of power grid oscillation |
US9024657B2 (en) * | 2012-10-11 | 2015-05-05 | Easic Corporation | Architectural floorplan for a structured ASIC manufactured on a 28 NM CMOS process lithographic node or smaller |
US20140103985A1 (en) * | 2012-10-11 | 2014-04-17 | Easic Corporation | Digitally Controlled Delay Line for a Structured ASIC Having a Via Configurable Fabric for High-Speed Interface |
-
2017
- 2017-01-27 US US15/418,593 patent/US10452803B2/en active Active
-
2018
- 2018-01-23 KR KR1020180008235A patent/KR102449569B1/ko active IP Right Grant
- 2018-01-26 TW TW107102802A patent/TWI762561B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020065643A1 (en) | 2000-11-27 | 2002-05-30 | Matsushita Electric Industrial Co., Ltd. | Method for optimizing electromagnetic interference and method for analyzing the electromagnetic interference |
US20030066041A1 (en) | 2001-09-28 | 2003-04-03 | Prashant Saxena | Adaptive power routing and shield sharing to reduce shield count |
US20060080630A1 (en) | 2003-11-02 | 2006-04-13 | Mentor Graphics Corp. | Power/ground wire routing correction and optimization |
US20090019411A1 (en) * | 2005-12-17 | 2009-01-15 | Rajit Chandra | Thermally Aware Design Modification |
Also Published As
Publication number | Publication date |
---|---|
KR20180088586A (ko) | 2018-08-06 |
TW201841124A (zh) | 2018-11-16 |
US20180218106A1 (en) | 2018-08-02 |
TWI762561B (zh) | 2022-05-01 |
US10452803B2 (en) | 2019-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102449569B1 (ko) | 전력망 삽입 기술 | |
KR102478753B1 (ko) | 전력망 복구 기술 | |
US11675954B2 (en) | Method of designing a device | |
US8683393B2 (en) | Integrated design environment for nanophotonics | |
Seo et al. | Pin accessibility-driven cell layout redesign and placement optimization | |
US11036913B2 (en) | Integrated circuit methods using single-pin imaginary devices | |
CN103853654A (zh) | 网页测试路径的选择方法和装置 | |
CN113163175A (zh) | 一种监控摄像头布局方法、装置及计算机可读存储介质 | |
CN116911246B (zh) | 芯片设计的布线规划方法及相关设备 | |
US8914755B1 (en) | Layout re-decomposition for multiple patterning layouts | |
CN111597768A (zh) | 用于构建版图图案集的方法、设备和计算机可读存储介质 | |
CN111597769A (zh) | 用于生成电路版图图案的方法、设备和存储介质 | |
CN109933857A (zh) | 感知集成电路布局信息的时钟树主干拓扑生成方法及系统 | |
US11106850B2 (en) | Flexible constraint-based logic cell placement | |
US10078719B1 (en) | Generating pseudo-random circuits | |
US8713485B2 (en) | Categorization of design rule errors | |
US20180211914A1 (en) | Power Distribution | |
KR102632111B1 (ko) | 슬립 신호 스티칭 기술 | |
Fang et al. | Obstacle-avoiding open-net connector with precise shortest distance estimation | |
US20080155486A1 (en) | Systems and methods for reducing wiring vias during synthesis of electronic designs | |
US11763062B2 (en) | Systems and methods for eliminating electromigration and self-heat violations in a mask layout block | |
US9529949B1 (en) | Generating intertwined pseudo-random circuit paths referenced to an area | |
CN116167322B (zh) | 电路仿真方法及装置、服务器和存储介质 | |
CN116956810B (zh) | 布线方法及装置、计算装置和存储介质 | |
US20210019462A1 (en) | Method of semiconductor integrated circuit, circuit design system, and non-transitory computer-readable medium |
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 |