KR102539066B1 - 서로 다른 타입의 셀들을 포함하는 집적 회로, 그 설계 방법 및 설계 시스템 - Google Patents
서로 다른 타입의 셀들을 포함하는 집적 회로, 그 설계 방법 및 설계 시스템 Download PDFInfo
- Publication number
- KR102539066B1 KR102539066B1 KR1020180137000A KR20180137000A KR102539066B1 KR 102539066 B1 KR102539066 B1 KR 102539066B1 KR 1020180137000 A KR1020180137000 A KR 1020180137000A KR 20180137000 A KR20180137000 A KR 20180137000A KR 102539066 B1 KR102539066 B1 KR 102539066B1
- Authority
- KR
- South Korea
- Prior art keywords
- integrated circuit
- standard
- type
- standard cells
- cells
- Prior art date
Links
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/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
집적 회로의 설계 방법에서, 집적 회로를 정의하는 입력 데이터를 수신한다. 제1 디퓨전 브레이크(diffusion break) 방식을 이용하여 제조되는 제1 타입의 표준 셀들을 포함하는 제1 표준 셀 라이브러리를 제공한다. 제1 타입의 표준 셀들과 동일한 기능을 갖고 제1 디퓨전 브레이크 방식과 다른 제2 디퓨전 브레이크 방식을 이용하여 제조되는 제2 타입의 표준 셀들을 포함하는 제2 표준 셀 라이브러리를 제공한다. 입력 데이터, 제1 표준 셀 라이브러리 및 제2 표준 셀 라이브러리를 기초로 배치 및 라우팅을 수행하여 집적 회로를 정의하는 출력 데이터를 발생한다.
Description
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 서로 다른 타입의 셀들을 포함하는 집적 회로, 상기 집적 회로의 설계 방법 및 상기 집적 회로의 설계 시스템에 관한 것이다.
일반적으로 집적 회로의 설계를 위하여 표준 셀(standard cell)들이 이용될 수 있다. 표준 셀들은 미리 결정된 아키텍쳐를 가진 셀들이고 이러한 표준 셀들은 셀 라이브러리에 저장된다. 집적 회로의 설계시 표준 셀들은 셀 라이브러리로부터 추출되어 집적 회로의 레이아웃 상의 적절한 위치들에 배치된다. 이후 배치된 표준 셀들을 전기적으로 서로 연결하는 라우팅이 수행된다. 예를 들어, 표준 셀들 사이의 신호들을 라우팅하기 위해 표준 셀들의 상부에 형성되는 메탈 라우팅 배선들, 즉 행 방향의 트랙들 및/또는 열 방향의 트랙들이 사용될 수 있다. 표준 셀들은 미리 결정된 아키텍쳐를 가진 셀들이고 이러한 표준 셀들을 이용하여 집적 회로를 설계한다. 상기 아키텍쳐는 셀 폭(cell width), 셀 높이(cell height), 파워 레일 폭(power rail width), 핀 포인트들의 위치 및 개수 등을 포함할 수 있다. 한편, 기능은 동일하지만 성능 및 면적이 다른 표준 셀들, 즉 서로 다른 타입의 표준 셀들이 존재할 수 있다.
본 발명의 일 목적은 서로 다른 타입의 표준 셀들을 하나의 집적 회로에 포함하는 집적 회로의 설계 방법을 제공하는 것이다.
본 발명의 다른 목적은 서로 다른 타입의 표준 셀들을 동시에 포함하는 집적 회로를 제공하는 것이다.
본 발명의 또 다른 목적은 서로 다른 타입의 표준 셀들을 하나의 집적 회로에 포함하는 집적 회로의 설계 시스템을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서, 집적 회로를 정의하는 입력 데이터를 수신한다. 제1 디퓨전 브레이크(diffusion break) 방식을 이용하여 제조되는 제1 타입의 표준 셀들을 포함하는 제1 표준 셀 라이브러리를 제공한다. 상기 제1 타입의 표준 셀들과 동일한 기능을 갖고 상기 제1 디퓨전 브레이크 방식과 다른 제2 디퓨전 브레이크 방식을 이용하여 제조되는 제2 타입의 표준 셀들을 포함하는 제2 표준 셀 라이브러리를 제공한다. 상기 입력 데이터, 상기 제1 표준 셀 라이브러리 및 상기 제2 표준 셀 라이브러리를 기초로 배치 및 라우팅을 수행하여 상기 집적 회로를 정의하는 출력 데이터를 발생한다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 집적 회로의 설계 시스템은 저장 장치 및 프로세서를 포함한다. 상기 저장 장치는 프로시저(procedure)들을 포함하는 정보를 저장한다. 상기 프로세서는 상기 저장 장치에 액세스 가능하고, 상기 프로시저들을 실행한다. 상기 프로시저들은 배치기 및 라우터를 포함한다. 상기 배치기는 상기 집적 회로를 정의하는 입력 데이터, 제1 디퓨전 브레이크(diffusion break) 방식을 이용하여 제조되는 제1 타입의 표준 셀들을 포함하는 제1 표준 셀 라이브러리, 및 상기 제1 타입의 표준 셀들과 동일한 기능을 갖고 상기 제1 디퓨전 브레이크 방식과 다른 제2 디퓨전 브레이크 방식을 이용하여 제조되는 제2 타입의 표준 셀들을 포함하는 제2 표준 셀 라이브러리에 기초하여, 상기 제1 타입의 표준 셀들 중에서 적어도 하나 및 상기 제2 타입의 표준 셀들 중에서 적어도 하나를 상기 집적 회로 내에 배치한다. 상기 라우터는 상기 집적 회로 내에 배치된 상기 제1 타입의 표준 셀들 중에서 적어도 하나 및 상기 제2 타입의 표준 셀들 중에서 적어도 하나의 커넥션들을 라우팅하여 상기 집적 회로를 정의하는 출력 데이터를 발생한다.
상기 또 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 집적 회로는 제1 타입의 표준 셀들 및 제2 타입의 표준 셀들을 포함한다. 상기 제1 타입의 표준 셀들은 제1 디퓨전 브레이크(diffusion break) 방식을 이용하여 제조된다. 상기 제2 타입의 표준 셀들은 상기 제1 타입의 표준 셀들과 동일한 기능을 갖고 상기 제1 디퓨전 브레이크 방식과 다른 제2 디퓨전 브레이크 방식을 이용하여 제조된다.
상기와 같은 본 발명의 실시예들에 따른 집적 회로, 집적 회로의 설계 방법 및 집적 회로의 설계 시스템에서는, 서로 다른 타입의 표준 셀들을 하나의 집적 회로에 포함하도록 설계 및 구현될 수 있다. 서로 다른 타입의 표준 셀들은 기능은 동일하지만 제조 방식, 성능, 면적 등이 서로 상이하며, 다양한 설계 최적화 방식을 이용하여 서로 다른 타입의 표준 셀들을 하나의 집적 회로 내에 구현함으로써, 성능, 면적 등 여러가지 특성이 모두 우수한 집적 회로를 효과적으로 설계 및 획득할 수 있다.
도 1은 본 발명의 실시예들에 따른 집적 회로의 설계 방법을 나타내는 순서도이다.
도 2a는 본 발명의 실시예들에 따른 집적 회로에 포함되는 제1 타입의 표준 셀의 일 예를 나타내는 레이아웃 도면이다.
도 2b는 본 발명의 실시예들에 따른 집적 회로에 포함되는 제2 타입의 표준 셀의 일 예를 나타내는 레이아웃 도면이다.
도 3 및 4는 본 발명의 실시예들에 따른 집적 회로의 레이아웃의 예를 나타내는 도면들이다.
도 5 및 6은 본 발명의 실시예들에 따른 집적 회로의 설계 시스템을 나타내는 블록도들이다.
도 7은 본 발명의 실시예들에 따른 집적 회로의 설계 시스템의 동작의 일 예를 나타내는 순서도이다.
도 8은 도 7의 배치 및 라우팅 동작의 일 예를 나타내는 순서도이다.
도 9는 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 일 예를 나타내는 순서도이다.
도 10은 도 9의 배치 및 라우팅 동작의 일 예를 나타내는 순서도이다.
도 11은 도 9 및 10의 동작에 의해 제1 타입의 표준 셀들 및 제2 타입의 표준 셀들이 하나의 집적 회로 내에 배치된 일 예를 나타내는 레이아웃 도면이다.
도 12는 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 다른 예를 나타내는 순서도이다.
도 13a 및 13b는 도 12의 동작에 의해 제1 타입의 표준 셀들 및 제2 타입의 표준 셀들이 하나의 집적 회로 내에 배치된 일 예를 나타내는 레이아웃 도면들이다.
도 14는 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 또 다른 예를 나타내는 순서도이다.
도 15는 도 14의 동작에 의해 제1 타입의 표준 셀들 및 제2 타입의 표준 셀들이 하나의 집적 회로 내에 배치된 일 예를 나타내는 레이아웃 도면이다.
도 16은 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 또 다른 예를 나타내는 순서도이다.
도 17은 도 16의 동작에 의해 설계되는 집적 회로의 일 예를 나타내는 도면이다.
도 18은 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 또 다른 예를 나타내는 순서도이다.
도 19는 도 18의 동작에 의해 설계되는 집적 회로의 일 예를 나타내는 도면이다.
도 20은 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
도 2a는 본 발명의 실시예들에 따른 집적 회로에 포함되는 제1 타입의 표준 셀의 일 예를 나타내는 레이아웃 도면이다.
도 2b는 본 발명의 실시예들에 따른 집적 회로에 포함되는 제2 타입의 표준 셀의 일 예를 나타내는 레이아웃 도면이다.
도 3 및 4는 본 발명의 실시예들에 따른 집적 회로의 레이아웃의 예를 나타내는 도면들이다.
도 5 및 6은 본 발명의 실시예들에 따른 집적 회로의 설계 시스템을 나타내는 블록도들이다.
도 7은 본 발명의 실시예들에 따른 집적 회로의 설계 시스템의 동작의 일 예를 나타내는 순서도이다.
도 8은 도 7의 배치 및 라우팅 동작의 일 예를 나타내는 순서도이다.
도 9는 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 일 예를 나타내는 순서도이다.
도 10은 도 9의 배치 및 라우팅 동작의 일 예를 나타내는 순서도이다.
도 11은 도 9 및 10의 동작에 의해 제1 타입의 표준 셀들 및 제2 타입의 표준 셀들이 하나의 집적 회로 내에 배치된 일 예를 나타내는 레이아웃 도면이다.
도 12는 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 다른 예를 나타내는 순서도이다.
도 13a 및 13b는 도 12의 동작에 의해 제1 타입의 표준 셀들 및 제2 타입의 표준 셀들이 하나의 집적 회로 내에 배치된 일 예를 나타내는 레이아웃 도면들이다.
도 14는 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 또 다른 예를 나타내는 순서도이다.
도 15는 도 14의 동작에 의해 제1 타입의 표준 셀들 및 제2 타입의 표준 셀들이 하나의 집적 회로 내에 배치된 일 예를 나타내는 레이아웃 도면이다.
도 16은 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 또 다른 예를 나타내는 순서도이다.
도 17은 도 16의 동작에 의해 설계되는 집적 회로의 일 예를 나타내는 도면이다.
도 18은 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 또 다른 예를 나타내는 순서도이다.
도 19는 도 18의 동작에 의해 설계되는 집적 회로의 일 예를 나타내는 도면이다.
도 20은 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 집적 회로의 설계 방법을 나타내는 순서도이다.
도 1을 참조하면, 본 발명의 실시예들에 따른 집적 회로의 설계 방법은 집적 회로의 레이아웃을 설계하는 방법일 수 있고 집적 회로의 설계를 위한 툴(tool)에서 수행될 수 있다. 일 실시예에서, 상기 집적 회로를 설계하기 위한 툴은 프로세서에 의해 수행되는 복수의 명령들을 포함하는 프로그램일 수 있다. 상기 툴 및 프로그램에 대해서는 도 5 및 6을 참조하여 후술하도록 한다.
본 발명의 실시예들에 따른 집적 회로의 설계 방법에서, 집적 회로를 정의하는 입력 데이터를 수신한다(단계 S100). 일반적으로 집적 회로는 복수의 셀들로서 정의될 수 있고, 구체적으로 복수의 셀들의 특성 정보를 포함하는 셀 라이브러리를 이용하여 설계될 수 있다. 이하에서는 셀은 표준 셀이고, 셀 라이브러리는 표준 셀 라이브러리일 수 있다.
일 실시예에서, 상기 입력 데이터는 집적 회로의 동작(behavior)에 대한 추상적 형태로부터, 예를 들어 RTL(register transfer level)에서 정의된 데이터로부터 셀 라이브러리를 이용하여 합성(synthesis)에 의해서 생성된 데이터일 수 있다. 예를 들어, 상기 입력 데이터는 VHDL(VHSIC Hardware Description Language) 및 Verilog와 같은 HDL(Hardware Description Language)로서 정의된 집적 회로가 합성됨으로써 생성된 비트스트림(bitstream) 또는 네트리스트(netlist)일 수 있다.
다른 실시예에서, 상기 입력 데이터는 집적 회로의 레이아웃을 정의하는 데이터일 수 있다. 예를 들어, 상기 입력 데이터는 반도체 물질, 금속, 절연체 등으로서 구현된 구조체를 정의하는 기하학적인 정보를 포함할 수 있다. 상기 입력 데이터가 나타내는 집적 회로의 레이아웃은 셀들의 레이아웃을 포함할 수 있고, 셀들을 서로 연결하는 도선들을 포함할 수 있다.
제1 타입의 표준 셀들을 포함하는 제1 표준 셀 라이브러리를 제공한다(단계 S200). 상기 제1 타입의 표준 셀들은 제1 디퓨전 브레이크(diffusion break) 방식을 이용하여 제조되는 셀들을 나타낸다. 상기 제1 타입의 표준 셀들에 대해서는 도 2a 등을 참조하여 후술하도록 한다.
표준 셀은 레이아웃의 크기가 미리 정해진 규칙을 만족하고 미리 정해진 기능을 갖는 집적 회로의 단위를 의미한다. 표준 셀은 입력 핀(pin) 및 출력 핀을 포함할 수 있으며, 입력 핀으로 수신되는 신호를 처리함으로써 출력 핀을 통해 신호를 출력할 수 있다. 예를 들어, 표준 셀은 AND, OR, NOR, 인버터 등과 같은 기본 셀(basic cell), OAI(OR/AND/INVERTER) 및 AOI(AND/OR/INVERTER) 등과 같은 복합 셀(complex cell), 그리고 단순한 마스터-슬레이브 플립플롭 및 래치 등과 같은 저장 요소(storage element)에 대응할 수 있다.
상기 제1 표준 셀 라이브러리는 상기 제1 타입의 복수의 표준 셀들에 대한 정보를 포함할 수 있다. 예를 들어, 상기 제1 표준 셀 라이브러리는 상기 제1 타입의 특정 표준 셀의 명칭, 기능에 대한 정보, 타이밍 정보, 전력 정보 및 레이아웃 정보 등을 포함할 수 있다. 상기 제1 표준 셀 라이브러리는 스토리지에 저장되어 있을 수 있고, 상기 스토리지에 액세스함으로써 상기 제1 표준 셀 라이브러리가 제공될 수 있다.
상기 제1 타입과 다른 제2 타입의 표준 셀들을 포함하는 제2 표준 셀 라이브러리를 제공한다(단계 S300). 상기 제2 타입의 표준 셀들은 상기 제1 타입의 표준 셀들과 동일한 기능을 갖고 상기 제1 디퓨전 브레이크 방식과 다른 제2 디퓨전 브레이크 방식을 이용하여 제조되는 셀들을 나타낸다. 상기 제2 타입의 표준 셀들에 대해서는 도 2b 등을 참조하여 후술하도록 한다.
상기 제1 타입의 표준 셀들 중에서 하나 및 상기 제2 타입의 표준 셀들 중에서 이와 대응하는 하나는 기능만 동일할 뿐 성능(performance), 면적(area) 등이 서로 다를 수 있다. 다시 말하면, 집적 회로에 포함하고자 하는 하나의 대상 셀은, 상기 제1 타입의 표준 셀들 중 하나 또는 상기 제2 타입의 표준 셀들 중에서 이와 동일한 기능을 갖는 하나로 구현될 수 있다.
상기 제2 표준 셀 라이브러리는 상기 제2 타입의 복수의 표준 셀들에 대한 정보를 포함할 수 있다. 예를 들어, 상기 제2 표준 셀 라이브러리는 상기 제2 타입의 특정 표준 셀의 명칭, 대응하는 상기 제1 타입의 특정 표준 셀의 명칭, 기능에 대한 정보, 타이밍 정보, 전력 정보 및 레이아웃 정보 등을 포함할 수 있다. 상기 제2 표준 셀 라이브러리는 스토리지에 저장되어 있을 수 있고, 상기 스토리지에 액세스함으로써 상기 제2 표준 셀 라이브러리가 제공될 수 있다.
상기 입력 데이터, 상기 제1 표준 셀 라이브러리 및 상기 제2 표준 셀 라이브러리를 기초로 배치 및 라우팅을 수행하여 상기 집적 회로를 정의하는 출력 데이터를 발생한다(단계 S400).
일 실시예에서, 수신된 상기 입력 데이터가 집적 회로를 합성함으로써 생성된 비트스트림 또는 네트리스트와 같은 데이터인 경우, 상기 출력 데이터는 비트스트림 또는 네트리스트일 수 있다. 다른 실시예에서, 수신된 상기 입력 데이터가, 예컨대 GDSII(Graphic Data System II) 형식(format)을 가지는 집적 회로의 레이아웃을 정의하는 데이터인 경우, 상기 출력 데이터의 형식 역시 집적 회로의 레이아웃을 정의하는 데이터일 수 있다.
본 발명의 실시예들에 따르면, 동일한 기능을 갖는 서로 다른 타입의 표준 셀들을 하나의 집적 회로에 포함시킬 수 있다. 다시 말하면, 서로 다른 타입의 셀들을 하나의 디자인에 적용시킬 수 있다.
도 2a는 본 발명의 실시예들에 따른 집적 회로에 포함되는 제1 타입의 표준 셀의 일 예를 나타내는 레이아웃 도면이다. 도 2b는 본 발명의 실시예들에 따른 집적 회로에 포함되는 제2 타입의 표준 셀의 일 예를 나타내는 레이아웃 도면이다.
도 1 및 2a를 참조하면, 상기 제1 타입의 표준 셀들을 포함하는 상기 제1 표준 셀 라이브러리를 제공하는데 있어서(단계 S200), 제1 기능을 갖는 제1 표준 셀(STC1)을 상기 제1 타입의 표준 셀들 중의 하나로서 제공할 수 있다.
구체적으로, 도 2a에 굵은 실선으로 도시된 것처럼, 제1 표준 셀(STC1)은 제1 방향(D1)과 평행한 두 개의 셀 경계들 및 제1 방향(D1)과 교차하는(예를 들어, 직교하는) 제2 방향(D2)과 평행한 두 개의 셀 경계들(BD11, BD12)을 포함하는 사각형(예를 들어, 직사각형)의 형태로 형성될 수 있다.
또한, 제1 표준 셀(STC1)은 내부적으로 동일한 제1 간격(W)으로 제1 방향(D1)을 따라 이격되어 형성되는 복수의 제1 배선들(PC11, PC12, PC13, PC14)을 포함하여 형성될 수 있다. 복수의 제1 배선들(PC11, PC12, PC13, PC14) 각각은 제2 방향(D2)으로 연장될 수 있다. 예를 들어, 복수의 제1 배선들(PC11, PC12, PC13, PC14)은 게이트 라인들일 수 있다. 도시하지는 않았으나, 제1 표준 셀(STC1)은 복수의 제1 배선들(PC11, PC12, PC13, PC14)을 제외한 다른 배선들, 예를 들어 파워 레일 등을 더 포함할 수 있고, 배선들의 상부에 형성되는 라우팅 그리드(routing grid)들 또는 라우팅 트랙(routing tract)들을 더 포함할 수 있으며, 다층 구조의 배선들을 수직적으로 연결하는 도전성 콘택들을 더 포함할 수 있다.
도 1 및 2b를 참조하면, 상기 제2 타입의 표준 셀들을 포함하는 상기 제2 표준 셀 라이브러리를 제공하는데 있어서(단계 S300), 제1 표준 셀(STC1)과 동일하게 상기 제1 기능을 갖는 제2 표준 셀(STC2)을 상기 제2 타입의 표준 셀들 중의 하나로서 제공할 수 있다.
구체적으로, 도 2b에 굵은 실선으로 도시된 것처럼, 제2 표준 셀(STC2)은 제1 방향(D1)과 평행한 두 개의 셀 경계들 및 제2 방향(D2)과 평행한 두 개의 셀 경계들(BD21, BD22)을 포함하는 사각형의 형태로 형성될 수 있다.
또한, 제2 표준 셀(STC2)은 제2 방향(D2)으로 각각 연장되고 내부적으로 동일한 제2 간격(W)으로 제1 방향(D1)을 따라 이격되어 형성되는 복수의 제2 배선들(PC21, PC22, PC23, PC24)을 포함하여 형성될 수 있다. 도 2a의 제1 간격(W)과 도 2b의 제2 간격(W)은 실질적으로 동일할 수 있다. 예를 들어, 제1 표준 셀(STC1)과 유사하게, 제2 표준 셀(STC2)에 포함되는 복수의 제2 배선들(PC21, PC22, PC23, PC24)은 게이트 라인들일 수 있고, 도시하지는 않았으나 제2 표준 셀(STC2)은 복수의 제2 배선들(PC21, PC22, PC23, PC24)을 제외한 다른 배선들, 라우팅 그리드들 또는 라우팅 트랙들 및/또는 도전성 콘택들을 더 포함할 수 있다.
일 실시예에서, 제1 표준 셀(STC1)에 대한 상기 제1 타입과 제2 표준 셀(STC2)에 대한 상기 제2 타입은 공정 상의 특성, 즉 제조 방식에 따라 구분될 수 있다.
구체적으로, 제1 표준 셀(STC1)을 제조하기 위한 상기 제1 디퓨전 브레이크 방식은 싱글(single) 디퓨전 브레이크 방식일 수 있다. 싱글 디퓨전 브레이크 방식을 이용하여 제1 표준 셀(STC1)을 제조하는 경우에, 복수의 제1 배선들(PC11, PC12, PC13, PC14) 중 가장 바깥쪽의 두 개(PC11, PC14)만을 이용하여 제1 표준 셀(STC1)의 셀 경계들(BD11, BD12)을 형성하며, 이에 따라 복수의 제1 배선들(PC11, PC12, PC13, PC14) 중 가장 바깥쪽의 두 개(PC11, PC14)는 제1 표준 셀(STC1)의 셀 경계들(BD11, BD11)과 중첩하도록 위치할 수 있다. 예를 들어, 복수의 제1 배선들(PC11, PC12, PC13, PC14)은 게이트 라인들인 경우에, 안쪽의 제1 배선들(PC12, PC13)은 실제로 이용되는 게이트 라인들이고 바깥쪽의 제1 배선들(PC11, PC14)은 더미 게이트 라인들일 수 있다.
제2 표준 셀(STC2)을 제조하기 위한 상기 제2 디퓨전 브레이크 방식은 더블(double) 디퓨전 브레이크 방식일 수 있다. 더블 디퓨전 브레이크 방식을 이용하여 제2 표준 셀(STC2)을 제조하는 경우에, 복수의 제2 배선들(PC21, PC22, PC23, PC24) 중 가장 바깥쪽의 두 개(PC21, PC24)를 이용하고 또한 이와 인접하고 제2 표준 셀(STC2)에 포함되지 않는 두 개의 배선들을 추가로 이용하여 제2 표준 셀(STC2)의 셀 경계들(BD21, BD22)을 형성하며, 이에 따라 복수의 제2 배선들(PC21, PC22, PC23, PC24) 중 가장 바깥쪽의 두 개(PC21, PC24)는 제2 표준 셀(STC2)의 셀 경계들(BD21, BD22)과 중첩하지 않도록 위치할 수 있다.
다시 말하면, 제1 표준 셀(STC1)에 내부적으로 배치된 제1 배선들(PC11, PC12, PC13, PC14) 간의 간격(W) 및 제2 표준 셀(STC2)에 내부적으로 배치된 제2 배선들(PC21, PC22, PC23, PC24) 간의 간격(W)은 같으나, 제1 표준 셀(STC1)의 셀 경계들(BD11, BD12)과 제1 배선들(PC11, PC14)의 배치 관계 및 제2 표준 셀(STC2)의 셀 경계들(BD21, BD22)과 제2 배선들(PC21, PC24)의 배치 관계는 서로 다를 수 있다.
일 실시예에서, 제1 표준 셀(STC1)에 대한 상기 제1 타입과 제2 표준 셀(STC2)에 대한 상기 제2 타입은 셀의 속성, 즉 성능, 면적 등에 따라 구분될 수 있다.
구체적으로, 상술한 것처럼 제1 표준 셀(STC1)과 제2 표준 셀(STC2)은 동일하게 상기 제1 기능을 가지지만 서로 다른 부스팅(boosting)의 목적으로 구현될 수 있다. 예를 들어, 제2 표준 셀(STC2)은 성능 부스팅 목적으로 제1 표준 셀(STC1)보다 향상된 성능을 가지도록 구현되며, 이 때 제1 표준 셀(STC1)과 비교하여 특정 프론트-엔드 레이어(front-end layer)를 추가 삽입하여 형성되므로, 제1 표준 셀(STC1)보다 넓은 면적을 가질 수 있다. 예를 들어, 제1 표준 셀(STC1)과 제2 표준 셀(STC2)이 동일한 셀 높이를 가지는 것으로 가정하면, 제1 표준 셀(STC1)은 3W의 셀 폭을 가지는 반면, 제2 표준 셀(STC2)은 셀 경계들(BD21, BD21)과 인접하여 각각 0.5W만큼 셀 폭이 추가되어 4W의 셀 폭을 가지므로, 제2 표준 셀(STC2)의 면적은 제1 표준 셀(STC1)의 면적보다 넓을 수 있다.
다시 말하면, 제2 표준 셀(STC2)은 보다 향상된 성능을 가지면서 상대적으로 넓은 면적을 가지도록 형성되고, 제1 표준 셀(STC1)은 성능 측면에서는 제2 표준 셀(STC2)보다 떨어지지만 상대적으로 작은 면적을 가지도록 형성될 수 있다. 이에 따라, 제1 표준 셀(STC1)에 대한 상기 제1 타입은 면적 지향(area oriented) 셀 타입으로 부를 수 있고, 제2 표준 셀(STC2)에 대한 상기 제2 타입은 성능 지향(performance oriented) 셀 타입으로 부를 수 있다.
도 3 및 4는 본 발명의 실시예들에 따른 집적 회로의 레이아웃의 예를 나타내는 도면들이다.
도 3 및 4를 참조하면, 집적 회로는 상기 제1 타입의 표준 셀들 중의 하나인 제1 표준 셀(STC1) 및 상기 제2 타입의 표준 셀들 중의 하나인 제2 표준 셀(STC2)을 동시에/한 번에 포함하여 구현된다. 다시 말하면, 서로 다른 타입의 표준 셀들이 하나의 집적 회로(즉, 하나의 디자인)에 포함될 수 있다. 또한, 도 3 및 4의 실시예에서, 제1 표준 셀(STC1) 및 제2 표준 셀(STC2)은 집적 회로의 하나의 행에 대응하도록 배치되는 싱글 하이트 셀(single height cell)인 것으로 도시하였다.
일 실시예에서, 제1 표준 셀(STC1)은 상기 집적 회로 내에서 복수의 제1 기준 라인들(RL1)과 셀 경계가 일치하도록 배치되고, 제2 표준 셀(STC2)은 상기 집적 회로 내에서 복수의 제2 기준 라인들(RL2)과 셀 경계가 일치하도록 배치될 수 있다. 복수의 제1 기준 라인들(RL1) 및 복수의 제2 기준 라인들(RL2)은 각각 제2 방향을 따라 연장할 수 있다. 복수의 제1 기준 라인들(RL1)은 동일한 간격으로 제1 방향(D1)을 따라 이격되어 있을 수 있다. 복수의 제2 기준 라인들(RL2)은 인접한 두 개의 제1 기준 라인들 사이에 각각 존재하고 동일한 간격으로 제1 방향(D1)을 따라 이격되어 있을 수 있다. 예를 들어, 인접한 두 개의 제1 기준 라인들 사이의 간격 및 인접한 두 개의 제2 기준 라인들 사이의 간격은 각각 W이고, 인접한 하나의 제1 기준 라인 및 하나의 제2 기준 라인 사이의 간격은 0.5W일 수 있다.
제1 표준 셀(STC1)이 도 2a에 도시된 구조를 가지고 제2 표준 셀(STC2)이 도 2b에 도시된 구조를 가지는 경우, 및 제1 표준 셀(STC1)이 복수의 제1 기준 라인들(RL1)과 일치하도록 배치되고 제2 표준 셀(STC2)이 복수의 제2 기준 라인들(RL2)과 일치하도록 배치되는 경우에, 제1 표준 셀(STC1)에 포함되는 복수의 제1 배선들(PC11, PC12, PC13, PC14), 제2 표준 셀(STC2)에 포함되는 복수의 제2 배선들(PC21, PC22, PC23, PC24) 및 그 밖의 배선들(PC2A, PC2B)은 모두 복수의 제1 기준 라인들(RL1)과 중첩하도록 배치될 수 있다.
도 3의 실시예에서, 제1 표준 셀(STC1) 및 제2 표준 셀(STC2)은 상기 집적 회로의 하나의 행(R1) 내에 서로 인접하여 배치될 수 있다. 이 경우, 제1 표준 셀(STC1) 및 제2 표준 셀(STC2)은 미리 정해진 기준 거리(WSD) 이상 이격되어 배치되어야 한다. 예를 들어, 기준 거리(WSD)는 1.5W일 수 있다. 다시 말하면, 서로 다른 타입의 표준 셀들이 동일한 행에서 서로 인접하여 배치되는 경우에, 인접한 서로 다른 타입의 표준 셀들 사이에는 기준 거리(WSD)만큼의 공간이 최소한으로 확보된 화이트 스페이스 존(white space zone)이 존재하여야 하며, 상기 화이트 스페이스 존에는 상기 제1 타입의 표준 셀들 및 상기 제2 타입의 표준 셀들이 모두 배치될 수 없다.
도 4의 실시예에서, 제1 표준 셀(STC1) 및 제2 표준 셀(STC2)은 상기 집적 회로의 서로 다른 행(R1, R2) 내에 서로 인접하여 배치될 수 있다. 이 경우, 제1 표준 셀(STC1) 및 제2 표준 셀(STC2)은 기준 거리(WSD) 이상 이격되어 배치될 필요는 없다. 다만, 상술한 것처럼 복수의 제1 배선들(PC11, PC12, PC13, PC14) 및 복수의 제2 배선들(PC21, PC22, PC23, PC24)은 모두 복수의 제1 기준 라인들(RL1)과 중첩하도록 배치되므로, 복수의 제1 배선들(PC11, PC12, PC13, PC14) 중 하나 및 복수의 제2 배선들(PC21, PC22, PC23, PC24) 중 하나는 동일한 직선 상에 위치할 수 있다. 예를 들어, 제1 배선(PC12)과 제2 배선(PC21)은 동일한 직선 상에 위치할 수 있다. 다시 말하면, 제2 방향(D2)을 따라 배선들(PC11~PC14, PC21~PC24) 중 적어도 일부는 정렬(align)될 수 있다.
한편, 상술한 것처럼 싱글 디퓨전 브레이크 방식을 이용하여 제1 표준 셀(STC1)을 제조하는 경우에, 제1 배선(PC11)을 이용하여 제1 표준 셀(STC1)의 일 경계를 형성하고 제1 배선(PC14)을 이용하여 제1 표준 셀(STC1)의 다른 일 경계를 형성할 수 있다. 또한, 더블 디퓨전 브레이크 방식을 이용하여 제2 표준 셀(STC2)을 제조하는 경우에, 제2 배선(PC21) 및 이와 인접한 배선(PC2A)을 이용하여 제2 표준 셀(STC2)의 일 경계를 형성하고 제2 배선(PC24) 및 이와 인접한 배선(PC2B)을 이용하여 제2 표준 셀(STC2)의 다른 일 경계를 형성할 수 있다.
도 3 및 4를 참조하여 동일한 상기 제1 기능을 갖는 상기 제1 타입의 제1 표준 셀(STC1) 및 상기 제2 타입의 제2 표준 셀(STC2)이 동일한 행 내에서 또는 서로 다른 행 내에서 서로 인접하여 배치되는 경우를 예시하였으나, 본 발명은 이에 한정되지 않으며, 서로 다른 타입의 표준 셀들이 하나의 집적 회로에 포함되는 임의의 경우로 확대 적용될 수 있으며, 이 때 도 13b를 참조하여 후술하는 것처럼 동일한 타입의 셀들이 서로 인접하도록 배치될 수도 있다. 또한, 도 3 및 4를 참조하여 제1 표준 셀(STC1) 및 제2 표준 셀(STC2)이 싱글 하이트 셀인 경우를 예시하였으나, 본 발명은 이에 한정되지 않으며, 집적 회로는 하나의 표준 셀이 두 개 이상의 행들에 대응하도록 배치되는 멀티 하이트 셀(multi height cell)을 포함할 수도 있다.
도 5 및 6은 본 발명의 실시예들에 따른 집적 회로의 설계 시스템을 나타내는 블록도들이다.
도 5를 참조하면, 설계 시스템(1000)은 프로세서(1100), 저장 장치(1200), 설계 모듈(1300) 및 분석 모듈(1400)을 포함한다.
이하에서 사용되는 "모듈"이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 또는 소프트웨어와 하드웨어의 조합을 나타낼 수 있다. "모듈"은 소프트웨어의 형태로서 어드레싱할 수 있는 저장 매체에 저장될 수 있고, 하나 또는 그 이상의 프로세서들에 의해 실행되도록 구성될 수도 있다. 예를 들어, "모듈"은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. "모듈"은 세부적인 기능들을 수행하는 복수의 "모듈"들로 분리될 수도 있다.
프로세서(1100)는 설계 모듈(1300) 및/또는 분석 모듈(1400)이 연산을 수행하는데 이용될 수 있다. 예를 들어, 프로세서(1100)는 마이크로프로세서(micro-processor), AP(application processor, DSP(digital signal processor), GPU(graphic processing unit) 등을 포함할 수 있다. 도 5에서는 하나의 프로세서(1100)만을 도시하였으나, 본 발명은 이에 한정되지 않으며, 설계 시스템(1000)은 복수의 프로세서들을 포함할 수도 있다. 한편, 상세하게 도시하지는 않았지만, 프로세서(1100)는 연산 능력 향상을 위해 캐시 메모리를 포함할 수도 있다.
저장 장치(1200)는 제1 표준 셀 라이브러리(standard cell library)(SCL1)(1210) 및 제2 표준 셀 라이브러리(SCL2)(1220)를 포함하며, 설계 규칙(design rule)(DR)(1230)을 더 포함할 수 있다. 제1 표준 셀 라이브러리(1210), 제2 표준 셀 라이브러리(1220) 및 설계 규칙(1230)은 저장 장치(1200)로부터 설계 모듈(1300) 및/또는 분석 모듈(1400)로 제공될 수 있다.
제1 표준 셀 라이브러리(1210)는 상기 제1 타입의 표준 셀들을 포함하며, 도 2a 등을 참조하여 그 일 예로서 제1 표준 셀(STC1)을 설명하였다. 제2 표준 셀 라이브러리(1220)는 상기 제2 타입의 표준 셀들을 포함하며, 도 2b 등을 참조하여 그 일 예로서 제2 표준 셀(STC2)을 설명하였다.
저장 장치(1200)는 컴퓨터로 읽을 수 있는 저장 매체로서, 데이터 및/또는 컴퓨터에 의해 실행되는 명령어들을 저장하는 임의의 저장 매체를 포함할 수 있다. 예를 들면, 컴퓨터로 읽을 수 있는 저장 매체는 RAM, ROM 등의 휘발성 메모리, 플래시 메모리, MRAM, PRAM, RRAM 등과 같은 비휘발성 메모리 등을 포함할 수 있다. 컴퓨터로 읽을 수 있는 저장 매체는 컴퓨터에 삽입 가능하거나, 컴퓨터 내에 집적되거나, 네트워크 및/또는 무선 링크와 같은 통신 매개체를 통해서 컴퓨터와 결합될 수 있다.
설계 모듈(1300)은 배치기(placer)(1310) 및 라우터(router)(1320)를 포함할 수 있다.
배치기(1310)는 프로세서(1100)를 이용하여, 집적 회로를 정의하는 입력 데이터(DI), 제1 표준 셀 라이브러리(1210) 및 제2 표준 셀 라이브러리(1220)에 기초하여 상기 제1 타입의 표준 셀들 및 상기 제2 타입의 표준 셀들을 배치할 수 있다. 라우터(1320)는 배치기(1310)로부터 제공되는 셀 배치에 대하여 신호 라우팅을 수행한다.
분석 모듈(1400)은 배치 및 라우팅 결과를 분석 및 검증할 수 있다. 분석 결과 라우팅이 성공적으로 완료되지 않은 경우에, 배치기(1310)는 기존의 배치를 수정하여 제공하고 라우터(1320)는 수정된 배치에 대해서 신호 라우팅을 다시 수행할 수 있다. 분석 결과 라우팅이 성공적으로 완료된 경우에, 라우터(1320)는 집적 회로를 정의하는 출력 데이터(DO)를 생성할 수 있다.
실시예에 따라서, 배치기(1310)와 라우터(1320)는 하나의 통합된 모듈(1300)로 구현될 수도 있고, 배치기(1310)와 라우터(1320)는 각각 분리된 별개의 모듈들로서 구현될 수도 있다.
설계 모듈(1300) 및/또는 분석 모듈(1400)은 소프트웨어의 형태로 구현될 수 있으나, 본 발명이 반드시 이에 제한되는 것은 아니다. 설계 모듈(1300) 및 분석 모듈(1400)이 모두 소프트웨어 형태로 구현될 경우, 설계 모듈(1300) 및 분석 모듈(1400)은 저장 장치(1200)에 코드(code) 형태로 저장될 수도 있고, 저장 장치(1200)와 분리된 다른 저장 장치(미도시)에 코드 형태로 저장될 수도 있다.
도 6을 참조하면, 설계 시스템(2000)은 프로세서(2100), 입출력(input/output, I/O) 장치(2200), 네트워크 인터페이스(2300), RAM(random access memory)(2400), ROM(read only memory)(2500) 및 저장 장치(2600)를 포함한다. 도 6은 도 5의 설계 모듈(1300) 및 분석 모듈(1400)이 모두 소프트웨어 형태로 구현된 경우를 예시한다.
설계 시스템(2000)은 컴퓨팅 시스템일 수 있으며, 데스크탑 컴퓨터, 워크스테이션, 서버 등과 같이 고정형 컴퓨팅 시스템일 수도 있고, 랩탑 컴퓨터 등과 같이 휴대형 컴퓨팅 시스템일 수도 있다.
프로세서(2100)는 도 5의 프로세서(1100)와 실질적으로 동일할 수 있다. 예를 들어, 프로세서(2100)는 임의의 명령어 세트(예를 들어, IA-32(Intel Architecture-32), 64 비트 확장 IA-32, x86-64, PowerPC, Sparc, MIPS, ARM, IA-64 등)를 실행할 수 있는 코어를 포함할 수 있다. 예를 들어, 프로세서(2100)는 버스를 통해서 메모리, 즉 RAM(2400) 또는 ROM(2500)에 액세스할 수 있고, RAM(2400) 또는 ROM(2500)에 저장된 명령어들을 실행할 수 있다. 도 6에 도시된 것처럼, RAM(2400)은 도 5의 설계 모듈(1300) 및 분석 모듈(1400)에 대응하는 프로그램(PR)의 전부 또는 일부를 저장할 수 있고, 프로그램(PR)은 프로세서(2100)로 하여금 집적 회로를 설계하기 위한 동작을 수행하도록 할 수 있다.
다시 말하면, 프로그램(PR)은 프로세서(2100)에 의해서 실행 가능한 복수의 명령어들 및/또는 프로시저(procedure)들을 포함할 수 있고, 프로그램(PR)에 포함된 복수의 명령어들 및/또는 프로시저(procedure)들은 프로세서(2100)로 하여금 본 발명의 실시예들에 따른 집적 회로를 설계하기 위한 동작들을 수행하도록 할 수 있다. 프로시저는 특정 태스크를 수행하기 위한 일련의 명령어들을 나타낼 수 있다. 프로시저는 함수(function), 루틴(routine), 서브루틴(subroutine), 서브프로그램(subprogram) 등으로도 부를 수 있다. 프로시저들 각각은 외부로부터 제공된 데이터 또는 다른 프로시저가 생성한 데이터를 처리할 수 있다.
저장 장치(2600)는 도 5의 저장 장치(1200)와 실질적으로 동일할 수 있다. 저장 장치(2600)는 프로그램(PR)을 저장할 수 있고, 제1 표준 셀 라이브러리(SCL1), 제2 표준 셀 라이브러리(SCL2) 및 설계 규칙(DR)을 저장할 수 있으며, 프로그램(PR)이 프로세서(2100)에 의해서 실행되기 이전에 저장 장치(2600)로부터 프로그램(PR)의 전부 또는 일부가 RAM(2400)으로 로딩될 수 있다. 저장 장치(2600)는 프로그램 언어로 작성된 파일을 저장할 수도 있고, 컴파일러 등에 의해서 생성된 프로그램(PR)의 전부 또는 일부가 RAM(2400)으로 로딩될 수도 있다.
저장 장치(2600)는 프로세서(2100)에 의해서 처리될 데이터 또는 프로세서(2100)에 의해서 처리된 데이터를 저장할 수도 있다. 즉, 프로세서(2100)는 프로그램(PR)에 따라, 저장 장치(2600)에 저장된 데이터를 처리함으로써 새로운 데이터를 생성할 수 있고, 생성된 데이터를 저장 장치(2600)에 저장할 수도 있다.
입출력 장치(2200)는 키보드, 포인팅 장치 등과 같은 입력 장치를 포함할 수 있고, 디스플레이 장치, 프린터 등과 같은 출력 장치를 포함할 수 있다. 예를 들어, 사용자는 입출력 장치(2200)를 통해서, 프로세서(2100)에 의해 프로그램(PR)의 실행을 트리거(trigger)하거나 도 5의 입력 데이터(DI)를 입력할 수도 있으며, 도 5의 출력 데이터(DO) 및/또는 오류 메시지 등을 확인할 수도 있다.
네트워크 인터페이스(2300)는 설계 시스템(2000) 외부의 네트워크에 대한 액세스를 제공할 수 있다. 예를 들어, 네트워크는 다수의 컴퓨팅 시스템들 및 통신 링크들을 포함할 수 있고, 통신 링크들은 유선 링크들, 광학 링크들, 무선 링크들 또는 임의의 다른 형태의 링크들을 포함할 수 있다. 도 5의 입력 데이터(DI)가 네트워크 인터페이스(2300)를 통해서 설계 시스템(2000)에 제공될 수도 있고, 도 5의 출력 데이터(DO)가 네트워크 인터페이스(2300)를 통해서 다른 컴퓨팅 시스템에 제공될 수도 있다.
도 7은 본 발명의 실시예들에 따른 집적 회로의 설계 시스템의 동작의 일 예를 나타내는 순서도이다. 도 8은 도 7의 배치 및 라우팅 동작의 일 예를 나타내는 순서도이다.
도 7을 참조하면, 도 5의 설계 모듈(1300) 또는 도 6의 입출력 장치(2200) 및 네트워크 인터페이스(2300) 중 하나는 집적 회로를 정의하는 입력 데이터(DI)를 수신한다(S1100).
도 5의 설계 모듈(1300) 및 분석 모듈(1400) 또는 도 6의 프로그램(PR)은 도 5의 프로세서(1100) 또는 도 6의 프로세서(2100)를 이용하여, 제1 표준 셀 라이브러리(SCL1) 및 제2 표준 셀 라이브러리(SCL2)를 참조하여 입력 데이터(DI)에 상응하는 상기 제1 타입의 표준 셀들 및 상기 제2 타입의 표준 셀들을 추출하고, 추출된 표준 셀들을 사용하여 미리 정해진 기준에 따라 배치 및 라우팅을 수행한다(단계 S1200).
도 8을 참조하면, 배치 및 라우팅을 수행하는데 있어서(단계 S1200), 먼저 도 5의 설계 모듈(1300)에 포함되는 배치기(1310) 또는 이에 대응하는 도 6의 프로그램(PR)의 일부분은 상기 추출된 표준 셀들을 사용하여 배치를 수행하고(단계 S2110), 클럭 트리 합성(clock tree synthesis, CTS)을 수행할 수 있다(단계 S2120). 이 때, 배치 과정 및 클럭 트리 합성 과정에서 미리 정해진 기준에 기초하여 상기 제1 타입의 표준 셀들 및 상기 제2 타입의 표준 셀들을 적절하게 적용할 수 있으며, 이에 대해서는 후술하도록 한다.
또한, 도 5의 설계 모듈(1300)에 포함되는 라우터(1320) 또는 이에 대응하는 도 6의 프로그램(PR)의 일부분은 앞단으로부터 제공된 배치에 대하여 신호 라우팅을 수행하고(단계 S2130), 타이밍 최적화(timing optimization)를 수행할 수 있다(단계 S2140). 이 때, 타이밍 최적화 과정에서 미리 정해진 기준에 기초하여 상기 제1 타입의 표준 셀들 및 상기 제2 타입의 표준 셀들을 적절하게 적용할 수 있으며, 이에 대해서는 후술하도록 한다.
도 5의 분석 모듈(1400) 또는 이에 대응하는 도 6의 프로그램(PR)의 일부분은 배치 및 라우팅이 성공적으로 완료되었는지 확인할 수 있다(단계 S2150). 배치 및 라우팅이 실패한 경우에(단계 S2150: 아니오), 예를 들어 신호 라우팅 및 타이밍 최적화 중 적어도 일부가 실패한 경우에, 단계 S2110, S2120, S2130 및 S2140이 다시 수행될 수 있다. 다시 말하면, 도 8의 상술한 과정들은 배치 및 라우팅이 성공적으로 완료될 때까지 반복될 수 있다.
다시 도 7을 참조하면, 배치 및 라우팅이 성공적으로 완료된 경우에(도 8의 S2150: 예), 도 5의 설계 모듈(1300) 또는 도 6의 입출력 장치(2200) 및 네트워크 인터페이스(2300) 중 하나는 상기 집적 회로를 정의하는 출력 데이터(DO)를 발생한다(S1300).
일 실시예에서, 도 9 내지 15를 참조하여 후술하는 것처럼, 상기 제1 타입의 표준 셀들과 상기 제1 타입의 표준 셀들을 함께 사용하여 배치 및 라우팅을 수행할 수 있다. 다른 실시예에서, 도 16 내지 19를 참조하여 후술하는 것처럼, 상기 제1 타입의 표준 셀들을 우선적으로 사용하여 배치 및 라우팅을 수행하고, 상기 제1 타입의 표준 셀들 중 특정 조건을 만족하는 표준 셀들을 상기 제2 타입의 표준 셀들로 대체할 수 있다.
도 9는 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 일 예를 나타내는 순서도이다.
도 9를 참조하면, 배치 및 라우팅을 수행하여 집적 회로를 정의하는 출력 데이터를 발생하는데 있어서, 상기 제1 타입의 표준 셀들이 요구되는 경우에 상기 제1 타입의 표준 셀들을 이용하여 배치 및 라우팅을 수행하고(단계 S2210), 상기 제2 타입의 표준 셀들이 요구되는 경우에 상기 제2 타입의 표준 셀들을 이용하여 배치 및 라우팅을 수행할 수 있다(단계 S2220). 예를 들어, 상기 제1 타입의 표준 셀들이 요구되는지 또는 상기 제2 타입의 표준 셀들이 요구되는지는 대상 셀의 성능, 면적 등에 따라 결정될 수 있다.
도 10은 도 9의 배치 및 라우팅 동작의 일 예를 나타내는 순서도이다. 도 11은 도 9 및 10의 동작에 의해 제1 타입의 표준 셀들 및 제2 타입의 표준 셀들이 하나의 집적 회로 내에 배치된 일 예를 나타내는 레이아웃 도면이다.
도 10을 참조하면, 집적 회로에 포함하고자 하는 표준 셀, 즉 대상 표준 셀에 대하여 상기 제1 타입의 표준 셀들이 요구되는지 또는 상기 제2 타입의 표준 셀들이 요구되는지 판단하기 위하여 상기 대상 표준 셀의 핀 밀도(pin density)를 확인할 수 있다(단계 S2310).
상기 대상 표준 셀의 핀 밀도가 기준 밀도보다 작은 경우에(단계 S2310: 예), 상기 제1 타입의 표준 셀들을 사용하여 상기 대상 표준 셀에 대한 배치 및 라우팅을 수행할 수 있다(단계 S2320). 상기 대상 표준 셀의 핀 밀도가 상기 기준 밀도보다 크거나 같은 경우에(단계 S2310: 아니오), 상기 제2 타입의 표준 셀들을 사용하여 상기 대상 표준 셀에 대한 배치 및 라우팅을 수행할 수 있다(단계 S2330).
도 2a 및 2b를 참조하여 상술한 것처럼, 상기 제2 타입의 표준 셀들 중 하나(예를 들어, 제2 표준 셀(STC2))는 이와 대응하고 동일한 기능을 갖는 상기 제1 타입의 표준 셀들 중 하나(예를 들어, 제1 표준 셀(STC1))보다 넓은 면적을 가질 수 있다. 따라서, 상기 대상 표준 셀의 핀 밀도가 상기 기준 밀도보다 크거나 같은 경우에, 즉 상기 대상 표준 셀의 셀 면적 대비 네트 연결(net connection)이 필요한 핀 개수 및 핀 밀도가 높은 경우에, 상대적으로 넓은 면적을 갖는 상기 제2 타입의 표준 셀들을 적용할 수 있으며, 이에 따라 핀 간의 연결(pin-to-pin connection)을 위한 라우팅이 용이해지고 라우팅 혼잡도(routing congestion)가 감소될 수 있다.
일 실시예에서, 핀 밀도가 상기 기준 밀도보다 크거나 같은 상기 대상 표준 셀은, 예를 들어 AND, OR와 같은 기본 셀 또는 조합 셀(combinational cell) 중 구동 강도(driving strength)가 상대적으로 작은 셀들, 및 AOI 또는 OAI와 같이 여러 개의 기본 셀들 또는 조합 셀들을 포함하는 복합 셀 등을 포함할 수 있다.
도 10을 참조하여 핀 밀도, 즉 셀의 면적을 기준으로 하여 상기 대상 표준 셀의 타입을 결정하는 예를 설명하였으나, 본 발명은 이에 한정되지 않을 수 있다. 예를 들어, 도 2a 및 2b를 참조하여 상술한 것처럼, 상기 제1 타입의 표준 셀들(예를 들어, 제1 표준 셀(STC1))은 상대적으로 작은 면적을 가지도록 형성되는 면적 지향 셀이고 상기 제2 타입의 표준 셀들(예를 들어, 제2 표준 셀(STC2))은 상대적으로 향상된 성능을 가지도록 형성되는 성능 지향 셀이므로, 상기 대상 표준 셀이 상대적으로 향상된 성능을 필요로 하는 경우에 상대적으로 향상된 성능을 갖는 상기 제2 타입의 표준 셀들을 적용할 수 있다. 다시 말하면, 셀의 성능을 기준으로 하여 상기 대상 표준 셀의 타입을 결정할 수도 있으며, 또는 그 밖의 다양한 기준들 중 적어도 하나에 기초하여 상기 대상 표준 셀의 타입을 결정할 수 있다.
도 11을 참조하면, 도 9 및 10을 참조하여 상술한 방식에 기초하여, 상기 제1 타입의 표준 셀들(STC11, STC12, STC13, STC14, STC15, STC16, STC17, STC18, STC19, STC1A, STC1B, STC1C, STC1D, STC1E, STC1F, STC1G, STC1H, STC1I) 및 상기 제2 타입의 표준 셀들(STC21, STC22, STC23, STC24, STC25, STC26, STC27)을 포함하는 집적 회로를 설계할 수 있다. 다시 말하면, 상기 집적 회로에 포함하고자 하는 복수의 표준 셀들 모두를 각각 상기 제1 타입 및 상기 제2 타입 중 하나로 결정하여 배치 및 라우팅을 수행할 수 있다.
도 11에 도시된 양방향 화살표는 도 3을 참조하여 상술한 기준 거리(WSD)를 나타낼 수 있다. 서로 다른 타입의 표준 셀들(예를 들어, STC11 및 STC21)은 상기 집적 회로의 하나의 행 내에서 기준 거리(WSD) 이상 이격되어 배치되어야 한다. 이와 다르게, 동일한 타입의 표준 셀들(예를 들어, STC13 및 STC14)은 상기 집적 회로의 하나의 행 내에서 기준 거리(WSD)보다 가깝게 배치 가능하며, 예를 들어 표준 셀들의 경계가 직접 접촉하도록 형성될 수 있다.
도 12는 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 다른 예를 나타내는 순서도이다. 도 13a 및 13b는 도 12의 동작에 의해 제1 타입의 표준 셀들 및 제2 타입의 표준 셀들이 하나의 집적 회로 내에 배치된 일 예를 나타내는 레이아웃 도면들이다. 이하 도 9, 10 및 11과 중복되는 설명은 생략한다.
도 12를 참조하면, 단계 S2210 및 S2220은 도 9의 단계 S2210 및 S2220과 각각 실질적으로 동일할 수 있다.
상기 제1 타입의 표준 셀들 및 상기 제2 타입의 표준 셀들을 이용하여 배치 및 라우팅을 수행한 이후에, 상기 집적 회로에 포함되는 복수의 표준 셀들 중에서 상기 제2 타입의 표준 셀들에 포함되는 대상 표준 셀들이 서로 물리적으로 인접하도록 배치 및 라우팅을 다시 수행할 수 있다(단계 S2230). 동일한 타입의 표준 셀들이 물리적으로 인접하도록 배치함으로써, 셀 배치 가능한 공간을 추가로 확보할 수 있다.
도 13a를 참조하면, 도 12의 단계 S2210 및 S2220에 의해 도 11에 도시된 것과 실질적으로 동일한 집적 회로를 설계할 수 있다. 이 때, 제1 행에서 서로 다른 타입의 셀들(STC21, STC12) 사이 및 서로 다른 타입의 셀들(STC12, STC22) 사이에 기준 거리(WSD)를 확보하기 위한 화이트 스페이스 존이 필요할 수 있다. 이와 유사하게, 서로 다른 타입의 셀들(STC16, STC23) 사이, 서로 다른 타입의 셀들(STC23, STC17) 사이, 서로 다른 타입의 셀들(STC19, STC24) 사이, 서로 다른 타입의 셀들(STC25, STC1A) 사이, 서로 다른 타입의 셀들(STC26, STC1C) 사이 및 서로 다른 타입의 셀들(STC1D, STC27) 사이에도 화이트 스페이스 존이 필요할 수 있다.
상기와 같은 화이트 스페이스 존에 의해 셀 배치 가능한 공간이 감소할 수 있으므로, 제2 타입의 표준 셀들(STC21, STC22, STC23)이 상기 제1 행에서 서로 인접하도록, 도 12의 단계 S2230에 의해 셀들(STC12, STC23)의 위치를 변경할 수 있다(도 13a의 화살표 ①). 이와 유사하게, 셀들(STC24, STC1C)의 위치를 변경하고(도 13a의 화살표 ②), 셀들(STC24, STC1C)의 위치를 변경할 수 있다(도 13a의 화살표 ③).
도 13b를 참조하면, 도 12의 단계 S2230에 의해 배치 및 라우팅을 다시 수행하여, 상기 제1 타입의 표준 셀들(STC11, STC12', STC13, STC14, STC15, STC16, STC17, STC18, STC19, STC1A, STC1B, STC1C', STC1D', STC1E, STC1F, STC1G, STC1H, STC1I) 및 상기 제2 타입의 표준 셀들(STC21, STC22, STC23', STC24', STC25', STC26, STC27)을 포함하는 집적 회로를 설계할 수 있다.
도 13a의 레이아웃과 비교하였을 때, 도 13b의 레이아웃에서는 상기 제2 타입의 표준 셀들(STC21, STC22, STC23')이 동일한 행 내에서 서로 인접하도록 배치되고, 상기 제2 타입의 표준 셀들(STC24', STC26)이 동일한 행 내에서 서로 인접하도록 배치되며, 상기 제2 타입의 표준 셀들(STC25', STC27)이 동일한 행 내에서 서로 인접하도록 배치될 수 있다. 상술한 것처럼, 동일한 타입의 셀들은 하나의 행 내에서 기준 거리(WSD)보다 가깝게 배치 가능하므로, 결과적으로 셀들(STC12', STC16) 사이 및 셀들(STC1A, STC1D') 사이에 셀 배치 가능한 공간을 추가로 확보할 수 있다.
도 14는 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 또 다른 예를 나타내는 순서도이다. 도 15는 도 14의 동작에 의해 제1 타입의 표준 셀들 및 제2 타입의 표준 셀들이 하나의 집적 회로 내에 배치된 일 예를 나타내는 레이아웃 도면이다. 이하 도 9, 10 및 11과 중복되는 설명은 생략한다.
도 14를 참조하면, 단계 S2210 및 S2220은 도 9의 단계 S2210 및 S2220과 각각 실질적으로 동일할 수 있다.
상기 제1 타입의 표준 셀들 및 상기 제2 타입의 표준 셀들을 이용하여 배치 및 라우팅을 수행한 이후에, 서로 다른 타입의 표준 셀들 사이에 필러(filler) 셀을 삽입할 수 있다(단계 S2240). 상기 필러 셀은 상기 제1 타입의 표준 셀들 및 상기 제2 타입의 표준 셀들과는 다른 제3 타입의 셀일 수 있다.
도 15를 참조하면, 도 14의 단계 S2210 및 S2220에 의해 도 11에 도시된 것과 동일한 레이아웃을 갖는 집적 회로를 설계할 수 있고, 도 14의 단계 S2240에 의해 셀들(STC21, STC12) 사이, 셀들(STC12, STC22) 사이, 셀들(STC23, STC17) 사이, 셀들(STC25, STC1A) 사이 및 셀들(STC1B, STC26) 사이에 필러 셀들(FC1, FC2, FC3, FC4, FC5)을 각각 삽입할 수 있다. 필러 셀들(FC1, FC2, FC3, FC4, FC5)을 삽입함으로써, 상기 집적 회로 내의 빈 공간을 채워 놓을 수 있다.
일 실시예에서, 필러 셀들(FC1, FC2, FC3, FC4, FC5)은 더미 셀일 수 있다. 다른 실시예에서, 필러 셀들(FC1, FC2, FC3, FC4, FC5)은 상기 제1 타입의 표준 셀들(STC11, STC12, STC13, STC14, STC15, STC16, STC17, STC18, STC19, STC1A, STC1B, STC1C, STC1D, STC1E, STC1F, STC1G, STC1H, STC1I) 및 상기 제2 타입의 표준 셀들(STC21, STC22, STC23, STC24, STC25, STC26, STC27)과 다른 방식으로 제조되는 셀일 수 있다. 실시예에 따라서, 필러 셀들(FC1, FC2, FC3, FC4, FC5)은 모두 동일한 종류일 수도 있고 적어도 일부는 서로 다른 종류일 수도 있다.
도 15에서는 필러 셀들(FC1, FC2, FC3, FC4, FC5)이 집적 회로의 일부분에만 삽입되는 경우를 예시하였으나, 본 발명은 이에 한정되지 않으며, 집적 회로의 모든 빈 공간에 필러 셀들을 삽입할 수도 있다.
도 16은 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 또 다른 예를 나타내는 순서도이다. 도 17은 도 16의 동작에 의해 설계되는 집적 회로의 일 예를 나타내는 도면이다.
도 16을 참조하면, 배치 및 라우팅을 수행하여 집적 회로를 정의하는 출력 데이터를 발생하는데 있어서, 상기 제1 타입의 표준 셀들을 사용하여 배치를 수행하고(단계 S2410), 단계 S2410의 결과 획득된 상기 집적 회로에 포함되는 복수의 표준 셀들 중에서 대상 표준 셀을 상기 제2 타입의 표준 셀들 중의 하나로 대체하는 배치 변경을 수행하며(단계 S2420), 상기 배치 변경의 결과에 기초하여 라우팅을 수행할 수 있다(단계 S2430). 다시 말하면, 상기 제1 타입의 표준 셀들을 상기 집적 회로에 우선적으로 적용하여 배치 과정만을 먼저 수행한 이후에, 상기 제1 타입의 표준 셀들 중 일부인 상기 대상 표준 셀을 상기 제2 타입의 표준 셀들 중 하나로 대체하며, 이후에 라우팅을 수행할 수 있다.
일 실시예에서, 상기 대상 표준 셀은 상기 집적 회로에 포함되는 클럭 네트워크(clock network)에 사용되는 셀일 수 있다. 도 2a 및 2b를 참조하여 상술한 것처럼, 상기 제2 타입의 표준 셀들(예를 들어, 제2 표준 셀(STC2))은 상대적으로 향상된 성능을 가지도록 형성되는 성능 지향 셀이므로, 클럭 간 스큐(skew)를 최소화하기 위해 성능을 높여야 하는 클럭 네트워크에 사용되는 셀들을 상기 제2 타입의 표준 셀들로만 구현함으로써, 상기 집적 회로의 성능을 향상시킬 수 있다.
도 17을 참조하면, 집적 회로(3100)에 포함되는 플립플롭들(FF1, FF2, ..., FFN) 및 클럭 발생기(clock generator)(CG)를 구현하도록, 도 16의 단계 S2410에 의해 상기 제1 타입의 표준 셀들을 사용하여 배치를 수행할 수 있다. 입력 데이터(DIN) 및 출력 데이터(DOUT)와 관련된 데이터 경로가 아닌 클럭 신호(CK)의 발생 및 전달과 관련된 클럭 네트워크(CN)(즉, 클럭 경로)의 성능 향상을 위하여, 도 16의 단계 S2420에 의해 클럭 네트워크(CN)에 포함되는 상기 제1 타입의 대상 표준 셀을 상기 제2 타입의 표준 셀들로 대체할 수 있다. 이후에 도 16의 단계 S2430에 의해 라우팅을 수행하여 집적 회로(3100)의 설계를 완료할 수 있다.
도 18은 본 발명의 실시예들에 따른 집적 회로의 설계 방법에서 수행되는 배치 및 라우팅 동작의 또 다른 예를 나타내는 순서도이다. 도 19는 도 18의 동작에 의해 설계되는 집적 회로의 일 예를 나타내는 도면이다.
도 18을 참조하면, 배치 및 라우팅을 수행하여 집적 회로를 정의하는 출력 데이터를 발생하는데 있어서, 상기 제1 타입의 표준 셀들을 사용하여 배치 및 라우팅을 수행하고(단계 S2510), 단계 S2510의 결과 획득된 상기 집적 회로에 포함되는 복수의 표준 셀들 중에서 대상 표준 셀을 상기 제2 타입의 표준 셀들 중의 하나로 대체하는 배치 변경을 수행하며(단계 S2520), 상기 배치 변경의 결과에 기초하여 라우팅을 다시 수행할 수 있다(단계 S2530). 다시 말하면, 상기 제1 타입의 표준 셀들을 상기 집적 회로에 우선적으로 적용하여 배치 과정 및 라우팅 과정을 먼저 수행한 이후에, 상기 제1 타입의 표준 셀들 중 일부인 상기 대상 표준 셀을 상기 제2 타입의 표준 셀들 중 하나로 대체하며, 이후에 라우팅을 다시 수행할 수 있다.
일 실시예에서, 상기 대상 표준 셀은 상기 집적 회로에 포함되는 복수의 데이터 경로들 중에서 타이밍 특성에 가장 민감한(timing critical) 데이터 경로에 사용되는 셀일 수 있다. 도 2a 및 2b를 참조하여 상술한 것처럼, 상기 제2 타입의 표준 셀들(예를 들어, 제2 표준 셀(STC2))은 상대적으로 향상된 성능을 가지도록 형성되는 성능 지향 셀이므로, 타이밍 특성에 민감한 데이터 경로에 사용되는 셀들을 상기 제2 타입의 표준 셀들로만 구현함으로써, 상기 집적 회로의 성능을 향상시킬 수 있다.
도 19를 참조하면, 집적 회로(3200)에 포함되는 플립플롭들(FFA, FFB), 인버터들(INVA, INVB), NAND 게이트들(NANDA, NANDB, NANDC, NANDD) 및 AND 게이트들(ANDA, ANDB, ANDC, ANDD)을 구현하도록, 도 18의 단계 S2610에 의해 상기 제1 타입의 표준 셀들을 사용하여 배치 및 라우팅을 수행할 수 있다. 도 16의 단계 S2520에 의해 입력 데이터(DIN) 및 출력 데이터(DOUT)와 관련된 복수의 데이터 경로들 중 타이밍 특성에 가장 민감한 데이터 경로에 포함되는 빗금친 소자들(INVB, ANDA, ANDB, NANDB, NANDC)에 포함되는 상기 제1 타입의 대상 표준 셀을 상기 제2 타입의 표준 셀들로 대체할 수 있다. 이후에 도 18의 단계 S2530에 의해 라우팅을 다시 수행하여 집적 회로(3200)의 설계를 완료할 수 있다.
도 16의 단계 S2410 및 도 18의 단계 S2510에서 상기 제1 타입의 표준 셀들만을 사용하는 것으로 예시하였으나, 본 발명은 이에 한정되지 않으며, 상기 제1 타입의 표준 셀들 및 상기 제2 타입의 표준 셀들을 모두 사용하여 배치 또는 배치 및 라우팅을 수행한 이후에 클럭 네트워크에 포함되거나 타이밍 특성에 민감한 데이터 경로에 사용되는 셀들 중 상기 제1 타입의 대상 표준 셀을 상기 제2 타입의 표준 셀들로 대체할 수도 있다.
본 발명의 실시예들에 따른 집적 회로, 집적 회로의 설계 방법 및 집적 회로의 설계 시스템에서는, 서로 다른 타입의 표준 셀들을 하나의 집적 회로에 포함하도록 설계 및 구현될 수 있다. 서로 다른 타입의 표준 셀들은 기능은 동일하지만 제조 방식, 성능, 면적 등이 서로 상이하며, 다양한 설계 최적화 방식을 이용하여 서로 다른 타입의 표준 셀들을 하나의 집적 회로 내에 구현함으로써, 성능, 면적 등 여러가지 특성이 모두 우수한 집적 회로를 효과적으로 설계 및 획득할 수 있다.
도 9를 참조하여 상술한 요구 조건에 따라 서로 다른 타입의 셀들을 적용하는 동작, 도 10을 참조하여 상술한 핀 밀도에 따라 서로 다른 타입의 셀들을 적용하는 동작, 도 12를 참조하여 상술한 동일한 타입의 셀들을 인접시키는 동작, 및 도 14를 참조하여 상술한 필러 셀을 삽입하는 동작은 도 8을 참조하여 상술한 과정들 중에서 배치 과정에서의 설계 최적화를 위해 이용될 수 있다. 도 16을 참조하여 상술한 배치 변경 및 이후에 라우팅을 수행하는 동작은 도 8을 참조하여 상술한 과정들 중에서 클럭 트리 합성 과정에서의 설계 최적화를 위해 이용될 수 있다. 도 18을 참조하여 상술한 배치 변경 및 이후에 라우팅을 다시 수행하는 동작은 도 8을 참조하여 상술한 과정들 중에서 타이밍 최적화 과정에서의 설계 최적화를 위해 이용될 수 있다.
한편, 실시예에 따라서 상술한 다양한 동작들 중 두 개 이상을 조합하여 집적 회로를 설계할 수도 있다. 또한, 자동 배치 및 라우팅을 위한 모듈 및/또는 툴에서 상술한 다양한 동작들을 수행하는 것으로 예시하였으나, 본 발명은 이에 한정되지 않으며, 상술한 다양한 동작들은 배치 및 라우팅 수행 전에(예를 들어, 합성(synthesis) 단계에서) Verilog 네트리스트 작성을 위한 과정에도 미리 적용되어 진행될 수도 있다.
한편, 상기 제1 타입의 표준 셀들이 싱글 디퓨전 브레이크 방식을 이용하여 제조되고 상기 제2 타입의 표준 셀들이 더블 디퓨전 브레이크 방식을 이용하여 제조되는 것으로 예시하였으나, 본 발명은 이에 한정되지 않으며, 상기 제1 타입 및 상기 제2 타입은 실시예에 따라서 다양하게 변경될 수 있다. 또한, 서로 다른 두 개의 타입의 표준 셀들이 하나의 집적 회로에 포함되는 것으로 예시하였으나, 본 발명은 이에 한정되지 않으며, 서로 다른 세 개 이상의 타입의 표준 셀들이 하나의 집적 회로에 포함되는 것으로 확대 적용될 수도 있다.
도 20은 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
도 20을 참조하면, 전자 시스템(4000)은 프로세서(4100), 통신 모듈(4200), 디스플레이/터치 모듈(4300), 저장 장치(4400) 및 메모리 장치(4500)를 포함한다. 예를 들어, 전자 시스템(4000)은 임의의 모바일 시스템 또는 컴퓨팅 시스템일 수 있다.
전자 시스템(4000)의 구성요소들은 상술한 바와 같이 서로 다른 타입의 표준 셀들을 하나의 집적 회로에 포함하도록 설계 및 구현될 수 있고, 종래의 전자 시스템(4000)보다 성능, 면적 등 여러가지 특성이 모두 우수하도록 구현될 수 있다.
프로세서(4100)는 전자 시스템(4000)의 전반적인 동작을 제어한다. 프로세서(4100)는 운영 체제, 어플리케이션 등을 실행할 수 있다. 통신 모듈(4200)은 외부와의 유선 통신 및/또는 무선 통신을 제어하도록 구현될 수 있다. 디스플레이/터치 모듈(4300)은 프로세서(4100)에서 처리된 데이터를 디스플레이 하거나, 터치 패널로부터 데이터를 입력 받도록 구현될 수 있다. 저장 장치(4400)는 사용자의 데이터를 저장할 수 있다. 메모리 장치(4500)는 전자 시스템(4000)의 처리 동작 시 필요한 데이터를 임시로 저장할 수 있다.
본 발명의 실시예들은 임의의 전자 장치 및 시스템의 설계에 유용하게 이용될 수 있다. 예를 들어, 본 발명의 실시예들은 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트 폰(smart phone), MP3 플레이어, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(Internet of Things) 기기, IoE(Internet of Everything) 기기, e-북(e-book), VR(Virtual Reality) 기기, AR(Augmented Reality) 기기 등과 같은 전자 기기에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
Claims (20)
- 집적 회로를 설계하기 위한 설계 시스템에 의해 수행되는 집적 회로의 설계 방법으로서,
상기 설계 시스템이 상기 집적 회로를 정의하는 입력 데이터를 수신하는 단계;
상기 설계 시스템이 제1 디퓨전 브레이크(diffusion break) 방식을 이용하여 제조되는 제1 타입의 표준 셀들을 포함하는 제1 표준 셀 라이브러리를 제공하는 단계;
상기 설계 시스템이 상기 제1 타입의 표준 셀들과 동일한 기능을 갖고 상기 제1 디퓨전 브레이크 방식과 다른 제2 디퓨전 브레이크 방식을 이용하여 제조되는 제2 타입의 표준 셀들을 포함하는 제2 표준 셀 라이브러리를 제공하는 단계; 및
상기 설계 시스템이 상기 입력 데이터, 상기 제1 표준 셀 라이브러리 및 상기 제2 표준 셀 라이브러리를 기초로 배치 및 라우팅을 수행하여 상기 집적 회로를 정의하는 출력 데이터를 발생하는 단계를 포함하고,
상기 출력 데이터를 발생하는 단계는,
상기 집적 회로에 포함하고자 하는 표준 셀이 기준 밀도보다 작은 핀 밀도(pin density)를 갖는 경우에, 상기 제1 타입의 표준 셀들을 사용하여 배치 및 라우팅을 수행하는 단계; 및
상기 집적 회로에 포함하고자 하는 표준 셀이 상기 기준 밀도보다 크거나 같은 핀 밀도를 갖는 경우에, 상기 제2 타입의 표준 셀들을 사용하여 배치 및 라우팅을 수행하는 단계를 포함하는 집적 회로의 설계 방법. - 제 1 항에 있어서, 상기 제1 표준 셀 라이브러리를 제공하는 단계는,
제1 기능을 가지고, 내부적으로 동일한 간격으로 이격되어 형성되는 복수의 제1 배선들 중에서 가장 바깥쪽의 두 개가 셀 경계와 중첩하도록 위치하는 제1 표준 셀을 상기 제1 타입의 표준 셀들 중의 하나로서 제공하는 단계를 포함하는 것을 특징으로 하는 집적 회로의 설계 방법. - 제 2 항에 있어서, 상기 제2 표준 셀 라이브러리를 제공하는 단계는,
상기 제1 기능을 가지고, 내부적으로 동일한 간격으로 이격되어 형성되는 복수의 제2 배선들 중에서 가장 바깥쪽의 두 개가 셀 경계와 중첩하지 않도록 위치하는 제2 표준 셀을 상기 제2 타입의 표준 셀들 중의 하나로서 제공하는 단계를 포함하는 것을 특징으로 하는 집적 회로의 설계 방법. - 제 3 항에 있어서,
상기 제1 디퓨전 브레이크 방식은 싱글(single) 디퓨전 브레이크 방식이고, 상기 제2 디퓨전 브레이크 방식은 더블(double) 디퓨전 브레이크 방식인 것을 특징으로 하는 집적 회로의 설계 방법. - 삭제
- 제 1 항에 있어서, 상기 출력 데이터를 발생하는 단계는,
상기 집적 회로에 포함되는 복수의 표준 셀들 중에서 상기 제2 타입의 표준 셀들에 포함되는 대상 표준 셀들이 서로 물리적으로 인접하도록 배치 및 라우팅을 다시 수행하는 단계를 더 포함하는 것을 특징으로 하는 집적 회로의 설계 방법. - 제 1 항에 있어서,
서로 다른 타입의 표준 셀들은 상기 집적 회로의 하나의 행 내에서 미리 정해진 기준 거리 이상 이격되어 배치되고,
동일한 타입의 표준 셀들은 상기 집적 회로의 하나의 행 내에서 상기 기준 거리보다 가깝게 배치 가능한 것을 특징으로 하는 집적 회로의 설계 방법. - 제 1 항에 있어서, 상기 출력 데이터를 발생하는 단계는,
서로 다른 타입의 표준 셀들 사이에 필러(filler) 셀을 삽입하는 단계를 더 포함하는 것을 특징으로 하는 집적 회로의 설계 방법. - 집적 회로를 설계하기 위한 설계 시스템에 의해 수행되는 집적 회로의 설계 방법으로서,
상기 설계 시스템이 상기 집적 회로를 정의하는 입력 데이터를 수신하는 단계;
상기 설계 시스템이 제1 디퓨전 브레이크(diffusion break) 방식을 이용하여 제조되는 제1 타입의 표준 셀들을 포함하는 제1 표준 셀 라이브러리를 제공하는 단계;
상기 설계 시스템이 상기 제1 타입의 표준 셀들과 동일한 기능을 갖고 상기 제1 디퓨전 브레이크 방식과 다른 제2 디퓨전 브레이크 방식을 이용하여 제조되는 제2 타입의 표준 셀들을 포함하는 제2 표준 셀 라이브러리를 제공하는 단계; 및
상기 설계 시스템이 상기 입력 데이터, 상기 제1 표준 셀 라이브러리 및 상기 제2 표준 셀 라이브러리를 기초로 배치 및 라우팅을 수행하여 상기 집적 회로를 정의하는 출력 데이터를 발생하는 단계를 포함하고,
상기 출력 데이터를 발생하는 단계는,
상기 제1 타입의 표준 셀들을 사용하여 배치를 수행하는 단계;
상기 집적 회로에 포함되는 복수의 표준 셀들 중에서 대상 표준 셀을 상기 제2 타입의 표준 셀들 중의 하나로 대체하는 배치 변경을 수행하는 단계; 및
상기 배치 변경의 결과에 기초하여 라우팅을 수행하는 단계를 포함하는 것을 특징으로 하는 집적 회로의 설계 방법. - 제 9 항에 있어서,
상기 대상 표준 셀은 클럭 네트워크(clock network)에 사용되는 셀인 것을 특징으로 하는 집적 회로의 설계 방법. - 집적 회로를 설계하기 위한 설계 시스템에 의해 수행되는 집적 회로의 설계 방법으로서,
상기 설계 시스템이 상기 집적 회로를 정의하는 입력 데이터를 수신하는 단계;
상기 설계 시스템이 제1 디퓨전 브레이크(diffusion break) 방식을 이용하여 제조되는 제1 타입의 표준 셀들을 포함하는 제1 표준 셀 라이브러리를 제공하는 단계;
상기 설계 시스템이 상기 제1 타입의 표준 셀들과 동일한 기능을 갖고 상기 제1 디퓨전 브레이크 방식과 다른 제2 디퓨전 브레이크 방식을 이용하여 제조되는 제2 타입의 표준 셀들을 포함하는 제2 표준 셀 라이브러리를 제공하는 단계; 및
상기 설계 시스템이 상기 입력 데이터, 상기 제1 표준 셀 라이브러리 및 상기 제2 표준 셀 라이브러리를 기초로 배치 및 라우팅을 수행하여 상기 집적 회로를 정의하는 출력 데이터를 발생하는 단계를 포함하고,
상기 출력 데이터를 발생하는 단계는,
상기 제1 타입의 표준 셀들을 사용하여 배치 및 라우팅을 수행하는 단계;
상기 집적 회로에 포함되는 복수의 표준 셀들 중에서 대상 표준 셀을 상기 제2 타입의 표준 셀들 중의 하나로 대체하는 배치 변경을 수행하는 단계; 및
상기 배치 변경의 결과에 기초하여 라우팅을 다시 수행하는 단계를 포함하는 것을 특징으로 하는 집적 회로의 설계 방법. - 제 11 항에 있어서,
상기 대상 표준 셀은 복수의 데이터 경로들 중에서 타이밍 특성에 가장 민감한(timing critical) 데이터 경로에 사용되는 셀인 것을 특징으로 하는 집적 회로의 설계 방법. - 집적 회로를 설계하기 위한 설계 시스템으로서,
프로시저(procedure)들을 포함하는 정보를 저장하는 저장 장치; 및
상기 저장 장치에 액세스 가능하고, 상기 프로시저들을 실행하는 프로세서를 포함하고,
상기 프로시저들은,
상기 집적 회로를 정의하는 입력 데이터, 제1 디퓨전 브레이크(diffusion break) 방식을 이용하여 제조되는 제1 타입의 표준 셀들을 포함하는 제1 표준 셀 라이브러리, 및 상기 제1 타입의 표준 셀들과 동일한 기능을 갖고 상기 제1 디퓨전 브레이크 방식과 다른 제2 디퓨전 브레이크 방식을 이용하여 제조되는 제2 타입의 표준 셀들을 포함하는 제2 표준 셀 라이브러리에 기초하여, 상기 제1 타입의 표준 셀들 중에서 적어도 하나 및 상기 제2 타입의 표준 셀들 중에서 적어도 하나를 상기 집적 회로 내에 배치하는 배치기; 및
상기 집적 회로 내에 배치된 상기 제1 타입의 표준 셀들 중에서 적어도 하나 및 상기 제2 타입의 표준 셀들 중에서 적어도 하나의 커넥션들을 라우팅하여 상기 집적 회로를 정의하는 출력 데이터를 발생하는 라우터를 포함하며,
상기 출력 데이터를 발생하는데 있어서,
상기 집적 회로에 포함하고자 하는 표준 셀이 기준 밀도보다 작은 핀 밀도(pin density)를 갖는 경우에, 상기 제1 타입의 표준 셀들을 사용하여 배치 및 라우팅을 수행하고,
상기 집적 회로에 포함하고자 하는 표준 셀이 상기 기준 밀도보다 크거나 같은 핀 밀도를 갖는 경우에, 상기 제2 타입의 표준 셀들을 사용하여 배치 및 라우팅을 수행하는 집적 회로의 설계 시스템. - 제1 디퓨전 브레이크(diffusion break) 방식을 이용하여 제조되는 제1 타입의 표준 셀들; 및
상기 제1 타입의 표준 셀들과 동일한 기능을 갖고 상기 제1 디퓨전 브레이크 방식과 다른 제2 디퓨전 브레이크 방식을 이용하여 제조되는 제2 타입의 표준 셀들을 포함하고,
집적 회로에 포함하고자 하는 표준 셀이 기준 밀도보다 작은 핀 밀도(pin density)를 갖는 경우에, 상기 제1 타입의 표준 셀들을 사용하여 배치 및 라우팅을 수행하여 설계되고,
상기 집적 회로에 포함하고자 하는 표준 셀이 상기 기준 밀도보다 크거나 같은 핀 밀도를 갖는 경우에, 상기 제2 타입의 표준 셀들을 사용하여 배치 및 라우팅을 수행하여 설계되는 집적 회로. - 제 14 항에 있어서,
상기 제1 타입의 표준 셀들 중에서 제1 기능을 갖는 제1 표준 셀은, 내부적으로 형성되는 복수의 제1 배선들 중에서 가장 바깥쪽의 두 개가 상기 제1 표준 셀의 경계와 중첩하도록 형성되고,
상기 제2 타입의 표준 셀들 중에서 상기 제1 기능을 갖는 제2 표준 셀은, 내부적으로 형성되는 복수의 제2 배선들 중에서 가장 바깥쪽의 두 개가 상기 제2 표준 셀의 경계와 중첩하지 않도록 형성되는 것을 특징으로 하는 집적 회로. - 제 15 항에 있어서,
상기 제1 표준 셀 내에서 상기 복수의 제1 배선들은 동일한 제1 간격으로 이격되어 형성되고,
상기 제2 표준 셀 내에서 상기 복수의 제2 배선들은 동일한 제2 간격으로 이격되어 형성되며,
상기 제1 간격 및 상기 제2 간격은 동일한 것을 특징으로 하는 집적 회로. - 제 15 항에 있어서,
상기 제1 표준 셀 및 상기 제2 표준 셀이 상기 집적 회로의 서로 다른 행에 서로 인접하여 배치되는 경우에, 상기 복수의 제1 배선들 중에서 하나 및 상기 복수의 제2 배선들 중에서 하나는 동일한 직선 상에 위치하는 것을 특징으로 하는 집적 회로. - 제 15 항에 있어서,
상기 제1 표준 셀 및 상기 제2 표준 셀이 상기 집적 회로의 하나의 행 내에 서로 인접하여 배치되는 경우에, 상기 제1 표준 셀 및 상기 제2 표준 셀은 미리 정해진 기준 거리 이상 이격되어 배치되는 것을 특징으로 하는 집적 회로. - 제 15 항에 있어서,
상기 제2 표준 셀의 면적은 상기 제1 표준 셀의 면적보다 넓은 것을 특징으로 하는 집적 회로. - 제 15 항에 있어서,
상기 제1 표준 셀은 상기 집적 회로 내에서 동일한 간격으로 이격되어 있는 복수의 제1 기준 라인들과 일치하도록 배치되고,
상기 제2 표준 셀은 상기 집적 회로 내에서 인접한 두 개의 제1 기준 라인들 사이에 각각 존재하고 동일한 간격으로 이격되어 있는 복수의 제2 기준 라인들과 일치하도록 배치되는 것을 특징으로 하는 집적 회로.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180137000A KR102539066B1 (ko) | 2018-11-09 | 2018-11-09 | 서로 다른 타입의 셀들을 포함하는 집적 회로, 그 설계 방법 및 설계 시스템 |
US16/420,721 US10817640B2 (en) | 2018-11-09 | 2019-05-23 | Integrated circuit including different types of cells, and method and system of designing the same |
TW108119875A TWI798448B (zh) | 2018-11-09 | 2019-06-10 | 積體電路、及產生積體電路設計的方法及設計系統 |
CN201910811343.9A CN111241769B (zh) | 2018-11-09 | 2019-08-29 | 包括不同类型单元的集成电路及其设计方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180137000A KR102539066B1 (ko) | 2018-11-09 | 2018-11-09 | 서로 다른 타입의 셀들을 포함하는 집적 회로, 그 설계 방법 및 설계 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200053757A KR20200053757A (ko) | 2020-05-19 |
KR102539066B1 true KR102539066B1 (ko) | 2023-06-01 |
Family
ID=70550033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180137000A KR102539066B1 (ko) | 2018-11-09 | 2018-11-09 | 서로 다른 타입의 셀들을 포함하는 집적 회로, 그 설계 방법 및 설계 시스템 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10817640B2 (ko) |
KR (1) | KR102539066B1 (ko) |
CN (1) | CN111241769B (ko) |
TW (1) | TWI798448B (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10868538B1 (en) * | 2019-07-29 | 2020-12-15 | Taiwan Semiconductor Manufacturing Company Ltd. | Logic cell structure and integrated circuit with the logic cell structure |
KR20210029966A (ko) * | 2019-09-09 | 2021-03-17 | 삼성전자주식회사 | 집적된 표준 셀 구조를 포함하는 집적 회로 |
US11709985B2 (en) * | 2020-01-22 | 2023-07-25 | Taiwan Semiconductor Manufacturing Company Ltd. | Semiconductor device including standard cells with combined active region |
US11803682B2 (en) * | 2020-01-22 | 2023-10-31 | Taiwan Semiconductor Manufacturing Company Ltd. | Semiconductor device including standard cell having split portions |
US11132486B1 (en) | 2020-05-21 | 2021-09-28 | Taiwan Semiconductor Manufacturing Company, Ltd. | Systems and methods for multi-bit memory with embedded logic |
US11347920B2 (en) * | 2020-10-21 | 2022-05-31 | Taiwan Semiconductor Manufacturing Company, Ltd. | Circuit synthesis optimization for implements on integrated circuit |
KR20220058783A (ko) | 2020-10-30 | 2022-05-10 | 삼성전자주식회사 | 반도체 장치 |
CN112507648B (zh) * | 2020-11-30 | 2022-01-04 | 深圳比特微电子科技有限公司 | 版图设计的方法和集成电路、运算芯片和计算设备 |
CN113177380B (zh) * | 2021-04-29 | 2023-05-23 | 飞腾信息技术有限公司 | 一种基于dummy的时序优化方法 |
US20230281366A1 (en) * | 2022-03-02 | 2023-09-07 | Taiwan Semiconductor Manufacturing Company, Ltd. | Apparatus and method of optimizing an integrtted circuit design |
CN118116922A (zh) * | 2022-11-30 | 2024-05-31 | 华为技术有限公司 | 集成电路及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140327146A1 (en) | 2013-05-01 | 2014-11-06 | Globalfoundries Inc | Methods for improving double patterning route efficiency |
US20170083653A1 (en) * | 2015-09-17 | 2017-03-23 | Qualcomm Incorporated | Hybrid diffusion standard library cells, and related systems and methods |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446248B1 (en) | 2000-01-28 | 2002-09-03 | Lsi Logic Corporation | Spare cells placement methodology |
US7444609B2 (en) | 2006-06-29 | 2008-10-28 | International Business Machines Corporation | Method of optimizing customizable filler cells in an integrated circuit physical design process |
US9047433B2 (en) * | 2013-02-27 | 2015-06-02 | Taiwan Semiconductor Manufacturing Company, Ltd. | Cell and macro placement on fin grid |
US9852253B2 (en) * | 2013-05-17 | 2017-12-26 | Cornell University | Automated layout for integrated circuits with nonstandard cells |
US9123721B2 (en) * | 2013-11-22 | 2015-09-01 | Qualcomm Incorporated | Placement of monolithic inter-tier vias (MIVs) within monolithic three dimensional (3D) integrated circuits (ICs) (3DICs) using clustering to increase usable whitespace |
US9734276B2 (en) * | 2014-10-22 | 2017-08-15 | Samsung Electronics Co., Ltd. | Integrated circuit and method of designing layout of the same |
US9991249B2 (en) * | 2016-02-11 | 2018-06-05 | Samsung Electronics Co., Ltd. | Integrated circuit and computer-implemented method of manufacturing the same |
WO2017169489A1 (ja) * | 2016-03-30 | 2017-10-05 | 本田技研工業株式会社 | インストルメントパネルの成形方法、インストルメントパネル、および、インストルメントパネルの成形装置 |
US10394299B2 (en) * | 2016-05-23 | 2019-08-27 | Qualcomm Incorporated | Systems and methods to separate power domains in a processing device |
US10236302B2 (en) * | 2016-06-22 | 2019-03-19 | Qualcomm Incorporated | Standard cell architecture for diffusion based on fin count |
US10134734B2 (en) | 2016-06-30 | 2018-11-20 | Qualcomm Incorporated | Fin field effect transistor (FET) (FinFET) complementary metal oxide semiconductor (CMOS) circuits employing single and double diffusion breaks for increased performance |
US9977854B2 (en) * | 2016-07-12 | 2018-05-22 | Ati Technologies Ulc | Integrated circuit implementing standard cells with metal layer segments extending out of cell boundary |
KR20180028252A (ko) | 2016-09-08 | 2018-03-16 | 삼성전자주식회사 | 집적 회로 설계 시스템 및 집적 회로의 제조 방법 |
KR102678555B1 (ko) * | 2016-10-05 | 2024-06-26 | 삼성전자주식회사 | 변형 셀을 포함하는 집적 회로 및 그 설계 방법 |
KR102633138B1 (ko) * | 2016-10-17 | 2024-02-02 | 삼성전자주식회사 | 집적 회로 및 반도체 장치 |
KR102636095B1 (ko) * | 2016-12-16 | 2024-02-13 | 삼성전자주식회사 | 쿼드러플 패터닝 리소그래피를 위한 집적 회로, 상기 집적 회로의 설계를 위한 컴퓨팅 시스템 및 컴퓨터 구현 방법 |
US10599130B2 (en) | 2017-01-26 | 2020-03-24 | Samsung Electronics Co., Ltd. | Method and system for manufacturing an integrated circuit in consideration of a local layout effect |
US10678973B2 (en) * | 2017-03-15 | 2020-06-09 | Taiwan Semiconductor Manufacturing Co., Ltd. | Machine-learning design enablement platform |
JP2018174231A (ja) * | 2017-03-31 | 2018-11-08 | ソニーセミコンダクタソリューションズ株式会社 | 固体撮像装置、および電子機器 |
US10579771B2 (en) * | 2017-06-14 | 2020-03-03 | Samsung Electronics Co., Ltd. | Integrated circuit including standard cells overlapping each other and method of generating layout of the integrated circuit |
KR102390096B1 (ko) * | 2018-02-28 | 2022-04-26 | 삼성전자주식회사 | 반도체 소자 |
US10678991B2 (en) * | 2018-06-27 | 2020-06-09 | Taiwan Semiconductor Manufacturing Company Ltd. | Integrated device and method of forming the same |
KR102599048B1 (ko) * | 2018-08-16 | 2023-11-06 | 삼성전자주식회사 | 표준 셀을 포함하는 집적 회로 및 이를 제조하기 위한 방법 |
-
2018
- 2018-11-09 KR KR1020180137000A patent/KR102539066B1/ko active IP Right Grant
-
2019
- 2019-05-23 US US16/420,721 patent/US10817640B2/en active Active
- 2019-06-10 TW TW108119875A patent/TWI798448B/zh active
- 2019-08-29 CN CN201910811343.9A patent/CN111241769B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140327146A1 (en) | 2013-05-01 | 2014-11-06 | Globalfoundries Inc | Methods for improving double patterning route efficiency |
US20170083653A1 (en) * | 2015-09-17 | 2017-03-23 | Qualcomm Incorporated | Hybrid diffusion standard library cells, and related systems and methods |
Also Published As
Publication number | Publication date |
---|---|
CN111241769A (zh) | 2020-06-05 |
US10817640B2 (en) | 2020-10-27 |
US20200151298A1 (en) | 2020-05-14 |
TW202018547A (zh) | 2020-05-16 |
CN111241769B (zh) | 2024-07-16 |
KR20200053757A (ko) | 2020-05-19 |
TWI798448B (zh) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102539066B1 (ko) | 서로 다른 타입의 셀들을 포함하는 집적 회로, 그 설계 방법 및 설계 시스템 | |
US6305001B1 (en) | Clock distribution network planning and method therefor | |
US6598215B2 (en) | Datapath design methodology and routing apparatus | |
KR102514044B1 (ko) | 집적 회로 및 집적 회로의 설계 방법 | |
US11030383B2 (en) | Integrated device and method of forming the same | |
US8365120B2 (en) | Resolving global coupling timing and slew violations for buffer-dominated designs | |
US20060064653A1 (en) | Automatic layout yield improvement tool for replacing vias with redundant vias through novel geotopological layout in post-layout optimization | |
Kim et al. | Boosting pin accessibility through cell layout topology diversification | |
US20210349845A1 (en) | Interconnect Repeater Planning and Implementation Flow for Abutting Designs | |
US10977415B2 (en) | Integrated device and method of forming the same | |
US20230237236A1 (en) | Method of designing layout of semiconductor integrated circuit, method of designing and manufacturing semiconductor integrated circuit using the same, and design system performing same | |
US8032855B1 (en) | Method and apparatus for performing incremental placement on a structured application specific integrated circuit | |
US20210264081A1 (en) | Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same | |
US9454632B1 (en) | Context specific spare cell determination during physical design | |
Lin et al. | Double-via-driven standard cell library design | |
US20050125758A1 (en) | Positioning of inverting buffers in a netlist | |
US20230267261A1 (en) | Design system, design method and method of manufacture of semiconductor device | |
Zunin et al. | CAD Architecture for Expansion of WSL-Based Combinational Circuits Dataset | |
US9189583B2 (en) | Look-up based buffer tree synthesis | |
Thorolfsson et al. | Low-power hypercube divided memory FFT engine using 3D integration | |
KR102434992B1 (ko) | 로컬 레이아웃 효과를 고려하여 집적 회로를 제조하는 방법 및 시스템 | |
Loh | Back End Design (Automatic Place and Route) of RISC-V Processor using IC Compiler | |
Pu et al. | Lesyn: Placement-Aware Logic Resynthesis for Non-Integer Multiple-Cell-Height Designs | |
Talla et al. | ASIC Design of High-Performance MIPS Processor Using Aprisa | |
Lapshin Ivanov | Fabricación de Core RISC-V por medio de Herramientas Open-Source |
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 |