KR101914521B1 - 표준 셀 아키텍처 레이아웃 - Google Patents
표준 셀 아키텍처 레이아웃 Download PDFInfo
- Publication number
- KR101914521B1 KR101914521B1 KR1020187010092A KR20187010092A KR101914521B1 KR 101914521 B1 KR101914521 B1 KR 101914521B1 KR 1020187010092 A KR1020187010092 A KR 1020187010092A KR 20187010092 A KR20187010092 A KR 20187010092A KR 101914521 B1 KR101914521 B1 KR 101914521B1
- Authority
- KR
- South Korea
- Prior art keywords
- shape
- grid
- predefined
- edge
- request
- Prior art date
Links
- 238000013461 design Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 48
- 230000003213 activating effect Effects 0.000 claims description 3
- 239000002184 metal Substances 0.000 description 48
- 239000011295 pitch Substances 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241001422033 Thestylus Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000005641 tunneling Effects 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/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- G06F17/5072—
-
- 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/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- 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
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G06F2217/06—
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Power Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Processing Or Creating Images (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 명세서에서 설명되는 다양한 구현예들은 표준 셀 아키텍처 레이아웃 설계를 제공하는 것에 관한 것이다. 그리드를 활성화하도록 하는 요청이 수신된다. 입력 장치로부터 그리드 상의 특정 위치에 형상 중의 적어도 하나의 에지를 배치하도록 하는 요청이 수신된다. 형상의 적어도 하나의 에지는 사전 정의된 규칙에 기초하여 허용된 위치에 자동으로 배치된다.
Description
기술이 진보함에 따라, 간단한 표준 셀을 위한 패턴에 기초하여 집적 회로 레이아웃을 자동으로 생성하기 위한 툴이 만들어졌다. 일반적으로, 첫번째 셀들의 세트는 수작업으로 이루어진다. 이러한 첫번째 셀들의 세트를 만드는 프로세스는 시간 소모적인 것일 수 있다. 첫번째 셀들의 세트가 만들어진 후에도, 수동 레이아웃의 필요성이 프로젝트 개발 과정에서 계속 발생할 수 있다. 매우 구체적인 셀들에 대해서도 나중에는 수동 레이아웃이 필요할 수도 있다.
또한, 종래 기술의 툴이 레이어 상에 형상을 배치하는 것을 허용하기는 하지만, 이러한 툴은 모든 형상에 사용될 수가 없고, 규칙적인 피치 그리드(나노미터 그리드 위치)에만 기초하는 것이고, 이산값으로는 작동하지 않으며, 파운드리 규칙에만 기초하는 것이다. 또한, 나노미터 그리드 위치에 기반하는 종래 기술의 툴은, 다른 설계 검사가 적용될 때까지 발견되지 않게 되는 오류를 생성할 수 있는 부적절한 위치로, 설계자가 아이템들을 이동하는 것을 허용한다.
다양한 기술의 구현예들이 첨부된 도면을 참조하여 본 명세서에서 설명된다. 그러나, 첨부된 도면은 본 명세서에 설명된 다양한 구현예들만을 도시하는 것이지 본 명세서에 설명된 다양한 기술의 범위를 제한하려는 것이 아님을 이해해야 한다.
도 1은 본 명세서에서 설명되는 다양한 구현예들에 따른 비아에 대한 가상 그리드를 도시한 것이다.
도 2는 본 명세서에서 설명되는 다양한 구현예들에 따라 수평 메탈(M1) 레이어 상의 하나의 레일로부터 다른 레일로 형상을 이동시키는 것을 도시한 것이다.
도 3은 본 명세서에서 설명되는 다양한 구현예들에 따라 수평 레이어 상의 한 위치에서 다른 위치로 형상을 이동시키는 것을 도시한 것이다.
도 4는 본 명세서에 설명되는 다양한 구현예들에 따라 하나의 위치에서 다른 위치로 형상을 스트레칭하는 것을 도시한 것이다.
도 5는 본 명세서에서 설명되는 다양한 구현예들에 따라 하나의 위치에서 다른 위치로 형상을 스트레칭하는 것을 도시한 것이다.
도 6은 본 명세서에서 설명되는 다양한 구현예들에 따라 하나의 위치로부터 다른 위치로 형상을 스트레칭하는 것을 도시한 것이다.
도 7은 본 명세서에 설명되는 다양한 구현예들에 따른 수평 메탈(M1) 레이어에 대한 그리드를 도시한 것이다.
도 8은 본 명세서에서 설명되는 다양한 구현예들에 따른 비아 레이어에 대한 그리드를 도시한 것이다.
도 9는 본 명세서에서 설명되는 다양한 구현예들에 따른 수평 메탈(M1) 및 비아 레이어에 대한 그리드를 도시한 것이다.
도 10은 본 명세서에서 설명되는 다양한 구현예들에 따른 비아 복사 및 붙여 넣기 동작을 도시한 것이다.
도 11은 본 명세서에서 설명되는 다양한 구현예들에 따른 비아 복사 및 붙여 넣기 동작을 도시한 것이다.
도 12는 본 명세서에서 설명되는 다양한 구현예들에 따른 비아 복사 및 붙여 넣기 동작을 도시한 것이다.
도 13은 본 명세서에서 설명되는 다양한 구현예에 따른 메탈 복사 및 붙여 넣기 동작을 도시한 것이다.
도 14는 본 명세서에서 설명되는 다양한 구현예들에 따른 메탈 복사 및 붙여 넣기 동작을 도시한 것이다.
도 15는 본 명세서에서 설명되는 다양한 구현예들에 따른 메탈 복사 및 붙여 넣기 동작을 도시한 것이다.
도 16은 본 명세서에서 설명되는 다양한 구현예들에 따른 메탈 복사 및 붙여 넣기 동작을 도시한 것이다.
도 17은 본 명세서에서 설명되는 다양한 구현예들에 따른 메탈 스트레치 동작을 도시한 것이다.
도 18은 본 명세서에서 설명되는 다양한 구현예들에 따른 메탈 스트레치 동작을 도시한 것이다.
도 19는 본 명세서에서 설명되는 다양한 구현예들에 따른 메탈 스트레치 동작을 도시한 것이다.
도 20은 본 명세서에서 설명되는 다양한 구현예들에 따라 표준 셀 아키텍처 레이아웃 설계를 제공하는 방법을 도시한 것이다.
도 21은 본 명세서에서 설명되는 다양한 구현들에 따라 표준 셀 아키텍처 레이아웃 설계를 제공하는 방법을 도시한 것이다.
도 22는 표준 셀 아키텍처에서의 레이어들에 대한 예시적인 사전 정의된 좌표들을 도시한 것이다.
도 23은 본 명세서에서 설명되는 다양한 구현예들에 따른 표준 셀 아키텍처 레이아웃 설계를 제공하기 위한 컴퓨터 시스템을 도시한 것이다.
도 1은 본 명세서에서 설명되는 다양한 구현예들에 따른 비아에 대한 가상 그리드를 도시한 것이다.
도 2는 본 명세서에서 설명되는 다양한 구현예들에 따라 수평 메탈(M1) 레이어 상의 하나의 레일로부터 다른 레일로 형상을 이동시키는 것을 도시한 것이다.
도 3은 본 명세서에서 설명되는 다양한 구현예들에 따라 수평 레이어 상의 한 위치에서 다른 위치로 형상을 이동시키는 것을 도시한 것이다.
도 4는 본 명세서에 설명되는 다양한 구현예들에 따라 하나의 위치에서 다른 위치로 형상을 스트레칭하는 것을 도시한 것이다.
도 5는 본 명세서에서 설명되는 다양한 구현예들에 따라 하나의 위치에서 다른 위치로 형상을 스트레칭하는 것을 도시한 것이다.
도 6은 본 명세서에서 설명되는 다양한 구현예들에 따라 하나의 위치로부터 다른 위치로 형상을 스트레칭하는 것을 도시한 것이다.
도 7은 본 명세서에 설명되는 다양한 구현예들에 따른 수평 메탈(M1) 레이어에 대한 그리드를 도시한 것이다.
도 8은 본 명세서에서 설명되는 다양한 구현예들에 따른 비아 레이어에 대한 그리드를 도시한 것이다.
도 9는 본 명세서에서 설명되는 다양한 구현예들에 따른 수평 메탈(M1) 및 비아 레이어에 대한 그리드를 도시한 것이다.
도 10은 본 명세서에서 설명되는 다양한 구현예들에 따른 비아 복사 및 붙여 넣기 동작을 도시한 것이다.
도 11은 본 명세서에서 설명되는 다양한 구현예들에 따른 비아 복사 및 붙여 넣기 동작을 도시한 것이다.
도 12는 본 명세서에서 설명되는 다양한 구현예들에 따른 비아 복사 및 붙여 넣기 동작을 도시한 것이다.
도 13은 본 명세서에서 설명되는 다양한 구현예에 따른 메탈 복사 및 붙여 넣기 동작을 도시한 것이다.
도 14는 본 명세서에서 설명되는 다양한 구현예들에 따른 메탈 복사 및 붙여 넣기 동작을 도시한 것이다.
도 15는 본 명세서에서 설명되는 다양한 구현예들에 따른 메탈 복사 및 붙여 넣기 동작을 도시한 것이다.
도 16은 본 명세서에서 설명되는 다양한 구현예들에 따른 메탈 복사 및 붙여 넣기 동작을 도시한 것이다.
도 17은 본 명세서에서 설명되는 다양한 구현예들에 따른 메탈 스트레치 동작을 도시한 것이다.
도 18은 본 명세서에서 설명되는 다양한 구현예들에 따른 메탈 스트레치 동작을 도시한 것이다.
도 19는 본 명세서에서 설명되는 다양한 구현예들에 따른 메탈 스트레치 동작을 도시한 것이다.
도 20은 본 명세서에서 설명되는 다양한 구현예들에 따라 표준 셀 아키텍처 레이아웃 설계를 제공하는 방법을 도시한 것이다.
도 21은 본 명세서에서 설명되는 다양한 구현들에 따라 표준 셀 아키텍처 레이아웃 설계를 제공하는 방법을 도시한 것이다.
도 22는 표준 셀 아키텍처에서의 레이어들에 대한 예시적인 사전 정의된 좌표들을 도시한 것이다.
도 23은 본 명세서에서 설명되는 다양한 구현예들에 따른 표준 셀 아키텍처 레이아웃 설계를 제공하기 위한 컴퓨터 시스템을 도시한 것이다.
본 발명은 수동 레이아웃 개발을 최적화하고 가속화하는 툴을 제공한다. 새로운 노드(node)들에서는, 표준 셀 아키텍처들이 정의된다. 이 표준 셀 아키텍처들은 그리드(grid) 레이아웃을 포함한다. 그리드 기반 레이아웃은 주로 직사각형 형상으로 구성되어 있으며 그 형상에 대해 가능한 매우 제한된 수의 위치들을 정의한다. 나노미터 그리드 위치 대신 아키텍처 위치를 제안하는 레이아웃 개발 툴에서의 규칙이 생성된다. 이 레이아웃 개발 툴은 CAD(computer-aided design) 툴과 통합될 수 있으며, 그 규칙이 즉각적으로 조정 가능하다.
본 발명의 툴은 허용된 한 위치에서 다른 위치로 형상을 생성, 복사, 이동 또는 스트레칭할 수 있는 능력을 제공하여 모든 중간 위치를 제거함으로써, 파운드리 설계 규칙 또는 아키텍처 규칙이 충족되는지 여부를 확인하기 위해 매번 측정할 필요가 없도록 한 것이다. 따라서, 나노미터 그리드(수백 개의 상이한 위치를 가질 수 있음)를 기반으로 형상을 생성/복사/이동/스트레칭하는 것이 아니라, 각 레이어에 대해 적은 수의 명확한 위치가 대신 존재한다.
그리드 값들은 상이한 레이어들에 대한 센터링(centering) 속성들, 예를 들어, 비아(via), 핀(pin), 수평 메탈의 Y 값을 포함한다. 이 그리드 값들은 다양한 형상에 대한 에지 속성들, 예를 들어, 수평 메탈의 X 값도 포함한다. 각 레이어에 대해 허용되는 값들은 아키텍처 파일에 저장된다. 이 아키텍처 파일에는 쉽고 빠르게 액세스할 수 있어서 레이아웃 설계자에게 시간 절감을 제공할 수 있다.
일 구현예에서, 본 툴은 형상을 이동, 생성 또는 스트레칭하도록 하는 요청을 수신한다. (아키텍처 규칙에 따라) 형상이 적절한 위치 부근 내로 이동하면, 그 형상이 자동으로 적절한 위치에 스냅(snap)된다. 이 툴은 모든 가능한 위치들을 표시하지 않는다. 일 구현예에서, 이 툴은 형상이 배치되어야 하는 적절한 부분 또는 위치만을 표시한다.
이 툴은 사전 정의된 그리드 좌표 또는 규칙, 예를 들어, 각 형상에 대한 그리드 위치를 사용하여 스냅할 위치를 결정한다. 이러한 사전 정의된 그리드 좌표는 각 형상에 대한 다양한 옵션을 제어한다. 그리드 좌표는 생성, 이동, 복사 및 스트레칭과 같은 각각의 형상 편집 옵션에 대해 활성화된다. 이 툴은 설계자가 사전 정의된 그리드 위치를 따르지 않는 어떠한 곳에도 형상을 배치할 수 없게 만든다.
사전 정의된 규칙은 표준 셀 아키텍처에 기반하는 것이다. 아키텍처를 기반으로 사전 정의된 규칙을 작성하면, 사전 정의된 그리드 좌표를 따르지 않는 위치에 형상을 이동, 복사, 생성 또는 스트레칭할 수 없다. 예를 들어, 메탈 레이어에 있어서, 표준 셀 아키텍처를 기반으로, 이 메탈 레이어는 변경될 수 없는 고정된 위치들을 갖는다. 이 레이어에 적용될 모든 형상에 대한 모든 위치가 정의된다. 설계자가 메탈 레이어 상에서 비아(via)를 이동시키고자 하는 경우, 이 비아는 사전 정의된 그리드 좌표에서 해당 형상에 대해 정의된 위치들로만 스냅될 것이다.
사전 정의된 그리드 좌표들(좌측, 우측, 하부, 상부 및/또는 중앙)은 파일, 예를 들어 아키텍처 파일에 저장된다. 이러한 사전 정의된 그리드 좌표들은 표준 셀의 여러 레이어들에 대한 아키텍처 규칙을 기반으로 한다. 사전 정의된 그리드에 정의된 소정(x, y) 위치들로부터 가능한 좌표들이 각각의 형상에 적용된다. 사전 정의된 그리드 좌표들은 각각의 형상 및 그 각각의 형상에 대하여 가능한 좌표들을 나타내는 방식을 제공한다.
표준 셀 아키텍처는 일반적으로 복수의 레이어를 갖는다. 또한, 표준 셀 아키텍처들은 상이한 크기를 가질 수도 있다. 표준 셀 아키텍처들은 상이한 크기를 가질 수도 있다. 아키텍처 크기는 높이를 가로지르는 메탈 조각(예를 들면, 트랙)의 수에 의해 결정된다. 예를 들어, 36nm 떨어져 있는 10개의 트랙은 360nm 크기의 표준 셀 아키텍처를 결정한다. 다른 예로서, 42nm 떨어져 있는 10개의 트랙은 420nm 크기의 표준 셀 아키텍처를 결정한다. 이 아키텍처는 파운드리 규칙에 따라 커스터마이징된다. 가능한 한 작고 파운드리 규칙을 지속적으로 충족시키는 아키텍처를 정의하는 것이 본 목표이다. 사전 정의된 그리드 좌표들은 아키텍처에 있는 레이어들의 고정된 위치들을 기반으로 한다. 위치들에 대한 사전 정의된 스냅은 아키텍처에 있는 레이어들의 고정된 위치들 및 사전 정의된 그리드 좌표들을 기반으로 한다.
표준 셀 아키텍처의 대부분의 레이어들은 고정된 위치들을 갖는다. 일 구현예에서, 이 고정된 위치들은 아키텍처가 변경될 때에 갱신되거나 수정될 수 있다. 일단 고정된 위치들이 수정되고 나면, 그 형상들이 예를 들어 새로운 고정된 위치들에 맞춰지도록(예컨대, 스냅되도록) 수정될 수 있다.
표준 셀 아키텍처가 생성되고 적절한 검사들을 수행한 후에 올바른 것으로 결정되면(예컨대, 설계 규칙 검사(design rule check, DRC) 오류 없음), 이 아키텍처가 형상 좌표들의 관점에서 기술될 수 있다. 아키텍처 내의 레이어들에 배치할 형상의 크기와 위치는 사전 정의된 그리드(예를 들면, (x, y)) 좌표들을 기반으로 한다. 사전 정의된 그리드 좌표를 사용하여, 각각의 형상을 자동으로 적절한 위치에 배치(즉, 스냅)할 수 있다.
일 구현예에서 본 설계 툴은 레이어 또는 형상이 이동, 스트레칭, 복사 또는 생성될 경우 설계자가 단지 허용된 한쪽 위치에서 다른쪽 위치로만 이동시키도록 한다. 따라서 파운드리 설계 규칙이나 아키텍처 규칙을 준수했는지 확인하기 위해 매번 형상 및 그 형상의 위치를 측정할 필요가 없게 된다. 일 구현예에서, 아키텍처 파일은 수동으로 생성되거나 모든 레이어에 대한 모든 가능한 위치들을 포함하는 제 1 레이아웃에 기초하여 생성된다. 이 파일은 사람이 읽을 수 있어야 하며 다른 목적으로 사용하기 위해 수정하기 쉬운 것이어야 한다(예를 들면, 동일한 프로세스에서 이 아키텍처를 다른 아키텍처로 파생시키는 경우).
도 1 내지 도 22를 참조하여, 이제 표준 셀 아키텍처의 레이어들 상에 다양한 형상을 레이아웃할 수 있는 능력을 제공하는 설계 툴의 다양한 구현예에 대하여 설명하도록 한다.
도 1은 본 명세서에서 설명되는 다양한 구현예들에 따른 비아에 대한 가상 그리드를 도시한 것이다. 이 가상 그리드는 허용되는 위치들(102, 104, 106, 108)을 보여준다. 비아(110)가 이동될 때, 본 설계 툴은 허용되는 위치만을 제안한다.
도 2는 본 명세서에서 설명되는 다양한 구현예들에 따라 수평 메탈(M1) 레이어 상에서 하나의 레일로부터 다른 레일로 형상을 이동시키는 것을 도시한 것이다. 이 구현예에서, 메탈(206)은 하나의 레일(204)로부터 인접한 레일(202)로 이동된다.
도 3은 본 명세서에서 설명되는 다양한 구현예들에 따라 수평 레이어 상의 한 위치에서 다른 위치로 형상(302)을 이동시키는 것을 도시한 것이다. 형상(302)이 이동될 위치(304)에 적합한 크기가 아닌 경우, 이 형상은 가장 가까운 가능한 에지들에 기초하여 그 새로운 위치에 맞도록 크기가 재조정된다.
도 4, 도 5 및 도 6은 본 명세서에서 설명되는 다양한 구현예들에 따라 하나의 위치에서 다른 위치로 형상을 스트레칭하는 것을 도시한 것이다. 도 4는 형상에 대하여 가능한 좌측 위치들(402, 404) 및 우측 위치들(406, 408, 410)을 도시한 것이다. 도 5는 형상에 대하여 가능한 우측 위치들(502, 504, 506)을 도시한 것이다. 도 6은 형상에 대하여 가능한 수직 위치들(602, 604, 606)을 도시한 것이다.
형상이 수평으로 이동될 경우, 형상의 왼쪽 및 오른쪽 모두가, 사전 정의된 위치로 스냅되어야 한다. 오른쪽으로 스트레칭할 경우, 형상은 가장 가까운 "우측" 허용 위치로 스냅되어야 한다. 형상의 에지들 사이에는 구별이 있다. 허용되는 위치들의 세트가 상이하면 수평한 레이어 또는 형상의 오른쪽 또는 왼쪽을 스트레칭할 때 효율성이 더 높아진다. 이 같은 효율성은 수직한 레이어 또는 형상의 상부 및 하부 위치들에 제공된다.
도 7은 수평 메탈(M1)에 대한 그리드의 예를 도시한 것이다. 이 구현예에서는, 3개의 동일한 M1 레일이 존재한다. 각 레일에는 허용되는 상부 위치와 하부 위치, 허용되는 좌측 위치 및 허용되는 우측 위치가 있다. 요소들(702, 704, 706, 708)은 M1 레일들 중 한 레일 상의 메탈에 대한 좌측 허용 위치들을 나타낸다. 요소들(710, 712, 714, 716)은 M1 레일들 중 한 레일 상의 메탈에 대한 우측 허용 위치들을 나타낸다. 요소들(718, 720)은 M1 레일들 중 한 레일 상의 상부 및 하부 허용 위치들을 나타낸다.
도 8은 비아 레이어에 대한 그리드의 예를 도시한 것이다. 이 예에서는, 허용되는 비아들의 위치가 표시되어 있다.
도 9는 수평 메탈(M1) 및 비아 레이어에 대한 그리드의 예를 도시한 것이다. 이 예에서는, 메탈 및 비아들에 대해 허용되는 위치들의 조합이 표시되어 있다. 즉, 도 9는 도 7 및 도 8에 도시된 요소들의 조합을 도시한 것이다. 도 9에 도시된 그리드는 도 10 내지 도 19에 도시된 바와 같은 다양한 예시 형상들 및 이 예시 형상들이 이동, 복사 및/또는 스트레칭되는 방식을 설명하기 위해 사용된다.
도 10, 도 11 및 도 12는 본 명세서에서 설명되는 다양한 구현예들에 따른 비아 복사 및 붙여 넣기 동작의 예를 도시한 것이다. 도 10에서, 비아 형상(1004)이 하부 M1 레일의 일 비아 위치에 위치된 비아 형상(1002)으로부터 복사된다. 비아 형상(1004)은 비아(1006)로 이동(예를 들어 붙여 넣기)될 것이다. 도 11에서, 비아 형상(1004)은 중간 M1 레일의 비아(1006) 근처에 놓이게 된다. 도 12에서, 비아 형상(1004)이 비아(1006)의 임계 또는 근사적 위치(사전 정의된 그리드 규칙에 의해 정의됨) 내에 놓이게 될 경우, 비아 형상(1004)이 알맞은 자리로 스냅된다. 기존의 비아 형상이 복사되고 나서, 그 복사된 비아 형상이 예를 들어 입력 장치를 사용하여, 허용된 위치로 이동될 경우, 이 비아 형상은 자동으로 새로운 위치 내의 알맞은 자리로 스냅된다. 예를 들어, 레이아웃 설계자가 입력 장치를 사용하여 비아 형상을 알맞은 자리에 드롭(drop)할 경우, 비아 형상이 올바른 위치에 놓이게 된다.
도 13, 도 14, 도 15 및 도 16은 본 명세서에서 설명되는 다양한 구현예들에 따른 메탈 복사 및 붙여 넣기 동작의 예를 도시한 것이다. 도 13은 상부 M1 레일에 놓여 있는 메탈 형상을 나타낸다. 도 14는 상부 M1 레일에서의 메탈(1302)의 복사 동작을 나타낸다. 도 14에서는, 메탈 형상(1402)이 비아 형상(1302)으로부터 복사된다. 메탈 형상(1402)은 중간 M1 레일 상의 일 위치로 이동(예를 들어, 붙여 넣기)될 것이다. 도 15에서, 메탈 형상(1402)은 중간 M1 레일의 일 위치 근처에 놓이게 된다. 도 16에서, 메탈 형상(1402)이 중간 M1 레일 상의 허용된 위치의 임계 또는 근사적 위치(사전 정의된 그리드 규칙에 의해 정의됨) 내에 놓일 경우, 메탈 형상(1402)은 알맞은 자리로 스냅된다. 기존의 메탈 형상이 복사되고 나서, 그 복사된 메탈 형상이 예를 들어 입력 장치를 사용하여, 새로운 위치로 이동될 경우, 이 메탈 형상의 너비와 길이가 가장 가까운 바운더리들에 맞게 자동으로 크기 재조정됨으로써 그 메탈 형상이 새로운 위치 내의 알맞은 자리에 스냅된다. 예를 들어, 레이아웃 설계자가 입력 장치를 사용하여 메탈 형상을 알맞은 자리에 드롭할 경우, 메탈 형상이 올바른 위치에 놓이게 된다.
도 17은 본 명세서에 기재된 다양한 구현예들에 따른 메탈 스트레치 동작의 예를 도시한 것이다. 스트레치 동작 동안에 설계자는 메탈 형상의 에지를 선택하여 "x" 방향으로 스트레칭하게 된다. 스트레치 동작은 메탈 형상을 스트레칭하는 과정 동안에, 설계자에 의해 이동되는 에지가 자동으로 다음 허용 위치에 놓이게 된다는 점에서 붙여 넣기 동작과 유사하다. 도 18은 메탈 형상(1402)의 스트레칭 동안에 중간 위치를 도시한 것이다. 도 18에서, 메탈 형상(1402)의 좌측 에지는 허용 위치 근처까지(즉, 소정 거리 내로) 스트레칭되어 있다. 도 19는 사전 정의된 좌측 허용 위치(1902)까지 스트레칭되는 메탈 형상(1402)을 도시한 것이다. 메탈 형상(1402)의 좌측 에지가 좌측 허용 위치(1902) 근처의 임계 또는 근사적 위치까지 스트레칭되면, 메탈 형상(1402)의 왼쪽이 자동적으로 알맞은 자리로 스냅되며, 또는 예를 들어 설계자에 의해 사용되는 입력 장치로부터 지시를 수신할 시에 알맞은 자리 스냅될 수도 있다.
도 20은 본 명세서에서 설명되는 다양한 구현예들에 따른 표준 셀 아키텍처 레이아웃 설계를 제공하는 방법(2000)을 도시한 것이다. 일 구현예에서, 방법(2000)은 컴퓨팅 시스템에 의해 수행될 수 있다. 방법(2000)이 동작 실행의 특정 순서를 나타내고 있지만, 일부 구현예들에서는 동작들 중의 특정 부분이 다른 순서로 실행될 수도 있음을 이해해야 한다. 또한, 일부 구현예에서는, 추가적인 동작 또는 단계가 방법(2000)에 부가될 수도 있다. 마찬가지로, 일부 동작 또는 단계가 생략될 수도 있다.
블록(2005)에서 그리드가 활성화된다. 블록(2010)에서, 그리드의 특정 위치에 형상 중의 적어도 하나의 에지를 배치하라는 요청이 입력 장치로부터 수신된다. 이 입력은 형상 중의 적어도 하나의 에지를 대략적인 위치에 배치하도록 구성된다. 블록(2020)에서, 형상 중의 적어도 하나의 에지가, 표준 셀 아키텍처의 사전 정의된 규칙에 기초하여 허용된 위치에 자동으로 배치된다. 사전 정의된 그리드 좌표 또는 규칙의 예는 아래의 도 22에 설명되어 있다.
방법(2000)은 사전 정의된 그리드 좌표 또는 규칙(예를 들어, 각 형상에 대한 그리드 위치들)을 사용하여, 형상 중의 적어도 하나의 에지를 배치(즉, 스냅)할 위치를 결정하도록 구성된다. 이러한 사전 정의된 그리드 좌표들은 각 형상에 대한 다양한 옵션들을 제어한다. 그리드 좌표들은 생성, 이동, 복사 및 스트레치와 같은 각 형상 옵션에 대해 활성화된다. 방법(200)은 설계자가 사전 정의된 그리드 위치를 따르지 않는 임의의 위치에 형상을 배치하는 것을 방지하도록 구성된다.
사전 정의된 규칙은 표준 셀 아키텍처를 기반으로 할 수 있다. 이 아키텍처를 기반으로 하는 사전 정의된 규칙을 작성함으로써, 사전 정의된 그리드 좌표를 따르지 않는 위치에 형상을 이동, 복사, 생성 또는 스트레칭할 수 없게 된다. 예를 들어, 메탈 레이어에 있어서, 표준 셀 아키텍처를 기반으로, 이 메탈 레이어는 변경할 수 없는 고정된 위치들을 갖는다. 이 레이어에 적용될 모든 형상에 대한 모든 위치가 정의된다. 설계자가 메탈 레이어 상에서 비아를 이동시키고자 하는 경우, 이 비아는 사전 정의된 그리드 좌표에서 해당 형상에 대해 정의된 위치들로만 스냅될 것이다.
사전 정의된 그리드 좌표들(좌측, 우측, 하부, 상부 및/또는 중앙)은 아키텍처 파일에 저장된다. 이러한 사전 정의된 그리드 좌표들은 표준 셀의 여러 레이어들에 대한 아키텍처 규칙을 기반으로 한다. 사전 정의된 그리드에 정의된 소정(x, y) 위치들로부터 가능한 좌표들이 각각의 형상에 적용된다. 사전 정의된 그리드 좌표들은 각각의 형상 및 그 각각의 형상에 대하여 가능한 좌표들을 나타내는 방식을 제공한다. 사전 정의된 그리드 좌표들이 모든 레이어들에 필수적인 것은 아니다. 일 구현예에서는, 사전 정의된 그리드 좌표들이 레이어들의 서브세트에 적용된다.
아키텍처는 파운드리 룰에 기초하여 커스터마이징된다. 본 레이아웃 설계의 목표는 가능한 한 작고 파운드리 규칙을 계속 충족시키는 아키텍처를 정의하는 것이다. 사전 정의된 그리드 좌표들은 아키텍처에 있는 레이어들의 고정된 위치들을 기반으로 한다. 위치들에 대한 사전 정의된 스냅은 아키텍처에 있는 레이어들의 고정된 위치들과 사전 정의된 그리드 좌표들을 기반으로 한다.
일 구현예에서는, 그리드를 활성화시키기 전에, 형상에 대한 사용자 선택이 수신된다. 이 사용자 형상 선택은 기존의 형상들에 대한 이동, 복사 및/또는 스트레칭을 수행하는 것을 의미한다.
다른 구현예에서는, 형상이 복사되고 나서, 그 복사된 형상이 그리드 상에 배치된다. 이 형상의 에지들은 허용되는 위치의 가장 가까운 허용 지점에 배치(즉, 스냅)된다.
또 다른 구현예에서는, 형상이 제 1 위치로부터 허용되는 위치로 이동된다. 형상이 이동될 경우에는, 이 형상의 에지들이 허용되는 위치의 가장 가까운 허용 지점에 배치된다.
또 다른 구현예에서는, 형상 중의 적어도 하나의 에지가 스트레칭된다. 형상은 수직으로 및/또는 수평으로 스트레칭될 수 있다. 그리드는 형상의 각 에지가 복수의 허용 지점들로 스트레칭될 수 있게 한다.
일 구현예에서, 형상은 그리드 상에 생성되어 배치되는 새로운 형상이다. 새로운 형상이 생성될 경우, 그리드의 활성 레이어가 선택된다. 이 활성 레이어는 새로운 형상을 생성할 때 사용하게 되는 레이어이다. 형상의 에지들은 허용되는 위치의 가장 가까운 허용 지점에 배치된다.
또 다른 구현예에서는, 그리드가 설계자에게 디스플레이된다. 형상에 대한 하나 이상의 적절한 위치들만이 설계자에게 디스플레이된다. 이러한 방식으로 적절한 위치들을 표시하면 레이아웃 설계의 오류를 예방할 수 있다.
또 다른 구현예에서는, 사전 정의된 규칙에 기반하는 허용되는 위치가 아키텍처 파일에 기재된다. 그리드 값들이 아키텍처 파일에 포함된다. 그리드 값들은 아키텍처의 여러 레이어들에 대한 센터링 속성들을 포함한다. 또한, 그리드 값들은 형상에 대한 에지 속성들도 포함한다.
도 21은 본 명세서에서 설명되는 다양한 구현예들에 따른 표준 셀 아키텍처 레이아웃 설계를 제공하기 위한 방법의 구현예를 도시한 것이다. 일 구현예에서, 방법(2100)은 컴퓨팅 시스템에 의해 수행될 수 있다. 방법(2100)이 동작 실행의 특정 순서를 나타내고 있지만, 일부 구현예들에서는 동작들 중의 특정 부분이 다른 순서로 실행될 수도 있음을 이해해야 한다. 또한, 일부 구현예에서는, 추가적인 동작 또는 단계가 방법(2100)에 부가될 수도 있다. 마찬가지로, 일부 동작 또는 단계가 생략될 수도 있다.
블록(2105)에서, 사용자로부터 형상 선택이 수신된다. 사용자에 의해 제공되는 형상 선택은 형상의 에지를 선택하는 것을 포함할 수도 있다.
블록(2110)에서, 레이어 그리드가 활성화된다. 일 구현예에서는, 레이어 그리드가 디스플레이될 수 있다.
블록(2115)에서, 사용자는 형상을 이동시킬 것을 요청한다. 또한, 사용자는 형상을 스트레칭, 복사, 또는 생성할 것을 요청할 수도 있다. 사용자가 객체를 생성하는 것으로 결정할 경우, 블록(2105)에서는 형상 선택이 없게 된다. 그리드 선택을 위한 활성 레이어가 고려된다. 가장 가까운 허용 지점이 형상의 임의의 에지들에 대한 에지 위치와 상이할 경우, 형상의 에지들이 이 가장 가까운 허용 지점으로 스냅된다. 이동 또는 복사 동작의 경우, 형상의 크기가 재조정됨으로써 생성 동작과 동일한 방식으로 가장 가까운 지점들로 에지들이 스냅되도록 한다.
블록(2120)에서, 사용자는 마우스 커서를 근사적 위치로 이동시킨다. 블록(2125)에서는, 형상이 허용되는 위치로 즉시 스냅되며, 예를 들어 허용되는 위치의 사전 정의된 허용 가능한 영역 내에 배치된다. 허용되는 위치들은 아키텍처 파일에 기재된다.
도 22는 표준 셀 아키텍처에 있어서의 레이어들에 대한 예시적 사전 정의된 좌표들을 도시한 것이다. 도 22에 도시된 아키텍처 예는 셀 높이가 400nm이다.
좌표들은 형상의 중심이거나 또는 형상의 에지들일 수 있다. 이 좌표들은 상대 값이거나 또는 절대 값일 수 있다.
아키텍처가 기반으로 하는 요소들은 셀 높이 및 아키텍처 피치이다. 본 예에서는 셀 높이 값을 사용하지 않지만, 셀 높이를 기준으로 레이어 위치를 결정하는 것이 유용할 수 있다. 아키텍처 피치는 수평 방향에 있어서의 2개의 트랜지스터 게이트 사이의 거리이다. 대부분의 "x" 좌표는 피치 값을 기준으로 할 수 있다.
본 예에서, V+와 V- 사이의 거리, 즉 셀 높이는 400nm이다. 셀 피치는 80 nm이다. 본 예에서는 예를 들면, 바운더리가 각각 80, 160 및 240nm인 3개의 피치가 표시된다.
또한, 도 22는 5개의 M1 레일을 도시한 것이다. 각 M1 레일은 "y" 좌표 쌍을 사용하여 정의된다. 각각의 파워 네트(power net)(V + 및 V-)에 대해 하나의 레일이 셀(2205)의 하부(2210) 및 상부에 존재한다. 각각의 파워 네트에 대한 레일들은 100nm 너비이다. 각각의 파워 네트에 대한 좌표들은 (-50 50) 및 (350 450)이다. 다른 3개의 M1 레일들(상부 레일과 하부 레일 사이의 레일들)은 20nm 너비이며 다음의 좌표들 (100 120), (190 210) 및 (280 300)에 위치된다.
본 예에서는, 좌표들 (100 120), (190 210), 및 (280 300)에 있는 M1 레일들 상의 각각의 피치에 대해 하나의 사전 정의된 좌측 에지 위치(2215)가 규정된다. 이 좌측 에지 위치는 x 축을 따라 각 피치의 좌측 에지에서 20nm 떨어진 곳에 있다. 예를 들어, M1 레일들 각각에 있어서, 각 피치에 대해(예를 들면, 0nm, 80nm 및 160nm) 좌측 에지가 존재한다. 이와 같이, 파워 네트가 아닌 M1 레일들의 경우, 각 피치에 대해 사전 정의된 좌측 에지 위치는 20nm, 100nm 및 180nm이다.
좌표들 (100 120), (190 210), 및 (280 300)에 있는 M1 레일들 상의 각각의 피치에 대해 2개의 정의된 우측 에지 위치들(2220)이 규정된다. 각각의 정의된 우측 에지 위치는 각각의 피치의 좌측 에지로부터 각각 50nm 및 70nm 떨어진 곳에 위치한다. 이와 같이, 각각의 피치의 제 1 우측 에지는 50nm, 130nm, 210nm에서 각각 x 축을 따라 정의된다. 각각의 피치의 제 2 우측 에지는 70nm, 150nm 및 230nm에서 각각 x 축을 따라 정의된다.
본 예에서는, 비아들이 각각의 사이드 상에서 동일한 크기, 예를 들어 20nm이지만, 이것은 필수적인 것이 아니다. 다른 비아 크기 및 형상이 이용할 수 있다. 비아들에 대해 피치당 2개의 정의된 위치들(2225)이 존재한다. 본 예에서 비아들에 대해 가능한 사전 정의된 위치는, 피치의 좌측 에지에서 비아의 중심까지 측정되는 30nm 또는 40nm에서 x 축을 따라 배치된다. 따라서, 본 예에서, 좌표들 (100 120), (190 210), 및 (280 300)에 있는 M1 레일들 상의 각각의 피치에 대해 가능한 비아의 사전 정의된 위치는 30nm, 40nm, 110nm, 120nm, 190nm 및 200nm이다.
도 23은 본 명세서에서 설명된 다양한 기술들의 구현예에 따른 컴퓨팅 시스템(2300)을 도시한 것이다. 컴퓨팅 시스템(2300)은 중앙 처리 장치(CPU)(2330), 시스템 메모리(2326), 그래픽 처리 장치(GPU)(2331), 및 시스템 메모리(2326)를 포함하는 다양한 시스템 구성 요소를 CPU(2330)에 결합시키는 시스템 버스(2328)를 포함할 수 있다. 도 23에는 하나의 CPU(2330)만이 도시되어 있지만, 일부 구현예들에서 컴퓨팅 시스템(2300)은 하나보다 많은 CPU(2330)를 포함할 수 있음을 이해해야 한다.
CPU(2330)는 마이크로 프로세서, 마이크로 컨트롤러, 프로세서, 프로그램 가능한 집적 회로 또는 이들의 조합을 포함할 수 있다. CPU(2330)는 RISC(Reduced Instruction Set Computer) 또는 MIPS(Microprocessor without Interlocked Pipeline Stages) 프로세서 또는 이들의 조합을 포함하는 기성품 프로세서를 포함할 수 있다. 또한, CPU(2330)는 전용 프로세서를 포함할 수도 있다.
GPU(2331)는 컴퓨터 그래픽을 조작 및 구현하도록 특별히 설계된 마이크로 프로세서일 수 있다. CPU(2330)는 작업을 GPU(2331)에 오프로딩할 수 있다. GPU(2331)는 자신의 그래픽 메모리를 가질 수 있으며/있거나 시스템 메모리(2326)의 일부에 액세스할 수 있다. CPU(2330)와 마찬가지로, GPU(2331)는 하나 이상의 처리 장치를 포함할 수 있고, 각각의 처리 장치는 하나 이상의 코어를 포함할 수 있다.
CPU(2330)는 출력 데이터를 GPU(2331)에 제공할 수 있다. GPU(2331)는 출력 데이터를 나타내는 그래픽 사용자 인터페이스를 생성할 수 있다. 또한, GPU(2331)는 그래픽 사용자 인터페이스에서 메뉴와 같은 객체들을 제공할 수도 있다. 사용자는 그 객체들과 상호 작용하여 입력을 제공할 수 있다. GPU(2331)는 그 객체들과의 상호 작용으로부터 입력을 수신하고, CPU(2330)에게 입력을 제공할 수 있다. 비디오 어댑터(2332)는 그래픽 데이터를 모니터(2334)용 신호로 변환하기 위해서 제공될 수 있다. 모니터(2334)는 스크린(2305)을 포함한다. 특정 구현예들에서, 스크린(2305)은 손가락에 의한 터치에 반응할 수 있다. 다른 구현예들에서, 스크린(2305)은 손가락의 체온, 스타일러스에 반응하거나, 또는 마우스에 반응할 수 있다. 또한, 특정 구현예들에서, 스크린은 하나보다 많은 PPI(plan position indicator)를 디스플레이하는 능력을 가질 수 있다.
시스템 버스(2328)는 다양한 버스 구조 중 임의의 것을 사용하는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 로컬 버스를 포함하는 몇몇 유형의 버스 구조 중 임의의 것일 수 있다. 예를 들어, 이러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 PCI(Peripheral Component Interconnect) 버스(메자닌 버스라고도 함)를 포함하며, 이에 한정되지 않는다. 시스템 메모리(2326)는 판독 전용 메모리(ROM)(2312) 및 랜덤 액세스 메모리(RAM)(2316)를 포함할 수 있다. 예를 들어 시동 중에, 컴퓨팅 시스템(2300) 내의 구성 요소들 간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 BIOS(basic input/output system)(2314)가 ROM(2312)에 저장될 수 있다.
컴퓨팅 시스템(2300)은 하드 디스크(2350)에 대한 판독 및 기록을 위한 하드 디스크 드라이브 인터페이스(2336), 착탈식 메모리 카드(2356)에 대한 판독 및 기록을 위한 메모리 카드 판독기(2352), 및 CD ROM 또는 다른 광 매체와 같은 착탈식 광 디스크(2358)에 대한 판독 및 기록을 위한 광 디스크 드라이브(2354)를 더 포함할 수 있다. 하드 디스크(2350), 메모리 카드 판독기(2352) 및 광 디스크 드라이브(2354)는 각각 하드 디스크 드라이브 인터페이스(2336), 메모리 카드 판독기 인터페이스(2338) 및 광 드라이브 인터페이스(2340)에 의해 시스템 버스(2328)에 연결될 수 있다. 드라이브들 및 그와 관련된 컴퓨터 판독가능 매체는 컴퓨팅 시스템(2300)을 위한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 비휘발성 저장을 제공할 수 있다.
컴퓨팅 시스템(2300)이 본 명세서에서 하드 디스크, 착탈식 메모리 카드(2356) 및 착탈식 광 디스크(2358)를 갖는 것으로 설명되었지만, 당업자는 컴퓨팅 시스템(2300)이 컴퓨터에 의해 액세스될 수 있는 다른 유형의 컴퓨터 판독가능 매체를 포함할 수도 있다는 것을 이해해야 한다. 예를 들어, 이러한 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 및 착탈식 및 고정식 매체를 포함할 수 있다. 컴퓨터 저장 매체는 RAM, ROM, EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 플래시 메모리 또는 다른 솔리드 스테이트 메모리 기술, CD-ROM, DVD(digital versatile disk), 또는 다른 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨팅 시스템(2300)에 의해 액세스될 수 있는 임의의 다른 매체일 수 있다. 통신 매체는 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 구현할 수 있으며, 임의의 정보 전달 매체를 포함할 수 있다. "변조된 데이터 신호"라는 용어는 정보를 신호에 인코딩하는 방식으로 하나 이상의 특성을 설정하거나 변경한 신호를 의미할 수 있다. 예를 들어, 통신 매체는 유선 네트워크 또는 다이렉트 유선 연결과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다. 컴퓨팅 시스템(2300)은 또한 소형 컴퓨터 시스템 인터페이스(SCSI) 버스, 파이버 채널 버스, eSATA 버스를 통해 또는 임의의 다른 적용 가능한 컴퓨터 버스 인터페이스를 사용하여 저장 장치(2335)에 연결되는 호스트 어댑터(2333)를 포함할 수 있다.
또한, 컴퓨팅 시스템(2300)은 라우터(2364)에 연결되어 하나 이상의 리모트 컴퓨터(2374)와 와이드 에어리어 네트워크(WAN)(2366)를 구축할 수 있다. 라우터(2364)는 네트워크 인터페이스(2344)를 통해 시스템 버스(2328)에 연결될 수 있다. 리모트 컴퓨터(2374)는 또한 애플리케이션 프로그램(2370)을 저장하는 하드 디스크(2372)를 포함할 수 있다.
다른 구현예에서, 컴퓨팅 시스템(2300)은 또한 로컬 에어리어 네트워크(LAN)(2376) 또는 WAN(2366)을 통해 리모트 컴퓨터(2374)에 연결될 수 있다. LAN 네트워킹 환경을 사용할 경우, 컴퓨팅 시스템(2300)은 네트워크 인터페이스 또는 어댑터(2344)를 통해 LAN(2376)에 연결될 수 있다. LAN(2376)은 유선 연결 또는 무선 연결을 통해 구현될 수 있다. LAN(2376)은 Wi-Fi™ 기술, 셀룰러 기술, BluetoothTM 기술, 위성 기술, 또는 당업자에게 공지된 임의의 다른 구현을 이용하여 구현될 수 있다. 또한, 네트워크 인터페이스(2344)는 원격 액세스 기술(예를 들어, RAS(Remote Access Service), VPN(Virtual Private Networking), SSL(Secure Socket Layer), L2T(Layer 6 Tunneling) 또는 임의의 다른 적절한 프로토콜)을 이용할 수 있다. 이들 원격 액세스 기술은 리모트 컴퓨터(2374)와 관련하여 구현될 수 있다. 도시된 네트워크 연결들은 예시적인 것이며, 컴퓨터 시스템들 간의 통신 링크를 확립하는 다른 수단이 사용될 수 있음을 이해할 것이다.
다수의 프로그램 모듈은 운영 체제(2318), 하나 이상의 애플리케이션 프로그램(2320) 및 프로그램 데이터(2324)를 포함하는 하드 디스크(2350), 메모리 카드(2356), 광학 디스크(2358), ROM(2312) 또는 RAM(2316)에 저장될 수 있다. 특정 구현예들에서, 하드 디스크(2350)는 데이터베이스 시스템을 저장할 수 있다. 데이터베이스 시스템은 예를 들어 기록된 포인트들을 포함할 수 있다. 애플리케이션 프로그램(2320)은 본 명세서에서 설명된 다양한 방법 및 기술을 수행하도록 구성되는 다양한 모바일 애플리케이션("앱") 및 기타 애플리케이션들을 포함할 수 있다. 운영 체제(2318)는 네트워킹된 개인용 컴퓨터 또는 서버 컴퓨터의 동작을 제어할 수 있는 임의의 적합한 운영 체제일 수 있다.
사용자는 물리적 버튼, 가상 버튼 또는 이들의 조합일 수 있는 버튼(2362)과 같은 입력 장치를 통해 컴퓨팅 시스템(2300)에 명령 및 정보를 입력할 수 있다. 다른 입력 장치는 마이크로폰, 마우스 등(미도시)을 포함할 수 있다. 이들 및 다른 입력 장치들은 시스템 버스(2328)에 커플링된 직렬 포트 인터페이스(2342)를 통해 CPU(2330)에 연결될 수 있으며, 병렬 포트, 게임 포트 또는 USB(universal serial bus)와 같은 다른 인터페이스에 의해 연결될 수도 있다.
일 구현예에서, 컴퓨터 판독가능 매체에 저장된 하나 이상의 애플리케이션 프로그램들(2320 또는 2370)은, CPU(2330)와 같은 처리 장치에 의해 실행될 시에 컴퓨팅 시스템으로 하여금 본 명세서에서 설명된 임의의 기술 또는 그 일부를 수행하게 하는 복수의 명령어들을 포함할 수 있다.
본 발명의 레이아웃 툴은 고속 규칙 코딩을 제공하여 즉시 규칙을 변경 가능하다. 또한, 본 발명의 툴은 툴을 용이하게 비활성화/활성화하는데 사용할 수 있는 스위치 기능을 포함한다.
본 발명은 다음과 같은 몇 가지 이점을 제공한다:
● 수동 레이아웃 설계 시에 효율성이 높아질 수 있다. 수정하면서 형상의 x 또는 y 값을 확인할 필요가 없다. 룰러(ruler)를 사용할 필요가 없다. 레이어의 위치 확인이 시각적으로 행해질 수 있으므로, 도면을 그릴 때 더욱 정밀하게 확대할 필요가 없다.
● 레이아웃 일관성이 제공될 수 있다. 레이아웃이 그리드 상의 것이기 때문에, 더욱 정갈하고 반복적인 레이아웃이 라이브러리를 통해 제공된다.
● 전체 형상 라이브러리를 더 쉽게 도출할 수 있어, 가능한 패턴 수가 줄어든다.
● 오류를 감소시킬 수 있다. 예를 들어 각 레이어에 대한 2개의 연속적인 위치 사이에 갭(gap)이 있을 경우, 오류를 유발할 수 있는 상황이 쉽게 확인된다.
● 프로젝트를 처음 사용하는 레이아웃 설계자에 대한 학습 시간이 단축될 수 있다.
표준 셀 아키텍처 레이아웃 설계를 제공하기 위한 다양한 기술의 구현예들이 본 명세서에서 설명된다. 그리드를 활성화하도록 하는 요청이 수신된다. 그리드 상의 특정 위치에 형상 중의 적어도 하나의 에지를 배치하도록 하는 요청이 입력 장치로부터 수신된다. 형상 중의 적어도 하나의 에지는 사전 정의된 규칙에 기초하여, 허용된 위치에 자동으로 배치된다.
또한, 컴퓨터에 의해 실행될 시에, 컴퓨터로 하여금 그리드를 활성화하도록 하는 요청을 수신하고, 그리드 상의 특정 위치에 형상 중의 적어도 하나의 에지를 배치하도록 하는 요청을 입력 장치로부터 수신하고, 사전 정의된 규칙에 기초하여 허용된 위치에 형상 중의 적어도 하나의 에지를 자동으로 배치하게 하는 복수의 컴퓨터 실행가능 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체가 본 명세서에서 설명된다.
또한, 프로세서 및 이 프로세서에 의해 실행될 시에, 이 프로세서로 하여금 그리드를 활성화하도록 하는 요청을 수신하고, 그리드 상의 특정 위치에 형상 중의 적어도 하나의 에지를 배치하도록 하는 요청을 입력 장치로부터 수신하고, 사전 정의된 규칙에 기초하여 허용된 위치에 형상 중의 적어도 하나의 에지를 자동으로 배치하게 하는 복수의 실행가능 명령어들을 저장하는 메모리를 구비한 컴퓨터 시스템을 포함하는 장치가 본 명세서에서 설명된다.
일 구현예에서, 그리드를 활성화하기 이전에 형상에 대한 사용자 선택이 수신된다. 형상이 복사되어 그리드 상에 배치될 수 있다. 형상의 에지들은 허용된 위치 내의 사전 정의된 지점에 배치될 수 있다. 형상은 처음의 위치에서 허용된 위치로 이동될 수 있다. 처음의 위치에서 허용된 위치로 형상을 이동시키는 것은, 허용되는 위치 내의 사전 정의된 지점에 형상의 에지들을 배치하는 것을 포함할 수 있다.
다른 구현예에서, 사전 정의된 규칙은 표준 셀 아키텍처를 기반으로 하는 것이다. 사전 정의된 규칙은 사전 정의된 그리드 좌표들을 포함할 수 있다. 사전 정의된 그리드 좌표들에서 정의되는 좌표들이 각 형상에 적용될 수 있다. 그리드는 형상의 각 에지를 복수의 허용된 위치들로 스트레칭하는 것을 허용한다.
또 다른 구현예에서는, 형상이 그리드 상에 생성되고 배치되는 새로운 형상이다. 새로운 형상이 생성될 경우 그리드의 레이어가 선택된다. 새로운 형상의 에지들은 허용된 위치 내의 사전 정의된 지점에 배치될 수 있다.
또 다른 구현예에서는, 하나 이상의 허용된 지점들이 형상에 대해 디스플레이된다.
또 다른 구현예에서는, 사전 정의된 규칙에 기초하는 허용된 위치가 아키텍처 파일에 기재된다. 그리드 값들이 아키텍처 파일에 포함될 수 있다. 이 그리드 값들은 그리드의 상이한 레이어들에 대한 센터링(centering) 속성들을 포함할 수 있다. 이 그리드 값들은 형상에 대한 에지 속성들을 포함할 수 있다.
본 개시의 설명은 몇몇의 특정 구현들에 관한 것이다. 본 개시의 설명은 당업자로 하여금 청구범위의 대상에 의해 본 명세서에 정의된 임의의 대상을 제작 및 사용할 수 있게 하기 위해 제공되는 것으로 이해되어야 한다.
청구범위의 대상은 여기에 제공된 구현들 및 예시들에 한정되지 않으며, 청구항들의 범위 내에 있는 구현들의 일부 및 상이한 구현들의 요소의 조합을 포함하는 그러한 구현들의 수정된 형태를 포함하는 것으로 의도된다. 엔지니어링 또는 설계 프로젝트에서와 같이, 이러한 구현을 개발함에 있어서, 시스템 관련 제약 조건 및 비즈니스 관련 제약 조건의 준수와 같은 개발자의 특정 목표를 달성하기 위한 다양한 구현 관련 결정들이 이루져야 함을 이해해야 한다. 또한, 이러한 개발 노력은 복잡하고 시간 소모적일 수 있지만, 그럼에도 불구하고 본 개시의 이점을 갖는 통상의 기술자에게는 설계, 제작 및 제조의 일상적인 작업이 될 것이다. "임계적" 또는 "필수적"이라고 명시되지 않는 한, 본원의 어떠한 내용도 청구된 대상에 대해 임계적이거나 필수적인 것으로 간주되어서는 안된다.
첨부된 도면들에 그 예가 도시된 다양한 구현들에 대하여 상세히 설명하였다. 다음의 상세한 설명에서는, 다수의 특정 세부 사항들이 본 발명의 완전한 이해를 제공하기 위해 설명된다. 그러나, 본 발명은 이러한 특정 세부 사항 없이도 실시될 수 있다. 다른 예들에서, 공지의 방법, 절차, 구성 요소, 회로 및 네트워크는 실시예들의 양태를 필요없이 불명료하게 하지 않기 위해 상세히 설명되지 않았다.
제 1, 제 2 등이 다양한 요소들을 설명하기 위해 본 명세서에서 사용될 수 있지만, 이들 요소가 이들 용어에 의해 제한되어서는 안된다. 이들 용어는 하나의 요소를 다른 요소와 구별하기 위해서만 사용된다. 예를 들어, 본 발명의 범주를 일탈하지 않는 범위 내에서, 제 1 객체 또는 단계는 제 2 객체 또는 단계로 지칭될 수 있으며, 마찬가지로, 제 2 객체 또는 단계는 제 1 객체 또는 단계로 지칭될 수 있다. 제 1 객체 또는 단계, 및 제 2 객체 또는 단계 모두는 각각의 객체들 또는 단계들이지만, 동일한 객체 또는 단계로 간주되지는 않는다.
여기서 본 발명의 설명에 사용되는 용어는 특정 구현예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것이 아니다. 본 발명의 설명 및 첨부된 청구범위에서 사용되는, 단수 형태 "일", "하나" 및 "그"는 문맥상 달리 명시하지 않는 한 복수 형태를 포함하는 것으로 의도된다. 본 명세서에서 사용되는 "및/또는"이라는 용어는 하나 이상의 관련된 열거 항목들의 임의의 및 모든 가능한 조합들을 지칭하며 이를 포함한다. 본 명세서에 사용되는 "포함하다", "포함하는", "구성하다" 및/또는 "구성하는"이라는 용어들이 본 명세서에서 사용될 경우, 이들은 명시된 특징, 정수, 단계, 동작, 요소 및/또는 성분의 존재를 나타내지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 성분 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는다.
본 명세서에서 사용되는 "~ 할 경우"라는 용어는 문맥에 따라 "~ 할 때" 또는 "~ 할 시에" 또는 "~ 을 결정한 것에 대한 응답으로" 또는 "~ 을 검출한 것에 대한 응답으로"를 의미하는 것으로 해석될 수 있다. 유사하게, "~ 으로 결정되는 경우" 또는 "[명시된 조건 또는 이벤트]가 검출되는 경우"라는 어구는 문맥에 따라 "~ 으로 결정할 시에" 또는 " ~ 을 결정한 것에 대한 응답으로" 또는 "[명시된 조건 또는 이벤트]를 검출할 시에" 또는 "[명시된 조건 또는 이벤트]를 검출한 것에 대한 응답으로"를 의미하는 것으로 해석될 수 있다. 본 명세서에서 사용되는 "위쪽"과 "아래쪽"; "상부"와 "하부"; "상향"과 "하향"; "아래"와 "위"라는 용어들; 및 주어진 지점 또는 요소 위 또는 아래의 상대적인 위치를 나타내는 다른 유사한 용어들은 본 명세서에 설명된 다양한 기술의 일부 구현예들과 관련하여 사용될 수 있다.
전술한 내용은 본 명세서에서 설명되는 다양한 기술의 구현예들에 관한 것이지만, 다른 추가의 구현예들이 다음의 청구범위에 의해 결정될 수 있는 본 발명의 기본 범주를 벗어나지 않는 범위 내에서 고안될 수 있다.
본 발명이 구조적 특징 및/또는 방법론적 동작에 대한 특정한 언어로 기술되었지만, 첨부된 청구범위에서 정의되는 발명이 반드시 전술한 구체적인 특징 또는 동작으로 제한되는 것은 아니라는 것을 이해해야 한다. 오히려, 전술한 구체적인 특징 및 동작은 청구범위를 구현하는 예시적인 형태로서 개시된다.
Claims (20)
- 표준 셀 아키텍처 레이아웃 설계를 제공하는 방법으로서,
그리드(grid)를 활성화하도록 하는 요청을 수신하는 단계;
입력 장치로부터, 상기 그리드 상의 위치에, 형상(shape) 중의 적어도 하나의 에지(edge)를 배치하도록 하는 요청을 수신하는 단계; 및
상기 요청의 상기 위치가 사전 정의된 영역의 임계 지점(threshold position) 내일 경우, 상기 그리드의 상기 사전 정의된 영역에 상기 형상 중의 상기 적어도 하나의 에지를 자동으로 배치하는 단계를 포함하는, 방법. - 제 1 항에 있어서,
상기 그리드를 활성화하기 이전에, 상기 형상에 대한 사용자 선택을 수신하는 단계를 더 포함하는, 방법. - 제 2 항에 있어서,
상기 형상을 복사하는 단계; 및
상기 그리드 상에 상기 복사된 형상을 배치하는 단계를 더 포함하는, 방법. - 제 3 항에 있어서,
상기 형상의 에지들은 상기 사전 정의된 영역 내의 사전 정의된 지점들에 배치되는, 방법. - 제 2 항에 있어서,
상기 형상을 제 1 위치로부터 상기 사전 정의된 영역으로 이동시키는 단계를 더 포함하는, 방법. - 제 5 항에 있어서,
상기 형상을 상기 제 1 위치로부터 상기 사전 정의된 영역으로 이동시키는 단계는, 상기 사전 정의된 영역 내의 사전 정의된 지점들에 상기 형상의 에지들을 배치하는 단계를 포함하는, 방법. - 제 1 항에 있어서,
상기 그리드의 상기 사전 정의된 영역에 상기 형상 중의 상기 적어도 하나의 에지를 자동으로 배치하기 위한 사전 정의된 규칙은 표준 셀 아키텍처에 기초하는 것인, 방법. - 제 7 항에 있어서,
상기 사전 정의된 규칙은 사전 정의된 그리드 좌표들을 포함하는, 방법. - 제 8 항에 있어서,
상기 사전 정의된 그리드 좌표들에 정의된 좌표들을 각각의 형상에 적용하는 단계를 더 포함하는, 방법. - 제 7 항에 있어서,
상기 그리드는 상기 형상의 각각의 에지를 복수의 허용된 지점들로 스트레칭(stretching)시키는 것을 허용하는, 방법. - 제 1 항에 있어서,
상기 형상은 상기 그리드 상에 생성되어 배치되는 새로운 형상인, 방법. - 제 11 항에 있어서,
상기 새로운 형상이 생성될 경우 상기 그리드의 레이어를 선택하는 단계를 더 포함하는, 방법. - 제 12 항에 있어서,
상기 새로운 형상의 에지들을, 상기 사전 정의된 영역 내의 사전 정의된 지점들에 배치하는 단계를 더 포함하는, 방법. - 제 1 항에 있어서,
상기 형상에 대한 하나 이상의 허용된 지점들만을 디스플레이하는 단계를 더 포함하는, 방법. - 제 1 항에 있어서,
상기 사전 정의된 영역은 아키텍처 파일에 기재된 사전 정의된 규칙에 기초하는 것인, 방법. - 제 15 항에 있어서,
그리드 값들이 상기 아키텍처 파일에 포함되는, 방법. - 제 16 항에 있어서,
상기 그리드 값들은 상기 그리드의 상이한 레이어들에 대한 센터링(centering) 속성들을 포함하는, 방법. - 제 16 항에 있어서,
상기 그리드 값들은 상기 형상에 대한 에지 속성들을 포함하는, 방법. - 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금,
그리드를 활성화하도록 하는 요청을 수신하고;
입력 장치로부터, 상기 그리드 상의 위치에, 형상 중의 적어도 하나의 에지를 배치하도록 하는 요청을 수신하며; 또한
상기 요청의 상기 위치가 사전 정의된 영역의 임계 지점 내일 경우, 상기 그리드의 상기 사전 정의된 영역에 상기 형상 중의 상기 적어도 하나의 에지를 자동으로 배치하게 하도록 하는 복수의 컴퓨터 실행가능 명령어들을 저장하고 있는, 비일시적 컴퓨터 판독가능 저장 매체. - 장치로서,
프로세서 및 메모리를 구비하는 컴퓨터 시스템을 포함하고,
상기 메모리는,
상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
그리드를 활성화하도록 하는 요청을 수신하고;
입력 장치로부터, 상기 그리드 상의 위치에, 형상 중의 적어도 하나의 에지를 배치하도록 하는 요청을 수신하며; 또한
상기 요청의 상기 위치가 사전 정의된 영역의 임계 지점 내일 경우, 상기 그리드의 상기 사전 정의된 영역에 상기 형상 중의 상기 적어도 하나의 에지를 자동으로 배치하게 하도록 하는 복수의 실행가능 명령어들을 저장하고 있는, 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/873,918 US9684754B2 (en) | 2015-10-02 | 2015-10-02 | Standard cell architecture layout |
US14/873,918 | 2015-10-02 | ||
PCT/GB2016/053006 WO2017055833A1 (en) | 2015-10-02 | 2016-09-28 | Standard cell architecture layout |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180041765A KR20180041765A (ko) | 2018-04-24 |
KR101914521B1 true KR101914521B1 (ko) | 2018-11-05 |
Family
ID=57113496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187010092A KR101914521B1 (ko) | 2015-10-02 | 2016-09-28 | 표준 셀 아키텍처 레이아웃 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9684754B2 (ko) |
KR (1) | KR101914521B1 (ko) |
CN (2) | CN108351912A (ko) |
GB (1) | GB2558450B (ko) |
WO (1) | WO2017055833A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11055464B2 (en) * | 2018-08-14 | 2021-07-06 | Taiwan Semiconductor Manufacturing Co., Ltd. | Critical dimension uniformity |
CN116362190A (zh) * | 2022-10-31 | 2023-06-30 | 芯行纪科技有限公司 | 芯片设计的交互布局规划方法及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050138595A1 (en) | 2003-12-18 | 2005-06-23 | Lsi Logic Corporation | System and method for mapping logical components to physical locations in an integrated circuit design environment |
US9053289B1 (en) | 2012-04-12 | 2015-06-09 | Cadence Design Systems, Inc. | Method and system for implementing an improved interface for designing electronic layouts |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4701860A (en) * | 1985-03-07 | 1987-10-20 | Harris Corporation | Integrated circuit architecture formed of parametric macro-cells |
US5984510A (en) * | 1996-11-01 | 1999-11-16 | Motorola Inc. | Automatic synthesis of standard cell layouts |
US6174742B1 (en) * | 1998-10-30 | 2001-01-16 | Lsi Logic Corporation | Off-grid metal layer utilization |
US6557153B1 (en) * | 2000-11-15 | 2003-04-29 | Reshape, Inc. | Method and system for implementing a user interface for performing physical design operations on an integrated circuit netlist |
DE10344605B4 (de) * | 2003-09-25 | 2008-09-18 | Infineon Technologies Ag | Leitbahn-Verbindungsstruktur sowie zugehöriges Herstellungsverfahren |
US8037441B2 (en) * | 2007-09-25 | 2011-10-11 | International Business Machines Corporation | Gridded-router based wiring on a non-gridded library |
US7842521B2 (en) * | 2008-07-08 | 2010-11-30 | Palo Alto Research Center Incorporated | Edge exclusion zone patterning for solar cells and the like |
WO2010008948A2 (en) | 2008-07-16 | 2010-01-21 | Tela Innovations, Inc. | Methods for cell phasing and placement in dynamic array architecture and implementation of the same |
US8443324B2 (en) * | 2011-03-14 | 2013-05-14 | International Business Machines Corporation | Routing and timing using layer ranges |
US8612914B2 (en) * | 2011-03-23 | 2013-12-17 | Synopsys, Inc. | Pin routing in standard cells |
US8461674B2 (en) * | 2011-09-21 | 2013-06-11 | Lam Research Corporation | Thermal plate with planar thermal zones for semiconductor processing |
CN103889149B (zh) * | 2012-12-21 | 2017-07-14 | 华为终端有限公司 | 电子装置和栅格阵列模块 |
US8739104B1 (en) * | 2013-02-28 | 2014-05-27 | Broadcom Corporation | Systems and methods for forming an integrated circuit using a standard cell library |
-
2015
- 2015-10-02 US US14/873,918 patent/US9684754B2/en active Active
-
2016
- 2016-09-28 WO PCT/GB2016/053006 patent/WO2017055833A1/en active Application Filing
- 2016-09-28 CN CN201680066837.3A patent/CN108351912A/zh active Pending
- 2016-09-28 CN CN202111173852.7A patent/CN113919024A/zh active Pending
- 2016-09-28 KR KR1020187010092A patent/KR101914521B1/ko active IP Right Grant
- 2016-09-28 GB GB1804783.7A patent/GB2558450B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050138595A1 (en) | 2003-12-18 | 2005-06-23 | Lsi Logic Corporation | System and method for mapping logical components to physical locations in an integrated circuit design environment |
US9053289B1 (en) | 2012-04-12 | 2015-06-09 | Cadence Design Systems, Inc. | Method and system for implementing an improved interface for designing electronic layouts |
Also Published As
Publication number | Publication date |
---|---|
US9684754B2 (en) | 2017-06-20 |
GB2558450B (en) | 2020-02-19 |
CN108351912A (zh) | 2018-07-31 |
WO2017055833A1 (en) | 2017-04-06 |
GB2558450A (en) | 2018-07-11 |
KR20180041765A (ko) | 2018-04-24 |
CN113919024A (zh) | 2022-01-11 |
GB201804783D0 (en) | 2018-05-09 |
US20170098025A1 (en) | 2017-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372321B2 (en) | Recognition of user drawn graphical objects based on detected regions within a coordinate-plane | |
US9117052B1 (en) | Methods, systems, and articles of manufacture for interactively implementing physical electronic designs with track patterns | |
KR102103685B1 (ko) | 전자 설계 자동화 툴의 그래픽 사용자 인터페이스에서의 핀 로케이션들의 업데이팅 | |
JP6365207B2 (ja) | 無人搬送車システムの反射板位置検査方法及び無人搬送車システムの反射板位置検査システム | |
KR101428365B1 (ko) | 모바일 기기의 홈 스크린에서 위젯을 제공하는 방법 및 시스템 | |
US8719755B2 (en) | Graded dummy insertion | |
KR101914521B1 (ko) | 표준 셀 아키텍처 레이아웃 | |
US10769346B1 (en) | Method, system, and computer program product for rearrangement of objects within an electronic design | |
US10515180B1 (en) | Method, system, and computer program product to implement snapping for an electronic design | |
US10452803B2 (en) | Power grid insertion technique | |
US8789005B1 (en) | Method and apparatus for efficiently processing an integrated circuit layout | |
US10318657B2 (en) | System and method for miter and notch identification for pattern sew line generation | |
US8713507B1 (en) | Method and apparatus for efficiently inserting fills in an integrated circuit layout | |
US10558770B1 (en) | Finite element based direct modeling | |
JP6287498B2 (ja) | 電子ホワイトボード装置、電子ホワイトボードの入力支援方法、及びプログラム | |
US20160328491A1 (en) | Precise object manipulation system and method | |
US8984468B1 (en) | Method to adaptively calculate resistor mesh in IC designs | |
KR101812846B1 (ko) | 건설용 리프트의 운행 구간 설정 방법 및 컴퓨터 프로그램 | |
US7797649B1 (en) | Method and system for implementing an analytical wirelength formulation | |
EP3475853A1 (en) | System and method for perception-based selection of features in a geometric model of a part | |
US20150052492A1 (en) | Routing method | |
US8711177B1 (en) | Generation, display, and manipulation of measurements in computer graphical designs | |
US20230205941A1 (en) | Method and system for trimming intersecting bodies in a computer-aided design environment | |
KR102036726B1 (ko) | 고정된 틀을 기반으로 상단 영역과 하단 영역의 스크롤 처리를 수행하는 스프레드시트 문서 편집 장치 및 그 동작 방법 | |
US20240070368A1 (en) | Systems and methods for automatic identification and connection of interconnect wire segments of the same net within a pre-defined routing region via a graphic-based layout editor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |