KR101724261B1 - 표준 셀들과 적어도 한 개의 메모리 인스턴스를 포함하는 집적회로의 레이아웃 생성방법 - Google Patents

표준 셀들과 적어도 한 개의 메모리 인스턴스를 포함하는 집적회로의 레이아웃 생성방법 Download PDF

Info

Publication number
KR101724261B1
KR101724261B1 KR1020130117666A KR20130117666A KR101724261B1 KR 101724261 B1 KR101724261 B1 KR 101724261B1 KR 1020130117666 A KR1020130117666 A KR 1020130117666A KR 20130117666 A KR20130117666 A KR 20130117666A KR 101724261 B1 KR101724261 B1 KR 101724261B1
Authority
KR
South Korea
Prior art keywords
memory
instance
compiler
polysilicon
standard cell
Prior art date
Application number
KR1020130117666A
Other languages
English (en)
Other versions
KR20140051774A (ko
Inventor
구스 융
케이드 마틴 제이 킨
주니어 말린 웨인 프레드릭
Original Assignee
에이알엠 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에이알엠 리미티드 filed Critical 에이알엠 리미티드
Publication of KR20140051774A publication Critical patent/KR20140051774A/ko
Application granted granted Critical
Publication of KR101724261B1 publication Critical patent/KR101724261B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

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)
  • Architecture (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

집적회로의 기능 부품들을 정의하는 표준 셀들과 집적회로의 메모리 소자를 정의하기 위해 메모리 컴파일러에 의해 생성된 적어도 한 개의 메모리 인스턴스를 포함하는 집적회로의 레이아웃을 생성하는 방법이 개시된다. 메모리 컴파일러에는, 회로 소자들의 정의와 이들 회로 소자들을 결합하여 메모리 아키텍처를 따른 메모리 인스턴스들을 생성하는 데이터 정의 규칙들을 명시하는 메모리 아키텍처가 설치된다. 원하는 메모리 인스턴스의 1개 이상의 특성을 명시하는 입력 데이터가 수신된다. 그후, 메모리 컴파일러를 사용하여, 입력 데이터에 근거하여 명시된 메모리 아키텍처를 이용하여 원하는 메모리 인스턴스를 생성한다. 표준 셀 라이브러리가 제공되는데, 이때 표준 셀 라이브러리 내부의 각각의 표준 셀은 대응하는 기능 부품을 정의한다. 집적 증진 동작 모드에서, 메모리 컴파일러는 표준 셀 라이브러리의 적어도 한 개의 특성을 참조함으로써, 원하는 메모리 인스턴스가 레이아웃 내부에 집적될 때 이 원하는 메모리 인스턴스와 주변의 표준 셀들 사이의 경계와 관련된 면적 오버헤드를 줄이는 형태로 원하는 메모리 인스턴스를 생성한다. 그후, 집적회로에 의해 필요한 기능 부품들을 제공하기 위해 표준 셀 라이브러리에서 선택된 표준 셀들로 표준 셀 행들을 채우고, 레이아웃 내부에 메모리 컴파일러에 의해 제공된 원하는 메모리 인스턴스를 집적함으로써 레이아웃을 생성한다. 이와 같은 접근방법은 집적회로의 레이아웃을 생성하기 위한 면적 효율적인 메카니즘을 제공한다.

Description

표준 셀들과 적어도 한 개의 메모리 인스턴스를 포함하는 집적회로의 레이아웃 생성방법{A METHOD OF GENERATING A LAYOUT OF AN INTEGRATED CIRCUIT COMPRISING BOTH STANDARD CELLS AND AT LEAST ONE MEMORY INSTANCE}
본 발명은, 집적회로의 기능 부품들을 정의하는 표준 셀들과 집적회로의 메모리 소자를 정의하기 위해 메모리 컴파일러에 의해 생성된 적어도 한 개의 메모리 인스턴스(instance)를 포함하는 집적회로의 레이아웃 생성 기술에 관한 것이다.
집적회로가 온칩 메모리 소자를 포함하는 것이 점점 더 일반화되고 있는데, 이것의 특정한 예로는 집적회로가 시스템 온 칩(SoC)을 제공하는 것을 들 수 있다.
메모리 소자를 설계할 때, 취할 수 있는 2가지 일반적인 접근방법이 존재한다. 첫 번째 접근방법에 따르면, 메모리 소자가 특정한 구현을 위해 주문형으로 설계될 수 있는데, 이것은 효율적인 설계를 제공한다. 그러나, 이와 같은 접근방법의 단점은, 다른 구현에서는 이 설계를 재사용할 가능성이 거의 없으므로, 이와 같은 접근방법이 비용이 많이 든다고 하는 것이다. 또 다른 접근방법에 따르면, 회로 요소들의 정의와 이들 회로 요소들을 결합하는 데이터 정의 규칙들을 명시하는 메모리 아키텍처가 개발되고, 그후 메모리 컴파일러 도구를 사용하여 이 메모리 아키텍처의 메모리 인스턴스를 생성하여(즉, 특정한 인스턴스 생성(instantiation)) 이 메모리 소자의 명시된 특성을 고려하여 필요한 메모리의 설계를 작성한다. 메모리 컴파일러를 사용하여 메모리 인스턴스를 생성하는 이와 같은 후자의 접근방법은, 일단 메모리 아키텍처가 정의되면, 특정한 시스템에서의 메모리 소자의 요구사항을 고려하면서, 매우 다양한 다른 메모리 소자의 인스턴스가 용이하게 작성될 수 있기 때문에, 현재는 매우 널리 사용되는 기술이다.
따라서, 1개 이상의 온칩 메모리 소자를 포함하는 SoC를 설계할 때, 메모리 컴파일러에 의해 필요한 메모리 인스턴스(들)가 생성된 후, 각각의 생성된 메모리 인스턴스가 집적회로의 레이아웃을 작성하는데 사용되는 배치 및 루트 도구(place and route tool)에게 제공되는 것이 일반적이다.
배치 및 루트 도구는, (예를 들어 게이트 레벨 네트 리스트(net list)의 형태를 갖거나, 또는 베리로그(Verilog) 모델에 의해 주어지는 것과 같은 설계의 레지스터 전송 레벨(Register Transfer Level: RTL) 고차 레벨 표현의 형태를 갖는) 계획된 집적회로의 기능 설계와, 표준 셀들의 세트(표준 셀들은 기능 부품들을 정의하고 기능 설계에 따라 집적회로의 레이아웃을 조립하는 "빌딩 블록(building blocks)"이다)을 제공하는 셀 라이브러리를 사용하여, 집적회로의 레이아웃을 작성하는 자동화 도구이다. 집적회로가 1개 이상의 메모리 소자들도 포함해야 하는 경우에는, 배치 및 루트 도구가 각각의 이와 같은 메모리 소자를 표시하는 메모리 인스턴스를 레이아웃 내부에 배치한 후 메모리 인스턴스(들) 주위에 필요한 표준 셀들을 배치하여, 명시된 기능 설계에 따라 집적회로의 레이아웃을 생성할 필요가 있다.
그러나, 이와 같은 접근방법은 공간의 사용에 있어서 비효율을 초래하여, 유용한 기능에 기여하지 않는 1개 이상의 영역을 포함하는 레이아웃을 생성할 수도 있다. 이것은, 예를 들면, 표준 셀을 수용하는데 불충분한 크기를 갖는 쓸데없는 공간이 메모리 인스턴스의 경계에 존재하는 것에 기인하거나, 또는 집적회로 레이아웃의 폴리실리콘층에서 필요한 것과 같이, 메모리와 표준 셀들 사이의 계면에 분리 구조를 설치할 필요가 있는 것에 기인한다.
이와 같은 비효율적인 공간 이용은 집적회로에 필요한 전체 영역에 기여하며, 일반적으로 집적회로의 면적이 클수록, 집적회로의 제조에 관여한 비용이 더 커진다.
집적회로 내부에 더 많은 메모리 인스턴스들이 포함됨에 따라, 개별 메모리 인스턴스들이 더 작아짐에 따라(이때 쓸데없는 공간은 메모리 인스턴스와 관련된 전체 영역의 더 큰 부분이 된다), 및/또는 최근의 데이터 처리 시스템에서의 프로세스 외형(process geometries)이 줄어듦에 따라(프로세스 외형이 줄어듦에 따라 폴리실리콘층에 있어서 메모리 인스턴스와 표준 셀들 사이에 필요한 분리 구조가 비교적 더 커지게 되므로), 이와 같은 비효율적인 공간 사용이 비용에 미치는 영향이 더욱 더 심각해진다.
따라서, 레이아웃이 표준 셀들과 메모리 컴파일러에 의해 생성된 적어도 한 개의 메모리 인스턴스를 포함하는 상황에서 집적회로의 레이아웃을 생성하는 향상된 기술을 제공하는 것이 바람직할 것이다.
일면에 따르면, 본 발명은, 집적회로의 기능 부품들을 정의하는 표준 셀들과, 상기 집적회로의 메모리 소자를 정의하기 위해 메모리 컴파일러에 의해 생성된 적어도 한 개의 메모리 인스턴스를 포함하는 상기 집적회로의 레이아웃 생성방법으로서, 회로 소자들의 정의와, 메모리 아키텍처를 따르는 메모리 인스턴스들을 생성하기 위해 이들 회로 소자들을 결합하는 데이터 정의 규칙들을 명시하는 상기 메모리 아키텍처를 갖는 메모리 컴파일러를 제공하는 단계와, 원하는 메모리 인스턴스의 한 개 이상의 특성들을 명시하는 입력 데이터를 수신하는 단계와, 상기 메모리 컴파일러를 사용하여 상기 원하는 메모리 인스턴스가 상기 메모리 아키텍처를 따르도록 상기 입력 데이터에 근거하여 상기 원하는 메모리 인스턴스를 생성하는 단계와, 표준 셀 라이브러리 내부의 각각의 표준 셀이 대응하는 기능 부품을 정의하는 상기 표준 셀 라이브러리를 제공하는 단계와, 상기 메모리 컴파일러의 집적 증진(integration enhancement) 동작 모드에서, 상기 메모리 컴파일러가 상기 표준 셀 라이브러리의 적어도 한 개의 특성을 참조하게 함으로써, 상기 원하는 메모리 인스턴스가 레이아웃 내부에 집적될 때 상기 원하는 메모리 인스턴스와 주변의 표준 셀들 사이의 경계와 관련된 면적 오버헤드(area overhead)를 줄이는 형태로 상기 원하는 메모리 인스턴스를 생성하는 단계와, 상기 집적회로에 의해 필요한 상기 기능 부품들을 제공하기 위해 제 1 방향으로 뻗는 표준 셀 행들을 상기 표준 셀 라이브러리에서 선택된 표준 셀들로 채움으로써(populating) 상기 레이아웃을 생성하고, 상기 레이아웃 내부에 상기 메모리 컴파일러에 의해 제공된 상기 원하는 메모리 인스턴스를 집적하는 단계를 포함하는, 집적회로의 레이아웃 생성방법을 제공한다.
본 발명에 따르면, 원하는 메모리 인스턴스를 생성하기 전에 메모리 컴파일러가 표준 셀 라이브러리의 적어도 한 개의 특성을 참조하는 집적 증진 동작 모드가 메모리 컴파일러에게 제공된다. 그후, 이 표준 셀 라이브러리의 적어도 한 개의 특성을 고려하여, 이 원하는 메모리 인스턴스가 레이아웃 내부에 집적될 때 원하는 메모리 인스턴스와 주변의 표준 셀들 사이의 경계와 관련된 면적 오버헤드를 줄이는 형태로 메모리 컴파일러가 원하는 메모리 인스턴스를 생성할 수 있다.
메모리 컴파일러가 참조할 수 있는 표준 셀 라이브러리의 다수의 특성들이 존재한다. 예를 들어, 일 실시예에서는, 표준 셀 라이브러리의 표준 셀들의 설계가 표준 셀들과 메모리 인스턴스의 가장자리 사이에 빈 공간을 허용하지 않고, 그 대신에 표준 셀들이 메모리 인스턴스의 가장자리에 바로 인접하도록 요구하는 것일 수 있다. 이 시나리오에서는, 메모리 컴파일러가 이 특성을 고려하여, 폴리실리콘층 내부에서 원하는 메모리 인스턴스를 인접한 표준 셀들로부터 분리하는데 필요한 폴리실리콘 계면 영역의 폭을 줄이는 형태로 원하는 메모리 인스턴스를 생성할 수 있다. 다른 실시예를 생각하면, 메모리 컴파일러에 의해 참조된 표준 셀 라이브러리의 적어도 한 개의 특성은 표준 셀 행들에 대해 명시된 높이이어도 되고, 이 특성을 고려하여, 원하는 메모리 인스턴스의 폭이 행 높이의 정수배가 되도록 제약을 받음으로써 이와 같이 구성하지 않았다면 존재할지도 모르는 쓸데없는 공간을 제거하는 형태로 메모리 컴파일러가 원하는 메모리 인스턴스를 생성하도록 구성될 수 있다.
전술한 표준 셀 라이브러리의 특성은 컴파일러의 동작중에 메모리 컴파일러에 대한 입력으로서 주어져도 되지만, 다른 실시예에서는, 이 특성이 해석되고 메모리 컴파일러 및 표준 셀 라이브러리 내부에 설계됨으로써, 동작중에 메모리 컴파일러에의 이와 같은 입력의 필요성을 없애도 된다.
집적 증진 동작 모드는, 메모리 컴파일러의 유일한 동작 모드이어도 되고, 또는 메모리 컴파일러가 사용가능한 다수의 동작 모드들 중에서 한가지이어도 된다.
일 실시예에서는, 상기 방법은, 상기 원하는 메모리 인스턴스를 생성할 때 상기 메모리 컴파일러가 상기 표준 셀 라이브러리의 상기 적어도 한 개의 특성을 참조하지 않음으로써, 상기 메모리 컴파일러가 상기 집적 증진 동작 모드에서 동작될 때의 상기 경계와 관련된 면적 오버헤드와 비교할 때, 상기 원하는 메모리 인스턴스가 상기 레이아웃 내부에 집적될 때 상기 경계와 관련된 상기 면적 오버헤드의 증가를 일으키는 적어도 한 개의 추가적인 동작 모드를 상기 메모리 컴파일러에 제공하는 단계를 더 포함한다. 적어도 한 개의 추가적인 동작 모드를 제공함으로써, 하위 호환성이 확보되어, 예를 들어, 표준 셀 라이브러리의 특성들이 메모리 컴파일러가 집적 증진 동작 모드를 사용하도록 허용하지 않는 상황에서, 메모리 컴파일러가 사용될 수 있도록 할 수 있다.
일 실시예에서, 상기 레이아웃은 폴리실리콘층을 통해 제 2 방향으로 뻗는 복수의 폴리실리콘 트랙들을 포함하는 상기 폴리실리콘층을 구비하고, 상기 제 2 방향은 상기 표준 셀 행들이 뻗는 제 1 방향에 대해 수직이다. 폴리실리콘층은 인접한 표준 셀들로부터 원하는 메모리 인스턴스를 분리하는 적어도 한 개의 폴리실리콘 계면 영역을 구비하고, 각각의 상기 적어도 한 개의 폴리실리콘 계면 영역은 상기 제 1 방향으로 뻗는 분리 거리를 제공한다. 상기 집적 증진 동작 모드에서 메모리 컴파일러가 참조하는 표준 셀 라이브러리의 상기한 적어도 한 개의 특성은, 표준 셀들이 상기 제 2 방향으로 뻗는 상기 원하는 메모리 인스턴스의 가장자리에 바로 인접하도록 이 표준 셀 라이브러리의 표준 셀들의 설계가 요구하는 것을 표시하는 특성이어도 된다. 이와 같은 경우에는, 메모리 컴파일러의 상기 집적 증진 동작 모드에서, 상기 원하는 메모리 인스턴스가 레이아웃 내부에 집적될 때 폴리실리콘 계면 영역의 분리 거리를 줄이는 형태로 메모리 컴파일러가 상기 원하는 메모리 인스턴스를 생성한다.
폴리실리콘 계면 영역은 다양한 형태를 취할 수 있다. 그러나, 일 실시예에서, 각각의 상기 적어도 한 개의 폴리실리콘 계면 영역은 상기 제 2 방향으로 뻗는 더미 폴리실리콘 트랙들을 구비하고, 메모리 컴파일러의 상기 집적 증진 동작 모드에서, 상기 메모리 컴파일러는, 폴리실리콘 계면 영역 내부의 더미 폴리실리콘 트랙들의 수를 줄이는 형태로 상기 원하는 메모리 인스턴스를 생성한다. 따라서, 이와 같은 실시예에서는, 표준 셀들이 제 2 방향으로 뻗는 원하는 메모리 인스턴스의 가장자리에 바로 인접하는 것이 필요하도록 표준 셀 라이브러리가 표준 셀들의 설계를 제한한다는 것이 알려지므로, 메모리 컴파일러가 원하는 메모리 인스턴스와 관련하여 생성할 필요가 있는 더미 폴리실리콘 트랙들의 수가 줄어들 수 있어, 폴리실리콘 계면 영역의 분리 거리의 전체적인 감소를 제공할 수 있다.
한가지 특정한 실시예에서, 각각의 상기 적어도 한 개의 폴리실리콘 계면 영역은 상기 원하는 메모리 인스턴스와 관련된 제 1 계면 서브영역과 상기 표준 셀들과 관련된 제 2 계면 서브 영역을 구비한다. 표준 셀들이 상기 제 2 방향으로 뻗는 원하는 메모리 인스턴스의 가장자리에 바로 인접하도록 표준 셀 라이브러리의 표준 셀들의 설계가 요구하는 것을 표시하는 상기 특성은, 제 2 게면 서브영역에 설치된 더미 폴리실리콘 트랙들의 수의 감소를 식별하는 특성이다. 메모리 컴파일러의 집적 증진 동작모드에서, 원하는 메모리 인스턴스를 생성할 때 메모리 컴파일러가 표준 셀 라이브러리의 상기 적어도 한 개의 특성을 참조하지 않는 적어도 한 개의 추가 동작 모드에서 메모리 컴파일러가 동작하였더라면 설치되었을 제 1 계면 서브영역 내부의 더미 폴리실리콘 트랙들의 수보다 적은 수의 더미 폴리실리콘 트랙들을 갖는 형태로, 상기 메모리 컴파일러가 원하는 메모리 인스턴스를 생성한다. 따라서, 이와 같은 구성에서는, 표준 셀 설계에 대해 제약을 가한 후, 메모리 컴파일러를 이용하여 메모리 인스턴스들을 생성할 때 이 제약을 고려함으로써, 제 1 게면 서브영역 및 제 2 계면 서브영역 모두에서의 더미 폴리실리콘 트랙들의 수의 감소를 달성함으로써, 집적회로의 레이아웃에 있어서 상당한 면적 절감을 제공할 수 있다.
더미 폴리실리콘 트랙들은 다양한 형태를 취할 수 있다. 상기 적어도 한 개의 추가 동작 모드에서, 제 1 계면 서브영역은, 상기 더미 폴리실리콘 트랙들로서, 적어도 한 개의 지지 더미 트랙과, 각각의 지지 더미 트랙의 두께보다 큰 상기 제 1 방향으로의 두께를 갖는 적어도 한 개의 종단(terminating) 더미 트랙을 구비한다. 그러나, 메모리 컴파일러의 상기 집적 증진 동작 모드에서는, 제 1 계면 서브영역이 종단 더미 트랙을 포함하지 않는 형태로 상기 메모리 컴파일러가 원하는 메모리 인스턴스를 생성한다. 종단 더미 트랙을 제거할 수 있는 능력은 상당한 공간 절감을 발생한다. 한가지 특정한 실시예에서는, 제 2 계면 서브영역도 종단 더미 트랙을 포함하지 않음으로써, 공간 절감을 더욱 더 향상시킨다.
다수의 레이아웃에 있어서, 원하는 메모리 인스턴스와 관련된 폴리실리콘 층의 부분 내부의 폴리실리콘 트랙들의 피치 간격("폴리피치(polypitch)"라고도 한다)은 표준 셀들과 관련된 폴리실리콘 층의 부분들 내부의 폴리실리콘 트랙들의 폴리피치와 다르다. 그러나, 일 실시예에서는, 이들 두 개의 부분의 폴리피치가 동일하도록 구성되고, 이 실시예에서는, 메모리 컴파일러가 집적 증진 동작 모드에서 동작하고 있을 때, 각각의 폴리실리콘 계면 영역에 있는 지지 더미 트랙들의 수를 추가로 줄이는 형태로 원하는 메모리 인스턴스를 생성할 수 있다. 한가지 특정한 실시예에서, 이와 같은 접근방법은, 각각의 폴리실리콘 계면 영역 내부에 필요한 단지 한 개의 지지 더미 트랙을 발생하여도 된다.
메모리 인스턴스가 표준 셀 행들의 길이를 따라 도중에 배치됨으로써 다수의 표준 셀 행들을 2개의 부분으로 분할하는 실시예들에서는, 제 1 폴리실리콘 계면 영역이 원하는 메모리 인스턴스의 제 1 측에 형성되고, 제 2 폴리실리콘 계면 영역이 원하는 메모리 인스턴스의 대향 측에 형성되고, 상기 제 1 측 및 대향 측이 제 2 방향으로 뻗는다. 따라서, 이와 같은 실시예들에서는, 2개의 폴리실리콘 계면 영역들과 관련하여 전술한 공간 절감이 실현될 수 있다.
한가지 특정한 실시예에서는, 표준 셀 행들 내부에서 폴리실리콘 트랙들이 뻗는 방향과 비교할 때 폴리실리콘 트랙들이 메모리 인스턴스의 설계 내에서 뻗는 방식으로 인해, 레이아웃 내부에서의 배치 이전에 메모리 인스턴스가 90도 회전함으로써, 원하는 메모리 인스턴스의 제 1 측이 메모리 인스턴스의 상단을 구성하고 대향측이 메모리 인스턴스의 바닥을 구성한다. 이에 따라, 메모리 인스턴스 내부의 메모리 셀들의 행들이 제 2 방향을 따라, 즉 표준 셀 행들에 대해 접선방향으로, 그리고 폴리실리콘 트랙들과 평행하게 뻗는다.
표준 셀 라이브러리의 전술한 특성을 고려한 메모리 컴파일러에 대한 추가사항으로서, 또는 이에 대한 대안으로서, 메모리 컴파일러는 표준 셀 라이브러리에 의해 명시된 행 높이를 고려하여도 된다. 특히, 일 실시예에서는, 표준 셀 행들이 상기 제 1 방향에 수직인 제 2 방향으로 뻗는 행 높이를 갖고, 상기 행 높이는 표준 셀 라이브러리에 의해 정의된다. 상기 집적 증진 동작 모드에서 상기 메모리 컴파일러가 참조하는 표준 셀 라이브러리의 적어도 한가지 특성은 상기 행 높이이고, 메모리 컴파일러의 상기 집적 증진 동작 모드에서, 상기 제 2 방향으로의 원하는 메모리 인스턴스의 폭이 행 높이의 정수배가 되도록 제약을 받는 형태로 메모리 컴파일러가 원하는 메모리 인스턴스를 생성한다.
제 2 방향으로의 원하는 메모리 인스턴스의 폭이 행 높이의 정수배가 되도록 메모리 컴파일러가 원하는 메모리 인스턴스에 대해 가할 수 있는 다수의 방법이 존재한다. 일 실시예에서, 메모리 인스턴스는 적어도 한 개의 메모리 어레이와 각각의 메모리 어레이에 접속된 복수의 로직회로들을 구비하고, 집적 증진 동작 모드에서, 메모리 컴파일러는 제 2 방향으로의 각각의 메모리 어레이의 폭이 행 높이의 정수배가 되도록 제약을 가한다.
한가지 특정한 실시예에서, 제 2 방향으로의 각 메모리 어레이의 폭은 메모리 어레이의 각 행 내부에 설치된 메모리 셀들의 수에 의해 좌우되고, 집적 증진 동작 모드에서, 상기 메모리 컴파일러는, 상기 제 2 방향으로의 각 메모리 어레이의 폭이 행 높이의 상기 정수배가 되도록 각 메모리 어레이의 각 행 내부에 설치된 메모리 셀들의 수에 대해 제약을 가한다.
각각의 행 내부에 설치된 메모리 셀들의 수에 대해 제약을 가하는 다수의 방법이 존재한다. 예를 들어, 일 실시예에서는, 제 2 방향으로의 메모리 어레이의 폭이 행 높이의 정수배가 되게 각 행 내부에 설치된 메모리 셀들의 전체 수가 보장하도록, 메모리 어레이 내부에 기억될 데이터의 가능한 워드 크기들이 제약을 받을 수 있다. 특히, 각각의 행은 소정 수의 워드들을 기억하도록 제약을 받으며, 각각의 워드는 복수의 비트를 포함하고, 각각의 비트는 메모리 셀 내부에 기억된다. 워드 크기의 적절한 제약에 의해, 메모리 어레이의 폭이 행 높이의 정수배와 동일하도록 보장하는 단위들로만 각 행에 있는 메모리 셀들의 수가 증가할 수 있도록 이 메모리 셀들의 수에 대해 제약을 가하게 된다. 마찬가지로, 각 행에 있는 메모리 셀들의 수가 행 높이의 정수배가 되도록 제약을 받는 단위들로만 커질 수 있도록 보장하기 위해 메모리 어레이의 다중화(multiplexing) 옵션이 제약을 받을 수 있다. 예를 들어, 메모리 설계가 MUX-4 구성을 갖는 경우에는, 각 행의 길이가 한번에 4 메모리 셀만큼만 증가할 수 있으며, 메모리 설계가 MUX-8 구성을 갖고 있으면, 각 행의 길이가 한번에 8 메모리 셀만큼만 증가할 수 있다. 다중화 구성 및/또는 가능한 워드 크기에 제약을 가함으로써, 행 높이의 배수를 따르는 증분만큼만 행들이 증가할 수 있도록 보장하는 것이 가능하다.
이와 달리 또는 이에 덧붙여, 메모리 컴파일러가 각각의 메모리 어레이에 접속된 복수의 로직회로들의 폭에 대해 제약을 가함으로써, 이들 로직회로들이 행 높이의 정수배가 되도록 제약을 받는 제 2 방향으로의 폭을 가져도 된다.
메모리 어레이들과 이들 메모리 어레이에 접속된 관련된 로직회로들 이외에, 메모리 인스턴스들이 가장자리 셀(edge cell)들을 포함하는 것이 알려져 있다. 일 실시예에서는, 집적 증진 동작 모드에서, 상기 제 2 방향으로의 원하는 메모리 인스턴스의 폭이 행 높이의 정수배가 되도록 제약을 받도록, 메모리 컴파일러가 상기 제 2 방향으로의 가장자리 셀들의 폭을 선택한다. 이와 같은 가장자리 셀 폭에 대한 제약은, 메모리 인스턴스의 폭이 행 높이의 정수배가 되도록 제약을 가하는 전술한 조치 대신에, 또는 이 조치에 덧붙여 사용될 수 있다.
제 2 면에 따르면, 본 발명은, 메모리 컴파일러 컴퓨터 프로그램과 관련된 메모리 아키텍처로부터 원하는 메모리 인스턴스를 생성하도록 컴퓨터를 제어하는 메모리 컴파일러 컴퓨터 프로그램을 기억한 기억매체로서, 상기 메모리 아키텍처는 회로 소자들의 정의와 이들 회로 소자들을 결합하기 위한 데이터 정의 규칙들을 명시하고, 상기 메모리 컴파일러 컴퓨터 프로그램은, 집적회로의 레이아웃 생성방법의 수행중에, 상기 레이아웃이 상기 집적회로의 기능 부품들을 정의하는 표준 셀들과 상기 집적회로의 메모리 소자를 정의하는 적어도 한 개의 메모리 인스턴스를 포함하는 경우에, 상기 메모리 컴파일러 프로그램이 상기 표준 셀들을 정의하는 표준 셀 라이브러리의 적어도 한 개의 특성을 참조하도록 구성됨으로써, 상기 원하는 메모리 인스턴스가 상기 레이아웃 내부에 집적될 때 상기 원하는 메모리 인스턴스와 주변의 표준 셀들 사이의 경계와 관련된 면적 오버헤드를 줄이는 형태로 상기 원하는 메모리 인스턴스를 생성하는 집적 증진 동작 모드를 갖는, 기억매체를 제공한다. 일 실시예에서, 상기 기억매체는 비일시적(non-transitory) 기억매체의 형태를 취할 수 있다.
이하, 다음의 첨부도면에 도시된 실시예를 참조하여 본 발명을 더욱 더 상세히 설명한다:
도 1은 집적회로를 구성하는데 사용된 층들을 개략적으로 나타낸 도면이고,
도 2a는 레이아웃을 생성하는 종래기술에 따른 집적회로 레이아웃의 폴리실리콘층 내부에서 메모리 인스턴스가 차지하는 영역을 개략적으로 나타낸 것이고,
도 2b는 도 2a의 폴리실리콘층 내부에 폴리실리콘 트랙들이 형성되는 방법을 개략적으로 나타낸 것이고,
도 3은 공지된 종래기술에 따른 도 2a에 도시된 폴리실리콘 계면 부분들 내부에 필요한 종단 및 지지 폴리실리콘 트랙들을 나타낸 것이고,
도 4는 집적회로의 레이아웃을 생성하기 위한 일 실시예의 레이아웃 생성 시스템을 개략적으로 나타낸 블록도이고,
도 5는 일 실시예에 따른 도 4의 레이아웃 생성 시스템의 동작을 나타낸 흐름도이고,
도 6a는 종래기술의 인접 표준 셀들을 나타낸 것이고, 도 6b는 일 실시예에서 사용된 대응하는 인접 표준 셀들을 나타낸 것이다.
도 7은 일 실시예에 따른 폴리실리콘 계면 부분 내부에 필요한 폴리실리콘 트랙들을 나타낸 것이고,
도 8은 메모리 인스턴스 영역과 표준 셀 영역 모두에서 폴리피치가 동일한 일 실시예에 따른, 폴리실리콘층 내부의 표준 셀 영역으로부터 메모리 인스턴스 영역을 분리하는데 필요한 한 개의 지지 폴리실리콘 트랙을 나타낸 것이고,
도 9는 일 실시예에 따른 메모리 컴파일러에 의해 생성된 메모리 인스턴스의 구성을 개략적으로 나타낸 것이고,
도 10은 일 실시예에 따른 레이아웃 생성방법을 사용할 때 메모리 인스턴스가 집적회로 레이아웃의 폴리실리콘층 내부에서 차지하는 영역을 개략적으로 나타낸 것이고,
도 11은 적절한 컴퓨터 프로그램들이 실행되어 전술한 실시예들에 따라 집적회로의 레이아웃을 생성할 수 있는 컴퓨터 시스템을 나타낸 도면이다.
집적회로는, 도 1에 개략적으로 도시된 것과 같이, 실리콘 기판 등의 기판 위에 수립된 복수의 층들로 이루어진다. 특히, 1개 이상의 확산 영역들(15)이 기판(10) 내부 또는 기판 위에 형성되고, 그 위에는 폴리실리콘층(25)이 설치된다. 폴리실리콘층 내부에는, 복수의 폴리실리콘 스택들(20)이 형성된다. 도 1의 라벨이 붙여진 차원을 사용하면, 이들 트랙은 폴리실리콘층(25)을 통해 X 방향으로 뻗는다.
폴리실리콘층 위에는 금속 1(M1) 층(35)이 설치되며, 이 층은 일부 실시예에서는 1개 이상의 개재층(30)에 의해 폴리실리콘층(25)으로부터 분리되어도 된다. 한편, M1 층(35)은 1개 이상의 또 다른 개재층(40)에 의해 금속 2(M2) 층(45)으로부터 분리되고, 필요에 따라 이 개재층을 통해 비아가 형성되어도 된다. 집적회로의 레이아웃을 생성할 때, 이들 각 층의 레이아웃이 수립된다. 이하의 실시예들을 설명하기 위해, 폴리실리콘층(25)을 특별히 고찰하고, 특히 메모리 인스턴스와 이에 인접하는 표준 셀들 사이의 계면에서 발생하게 되는 면적 비효율을 줄이기 위해 집적회로의 레이아웃 생성중에 사용될 수 있는 다양한 공간 절감 조치들을 설명한다.
이와 같은 면적 비효율을 도 2a에 개략적으로 도시하였다. 도 2a에 도시된 것과 같이, 폴리실리콘층의 Y 차원으로 뻗어 다수의 표준 셀 행들(105)이 설치되어 있다. 폴리실리콘층(100) 내부에는, 복수의 폴리실리콘 트랙들이 X 차원으로 뻗어 설치되어 있다. 도 2b는 이들 트랙을 개략적으로 나타낸 것이다. 메모리 인스턴스(110)와 관련된 영역 내부에서, 폴리실리콘 트랙들(125)이 X 차원으로 메모리 인스턴스의 거의 전체 폭을 가로질러 뻗으며, 일반적으로 맨 끝에는 작은 갭이 존재하여 폴리실리콘 트랙들이 전체 폭을 뻗지는 않는다. 그러나, 사용된 프로세스 노드(process node)에 의존하여, 계면에서의 이들 폴리실리콘 트랙들이 전체 폭을 뻗을 수도 있다. 또한, 어떤 경우에는, 폴리실리콘 트랙들이 레이아웃에서 전체 폭에 걸쳐 이끌어지며, 이들 폴리실리콘 트랙들이 절단되어야 하는 위치를 표시하기 위해 추가의 층이 부가된다. 마찬가지로, 각각의 표준 셀 행 내부에는, 복수의 폴리실리콘 트랙들(130)이 설치되는데, 이들 폴리실리콘 트랙들로 도 2b에 개략적으로 도시되어 있다. 일반적으로, 이들 폴리실리콘 트랙들(130)은 거의 행 높이(107)의 거리만큼 X 차원으로 뻗지만, 각각의 단부에 작은 갭을 남겨, 한 개의 표준 셀 행에 있는 폴리실리콘 트랙들이 인접한 표준 셀 행에 있는 폴리실리콘 트랙들과 접촉하지 않는다. 그러나, 계면에서는, 폴리실리콘 트랙들이 일반적으로 각 표준 셀 행의 전체 폭을 가로질러 뻗음으로써, X 차원으로 1개 이상의 연속적인 폴리실리콘 트랙들을 구성한다. 일부 실시예에서는, 폴리실리콘 트랙들이 레이아웃에서 전체 폭에 걸쳐 이끌어지고, 특수한 절단층을 사용하여 (메모리 인스턴스와의 계면을 제외한) 셀들의 상단 및 바닥에 위치한 폴리실리콘 트랙들을 절단한다.
도 3을 참조하여 더욱 더 상세히 설명하는 것과 같이, 폴리실리콘 트랙들의 실제 배치와, 메모리 인스턴스 영역 및 표준 셀 영역 사이의 계면에서의 이들 폴리실리콘 트랙들의 형태는 변동할 수 있다. 그러나, 도 2a에 도시된 영역들(115)로 개략적으로 나타낸 것과 같이, 메모리 인스턴스(110)와, 유용한 기능 부품들을 구현하는 표준 셀들이 예시될 수 있는 표준 셀 영역 사이에는, 종단 영역으로도 불리는 폴리실리콘 계면 부분이 필요하다. 폴리실리콘 계면 부분(115)은 메모리 인스턴스와 관련된 제 1 서브영역(115a)과 표준 셀들과 관련된 제 2 서브영역(115b)을 포함한다. 도 3에 예를 들어 나타낸 것과 같이 제 1 서브영역(115a)은 일반적으로 다수의 종단 폴리실리콘 트랙들과 지지 폴리실리콘 트랙들을 포함한다. 도 3의 예에서는, 한 개의 종단 폴리실리콘 트랙 175와 2개의 지지 폴리실리콘 트랙들 180, 185가 메모리 인스턴스와 관련된 제 1 서브영역(115a) 내부에 설치된다. 그후, 첫번째 활성 폴리실리콘 트랙 190이 메모리 인스턴스에 적절한 폴리피치 거리(특정한 일 실시예에서는 이 폴리피치가 90nm이다)만큼 지지 폴리실리콘 트랙 185로부터 분리된다. 도 3에는, 표준 셀 행 높이와 길이가 대응하는 이들 다수의 트랙들 175, 180, 185, 190의 일부만을 도시하였다.
표준 셀들과 관련된 서브영역 115b 내부에는, 인접 표준 셀(150)을 사용하여 이 서브영역에 적합한 필요한 종단 폴리실리콘 트랙들과 지지 폴리실리콘 트랙들을 제공할 수 있다. 도 3에 도시된 예에서는, 2개의 지지 폴리실리콘 트랙들 160, 165와 함께, 한 개의 종단 폴리실리콘 트랙 155가 설치된다. 그후, 표준 셀 행에 대한 첫 번째의 유용한 기능 부품을 정의하는 표준 셀이 인접 표준 셀(150) 가까이에 배치되고 첫번째 활성 폴리실리콘 트랙 170을 포함하는데, 이 첫번째 활성 폴리실리콘 트랙은 사용중인 표준 셀 설계에 해당하는 폴리피치 거리(도 3의 예에서는 이 폴리피치가 78nm이다)만큼 지지 폴리실리콘 트랙으로부터 분리된다.
도 3에 도시된 종래기술의 접근방법에 따르면, 표준 셀이 메모리 셀 인스턴스 바로 가까이에 배치되어야 한다는 제약이 없으며, 실제로 적어도 일부의 표준 셀 행들에 대해서는, 메모리 인스턴스의 가장자리와 이 표준 셀 행 내부에 배치된 첫 번째 표준 셀(일반적으로 이 첫 번째 표준 셀은 인접 표준 셀이다) 사이에 갭이 존재할 수도 있다.
도 3에 개략적으로 나타낸 다수의 종단 폴리실리콘 트랙들과 지지 폴리실리콘 트랙들은 Y 차원으로 상당한 폭을 갖는 폴리실리콘 계면 부분(115)을 발생한다. 도 2a에 도시된 거소가 같이, 표준 셀들이 메모리 인스턴스의 양측에 배치될 것이라는 것을 가정하면 폴리실리콘 계면 부분은 일반적으로 이들 양측에서 필요하고, 집적회로 설계 내에서 예시된 모든 메모리 인스턴스에 대해 필요하게 된다. 따라서, 폴리실리콘 계면 부분의 존재는 집적회로 내부에 상당한 면적 요구를 일으킬 수 있다.
더구나, X 차원에서의 메모리 인스턴스의 폭은, 이 메모리 인스턴스를 생성하기 위해 메모리 컴파일러에 의해 사용된 메모리 아키텍처와, 이 메모리 인스턴스의 원하는 특성을 명시하는 메모리 컴파일러에 주어진 입력 데이터에 의존한다. 종래기술에 따르면, X 차원에서의 메모리 인스턴스의 폭이 표준 셀 행 높이(107)와 관련이 없으며, 따라서 이것은 도 2a에 나타낸 쓸데없는 공간(120)을 발생할 수 있다(일반적으로 이와 같은 쓸데없는 공간은 메모리 인스턴스의 양측에 존재한다). 특히, 이와 같은 쓸데없는 공간은 표준 셀들을 수용하는데 불충분한 X 차원에서의 폭을 가지므로, 사용되지 않은 채로 유지된다. 이와 같은 쓸데없는 공간의 크기는 구현에 의존하여 변동하게 되지만, 집적회로 레이아웃 내부에 설치된 모든 메모리 인스턴스와 관련하여 존재하게 된다. 단지 구체적인 예를 들기 위해, 특정한 프로세스 노드를 고려하면, 9-트랙 라이브러리에 대한 표준 셀 행 높이는 576nm이다. 반도체 제조공장에 의해 제공된 메모리 인스턴스에 대한 비트 셀 설계는 일반적으로 라이브러리 높이와 정렬되지 않으므로, 메모리 인스턴스 폭은 표준 셀 행 높이와 관련이 없다. 최악의 시나리오에서는, 메모리 인스턴스 폭이 576xn+1nm이면, 이것은 표준 셀이 배치될 수 없는 메모리 인스턴스 경계에 575nm의 쓸데없는 공간을 발생한다.
도 4는, 도 2를 참조하여 위에서 설명한 것과 관련하여 메모리 인스턴스와 주변의 표준 셀들 사이의 경계와 관련된 면적 오버헤드가 감소된 집적회로의 레이아웃을 생성하도록 구성된 일 실시예의 시스템을 개략적으로 나타낸 블록도이다. 회로 소자들의 정의와, 메모리 아키텍처를 따르는 메모리 인스턴스들을 생성하기 위해 회로 소자들을 결합하기 위한 데이터 정의 규칙들을 명시하는 메모리 아키텍처(210)가 메모리 컴파일러(215)에 주어진다. 그후, 원하는 메모리 인스턴스의 특성들이 메모리 컴파일러(215)에 입력되는데, 일반적으로 이것은 메모리 컴파일러의 그래픽 사용자 인터페이스(GUI)를 통해 행해진다. 본 기술분야의 당업자에게 있어서 자명한 것과 같이, 원하는 메모리 인스턴스의 특성들은 다양한 입력 파라미터들에 의해 명시되고, 이들 입력 파라미터들은 예를 들어 메모리 어레이의 크기, 메모리 어레이의 다중화 배치, 파워 게이팅 특징, built-in-self-test(BIST) 모드 지원 등의 다양한 옵션 특징들의 선택을 정의한다.
그후, 메모리 컴파일러(215)는 입력 파라미터들과 메모리 아키텍처(210)에 근거하여 필요한 메모리 인스턴스를 생성한다. 전술한 실시예에 따르면, 경로 207을 거쳐 집적 증진 모드가 선택되는데, 이것은 메모리 인스턴스를 생성할 때 메모리 컴파일러가 표준 셀 라이브러리의 특성을 참조하게 한다. 경로 219는, 집적회로 레이아웃의 생성중에 선택된 표준 셀 라이브러리(205)가 배치 및 루트 도구(220)에 의해 사용될 것을 고려하여 메모리 컴파일러에 대한 이 표준 셀 라이브러리 특성의 제공을 개략적으로 나타낸 것이다. 이와 같은 표준 셀 라이브러리의 특성은 도 4에 도시된 시스템의 동작중에 메모리 컴파일러에게 동적으로 제공되어도 되지만, 일 실시예에서는, 메모리 컴파일러가 설계될 때 이와 같은 특성의 제공이 메모리 컴파일러에게 정적으로 행해지므로, 동작중에 표준 셀 라이브러리(205)와 메모리 컴파일러(215) 사이에 적극적으로 링크가 존재하지는 않는다.
더구나, 도 4에서는, 집적 증진 모드가 경로 217에 의해 선택되는 것으로 가정하였지만, 다른 실시예에서는, 메모리 컴파일러가 항상 집적 증진 동작 모드에서 동작하도록 구성되어, 경로 217을 거친 모드 선택신호의 필요를 없애도 된다.
배치 및 루트 도구(220)에는 계획한 집적회로의 기능 설계를 명시하는 논리 표현(200)이 주어진다. 일 실시예에서, 이것은 게이트 레벨 네트 리스트의 형태를 취하는 한편, 다른 실시예에서는 이것이 베리로그 모델에 의해 주어지는 것과 같은 설계의 레지스터 전송 레벨(Register Transfer Level: RTL) 고차 레벨 표현의 형태를 취해도 된다. 더구나, 배치 및 루트 도구(220)에는 표준 셀들의 세트를 제공하는 표준 셀 라이브러리(205)가 주어지는데, 이들 표준 셀은 기능 부품들을 정의하고 기능 설계에 따라 집적회로의 레이아웃을 조립하기 위한 빌딩 블록들에 해당한다. 더구나, 배치 및 루트 도구(220)는 레이아웃 내부에 포함시키기 위해 메모리 컴파일러(215)에 의해 생성된 메모리 인스턴스들을 수신하게 된다.
그후, 배치 및 루트 도구(220)는, 표준 셀 라이브러리(205)로부터 선택된 표준 셀들로 표준 셀 행들을 채워 논리 표현(200)에 의해 명시된 집적회로가 필요로 하는 기능 부품들을 제공함으로써 집적회로의 레이아웃을 생성하고, 메모리 컴파일러(215)에 의해 제공된 원하는 메모리 인스턴스(들)를 레이아웃 내부에 더 집적한다. 나머지 도면을 참조하여 나중에 더 상세히 설명하는 것과 같이, 메모리 컴파일러가 집적 증진 동작 모드에서 동작하고 있을 때, 생성된 메모리 인스턴스들은, 메모리 인스턴스들이 배치 및 루트 도구(220)에 의해 레이아웃 내부에 집적될 때 각각의 메모리 인스턴스와 주변 표준 셀들 사이의 경계와 관련된 면적 오버헤드를 줄이는 형태를 갖게 된다. 특히, 이전의 도 2a를 다시 참조하면, 각각의 원하는 메모리 인스턴스는, Y 차원에서 폴리실리콘 계면 부분의 폭을 줄여 면적 오버헤드를 줄이는 형태를 가져도 된다. 이에 덧붙여, 또는 이와 달리, X 차원에서의 메모리 인스턴스의 폭이 표준 셀 라이브러리 높이(107)의 공배수에 딱 들어맞도록 보장함으로써, 생성된 메모리 인스턴스가 쓸데없는 공간(120)을 줄이는 X 차원에서의 폭을 가져도 된다.
도 5는 일 실시예에 따른 도 4의 시스템의 동작을 개략적으로 나타낸 흐름도이다. 스텝 300에서, 배치 및 루트 도구(220) 및 메모리 컴파일러(215)에 의해 각각 액세스하기 위해 표준 셀 라이브러리(205)와 메모리 아키텍처(210)가 기억된다. 그후, 스텝 305에서는, 예를 들어 기억장치로부터 SoC의 베리로그 모델(200)을 판독함으로써, 이 모델이 얻어진다. 더구나, 예를 들어, 메모리 컴파일러(215)의 GUI를 거쳐 각각의 필요한 메모리 인스턴스의 특성을 명시하는 입력 파라미터들의 입력에 의해, 스텝 310에서 이들 입력 파라미터가 얻어진다.
스텝 315에서는, 표준 셀 라이브러리의 특성들이 집적 증진 모드의 사용을 지원하는지 여부를 판정한다. 예를 들어, 다수의 알려진 표준 셀 라이브러리들 중에서 한 개가 사용되는 경우에 메모리 컴파일러가 집적 증진 모드를 지원할 수 있도록 메모리 컴파일러가 설계되어도 된다. 표준 셀 라이브러리(205)가 이들 특정한 표준 셀 라이브러리들 중에서 한 개이면, 집적 증진 모드가 지원되는 한편, 그렇지 않은 경우에는 지원되지 않는다. 집적 증진 모드가 지원되지 않으면, 스텝 33으로 처리를 진행하여, 메모리 컴파일러가 통상 동작 모드에서 동작하여 배치 및 루트 도구(220)에 전달하기 위한 각각의 필요한 메모리 인스턴스를 생성하고, 이와 같은 통상 동작 모드중에는 메모리 인스턴스를 생성할 때 메모리 컴파일러가 표준 셀 라이브러리의 특성들을 고려하지 않으며, 이에 따라 메모리 인스턴스를 생성할 때 메모리 컴파일러가 면적 오버헤드 절감 조치를 취하지 않는다.
그러나, 표준 셀 라이브러리의 특성들이 집적 증진 모드의 사용을 지원하면, 스텝 320에서, 집적 증진 모드가 선택되었는지 여부를 판정한다. 선택되지 않으면, 스텝 330으로 처리를 진행하는 한편, 그렇지 않은 경우에는, 스텝 325로 처리를 진행하여, 원하는 메모리 인스턴스가 레이아웃 내부에 집적될 때 각각의 원하는 메모리 인스턴스와 주변 표준 셀들 사이의 경계와 관련된 면적 오버헤드를 줄이기 위해, 메모리 컴파일러가 표준 셀 라이브러리의 1개 이상의 특성들을 고려하여 각각의 필요한 메모리 인스턴스를 생성하도록 동작한다.
그후, 스텝 335에서, 배치 및 루트 도구(220)는 베리로그 모델(200), 표준 셀 라이브러리(205)와 메모리 컴파일러(215)로부터의 생성된 메모리 인스턴스들을 이용하여 배치 및 루트 동작을 행함으로써, 스텝 340에서 집적회로 레이아웃을 출력한다. 이와 같이 생성된 집적회로 레이아웃의 출력은 다양한 형태를 취할 수 있지만, 일반적으로 컴퓨터 판독가능한 매체 상의 레이아웃 데이터로서 기록된다.
옵션으로, 도 5에는 도시하지 않았지만, 배치 및 루트 처리가 예기치 않은 이상을 도입하지 않는 것을 확보하기 위해, 스텝 340에서 출력된 레이아웃 데이터가 표준 검증 테스트를 겪을 수 있다. 그후, 점선 박스 345로 나타낸 것과 같이, 스텝 340에서 출력된 레이아웃에 따라 집적회로의 제조로 처리가 계속될 수 있다.
도 3을 참조하여 전술한 것과 같이, 메모리 인스턴스와 인접 표준 셀들 사이의 경계를 제공하는 폴리실리콘 계면 부분은 지지 폴리실리콘 트랙들 및 종단 폴리실리콘 트랙들을 포함하는 다수의 더미 폴리실리콘 트랙들을 포함한다. 도 6a에 도시된 것과 같은 인접 표준 셀들이 종래기술에서 사용되어, 폴리실리콘 계면 부분(115)의 일부를 형성하고 메모리 인스턴스로부터 첫 번째 활성 표준 셀을 효율적으로 분리한다. 도 6a에 도시된 것과 같이, 인접 셀 350은 종단 폴리실리콘 트랙(360)과 2개의 지지 폴리실리콘 트랙들을 구비하므로, 도 3을 참조하여 이전에 예시한 형태를 취한다. 그러나, 다른 실시예에서는, 인접 표준 셀이 다른 형태를 취할 수 있다. 특히, 인접 셀은 일반적으로 비교적 두꺼운 한 개의 종단 폴리실리콘 트랙을 포함하지만, 지지 폴리실리콘 트랙들의 수는 변동할 수 있다. 따라서, 예를 들면, 인접 표준 셀 355는 한 개의 종단 폴리실리콘 트랙(360)과 3개의 지지 폴리실리콘 트랙들(365)을 포함한다.
도 3을 참조하여 마찬가지로 전술한 것과 같이, 메모리 컴파일러에 의해 일반적으로 생성된 메모리 인스턴스는, 메모리 인스턴스에 의해 사용된 첫 번째 활성 폴리실리콘을 표준 셀 영역과의 경계로부터 효율적으로 분리하기 위해, 적어도 한 개의 비교적 두꺼운 종단 폴리실리콘 트랙과 다수의 지지 폴리실리콘 트랙들을 포함한다. 메모리 인스턴스 내부와 인접 표준 셀들 내부에 종단 폴리실리콘 트랙들과 다수의 지지 폴리실리콘 트랙들을 설치함으로써, 이와 같은 구성은 표준 셀들이 메모리 인터페이스와의 경계와 관련하여 배치되는 방식에 대한 유연성을 제공한다. 도 3의 예에서는, 인접 표준 셀이 경계 바로 가까이에 배치되지만, 이와 달리, 메모리 인스턴스를 생성하는데 사용된 배치 및 루트 도구가 한 행에서 메모리 인스턴스의 가장자리와 첫 번째 표준 셀 사이에 실제적인 갭을 제공할 수 있다. 일부 실시예에서는, 전술한 종단 폴리실리콘 트랙들과 지지 폴리실리콘 트랙들이 메모리 인스턴스 내부와 표준 셀 영역들 내부에 설치되는 한, 이들 갭이 인접 표준 셀 대신에 사용됨으로써, 메모리 인스턴스와 표준 셀 영역들 모두에서 활성 폴리실리콘 트랙들 사이에 큰 갭을 제공할 수 있다. 메모리 인스턴스의 경계에 바로 인접한 영역이 이용되는 방식에 있어서의 이와 같은 유연성이, 일반적으로 메모리 컴파일러가 메모리 인스턴스의 가장자리에 종단 폴리실리콘 트랙(175)을 갖는 메모리 인스턴스들을 생성하도록 설계 규칙 검사(design rule checking: DRC) 규칙들이 요구하는 이유들 중에서 한가지이다. 특히, 메모리 인스턴스의 경계에 이와 같은 종단 폴리실리콘 트랙을 설치함으로써, 인접한 표준 셀 영역이 개방된 공간을 포함하는지 여부, 또는 메모리 경계에 대한 폴리실리콘 트랙 간격에 대해 가해진 제약을 갖지 않는 메모리 경계에 매우 근접한 표준 셀들을 갖는지 여부에 상관없이, 메모리 소자가 올바르게 형성되고 올바르게 동작할 수 있도록 보장할 수 있다.
그러나, 일 실시예에 따르면, 빈 공간이 허용되지 않으면서도, 표준 셀 라이브러리의 표준 셀들이 메모리 인스턴스의 가장자리로 바로 인접하는 것이 요구되도록 표준 셀 라이브러리가 설계되어도 된다. 그후, 일련의 인접 표준 셀들이 설치되어 메모리 인스턴스에 바로 인접하는 셀들로서 사용될 수 있다. 이와 같은 인접 셀들의 사용과, 메모리 인스턴스와 인접 표준 셀 영역들 사이에 빈 공간이 허용되지 않는다는 요구사항으로 인해, 비교적 두꺼운 종단 폴리실리콘 트랙이 더 이상 필요가 없으므로, 이와 같은 제약이 표준 셀 배치에 대해 가해진다면, 도 6b에 도시된 표준 셀들 370, 375는 도 6a의 표준 셀들 350, 355 대신에 사용될 수 있는 대체 표준 셀들을 나타낸다.
표준 셀 라이브러리가 이와 같은 제약을 제공하는 경우에, 일 실시예에서는, 표준 셀 라이브러리 내부에 제약이 존재한다는 사실을 이용하여 메모리 인스턴스와 관련된 폴리실리콘 계면 서브영역의 두께를 줄이는 집적 증진 모드에서 메모리 컴파일러가 동작할 수 있다. 특히, 이와 같은 시나리오에서는, 계면의 영역 내부에 종단 폴리실리콘 트랙(175)을 필요없게 할 수도 있다. 따라서, 도 7은, 메모리 컴파일러가 집적 증진 모드에서 동작할 때 메모리 인스턴스 영역과 표준 셀 영역 사이에서 사용될 수 있는 폴리실리콘 계면 부분의 형태를 나타낸 것이다. 도 7에 도시된 것과 같이, 2개의 지지 폴리실리콘 트랙들(405)을 포함하지만 종단 폴리실리콘 트랙을 포함하지 않는 인접 표준 셀(400)을 사용한다. 인접 표준 셀이 메모리 인스턴스가 교차하는 모든 표준 셀 행에 있는 메모리의 계면에 바로 인접해야 하는 것이 필요하다.
이와 같은 요구사항으로 인해, 메모리 인스턴스는 종단 폴리실리콘 트랙을 더 이상 필요로 하지 않으며, 이에 따라 본 실시예에서는 2개의 지지 폴리실리콘 트랙(415)이 메모리 인스턴스와 관련된 폴리실리콘 계면 부분의 서브영역 내에서 설치될 필요가 있는 전부이다. 그후, 메모리 인스턴스 내부의 첫 번째 활성 폴리실리콘 트랙(420)이 메모리 경계에서 가장 멀리 떨어진 지지 폴리실리콘 트랙(415)의 옆에 배치될 수 있으며, 이때 지지 폴리실리콘 트랙으로부터 활성 폴리실리콘 트랙의 분리는 메모리 인스턴스에 적절한 폴리피치에 의해 정의된다. 마찬가지로, 표준 셀 영역 내부에서는, 첫 번째 활성 폴리실리콘 트랙(410)이 경계에서 가장 멀리 떨어진 지지 폴리실리콘 트랙(405)에 인접하여, 마찬가지로 표준 셀 영역에 대해 적절한 폴리피치 거리에 배치될 수 있다. 따라서, 지지 폴리실리콘 트랙들 405, 145는 메모리 인스턴스 영역 및 표준 셀 영역 내부에 폴리실리콘 트랙들의 올바른 생성을 보장하는 폴리피치 전이 영역을 제공한다.
도 7과 도 3을 비교하면, 폴리실리콘 계면 부분이 메모리 서브영역의 2개의 지지 폴리실리콘 트랙과 표준 셀 서브영역의 2개의 지지 폴리실리콘 트랙만을 필요로 하여, 3개의 종단 폴리실리콘 트랙들과, 이들 종단 폴리실리콘 트랙들 사이와 이들 종단 폴리실리콘 트랙들과 첫번째 인접 지지 폴리실리콘 트랙 사이에 필요하였던 관련된 분리 거리의 필요성을 없애기 때문에, 폴리실리콘 계면 부분의 Y 차원에서의 전체 폭의 상당한 저감이 가능하다는 것을 알 수 있다.
단지 예를 들면, 도 3의 일 실시예에서는, 메모리 인스턴스 경계와 가장 멀리 떨어진 지지 폴리실리콘 트랙(185) 사이의 거리 A가 560nm이고, 이 거리 중에서 380nm는 종단 폴리실리콘 트랙과, 이 트랙과 경계 사이 및 이 트랙과 지지 폴리실리콘 트랙(180) 사이의 간격이 차지한다. 이에 반해, 도 7에서는, 표준 셀 배치에 대해 가해진 제약, 특히 표준 셀들이 메모리 인스턴스의 가장자리에 바로 인접해야 한다는 요구를 메모리 컴파일러가 이용할 수 있는 것으로 인해, 등가 거리 B가 180nm로 줄어든다. 도 2의 이전의 예에서 알 수 있는 것과 같이, 전형적인 상황에서는, 폴리실리콘 계면 부분의 이와 같은 면적상의 불이익이 메모리 인스턴스의 상단 및 바닥에 존재하므로, 도 3의 구성이 아니라 도 7의 구성을 채용함으로써, 한쌍의 폴리실리콘 계면 부분들에서의 폭의 저감이 대략 760nm에 이른다.
더구나, 이와 같은 접근방법은 종단 폴리실리콘 트랙 155의 필요성을 없앰으로써 표준 셀들 내부에서의 면적 오버헤드 요구를 줄이며, 이에 따라 메모리들과 표준 셀들이 모두 이와 같은 방식으로 설계되면, 이것들이 이음매가 없이 서로 들어맞아 SoC-레벨 설계에 대해 감소된 면적을 제공할 수 있다.
전술한 면적 절감을 메모리 영역과 표준 셀 영역 사이의 계면과 관련하여 설명하였지만, 2개의 메모리 인스턴스를 서로 인접시키는 것이 필요한 상황에서도 동일한 공간 절감을 달성할 수 있다.
일 실시예에서는, 메모리 컴파일러가 전술한 제약을 제공하지 않는 표준 셀 라이브러리들로도 동작할 수 있으므로, 메모리 컴파일러는 표준 셀이 메모리 인스턴스의 가장자리에 바로 인접하도록 요구하지 않는다. 이 시나리오에서는, 메모리 컴파일러가 집적 증진 모드에서 동작하지 않고, 그 대신에 종단 폴리실리콘 트랙 175와 다수의 지지 폴리실리콘 트랙들 180, 185를 포함하는 도 3을 참조하여 이전에 개략적으로 도시한 형태를 갖는 메모리 가장자리 셀들을 생성함으로써, 집적 증진 모드의 사용을 지원하지 않는 표준 셀 라이브러리들과 함께 사용되는 메모리 컴파일러의 하위 호환성을 제공한다.
메모리 인스턴스 영역의 폴리피치를 표준 셀 영역의 폴리피치와 동일하게 할 수 있으면, 폴리실리콘 계면 부분들의 폭의 추가적인 감소에 의해 집적 증진 동작 모드에서 추가적인 면적 감소를 달성할 수 있다. 특히, 도 8에 나타낸 것과 같이, 이와 같은 시나리오에서는, 표준 셀 영역의 첫 번째 활성 폴리실리콘 트랙(410)이 메모리 인스턴스의 첫 번째 활성 트랙(420)으로부터 이 경계에 설치된 한 개의 지지 폴리실리콘 트랙(425)에 의해 분리되는 것만이 필요하다. 이와 같은 상황에서는 인접 표준 셀이 필요하지 않다. 따라서, 표준 셀 라이브러리가 표준 셀들이 메모리 인스턴스의 가장자리에 바로 인접하는 것을 요구하고 표준 셀들의 폴리피치가 메모리 인스턴스 내부에 사용된 폴리피치와 일치하는 시나리오에서는, 이들 메모리 인스턴스들이 집적회로 내부에 집적될 때 폴리실리콘 계면 부분의 폭을 더욱 줄이는 메모리 인스턴스들을 메모리 컴파일러가 생성할 수 있다.
도 9는, 도 2a를 참조하여 이전에 설명한 형태를 갖는 집적회로 레이아웃 내부에 배치하기 위해 90°회전한, 메모리 컴파일러에 의해 생성되는 메모리 인스턴스(450)의 예시적인 구성을 나타낸 것이다. 본 실시예에서는, 4개의 메모리 어레이들(465)이 설치되고, 각각의 어레이는 복수의 행 및 복수의 열로 배치된 메모리 셀들의 매트릭스를 포함한다. 행 방향으로 각 어레이를 통해 뻗는 워드선들을 통해 각 어레이 내부의 특정한 행들의 어드레스 지정을 가능하게 하기 위해 워드선 드라이버 회로(470)가 설치된다. 주지하는 것과 같이, 비트선들은 메모리 셀들의 각각의 열들과 관련되고, 열 멀티플렉서(column multiplexer) 및 센스 앰프회로(475)는 이들 열들 각각과 관련되어, 해당 비트선들 위의 값들을 제어함으로써, 행의 어드레스 지정된 메모리 셀들 내부에 데이터가 기록되도록 허용하거나, 해당 비트선들 위의 전압의 평가에 의해 판독동작 중에 이들 어드레스 지정된 메모리 셀들에 유지된 데이터 값들이 판독되도록 허용한다. 더구나, 다수의 워드선 드라이버(470), 열 멀티플렉서 및 센스 앰프들(475) 등의 동작을 제어하기 위해 제어회로(480)가 설치된다. 어레이들(465)의 어드레스 지정된 메모리 셀들로부터 판독된 데이터를 출력하기 위해 출력 데이터 경로들(485)이 더 설치된다. 일반적으로, 주변 회로로부터 어레이를 분리하기 위해 각 어레이(465)의 판독 가장자리 주위에 가장자리 셀들(490)이 배치된다. 더구나, 실제 메모리 경계로부터 메모리의 부품들을 분리하기 위해 이와 유사한 가장자리 셀들(495)을 사용할 수 있다.
도 9에서 알 수 있는 것과 같이, 어레이들의 행들은 X 차원으로 뻗고 열들은 Y 차원으로 뻗으며, 메모리 인스턴스가 집적회로 내부에 배치되기 전에 90°만큼 회전하였으므로, 메모리 인스턴스(455)의 상단은 관련된 폴리실리콘 계면 부분을 갖는 한 개의 경계를 이루고, 메모리 인스턴스(460)의 바닥은 관련된 폴리실리콘 계면 부분을 갖는 다른 경계를 이룬다. 그러나, 도 10에 나타낸 것과 같이, 전술한 메모리 컴파일러에 대한 집적 증진 동작 모드를 사용할 때 이용가능한 공간 절감 조치로 인해, 메모리 인스턴스와 관련된 서브영역들 515a와 표준 셀들과 관련된 서브영역들 515b 모두의 폭의 감소에 의해, 종래기술의 접근방법의 동등한 폴리실리콘 계면 부분들 115의 폭과 비교할 때 폴리실리콘 계면 부분 515의 폭을 상당히 줄일 수 있다.
더구나, 일 실시예에 따르면, 메모리 컴파일러가 메모리 인스턴스에 제약을 가하도록 추가로 또는 대안적으로 구성될 수 있음으로써, X 차원에서의 그것의 폭이 표준 셀 행 높이(507)의 정수배가 되므로, 도 2a의 이전의 예에 나타낸 쓸데없는 공간(120)을 없앨 수 있다.
SoC 레벨에서는, 표준 셀 행들의 배치가 표준 셀 라이브러리에 의해 명시된 행 높이로 제한된다. 예를 들어, 특정한 프로세스 노드에 대해, 9-셀 라이브러리에 대한 표준 셀 행 높이는 576nm이다. 일반적으로, 메모리 인스턴스의 메모리 어레이들을 생성함에 있어서 사용되는 반도체 제조공장에 의해 제공된 비트 셀은 표준 셀 행 높이에 맞추어 정렬되지 않으며, 이 결과, 도 9에 도시된 메모리 인스턴스 폭(497)은 표준 셀 행 높이와 관련이 없다. 이것은, 메모리 인스턴스가 SoC의 레이아웃 내부에 포함될 때 상당한 쓸데없는 공간을 발생할 수 있다. 일반적인 SoC 상의 메모리 인스턴스들의 수가 계속 증가함에 따라, 이와 같은 쓸데없는 공간이 집적회로의 전체 면적에 점점 더 큰 상당한 영향을 미친다. 일 실시예에 따르면, 집적 증진 동작 모드에 있을 때, 메모리 컴파일러가 메모리 인스턴스를 설계시에 표준 셀들의 행 높이를 고려함으로써, 표준 셀 행 높이의 정수배인 폭(497)을 갖는 메모리 인스턴스를 생성한다. 이것은 다양한 방법으로 달성될 수 있다. 예를 들어, 일 실시예에서는, 메모리 어레이를 구성하는데 사용된 개별적인 비트 셀들이 메모리 어레이의 행들 내부에 형성될 때 이들 행들이 표준 셀 행 높이의 배수를 따르도록 이들 개별 비트 셀들이 설계될 수 있다. 더구나, 원드선 드라이버 회로 및/또는 가장자리 셀들을 구성하는데 사용된 개별적인 셀들이 표준 셀 행 높이의 배수를 따르도록 설계됨으로써, 전체 메모리 인스턴스 폭(497)이 표준 셀 행 높이 그리드(grid)에 딱 들어맞도록 할 수 있다. 예를 들어, 원하는 분리 특성을 달성하기 위해서는 가장자리 셀들이 일반적으로 최소 폭을 가져야 하지만, 필요한 경우에는, 메모리 인스턴스의 전체 폭(497)이 표준 셀 행 높이의 배수가 되도록 보장하기 위해 이들 가장자리 셀들의 폭이 더 넓게 만들어질 수 있다.
멀티플렉서 옵션으로서 mux4, mux8 및 mux16을 지원하는 메모리 컴파일러에 대해, 워드선이 1 비트 증분으로 증가할 때, 메모리 인스턴스 폭은 (최소한도로) 비트 셀 폭의 4배의 배수로 증가한다. 따라서, 표준 셀 행 높이를 고려하여 비트 셀 폭의 4배로 제약이 가해지면, 표준 셀 행 높이(507)의 정수배인 전체 메모리 셀 높이(497)를 갖는 인스턴스들을 생성하도록 메모리 컴파일러가 설계됨으로써, 메모리 인스턴스가 집적회로의 레이아웃 내부에 집적될 때 쓸데없는 공간(120)을 없앨 수 있다. 다중화 옵션을 고려하여 어레이들의 행 크기가 증가하는 방식에 제약을 가하는 것 이외에, 워드 폭이 증가될 수 있는 양에 제약을 가할 수도 있다. 예를 들어, 워드 폭이 1 비트 증분으로 증가하도록 허용하는 것 대신에, 워드 폭이 2 비트 증분 또는 4 비트 증분으로만 증가하도록 제약을 가할 수도 있다.
도 11은 집적회로의 레이아웃을 생성하기 위해 전술한 메모리 컴파일러 동작과 배치 및 루트 동작을 구현하는데 사용되는 형태를 갖는 범용 컴퓨터(600)를 개략적으로 나타낸 것이다. 범용 컴퓨터(600)는, 공통 버스(66)를 통해 접속된, 중앙처리장치(602), 랜덤 액세스 메모리(604), 리드 온리 메모리(606), 네트워크 인터페이스 카드(608), 하드디스크 드라이브(610), 디스플레이 드라이버(612), 모니터(614)와, 키보드(618) 및 마우스(620)를 갖는 사용자 입출력 회로(616)를 구비한다. 동작시에, 중앙처리장치(602)는, 랜덤 액세스 메모리(603), 리드 온리 메모리(606) 및 하드디스크(610) 중에서 한 개 이상에 기억되거나 네트워크 인터페이스 카드(608)을 거쳐 동적으로 다운로드된 컴퓨터 프로그램 명령을 실행한다. 행해진 처리 결과는 디스플레이 드라이버(612) 및 모니터(614)를 통해 사용자에게 디스플레이된다. 범용 컴퓨터(600)의 동작을 제어하기 위한 사용자 입력은 키보드(618) 또는 마우스(620)로부터 사용자 입출력 회로를 거쳐 수신된다(따라서, 예를 들어 필요한 메모리 인스턴스의 특정한 특성을 결정하는데 사용되는 입력 파라미터들이 이 메카니즘을 통해 입력될 수 있다). 이때, 컴퓨터 프로그램은 다양한 다른 컴퓨터 언어로 쓰여질 수 있다는 것은 자명하다. 컴퓨터 프로그램은 기록매체 상에 기억 및 배포되거나 범용 컴퓨터(600)로 동적으로 다운로드된다. 적절한 컴퓨터 프로그램의 제어하에서 동작할 때, 범용 컴퓨터(600)는 전술한 메모리 컴파일러 동작을 행하여 원하는 메모리 인스턴스들을 생성할 수 있고, 실제로 이와 같은 원하는 메모리 인스턴스들을 포함하는 집적회로의 레이아웃을 생성하는데 사용된 배치 및 루트 동작을 행할 수 있으므로, 전술한 동작을 행하는 장치를 구성하는 것으로 생각할 수 있다. 범용 컴퓨터(600)의 아키텍처는 상당히 변동할 수 있으며, 도 11은 일례에 지나지 않는다.
전술한 실시예로부터, 이와 같은 실시예들은 메모리 인스턴스가 SoC의 레이아웃 내부에 집적될 때 메모리 인스턴스와 인접 표준 셀들 사이의 경계에 의해 발생된 전체 면적 오버헤드의 상당한 저감을 가능하게 한다는 것을 알 수 있다. 일 실시예에 따르면, 특히 표준 셀들이 메모리 인스턴스의 가장자리에 바로 인접하게 요구하도록 표준 셀 라이브러리가 표준 셀들에 대해 제약을 가하는 상황에서, 메모리 인스턴스와 표준 셀들이 SoC 레벨에서 함께 집적될 때 메모리 인스턴스의 상단 및 바닥의 폴리피치가 불필요한 오버헤드를 줄이도록 변경된다. 이와 달리, 또는 이에 덧붙여, 메모리 인스턴스의 폭이 표준 셀 라이브러리 높이의 공배수에 딱 들어맞도록 제약이 가해진다. 일 실시예에서는, 행의 비트 셀들이 라이브러리 행 높이의 배수에 딱 들어맞고 워드선 드라이버 채널과 메모리 가장자리 셀들의 전체 폭이 라이브러리 행 높이의 배수에 딱 들어맞도록 요구함으로써 이것을 달성할 수 있다.
첨부된 도면을 참조하여 본 발명의 예시적인 실시예를 상세히 설명하였지만, 본 발명은 이들 정확한 실시예들에 한정되지 않으며, 첨부된 청구범위에 규정된 본 발명의 보호범위 및 사상을 벗어나지 않으면서 당업자에 의해 다양한 변경 및 변형이 행해질 수 있다는 것은 자명하다. 예를 들어, 본 발명의 보호범위를 벗어나지 않으면서, 독립항들의 특징과 다음의 종속항들의 특징의 다양한 조합이 행해질 수도 있다.

Claims (16)

  1. 집적회로의 기능 부품들을 정의하는 표준 셀들과, 상기 집적회로의 메모리 소자를 정의하기 위해 메모리 컴파일러에 의해 생성된 적어도 한 개의 메모리 인스턴스를 포함하는 상기 집적회로의 레이아웃 생성방법으로서,
    회로 소자들의 정의와, 메모리 아키텍처를 따르는 메모리 인스턴스들을 생성하기 위해 이들 회로 소자들을 결합하는 데이터 정의 규칙들을 명시하는 상기 메모리 아키텍처를 갖는 상기 메모리 컴파일러를 제공하는 단계와,
    원하는 메모리 인스턴스의 한 개 이상의 특성들을 명시하는 입력 데이터를 수신하는 단계와,
    상기 메모리 컴파일러를 사용하여 상기 원하는 메모리 인스턴스가 상기 메모리 아키텍처를 따르도록 상기 입력 데이터에 근거하여 상기 원하는 메모리 인스턴스를 생성하는 단계와,
    표준 셀 라이브러리 내부의 각각의 표준 셀이 대응하는 기능 부품을 정의하는 상기 표준 셀 라이브러리를 제공하는 단계와,
    상기 메모리 컴파일러의 집적 증진 동작 모드에서, 상기 메모리 컴파일러가 상기 표준 셀 라이브러리의 적어도 한 개의 특성을 참조하게 함으로써, 상기 원하는 메모리 인스턴스가 레이아웃의 내부에 집적될 때 상기 원하는 메모리 인스턴스와 주변의 표준 셀들 사이의 경계와 관련된 면적 오버헤드를 줄이는 형태로 상기 원하는 메모리 인스턴스를 생성하는 단계와,
    상기 집적회로에 의해 필요한 상기 기능 부품들을 제공하기 위해 제 1 방향으로 뻗는 표준 셀 행들을 상기 표준 셀 라이브러리에서 선택된 표준 셀들로 채움으로써 상기 레이아웃을 생성하고, 상기 레이아웃의 내부에 상기 메모리 컴파일러에 의해 제공된 상기 원하는 메모리 인스턴스를 집적하는 단계를 포함하는, 집적회로의 레이아웃 생성방법.
  2. 제 1항에 있어서,
    상기 원하는 메모리 인스턴스를 생성할 때 상기 메모리 컴파일러가 상기 표준 셀 라이브러리의 상기 적어도 한 개의 특성을 참조하지 않음으로써, 상기 메모리 컴파일러가 상기 집적 증진 동작 모드에서 동작될 때의 상기 경계와 관련된 상기 면적 오버헤드와 비교할 때, 상기 원하는 메모리 인스턴스가 상기 레이아웃의 내부에 집적될 때 상기 경계와 관련된 상기 면적 오버헤드의 증가를 일으키는 적어도 한 개의 추가 동작 모드를 상기 메모리 컴파일러에 제공하는 단계를 더 포함하는, 집적회로의 레이아웃 생성방법.
  3. 제 1항에 있어서,
    상기 레이아웃은 폴리실리콘층을 통해 제 2 방향으로 뻗는 복수의 폴리실리콘 트랙들을 포함하는 상기 폴리실리콘층을 구비하고, 상기 제 2 방향은 상기 제 1 방향에 대해 수직이고,
    상기 폴리실리콘층은 인접한 표준 셀들로부터 원하는 상기 메모리 인스턴스를 분리하는 적어도 한 개의 폴리실리콘 계면 영역을 구비하고, 각각의 상기 적어도 한 개의 폴리실리콘 계면 영역은 상기 제 1 방향으로 뻗는 분리 거리를 제공하고,
    상기 집적 증진 동작 모드에서 메모리 컴파일러가 참조하는 표준 셀 라이브러리의 상기 적어도 한 개의 특성은, 상기 표준 셀들이 상기 제 2 방향으로 뻗는 상기 원하는 메모리 인스턴스의 가장자리에 바로 인접하도록 상기 표준 셀 라이브러리의 표준 셀들의 설계가 요구하는 것을 표시하는 특성이고,
    상기 메모리 컴파일러의 상기 집적 증진 동작 모드에서, 상기 원하는 메모리 인스턴스가 상기 레이아웃의 내부에 집적될 때 상기 폴리실리콘 계면 영역의 분리 거리를 줄이는 형태로 상기 메모리 컴파일러가 상기 원하는 메모리 인스턴스를 생성하는, 집적회로의 레이아웃 생성방법.
  4. 제 3항에 있어서,
    각각의 상기 적어도 한 개의 폴리실리콘 계면 영역은 상기 제 2 방향으로 뻗는 더미 폴리실리콘 트랙들을 구비하고,
    상기 메모리 컴파일러의 상기 집적 증진 동작 모드에서, 상기 메모리 컴파일러는, 상기 폴리실리콘 계면 영역 내부의 상기 더미 폴리실리콘 트랙들의 수를 줄이는 형태로 상기 원하는 메모리 인스턴스를 생성하는, 집적회로의 레이아웃 생성방법.
  5. 제 4항에 있어서,
    각각의 상기 적어도 한 개의 폴리실리콘 계면 영역은 상기 원하는 메모리 인스턴스와 관련된 제 1 계면 서브영역과 상기 표준 셀들과 관련된 제 2 계면 서브 영역을 구비하고,
    상기 표준 셀들이 상기 제 2 방향으로 뻗는 상기 원하는 메모리 인스턴스의 가장자리에 바로 인접하도록 상기 표준 셀 라이브러리의 표준 셀들의 설계가 요구하는 것을 표시하는 상기 특성은, 상기 제 2 계면 서브영역에 설치된 상기 더미 폴리실리콘 트랙들의 수의 감소를 식별하는 특성이고,
    상기 메모리 컴파일러의 상기 집적 증진 동작 모드에서, 상기 원하는 메모리 인스턴스를 생성할 때 상기 메모리 컴파일러가 상기 표준 셀 라이브러리의 상기 적어도 한 개의 특성을 참조하지 않는 적어도 한 개의 추가 동작 모드에서 상기 메모리 컴파일러가 동작하였더라면 설치되었을 상기 제 1 계면 서브영역 내부의 상기 더미 폴리실리콘 트랙들의 수보다 적은 수의 더미 폴리실리콘 트랙들을 갖는 형태로, 상기 메모리 컴파일러가 상기 원하는 메모리 인스턴스를 생성하는, 집적회로의 레이아웃 생성방법.
  6. 제 5항에 있어서,
    상기 적어도 한 개의 추가 동작 모드에서, 제 1 계면 서브영역은, 상기 더미 폴리실리콘 트랙들로서, 적어도 한 개의 지지 더미 트랙과, 각각의 지지 더미 트랙의 두께보다 큰 상기 제 1 방향으로의 두께를 갖는 적어도 한 개의 종단 더미 트랙을 구비하고,
    상기 메모리 컴파일러의 상기 집적 증진 동작 모드에서는, 제 1 계면 서브영역이 상기 종단 더미 트랙을 포함하지 않는 형태로 상기 메모리 컴파일러가 상기 원하는 메모리 인스턴스를 생성하는, 집적회로의 레이아웃 생성방법.
  7. 제 6항에 있어서,
    상기 제 2 계면 서브영역도 상기 종단 더미 트랙을 포함하지 않는, 집적회로의 레이아웃 생성방법.
  8. 제 6항에 있어서,
    상기 원하는 메모리 인스턴스와 관련된 상기 폴리실리콘 층의 부분 내부의 상기 폴리실리콘 트랙들의 상기 제 1 방향으로의 피치 간격은 상기 표준 셀들과 관련된 상기 폴리실리콘 층의 또 다른 부분 내부의 상기 폴리실리콘 트랙들의 상기 제 1 방향으로의 피치 간격과 동일하고,
    상기 메모리 컴파일러의 상기 집적 증진 동작 모드에서, 각각의 상기 적어도 한 개의 폴리실리콘 계면 영역에 있는 상기 지지 더미 트랙들의 수를 추가로 줄이는 형태로 상기 메모리 컴파일러가 상기 원하는 메모리 인스턴스를 생성하는, 집적회로의 레이아웃 생성방법.
  9. 제 8항에 있어서,
    상기 메모리 컴파일러의 상기 집적 증진 동작 모드에서, 상기 적어도 한 개의 폴리실리콘 계면 영역 내부에 한 개의 지지 더미 트랙을 발생하는 형태로 상기 메모리 컴파일러가 상기 원하는 메모리 인스턴스를 생성하는, 집적회로의 레이아웃 생성방법.
  10. 제 3항에 있어서,
    상기 적어도 한 개의 폴리실리콘 계면 영역은 상기 원하는 메모리 인스턴스의 제 1 측에 위치한 제 1 폴리실리콘 계면 영역과 상기 원하는 메모리 인스턴스의 대향 측에 위치한 제 2 폴리실리콘 계면 영역을 포함하고, 상기 제 1 측 및 상기 대향 측이 상기 제 2 방향으로 뻗는, 집적회로의 레이아웃 생성방법.
  11. 제 1항에 있어서,
    상기 표준 셀 행들이 상기 제 1 방향에 수직인 제 2 방향으로 뻗는 행 높이를 갖고, 상기 행 높이는 상기 표준 셀 라이브러리에 의해 정의되고,
    상기 집적 증진 동작 모드에서 상기 메모리 컴파일러가 참조하는 상기 표준 셀 라이브러리의 상기 적어도 한 개의 특성은 상기 행 높이이고,
    상기 메모리 컴파일러의 상기 집적 증진 동작 모드에서, 상기 제 2 방향으로의 상기 원하는 메모리 인스턴스의 폭이 상기 행 높이의 정수배가 되도록 제약을 받는 형태로 상기 메모리 컴파일러가 상기 원하는 메모리 인스턴스를 생성하는, 집적회로의 레이아웃 생성방법.
  12. 제 11항에 있어서,
    상기 메모리 인스턴스는 적어도 한 개의 메모리 어레이와 상기 적어도 한 개의 메모리 어레이에 접속된 복수의 로직회로들을 구비하고,
    상기 메모리 컴파일러의 상기 집적 증진 동작 모드에서, 상기 메모리 컴파일러는 상기 제 2 방향으로의 상기 적어도 한 개의 메모리 어레이의 폭이 상기 행 높이의 정수배가 되도록 제약을 가하는, 집적회로의 레이아웃 생성방법.
  13. 제 12항에 있어서,
    상기 제 2 방향으로의 상기 적어도 한 개의 메모리 어레이의 폭은 상기 메모리 어레이의 각 행 내부에 설치된 메모리 셀들의 수에 의해 좌우되고,
    상기 메모리 컴파일러의 상기 집적 증진 동작 모드에서, 상기 메모리 컴파일러는, 상기 제 2 방향으로의 각각의 상기 적어도 한 개의 메모리 어레이의 상기 폭이 상기 행 높이의 상기 정수배가 되도록 각각의 상기 적어도 한 개의 메모리 어레이의 각 행 내부에 설치된 메모리 셀들의 수에 대해 제약을 가하는, 집적회로의 레이아웃 생성방법.
  14. 제 11항에 있어서,
    상기 메모리 인스턴스는 적어도 한 개의 메모리 어레이와 상기 적어도 한 개의 메모리 어레이에 접속된 복수의 로직회로들을 구비하고,
    상기 메모리 컴파일러의 상기 집적 증진 동작 모드에서, 상기 메모리 컴파일러는 상기 제 2 방향으로의 상기 복수의 로직회로의 폭이 상기 행 높이의 정수배가 되도록 제약을 가하는, 집적회로의 레이아웃 생성방법.
  15. 제 11항에 있어서,
    상기 메모리 인스턴스는, 적어도 한 개의 메모리 어레이와 상기 적어도 한 개의 메모리 어레이에 접속된 복수의 로직회로들과, 복수의 가장자리 셀들을 구비하고,
    상기 메모리 컴파일러의 상기 집적 증진 동작 모드에서, 상기 제 2 방향으로의 상기 원하는 메모리 인스턴스의 상기 폭이 상기 행 높이의 정수배가 되도록 제약을 받도록, 상기 메모리 컴파일러가 상기 제 2 방향으로의 상기 가장자리 셀들의 폭을 선택하는, 집적회로의 레이아웃 생성방법.
  16. 메모리 컴파일러 컴퓨터 프로그램과 관련된 메모리 아키텍처로부터 원하는 메모리 인스턴스를 생성하도록 컴퓨터에 의해 실행되는 메모리 컴파일러 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록매체로서, 상기 메모리 아키텍처는 회로 소자들의 정의와 이들 회로 소자들을 결합하기 위한 데이터 정의 규칙들을 명시하고, 상기 메모리 컴파일러 컴퓨터 프로그램은, 집적회로의 레이아웃 생성방법의 수행중에, 상기 레이아웃이 상기 집적회로의 기능 부품들을 정의하는 표준 셀들과 상기 집적회로의 메모리 소자를 정의하는 적어도 한 개의 메모리 인스턴스를 포함하는 경우에, 상기 메모리 컴파일러 컴퓨터 프로그램이 상기 표준 셀들을 정의하는 표준 셀 라이브러리의 적어도 한 개의 특성을 참조하도록 구성됨으로써, 상기 원하는 메모리 인스턴스가 상기 레이아웃의 내부에 집적될 때 상기 원하는 메모리 인스턴스와 주변의 표준 셀들 사이의 경계와 관련된 면적 오버헤드를 줄이는 형태로 상기 원하는 메모리 인스턴스를 생성하는, 컴퓨터 판독 가능한 기록매체.
KR1020130117666A 2012-10-23 2013-10-02 표준 셀들과 적어도 한 개의 메모리 인스턴스를 포함하는 집적회로의 레이아웃 생성방법 KR101724261B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/658,072 US8645893B1 (en) 2012-10-23 2012-10-23 Method of generating a layout of an integrated circuit comprising both standard cells and at least one memory instance
US13/658,072 2012-10-23

Publications (2)

Publication Number Publication Date
KR20140051774A KR20140051774A (ko) 2014-05-02
KR101724261B1 true KR101724261B1 (ko) 2017-04-07

Family

ID=50001846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130117666A KR101724261B1 (ko) 2012-10-23 2013-10-02 표준 셀들과 적어도 한 개의 메모리 인스턴스를 포함하는 집적회로의 레이아웃 생성방법

Country Status (4)

Country Link
US (2) US8645893B1 (ko)
KR (1) KR101724261B1 (ko)
CN (1) CN103778273B (ko)
TW (1) TWI575393B (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9251299B1 (en) 2013-06-28 2016-02-02 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for associating track patterns with rules for electronic designs
US8984465B1 (en) 2013-06-28 2015-03-17 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design
US9003349B1 (en) 2013-06-28 2015-04-07 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for implementing a physical electronic design with area-bounded tracks
US9117052B1 (en) 2012-04-12 2015-08-25 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for interactively implementing physical electronic designs with track patterns
US9213793B1 (en) 2012-08-31 2015-12-15 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for implementing electronic designs using flexible routing tracks
US9104830B1 (en) 2013-06-28 2015-08-11 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for assigning track patterns to regions of an electronic design
US20140167815A1 (en) * 2012-12-18 2014-06-19 Broadcom Corporation Area reconfigurable cells of a standard cell library
US9165103B1 (en) 2013-06-28 2015-10-20 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for tessellating and labeling routing space for routing electronic designs
GB2526823B (en) * 2014-06-03 2018-09-26 Advanced Risc Mach Ltd An integrated circuit with interface circuitry, and an interface cell for such interface circuitry
US9575891B2 (en) 2014-06-17 2017-02-21 Advanced Micro Devices, Inc. Sidecar SRAM for high granularity in floor plan aspect ratio
US9324392B1 (en) * 2014-10-23 2016-04-26 Arm Limited Memory device and method of performing a write operation in a memory device
KR102257031B1 (ko) * 2015-03-13 2021-05-27 삼성전자주식회사 반도체 집적 회로 설계 방법
US10445453B2 (en) * 2015-04-08 2019-10-15 Mediatek Inc. Cell layout utilizing boundary cell with mixed poly pitch within integrated circuit
CN104899364B (zh) * 2015-05-27 2018-01-02 上海华力微电子有限公司 一种用于器件建模的标准单元选择方法
US9984194B2 (en) * 2015-09-15 2018-05-29 Arm Limited Integrated circuit design
KR102333446B1 (ko) * 2015-11-09 2021-11-30 삼성전자주식회사 반도체 장치 및 반도체 시스템
US10114918B2 (en) 2016-01-27 2018-10-30 Arm Limited Physical placement control for an integrated circuit based on state bounds file
US10417371B2 (en) * 2017-01-27 2019-09-17 Arm Limited Power grid healing techniques
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
US10503859B2 (en) * 2017-08-30 2019-12-10 Arm Limited Integrated circuit design and/or fabrication
DE102017127276A1 (de) 2017-08-30 2019-02-28 Taiwan Semiconductor Manufacturing Co., Ltd. Standardzellen und abwandlungen davon innerhalb einer standardzellenbibliothek
US10741539B2 (en) 2017-08-30 2020-08-11 Taiwan Semiconductor Manufacturing Co., Ltd. Standard cells and variations thereof within a standard cell library
US11675949B2 (en) 2019-02-21 2023-06-13 Taiwan Semiconductor Manufacturing Company, Ltd. Space optimization between SRAM cells and standard cells
CN111177996B (zh) * 2020-01-02 2023-06-30 天津飞腾信息技术有限公司 一种优化集成电路可制造性的特殊图形规避方法及装置
CN113745212A (zh) * 2020-05-29 2021-12-03 泉芯集成电路制造(济南)有限公司 集成电路及布局集成电路的方法
US11755808B2 (en) * 2020-07-10 2023-09-12 Taiwan Semiconductor Manufacturing Company Limited Mixed poly pitch design solution for power trim
US11437316B2 (en) 2020-09-24 2022-09-06 Advanced Micro Devices, Inc. Folded cell layout for 6T SRAM cell
US11710698B2 (en) 2020-09-24 2023-07-25 Advanced Micro Devices, Inc. Dual-track bitline scheme for 6T SRAM cells
US11778803B2 (en) 2021-09-29 2023-10-03 Advanced Micro Devices, Inc. Cross FET SRAM cell layout
US11881393B2 (en) 2021-09-29 2024-01-23 Advanced Micro Devices, Inc. Cross field effect transistor library cell architecture design
CN114707443B (zh) * 2022-05-23 2023-01-10 北京芯愿景软件技术股份有限公司 基本单元库简化方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222214A (ja) 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd 面積率/占有率検証方法及びパターン生成方法
US7478358B2 (en) 2005-04-19 2009-01-13 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device
JP2009123966A (ja) 2007-11-15 2009-06-04 Sharp Corp 半導体集積回路のレイアウトパターン設計方法、レイアウトパターン設計装置およびレイアウトパターン設計用プログラム
US20110041109A1 (en) 2009-08-12 2011-02-17 Taiwan Semiconductor Manufacturing Company, Ltd. Memory building blocks and memory design using automatic design tools

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3351643B2 (ja) * 1995-01-31 2002-12-03 株式会社東芝 半導体メモリ装置及びその製造方法
TW587251B (en) * 1999-10-04 2004-05-11 Koninkl Philips Electronics Nv A non-volatile MOS RAM cell with capacitor-isolated nodes that are radiation accessible for rendering a non-permanent programmed information in the cell a non-volatile one
US6467074B1 (en) * 2000-03-21 2002-10-15 Ammocore Technology, Inc. Integrated circuit architecture with standard blocks
US6470475B2 (en) * 2000-11-23 2002-10-22 Stmicroelectronics Ltd. Synthesizable synchronous static RAM
US6925627B1 (en) * 2002-12-20 2005-08-02 Conexant Systems, Inc. Method and apparatus for power routing in an integrated circuit
CN1305127C (zh) * 2003-09-12 2007-03-14 清华大学 用去耦合电容实现集成电路供电网络噪声优化的快速方法
WO2006052738A2 (en) * 2004-11-04 2006-05-18 Fabbrix, Inc. A method and process for design of integrated circuits using regular geometry patterns to obtain geometrically consistent component features
CN100442525C (zh) * 2004-12-20 2008-12-10 松下电器产业株式会社 单元、标准单元、使用标准单元的布局方法和半导体集成电路
CN1804849B (zh) * 2006-01-19 2010-05-12 复旦大学 多时钟系统的平面布图规划方法
US8136072B2 (en) * 2008-11-03 2012-03-13 Arm Limited Standard cell placement
US8607019B2 (en) * 2011-02-15 2013-12-10 Shine C. Chung Circuit and method of a memory compiler based on subtractive approach
JP5741234B2 (ja) * 2011-06-10 2015-07-01 富士通株式会社 セルの配置構造、半導体集積回路、及び回路素子セルの配置方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222214A (ja) 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd 面積率/占有率検証方法及びパターン生成方法
US7478358B2 (en) 2005-04-19 2009-01-13 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device
JP2009123966A (ja) 2007-11-15 2009-06-04 Sharp Corp 半導体集積回路のレイアウトパターン設計方法、レイアウトパターン設計装置およびレイアウトパターン設計用プログラム
US20110041109A1 (en) 2009-08-12 2011-02-17 Taiwan Semiconductor Manufacturing Company, Ltd. Memory building blocks and memory design using automatic design tools

Also Published As

Publication number Publication date
TWI575393B (zh) 2017-03-21
US20140115554A1 (en) 2014-04-24
CN103778273A (zh) 2014-05-07
TW201419020A (zh) 2014-05-16
US8645893B1 (en) 2014-02-04
CN103778273B (zh) 2017-09-22
KR20140051774A (ko) 2014-05-02

Similar Documents

Publication Publication Date Title
KR101724261B1 (ko) 표준 셀들과 적어도 한 개의 메모리 인스턴스를 포함하는 집적회로의 레이아웃 생성방법
US10268793B2 (en) System and method for designing cell rows
US20120209888A1 (en) Circuit and Method of a Memory Compiler Based on Subtraction Approach
JP4761859B2 (ja) 半導体集積回路のレイアウト設計方法
US20090113370A1 (en) Layout designing method for semiconductor device and layout design supporting apparatus for the same
JP4204444B2 (ja) 半導体集積回路の設計方法
JP4629189B2 (ja) レイアウト方法、レイアウト装置及び記録媒体
US8234605B2 (en) Minimal leakage-power standard cell library
CN104600115A (zh) 用于设计Fin-FET半导体器件的方法和系统
US9904752B2 (en) Methods for distributing power in layout of IC
KR100293021B1 (ko) 집적회로장치의제조방법및집적회로장치
US9892226B2 (en) Methods for providing macro placement of IC
US20220147683A1 (en) Method for implementing an integrated circuit comprising a random-access memory-in-logic
GB2520275A (en) A method of generating a layout of an integrated circuit comprising both standard cells and at least one memory instance
US7844935B2 (en) Wiring design system of semiconductor integrated circuit, semiconductor integrated circuit, and wiring design program
JP2006202923A (ja) 半導体装置の設計方法、半導体装置の設計プログラム
JP4187714B2 (ja) 半導体メモリのレイアウト方法及び半導体メモリ
JP5832759B2 (ja) 半導体集積回路の設計方法
JP3481921B2 (ja) 回路パターンの配置方法及び本配置方法を適用したレジスタ回路
JP2667274B2 (ja) スタンダードセルチップの開発支援装置
JP2008071109A (ja) 集積回路設計方法
JPH096826A (ja) 半導体集積回路の設計方法
JPH0844781A (ja) コンパイルド・メモリのレイアウト方法
JP2012146371A (ja) 半導体記憶装置、半導体記憶装置の設計方法、および半導体記憶装置の設計支援装置
JP2004304197A (ja) 半導体集積回路の製造方法

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