KR19980079436A - 시스템-온-칩 레이아웃 컴파일링 방법 및 시스템 - Google Patents

시스템-온-칩 레이아웃 컴파일링 방법 및 시스템 Download PDF

Info

Publication number
KR19980079436A
KR19980079436A KR1019970054290A KR19970054290A KR19980079436A KR 19980079436 A KR19980079436 A KR 19980079436A KR 1019970054290 A KR1019970054290 A KR 1019970054290A KR 19970054290 A KR19970054290 A KR 19970054290A KR 19980079436 A KR19980079436 A KR 19980079436A
Authority
KR
South Korea
Prior art keywords
dram
chip
logic
layout
macros
Prior art date
Application number
KR1019970054290A
Other languages
English (en)
Other versions
KR100264487B1 (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 KR19980079436A publication Critical patent/KR19980079436A/ko
Application granted granted Critical
Publication of KR100264487B1 publication Critical patent/KR100264487B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/323Translation or migration, e.g. logic to logic, hardware description language [HDL] translation or netlist translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/02System on chip [SoC] design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Dram (AREA)

Abstract

본 발명은 DRAM 구성소자 및 로직 구성소자로 구성되는 설계에 대한 하드웨어 기술 언어(hardware description language: HDL) 및 스키매틱 기술(schematic description)로부터 단일 집적형 칩(single integrated chip) 상에 집적된 로직(logic) 및 DRAM 시스템의 레이아웃(layout)을 컴파일(compile)하는 레이아웃 컴파일러(layout compiler)를 개시한다. 레이아웃 컴파일러는 집적형 로직/DRAM 칩의 물리적 구조(physical structure)(플로어-플랜(floor-plan))를 생성하고, DRAM 구성소자와 로직 구성소자들 사이의 온-칩 상호접속(on-chip interconnection)을 발생시킨다. 로직 및 DRAM 메모리를 동일 칩 상에 집적함으로써, 로직 프로세서의 데이터 처리 속도와 DRAM 메모리의 데이터 액세스 속도 사이의 차이인 성능 갭(performance gap)이 최소화될 수 있다. 또한, 로직 프로세서와 DRAM 메모리 사이의 대역폭(bandwidth)도 크게 증가될 수 있다. 본 발명의 레이아웃 방법은 오프-칩 드라이버(off-chip driver) 및 오프-칩 상호접속에 따른 과도한 용량성 부하(heavy capacitive load)를 제거한다. 집적형 로직/DRAM 칩이 고주파수(high frequency)로 동작하므로 전력 소모가 낮아진다. 본 발명의 방법은 더 높은 대역폭 및 시스템 성능, 저전력 소모 및 낮은 패키징 비용(packaging cost)을 달성할 수 있는 방식으로 로직 구성소자와 DRAM 구성소자들 사이의 온-칩 금속 상호접속이 최적화될 수 있도록 해준다.

Description

시스템-온-칩 레이아웃 컴파일링 방법 및 시스템
본 발명은 로직 및 메모리 구성소자의 단일 칩 구현에 관한 것으로, 특히 로직 및 DRAM 회로가 최적화된 플로어 플랜, 매크로 및 레이아웃 구조 형태를 가지도록 로직 구성소자 및 메모리 구성소자로 구성된 설계에 대한 하드웨어 기술(記述) 언어(hardware description language: HDL)를 실리콘 칩 상의 레이아웃으로 변환(translate)(컴파일)하는 시스템-온-칩 레이아웃 자동화 방법에 관한 것이다.
오늘날의 마이크로프로세서 및 메인 메모리에서는 새로운 세대의 칩이 등장 할 때마다, 프로세서의 계산 속도(예를 들어, MIPS(초당 백만 인스트럭션(instruction))로 측정됨)와 메모리의 데이터 액세스 속도 사이의 차이인 성능 갭(performance gap)이 점점 더 커지고 있다. 그래픽 제어기(graphic controller)(프로세서)와 프레임 버퍼(frame buffer)(메모리) 사이의 대역폭 병목 현상(bandwidth bottleneck)이 디스플레이 서브시스템의 성능을 제한한다.
프로세서 및 DRAM을 사용하는 시스템에서의 상기와 같은 문제점들이 발생하는 주요 원인은 프로세서 칩 및 메모리 칩이 개별 칩(separate chip)으로 구현된다는 점이다. 이러한 문제를 해결하려는 시도들이 있는데, 예를 들면 개별 실리콘 칩들을 함께 하우징(housing)하기 위해 다중층 세라믹 모듈(multi-layer ceramic module: MCM) 기술 또는 절연체 상의 실리콘(silicon on insulator: SOI) 캐리어(carrier) 기술을 사용하는 방법 등이 있다. 그러나, 이러한 방법들은 프로세서(로직) 및 메모리(DRAM)가 서로 다른 칩 내에 구현되므로써 결과적으로 프로세서와 메모리 사이의 대역폭이 제한되고 오프-칩 상호접속(off-chip interconnection) 내에 존재하는 용량성 부하(capacitive load)가 커져서 전체 시스템 성능이 여전히 제한된다는 문제를 해결하지 못한다.
따라서, 본 발명의 목적은 DRAM 매크로 및 로직 매크로(예를 들어, 게이트 어레이, 표준 셀(standard cell), 커스텀 설계 회로(custom design circuit), 마이크로프로세서, 테스팅 회로(testing circuit))로 구성되는 설계에 대한 하드웨어 기술(記述) 언어(hardware description language: HDL) 및 스키매틱 기술(記述)(schematic description)로부터 단일 집적형 칩(single integrated chip) 상에 집적된 로직(logic) 및 DRAM 시스템의 레이아웃(layout)을 컴파일링(compiling)하는 레이아웃 컴파일러(layout compiler)를 제공하는 것이다.
본 발명의 또다른 목적은 시스템/회로에 대한 스키매틱 기술(記述)로부터 집적된 로직/DRAM 칩의 물리적 구조(플로어-플랜)를 생성하기 위한 레이아웃 컴파일러를 제공하는 것이다.
본 발명의 또다른 목적은 기본적인 DRAM 빌딩 블록(basic DRAM building block)으로부터 광범위한 집적된 로직/DRAM 응용을 위한 상이한 크기의 메모리 용량, 뱅킹(banking) 및 입력/출력(I/O) 대역폭, 상이한 처리 방식(addressing schemes), 상이한 동작 모드(예를 들어, 비동기, 동기, 페이지(page), 파이프라이닝(pipelining) 및 인터리빙(interleaving)) 및 타이밍 요구(timing requirement)를 가지는 확장 가능한 내장(embedded)형 DRAM 매크로의 물리적 구조, 회로 및 레이아웃을 생성하는, 집적형 로직/DRAM 칩을 위한 컴파일러 설계 시스템의 핵심 구성소자(key component)인, DRAM 컴파일러/구성기(configurator)를 제공하는 것이다.
본 발명의 또다른 목적은 프로세서 및 메모리 시스템에 대한 종래 기술의 개별 멀티-칩(discrete, multi-chip) 구현에서의 대역폭 병목 현상 문제를 해결하기 위해 DRAM 매크로와 로직 매크로 사이의 온-칩 상호접속을 발생시키는 레이아웃 방법을 제공하는 것이다.
본 발명에 따르면, 로직 프로세서 및 DRAM 메모리들이 단일 칩으로 집적된다. 이는 상술한 프로세서/메모리 성능 갭 및 대역폭 문제를 해결한다. 로직 및 DRAM 메모리를 동일한 칩 상에 집적시킴으로써, 로직 프로세서의 최대 데이터 처리 속도와 DRAM 메모리의 최대 데이터 액세스 속도 사이의 차이가 최소화될 수 있다. 본 발명에서 개시되는 레이아웃 방법에서는 프로세서 및 메모리 시스템에 대한 종래 기술의 개별 멀티-칩 구현에서의 오프-칩 드라이버 문제 및 오프-칩 상호접속에 존재하는 큰 용량성 부하의 문제가 제거된다. 집적형 로직/DRAM 칩이 고주파수로 동작하므로 전력 소모가 낮아진다.
본 발명에 따른 레이아웃 방법은 프로세서와 메모리 사이의 오프-칩 드라이버 및 큰 용량성 부하를 제거하게 되므로, 결과적으로 집적된 프로세서 및 메모리 칩의 클럭 주파수가 시스템 성능을 향상시키도록 더 증가될 수 있다. 본 발명의 레이아웃 방법은 프로세서 및 메모리 시스템에 대한 종래의 DRAM 패키징에서의 핀 밀도 제한(pin density constraints)을 제거하는 DRAM 매크로와 로직 매크로 사이의 온-칩 상호접속을 제공한다. 또한, 본 발명의 레이아웃 방법은 DRAM 매크로의 내부 레이아웃(internal layout)의 변경이 가능하도록 해준다. 그 결과, 프로세서 및 메모리 시스템에 대한 전체 설계가 그 성능이 더 향상될 수 있고 또 특정 응용을 위해 커스텀화(customizing)될 수 있다. 또한, 본 발명의 레이아웃 방법은 집적된 프로세서 및 메모리 칩 레이아웃의 전체 성능 및 동작을 최적화시키도록 제어 로직 매크로/회로가 가변적(flexible)으로 추가될 수 있도록 한다.
도면을 참조하여 본 발명의 바람직한 실시예에 대한 다음의 상세한 설명으로부터 상기 및 다른 목적, 특징 및 장점들을 보다 잘 이해할 수 있다.
도 1은 종래의 멀티-칩(multi-chip) 프로세서 메모리 시스템의 블록도.
도 2는 프로세스와 메모리 사이에 온-칩 상호접속을 가지는 단일 프로세스 메모리 칩의 블록도.
도 3은 외부 버스에 접속된 로직 및 DRAM 칩을 사용하는 종래 시스템의 블록도.
도 4a 내지 도 4d는 단일 칩 상에 통합된(merged) 다양한 로직 DRAM 시스템의 블록도.
도 5는 외부 버스에 접속된 로직 및 DRAM 칩을 사용하는 종래의 시스템을 나타내며 또 상기 시스템의 대역폭 문제를 도시하는 블록도.
도 6은 커스텀화된 DRAM(DRAM customization)을 갖는 단일 칩 상의 로직 및 DRAM의 블록도.
도 7은 n 메가비트 어레이 및 m-비트 I/O 경로를 가지는 확장 가능한 2-차원 DRAM 매크로(two-dimensional growable DRAM macro)를 도시하는 블록도.
도 8은 DRAM 매크로 및 게이트 어레이 로직(gate array logic), 커스텀 매크로(custom macro), 위상 고정 루프(phase locked loop: PLL), 및 칩 I/O 드라이버를 합체한 집적된 로직/DRAM 칩의 칩 레이아웃 구조.
도 9는 본 발명에 따른 시스템-온-칩 설계 시스템의 블록도.
도 10은 본 발명을 사용하여 구현된 통합형 미디어 메모리(Unified Media Memory: UMM)의 블록도.
도 11은 UMM 칩 플로어 플랜(floor plan).
도 12는 UMM 회로의 개략도.
도 13은 UMM 칩 레이아웃의 마이크로포토그래프(microphotograph).
도 14는 집적된 로직/DRAM 칩의 레이아웃 컴파일의 흐름도.
* 도면의 주요부분에 대한 부호의 설명
901 : DRAM 구성기/컴파일러
902 : DRAM 메모리 서스시스템 사양
903 : 하드웨어 기술(記述) 데이터베이스
904 : 로직, 회로 데이터베이스
905 : 커스텀 레이아웃 기능부
906 : 레이아웃 데이터베이스
907 : 버스, 인커페이스 합성기
908 : I/O 사양
909 : 로직 합성기
910 : 마이크로프로세서 코어 사양
911 : 캐쉬 사양
912 : DSP 사양
913 : 시스템 제어 버스 사양
914 : 그래픽 서브시스템 사양
915 : 아날로그 서브시스템 사양
916 : 클럭, 타이밍 분석기
917 : 회로 라이브러리 규칙 데이터베이스
918 : DSP 합성기
919 : 배치 및 라우팅 수단
920 : 기술(技術) 변환 기능부
921 : RC 타이밍 데이터베이스
922 : 회로 시뮬레이션
923 : 테스트 패턴 발생
924 : DRC, LVS 체킹 기능부
925 : 칩 집적 수단
도면을 참조하면, 도 1에는 오프-칩 상호접속 (13)(예를 들면, 시스템 버스)에 의하여 통상 DRAM 칩으로 구성된 메모리 (12)에 프로세서 (11)이 접속된 종래의 멀티-칩 프로세서 및 메모리 시스템이 도시된다. 상기 시스템은 오프-칩 상호접속되기 때문에 대역폭이 제한되고 큰 용량성 부하로 인해 전력 소모가 크다는 문제를 가진다.
도 2는 프로세서 (21)이 온-칩 상호접속 (23)에 의하여 DRAM (22)에 접속되는 단일형 프로세서 메모리를 도시한다. 도 2에 도시된 바와 같이 오프-칩 상호접속을 사용하지 않음으로써, 프로세서가 사용 가능한 메모리 데이터 전송 속도(단위 시간당 비트 수)의 크기가 DRAM I/O 및 내부 제어를 직접 액세싱함으로써 더 높은 차수의 크기로 될 수 있으므로 대역폭 문제가 대부분 해결될 수 있다.
종래의 멀티-칩 프로세서 메모리 시스템에서는 도 1에 도시된 바와 같은 오프-칩 상호접속에 존재하는 큰 용량성 부하로 인하여 전력 소모가 크나, 도 2에 도시된 바와 같이 동일한 칩 상에 프로세서 및 DRAM을 집적하면 온-칩 상호접속의 길이 및 용량성 부하가 훨씬 더 작기 때문에 전력 소모가 훨씬 더 줄어들 수 있고 또 와이어 길이(wire length)를 최소화시키므로써 더 최적화될 수 있다. 그 결과, 더 양호한 성능을 제공하도록 시스템 클럭 속도가 증가될 수 있다.
도 3은 시스템 버스와 같은 공통 버스 (33)에 접속된 멀티플 칩(multiple chip)의 로직 (31) 및 DRAM (32)를 가지는 종래의 시스템을 도시한다. 이와는 달리, 도 4a 내지 도 4d는 DRAM 칩 및 로직 칩들이 단일 칩 상에서 결합될 수 있는 다양한 형태(또는 칩 플로어 플랜)를 도시한다. 도 4a는 DRAM 및 로직 구성소자를 단일 칩 상에 배치하는 기본 구조이다. 로직 부분(logic portion)은 하나 이상의 프로세서, 제어 유닛, 및 그래픽, 디지털 신호 처리기와 같은 다양한 서브시스템 등을 포함한다. DRAM부는 로직부를 위한 메모리/캐쉬를 구현한다. DRAM 및 로직부들은 고 대역폭, 온-칩 버스에 의해 접속된다. 칩 I/O 인터페이스 및 클럭 발생과 같은 다른 구성소자들 역시 포함된다.
도 4b, 도 4c 및 도 4d들은 다른 형태의 집적형 로직/DRAM 칩이다. 도 4b는 구체적으로는 형태 인자(form factor), 예를 들어 세분성(granularity)을 만족하고 최적화시키기 위한 목적, DRAM 대역폭을 증가시키는 목적 등과 같은 다양한 목적을 위하여 다수의 DRAM 매크로로 분할된 DRAM을 가지는 집적된 로직/DRAM 칩을 도시한다.
도 4c는 마이크로프로세서(μP), 2가지 레벨로 된 캐쉬(CA1) 및 (CA2), DRAM 기초형 메모리(DRAM based memory), 시스템 및 버스 제어 유닛, 멀티미디어 응용을 위한 디지털 프로세서(DP) 및 비디오 엔진(video engine: VE), 통신 및 그래픽 응용을 위한 아날로그 서브시스템(analog subsystem: AS), 및 클럭 서브시스템 및 칩 I/O 인터페이스를 구비한 칩 상에 집적된 컴퓨팅 시스템을 도시한다.
도 4d는 그래픽, 하드웨어 시뮬레이션(simulation) 등과 같은 병렬 처리 응용을 위해 로직 및 DRAM 구성소자로 각각 구성된 프로세싱 소자(processing element, 이하에서는 P라함) 어레이를 도시한다. 각각의 프로세싱 소자 P는 로컬 집적형(local integrated) 로직/DRAM 유닛이며, 이는 로직 프로세서, 제어 유닛, 로컬 DRAM 메모리(local DRAM memory) 및 로컬 버스로 구성된다. 프로세싱 소자 P는 2차원 글로벌 버스(global bus)를 통하여 상호접속된다. 시스템 제어 유닛은 칩에 대한 전체 시스템 제어 역할을 맡는다.
종래의 메모리 설계에서는 레이아웃을 완전히 최적화시키기 위하여 수많은 수작업 시간(many man-years)이 걸리는 수동 작업(manual work)을 요구하는 시간이 많이 소모되는 프로세스를 사용한다. 이러한 방법은 대규모 생산(large volume production)에 대해서는 매우 효율적이다. 최근에는 더 광범위한 I/O, 동기 인터페이스, 파이프라이닝(pipelining) 및 인터리빙 멀티-뱅크 아키텍쳐(multi-bank architecture)와 같은 새로운 아키텍쳐를 사용함으로써 프로세서 성능을 프로세서들 사이에서 정합시키도록 시도하는 다양한 DRAM 칩들이 등장했다.
본 명세서에서 설명되는 방법은 DRAM 매크로 구조를 재구성할 수 있도록 함으로써 특정 응용에서의 요구 사항을 만족시키는데, 이는 DRAM 매크로의 내부 구조 및 레이아웃이 온-칩 상태로 액세싱 가능하며, 따라서 로직 대응부(logic counterpart)를 사용하여 성능 및 기능 개선을 위해 DRAM 구조의 재구성이 가능해지기 때문이다. 도 5는 개별 DRAM 칩 (52) 및 로직 칩 (51)을 구비한 시스템을 도시한다. 도시된 예에서는 각 DRAM의 I/O가 b-비트 폭을 가지며 또 DRAM은 n 비트를 각각 가지는 m개의 DRAM 칩이 도시된다. 따라서, n×m 비트인 DRAM이 되며, 또 시스템 대역폭은 f가 시스템 클럭 주파수인 경우 f × b가 된다.
도 6은 개별형인 경우의 DRAM들이 다수의 DRAM 매크로 형태로 단일 칩 상에 집적되는 다른 방법을 도시한다. 온-칩 DRAM 매크로 구성은 (1) 온-칩 DRAM 매크로의 수 M, (2) 각각의 DRAM 매크로 내의 서브-DRAM 매크로의 수 Y, (3) 각각의 서브-DRAM 매크로 내의 기본 DRAM 빌딩 블록(A)의 수 X, (4) 매크로당 I/O 데이터 비트 수 B, (5) 내부 비트 라인, 워드 라인 등뿐만 아니라 외부 온-칩 어드레스, 데이터, RAS, CAS, CE 등 및 제어 버스를 구동하기 위한 DRAM 매크로 내의 드라이버의 출력 구동 전력(driving power)을 사용하여 커스텀화될 수 있다. DRAM 매크로에 대한 I/O의 최대값 Bmax는 Bmax= X Imax로 주어지고, 여기서 Imax는 기본 빌딩 블록 (A)가 제공할 수 있는 최대 I/O이다.
집적된 로직/DRAM 칩 내에 M개의 DRAM 매크로가 있다고 가정하자. 매크로는 K개의 그룹(또는 뱅크)으로 분할됨으로써 주어진 임의의 싸이클에서 특정 뱅크의 M/K 매크로들이 작동할 수 있게 된다. 전체 온-칩 DRAM I/O 폭은 BM/K 비트인데, 이는 개별형인 경우의 b 비트보다는 훨씬 크다. 만일 집적된 로직/DRAM 칩이 클럭 주파수 F로 작동한다면, 로직/DRAM 데이터 버스의 대역폭은 FBM/K 비트/초이다. 일반적으로 F가 f(개별 멀티-칩 구성의 버스 클럭 주파수)보다 크고(빠르고) 또 집적된 경우에 대한 DRAM I/O 폭 B가 개별형인 경우의 b보다 더 크기 때문에, 집적된 경우의 전체 데이터 버스 대역폭은 개별형 경우의 fb 비트/초보다 훨씬 큰 FBM/K이다.
도 7은 가변 용량(X, Y, a-비트) 및 가변 I/O 폭(B 비트)을 갖는 2차원 확장가능 가변 DRAM 매크로의 블록도를 도시하는데, 여기서 a는 기본 빌딩 블록 A 내의 비트수이다. DRAM 매크로의 가변 용량은 DRAM 매크로 내의 로우 디코더(row decoder) 및 어드레스 라인을 예를 들어 1 Mb, 2 Mb, 3 Mb, … , 16 Mb로 커스텀화시킴으로써 가능해진다. 이러한 방법은 DRAM이 개별 칩으로서 구현되는 경우에는 가능하지 않다. 각각의 DRAM 서브-매크로의 서브-어레이 내에서 센스 증폭기(sense amplifier), 칼럼 디코딩 로직, 주변 회로(도 7에 도시된 DRAM 매크로의 하단부에 위치됨) 내의 I/O 접속을 구성함으로써, 예를 들어 X1, X4, X8, X16 등과 같은 가변 I/O 폭(B-비트)을 가지는 DRAM 매크로가 발생될 수 있다. DRAM 매크로의 x 및 y 크기(dimension)가 변경되기 때문에, 비트 라인, 워드 라인에 대한 드라이버가 부하 저항 및 커패시턴스의 변경에 따라 조정된다. DRAM 매크로의 출력 드라이버의 구동 전력은 부하의 저항 및 커패시턴스가 변경됨에 따라 외부 온-칩 어드레스, 데이터, RAS, CAS, CE 등 및 제어 버스를 구동하도록 프로그램된다.
개별형 DRAM인 경우 어드레스 I/O 핀 수 제한(pin count constraint)에 기인하여 멀티플렉싱(multiplexing)되는 대신에 온-칩(on-chip) DRAM 매크로의 어드레스 라인은 커스텀 로우 디코더(custom row decoder)로부터 병렬로 직접 액세싱될 수 있다. 그 결과, 온-칩 DRAM은 개별형 멀티-칩 로직/DRAM 구성과 비교하여 어드레스 설정 시간(address setup time)이 더 짧다는 장점을 가진다.
온-칩 DRAM 매크로의 커스텀 주변부(도 7 참조) 내에 파이브라인 레지스터(pipeline register)를 추가함으로써, 종래의 개별형 DRAM의 판독/기입 액세스 시간이 동기 모드(synchronous mode)로 동작시 몇개의 더 작은 시간 간격(time step)으로 분할될 수 있다. 따라서, 온-칩 DRAM 매크로는 수배 빠른(a few times faster) 클럭 주파수로 작동할 수 있고, 또 데이터는 훨씬 빠른 속도로 로직 및 DRAM 사이에서 판독 또는 기입될 수 있다. 동기식 파이프라인 싸이클 시간(synchronous, pipeline cycle time)에 대한 판독/기입 액세스 시간의 비율은 DRAM 매크로에 대한 칩 아키텍쳐 설계 파라메타(design parameter)이다.
본 명세서에서 설명된 방법은 ADDR, RAS 및 CAS 타이밍, DRAM 제어 신호(WE, CE)의 타이밍, 클럭 주파수와 같은 DRAM 매크로의 특정한 요구를 정합시키는 방식으로 프로세서/로직 및 DRAM 사이의 인터페이스를 수정할 수 있도록 한다. 동기, 비동기, 페이지 모드 등과 같은 상이한 DRAM 모드는 로직/DRAM 인터페이스 회로를 설계함으로써 전체 칩 아키텍쳐에 합체될 수 있다. 그 결과, 로직과 DRAM 사이의 전체 성능이 더 개선될 수 있다.
본 명세서에서 개시되는 방법은 로직 매크로 및 DRAM 매크로를 동일한 칩 상에 집적시키며, 또 이들의 결합 동작 및 전체 성능을 최적화시키는데, 이는 로직 및 DRAM 구성소자들이 집적 프로세스 과정 동안 액세싱이 가능하기 때문이다.
본 명세서에서 개시되는 방법은 로직 매크로 및 DRAM 매크로를 동일한 실리콘 칩 상에 집적하는 것과 관련된 노이즈 문제(noise problem)를 해결한다. DRAM 및 로직이 상이한 칩 상에 배치되는 경우, 로직 회로에 기인한 dI/dt 스위칭 노이즈가 DRAM 셀 및 센스 증폭기로부터 격리된다. 로직 매크로 및 DRAM 매크로가 동일한 칩 상에 배치되는 경우, 로직 회로로부터의 스위칭 노이즈는 전력 공급 버스를 통하여 전달/결합되어 DRAM 회로의 적절한 동작에 영향을 줄 수 있는데, 이러한 영향은 DRAM 전압 공급원의 전압 열화(voltage degradation)에 기인한다. 전력 버스(power bus)의 커패시턴스를 분리 및 전력 버스를 라우팅하는 특수한 구성은 로직 및 DRAM 회로 사이의 노이즈 커플링(noise coupling)을 격리시키는 것이다(이하에서, 도 11 및 도 14를 참조하여 설명됨).
도 8은 4개의 DRAM 매크로(예를 들어 4-6 Mbit), 게이트 어레이 로직 매크로, 커스텀 매크로, 위상 고정 루프와 같은 다른 지원 매크로, 및 저전력 비디오 디스플레이 응용을 위한 칩 I/O 드라이버로 구성된 집적된 로직/DRAM 칩의 칩 레이아웃 구조를 도시한다. DRAM 매크로는 개별 멀티-칩 구현에서 사용되는 프레임 버퍼(frame buffer) 역할을 한다.
도 9는 본 발명에 따른 시스템-온-칩 레이아웃 컴파일러를 위한 방법 및 시스템을 도시한다. 메모리 구성소자 및 로직 구성소자로 구성된 칩 설계에 대한 하드웨어 기술 언어(HDL)로부터 시작하여, 컴퓨터-지원 설계(computer-aided design: CAD) 단계를 거쳐 HDL이 칩 플로어 플랜, 매크로 레이아웃으로 컴파일된 다음 최종적으로 칩의 완전한 레이아웃으로 컴파일될 수 있다.
컨트롤 매크로, 프로세서 메모리, DRAM 매크로, 칩 I/O, 클럭 매크로 및 다양한 아날로그, 그래픽, 디지털 신호 프로세싱 서브시스템들로 구성된 HDL 및 스키매틱 기술(記述)들은 단일 칩의 레이아웃으로 컴파일된다. 프로세서 및 DRAM들이 종래에는 개별 칩으로 제조되는 반면에, 본 발명은 결합된 로직/DRAM 칩의 일반적인 물리적 구조(플로어-플랜)를 개시(describe)한다. 본 발명에 따른 방법은 DRAM 매크로 및 로직 매크로로 된 물리적 구조를 발생시키며, 또 저전력 소모 및 작은 싸이클 타임을 위한 상이한 DRAM 매크로와 로직 매크로 사이의 작은 커패시턴스, 온-칩 상호접속을 발생시켜 최적화시킨다. 또한, 본 발명에 따른 방법은 집적된 로직/DRAM 칩에 대한 전체 칩 레이아웃도 역시 발생시킨다.
종래의 설계 시스템에서는 프로세서 및 로직이 하나의 칩 내에 배치되고 DRAM은 다른 단일 칩 내에 배치되도록 하는 문제를 주로 취급하고 있으며, 또 본 명세서에서 개시되는 단일 칩 상에서 결합된 로직 및 DRAM 매크로 문제가 다루어 지지는 않는다. DRAM 칩 레이아웃은 DRAM을 대량으로 생산하기 위해 고밀도(high density) 및 고수율(high yield)을 달성하도록 주로 수동작업으로 행해져 왔다. 본 발명은 집적형 로직/DRAM 칩에 대한 요구 사항에 따라 DRAM 매크로의 메모리 용량, I/O 폭, 액세스 타임, R/W 모드와 같은 물리적 구조를 구성하기 위한 순차적인 컴퓨터-지원 설계의 단계에 관한 것이다. 또한, 본 발명의 방법은 단일 칩 상에서 DRAM 매크로와 함께 기능하는 로직 매크로의 구조/레이아웃을 생성한다.
또한, 본 발명의 방법은 설계에 대한 하드웨어 기술(記述)로부터 개별 DRAM 매크로, 및 개별 로직 매크로를 포함하여 집적형 로직/DRAM 칩의 전체적인 물리적 구조(플로어 플랜)를 발생시킨다. 또한, 본 발명의 방법은 집적형 로직/DRAM 칩의 최종 레이아웃을 형성하기 위해 다양한 DRAM 및 로직 매크로를 어셈블링한다.
칩 상에 집적된 시스템은 앞서 설명된 바와 같은 다수의 기능적으로 별개인 엔터티(functionally distinct entity)(또는 매크로)들로 구성된다. 마이크로프로세서, 그래픽/비디오 제어기, 디지털 신호 처리기와 같은 몇몇 엔터티들은 보다 복잡한 칩(complex chip)을 형성하기 위한 설계 집적(design integration)시 수정되지 않는, 양호하게 정의되고 규정된 내부 기본 코어(basic core)를 가진다.
도 9에 도시된 바와 같이, DRAM 구성기/컴파일러 (901)은 DRAM 메모리 서브시스템 사양(specification) (902)로부터 입력을 수신하여 집적된 DRAM 및 로직 시스템에 대한 기능 및 타이밍 요구 사항, DRAM 매크로 용량 및 대응 어드레스 라인, 동기 파이프라인 클럭 속도, I/O 폭 등을 만족시키도록 앞서 설명된 바와 같이 DRAM 서브매크로 및 서브어레이, 어드레스 로우 및 칼럼 디코더, 프리미티브 DRAM 어레이(primitive DRAM array)에 기초한 주변 타이밍 및 I/O 회로, 센스 증폭기, 디코더 등을 구성함으로써 DRAM 매크로의 전체 회로 및 레이아웃을 발생시킨다. DRAM 구성기 (901)의 출력은 3가지 데이터베이스(database), 예를 들어 하드웨어 기술 데이터베이스 (903), 로직 및 회로 데이터베이스 (904) 및 커스텀 레이아웃 기능부 (905)를 통한 레이아웃 데이터베이스 (906)에 공급된다. DRAM 매크로들이 개별 DRAM의 경우처럼 단일 특정 설계(single unique design)로 최적화되지 않기 때문에, 요구되는 집적형 로직/DRAM의 응용 범위를 위한 타이밍 및 기능 요구 사항을 만족시키기 위하여는 모듈형(modular) 및 파라메터형(parametric) 기법들이 DRAM 매크로에 대한 회로 및 레이아웃을 규정 및 생성시키는데 사용된다.
버스 및 인터페이스 합성기 (907)은 I/O 사양 (908)로부터 입력을 수신하여 다양한 로직 및 DRAM 매크로를 칩 상에 접속(함께 결합(glue))시키기 위해 요구되는 로직 및 시스템 버스에 관련된 로직을 합성한다. HDL로 기술된 매크로들 사이의 신호 접속도 정보(signal connectivity information)와 함께, 로직 극성(logic polarity), 타이밍 정보 및 다양한 매크로들 사이의 입력/출력 로딩, 버스의 커패시턴스 로딩 및 RC 지연 타이밍 요구 사항들이 합성기에 입력된다. 합성기는 칩의 기능에 대한 입력 요구 사항에 따라 버퍼, 드라이버 및 래치(latch)를 합성한다.
버스 및 인터페이스 합성기 (907)의 출력은 역시 마이크로프로세서 코어 사양 (910), 캐쉬 사양 (911), 디지털 신호 처리기(DSP) 사양 (912), 시스템 제어 및 버스 사양 (913), 그래픽 서브시스템 사양 (914) 및 아날로그 서브시스템 사양 (915)로부터 입력을 수신하는 로직 합성기 (909)에 입력된다. 도 9에 도시된 바와 같이, 다양한 서브시스템(그래픽, 디지털 신호 처리기, 아날로그 등)을 위한 전체 시스템 제어 및 컨트롤 로직에 대하여, 이들에 대응하는 로직 회로 기술(記述)들이 로직 합성기 (909)에 의해 발생된다. 로직 합성기에 대한 입력은 HDL 기술(記述), 클럭 및 타이밍 분석기 (916)으로부터의 타이밍 사양, 제어 회로가 형성되도록 하는 회로 라이브러리(circuit library) 및 규칙 데이터베이스(rule database) (917)로부터의 배경 회로 라이브러리(underlying circuit library) 등이다. 로직 합성기 (909)의 출력은 로직 회로(로직 게이트)이며 이는 로직 회로 데이터베이스 (904)에 저장된다. 그 다음으로, 다양한 제어 로직 매크로의 로직 회로(게이트)들이 레이아웃을 형성하도록 배치되어 라우팅된다.
디지털 신호 처리기(DSP) 합성기 (918)은 로직 회로 데이터베이스 (904)에 저장되는 DSP에 대한 데이터 경로 회로(data path circuit)를 발생한다. 데이터 경로 회로는 가산기, 곱셈기, 쉬프터(shifter), 디지털 필터 등과 같은 수치산정(數値算定) 소자(computational element)이다. DSP의 제어 로직은 로직 합성을 사용하여 합성된다. 그 다음으로, 데이터 경로 회로는 특정 목적 데이터 경로 배치 및 라우팅 수단(special purpose data path place-and-route tools) (919)를 사용하여 배치 및 라우팅된다.
그래픽 서브시스템 규정(914)는 주로 제어 로직, 커스텀 로직, 프로세서 및 SRAM으로 구성된다. 제어 로직은 합성된다. 커스텀 로직은 커스텀 레이아웃(905)에 의해 주문 설계(custom design)되며, 또 만일 필요한 경우 장치 폭(device width)과 같은 몇몇 회로 파라메터들이 성능 향상을 위해 튜닝(tuning)된다. 레이아웃은 컴퓨터 지원 커스텀 레이아웃 수단(computer assisted custom layout tool)에 의해 행해진다. 그래픽 프로세서 및 특정 목적 SRAM들은 주문 설계되거나, 또는 그래픽 프로세서 코어, 확장가능 SRAM 등과 같은 기존 설계로부터 커스텀화되어 변환된다.
마이크로프로세서, SRAM 캐쉬, 특정 목적 수치산정(數値算定) 코어(computing core)와 같은 몇몇 기능 유닛들은 이미 다른 기술(技術)에 의해 HDL에 따른 로직 및 레이아웃 형태로 형성될 수 있기 때문에, 이들은 기술(技術) 변환 기능부(technology migration function) (920)을 사용하여 본 발명의 설계 기술(技術)로 변환되어 본 발명의 설계에 합쳐질 수 있다. 이전 레이아웃의 대부분의 레이어(layer)들은 본 발명의 기술(技術)의 대응하는 레이어로 맵핑될 수 있다. 또한, 레이아웃의 모양(shape)은 본 발명의 레이아웃 설계 규칙을 만족하도록 수정된다. 대응 맵핑 기능을 구비하지 않은 경우는 상이한 금속층 및 비어(via)를 사용하는 방법과 같은 특정한 변환이 행해져야 한다. 트랜지스터 장치 채널 길이(transistor device channel length)는 본 발명의 기술(技術)에 따르는 크기를 가지며, 그에 대응하여 와이어 크기 및 그리드가 맵핑된다. 새로운 레이아웃 내의 장치의 기생, 타이밍 특성(parasitic, timing characteristic)은 다시 생성되어야 하며 또 레이아웃 및 로직/회로 데이터베이스도 갱신되어야 한다.
클럭 및 타이밍 분석기 (916)은 전체 칩의 모든 신호 타이밍을 분석한다. 이는 가장 느린 신호를 칩 입력으로부터 특정 래치로 위치시키고, 래치들 사이에 위치시키며, 또 래치 출력으로부터 칩 출력으로 위치시킨다. 또한, 이는 너무 이른 시간에 래치에 도달할 수 있는 가장 빠른 신호를 역시 위치시킨다. 그 다음으로, 클럭 및 타이밍 분석기는 상기 신호 타이밍을 래치 및 칩 I/O에서의 타이밍 요구 사항과 비교한다. 슬랙(slack)은 신호 도달 시간과 싸이클 타임 요구 사항을 만족하기 위하여 예견되는 요구 시간 사이의 차이이다. 최악의 슬랙(worst slack)은 모든 스큐(skew) 가운데 최소값이다. 이는 주어진 설계가 전체 타이밍 요구 사항을 만족하는 경우로부터 얼마나 벗어났는가를 나타내는 표시자(indicator)이다. 클럭 및 타이밍 분석기 (916)은 전체 신호 지연, 신호 상승(rise) 및 하강(fall) 시간을 계산하기 위한 와이어링의 RC 지연 및 장치 내에서의 지연을 포함하여 게이트 또는 트랜지스터 레벨에서의 타이밍을 분석한다. 저항, 커패시턴스 및 RC 지연 정보들은 RC 타이밍 데이터베이스 (921) 내에 저장된다. 이들은 추출된 레이아웃으로부터 획득되어 계산된다. 클럭 및 타이밍 분석기 (916)은 클럭 신호에 대해 유사한 분석을 행한다. 이는 클럭 와이어 지연(wire delay) 및 스큐(skew)를 포함하여 모든 래치에서의 클럭 신호 타이밍을 분석한다. 타이밍 분석 결과는 설계 데이터베이스에 저장되어 다양한 단계에서 로직 및 물리적 설계를 최적화시키기 위한 설계 파라메타로 사용된다.
I/O, 아날로그 매크로 및 다양한 매크로의 몇몇 커스텀 회로들은 레이아웃 기초 규칙(layout ground rule), 노이즈 디커플링, 타이밍, 면적 등과 같은 아날로그 소자의 특정한 요구 사항을 만족시키기 위해 컴퓨터 지원 커스텀 레이아웃(computer assisted custom layout)을 요구한다.
게이트 및 트랜지스터에 기초한 회로 시뮬레이션 (922) 및 HDL 기술의 양태 시뮬레이션(behavioral simulation)이 수행되어 로직 설계의 정확성을 체크하는데 상호 참조(cross reference)된다.
또한, 로직 및 양태 시뮬레이션과 하드웨어 테스팅을 위한 입력/출력 패턴으로 사용되기 위해 HDL 데이터베이스 (903)으로부터 테스트 패턴이 발생된다(923). DRAM 기능의 테스팅 및 로직 시뮬레이션을 위해 DRAM 구성기 (901) 및 칩 컴파일 프로세스의 일부로서 DRAM 매크로에 대한 특정 테스트 패턴이 역시 발생된다. 집적형 로직/DRAM 칩의 하드웨어 테스팅을 촉진시키도록 DRAM 매크로의 자가 테스팅(self-testing)이 칩 내부의 로직 회로로 구현될 수 있다.
또한, 설계에 대한 입력 패턴을 요구하지 않는 부울 등가 수단(Boolean equivalence tool)이 로직 기술(記述)(게이트 및 트랜지스터)과 HDL 사이의 동등성(equivalence)을 체크하는데 역시 사용된다.
레이아웃의 정확성은 레이아웃으로부터 추출된 장치 네트 목록(device net list)을 로직 게이트 및 트랜지스터 네트 목록 기술(記述)(net list description)과 비교함으로써 체킹 기능부(924)에서 체킹된다. 또한, 설계 규칙 체커(design rule checker: DRC) 수단에 의해 전체 레이아웃이 설계 규칙을 위반하였는지의 여부가 체킹된다.
칩 집적 수단(chip integration tool)(925)는 칩의 모든 개별 구성소자(다양한 매크로, I/O, 데이터 및 전력 버스 등)를 어셈블링하여 이들을 칩 레벨의 스키매틱 사양 및 HDL 사양에 따라 와이어링(wiring)한다. 집적형 로직/DRAM 칩의 경우, DRAM이 없는 칩과 비교하여 (1) DRAM 및 로직 전력 공급 버스를 따라 디커플링 장치(decoupling device) 부가 단계, (2) DRAM 매크로와 로직 매크로 사이의 노이즈 커플링 격리 단계 및 (3) DRAM 및 로직의 전력 공급 버스들이 칩 내부에서 공유(sharing)되지 않으나 칩 경계의 특정 지점을 통하여 액세싱이 가능할 수 있도록 DRAM 및 로직의 전력 공급을 분배(partitioning)함으로써 전력 공급 버스를 통하는 몇몇 로직 매크로(예를 들어 데이터 경로)에 의해 생성되는 스위칭 노이즈를 DRAM 회로로부터 격리시키는 단계와 같은 추가적인 단계들이 행해진다.
본 명세서에서 개시되는 방법은 DRAM 매크로, 및 로직 매크로(합성형 임의 로직(synthesized random logic) 또는 커스텀 코어)와 함께 몇몇 지원 매크로로 구성된 설계에 대한 스키매틱 기술(記述)을 칩 레이아웃으로 컴파일하기 위한 시퀀스 단계(sequence of step)를 개시한다.
도 10 및 도 11은 다른 집적형 로직/DRAM 칩, 구체적으로는 8개의 8 Mbit DRAM 매크로, 게이트 어레이 DRAM 제어 로직, 비트 블록 전달(Bit Block Transfer: BitBLT) 그래픽 프로세서, 직렬 액세스 메모리(serial access memory: SAM) 및 위상 고정 루프(PLL) 및 칩 I/O 드라이버와 같은 지원 매크로로 구성된 통합형 미디어 메모리(UMM) 칩의 칩 레이아웃 구조를 각각 도시한다.
다양한 로직 매크로 및 지원 매크로들은 집적형 로직/DRAM 칩의 상이한 로직 기능을 구현하기 위하여 게이트 어레이, 표준 셀, 커스텀 설계, 아날로그 회로와 같은 상이한 설계 유형(type)일 수 있다. 도 9에 도시된 레이아웃 컴파일러는 상이한 매크로 사양을 입력으로 사용하여 도 10 및 도 11과는 상이한 칩 레이아웃을 발생시킬 수 있다.
또한, 본 발명은 다수의 DRAM 매크로, DRAM 제어기와 같은 다수의 로직 매크로, 수치산정(數値算定) 매크로(computation macro)(예를 들어 산술 로직 유닛 (ALU)), DRAM 버퍼 및 내부 클럭 발생을 위한 위상 고정 루프, 빌트-인(built-in) 자가 테스팅 회로, 칩 I/O 드라이버 등과 같은 몇몇 칩 지원 매크로로 구성된 집적형 로직/DRAM 칩의 물리적 구성을 개시한다. 다양한 로직 매크로 및 지원 매크로들은 게이트 어레이, 표준 셀, 커스텀 설계, 아날로그 매크로와 같은 매우 상이한 설계 형식(style)일 수 있다.
칩에 대한 하드웨어 기술 언어(HDL)는 칩 내의 다양한 기능 구성소자의 기능, 로직 및 타이밍 사양을 로직 구성소자, 저장 구성소자(DRAM, SRAM, 캐쉬 등) 및 아날로그(예를 들어 PLL(위상 고정 루프), 매크로, 디지털/아날로그 변환기(ADC) 등) 및 I/O 구성소자와 같은 다른 구성소자를 사용하여 정의한다. 하드웨어 기술(記述)로부터, 각각의 구성소자들은 그들 자신의 최적화된 물리적 형식으로 추가적으로 분할, 분배 및 구현된다. 계층적인(hierarchical) 하드웨어 기술(記述), 칩 스키매틱(chip schematic), 매크로 회로 스키매틱으로부터, 하이 레벨 양태(high level behavior), 기능 시뮬레이터(functional simulator), 회로 시뮬레이터뿐만 아니라 회로의 중요한 경로(critical path)에 대한 성능 분석용 아날로그 시뮬레이터를 복합적으로 사용함으로써 칩의 기능성 및 정확성이 보강(enforce)된다. 각각의 매크로 및 전체 칩의 레이아웃은 레이아웃 정확성을 위해 대응하는 스키매틱(schematic)에 대한 체킹이 이루어진다.
DRAM 구성소자는 커패서티, 형태 인자, I/O, 뱅킹, 병렬 방식(parallelism) 등의 요구 사항을 만족시키기 위하여 다수의 DRAM 매크로로 더 하위 단계로 분할(subdivide) 및 재구성되며, 이들은 매우 커스텀화(highly custom)되고 최적화된 레이아웃 형식으로 통상 구현된다. 고정 및 부동 소수점 유닛(fixed and floating point unit)과 같은 수치산정 유닛, 신호 처리 유닛들은 비트-슬라이스 기초형(bit-slice based) 데이터 경로 커스텀 매크로(data-path custom macro) 형식으로 구현된다. 상기 유닛들의 성능이 중요하므로, 상기 유닛의 회로 및 트랜지스터들은 중요한(crucial) 타이밍 요구 사항을 만족시키도록 설계된다. 각각의 제어 로직 유닛은 배경 기술(技術)(underlying technology)에 대한 셀 라이브러리로부터 게이트-어레이 또는 표준 셀로 구성된 로직 합성 프로그램에 의해 랜덤 로직 매크로(random logic macro)로 통상 합성된다. 제어 유닛은 다양한 제어, 어드레스, 타이밍 및 다른 신호를 칩의 기능을 위하여 다른 수치산정 유닛 및 저장 유닛에 공급한다. 통상 칩 하이 레벨 기술(記述)(chip high level description)은 SRAM, (SRAM) 캐쉬, 특정 목적 코어, 아날로그 회로(예를 들어, PLL 및 DAC) 등과 같은 다수의 커스텀 매크로를 포함한다.
집적형 로직/DRAM 컴파일러는 다수의 프로그래밍 모듈 및 단계로 구성된다:
1. 기능 분배(partitioning) 및 DRAM 매크로 커스텀화(customization) 및 구성
칩에 대한 하드웨어 기술(記述)(즉, HDL)로부터, 다양한 기능 유닛들이 물리적으로 구현 가능한 블록 및 블록들 사이의 신호 상호접속들로 분배 된다. 이러한 단계는 주변 제어 회로, 칼럼 및 로우 어드레스 디코더/드라 이버 및 특정 설계를 위한 I/O 회로를 커스텀화(customizing)시켜 구성한 다. 도 6 및 도 7에 도시된 바와 같이, 상이한 수의 DRAM 서브매크로 (예를 들어, 1 Mbit DRAM 서브매크로)를 결합시키고, 또 DRAM 매크로 의 어드레스 디코더/드라이버를 재구성함으로써, 특정 응용을 위한 상이 한 크기의 DRAM 매크로가 얻어질 수 있다. 도 6 및 도 7에 도시된 바와 같이, I/O 인터페이스 및 드라이버 회로를 DRAM 매크로의 칼럼 구조 내에 커스텀화시킴으로써, 특정 응용을 위해, 예를 들어 X4, X8, X16, X64 인 상이한 I/O 폭들이 얻어진다. 로직 매크로 및 DRAM 매크로 사이의 드라이버 인터페이스는 DRAM 어드레스 및 제어 신호, 예를 들어 RAS, CAS, CE에 대한 RC 지연 및 슬루(slew)를 최소화시키도록 설계된다. 도 6 및 도 7에 도시된 바와 같이, DRAM 매크로의 주변 제어 회로를 커스 텀화시킴으로써, 비동기 대 동기/파이프라인과 같은 상이한 동작 모드가 특정 응용을 위해 선택될 수 있다.
2. 매크로 배치 및 플로어 플랜 발생
칩에 대한 하드웨어 기술(記述)(예를 들어 HDL)로부터, 다양한 기능 유닛 들이 물리적으로 구현 가능한 블록 및 블록들 사이의 신호 상호접속으로 분배된다. 기능 블록의 신호 상호접속 정보로 구성된 이러한 스키매틱 기술(記述)에 기초하여, DRAM 매크로, 로직 매크로 및 다양한 칩 지원 매 크로들이 칩의 상이한 위치 상에 배치된다. 매크로의 크기 및 형태 인자, 매크로 내에서의 입력/출력(I/O) 핀 위치 및 용량 및 I/O 폭, 온-칩 글로 벌 버스의 레이아웃 및 클럭에 따른 로직 및 DRAM, DRAM 매크로 배 분(distribution)에 대한 칩 I/O 드라이버, 전력 공급 분배 및 노이즈 격리 와 같은 물리적 제한 및 요구 조건에 구속되는 칩 레벨 상호접속의 몇몇 기능을 최소화시키는 것이 배치 목적(placement objective)이다. 전체 칩 은 각각의 칩 배치를 위해 상호접속되며, 매크로들 사이의 와이어링 공간 (wiring space)은 전체 칩 면적을 최소화시키도록 조정된다. 가장 작은 면 적에 따른 제한을 만족시키는 칩 플로어 플랜을 발생시키기 위하여 매크 로 배치 단계 및 칩 레벨 상호접속 단계의 반복 실행(iterative execution) 이 가능하도록 칩 내에서의 I/O의 위치, 매크로의 크기, 와이어링 공간의 크기들이 파라메타화(parameterizing)된다.
3. 칩 이미지 발생
본 단계는 DRAM 매크로, 로직 매크로 및 지원 매크로에 대한 전체 물리 적인 레이아웃 구조를 생성한다. 로직 매크로들은 게이트 어레이, 표준 셀, 또는 커스텀 레이아웃으로 구성된다. DRAM 매크로는 자기 자신의 커스텀 레이아웃 구성을 가진다. 상기 로직 및 DRAM 매크로의 각각은 로직 및 트랜지스터 장치에 대한 자기 자신의 특정한 배치 구성, 전력 배 분 구성(예를 들어, VDD, GND) 및 상이한 금속 레벨에 대한 상호접속 요구 사항을 가진다.
4. 전력 배분 발생
전체 칩 전력 배분 구성 및 그리드(grid)가 발생된다. 또한, 로직 매크로 내부의 전력 배분 그리드도 발생된다. 개별 전력 배분 네트워크가 분리된 전력 공급원을 사용하여 오프-칩 형태로 공급될 수 있는 방식으로 DRAM 매크로, 로직 매크로 및 PLL과 같은 아날로그 매크로들이 레이 아웃된다. 이러한 배열은 DRAM, 로직 및 아날로그 매크로 사이에서 노 이즈 커플링을 최소화시키며, 또 로직 및 DRAM 구성소자에 대한 독립적 인 테스팅이 가능하도록 한다.
5. 칩 레벨 상호접속 발생
모든 DRAM, 로직, 칩 지원 매크로들의 상호접속은 칩 레벨 네트리스트 (netlist) 규정에 따라 발생된다. DRAM 및 로직 매크로를 접속하는 온- 칩, 고 대역폭 데이터, 어드레스 및 제어 버스들은 RC 지연 및 대응하는 등가 신호 지점 사이의 스큐를 최소화시키는 방식으로 와이어링(wiring) 되는데, 이는 상기 와이어들이 통상 길고 칩들 사이에서 연장(span)되기 때문이다. 상기 상호접속은 (1) 중요한 신호 네트(critical signal net)를 공칭(nominal) 금속 폭보다는 넓은 폭으로 와이어링하는 단계, (2) 클럭 및 제어 신호 소스로부터 다양한 기능 유닛의 다양한 제어 지점(핀)들까지의 와이어 길이 및 토폴로지(topology)를 균형잡는 단계(balancing), (3) 클럭 및 제어 신호의 와이어링 경로를 따라 균형 드라이버(balanced driver)를 부가하는 단계를 통해 행해진다.
6. 게이트 어레이, 표준 셀 커스텀 설계를 사용한 로직 매크로 발생
(6a) 본 단계는 다양한 로직 매크로에 대한 로직 합성(하드웨어 기술(記 述) 언어로부터 로직 게이트로의 합성)을 수행하며, 그 다음으로 기 술(技術) 종속 라이브러리 북(technology dependent library book) 또는 커스텀 회로로 맵핑하는 단계가 뒤따른다.
(6b) 그 다음으로, 게이트 어레이, 또는 표준 셀, 또는 커스텀 설계의 배경 이미지(underlying image) 요구 사항에 따라 북 또는 트랜지스터에 대한 배치 및 와이어링이 뒤따른다.
(6c) 클럭 트리(clock tree) 및 테스팅 스캔-체인(testing scan-chain)이 와 이어링된다. 본 단계에서 발생된 레이아웃은 상위 레벨(칩 레벨) 설 계로부터 정해지는 타이밍 제한 요구 사항, 핀 위치 요구 사항 및 금속 사용(metal utilization) 요구 사항을 만족해야만 한다.
(6d) 또한, 본 단계에서는 레이아웃 설계 규칙 체킹, 타이밍 검증, 로직 시 뮬레이션, 레이아웃 대 스키매틱 기술(記述)(LVS) 체킹 등이 설계의 정확성을 개선하도록 역시 수행된다.
매크로 레이아웃에 대해 부과(imposing)되는 타이밍, 물리적 크기 (physical dimension)와 같은 요구 사항을 만족시키기 위하여 상기 단계 들이 반복적으로 요구될 수 있다.
7. 핀 위치, 핀 특성(property), 매크로 핀-대-핀 타이밍(macro pin-to-pin timing)
이러한 정보는 다음의 칩 어셈블링 단계를 위해 레이아웃으로부터 추출된 다(abstract from). 도 13은 레이아웃 합성, 배치 및 와이어링 후에 얻어 진 로직 매크로의 레이아웃을 도시한다.
8. 칩 레이아웃 발생 -
(8a) 매크로 핀 및 타이밍 정보에 기초하여 모든 개별적인 매크로(DRAM, 로직, 지원 매크로)에 대한 레이아웃이 이루어진 후, 모든 매크로 (DRAM, 로직, 지원 매크로)들 사이의 상호접속들이 와이어링된다. 클럭 상호접속 및 테스팅 스캔-체인이 와이어링된다.
(8b) DRAM 디커플링 소자들이 칩의 다양한 필요 위치에 부가된다. 디커 플링 소자들은 개별적으로 로직의 전력 공급 버스 및 DRAM의 전 력 공급 버스에 부가된다.
(8c) 설계 규칙의 정확도 및 타이밍에 대한 전체 칩의 체킹이 행해진다.
9. 반복 단계
만일 몇몇 칩 설계 요구 사항들이 만족되지 않는다면, 몇몇 매크로에 대 한 레이아웃을 다시 반복하여 행하고 또 매크로 레이아웃 발생 단계 및 칩 레이아웃 발생 단계를 반복하는 것이 요구된다.
집적형 로직/DRAM 컴파일러의 전체 플로우-차트(flow chart)가 도 14에 도시된다. DRAM 컴파일러/구성기는 DRAM 메모리 구성소자를 구성하며(블록 141) 또 다수의 DRAM 매크로를 발생시킨다. 정보는 기능 블록 (140)의 칩 레벨 스키매틱 기술(記述)로부터 추출된다. DRAM, 로직 블록, I/O 및 다른 구조의 배치는 기능 블록 (142)에서 결정된다. 칩 이미지는 기능 블록 (143)에서 DRAM, 게이트 어레이 및 커스텀 회로에 대해 생성된다. 그 다음으로, 전력 배분이 기능 블록 (144)에서 결정된다. 이 단계에서, 전체 칩 전력 배분 구성이 칩 내부의 개별적인 로직 및 DRAM 전력 배분 네트워크(디커플링 커패시터 구조를 포함함)로서 DRAM 매크로 및 로직 매크로에 대해 발생된다. 전력 배분 네트워크를 분리시킴으로써, 전력 공급 버스를 통한 DRAM과 로직 매크로 사이의 노이즈 커플링이 최소화된다. 로직 및 DRAM 구성소자 사이에서의 최대 노이즈 면역성(noise immunity)을 달성하는 것은 집적형 로직/DRAM 칩이 적절히 기능하기 위한 핵심사항(key)이다. 기능 블록 (145)에서, 칩 레벨 와이어링이 결정된다. 이러한 단계에서, 로직 구성소자와 DRAM 구성소자들 사이의 온-칩 로직 인터페이스 회로 및 온-칩 금속 상호접속이 최대 시스템 대역폭 및 시스템 클럭 주파수를 달성하도록 최적화된다. 단계 (142) 내지 단계 (145)는 칩의 탑 다운(top down) 플로어 플래닝(floor planning)을 구성하며, 이들 단계는 모든 칩 와이어링, 배치 및 칩 크기가 수용 가능한 기준(acceptable criteria)을 만족할 때까지 반복된다.
예를 들어 타이밍, 핀 배치, 금속화(metalization) 등과 같은 매크로 어서션(macro assertion)이 기능 블록 (146)에서 생성된다. 매크로 합성, 레이아웃, 배치 및 라우팅 수단 기능, DRC 및 LVS 체킹들이 기능 블록 (147)에서 행해진다. 그 다음으로, 매크로 레이아웃, 타이밍 및 핀 추출(pin abstraction)들이 기능 블록 (148)에서 행해진다. 단계 (146) 내지 단계 (148)까지는 역시 반복되는 매크로 생성 과정을 구성한다.
칩 와이어링, 클럭, 스캔(scan) 및 DRAM 디커플링은 기능 블록 (149)에서 수행된다. DRC 및 LVS 체킹, 타이밍 등의 칩 체킹은 기능 블록 (150)에서 수행된다. 이러한 2개의 단계들은 본 방법의 칩 어셈블링 부분을 구성하며, 만일 필요하다면 수용 가능한 칩 어셈블리가 발생될 때까지 본 발명 방법의 매크로 발생 단계(generation macro phase)가 반복될 수 있도록 루프가 기능 블록 (146)으로 되돌아간다. 마지막으로, 칩 레이아웃은 기능 블록 (151)에서 출력된다.
다음은 칩 상의 시스템에 대한 구현예이다. 이는 멀티미디어 응용을 위한 실리콘 칩, 상세하게 말하면 통합 미디어 메모리(UMM) 칩 상에 집적된 메모리 시스템이다. 입력에 해당하는 UMM 하드웨어 기술(記述) 및 칩 레벨 블록도/개략적 기술(記述)(도 12 참조)로부터, 상기 입력은 순차적인 컴퓨터 지원 설계(CAD) 단계들을 통하여 완전한 칩 레이아웃으로 변환된다.
도 10 및 도 11은 전체 구조(global structure)에 대한 구현을 도시하며, 도 13은 4개의 금속층 및 장치 성능 개선 기능(device performance enhancement)을 가지는 0.25 마이크로미터 CMOS 기술로 설계된 통합형 미디어 메모리(UMM) 응용을 위한 집적형 로직/DRAM 칩의 레이아웃을 도시한다. UMM 칩은 8개의 8 Mbit SDRAM 매크로로 배열된 64 Mbit 동기 DRAM(SDRAM)으로 구성된다. SDRAM 매크로는 매크로당 64 비트인 I/O 폭을 가지며 200 MHz로 작동하는 동기 단일-뱅크형(synchronous single-bank) RAS 제어 및 1/2/4/8/전체(full) 페이지 버스트 모드(page burst mode)를 지원한다. 8개의 SDRAM 매크로들은 인터리빙 동작, 256 비트인 광범위(wide) I/O를 제공하기 위한 2개의 글로벌 메모리 뱅크(global memory bank)로 배열된다. UMM 집적형 로직/DRAM 칩의 로직 기능부는 SDRAM으로/SDRAM으로부터 그래픽 데이터를 조작(manipulating)하기 위한 256-비트 그래픽 프로세서(비트 블록 전달 또는 BitBLT), 그래픽 데이터 스트림을 칩 밖으로 송출(exporting)하기 위한 직렬 액세스 메모리(serial access memory: SAM), 칩의 모든 매크로의 전체 동작을 위한 제어/타이밍 신호를 발생하기 위한 게이트 어레이 제어 유닛, 오프-칩 64-비트 데이터를 온-칩 256-비트 데이터 버스로 고속 인입/송출(import/export)하기 위한 4개의 멀티플렉서/버퍼, 외부 클럭으로부터 동기된 온-칩 클럭 신호를 발생하기 위한 위상 고정 루프(PLL)로 구성된다. 매크로들은 133 MHz(최대 200 MHz)로 작동하는 고 대역폭 온-칩 256-비트 데이터 버스, SDRAM 어드레스 버스, 및 RAS, CAS, WE, SDRAM 인에이블(SDRAM enable) 등과 같은 다양한 제어 버스를 통하여 통신된다. 외부 64-비트 데이터 핀 이외에도, 칩은 32-비트 메모리 어드레스 핀, 그래픽 기능을 위한 32-비트 직렬 데이터 출력 핀, 다양한 모드 제어 핀 및 테스트 핀들을 가진다. 상기 칩은 PowerPCTM마이크로프로세서 버스에 대한 인터페이스를 가진다. 칩은 240 핀 패키지 상에 장착될 수 있다. 게이트-어레이 랜덤 로직 매크로의 배경 구조(underlying structure)가 도 13에 역시 도시된다. DRAM 매크로는 기본 메모리 기능을 수행하며, DRAM 매크로를 함께 가지는 로직 매크로 기능은 전체 아키텍쳐 및 로직 설계에 의해 결정되는 특정 기능을 수행한다.
도 12는 전력 버스, 디커플링 커패시터 어레이, 칩 I/O, DRAM 및 로직 매크로 배치, 칩 레벨 와이어링을 포함하는 UMM 칩 플로어 플랜을 도시한다. 칩 구조는 8개의 8-MB DRAM 매크로, DRAM 제어 로직 매크로(게이트 어레이), DRAM 데이터 수치산정(數値算定)을 위한 BitBLT 커스텀 프로세서, 직렬 어드레스 메모리(SAM), 멀티플렉서, 온-칩 버스와 오프-칩 버스 사이의 통신을 위한 버퍼, 및 PLL, I/O 드라이버 및 패드(pad)와 같은 칩 지원 회로를 포함한다.
본 발명에 따르면, DRAM 매크로 및 로직 매크로(예를 들어, 게이트 어레이, 표준 셀, 커스텀 설계 회로, 마이크로프로세서, 테스팅 회로)로 구성되는 설계에 대한 하드웨어 기술(記述) 언어(HDL) 및 스키매틱 기술(記述)로부터 단일 집적형 칩 상에 집적된 로직 및 DRAM 시스템의 레이아웃을 컴파일하는 레이아웃 컴파일러가 제공된다.
본 발명이 단 하나의 바람직한 실시예로 설명되었지만, 본 기술 분야의 당업자들은 본 발명이 첨부된 특허 청구 범위의 정신 및 범위 내에서 변형되어 실시될 수 있다는 사실을 이해할 것이다.

Claims (11)

  1. 마이크로프로세서 코어(microprocessor core), 시스템 로직, 및 블록들로 구성된 DRAM을 포함하는 단일의 집적 회로(IC) 상의 시스템 레이아웃(layout)을 컴퓨터 구현에 의해 컴파일링(compiling)하는 방법에 있어서, a) 하드웨어 기술(記述) 데이터베이스(hardware description database)로부터 여러 가지의 기능 유닛(functional unit)에 관한 정보를 추출(extracting)하 여 칩의 매크로 배치(macro placement) 및 플로어 플랜(floor plan)을 생 성하는 단계, b) 칩의 DRAM 메모리 구성소자를 DRAM 매크로로 구성하여 컴파일링하는 단계, c) DRAM 매크로 및 로직 매크로에 대한 물리적인 레이아웃의 전체 구조 (physical layout structure)를 생성하는 단계, d) 로직 매크로 내부의 전력 배분 그리드(power distribution grid)를 포함하 여 전체 칩 전력 배분 구성(chip power distribution structure) 및 그리드 를 생성하는 단계, e) 데이터베이스 내에 저장된 칩 레벨 네트 리스트 사양(net list specification)에 따라 모든 DRAM, 로직 및 칩 지원 매크로(chip supporting macro)의 칩 레벨 상호접속(interconnection)을 생성하는 단계, f) 생성된 물리적인 레이아웃의 전체 구조, 생성된 전체 칩 전력 배분 구성, 및 생성된 칩 레벨 상호접속에 기초하여 칩의 글로벌 구성(global structure)을 구현하는 단계, g) 로직 합성을 사용하여 로직 매크로를 생성하고, 생성된 칩 이미지(chip image)에 따라 트랜지스터 북(book of transistors)의 배치 및 와이어링 (wiring)하는 로직 매크로 생성 단계, h) 설계의 정확성을 검증(verify)하기 위하여 클럭 및 타이밍 검증(timing validation), 설계 규칙 체킹(design rule checking) 및 로직 시뮬레이션 (logic simulation)을 수행하는 단계, i) 모든 매크로간의 상호접속을 와이어링하고, 디커플링 구성소자(decoupling component)를 추가하며, 설계 규칙의 정확성 및 타이밍을 다시 체킹함으 로써 칩 레이아웃을 생성하는 단계 및 j) 제조 공정용 최종 칩 레이아웃을 출력하는 단계를 포함하는 컴퓨터 구현형 시스템 레이아웃 컴파일링 방법.
  2. 제 1항에 있어서, 구성하여 컴파일링하는 상기 b) 단계가 특정 응용에서 요구되는 상이한 메모리 용량, 뱅킹(banking) 및 입력/출력(I/O) 대역폭, 상이한 어드레싱 방식, 상이한 동작 모드, 및 시간 요구 사항을 가지는 확장 가능한 내장형(embedded, growable) DRAM 매크로의 물리적 구조, 회로 및 레이아웃을 생성하는 단계를 포함하는 컴퓨터 구현형 시스템 레이아웃 컴파일링 방법.
  3. 제 1항에 있어서, DRAM 매크로 및 로직 매크로에 대한 물리적인 레이아웃 의 전체 구조를 생성하는 상기 c) 단계가 칩 내부의 로직 및 DRAM 전력 배분 네트워크(network)를 분리시킴으로써 전력 공급 버스를 통한 DRAM과 로직 매크로 사이의 노이즈 커플링(noise coupling)을 최소화시키는 단계를 포함하는 컴퓨터 구현형 시스템 레이아웃 컴파일링 방법.
  4. 제 1항에 있어서, 최대 시스템 대역폭 및 시스템 클럭 주파수를 달성하도록 로직 구성소자와 DRAM 구성소자 사이의 온-칩(on-chip) 금속 상호접속과 온-칩 로직 인터페이스 회로를 최적화시키는 단계를 추가적으로 포함하는 컴퓨터 구현형 시스템 레이아웃 컴파일링 방법.
  5. 마이크로프로세서 코어(microprocessor core), 시스템 로직 및 블록들로 구성된 DRAM을 포함하는 시스템-온-칩 설계(system-on-chip design)의 레이아웃(layout)을 컴파일링(compiling)하기 위한 컴퓨터 기초형 설계 시스템(computer based design system)에 있어서,
    a) 시스템-온-칩 설계를 위한 DRAM 메모리 서브시스템, 마이크로프로세서 코어, 캐쉬, 시스템 제어 버스, 및 입력/출력(I/O)에 대한 시스템 사양 소 스(source of system specification)
    b) DRAM 메모리 서브시스템에 대한 사양을 수신하고, DRAM 매크로에 대 한 전력 배분 네트워크를 포함하는 DRAM 매크로에 대한 물리적인 레이 아웃의 전체 구조를 발생시키는, DRAM 구성기(DRAM configurator)
    c) 시스템 버스 및 I/O에 대한 사양을 수신하고, 칩 상에서 다양한 로직 및 DRAM 매크로를 접속하기 위해 요구되는 로직을 합성(synthesizing)하는, 버스 및 인터페이스 합성기(bus and interface synthesizer)
    d) 버스 및 인터페이스 합성기로부터의 출력 및 마이크로프로세서 코어 및 캐쉬에 대한 사양을 수신하고, DRAM과 로직 매크로 사이의 노이즈 커플 링을 최소화시키기 위하여 DRAM 매크로에 대한 전력 배분 네트워크와 별도로 로직 매크로에 대한 전력 배분 네트워크를 포함하는 발생된 칩 이미지에 따라 로직 매크로 및 트랜지스터 북(books of transistors)의 와 이어링을 발생시키는, 로직 합성기(logic synthesizer); 및
    e) DRAM 구성기, 버스 및 인터페이스 합성기 및 로직 합성기로부터의 출력 을 수신하고, 모든 매크로 및 부가 디커플링 소자(adding decoupling element) 사이의 상호접속을 와이어링함으로써 칩 레이아웃을 발생시키는 칩 집적 기능부(chip integration function)―여기서 상기 레이아웃 추출 기능(layout extraction function)은 설계의 정확성을 검증하기 위하여 클 럭 및 타이밍 검증, 설계 규칙 체킹 및 로직 시뮬레이션(logic simulation) 을 수행함―를 포함하는 컴퓨터 기초형 설계 시스템.
  6. 제 5항에 있어서, DRAM 구성기가 특정 응용을 위해 요구되는 상이한 메모리 용량, 뱅킹(banking) 및 입력/출력(I/O) 대역폭, 상이한 어드레싱 방식, 상이한 동작 모드 및 시간 요구 사항을 가지는 확장 가능한 내장형(embedded, growable) DRAM 매크로의 물리적 구조, 회로 및 레이아웃을 생성하는 컴퓨터 기초형 설계 시스템.
  7. 제 5항에 있어서, 칩 집적 기능부가 최대 시스템 대역폭 및 시스템 클럭 주파수를 달성하도록 로직 구성소자와 DRAM 구성소자 사이의 온-칩 로직 인터페이스 회로 및 온-칩 금속 상호접속을 최적화시키는 컴퓨터 기초형 설계 시스템.
  8. 제 5항에 있어서, 로직 합성기에 의해 액세싱되는 회로 라이브러리의 데이터베이스(database)를 추가적으로 포함하는 컴퓨터 기초형 설계 시스템.
  9. 제 8항에 있어서, 시스템 사양 소스는 아날로그 서브시스템 사양(analog subsystem specification)을 포함하고, 상기 설계 시스템은 칩 상에서 아날로그 서브시스템을 합체시키기 위하여 아날로그 서브시스템 사양 및 DRAM 구성기, 로직 합성기로부터의 출력을 수신하고, 칩 집적 기능부에 출력을 제공하는 커스텀 레이아웃 기능부(custom layout function)를 추가적으로 포함하는 컴퓨터 기초형 설계 시스템.
  10. 제 8항에 있어서, 시스템 사양 소스는 디지털 신호 처리기(DSP) 사양을 포함하며, 커스텀 레이아웃 기능부는 칩 상에서 DSP를 합체하기 위하여 DSP 사양을 추가적으로 수신하는 컴퓨터 기초형 설계 시스템.
  11. 제 5항에 있어서, 버스, 인터페이스 합성기 및 로직 합성기에 대한 입력을 제공하는 클럭 및 타이밍 분석기(clock and timing analyzer)를 추가적으로 포함하는 컴퓨터 기초형 설계 시스템.
KR1019970054290A 1997-03-13 1997-10-22 시스템-온-칩 레이아웃 컴파일링 방법 및 시스템 KR100264487B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/818,107 US5883814A (en) 1997-03-13 1997-03-13 System-on-chip layout compilation
US8/818,107 1997-03-13

Publications (2)

Publication Number Publication Date
KR19980079436A true KR19980079436A (ko) 1998-11-25
KR100264487B1 KR100264487B1 (ko) 2000-09-01

Family

ID=25224687

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970054290A KR100264487B1 (ko) 1997-03-13 1997-10-22 시스템-온-칩 레이아웃 컴파일링 방법 및 시스템

Country Status (4)

Country Link
US (1) US5883814A (ko)
JP (1) JP2938424B2 (ko)
KR (1) KR100264487B1 (ko)
TW (1) TW364977B (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100353894B1 (ko) * 2000-10-13 2002-09-27 (주)엠씨에스로직 제이펙 화상 데이터 버퍼링을 위한 메모리 구조 및 주소어드레스 방법
KR100674933B1 (ko) * 2005-01-06 2007-01-26 삼성전자주식회사 온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체
KR101444985B1 (ko) * 2011-07-21 2014-09-26 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 배향이 자유로운 디커플링 커패시터를 갖는 반도체 디바이스 및 이의 제조 방법
US8884338B2 (en) 2009-05-13 2014-11-11 Lg Display Co., Ltd. Semiconductor integrated-circuit device with standard cells
KR101531735B1 (ko) * 2008-05-22 2015-06-25 인터내셔널 비지네스 머신즈 코포레이션 시스템 온 칩(soc), 설계 구조 및 방법

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115823A (en) * 1997-06-17 2000-09-05 Amphus, Inc. System and method for task performance based dynamic distributed power management in a computer system and design method therefor
JP3597706B2 (ja) * 1997-07-25 2004-12-08 株式会社東芝 ロジック混載メモリ
US8489861B2 (en) * 1997-12-23 2013-07-16 Round Rock Research, Llc Split embedded DRAM processor
US6163836A (en) * 1997-08-01 2000-12-19 Micron Technology, Inc. Processor with programmable addressing modes
US7272703B2 (en) * 1997-08-01 2007-09-18 Micron Technology, Inc. Program controlled embedded-DRAM-DSP architecture and methods
US6237128B1 (en) * 1997-10-01 2001-05-22 International Business Machines Corporation Method and apparatus for enabling parallel layout checking of designing VLSI-chips
JPH11195766A (ja) * 1997-10-31 1999-07-21 Mitsubishi Electric Corp 半導体集積回路装置
DE59814050D1 (de) * 1997-11-11 2007-08-16 Ccs Technology Inc Verfahren zur Verwaltung und Dokumentation von Kontaktstellen eines Verdrahtungsnetzes
US6148432A (en) * 1997-11-17 2000-11-14 Micron Technology, Inc. Inserting buffers between modules to limit changes to inter-module signals during ASIC design and synthesis
US6484065B1 (en) * 1997-12-29 2002-11-19 Kawasaki Microelectronics, Inc. DRAM enhanced processor
US6247088B1 (en) * 1998-05-08 2001-06-12 Lexmark International, Inc. Bridgeless embedded PCI computer system using syncronous dynamic ram architecture
US6687661B1 (en) * 1998-05-26 2004-02-03 Lsi Logic Corporation Utilizing a technology-independent system description incorporating a metal layer dependent attribute
US6477687B1 (en) * 1998-06-01 2002-11-05 Nvidia U.S. Investment Company Method of embedding RAMS and other macrocells in the core of an integrated circuit chip
US6532439B2 (en) * 1998-06-18 2003-03-11 Sun Microsystems, Inc. Method for determining the desired decoupling components for power distribution systems
US6385565B1 (en) * 1998-06-18 2002-05-07 Sun Microsystems, Inc. System and method for determining the desired decoupling components for power distribution systems using a computer system
JP2000011190A (ja) * 1998-06-25 2000-01-14 Sony Corp 画像処理装置
US6714903B1 (en) * 1998-07-10 2004-03-30 Lsi Logic Corporation Placement and routing of circuits using a combined processing/buffer cell
JP2000123061A (ja) 1998-10-16 2000-04-28 Matsushita Electric Ind Co Ltd 集積回路装置の設計用データベース及び集積回路装置の設計方法
JP3271602B2 (ja) * 1999-02-17 2002-04-02 日本電気株式会社 半導体集積回路装置およびその設計方法
JPWO0051184A1 (ko) * 1999-02-23 2002-06-11
US7031889B1 (en) * 1999-03-22 2006-04-18 Hewlett-Packard Development Company, L.P. Method and apparatus for evaluating the design quality of network nodes
JP3304920B2 (ja) * 1999-05-31 2002-07-22 日本電気株式会社 半導体装置及びその設計装置と設計方法並びに半導体装置の配線情報を記憶した記憶媒体
JP3082852B1 (ja) * 1999-06-04 2000-08-28 株式会社半導体理工学研究センター システムlsiの製造方法及びその方法で製造されたシステムlsi
JP2001043129A (ja) * 1999-07-29 2001-02-16 Mitsubishi Electric Corp 半導体装置及びその設計方法
JP2001142928A (ja) 1999-11-16 2001-05-25 Matsushita Electric Ind Co Ltd 半導体集積回路装置の設計方法
US6553552B1 (en) * 2000-01-27 2003-04-22 National Semiconductor Corporation Method of designing an integrated circuit memory architecture
US6493855B1 (en) * 2000-02-18 2002-12-10 Hewlett-Packard Company Flexible cache architecture using modular arrays
US6536028B1 (en) * 2000-03-14 2003-03-18 Ammocore Technologies, Inc. Standard block architecture for integrated circuit design
US6442735B1 (en) * 2000-03-15 2002-08-27 International Business Machines Corp. SOI circuit design method
US6584606B1 (en) 2000-06-01 2003-06-24 International Business Machines Corporation Fast method of I/O circuit placement and electrical rule checking
US6525413B1 (en) * 2000-07-12 2003-02-25 Micron Technology, Inc. Die to die connection method and assemblies and packages including dice so connected
JP2002050693A (ja) * 2000-08-01 2002-02-15 Oki Electric Ind Co Ltd Dramマイクロセルの設計方法
US6591403B1 (en) * 2000-10-02 2003-07-08 Hewlett-Packard Development Company, L.P. System and method for specifying hardware description language assertions targeting a diverse set of verification tools
US6868374B1 (en) 2000-10-03 2005-03-15 International Business Machines Corporation Method of power distribution analysis for I/O circuits in ASIC designs
GB2406416A (en) * 2000-10-31 2005-03-30 Advanced Risc Mach Ltd Describing an integrated circuit configuration
US6523154B2 (en) * 2000-12-14 2003-02-18 International Business Machines Corporation Method for supply voltage drop analysis during placement phase of chip design
US6523159B2 (en) * 2001-01-16 2003-02-18 International Business Machines Corporation Method for adding decoupling capacitance during integrated circuit design
US6571184B2 (en) 2001-02-06 2003-05-27 Sun Microsystems, Inc. System and method for determining the decoupling capacitors for power distribution systems with a frequency-dependent target impedance
US7305515B2 (en) * 2001-02-26 2007-12-04 International Business Machines Corporation Performance optimizing compiler for building a compiled DRAM
US6376358B1 (en) 2001-03-15 2002-04-23 Micron Technology, Inc. Method of forming plugs and local interconnect for embedded memory/system-on-chip (SOC) applications
US6850878B2 (en) 2001-04-24 2005-02-01 Sun Microsystems, Inc. System and method for determining the required decoupling capacitors for a power distribution system using an improved capacitor model
US6976239B1 (en) * 2001-06-12 2005-12-13 Altera Corporation Methods and apparatus for implementing parameterizable processors and peripherals
US6647455B2 (en) 2001-06-27 2003-11-11 Intel Corporation On-die cache memory with repeaters
US6631444B2 (en) 2001-06-27 2003-10-07 Intel Corporation Cache architecture for pipelined operation with on-die processor
US6662271B2 (en) 2001-06-27 2003-12-09 Intel Corporation Cache architecture with redundant sub array
US6983427B2 (en) * 2001-08-29 2006-01-03 Intel Corporation Generating a logic design
US8418129B1 (en) * 2001-12-14 2013-04-09 Qualcomm Incorporated Method for automatically generating code to define a system of hardware elements
US7424013B1 (en) * 2001-12-20 2008-09-09 Applied Micro Circuits Corporation System and method for granting arbitrated bids in the switching of information
US7352694B1 (en) * 2001-12-14 2008-04-01 Applied Micro Circuits Corporation System and method for tolerating data link faults in a packet communications switch fabric
US7454733B2 (en) * 2002-03-06 2008-11-18 International Business Machines Corporation Interconnect-aware methodology for integrated circuit design
US6803805B2 (en) * 2002-04-09 2004-10-12 International Business Machines Corporation Distributed DC voltage generator for system on chip
US6857029B2 (en) 2002-04-30 2005-02-15 International Business Machines Corporation Scalable on-chip bus performance monitoring synchronization mechanism and method of use
US6993617B2 (en) * 2002-05-01 2006-01-31 Sun Microsystems, Inc. System-on-a-chip having an on-chip processor and an on-chip dynamic random access memory (DRAM)
US6983443B2 (en) * 2002-05-22 2006-01-03 Agilent Technologies, Inc. System and method for placing clock drivers in a standard cell block
US6789248B1 (en) * 2002-06-24 2004-09-07 Taiwan Semiconductor Manufacturing Company Method and apparatus to perform resistance and capacitance (RC) parameter customization for better timing closure results in physical synthesis and optimization
US6912473B2 (en) * 2002-06-28 2005-06-28 International Business Machines Corporation Method for verifying cross-sections
US6922798B2 (en) * 2002-07-31 2005-07-26 Intel Corporation Apparatus and methods for providing enhanced redundancy for an on-die cache
DE10245037B4 (de) * 2002-09-26 2007-08-23 Infineon Technologies Ag Verfahren zum Entwurf von DRAM-Halbleiter-Speicherbauelementen
JP2004153138A (ja) * 2002-10-31 2004-05-27 Renesas Technology Corp 半導体集積回路
US6789241B2 (en) * 2002-10-31 2004-09-07 Sun Microsystems, Inc. Methodology for determining the placement of decoupling capacitors in a power distribution system
JP2004327960A (ja) * 2003-04-11 2004-11-18 Nec Electronics Corp ハードマクロ及びこれを備える半導体集積回路
US6920625B2 (en) * 2003-04-24 2005-07-19 International Business Machines Corporation Method and apparatus for optimum transparent latch placement in a macro design
GB0407070D0 (en) * 2004-03-30 2004-05-05 Imec Inter Uni Micro Electr A method for designing digital circuits, especially suited for deep submicron technologies
US20060190888A1 (en) * 2005-01-31 2006-08-24 Texas Instruments Incorporated Apparatus and method for electronic device design
US7882464B1 (en) * 2005-02-14 2011-02-01 Cadence Design Systems, Inc. Method and system for power distribution analysis
JP4645238B2 (ja) * 2005-03-09 2011-03-09 日本電気株式会社 半導体装置
JP4734981B2 (ja) * 2005-03-17 2011-07-27 日本電気株式会社 半導体集積回路のレイアウト設計方法及び設計装置
US7673076B2 (en) * 2005-05-13 2010-03-02 Texas Instruments Incorporated Concurrent read response acknowledge enhanced direct memory access unit
US7296248B2 (en) * 2005-06-20 2007-11-13 Freescale Semiconductor, Inc. Method and apparatus for compiling a parameterized cell
JP4757607B2 (ja) * 2005-11-08 2011-08-24 富士通セミコンダクター株式会社 半導体メモリ
US7584442B2 (en) * 2005-12-09 2009-09-01 Lsi Corporation Method and apparatus for generating memory models and timing database
US20080111211A1 (en) * 2006-11-13 2008-05-15 Nair Pratheep A On-chip capacitors for addressing power supply voltage drops
US20080288828A1 (en) * 2006-12-09 2008-11-20 Baker Marcus A structures for interrupt management in a processing environment
US7926011B1 (en) * 2007-01-10 2011-04-12 Cadence Design Systems, Inc. System and method of generating hierarchical block-level timing constraints from chip-level timing constraints
US8365113B1 (en) * 2007-01-10 2013-01-29 Cadence Design Systems, Inc. Flow methodology for single pass parallel hierarchical timing closure of integrated circuit designs
US7844931B2 (en) * 2007-03-01 2010-11-30 International Business Machines Corporation Method and computer system for optimizing the signal time behavior of an electronic circuit design
US20080222365A1 (en) * 2007-03-08 2008-09-11 Staktek Group L.P. Managed Memory System
JP4946573B2 (ja) * 2007-03-30 2012-06-06 富士通セミコンダクター株式会社 デカップリングセル配置方法及びデカップリングセル配置装置
US7685555B1 (en) * 2007-04-18 2010-03-23 Xilinx, Inc. Macro inference within electronic design automation tools using hardware description language templates
US7941682B2 (en) 2007-05-09 2011-05-10 Gainspan, Inc. Optimum power management of system on chip based on tiered states of operation
US7830734B2 (en) 2008-03-14 2010-11-09 Promos Technologies Pte. Ltd. Asymetric data path position and delays technique enabling high speed access in integrated circuit memory devices
JP2010257164A (ja) * 2009-04-24 2010-11-11 Renesas Electronics Corp 半導体集積回路装置の設計方法およびプログラム
JP4918934B2 (ja) * 2009-08-21 2012-04-18 日本電気株式会社 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム
WO2011152013A1 (ja) * 2010-05-31 2011-12-08 パナソニック株式会社 集積回路製造方法及び半導体集積回路
US9552299B2 (en) * 2010-06-11 2017-01-24 California Institute Of Technology Systems and methods for rapid processing and storage of data
US8225247B2 (en) * 2010-07-13 2012-07-17 Satish Padmanabhan Automatic optimal integrated circuit generator from algorithms and specification
US9041429B2 (en) 2011-06-02 2015-05-26 Arizona Board Of Regents, A Body Corporate Of The State Of Arizona, Acting For And On Behalf Of Arizona State University Sequential state elements for triple-mode redundant state machines, related methods, and systems
US8791718B2 (en) * 2011-06-02 2014-07-29 Arizona Board Of Regents For And On Behalf Of Arizona State University Sequential state elements in triple-mode redundant (TMR) state machines
US9269418B2 (en) * 2012-02-06 2016-02-23 Arm Limited Apparatus and method for controlling refreshing of data in a DRAM
US9069912B2 (en) 2012-03-31 2015-06-30 Qualcomm Technologies, Inc. System and method of distributed initiator-local reorder buffers
US9054688B2 (en) 2012-09-19 2015-06-09 Arizona Board Of Regents, A Body Corporate Of The State Of Arizona, Acting For And On Behalf Of Arizona State University Sequential state elements radiation hardened by design
US9181007B2 (en) 2013-03-12 2015-11-10 Rexam Beverage Can Company Beverage can end with vent port
US9158878B2 (en) 2013-08-23 2015-10-13 Kabushiki Kaisha Toshiba Method and apparatus for generating circuit layout using design model and specification
US9734272B2 (en) 2014-06-13 2017-08-15 Arizona Board Of Regents On Behalf Of Arizona State University Techniques for generating physical layouts of in silico multi mode integrated circuits
US9235668B1 (en) * 2014-07-16 2016-01-12 Commissariat A L'energie Atomique Et Aux Energies Alternatives Computer implemented method for calculating a charge density at a gate interface of a double gate transistor
US9697320B2 (en) * 2015-09-24 2017-07-04 Qualcomm Incorporated Rectilinear macros having non-uniform channel spacing
JP6985804B2 (ja) * 2016-03-11 2021-12-22 イマジネイション テクノロジーズ リミテッド 光マップを決定するための重要度サンプリング
JP7184503B2 (ja) * 2016-03-14 2022-12-06 イマジネイション テクノロジーズ リミテッド 光線バンドルの光線に対する差分データを決定する方法及びグラフィックス処理ユニット
JP6245295B2 (ja) * 2016-03-15 2017-12-13 日本電気株式会社 集積回路、その設計方法、設計装置、設計プログラム
US10579536B2 (en) 2016-08-09 2020-03-03 Arizona Board Of Regents On Behalf Of Arizona State University Multi-mode radiation hardened multi-core microprocessors
US10664035B2 (en) * 2017-08-31 2020-05-26 Qualcomm Incorporated Reconfigurable power delivery networks
US20220092246A1 (en) * 2020-09-23 2022-03-24 International Institute Of Information Technology, Hyderabad System and method for analog design synthesis using analog cell component library based on ai/ml
CN114912405A (zh) * 2021-02-08 2022-08-16 深圳比特微电子科技有限公司 采用全定制布局摆放的芯片以及用于实现挖矿算法的电子装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4665495A (en) * 1984-07-23 1987-05-12 Texas Instruments Incorporated Single chip dram controller and CRT controller
US4922432A (en) * 1988-01-13 1990-05-01 International Chip Corporation Knowledge based method and apparatus for designing integrated circuits using functional specifications
US5197016A (en) * 1988-01-13 1993-03-23 International Chip Corporation Integrated silicon-software compiler
US5148524A (en) * 1988-11-29 1992-09-15 Solbourne Computer, Inc. Dynamic video RAM incorporating on chip vector/image mode line modification
US5557531A (en) * 1990-04-06 1996-09-17 Lsi Logic Corporation Method and system for creating and validating low level structural description of electronic design from higher level, behavior-oriented description, including estimating power dissipation of physical implementation
US5222030A (en) * 1990-04-06 1993-06-22 Lsi Logic Corporation Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuits and systems from high-level semantic specifications and descriptions thereof
US5598344A (en) * 1990-04-06 1997-01-28 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
US5291580A (en) * 1991-10-04 1994-03-01 Bull Hn Information Systems Inc. High performance burst read data transfer operation
US5603043A (en) * 1992-11-05 1997-02-11 Giga Operations Corporation System for compiling algorithmic language source code for implementation in programmable hardware
US5285919A (en) * 1992-12-30 1994-02-15 Donald Recchia Beverage container with air access for direct drinking
JP3476231B2 (ja) * 1993-01-29 2003-12-10 三菱電機エンジニアリング株式会社 同期型半導体記憶装置および半導体記憶装置
US5432707A (en) * 1993-02-12 1995-07-11 International Business Machines Corporation Automated circuit design
US5541850A (en) * 1994-05-17 1996-07-30 Vlsi Technology, Inc. Method and apparatus for forming an integrated circuit including a memory structure
US5598348A (en) * 1994-09-22 1997-01-28 Sun Microsystems, Inc. Method and apparatus for analyzing the power network of a VLSI circuit

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100353894B1 (ko) * 2000-10-13 2002-09-27 (주)엠씨에스로직 제이펙 화상 데이터 버퍼링을 위한 메모리 구조 및 주소어드레스 방법
KR100674933B1 (ko) * 2005-01-06 2007-01-26 삼성전자주식회사 온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체
KR101531735B1 (ko) * 2008-05-22 2015-06-25 인터내셔널 비지네스 머신즈 코포레이션 시스템 온 칩(soc), 설계 구조 및 방법
US8884338B2 (en) 2009-05-13 2014-11-11 Lg Display Co., Ltd. Semiconductor integrated-circuit device with standard cells
KR101444985B1 (ko) * 2011-07-21 2014-09-26 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 배향이 자유로운 디커플링 커패시터를 갖는 반도체 디바이스 및 이의 제조 방법

Also Published As

Publication number Publication date
KR100264487B1 (ko) 2000-09-01
JPH10293782A (ja) 1998-11-04
JP2938424B2 (ja) 1999-08-23
US5883814A (en) 1999-03-16
TW364977B (en) 1999-07-21

Similar Documents

Publication Publication Date Title
KR100264487B1 (ko) 시스템-온-칩 레이아웃 컴파일링 방법 및 시스템
Wada et al. An analytical access time model for on-chip cache memories
US6857110B1 (en) Design methodology for merging programmable logic into a custom IC
US6035106A (en) Method and system for maintaining hierarchy throughout the integrated circuit design process
US5581742A (en) Apparatus and method for emulating a microelectronic device by interconnecting and running test vectors on physically implemented functional modules
KR101297754B1 (ko) 메모리 컴파일링 시스템 및 컴파일링 방법
US7614020B2 (en) Structurally field-configurable semiconductor array for in-memory processing of stateful, transaction-oriented systems
US8397190B2 (en) Method for manipulating and repartitioning a hierarchical integrated circuit design
US6609232B2 (en) Logic compound method and logic compound apparatus
Xu et al. Enhanced 3D implementation of an Arm® Cortex®-A microprocessor
Lin et al. A fine-grain dynamically reconfigurable architecture aimed at reducing the FPGA-ASIC gaps
US7768840B1 (en) Memory modeling using an intermediate level structural description
JP2001188817A (ja) 論理合成装置、論理合成方法、論理合成プログラムを格納したコンピュータ読取り可能な記録媒体および回路製造方法
Goldman et al. Synopsys' educational generic memory compiler
Raaijmakers Run-Time Partial Reconfiguration on the Virtex-II Pro
US20080229265A1 (en) Design Structure for a Clock Distribution Network, Structure, and Method for Providing Balanced Loading in Integrated Circuit Clock Trees
US10152566B1 (en) Constraint based bit-stream compression in hardware for programmable devices
Luk et al. Development of a high bandwidth merged logic/DRAM multimedia chip
Gharsalli et al. Unifying memory and processor wrapper architecture in multiprocessor SoC design
Chung et al. How to Shrink My FPGAs—Optimizing Tile Interfaces and the Configuration Logic in FABulous FPGA Fabrics
Milojevic et al. Pathfinding: A design methodology for fast exploration and optimisation of 3D-stacked integrated circuits
US6650139B1 (en) Modular collection of spare gates for use in hierarchical integrated circuit design process
Das Physical design of monolithic 3D integrated systems and memory
Narang et al. Floorplan aware framework for optimal SRAM selection for memory subsystems
Schürmann Reduction of Routing Area in High-Level Synthesis

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20060522

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee