KR20230130134A - 상보적 다이-대-다이 인터페이스 - Google Patents

상보적 다이-대-다이 인터페이스 Download PDF

Info

Publication number
KR20230130134A
KR20230130134A KR1020237028337A KR20237028337A KR20230130134A KR 20230130134 A KR20230130134 A KR 20230130134A KR 1020237028337 A KR1020237028337 A KR 1020237028337A KR 20237028337 A KR20237028337 A KR 20237028337A KR 20230130134 A KR20230130134 A KR 20230130134A
Authority
KR
South Korea
Prior art keywords
pins
transmit
external interface
chip
integrated circuit
Prior art date
Application number
KR1020237028337A
Other languages
English (en)
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 KR20230130134A publication Critical patent/KR20230130134A/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/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/02System on chip [SoC] design
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

시스템은 집적 회로의 제1 인스턴스 및 제2 인스턴스를 포함한다. 집적 회로들은 대칭 축에 대해 상보적 위치들에 위치된 특정 버스에 대한 송신 및 수신 핀들을 갖는 물리적 핀 레이아웃을 갖는 각자의 외부 인터페이스들을 포함한다. 집적 회로의 제1 및 제2 인스턴스들의 외부 인터페이스들은, 제1 인스턴스 상의 주어진 I/O 신호에 대한 송신 및 수신 핀들이 제2 인스턴스 상의 주어진 I/O 신호에 대한 수신 및 송신 핀들과 각각 정렬되도록 위치설정된다.

Description

상보적 다이-대-다이 인터페이스
본 명세서에 기술된 실시예들은 시스템-온-칩(SOC)들에 관한 것으로, 보다 상세하게는, 다수의 SOC들을 결합하기 위한 인터페이스들에 관한 것이다.
시스템-온-칩(SOC) 집적 회로(IC)들은 일반적으로 메모리 제어기들 및 주변 컴포넌트들과 같은 다양한 다른 컴포넌트들과 함께 시스템에 대한 중앙 프로세싱 유닛(CPU)들로서 기능하는 하나 이상의 프로세서들을 포함한다. 하나 이상의 추가적인 IC들을 포함하는 추가적인 컴포넌트들이 특정 SOC IC와 함께 포함되어 주어진 디바이스를 형성할 수 있다. SOC IC 상에 포함된 프로세서들 및/또는 다른 개별 컴포넌트들의 수를 증가시키는 것이 증가된 성능을 위해 바람직할 수 있다. 추가적으로, SOC IC에 추가하여 디바이스를 형성하는 데 필요한 다른 컴포넌트들의 수를 감소시킴으로써 디바이스에서 비용 절약들이 달성될 수 있다. 전체 시스템의 더 많은 부분이 단일 IC에 통합되면, 디바이스는 더 콤팩트할 수 있다(크기가 더 작음). 또한, 전체적으로 디바이스에 대한 감소된 전력 소비는 더 많은 컴포넌트들을 SOC에 통합함으로써 달성될 수 있다.
주어진 SOC는 다양한 성능, 비용, 및 전력 고려사항들을 갖는 다양한 응용들에서 사용될 수 있다. 비용에-민감한 응용의 경우, 예를 들어, 성능은 비용 및 전력 소비만큼 요구되지 않을 수 있다. 반면에, 성능-지향형 응용의 경우, 비용 및 전력 소비는 강조되지 않을 수 있다. 따라서, 다양한 응용들을 지원하기 위해 다양한 SOC 설계들이 활용될 수 있다.
새로운 SOC 설계를 설계, 검증, 제조, 및 평가하는 것과 연관된 비용을 감소시키기 위해 주어진 SOC 설계의 재사용을 증가시키는 것이 바람직할 수 있다. 따라서, 다양한 응용들을 위해 단일 SOC 설계를 스케일링하기 위한 기법이 바람직하다.
일 실시예에서, 시스템은 대칭 축에 대해 상보적 위치들에 위치된 주어진 특정 버스에 대한 송신 및 수신 핀들을 갖는 물리적 핀 레이아웃을 갖는 외부 인터페이스를 갖는 집적 회로의 제1 인스턴스(instance)를 포함한다. 본 시스템은 외부 인터페이스를 갖는 집적 회로의 제2 인스턴스를 추가로 포함한다. 집적 회로의 제1 및 제2 인스턴스들의 외부 인터페이스들은, 제1 인스턴스 상의 특정 버스에 대한 송신 및 수신 핀들이 제2 인스턴스 상의 특정 버스에 대한 수신 및 송신 핀들과 각각 정렬되도록 위치설정될 수 있다.
추가의 실시예에서, 집적 회로는 복수의 송신 핀들 및 복수의 수신 핀들 중 각자의 핀들에 대응하는 복수의 송신기 회로들 및 복수의 수신기 회로들을 포함할 수 있다. 복수의 송신기 회로들 및 복수의 수신기 회로들은 물리적 핀 레이아웃에 대응하는 물리적 레이아웃으로 배열될 수 있다. 다른 실시예에서, 집적 회로는 집적 회로의 제1 및 제2 인스턴스들 사이에서 그리고 칩 상에서(on-chip) 통신을 지원하는 버스 회로에 결합된 복수의 온-칩 라우터(on-chip router)들을 포함할 수 있다. 복수의 온-칩 라우터들은 외부 인터페이스의 각자의 부분들에 결합될 수 있다.
일 실시예에서, 외부 인터페이스의 송신 및 수신 핀들은 핀들의 세트들로 그룹화될 수 있다. 핀들의 세트들은 공통 수의 핀들을 가질 수 있고, 복수의 온-칩 라우터들 중 개개의 온-칩 라우터들은 핀들의 세트들 중 각자의 하나 이상에 할당될 수 있다. 추가의 예에서, 복수의 온-칩 라우터들 중 특정 온-칩 라우터는 공통 수와 상이한, 특정 수의 핀들을 포함할 수 있다. 특정 온-칩 라우터에 할당된 핀들의 세트들 중 각자의 하나 이상 중 적어도 하나의 핀은 미사용될 수 있다.
일례에서, 복수의 온-칩 라우터들 중 제1 온-칩 라우터는 주어진 I/O 신호에 대한 송신 핀에 결합될 수 있다. 복수의 온-칩 라우터들 중 제2 온-칩 라우터는 주어진 I/O 신호에 대한 수신 핀에 결합될 수 있다. 제1 온-칩 라우터는 제2 온-칩 라우터에 결합될 수 있다. 다른 예에서, 시스템은 인터페이스 래퍼(interface wrapper)를 추가로 포함할 수 있으며, 여기서 인터페이스 래퍼는 송신 핀을 제1 온-칩 라우터 내의 디폴트 핀 할당으로 라우팅하고, 수신 핀을 제2 온-칩 라우터 내의 비-디폴트 핀 할당으로 라우팅하도록 구성된다.
하기의 상세한 설명은 첨부 도면들을 참조하며, 이제 도면들이 간단히 설명된다.
도 1은 함께 결합된 2개의 집적 회로들을 갖는 시스템의 일 실시예의 블록도를 예시한다.
도 2는 외부 인터페이스를 갖는 집적 회로의 일 실시예의 블록도를 도시한다.
도 3은 각자의 외부 인터페이스들의 핀 할당들을 라우팅하기 위해 인터페이스 래퍼를 활용하는 2개의 집적 회로들을 갖는 시스템의 블록도를 도시한다.
도 4는 핀 번들을 활용하는 외부 인터페이스를 갖는 집적 회로의 일 실시예의 블록도를 예시한다.
도 5a는 상보적 인터페이스들을 사용하여 함께 결합된 2개의 집적 회로들의 2개의 예들을 도시한다.
도 5b는 함께 결합된 2개의 집적 회로들의 2개의 추가적인 예들을 도시한다.
도 6은 2개의 결합된 집적 회로들 사이에서 데이터를 전달하기 위한 방법의 일 실시예의 흐름도를 예시한다.
도 7은 집적 회로 내의 외부 인터페이스와 온-칩 라우터들 사이에서 신호 데이터를 라우팅하기 위한 방법의 일 실시예의 흐름도를 도시한다.
도 8은 결합된 집적 회로들을 포함하는 시스템들의 다양한 실시예들을 도시한다.
도 9는 일부 실시예들에 따른 예시적인 컴퓨터 판독가능 매체의 블록도를 도시한다.
본 개시내용에 기술된 실시예들은 다양한 수정들 및 대안적인 형태들을 허용할 수 있지만, 본 개시내용의 특정 실시예들이 도면들에 예로서 도시되고, 본 명세서에서 상세히 기술될 것이다. 그러나, 그에 대한 도면들 및 상세한 설명은 실시예들을 개시된 특정 형태로 제한하는 것으로 의도되는 것이 아니라, 그와는 반대로, 의도는 첨부된 청구범위의 사상 및 범주 내에 속한 모든 수정들, 등가물들, 및 대안들을 커버하기 위한 것임을 이해하여야 한다.
전술한 바와 같이, 주어진 IC 설계는 다양한 성능 및 비용 고려사항들을 갖는 다양한 응용들에서 사용될 수 있다. 또한, 기존 IC 설계의 재사용은 새로운 IC 설계를 설계, 검증, 제조, 및 평가하는 것과 비교하여 비용을 감소시킬 수 있다. 다양한 응용들에 걸쳐 단일 IC 설계를 스케일링하기 위한 하나의 기법은 비용보다 성능을 강조하는 응용들에서 IC의 다수의 인스턴스들을 활용하고, 비용에 민감한 응용들에서는 IC의 단일 인스턴스를 사용하는 것이다.
IC의 다수의 인스턴스들을 활용하는 것은 여러 과제들을 제기할 수 있다. 일부 응용들, 예를 들어 모바일 디바이스들은 다수의 IC들이 포함되기에 제한된 공간을 갖는다. 또한, IC-간 통신과 연관된 레이턴시를 감소시키기 위해, 외부 IC-간 인터페이스는 많은 수의 핀들을 포함할 수 있으며, 이에 의해 많은 수의 비트들이 2개 이상의 IC들 사이에서 병렬로 교환되게 할 수 있다. 예를 들어, 멀티-코어 SOC를 위한 인터페이스는, 수백 개 또는 심지어 1000개 이상의 신호들이 병렬로 이동하는, 시스템-전반(system-wide) 통신 버스를 활용할 수 있다. 이러한 SOC를 2개 이상 함께 결합하는 것은 통신 버스의 상당 부분에 대한 액세스를 제공하는 인터페이스를 요구할 수 있으며, 잠재적으로 2개 이상의 다이를 가로질러 연결되는 100개 이상의 핀들을 요구할 수 있다. 또한, 통신 버스의 내부 통신 주파수와 매칭되거나 또는 심지어 그에 접근하기 위해, IC-간 인터페이스의 많은 수의 핀들의 타이밍 특성들은, 동일한 데이터 워드의 상이한 비트들이 상이한 클록 사이클들에서 도달하는 것을 피하기 위해 일관되어야 한다. 작은 물리적 공간에서 동일한 IC 다이의 2개 이상의 인스턴스들이 함께 결합될 수 있도록 단일 핀 배열을 갖는 큰 고속 인터페이스를 생성하는 것은 IC 설계자들에게 상당한 과제를 제시할 수 있다.
아래에서 추가로 설명되는 바와 같이, 본 개시내용은 "상보적" IC-간 인터페이스들의 사용을 기술한다. 본 개시내용은, 그러한 IC-간 인터페이스들이 제한된 공간에서 동일한 IC 설계의 2개 이상의 인스턴스를 결합하는 것을 지원하고 다양한 응용들을 지원하기 위한 IC 설계의 확장성을 제공한다는 것을 인식한다. 그러한 확장가능한 인터페이스는, 2개의 IC들이 마주보거나 2개의 다이의 공통 에지를 따라 배치될 때 2개의 IC들 사이에 와이어들의 교차가 거의 또는 전혀 없으면서 2개의 IC들이 물리적으로 결합될 수 있게 하는 핀 배열을 포함할 수 있다. 인터페이스의 핀들에 걸쳐 성능 특성들의 일관성을 증가시키기 위해, 인터페이스에 대한 원하는 수의 핀들이 구현될 때까지 더 적은 수의 핀들, 예컨대 16개, 32개 등에 대한 단일 설계가 반복될 수 있다. 그러한 IC-간 인터페이스는, IC의 2개 이상의 인스턴스들의 결합을 통해 성능 증가를 가능하게 함으로써, IC가 광범위한 응용들에서 활용될 수 있게 할 수 있다. 이러한 인터페이스는 추가로, 결합된 IC들이 모바일 응용들에서 또는 다수의 IC들을 위한 물리적 공간이 제한되는 다른 응용들에서 사용될 수 있게 하는 방식으로, 2개 이상의 IC들이 함께 결합될 수 있게 할 수 있다.
2개의 IC-간 인터페이스들은, "상보적 기능들"을 갖는 핀들이 "상보적 레이아웃들"을 갖도록 위치설정될 때, 본 개시내용의 의미 내에서 "상보적"이라고 할 수 있다. 한 쌍의 인터페이스 핀들은, 하나의 집적 회로 상의 그러한 핀들 중 첫 번째가 다른 집적 회로 상의 그러한 핀들 중 두 번째에 의해 수용되도록 설계되는 경우 "상보적 기능들"을 갖는다. 데이터 워드의 특정 비트의 출력 신호를 제공하는 하나의 IC 상의 송신 핀은 데이터 워드의 특정 비트를 입력 신호로서 수용하는 다른 IC 상의 수신 핀에 결합되도록 설계되는 것과 같이, 송신 및 수신은 상보적 기능들의 일례이다. 유사하게, 클록 신호 출력을 운반하는 핀은 클록 신호를 입력으로서 수신할 수 있는 연관된 핀에 대해 상보적 기능을 갖는 것으로 간주된다.
용어 "대칭 축"이 본 개시내용 전반에 걸쳐 사용된다는 것에 유의한다. 대칭 축의 다양한 실시예들이 도 1, 도 2, 도 4, 도 5a, 및 도 5b에 도시되어 있고, 이들 도면을 참조하여 아래에서 설명된다.
상보적 기능을 갖는 핀들은, 상보적 기능들을 갖는 핀들이 정렬되도록 인터페이스를 갖는 제1 집적 회로가 집적 회로의 제2 인스턴스 옆에 위치설정되거나 그에 결합될 수 있도록 핀들이 인터페이스의 대칭 축에 대해 위치될 때, 상보적 레이아웃을 갖는다. 그러한 핀들은 또한 "상보적 위치들"에 있다고 할 수 있다. 상보적 레이아웃의 예는, 특정 신호들에 대한 송신 핀들(예컨대, 데이터 버스의 비트 0 및 비트 1)이 축의 일 측 상에서 대칭 축으로부터 각각 가장 멀리 및 두 번째로 멀리 위치설정되며, 상보적 수신 핀들(예컨대, 데이터 버스의 비트 0 및 비트 1)이 축의 대향 측 상에서 대칭 축으로부터 가장 멀리 및 두 번째로 멀리 배치되는 것일 것이다. 그러한 실시예에서, 상보적 인터페이스를 갖는 IC의 제1 인스턴스는, 제1 인스턴스의 송신 핀들이 제2 인스턴스의 수신 핀들과 정렬되도록, 그리고 제1 인스턴스의 수신 핀들이 제2 인스턴스의 송신 핀들과 정렬되도록, 동일한 IC-간 인터페이스를 갖는 IC의 제2 인스턴스에 대해 위치설정될 수 있다. 도 5a 및 도 5b에 관하여 추가로 설명되는 바와 같이, 2개의 동일한 인터페이스들 상의 핀들은, 2개의 인터페이스들의 주연부들이 일직선이 되고 2개의 인터페이스들에 수직인 직선이 해당 핀들을 관통해 그려질 수 있을 때 "정렬된" 것으로 간주된다. 인터페이스의 핀들과 관련될 때의 정렬의 개념은 도 5a 및 도 5b와 관련하여 아래에서 추가로 설명된다.
그러한 상보적 핀 레이아웃은 제1 및 제2 인스턴스들이, 두 인스턴스들 사이에 어떠한 신호 경로도 교차하지 않으면서, 그들 각자의 외부 인터페이스들을 통해 결합될 수 있도록 한다. 상보적 기능들뿐만 아니라 상보적 위치들을 갖는 한 쌍의 인터페이스 핀들은 "상보적 핀들"로 지칭된다. 송신 및 수신 핀들의 쌍들은 본 명세서에서 상보적 핀들의 예를 설명하기 위해 사용된다. 그러나, 다른 실시예들에서, 상보적 핀들은 신호들이 하나 이상의 제어 신호들의 설정들에 기초하여 어느 방향으로든 전송될 수 있도록 구성된 양방향 핀들의 쌍들을 포함할 수 있다. 예를 들어, 데이터 버스의 상보적 핀들은 데이터가 판독 또는 기록되고 있는지에 따라 데이터를 전송 또는 수신하도록 구성가능할 수 있다.
본 명세서에서 언급된 바와 같이, 인터페이스는, 인터페이스의 상보적 핀 기능들의 일부만이 상보적 위치들에 있을 때, 여전히 상보적인 것으로 간주될 수 있다는 것에 유의한다. 예를 들어, 주어진 IC-간 인터페이스는 메모리 버스, 디스플레이 버스, 네트워크 버스 등 중 2개 이상과 같은, 복수의 통신 버스들과 연관된 핀들을 포함할 수 있다. 주어진 IC-간 인터페이스는, 포함된 버스들 중 적어도 하나와 연관된 상보적 기능들을 갖는 핀들이 주어진 인터페이스의 대칭 축에 대해 상보적 레이아웃으로 배열될 때, 상보적인 것으로 간주된다. 인터페이스의 다른 버스들, 및/또는 특정 통신 버스와 직접 관련되지 않는 다른 신호들은, 상보적 위치들에서 핀들을 갖지 않을 수 있다.
본 개시내용 전반에 걸쳐 예시된 예들에서, 동일한 설계의 2개 이상의 IC들의 사용을 참조한다는 것에 유의한다. 동일한 물리적 핀 레이아웃을 갖는 동일한 외부 인터페이스가 상이한 설계의 IC들을 결합하는 데 사용될 수 있다는 것이 고려된다. 예를 들어, 상이한 IC 설계들의 제품군은 IC들 중 2개 이상의 인스턴스들의 다양한 조합들을 가능하게 하기 위해 제품군에 걸쳐 동일한 외부 인터페이스 설계를 포함할 수 있다. 그러한 다양한 조합들은 광범위한 응용들에 걸쳐 고도로 확장가능한 시스템 솔루션을 제공할 수 있으며, 이에 의해, 예를 들어, 비용에 민감한 응용들에서는 제품군 중 더-작고 덜-비싼 구성원들을 사용하고 성능을 중시하는 응용들에서는 제품군 중 더-비싸고 더 높은-성능의 구성원들을 사용하는 것을 허용한다. 제품군의 구성원들은 또한 감소된 전력 모드들에서의 사용을 위해 작은 저-전력 구성원과 조합될 수 있고, 복잡한 프로세스들 및/또는 많은 병렬 프로세스들이 수행될 필요가 있을 때의 사용을 위해 고-성능 구성원과 조합될 수 있다.
일부 실시예들에서, 외부 인터페이스는 IC 다이의 하나의 에지를 따라 물리적으로 위치된다. 그러한 물리적 위치는, 외부 인터페이스들이 결합될 때 와이어 길이를 감소시키기 위해 이웃하는 다이에 가장 가깝게 배향되는 외부 인터페이스를 포함하는 에지들을 갖는 동일-평면의 표면 상에 2개 이상의 다이를 배치하는 것과 같은, 다양한 멀티-다이 구성들을 지원할 수 있다. 다른 예에서, 한 쌍 중 하나의 다이는 상향으로 향하고 다른 하나는 하향으로 향하여 배치되고, 이어서 그들 각자의 인터페이스들에 의해 정렬될 수 있다. IC들 중 단일 IC만이 포함되는 실시예에서, 다이의 하나의 에지를 따른 외부 인터페이스의 배치는, 예를 들어, 웨이퍼 소우(wafer saw) 동작 동안, 외부 인터페이스가 물리적으로 제거될 수 있게 할 수 있다.
도 1은 각자의 외부 인터페이스들을 통해 결합된 2개의 IC 인스턴스들을 포함하는 시스템의 일 실시예의 블록도를 예시한다. 예시된 바와 같이, 시스템(100)은 각각 그들의 외부 인터페이스들(110a, 110b)(집합적으로 외부 인터페이스들(110))을 통해 결합된 집적 회로들(101a, 101b)(집합적으로 집적 회로들(101))을 포함한다. 대칭 축(140)은 인터페이스들(110a, 110b)에 수직으로, 그리고 그의 중심을 관통해 위치된 수직 파선으로서 도시된다. 대칭 축은 특정 버스와 연관되는 송신 핀들(120a, 120b) 및 수신 핀들(125a, 125b)을 포함하는, 외부 인터페이스들(110)에 포함된 핀들의 물리적 레이아웃에 대한 기준을 제공한다. 도시된 바와 같이, 인터페이스들(110a, 110b)은 각각 집적 회로들(101a, 101b)에서 중심설정된다는 것에 유의한다. 그러나, 다른 실시예들에서, 외부 인터페이스는 집적 회로의 특정 측에 더 가깝게 위치설정될 수 있다.
도시된 바와 같이, 집적 회로(101a)는 대칭 축(140)에 대해 상보적 위치들(130)에 위치된 특정 버스에 대한 송신 핀(120a) 및 수신 핀(125a)을 갖는 물리적 핀 레이아웃을 갖는 외부 인터페이스(110a)를 포함한다. 집적 회로(101a)는 유한한 양의 대역폭으로 임의의 특정 기능을 수행하는 IC 설계이다. 예를 들어, 집적 회로(101a)는 범용 마이크로프로세서 또는 마이크로제어기, 디지털 신호 프로세서, 그래픽 또는 오디오 프로세서, 또는 다른 유형의 시스템-온-칩일 수 있다. 일부 응용들에서, 집적 회로(101)의 단일 인스턴스는 적합한 성능 대역폭을 제공할 수 있다. 다른 응용들에서는, 다수의 집적 회로들(101)이 성능 대역폭을 증가시키기 위해 사용될 수 있다. 일부 응용들에서, 다수의 집적 회로들(101)은 다수의 집적 회로들의 존재가 단일 시스템 상에서 실행되는 소프트웨어에 투명한 단일 시스템으로서 구성될 수 있다.
도 1에 도시된 바와 같이, 외부 인터페이스(110b) 내의 수신 핀(125b)은 외부 인터페이스(110a) 내의 송신 핀(120a)에 상보적이다. 따라서, 송신 핀(120a)을 통해 전송된 I/O 신호(115a)는 수신 핀(125b)에 의해 수신된 I/O 신호(115a)에 공통된다. 유사한 방식으로, 외부 인터페이스(110a)의 수신 핀(125a)은 외부 인터페이스(110b)의 송신 핀(120b)에 상보적이다. 따라서, 송신 핀(120b)에 의해 송신된 I/O 신호(115b)는 수신 핀(125a)에 의해 수신된 I/O 신호(115b)에 대한 공통 신호이다. 예를 들어, I/O 신호(115a)는 집적 회로들(101a, 101b) 내의 특정 버스의 데이터 비트 0에 대응할 수 있다. 따라서, I/O 신호(115b)는 또한 집적 회로들(101a, 101b) 내의 특정 버스의 데이터 비트 0에 대응할 것이다.
예시된 바와 같이, 상보적 핀 레이아웃은 대칭 축(140)에 대해 동일한 순서로 송신 핀(120a) 및 수신 핀(125a)을 배치함으로써 가능해지며, 각각의 핀은 대칭 축(140)으로부터 10번째 핀이다. 예시된 실시예에서, 송신 핀(120a) 및 수신 핀(125a)은 또한 대칭 축(140)으로부터 동일한 물리적 거리(135)에 위치되지만, 대칭 축의 대향 측들 상에 위치되는 것으로 도시된다. 따라서, 외부 인터페이스(110)의 두 인스턴스들은 서로 직접 결합될 수 있다. 그러한 물리적 핀 대칭성은 집적 회로(101b)가 집적 회로(101a)로부터 대향 위치로 회전될 때 바람직한 핀 정렬을 가능하게 할 수 있지만, 이러한 정도의 핀 대칭성은 상보적 인터페이스들의 모든 실시예들에 대한 요건으로 간주되지는 않는다.
예시된 바와 같이, 집적 회로(101a)는 제2 인스턴스, 집적 회로(101b)에 결합된다. 집적 회로들(101a, 101b)은 동일한 IC의 2개의 인스턴스들이며, 따라서, 동일한 회로들, 동일한 특징들, 및 도시된 바와 같이 동일한 외부 인터페이스(110)의 각자의 인스턴스들을 포함한다. 따라서, 집적 회로(101b)는 대칭 축(140)에 대해 상보적 위치들에 위치된 주어진 입력/출력(I/O) 신호에 대한 송신 핀(120b) 및 수신 핀(125b)을 갖는 물리적 핀 레이아웃을 갖는 외부 인터페이스(110b)를 포함한다.
집적 회로들(101)을 결합하기 위해, 집적 회로(101)의 제1 및 제2 인스턴스들의 외부 인터페이스들(110)은, 집적 회로(101a) 상의 I/O 신호(115)에 대한 송신 핀(120a) 및 수신 핀(125a)이 각각 집적 회로(101b) 상의 I/O 신호(115)에 대한 수신 핀(125b) 및 송신 핀(120b)과 정렬되도록, 위치설정된다. 집적 회로(101b)의 다이를 180도 회전시키고 두 집적 회로들(101)의 공통 에지를 서로 인접하게 배치함으로써, 집적 회로(101a)의 송신 핀(120a)은 집적 회로(101b)의 수신 핀(125b)에 인접하게 물리적으로 위치된다. 유사하게, 집적 회로(101a)의 수신 핀(125a)은 집적 회로(101b)의 송신 핀(120b)에 인접하게 물리적으로 위치된다. 본 명세서에서 사용되는 바와 같이, "인접한"은 2개의 요소들을 결합하는 와이어들이 유사한 요소들의 이웃하는 세트들의 와이어들을 교차하지 않도록 배열된 2개 이상의 회로 요소들의 물리적 위치를 지칭한다. 예를 들어, 두 외부 인터페이스들의 핀들의 면에서, 인접한 핀들은 제1 인스턴스의 주어진 핀으로부터 제2 인스턴스의 상보적 핀으로의 와이어가 제1 및 제2 인스턴스들의 이웃하는 핀들 중 임의의 것을 결합하는 데 사용되는 와이어를 교차하지 않음을 나타낸다.
각자의 와이어들(145)을 통해, 송신 핀(120a)은 수신 핀(125b)에 결합되고 수신 핀(125a)은 송신 핀(120b)에 결합된다. 본 명세서에서 사용되는 바와 같이, "와이어"는 외부 인터페이스들(110)의 송신 및 수신 핀들의 결합된 쌍들 사이에서 신호가 전달될 수 있게 하는 임의의 적합한 전도성 매체를 지칭한다는 것에 유의한다. 예를 들어, 와이어는 송신 핀(120a)과 수신 핀(125b) 사이에 부착된 본드 와이어에 대응할 수 있다. 추가적으로, 인터포저 디바이스가 외부 인터페이스(110a)의 핀들을 외부 인터페이스(110b)의 핀들에 결합시키는 데 사용될 수 있다. 일부 실시예들에서, 집적 회로(101a)는, 두 집적 회로 다이 사이에 인터포저 디바이스를 갖거나 갖지 않고서, 뒤집혀서 집적 회로(101b)에 마주보게 부착될 수 있다.
외부 인터페이스(110)의 다른 핀들도 유사한 상보적 위치들에 배열되어, 외부 인터페이스(110)의 송신 핀들의 그룹에 대해, 수신 핀들의 상보적 그룹이 송신 핀들의 그룹과 반대 측 상에서, 대칭 축(140)에 대해 동일한 순서로 위치되도록 할 수 있다. 그러한 레이아웃은, 대칭 축(140)으로부터, 그러나 반대 측들 상에서 동일한 수의 핀들인 한 쌍의 핀들이, 상보적 기능들을 갖는, 예컨대 한 쌍 중 하나의 핀은 송신 핀이고 다른 하나는 수신 핀인, 대칭 핀 배열을 초래한다.
이러한 상보적 핀 레이아웃을 사용하여, 집적 회로(101a)에 의해 데이터를 전송하는 것은, 대칭 축(140)으로부터 특정 거리에 위치되는 송신 핀(120a)을 통해 데이터 패킷의 일부분을 전송하는 것, 및 대칭 축(140)으로부터 동일한 특정 거리에 위치되는 수신 핀(125b)을 통해 데이터 패킷의 일부분을 집적 회로(101b)에 의해 수신하는 것을 포함한다. 유사하게, 데이터 패킷의 나머지 부분들은, 다른 송신 핀들에 의해, 제1 부분과 병렬로, 대칭 축(140)으로부터 등거리에 위치되는 상보적 수신 핀들로 전송된다. 상보적 핀 레이아웃은 또한 외부 인터페이스(110a, 110b) 사이에 연결된 와이어들(145)의 길이가 유사하게 되는 것을 야기할 수 있다는 것에 유의한다. 이러한 유사성은 데이터 패킷이 병렬로 전송 및 수신될 수 있게 하는 것을 도울 수 있으며, 이에 의해 데이터 패킷을 샘플링하는 데 사용되는 임의의 클록 신호들뿐만 아니라 데이터 패킷의 상이한 비트들 사이의 스큐(skew)를 감소시킬 수 있다.
전술한 상보적 핀 레이아웃을 활용함으로써, 외부 인터페이스는, 공간 제약이 있는 응용들에서의 사용을 가능하게 하면서 응용의 성능 요건을 충족시키는 방식으로 집적 회로의 다수의 인스턴스들이 함께 결합되게 할 수 있는 집적 회로 상에서 구현될 수 있다. 증가된 범위의 응용들에 걸친 기존 집적 회로의 재사용은, 그렇지 않았다면 증가된 범위의 하나 이상의 응용들의 성능 요건들을 충족시키기 위해 새로운 집적 회로를 설계하는 것과 연관된 설계 및 제조 비용을 줄일 수 있다.
도 1에 예시된 바와 같은 시스템(100)은 일례일 뿐임에 유의한다. 도 1의 예시는 본 개시내용에 관련된 특징부들을 강조하기 위해 간략화되었다. 다양한 실시예들은 회로 요소들의 상이한 구성들을 포함할 수 있다. 예를 들어, 외부 인터페이스(110)는 20개의 핀들을 갖는 것으로 도시되어 있다. 다른 실시예들에서는, 예를 들어 1,000개 초과의 핀들을 포함하여 임의의 적합한 수의 핀들이 외부 인터페이스에 포함될 수 있다. 집적 회로의 2개의 인스턴스들만이 도시되어 있지만, 다른 실시예들에서는 추가적인 인스턴스들이 포함될 수 있다는 것이 고려된다. 대칭 축(140)이 집적 회로들(101a, 101b)의 중심을 관통하는 것으로서 도시되어 있다. 다른 실시예들에서, 외부 인터페이스, 및 따라서 대칭 축은, 집적 회로의 중심을 벗어나 위치설정될 수 있다.
도 1에 예시된 집적 회로는 외부 인터페이스를 갖는 것으로만 도시되어 있다. 다양한 집적 회로들은 임의의 적합한 수의 추가적인 회로 블록들을 포함할 수 있다. 추가적인 회로 블록들을 갖는 집적 회로의 일례가 도 2에 도시되어 있다.
도 2로 이동하면, 외부 인터페이스를 갖는 집적 회로의 일 실시예의 다이어그램이 도시되어 있다. 예시된 바와 같이, 집적 회로(101)는 온-칩 라우터들(240a 내지 240e)에 결합된 외부 인터페이스(110)를 포함하며, 온-칩 라우터들(240a 내지 240e)은 이어서 버스 회로들(250, 255, 258)을 포함하는 여러 버스 회로들 중 각자의 버스 회로들에 결합된다. 다양한 버스 회로들은 기능 회로(functional circuit)들(260a 내지 260f)의 각자의 세트들에 결합된다. 외부 인터페이스(110)는 복수의 송신 핀들(120) 및 수신 핀들(125)뿐만 아니라, 연관된 송신기 회로들(230) 및 수신기 회로들(235)을 갖는 것으로 도시되어 있다. 집적 회로(101)는, 도시된 바와 같이, 도 1의 집적 회로들(101a, 101b) 둘 모두에 대한 IC 설계에 대응한다.
예시된 바와 같이, 버스 회로들(250 내지 258)은 복수의 기능 회로들(260a 내지 260f)(집합적으로 기능 회로들(260)) 사이에서 주어진 데이터를 전달하도록 구성된다. 버스 회로들(250, 255, 258)은 외부 인터페이스(110) 및 기능 회로들(260)의 각자의 세트들을 포함하는 기능 회로들의 다양한 세트들 사이에서 각자의 통신 경로들을 제공한다. 버스 회로들(250 내지 258) 각각은 각자의 세트의 네트워크 프로토콜들 및/또는 특정 유형들의 데이터를 지원할 수 있다. 예를 들어, 버스 회로(258)는 그래픽 데이터를 전달하는 데 사용될 수 있고, 버스 회로(250)는 범용 데이터를 지원할 수 있으며, 버스 회로(255)는 오디오 데이터에 사용된다.
버스 회로들(250, 255, 258)은 다양한 기능 회로들(260)과 예시되어 있지 않은 추가 기능 회로들 사이에서 데이터 트랜잭션들을 전달하기 위해 집적 회로(101) 내에서 통신 패브릭(fabric)을 집합적으로 형성할 수 있다. 외부 인터페이스(110), 및 따라서 집적 회로(101)의 다른 인스턴스에 액세스하기 위해, 버스 회로들(250 내지 258) 각각은 온-칩 라우터들(240) 중 각자의 하나 이상에 결합되며, 이는 이어서 외부 인터페이스(110)에 포함된 하나 이상의 송신기 회로들(230) 및 수신기 회로들(235)에 결합된다. 온-칩 라우터들(240a, 240d)은, 도시된 바와 같이, 버스 회로(250)로의 상이한 액세스 포인트들을 제공하며, 연관된 송신기 및 수신기 회로들 근처와 같은, 집적 회로(101) 상의 상이한 위치들에 물리적으로 위치될 수 있다. 유사하게, 온-칩 라우터들(240b, 240c)은 버스 회로(255)로의 상이한 액세스 포인트들을 제공하고, 온-칩 라우터(240e)는 버스 회로(258)로의 액세스 포인트를 제공한다.
예시된 바와 같이, 외부 인터페이스(110) 내의 복수의 송신기 회로들(230)은 특정 세트의 송신 핀들(220)에 결합되고, 복수의 수신기 회로들(235)은 특정 세트의 수신 핀들(225)에 결합된다. 이러한 송신기 회로들(230) 및 수신기 회로들(235)은 그들의 대응하는 세트의 송신 핀들(220) 및 수신 핀들(225)의 세트에 의해 물리적으로 위치될 수 있다. 이러한 회로들의 그러한 공동-위치는, 집적 회로(101)의 제1 인스턴스 내의 송신기 회로들(230)의 세트 중 주어진 하나가 특정 신호 레벨을 어써트(assert)하는 시점과, 집적 회로(101)의 제2 인스턴스 상의 수신기 회로들의 세트 중 대응하는 하나가 어써트된 신호 레벨을 수신하는 나중의 시점 사이의 타이밍 스큐를 감소시킬 수 있다. 이러한 타이밍 스큐는 송신기 회로들(230) 및/또는 수신기 회로들(235)이 그들 각자의 송신 및 수신 핀들로부터 더 멀리 배치되는 IC 설계들에서 증가할 수 있다.
특정 세트의 송신 핀들(220)은 외부 인터페이스(110)의 대칭 축(140)에 대해 특정 레이아웃으로 배열된다. 수신 핀들(225)의 특정 세트는 대칭 축(140)에 대해, 특정 레이아웃에 대한 상보적 레이아웃으로 배열된다. 따라서, 집적 회로(101)의 2개의 인스턴스들이 서로 대면하여 배치되며, 이때 인스턴스들 중 하나가 다른 인스턴스로부터 180도 뒤집힐 때, 주어진 송신 핀(120)은 대응하는 수신 핀(125)과 정렬된다. 외부 인터페이스(110)는 버스 회로들(250 내지 258)과 집적 회로(101)의 다른 인스턴스 사이에서 특정 데이터를 전달하도록 구성된다.
온-칩 라우터들(240)은 복수의 신호들을 통해 연관된 버스 회로(250 내지 258)와 외부 인터페이스(110) 사이에서 특정 데이터를 전달한다. 온-칩 라우터들(240)은 버스 회로들(250 내지 258) 중 각자의 버스 회로로 전송할 하나 이상의 데이터 패킷들을 큐잉하고/하거나 각자의 버스 회로로부터 수신된 하나 이상의 데이터 패킷들을 큐잉하도록 구성될 수 있다. 예를 들어, 온-칩 라우터(240a)는 외부 인터페이스(110)를 통해 집적 회로(101)의 다른 인스턴스로부터 일련의 데이터 패킷들을 수신할 수 있다. 일부 실시예들에서, 온-칩 라우터(240a)는 수신된 데이터 패킷들을 전송하기 전에 버스 회로(250)에서 이용가능한 대역폭을 기다리면서 일련 중 하나 이상의 데이터 패킷들을 버퍼링할 수 있다. 그 반대가 또한 발생할 수 있으며, 이때 온-칩 라우터(240a)는 패킷들을 집적 회로(101)의 다른 인스턴스로 전송하기 위한 대역폭을 기다리면서 버스 회로(250)로부터의 데이터 패킷들을 버퍼링한다. 다른 실시예들에서, 온-칩 라우터(240a)는 버스(250) 상의 대역폭 및/또는 목적지 회로 내의 리소스들이 데이터 패킷을 수신하는 데 이용가능할 때까지 기능 회로(260a 또는 260b)가 데이터 패킷을 전송하는 것을 지연시키게 할 수 있다. 또한, 온-칩 라우터들(240)은 수신된 데이터 패킷의 최종 목적지, 예컨대, 기능 회로들(260) 중 특정 하나(또는 그 이상)를 결정하기 위한 논리 회로들을 포함할 수 있다. 일부 실시예들에서, 온-칩 라우터들(240)은 하나의 유형의 데이터 프로토콜을 사용하여 외부 인터페이스(110)로부터 수신된 데이터 신호들을, 연관된 버스 회로와 호환가능한 상이한 유형의 데이터 프로토콜로 변환할 수 있다.
개시된 바와 같이, 집적 회로(101)는 복수의 송신 핀들(120) 및 복수의 수신 핀들(125) 중 각자의 핀들에 대응하는 복수의 송신기 회로들(230) 및 복수의 수신기 회로들(235)을 포함한다. 송신기 회로들(230)은 데이터 신호들을 대응하는 송신 핀들(120)로 구동하기 위한 회로부를 포함한다. 예를 들어, 송신기 회로들(230)은, 연관된 온-칩 라우터(240)에 의해 생성된 신호로부터 특정 전압 레벨을 수신하고 이어서 대응하는 전압 레벨을 연관된 송신 핀(120) 상에 생성하여 집적 회로(101)의 다른 인스턴스 내의 대응하는 수신기 회로(235)가 이 전압 레벨을 검출할 수 있도록 구성된 드라이버 회로들을 포함할 수 있다. 수신기 회로들(235)은, 예를 들어, 수신 핀들(125) 중 대응하는 수신 핀 상의 수신된 전압 레벨이 특정 전압 임계치 초과 또는 미만인지를 검출하고, 이어서 연관된 온-칩 라우터(240)로 전송되는 신호 상에 대응하는 논리 레벨을 생성하도록 구성된 입력 회로들을 포함할 수 있다. 송신기 회로들(230) 및 수신기 회로들(235)은, 도시된 바와 같이, 대칭 축(140)에 대해, 특정 상보적 레이아웃에 대응하는 물리적 레이아웃으로 배열된다.
온-칩 라우터들(240)은 공통 버스 회로(예컨대, 버스 회로(250))에 결합되는 한 쌍의 온-칩 라우터들(예컨대, 온-칩 라우터들(240a, 240d))을 포함한다. 온-칩 라우터(240a)는 대칭 축(140)의 좌측에 위치된 외부 인터페이스(110)의 송신 및 수신 핀들의 특정 세트에 결합된다. 온-칩 라우터(240d)는, 송신 및 수신 핀들의 특정 세트에 상보적인, 대칭 축(140)의 우측에 위치된 외부 인터페이스의 상이한 세트의 송신 및 수신 핀들에 결합된다. 예를 들어, 온-칩 라우터(240a)에 결합된 주어진 송신 핀(120)은 온-칩 라우터(240d)에 결합된 대응하는 상보적 수신 핀(125)을 갖는다.
집적 회로(101)의 제1 인스턴스의 특정 기능 회로(예컨대, 기능 회로(260a))와 집적 회로(101)의 제2 인스턴스의 상이한 기능 회로(예컨대, 기능 회로(260b)의 제2 인스턴스) 사이의 데이터 교환의 예는, 제1 인스턴스 내의 기능 회로(260a)에 의해, 제1 인스턴스의 외부 인터페이스(110)의 송신 핀들(220)의 세트를 통해 제1 데이터를 전송하는 것을 포함한다. 이러한 전송은 온-칩 라우터(240a)를 사용하여 외부 인터페이스(110)를 통해 신호들의 특정 세트를 제2 인스턴스로 송신하는 것을 포함한다. 제2 인스턴스에 의해 제1 데이터를 수신하는 것은, 제2 인스턴스에 의해, 제2 인스턴스 내의 온-칩 라우터(240d)에 결합되는 외부 인터페이스(110)의 수신 핀들(225)의 세트를 통해 신호들의 특정 세트를 수신하는 것을 포함한다. 이어서, 온-칩 라우터(240d)는 수신된 제1 데이터를 제2 인스턴스의 버스 회로(250)를 통해 기능 회로(260b)의 제2 인스턴스로 라우팅할 수 있다.
제2 인스턴스의 기능 회로(260b)로부터 제1 인스턴스의 기능 회로(260a)로 전송된 데이터는 이 프로세스를 반복한다. 집적 회로(101)의 제2 인스턴스는 제2 인스턴스의 외부 인터페이스(110)의 송신 핀들(220)의 세트를 통해 제2 데이터를 전송하며, 이는 제2 인스턴스의 온-칩 라우터(240a)를 사용하여 외부 인터페이스(110)를 통해 제1 인스턴스로 신호들의 상이한 세트를 송신하는 것을 포함한다. 제1 인스턴스에 의해, 제1 인스턴스의 외부 인터페이스(110)의 수신 핀들(225)의 세트를 통해 제2 데이터를 수신하는 것은, 제1 인스턴스의 온-칩 라우터(240d)를 사용하여 외부 인터페이스(110)를 통해 제2 인스턴스로부터 신호들의 상이한 세트를 수신하는 것을 포함한다. 수신된 제2 데이터는, 이어서, 제1 인스턴스의 버스 회로(250)를 통해 기능 회로(260a)로 라우팅된다. 따라서, 데이터는 상보적 송신 핀들(120) 및 수신 핀들(125)의 대응하는 세트들을 사용하여 집적 회로(101)의 두 인스턴스들 사이에서 교환될 수 있다.
또한, 온-칩 라우터(240a)는, 버스 회로(250)를 통해, 온-칩 라우터(240d)에 그리고 송신 핀들(220)의 세트에 결합된다. 유사하게, 온-칩 라우터(240d)는 수신 핀들(225)의 세트에 결합된다. 따라서, 제1 인스턴스 내의 기능 회로(260a)는 온-칩 라우터들(240a, 240d)의 상보적 세트를 사용하여 외부 인터페이스(110)를 통해 데이터를 전송 및 수신할 수 있다. 제2 인스턴스의 기능 회로(260b)는 유사하게, 제2 인스턴스의 온-칩 라우터들(240a, 240d)의 상보적 세트를 사용하여 외부 인터페이스(110)를 통해 데이터를 전송 및 수신할 수 있다. 따라서, 제1 및 제2 인스턴스들의 결합된 외부 인터페이스들(110)은 두 인스턴스들의 각자의 통신 패브릭들이 단일의 코히어런트 통신 패브릭으로서 기능할 수 있게 하며, 이에 의해 동일한 다이 상의 두 기능 회로들 사이에 교환되는 데이터 패킷들과 유사한 방식으로 반대편 다이들 상의 기능 회로들 사이에서 데이터 패킷들이 교환될 수 있게 한다. 기능적 관점에서, 집적 회로(101)의 두 인스턴스들은 단일 집적 회로로서 수행할 수 있다.
도 2의 실시예는 일례임에 유의한다. 다른 실시예들에서, 상이한 조합의 요소들이 포함될 수 있다. 예를 들어, 상이한 수의 버스 회로들 및/또는 온-칩 라우터들이 포함될 수 있다. 도 2는 외부 인터페이스(110)에 포함된 26개의 핀들을 도시하지만, 다른 실시예들에서는, 임의의 적합한 수의 핀들이 포함될 수 있다.
도 1 및 도 2의 설명에서, 외부 인터페이스(110)의 다양한 쌍들의 핀들이 상보적인 것으로서 설명된다. 일부 실시예들에서, IC의 제1 인스턴스의 송신 핀들의 특정 세트에 걸쳐 송신되는 데이터의 비트들의 순서는 IC의 제2 인스턴스의 수신 핀들의 상보적 세트와 직접적으로 정렬되지 않을 수 있다. 데이터 비트들의 오정렬이 어떻게 해결될 수 있는지를 보여주는 IC의 일 실시예가 도 3에 도시된다.
도 3을 참조하면, 집적 회로(101)의 2개의 인스턴스들이 외부 인터페이스(110)의 그들 각자의 인스턴스들을 통해 결합된 것으로 도시되어 있다. 도시된 바와 같이, 시스템(300)은 수신된 데이터가 송신 데이터로부터 오정렬되는 실시예를 도시한다. 시스템(300)은 집적 회로들(101a, 101b)을 포함하며, 각각은 각자의 외부 인터페이스(110a, 110b), 및 각자의 쌍의 온-칩 라우터들(집적 회로(101a) 내의 온-칩 라우터들(340a, 340b) 및 집적 회로(101b) 상의 온-칩 라우터들(340c, 340d))을 갖는다. 예시된 예에 대해, 집적 회로(101a)의 온-칩 라우터(340a)는 집적 회로(101b)의 온-칩 라우터(340c)에 대응한다. 유사한 방식으로, 온-칩 라우터(340b)는 온-칩 라우터(340d)에 대응한다. 집적 회로들(101a, 101b) 각각은 각자의 온-칩 라우터들과 외부 인터페이스들 사이에서 개개의 신호들을 라우팅하도록 구성되는 인터페이스 래퍼들(350a, 350b) 중 각자의 인터페이스 래퍼를 추가로 포함한다.
예시된 바와 같이, 외부 인터페이스(110a, 110b)의 송신 및 수신 핀들은 각자의 송신기 및 수신기 회로들을 포함하는 핀들의 세트들로 그룹화된다. 이러한 핀들의 세트들은 공통 수의 핀들을 갖지만 - 예시된 예에서는 8개 -, 임의의 적합한 수가 사용될 수 있다. 이러한 공통 수의 핀들은 핀들의 세트들에 대한 설계를 표준화하는 데 사용될 수 있다. 핀들의 각각의 세트는 클록 신호들, 전력 등을 제어하기 위한 신호들의 공통 세트를 포함할 수 있다. 예를 들어, 주어진 세트의 각각의 핀은 동일한 게이트된 클록 신호를 수신하고, 동일한 게이트된 전력 노드 및/또는 동일한 게이트된 접지 기준 노드에 결합될 수 있다. 핀들의 세트들에 대해 적은 수의(예컨대, 하나 또는 2개) 설계들을 활용하는 것은, 외부 인터페이스에 대한 개발 시간을 감소시킬 뿐만 아니라, 외부 인터페이스들(110a, 110b)의 핀들 각각에 대한, 성능 특성들(예컨대, 상승 및 하강 시간들)뿐만 아니라 배치에 대한 균일성을 증가시킬 수 있다. 이전에 개시된 바와 같이, 외부 인터페이스(110)의 각각의 인스턴스에 대해 32개의 핀들만 예시되어 있지만, 외부 인터페이스(110)는 실제로 수백 또는 수천 개의 핀들을 포함할 수 있다. 따라서, 인터페이스 설계에서 구현될 핀들의 세트들을 하나의 단위로서 표준화하는 것은, 외부 인터페이스(110)를 설계 및 검증하는 데 필요한 시간들에 대한 상당한 감소를 야기할 수 있다.
복수의 온-칩 라우터들(340a 내지 340d) 중 개개의 온-칩 라우터들은 핀들의 세트들 중 각자의 하나 이상에 할당된다. 예를 들어, 온-칩 라우터(340a)는 송신 핀들(320a)의 세트 및 수신 핀들(325a)의 세트에 할당된다. 마찬가지로, 온-칩 라우터들(340b 내지 340d)은 송신 핀들의 각자의 세트 및 수신 핀들의 각자의 세트에 할당된다. 다양한 실시예들에서, 이러한 할당들은 고정될 수 있거나, 또는 프로그래밍가능할 수 있으며, 예컨대, 특정 구성 레지스터(도시되지 않음)를 설정함으로써 핀들의 세트들이 할당된다. 도시된 실시예에서, 수신 및 송신 핀들은 별개의 세트들로 그룹화되어 있다는 것에 유의한다. 다른 실시예들에서, 아래에 도시되는 바와 같이, 핀들의 세트는 송신 및 수신 핀들 둘 모두를 포함할 수 있다.
또한, 복수의 온-칩 라우터들(340a 내지 340d) 중 개개의 온 -칩 라우터들은 각자의 버스 회로에 할당되고, 따라서 동일한 집적 회로(101) 상에 포함된 복수의 기능 회로들에 결합된다. 일부 실시예들에서, 온-칩 라우터들(340)의 물리적 배향은 온-칩 라우터가 결합되는 특정 버스 회로에 우선하여 구현될 수 있다. 예를 들어, 온-칩 라우터들(340a, 340b)은 집적 회로(101a) 주위를 감싸는 공통 버스 회로에 정렬되기 위해 서로 180도 회전되도록 인스턴스화될 수 있다. 그러한 실시예에서, 온-칩 라우터(340b)의 핀들은 외부 인터페이스(110a)의 수신 핀들(325b)의 세트 및/또는 송신 핀들(320b)의 세트에 정렬되지 않을 수 있다. 또한, 인터페이스 래퍼(350a)는 서로 180도로 인스턴스화되는 동일한 컴포넌트의 여러 인스턴스들을 포함할 수 있다. 그러한 경우, 인터페이스 래퍼(350a)의 송신 및 수신 핀들은 외부 인터페이스(110a)의 핀들에 정렬되지 않을 수 있다. 따라서, 인터페이스 래퍼(350a)를 통해 핀 신호들을 재라우팅(reroute)하는 능력이 요구될 수 있다.
도시된 바와 같이, 온-칩 라우터들(340a 내지 340d) 각각은, 핀들의 공통 수인 8과 상이한, 6개의 출력 신호들 및 6개의 입력 신호들을 포함한다. 따라서, 각각의 온-칩 라우터(340)에 할당되는 핀들(320, 325)의 각각의 세트들 중 2개 핀들은 사용되지 않는다. 온-칩 라우터들(340a 내지 340d)은 각각, 도 2와 관련하여 전술한 바와 같이, 특정 네트워크 프로토콜을 지원한다. 도 3에 도시된 바와 같은 일부 경우들에서, 특정 네트워크 프로토콜은 핀들의 세트들에 포함된 공통 수의 핀들과 정렬되는 수의 핀들을 포함하지 않을 수 있다. 여분의 핀들을 제거하는 것은 나머지 핀들의 성능 특성들에 영향을 미칠 수 있기 때문에(예컨대, 나머지 핀들 각각에 의해 보여지는 기생 커패시턴스가 상이할 수 있으며, 이에 의해 상승 및 하강 시간들에 영향을 미칠 수 있음), 일부 실시예들에서, 관계없는(extraneous) 핀들은 각자의 세트들 내에 남겨진다.
도시된 바와 같이, 송신 핀들(320)의 각각의 세트는 송신 버퍼를 포함하며, 유사하게, 수신 핀들(325)의 각각의 세트는 수신 버퍼를 포함한다. 8개의 송신 핀들 또는 8개의 수신 핀들이 각각의 세트에 포함되므로, 각자의 송신 및 수신 버퍼들은 데이터의 바이트로서 액세스될 수 있다. 예를 들어, 온-칩 라우터(340a)는 온-칩 라우터(340d)로 데이터를 전송할 수 있다. 온-칩 라우터(340a)는 6개의 출력 신호들을 인터페이스 래퍼(350a)로 전송한다. 인터페이스 래퍼(350a)는 송신 핀들(320a)의 세트를 온-칩 라우터(340a) 내의 디폴트 핀 할당으로 라우팅하도록 구성된다. 도시된 바와 같이, 이러한 디폴트 할당은, 송신 핀들(320a)의 세트의 비트 0이 온-칩 라우터(340a)의 비트 0에 결합되는 등, 송신 핀들(320a)의 세트의 비트 5가 온-칩 라우터(340a)의 비트 5에 할당되는, 스트레이트 스루(straight-through) 할당이다. 이러한 비트 할당은 비트 0이 외부 인터페이스(110a) 내의 핀들의 세트들 중 최좌측 핀에 대응한다고 가정한다.
집적 회로(101b)는 집적 회로(101a)와 관련하여 180도 회전된다는 것에 유의한다. 따라서, 비트 0은 외부 인터페이스(110b) 내의 핀들의 세트들 중 최우측 핀에 대응한다. 외부 인터페이스(110a 및 110b) 사이의 와이어들(145)은 도시된 바와 같이 직선으로 가로지르기 때문에, 송신 핀들(320a)의 세트 중 비트 0은 수신 핀들(325d)의 세트 중 비트 7에 결합되고, 유사하게, 송신 핀들(320a)의 세트 중 비트 5는 수신 핀들(325d)의 세트 중 비트 2에 결합된다. 따라서, 인터페이스 래퍼(350b)는 비-디폴트 핀 할당을 사용하여 수신 핀들(325d)의 세트를 온-칩 라우터(340d)로 라우팅한다.
유사한 방식으로, 온-칩 라우터(340d)로부터 온-칩 라우터(340a)로 데이터를 전송하는 것은, 온-칩 라우터(340d)에 의해, 송신 핀들(320d)의 세트를 온-칩 라우터(340d)로 라우팅하기 위한 비-디폴트 핀 할당을 사용하여 외부 인터페이스(110b)의 송신 핀들(320d)의 세트를 통해 신호들을 전송하는 것을 포함할 수 있다. 온-칩 라우터(340a)에 의해, 외부 인터페이스(110a)의 수신 핀들(325a)의 세트를 통해 데이터를 수신하는 것은, 디폴트 핀 할당을 사용하여 수신 핀들(325a)의 세트를 온-칩 라우터(340a)로 라우팅하는 것을 포함한다.
일부 실시예들에서, 인터페이스 래퍼들(350a, 350b)은, 주어진 온-칩 라우터(340)에 의해 데이터가 전달되지 않는 임의의 주어진 클록 사이클에서 주어진 온-칩 라우터(340)와 할당된 세트(또는 세트들)의 핀들의 송신 및 수신 핀들 사이의 라우팅을 조정할 수 있다. 예를 들어, 특정 데이터의 양이 온-칩 라우터(340b)와 온-칩 라우터(340c) 사이에 전송될 수 있다. 인터페이스 래퍼(350a)는, 특정 데이터의 제1 부분에 대해, 제1 핀 할당을 사용하여 온-칩 라우터(340b)와 송신 핀들(320b)의 세트 사이에서 복수의 신호들을 라우팅하고, 이어서, 특정 데이터의 제2 부분에 대해, 제1 핀 할당과 상이한 제2 핀 할당을 사용하여 온-칩 라우터(340b)와 송신 핀들(320b)의 세트 사이에서 복수의 신호들을 재라우팅한다.
예를 들어, 집적 회로들(101a, 101b)은 각각 특정 명령어 세트 아키텍처의 명령어들을 실행할 수 있는 하나 이상의 프로세싱 코어들을 포함할 수 있다. 따라서, 특정 프로그램의 명령어들은 코어로 하여금 특정 시점들에서, 또는 특정 유형들의 데이터에 대해 인터페이스 래퍼들(350a 및/또는 350b)에서 핀 할당들을 수정하게 할 수 있다. 예를 들어, 이미지 데이터는 하나의 핀 할당을 사용하여 전송되고, 이어서 오디오 데이터에 대한 또는 이미지 데이터와 연관된 커맨드들에 대한 상이한 핀 할당으로 스위칭할 수 있다. 또한, 인터페이스 래퍼(350a, 350b)는 동일한 IC 상의 상이한 라우터가 데이터를 전송 또는 수신하고 있는 동안 하나의 온-칩 라우터에 대한 핀 할당들을 재라우팅할 수 있을 수 있다.
도 3의 예들은 단지 개시된 개념들을 설명하기 위한 것임에 유의한다. 시스템(300)은 설명된 기법들을 명확하게 예시하기 위해 단순화되었다. 다른 실시예들에서, 추가적인 온-칩 라우터들뿐만 아니라 송신 및 수신 핀들의 추가적인 세트들이 외부 인터페이스들에 포함될 수 있다. 집적 회로들(101a, 101b)의 다른 회로 블록들은 명확성을 위해 생략되었다.
도 3은 외부 인터페이스 내의 핀들의 세트들이 어떻게 구현되고 활용될 수 있는지를 설명한다. 그러한 핀들의 세트들을 구현하기 위해 다양한 기법들이 활용될 수 있다. 도 3에서, 외부 인터페이스의 핀들은 수신 핀들의 세트들로부터 분리된 송신 핀들의 세트들로 그룹화된다. 도 4는 송신 및 수신 핀들 둘 모두를 포함하는 핀들의 세트들을 그룹화하기 위한 다른 예를 예시한다.
도 4로 진행하면, 외부 인터페이스를 갖는 집적 회로의 일 실시예의 블록도가 도시되어 있다. 예시된 실시예에서, 집적 회로(101)는 외부 인터페이스(410) 및 온-칩 라우터들(440a 내지 440d)(집합적으로 온-칩 라우터들(440))을 포함한다. 외부 인터페이스(410)는 송신 및 수신 핀들의 4개의 세트들, 번들들(450a 내지 450d)(집합적으로 번들들(450))을 포함하며, 여기서 송신 및 수신 핀들은 대칭 축(140)에 대해 상보적 레이아웃으로 배열된다. 예시된 번들들(450a 내지 450d) 각각은 8개의 핀들, 즉 4개의 송신 핀들 및 4개의 수신 핀들을 포함한다.
예시된 바와 같이, 외부 인터페이스(410)의 송신 및 수신 핀들은 핀들의 세트들, 번들들(450a 내지 450d)로 그룹화되며, 여기서 번들들(450) 각각은 공통 수의 핀들(8개)을 갖는다. 온-칩 라우터들(440)은 번들들(450) 중 각자의 번들에 할당된다. 그러나, 다른 실시예들에서는, 온-칩 라우터들(440) 중 하나 이상이 둘 이상의 번들들(450)에 할당될 수 있다. 전술한 바와 같이, 송신 및 수신 핀들의 세트들은 외부 인터페이스(410)의 핀들에 걸쳐 일관성을 증가시키기 위해 표준화된 번들들(450)을 사용하여 구현될 수 있다. 각각의 번들(450) 내에서, 포함된 송신 및 수신 핀들은 공통 전력 신호 및 클록 신호를 공유한다.
각각의 번들(450)은 임의의 적절한 전력 신호 및 클록 신호에 결합될 수 있다. 도시된 바와 같이, 번들들(450a, 450d)은 전력 신호(460a) 및 클록 신호(465a)를 수신하도록 결합되고, 번들들(450b, 450c)은 전력 신호(460b) 및 클록 신호(465b)를 수신하도록 결합된다. 일부 실시예들에서, 전력 신호(460a)는, 예를 들어, 상이한 전압 레벨을 사용하고/하거나 상이한 전력 게이트들을 구현하여 각자의 번들들(450)을 인에이블/디스에이블하는 것을 포함하여, 전력 신호(460b)로부터 독립적으로 제어될 수 있다. 유사한 방식으로, 클록 신호(465a)는 또한 클록 신호(465b)와 독립적으로 제어될 수 있다. 따라서, 클록 신호(465a)는 클록 신호(465b)와 독립적으로 인에이블되고/되거나 특정 주파수로 설정될 수 있다. 본 실시예에서, 번들들(450a, 450d)은 번들들(450b, 450c)과 같이, 상보적 쌍이다. 번들들(450) 각각을 구현하기 위해 표준화된 핀 번들을 사용하는 것에 더하여, 상보적 쌍의 번들들(450)에 대한 공통 전력 및 클록 신호들의 사용은 상보적 쌍의 두 번들들(450) 사이의 성능 일관성을 추가로 증가시킬 수 있다.
도시된 바와 같이, 온-칩 라우터들(440a, 440d)은 번들들(450a, 450d)에 각각 할당된다. 유사한 방식으로, 온-칩 라우터들(440b, 440c)은 각각 번들들(450b, 450c)에 할당된다. 온-칩 라우터들(440a, 440d)은 표준화된 번들에 포함되는 것과 동일한 수의 송신 및 수신 핀들을 포함하여, 번들들(450a, 450d)에는 미사용 핀이 없게 된다. 대조적으로, 온-칩 라우터들(440b, 440c)은, 표준화된 번들에 포함된 공통 수의 핀들보다 적은 송신 및 수신 핀들을 포함하여, 번들들(450b, 450c)에서 각각 하나의 미사용 송신 핀 및 하나의 미사용 수신 핀을 생성한다.
예시된 바와 같이, 온-칩 라우터들(440a, 440d)은 각자의 번들들의 모든 송신 핀들을 사용하여 번들들(450a, 450d)을 통해 데이터 패킷들을 전송할 수 있다. 그러나, 상이한 시점에서, 온-칩 라우터들(440a, 440d)은 복수의 데이터 패킷들을 전송할 수 있으며, 여기서 복수의 데이터 패킷들 중 데이터 패킷들은 더 적은 수의 비트들을 포함하여, 각자의 번들(450)의 모든 송신 핀들보다 더 적은 송신 핀들이 사용되게 된다. 마찬가지로, 데이터 패킷을 수신할 때, 주어진 데이터 패킷을 수신하기 위해 번들(450a, 450d) 내의 모든 수신 핀들보다 적은 수신 핀들이 사용될 수 있다.
도 4는 단지 개시된 개념들의 일례임에 유의한다. 4개의 온-칩 라우터들 및 4개의 핀 번들들이 도시되어 있지만, 다른 실시예들에서는 임의의 적합한 개수가 포함될 수 있다. 예시된 바와 같이, 4개의 송신 핀들 및 4개의 수신 핀들이 각각의 핀 번들 내에 도시되어 있다. 다른 실시예들에서는, 임의의 적합한 수의 송신 및 수신 핀들이 포함될 수 있다. 일부 실시예들에서, 송신 핀들의 수는 수신 핀들의 수와 상이할 수 있다. 다른 실시예들에서, 송신 및 수신 핀들은 별개의 번들들에서 구현될 수 있다.
도 1 및 도 3에서, 2개의 집적 회로들이 그들 각자의 외부 인터페이스들을 통해 결합된 것으로 도시되어 있다. 일부 실시예들에서, 두 집적 회로들은, IC들 둘 모두가 동일한 방향을 향하고 하나의 IC가 회전되어 그들 각자의 외부 인터페이스들의 핀들이 어떠한 와이어도 교차하지 않으면서 결합될 수 있게 하는 방식으로 두 외부 인터페이스들의 핀들이 정렬되는 채로, 동일-평면 표면 상에 배치될 수 있다. 다른 실시예들에서, 도 5a 및 도 5b에 도시된 바와 같이, 2개의 IC들은, 그들 각자의 외부 인터페이스들이 정렬된 채로, 마주보게 부착될 수 있다. 도 5b는 비-정렬된 외부 인터페이스를 통해 결합되는 2개의 다이의 예를 추가로 도시한다.
이제 도 5a로 진행하면, 외부 인터페이스를 통해 2개의 집적 회로들을 함께 부착하기 위한 2개의 실시예들이 도시되어 있다. 일 실시예에서, 시스템(500)은 솔더 범프들(540)을 사용하여 집적 회로 다이(501b)에 결합된 집적 회로 다이(501a)를 도시한다. 다른 실시예에서, 시스템(505)은 인터포저 디바이스(530)뿐만 아니라 솔더 범프들(545)의 2개의 세트들을 사용하여 집적 회로 다이(501b)에 결합된 집적 회로 다이(501a)를 도시한다. 본 실시예에서, 집적 회로 다이(501a, 501b)는 도 1의 집적 회로들(101a, 101b)에 대응한다.
도 1에 도시된 바와 같이, 집적 회로들(101a, 101b)의 외부 인터페이스들은, 두 다이들이 동일-평면 표면 상에 배치되고 다이들 둘 모두의 면들이 동일한 방향을 향한 채로, 와이어들(예컨대, 솔더링된 본드 와이어들 또는 회로 보드들 상에 침착된 마이크로 스트립 전도체들)을 사용하여 결합될 수 있다. 그러한 기법은 저비용 조립 솔루션을 가능하게 할 수 있지만, 두 다이들의 풋프린트보다 큰 연관된 회로 보드의 표면적을 필요로 할 수 있다. 이러한 풋프린트를 감소시키기 위해, 시스템(500)은, 각자의 외부 인터페이스들의 핀들이 정렬되고 솔더 범프들(540)을 사용하여 서로 직접 솔더링된 채로, 마주보게 배치된 2개의 집적 회로 다이(501a, 501b)를 포함한다. 예를 들어, 송신 핀(120a)은 수신 핀(125b)에 직접 솔더링되고, 수신 핀(125a)은 송신 핀(120b)에 직접 솔더링된다. 도 1의 외부 인터페이스들(110)에 대해 전술한 상보적 핀 레이아웃은 동일한 인터페이스의 상이한 인스턴스들 사이에서 이러한 직접 솔더링을 가능하게 한다. 대칭 축(140)으로부터의 등거리에서의 상보적 쌍들의 핀들의 배치는 직접 연결들을 가능하게 하는 정렬을 제공한다.
시스템(505)은 시스템(500)과 유사한 솔루션을 제공하지만, 각각의 다이의 외부 인터페이스 사이에 전도성 연결을 제공하기 위한 인터포저 디바이스(530a)가 추가된다. 시스템(505)에서, 집적 회로 다이(501a)의 송신 핀(120a)은 인터포저 디바이스(530a)의 특정 핀에 솔더링된다. 이어서, 이러한 특정 핀은 수신 핀(125b)에 솔더링된다. 유사한 방식으로, 수신 핀(125a)은 인터포저 디바이스(530a)의 상이한 핀에 솔더링되며, 이는 이어서 송신 핀(120b)에 솔더링된다. 인터포저 디바이스(530a)는 집적 회로 다이(501a)의 핀들을 물리적으로 정렬되지 않은 집적 회로 다이(501b)의 핀들로 라우팅하는 것을 허용할 수 있지만, 집적 회로 다이(501a, 501b)의 외부 인터페이스들에 대한 상보적 핀 레이아웃의 사용은 인터포저 디바이스(530a)가 직선으로 가로지르는 두 다이 사이의 전도성 경로들을 가질 수 있게 한다. 그러한 직선 연결은, 두 다이 상의 오정렬된 핀들 사이의 연결들을 라우팅하는 것과 비교하여, 집적 회로(501a, 501b)의 핀들 사이의 물리적 경로를 감소시킬 수 있다. 인터포저 디바이스(530a)의 사용은 추가로, 외부 인터페이스들의 하나 이상의 핀들 또는 집적 회로 다이(501a, 501b) 중 어느 하나의 다른 핀들을 인터포저 디바이스(530)의 에지로 라우팅하는 것을 가능하게 할 수 있으며, 여기서 핀들은, 예를 들어, 다른 집적 회로들에 결합될 수 있다.
도 5a에서, 집적 회로들(501a, 501b)의 외부 인터페이스들의 핀들은 대칭 축(140)으로부터 등거리에 있는 상보적 핀들을 갖는 것으로 도시되어 있다. 일부 실시예들에서, 인터페이스의 모든 핀들이 그러한 등거리 핀 레이아웃을 포함하지는 않을 수 있다. 이제 도 5b를 참조하면, 2개의 결합된 IC들의 2개의 더 많은 예들이 도시되어 있다. 그러나, 시스템들(510, 515)에 포함된 IC들은 대칭 축으로부터 모두 등거리에 있는 핀들을 포함하지는 않는다.
예시된 바와 같이, 시스템(510)은 상보적 핀들을 포함하는 외부 인터페이스의 예를 보여준다. 집적 회로 다이(501a, 501b)와 유사하게, 집적 회로 다이(502a, 502b)는 공통 외부 인터페이스 설계를 통해 결합되는 동일한 집적 회로 설계의 2개의 인스턴스들이다. 집적 회로 다이(502a, 502b)의 외부 인터페이스의 핀들은 2개의 버스들, 버스(560) 및 버스(565)에 대한 송신 및 수신 핀들을 포함한다. 버스(565)에 대한 핀들은 다이당 2개의 섹션들, 즉 집적 회로 다이(502a) 상의 버스(565a, 565b), 및 집적 회로 다이(502b) 상의 버스(565c, 565d)로 분할된다. 각각의 다이는 또한 버스(560), 즉 집적 회로 다이(502a) 상의 560a 및 집적 회로 다이(502b) 상의 560b에 대한, 각자의 핀들을 포함한다. 버스(565a, 565d)의 상보적 핀들은 대칭 축(140)으로부터 등거리에 있지 않고, 핀들은 동일한 순서로 배열되지만, 다이의 에지들에 평행한 직선은 버스들(565a, 565d)의 핀들을 관통해, 그리고 버스들(565b, 565c)의 핀들과 유사하게 그려질 수 없다. 따라서, 버스(565)의 핀들은 정렬되지 않는다.
도시된 바와 같이, 상보적 기능들을 갖는 버스(560a)의 핀들 또한 대칭 축(140)으로부터 등거리에 배열되지 않는다. 그러나, 버스(565)의 핀들과는 달리, 다이의 에지들에 평행한 선들은 버스들(560a, 560b)의 핀들의 상보적 쌍들을 관통해 그려질 수 있다. 따라서, 버스(560)의 핀들은 정렬된다.
시스템(515)은, 제시된 바와 같이, 상보적이지 않은 외부 인터페이스의 예를 보여준다. 시스템(510)과 같이, 시스템(515)은 동일한 집적 회로 설계의 2개의 인스턴스들, 집적 회로 다이(503a, 503b)를 포함한다. 시스템(515)에서, 외부 인터페이스의 핀들은 정렬되지 않으며, 그 결과, 다수의 신호 경로들이 교차한다. 예를 들어, 송신 핀(120a)과 수신 핀(125b) 사이의 신호 경로는 송신 핀(121a) 및 수신 핀(126b)으로부터의 경로를 교차한다. 대칭 축(140)의 반대측에서, 송신 핀(120b)과 수신 핀(125a) 사이의 신호 경로는 송신 핀(121b) 및 수신 핀(126a)으로부터의 경로를 교차한다. 이러한 오정렬로 인해, 집적 회로들(503a, 503b)은 상보적 인터페이스를 갖는 것으로 간주되지 않는다.
외부 인터페이스의 상보적 핀들의 그 정렬은 인접 신호들 사이의 노이즈 커플링의 감소를 야기할 수 있다는 것에 유의한다. 2개 이상의 신호 경로들이 교차할 때, 신호들을 운반하는 와이어들은 매우 근접해질 수 있으며, 이는 결국, 제1 신호 경로가 제2 신호 경로 상의 신호 전이들로부터 전자기 간섭을 수신하는 노이즈 커플링에 대한 민감도를 증가시킬 수 있다. 두 신호 경로들이 가까울수록, 두 경로들 사이에 송신되는 노이즈에 대한 민감도는 더 커진다. 인터페이스의 핀들을 정렬시킴으로써, 적합한 거리가 인접한 신호 경로들 사이에서 유지될 수 있으며, 이에 의해 노이즈 민감도를 허용가능한 레벨로 감소시킬 수 있다. 정렬된 핀 레이아웃은 인터포저 디바이스를 통하는 신호 경로들의 길이를 추가로 감소시킬 수 있으며, 이는 핀들의 상보적 쌍들 사이의 임피던스를 감소시켜, 시스템의 동작이 더 낮은 전압 레벨들 및/또는 더 높은 클록 주파수들에서 발생할 수 있도록 할 수 있다.
도 5a 및 도 5b의 예들은 단지 개시된 기법들을 설명하기 위한 것임에 또한 유의한다. 2개 이상의 IC 다이들을 결합하기 위한 다른 기법들이 고려된다. 예를 들어, 일부 실시예들에서, 2개 이상의 IC 다이 각각에 대한 핀들은 회로 보드를 통해 라우팅된 다이 사이의 연결들을 이용해 회로 보드에 직접 결합될 수 있다.
도 1 내지 도 5와 관련하여 전술한 회로들 및 기법들은 다양한 방법들을 사용하여 2개의 외부 인터페이스들을 결합할 수 있다. 인터페이스들을 결합하는 것과 연관된 2개의 방법들이 도 6 및 도 7과 관련하여 아래에서 설명된다.
이제 도 6으로 이동하면, 2개의 집적 회로들을 함께 결합하기 위한 방법의 일 실시예에 대한 흐름도가 도시되어 있다. 방법(600)은, 도 1의 시스템(100)과 같은, 집적 회로의 2개 이상의 인스턴스들을 포함하는 시스템에 의해 수행될 수 있다. 도 1 및 도 6을 집합적으로 참조하면, 방법(600)은 블록(610)에서 시작한다.
블록(610)에서, 방법(600)은, 집적 회로(101a)에 의해 집적 회로(101b)로, 외부 인터페이스(110a)의 송신 핀들의 세트를 통해 제1 데이터를 전송하는 것을 포함한다. 도시된 바와 같이, 집적 회로들(101a, 101b)은 공통 집적 회로 설계의 2개의 인스턴스들이다. 이와 같이, 두 인스턴스들의 물리적 핀 레이아웃은 동일하다. 그러나, 다른 실시예들에서, 2개의 상이한 집적 회로들의 각자의 인스턴스들이 사용될 수 있다는 것이 고려된다. 도 1에서, 집적 회로(101a)의 외부 인터페이스(110a)의 송신 핀들은 집적 회로(101b)의 외부 인터페이스(110b)의 각자의 수신 핀들에 결합되며, 이는 수신 핀(125b)에 결합된 송신 핀(120a)을 포함한다. 따라서, 집적 회로(101a)는 외부 인터페이스(110a)를 사용하여 제1 데이터를 집적 회로(101b)로 전송할 수 있다.
방법(600)은, 블록(620)에서, 집적 회로(101a)에 의해 집적 회로(101b)로부터, 외부 인터페이스(110a)의 수신 핀들의 세트를 통해 제2 데이터를 수신하는 것을 추가로 포함한다. 예시된 바와 같이, 외부 인터페이스(110a)의 수신 핀들은 외부 인터페이스(110b)의 각자의 송신 핀들에 결합되며, 이는 송신 핀(120b)에 결합된 수신 핀(125a)을 포함한다. 송신 핀들의 세트 및 수신 핀들의 세트는 집적 회로(101)의 대칭 축(140)에 대해 상보적 위치들에 위치된다. 따라서, 송신 핀들(120a, 120b)은 공통 집적 회로 설계에서 동일한 송신 핀에 대응한다. 마찬가지로, 수신 핀들(125a, 125b)은 공통 집적 회로 설계에서 동일한 수신 핀에 대응한다. 대칭 축(140)에 대한 외부 인터페이스의 이러한 상보적 핀 레이아웃은, 외부 인터페이스의 어떠한 핀들도 재라우팅할 필요 없이, 공통 집적 회로 설계의 두 인스턴스들이 그들 각자의 외부 인터페이스들에 의해 결합할 수 있게 한다. 대신에, 외부 인터페이스들(110a, 110b) 사이의 직접 연결들은 어떠한 연관된 와이어들도 교차하지 않고 가능할 수 있다. 공통 집적 회로의 두 인스턴스들을 결합하기 위한 그러한 기법은 많은 수의 핀들(예컨대, 1000개 초과의 핀들)을 갖는 외부 인터페이스를 허용할 수 있다.
일부 실시예들에서, 방법(600)은 블록(620)에서 종료될 수 있거나, 또는 다른 실시예들에서, 두 집적 회로들(101a, 101b) 사이에서 교환될 새로운 데이터에 응답하여 반복될 수 있다. 도 6의 방법은 단지 2개의 집적 회로들을 결합하기 위한 예임에 유의한다.
이제 도 7을 참조하면, 외부 인터페이스의 핀들과 하나 이상의 온-칩 라우터들 사이에서 신호들을 라우팅하기 위한 방법의 일 실시예에 대한 흐름도가 예시되어 있다. 위의 방법(600)과 유사한 방식으로, 방법(700)은 도 3의 시스템(300)과 같은 2개 이상의 집적 회로들을 갖는 시스템에 의해 수행될 수 있다. 도 3 및 도 7을 집합적으로 참조하면, 방법(700)은 블록(710)에서 시작한다.
방법(700)은, 블록(710)에서, 집적 회로(101a)에 의해, 송신 핀들(320a)의 세트를 통해 제1 데이터를 전송하기 위해 비-디폴트 핀 할당을 사용하여 송신 핀들(320b)의 세트를 온-칩 라우터(340b)로 라우팅하는 것을 포함한다. 도 3에 도시된 바와 같이, 집적 회로(101a)는 온-칩 라우터들(340a, 340b)로부터 외부 인터페이스(110a) 내의 송신 및 수신 핀들의 각자의 세트들로 신호들을 라우팅하도록 구성되는 인터페이스 래퍼(350a)를 포함한다. 인터페이스 래퍼(350a)는 송신 핀들(320b)의 세트를 온-칩 라우터(340b)로부터의 출력 신호들로 라우팅하기 위한 디폴트 핀 할당을 사용할 수 있다. 그러나, 일부 조건들 하에서, 인터페이스 래퍼(350a)는 비-디폴트 핀 할당을 사용하여 온-칩 라우터(340b)로부터의 출력 신호들을 송신 핀들(320b)의 세트로 재라우팅하도록 구성될 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 온-칩 라우터(340b)는 송신 핀들(320b)의 세트에 포함된 송신 핀들의 수보다 적은 출력 신호들을 갖는다. 비-디폴트 핀 할당은 제1 데이터의 개개의 비트들이 집적 회로(101b)에 의해 수신되는 위치를 조정하는 데 사용될 수 있다.
블록(720)에서, 방법(700)은, 집적 회로(101a)에 의해, 수신 핀들(325a)의 세트를 통해 제2 데이터를 수신하기 위해 디폴트 핀 할당을 사용하여 수신 핀들(325a)의 세트를 온-칩 라우터(340a)로 라우팅하는 것을 포함한다. 예시된 바와 같이, 인터페이스 래퍼(350a)는, 예를 들어, 제2 데이터의 개개의 비트들이 원하는 순서로 도달하도록 제2 데이터가 외부 인터페이스(110b) 내의 송신 핀들(320d)의 세트로부터 전송되기 전에 핀 할당을 재라우팅하기 위해 집적 회로(101b) 내의 인터페이스 래퍼(350b)가 비-디폴트 핀 할당을 사용할 때, 일부 경우들에서, 수신 핀들(325a)의 세트를 온-칩 라우터(340a)에 결합하기 위해 디폴트 핀 할당을 사용하도록 추가로 구성될 수 있다.
디폴트 및 비-디폴트 핀 할당들의 그러한 사용은 함께 결합되는 2개의 집적 회로들의 외부 인터페이스들의 유연성을 증가시킬 수 있다. 외부 인터페이스들과 온-칩 라우터들 사이에서 신호들이 재라우팅될 수 있게 함으로써, 두 외부 인터페이스들 사이에서 전달되는 신호들의 일관성은, 두 외부 인터페이스들 사이의 와이어들을 통해 신호들을 재라우팅하는 것에 비해 증가될 수 있다. 또한, 인터페이스 래퍼들의 프로그래밍가능한 라우팅 능력들은 외부 인터페이스들의 유연성을 증가시켜, 잠재적으로, 전달되는 데이터 비트들을 적절한 비트 위치에 배치하기 위해 전송 전에 데이터를 프리-프로세싱하거나 수신된 데이터를 포스트-프로세싱할 필요 없이 외부 인터페이스들이 집적 회로들 사이에서 전달될 증가된 수의 데이터 유형들에 대해 활용될 수 있게 할 수 있다.
도 7의 방법은 단지 온-칩 라우터와 외부 인터페이스 사이에서 데이터를 라우팅하기 위한 예임에 유의한다. 방법(700)은 도 1 내지 도 5에 개시된 집적 회로들의 임의의 인스턴스들에 의해 수행될 수 있다. 방법들(600, 700)의 동작들의 조합들을 포함하여, 개시된 방법들의 변형예들이 고려된다. 예를 들어, 방법(700)의 블록(710)은 방법(600)의 블록(610)의 수행 전에 수행될 수 있고, 블록(720)은 방법(600)의 블록(620)의 수행 전에 수행될 수 있다.
도 1 내지 도 7은 상보적 핀 레이아웃을 갖는 외부 인터페이스를 사용한 2개 이상의 집적 회로들의 결합을 포함하는 시스템을 위한 장치 및 방법들을 예시한다. 개시된 시스템들의 임의의 실시예는 데스크톱 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿, 웨어러블 디바이스 등과 같은 다양한 컴퓨터 시스템들 중 하나 이상에 포함될 수 있다. 일부 실시예들에서, 전술된 회로들은 시스템-온-칩(SoC) 또는 다른 유형의 집적 회로 상에서 구현될 수 있다. 컴퓨터 시스템(800)의 일 실시예를 예시하는 블록도가 도 8에 예시되어 있다. 컴퓨터 시스템(800)은, 일부 실시예들에서, 시스템들(100, 300, 500, 505)의 임의의 개시된 실시예를 포함할 수 있다.
예시된 실시예에서, 시스템(800)은, 다수의 유형들의 프로세싱 회로들, 예컨대 중앙 프로세싱 유닛(CPU), 그래픽 프로세싱 유닛(GPU) 등, 통신 패브릭, 및 메모리들 및 입력/출력 디바이스들에 대한 인터페이스들을 포함할 수 있는 시스템 온 칩(SoC)(806)의 적어도 하나의 인스턴스를 포함한다. 일부 실시예들에서, SoC(806) 내의 하나 이상의 프로세서들은 다수의 실행 레인들 및 명령어 발행 큐를 포함한다. 다양한 실시예들에서, SoC(806)는 외부 메모리(802), 주변기기들(804), 및 전력 공급부(808)에 결합된다.
SoC(806)에 공급 전압들을 공급할 뿐만 아니라 메모리(802) 및/또는 주변기기들(804)에 하나 이상의 공급 전압들을 공급하는 전력 공급부(808)가 또한 제공된다. 다양한 실시예들에서, 전력 공급부(808)는 배터리(예컨대, 스마트 폰, 랩톱이나 태블릿 컴퓨터, 또는 다른 디바이스 내의 재충전가능 배터리)를 표현한다. 일부 실시예들에서, SoC(806)의 하나 초과의 인스턴스가 포함된다(그리고 하나 초과의 외부 메모리(802)가 또한 포함됨).
메모리(802)는, 동적 랜덤 액세스 메모리(DRAM), 동기식 DRAM(SDRAM), 더블 데이터 레이트(DDR, DDR2, DDR3 등) SDRAM(mDDR3 등과 같은 모바일 버전들의 SDRAM들, 및/또는 LPDDR2 등과 같은 저전력 버전들의 SDRAM들을 포함함), RAMBUS DRAM(RDRAM), 정적 RAM(SRAM) 등과 같은 임의의 유형의 메모리이다. 하나 이상의 메모리 디바이스들은 단일 인라인 메모리 모듈(single inline memory module, SIMM)들, 듀얼 인라인 메모리 모듈(DIMM)들 등과 같은 메모리 모듈들을 형성하기 위해 회로 보드 상에 결합된다. 대안적으로, 디바이스들에는 칩-온-칩(chip-on-chip) 구성, 패키지-온-패키지(package-on-package) 구성 또는 멀티-칩 모듈 구성으로 SoC 또는 집적 회로가 실장된다.
주변기기들(804)은 시스템(800)의 유형에 의존하여 임의의 원하는 회로부를 포함한다. 예를 들어, 일 실시예에서, 주변기기들(804)은 Wi-Fi, 블루투스, 셀룰러, 글로벌 포지셔닝 시스템 등과 같은 다양한 유형들의 무선 통신용 디바이스들을 포함한다. 일부 실시예들에서, 주변기기들(804)은 또한 RAM 저장소, 솔리드 스테이트 저장소, 또는 디스크 저장소를 포함하는 부가적인 저장소를 포함한다. 주변기기들(804)은 터치 디스플레이 스크린들 또는 멀티터치 디스플레이 스크린들을 포함하는 디스플레이 스크린, 키보드 또는 다른 입력 디바이스들, 마이크로폰들, 스피커들 등과 같은 사용자 인터페이스 디바이스들을 포함한다.
예시된 바와 같이, 시스템(800)은 넓은 범위의 영역들의 응용을 갖는 것으로 도시되어 있다. 예를 들어, 시스템(800)은 데스크톱 컴퓨터(810), 랩톱 컴퓨터(820), 태블릿 컴퓨터(830), 셀룰러 또는 모바일 폰(840), 또는 텔레비전(850)(또는 텔레비전에 결합된 셋톱 박스)의 칩들, 회로부, 컴포넌트들 등의 일부로서 활용될 수 있다. 스마트워치 및 건강 모니터링 디바이스(860)가 또한 예시된다. 일부 실시예들에서, 스마트워치는 다양한 범용 컴퓨팅 관련 기능들을 포함할 수 있다. 예를 들어, 스마트워치는 이메일, 셀폰 서비스, 사용자 캘린더 등에 대한 액세스를 제공할 수 있다. 다양한 실시예들에서, 건강 모니터링 디바이스는 전용 의료 디바이스일 수 있거나, 또는 그렇지 않으면 전용 건강 관련 기능을 포함할 수 있다. 예를 들어, 건강 모니터링 디바이스는 사용자의 바이탈 사인(vital sign)들을 모니터링하고, 역학적인 사회적 거리두기, 접촉자 추적의 목적을 위해 다른 사용자들에 대한 사용자의 근접도를 추적하고, 건강 위험의 경우 응급 서비스에 통신을 제공하는 등일 수 있다. 다양한 실시예들에서, 위에서 언급된 스마트워치는 일부 또는 임의의 건강 모니터링 관련 기능들을 포함할 수 있거나 포함하지 않을 수 있다. 목부 주위에 착용된 디바이스들, 모자들 또는 다른 헤드기어에 부착된 디바이스들, 인체에서 이식가능한 디바이스들, 증강 및/또는 가상 현실 경험을 제공하도록 설계된 안경 등과 같은 다른 웨어러블 디바이스들(870)이 또한 고려된다.
시스템(800)은 클라우드 기반 서비스(들)(880)의 일부로서 추가로 사용될 수 있다. 예를 들어, 이전에 언급된 디바이스들, 및/또는 다른 디바이스들은 클라우드 내의 컴퓨팅 리소스들(즉, 원격으로 위치된 하드웨어 및/또는 소프트웨어 리소스들)에 액세스할 수 있다. 또한, 운송(890)의 다양한 모드들에 대한 시스템(800)의 적용이 도 8에 예시되어 있다. 예를 들어, 시스템(800)은 항공기, 기차들, 버스들, 임대용 자동차들, 개인용 자동차들, 개인용 보트들로부터 유람선(cruise liner)들까지의 수상 선박들, (대여 또는 소유를 위한) 스쿠터들 등의 제어 및/또는 엔터테인먼트 시스템들에서 사용될 수 있다. 다양한 경우들에서, 시스템(800)은 자동화된 안내(예를 들어, 자율-주행 차량들), 일반적인 시스템 제어 등을 제공하기 위해 사용될 수 있다.
시스템(800)에 대한 매우 다양한 잠재적 응용들은 다양한 성능, 비용, 및 전력 소비 요건들을 포함할 수 있다는 것에 유의한다. 따라서, 성능, 비용, 및 전력 소비의 적합한 조합을 제공하기 위해 하나 이상의 집적 회로들의 사용을 가능하게 하는 확장가능한 솔루션이 유익할 수 있다. 이들 그리고 많은 다른 실시예들이 가능하고 고려된다. 도 8에 예시된 디바이스들 및 응용들이 단지 예시적인 것이며 제한하려는 의도가 아니라는 것을 유의한다. 다른 디바이스들이 가능하고 고려된다.
도 8에 관하여 개시된 바와 같이, 컴퓨터 시스템(800)은 함께 결합되고 개인용 컴퓨터, 스마트폰, 태블릿 컴퓨터, 또는 다른 유형의 컴퓨팅 디바이스 내에 포함된 2개 이상의 집적 회로들을 포함할 수 있다. 설계 정보를 사용하여 집적 회로를 설계 및 제조하기 위한 프로세스가 도 9에서 아래에 제시된다.
도 9는 일부 실시예들에 따른, 회로 설계 정보를 저장하는 비일시적 컴퓨터 판독가능 저장 매체의 예를 예시하는 블록도이다. 도 9의 실시예는, 예를 들어 다수의 도면들에 도시된 바와 같은 집적 회로들(101a, 101b)과 같은 집적 회로들을 설계 및 제조하기 위한 프로세스에서 활용될 수 있다. 예시된 실시예에서, 반도체 제조 시스템(920)은 비일시적 컴퓨터 판독가능 저장 매체(910) 상에 저장된 설계 정보(915)를 프로세싱하고 설계 정보(915)에 기초하여 집적 회로(930)(예컨대, 집적 회로(101))를 제조하도록 구성된다.
비일시적 컴퓨터 판독가능 저장 매체(910)는 다양한 적절한 유형들의 메모리 디바이스들 또는 저장 디바이스들 중 임의의 것을 포함할 수 있다. 비일시적 컴퓨터 판독가능 저장 매체(910)는, 설치 매체, 예를 들어 CD-ROM, 플로피 디스크들, 또는 테이프 디바이스; DRAM, DDR RAM, SRAM, EDO RAM, 램버스(Rambus) RAM 등과 같은 컴퓨터 시스템 메모리 또는 랜덤 액세스 메모리; 플래시, 자기 매체, 예컨대 하드 드라이브, 또는 광학 저장소와 같은 비휘발성 메모리; 레지스터들, 또는 다른 유사한 유형들의 메모리 요소들 등일 수 있다. 비일시적 컴퓨터 판독가능 저장 매체(910)는 또한 다른 유형들의 비일시적 메모리 또는 이들의 조합들을 포함할 수 있다. 비일시적 컴퓨터 판독가능 저장 매체(910)는 상이한 위치들, 예를 들어 네트워크를 통해 연결되는 상이한 컴퓨터 시스템들에 상주할 수 있는 2개 이상의 메모리 매체들을 포함할 수 있다.
설계 정보(915)는, 제한 없이, VHDL, Verilog, SystemC, SystemVerilog, RHDL, M, MyHDL 등과 같은 하드웨어 설명 언어들을 포함하는 다양한 적절한 컴퓨터 언어들 중 임의의 것을 사용하여 특정될 수 있다. 설계 정보(915)는 집적 회로(930)의 적어도 일부를 제조하기 위해 반도체 제조 시스템(920)에 의해 사용가능할 수 있다. 설계 정보(915)의 포맷은 예를 들어 반도체 제조 시스템(920)과 같은 적어도 하나의 반도체 제조 시스템에 의해 인식될 수 있다. 일부 실시예들에서, 설계 정보(915)는 셀 라이브러리의 요소들뿐만 아니라 그들의 연결성을 특정하는 넷리스트를 포함할 수 있다. 집적 회로(930)에 포함된 회로들의 논리 합성 동안 사용되는 하나 이상의 셀 라이브러리들이 또한 설계 정보(915)에 포함될 수 있다. 그러한 셀 라이브러리들은 셀 라이브러리에 포함된 셀들의 디바이스 또는 트랜지스터 레벨 넷리스트, 마스크 설계 데이터, 특성화 데이터 등을 나타내는 정보를 포함할 수 있다.
다양한 실시예들에서, 집적 회로(930)는 메모리들, 아날로그 또는 혼합 신호 회로들 등과 같은 하나 이상의 맞춤형 매크로셀들을 포함할 수 있다. 그러한 경우들에서, 설계 정보(915)는 포함된 매크로셀들에 관련된 정보를 포함할 수 있다. 그러한 정보는, 제한 없이, 개략적 캡처 데이터베이스, 마스크 설계 데이터, 거동 모델들, 및 디바이스 또는 트랜지스터 레벨 넷리스트들을 포함할 수 있다. 본 명세서에 사용되는 바와 같이, 마스크 설계 데이터는 그래픽 데이터 시스템(gdsii), 또는 임의의 다른 적합한 포맷에 따라 포맷팅될 수 있다.
반도체 제조 시스템(920)은 집적 회로들을 제조하도록 구성된 다양한 적절한 요소들 중 임의의 것을 포함할 수 있다. 이것은, 예를 들어, 반도체 재료들을 (예를 들어, 마스킹을 포함할 수 있는 웨이퍼 상에) 증착하는 것, 재료들을 제거하는 것, 증착된 재료들의 형상을 변경하는 것, 재료들을 (예를 들어, 재료들을 도핑하거나 또는 자외선 프로세싱을 사용하여 유전 상수들을 수정함으로써) 수정하는 것 등을 위한 요소들을 포함할 수 있다. 반도체 제조 시스템(920)은 또한, 정확한 동작을 위해 제조된 회로들의 다양한 테스트를 수행하도록 구성될 수 있다.
다양한 실시예들에서, 집적 회로(930)는 설계 정보(915)에 의해 특정된 회로 설계에 따라 동작하도록 구성되며, 이는 본 명세서에 설명된 기능 중 임의의 것을 수행하는 것을 포함할 수 있다. 예를 들어, 집적 회로(930)는 본 명세서에 도시되거나 설명된 다양한 요소들 중 임의의 것을 포함할 수 있다. 추가로, 집적 회로(930)는 다른 컴포넌트들과 함께 본 명세서에 설명된 다양한 기능들을 수행하도록 구성될 수 있다. 추가로, 본 명세서에 설명된 기능은 도 1 및 도 3의 집적 회로들(101a, 101b)과 같은 다수의 연결된 집적 회로들에 의해 수행될 수 있다.
본 명세서에 사용되는 바와 같이, "~하도록 구성된 회로의 설계를 특정하는 설계 정보"라는 형태의 문구는 요소가 충족되기 위해 해당 회로가 제조되어야 한다는 것을 의미하지 않는다. 오히려, 이러한 문구는 설계 정보가, 제조 시에, 표시된 액션들을 수행하도록 구성될 것이거나 특정된 컴포넌트들을 포함할 회로를 설명한다는 것을 표시한다.
***
본 개시내용은 개시된 개념들의 비제한적인 구현들인 "실시예들"에 대한 참조들을 포함한다. "일 실시예", "하나의 실시예", "특정 실시예", "일부 실시예들", "다양한 실시예들" 등에 대한 언급들은 반드시 동일한 실시예를 지칭하는 것은 아니다. 상세하게 설명된 특정 실시예들뿐만 아니라, 본 개시내용의 사상 또는 범주 내에 속하는 수정들 또는 대안들을 포함하는 많은 가능한 실시예들이 고려된다. 실시예들의 모두가 반드시 본 명세서에 설명된 잠재적인 이점들 중 임의의 또는 모든 것을 나타내는 것은 아닐 것이다.
달리 언급되지 않는 한, 특정 실시예들은, 특정 특징에 대해 단일 예만이 설명되는 경우에도, 본 개시내용에 기초하여 작성되는 청구항들의 범위를 개시된 형태들로 제한하도록 의도되지 않는다. 따라서, 개시된 실시예들은, 이에 반하는 어떠한 진술도 없이, 제한적이기보다는 예시적인 것으로 의도된다. 본 출원은 본 개시내용의 이익을 취하는 당업자에게 자명할 그러한 대안물들, 수정물들, 및 등가물들을 포괄하도록 의도된다.
특정 특징들, 구조들, 또는 특성들은 본 개시내용에 부합하는 임의의 적합한 방식으로 조합될 수 있다. 따라서, 본 개시내용은 본 명세서에 개시된 임의의 특징 또는 특징들의 조합(명시적으로 또는 암시적으로), 또는 이들의 임의의 일반화를 포함하도록 의도된다. 따라서, 특징들의 임의의 그러한 조합에 대해 본 출원(또는 그에 대한 우선권을 주장하는 출원)의 심사 동안에 새로운 청구범위가 작성될 수 있다. 구체적으로, 첨부된 청구범위를 참조하면, 종속항들로부터의 특징들은 독립항들의 특징들과 조합될 수 있으며, 각자의 독립항들로부터의 특징들은 첨부된 청구범위에 열거된 특정 조합들로 조합될 수 있을 뿐 아니라 임의의 적절한 방식으로 조합될 수 있다.
예를 들어, 첨부된 종속항들은 각각 단일의 다른 청구항에 종속되도록 작성되지만, 다음을 포함하는 추가 종속성들이 또한 고려된다: 청구항 3(청구항 1 또는 청구항 2에 종속될 수 있음); 청구항 4(임의의 선행 청구항); 청구항 5(청구항 4) 등. 적절한 경우, 하나의 법정 유형(예를 들어, 장치)으로 작성된 청구항들은 다른 법정 유형(예를 들어, 방법)의 대응하는 청구항들을 암시한다는 것이 또한 고려된다.
***
본 개시내용은 법적인 문서이기 때문에, 다양한 용어들 및 문구들은 행정적 및 사법적 해석의 대상이 될 수 있다. 본 개시내용 전반에 걸쳐 제공되는 정의들뿐만 아니라 다음의 단락들이 본 개시내용에 기초하여 작성되는 청구항들을 해석하는 방법을 결정하는 데 사용될 것이라는 공지가 본 명세서에 주어진다.
단수의 형태들("a", "an", 및 "the")에 대한 언급은 문맥상 명백히 달리 지시하지 않는 한 "하나 이상"을 의미하는 것으로 의도된다. 따라서, 청구항에서 "항목"에 대한 언급은, 항목의 추가적인 인스턴스들을 배제하지 않는다.
"~할 수 있다"라는 단어는 본 명세서에서 강제적인 의미(즉, ~ 해야 하는)가 아니라 허용적인 의미(즉, ~할 가능성을 갖는, ~할 수 있는)로 사용된다.
용어들 "포함하는"("comprising" 및 "including") 및 이들의 형태들은 개방형(open-ended)이며, "포함하지만 이로 한정되지 않는"을 의미한다.
용어 "또는"이 옵션들의 리스트에 관하여 본 개시내용에서 사용될 때, 문맥이 달리 제공하지 않는 한, 일반적으로 포괄적인 의미로 사용되는 것으로 이해될 것이다. 따라서, "x 또는 y"의 언급은 "x 또는 y, 또는 둘 모두"와 동등하여, x지만 y 아님, y지만 x 아님, 및 x 및 y 둘 모두를 커버한다. 반면에, "둘 모두가 아니라 x 또는 y 중 어느 하나"와 같은 문구는 "또는"이 배타적인 의미로 사용되고 있다는 것을 명확하게 한다.
"w, x, y, 또는 z, 또는 이들의 임의의 조합" 또는 "... w, x, y, 및 z 중 적어도 하나"의 언급은 세트 내의 요소들의 총 수까지 단일 요소를 수반하는 모든 가능성들을 커버하도록 의도된다. 예를 들어, 세트 [w, x, y, z]가 주어지면, 이러한 문구들은 세트의 임의의 단일 요소(예를 들어, w지만 x, y, 또는 z 아님), 임의의 2개의 요소들(예를 들어, w 및 x지만 y 또는 z 아님), 임의의 3개의 요소들(예를 들어, w, x 및 y지만, z 아님) 및 4개의 요소들 모두를 커버한다. 따라서, "... w, x, y, 및 z 중 적어도 하나"라는 문구는 세트 [w, x, y, z]의 적어도 하나의 요소를 지칭하고, 그에 의해 옵션들의 이러한 리스트 내의 모든 가능한 조합들을 커버한다. 이러한 문구는 w의 적어도 하나의 인스턴스, x의 적어도 하나의 인스턴스, y의 적어도 하나의 인스턴스, 및 z의 적어도 하나의 인스턴스가 있음을 요구하도록 해석되지 않아야 한다.
본 개시내용에서 다양한 "라벨들"이 명사들에 선행할 수 있다. 문맥이 달리 제공하지 않는 한, 특징에 대해 사용되는 상이한 라벨들(예를 들어, "제1 회로", "제2 회로", "특정 회로", "주어진 회로" 등)은 특징의 상이한 인스턴스들을 지칭한다. 특정 특징에 적용될 때, "제1", "제2" 및 "제3" 라벨들은, 달리 언급되지 않는 한, 어떠한 유형의 순서화(예를 들어, 공간적, 시간적, 논리적 등)도 의미하지 않는다.
본 개시내용 내에서, 상이한 엔티티들(이는, "유닛들", "회로들", 다른 컴포넌트들 등으로 다양하게 지칭될 수 있음)은 하나 이상의 태스크들 또는 동작들을 수행하도록 "구성된" 것으로 설명되거나 또는 청구될 수 있다. 이러한 표현-[하나 이상의 태스크들을 수행]하도록 구성된 [엔티티]-은 본 명세서에서 구조(즉, 물리적인 것)를 지칭하는 데 사용된다. 더 상세하게는, 이러한 표현은 이러한 구조가 동작 동안 하나 이상의 태스크들을 수행하도록 배열됨을 나타내는 데 사용된다. 구조는 그 구조가 현재 동작되고 있지 않더라도 일부 태스크를 수행하도록 "구성된다"고 말할 수 있다. 따라서, 일부 태스크를 수행하도록 "구성된" 것으로 설명된 또는 인용된 엔티티는 디바이스, 회로, 태스크를 구현하도록 실행가능한 프로그램 명령어들을 저장하는 메모리 등과 같은 물리적인 것을 지칭한다. 이러한 문구는 무형인 것을 지칭하기 위해 본 명세서에서 사용되지는 않는다.
하드웨어 회로들은 조합 로직 회로부, 플롭(flop), 레지스터, 래치 등과 같은 클로킹된(clocked) 저장 디바이스, 유한 상태 머신, 정적 랜덤 액세스 메모리 또는 임베디드 동적 랜덤 액세스 메모리와 같은 메모리, 주문 설계된 회로부, 아날로그 회로부, 프로그래밍가능한 로직 어레이 등의 임의의 조합을 포함할 수 있다. 유사하게, 다양한 유닛들/회로들/컴포넌트들은 설명의 편의상 태스크 또는 태스크들을 수행하는 것으로 설명될 수 있다. 그러한 설명은 "~하도록 구성된"이라는 문구를 포함하는 것으로 해석되어야 한다.
일 실시예에서, 본 개시내용에 따른 하드웨어 회로들은 Verilog 또는 VHDL과 같은 하드웨어 디스크립션 언어(hardware description language, HDL)로 회로의 디스크립션을 코딩함으로써 구현될 수 있다. HDL 디스크립션은 주어진 집적 회로 제조 기술을 위해 설계된 셀들의 라이브러리에 대해 합성될 수 있고, 타이밍, 전력 및 다른 이유들로 인해 수정되어 최종 설계 데이터베이스를 생성할 수 있으며, 이는 파운드리(foundry)로 송신되어 마스크들을 생성하고 궁극적으로 집적 회로를 생성할 수 있다. 일부 하드웨어 회로들 또는 그의 부분들은 또한 회로도 편집기(schematic editor)로 맞춤 설계될 수 있고 합성된 회로부와 함께 집적 회로 설계 내로 캡처될 수 있다. 집적 회로는 트랜지스터들을 포함할 수 있고, 다른 회로 요소들(예컨대, 커패시터들, 저항기들, 인덕터들 등과 같은 수동 요소들) 및 트랜지스터들과 회로 요소들 사이의 상호연결부를 추가로 포함할 수 있다. 일부 실시예들은 하드웨어 회로들을 구현하기 위해 함께 결합된 다수의 집적 회로들을 구현할 수 있고, 그리고/또는 일부 실시예들에서는 이산 요소들이 사용될 수 있다. 대안적으로, HDL 설계는 FPGA(Field Programmable Gate Array)와 같은 프로그래밍가능 로직 어레이로 합성될 수 있으며 FPGA에서 구현될 수 있다.
용어 "~ 하도록 구성된"은 "~하도록 구성가능한"을 의미하도록 의도되지 않는다. 예를 들어, 프로그래밍되지 않은 FPGA는 일부 특정 기능을 수행하도록 "구성된" 것으로 간주되지 않을 것이다. 그러나, 이러한 프로그래밍되지 않은 FPGA는 그 기능을 수행하도록 "구성가능"할 수 있다.
구조가 하나 이상의 태스크들을 수행하도록 "구성"되었다고 첨부된 청구항들에 인용하는 것은 명백히 그 청구항 구성요소에 대하여 35 U.S.C. §(112)(f)를 적용하지 않도록 의도된다. 출원인이 심사 시 Section(112)(f)의 적용을 바란다면, [기능을 수행]"하기 위한 수단" 구조를 사용하여 청구항 구성요소들을 열거할 것이다.
문구 "~에 기초하여"는 결정에 영향을 주는 하나 이상의 인자들을 설명하기 위해 사용된다. 이러한 용어는 부가적인 인자들이 결정에 영향을 줄 수 있는 가능성을 배제하지 않는다. 즉, 결정은 단지 특정된 인자들에 기초하거나 또는 그 특정된 인자들뿐만 아니라 다른, 불특정된 인자들에 기초할 수 있다. "B에 기초하여 A를 결정한다"라는 문구를 고려한다. 이러한 문구는 B가 A를 결정하는 데 사용되거나 A의 결정에 영향을 주는 인자라는 것을 명시한다. 이러한 문구는 A의 결정이 C와 같은 일부 다른 인자에 또한 기초할 수 있음을 배제하지 않는다. 또한, 이 문구는 A가 B만에 기초하여 결정되는 실시예를 커버하도록 의도된다. 본 명세서에서 사용되는 바와 같이, "에 기초하여"라는 문구는 "적어도 부분적으로 기초하여"라는 문구와 동의어이다.
"~ 에 응답하여"라는 문구는 효과를 트리거하는 하나 이상의 인자들을 설명한다. 이러한 문구는 부가적인 인자들이 영향을 주거나 또는 그렇지 않으면 효과를 트리거할 수 있는 가능성을 배제하지 않는다. 즉, 효과는 단지 이들 인자들에만 응답할 수 있거나 또는 특정된 인자들 뿐만 아니라 다른 불특정된 인자들에 응답할 수 있다. "B에 응답하여 A를 수행한다"라는 문구를 고려한다. 이러한 문구는 B가 A의 수행을 트리거하는 인자라는 것을 명시한다. 이러한 문구는 A를 수행하는 것이 C와 같은 일부 다른 인자에 또한 응답할 수 있음을 배제하지 않는다. 이러한 문구는 또한 A가 단지 B에만 응답하여 수행되는 실시예를 포괄하도록 의도된다.

Claims (20)

  1. 시스템으로서,
    대칭 축에 대해 상보적 위치들에 위치된 특정 버스에 대한 송신 및 수신 핀들을 갖는 물리적 핀 레이아웃을 갖는 외부 인터페이스를 갖는 집적 회로의 제1 인스턴스(instance); 및
    상기 외부 인터페이스를 갖는 상기 집적 회로의 제2 인스턴스를 포함하며,
    상기 집적 회로의 상기 제1 및 제2 인스턴스들의 상기 외부 인터페이스들은, 상기 제1 인스턴스 상의 상기 특정 버스에 대한 상기 송신 및 수신 핀들이 상기 제2 인스턴스 상의 상기 특정 버스에 대한 상기 수신 및 송신 핀들과 각각 정렬되도록 위치설정되는, 시스템.
  2. 제1항에 있어서, 상기 집적 회로는 복수의 송신 핀들 및 복수의 수신 핀들 중 각자의 핀들에 대응하는 복수의 송신기 회로들 및 복수의 수신기 회로들을 포함하고, 상기 복수의 송신기 회로들 및 상기 복수의 수신기 회로들은 상기 물리적 핀 레이아웃에 대응하는 물리적 레이아웃으로 배열되는, 시스템.
  3. 제1항에 있어서, 상기 집적 회로는 상기 집적 회로의 상기 제1 및 제2 인스턴스들 사이에서 그리고 칩 상에서(on-chip) 통신을 지원하는 버스 회로에 결합된 복수의 온-칩 라우터(on-chip router)들을 포함하고, 상기 복수의 온-칩 라우터들은 상기 외부 인터페이스의 각자의 부분들에 결합되는, 시스템.
  4. 제3항에 있어서, 상기 외부 인터페이스의 상기 송신 및 수신 핀들은 핀들의 세트들로 그룹화되고, 상기 핀들의 세트들은 공통 수의 핀들을 갖고, 상기 복수의 온-칩 라우터들 중 개개의 온-칩 라우터들은 상기 핀들의 세트들 중 각자의 하나 이상에 할당되는, 시스템.
  5. 제4항에 있어서, 상기 복수의 온-칩 라우터들 중 특정 온-칩 라우터는 상기 공통 수와 상이한 특정 수의 핀들을 포함하고, 상기 특정 온-칩 라우터에 할당된 상기 핀들의 세트들 중 상기 각자의 하나 이상 중 적어도 하나의 핀은 미사용되는, 시스템.
  6. 제3항에 있어서, 상기 복수의 온-칩 라우터들 중 제1 온-칩 라우터는 주어진 I/O 신호에 대한 상기 송신 핀에 결합되고;
    상기 복수의 온-칩 라우터들 중 제2 온-칩 라우터는 상기 주어진 I/O 신호에 대한 상기 수신 핀에 결합되고;
    상기 제1 온-칩 라우터는 상기 제2 온-칩 라우터에 결합되는, 시스템.
  7. 제6항에 있어서, 상기 시스템은 인터페이스 래퍼(interface wrapper)를 추가로 포함하며, 상기 인터페이스 래퍼는,
    상기 송신 핀을 상기 제1 온-칩 라우터 내의 디폴트 핀 할당으로 라우팅하고;
    상기 수신 핀을 상기 제2 온-칩 라우터 내의 비-디폴트 핀 할당으로 라우팅하도록 구성되는, 시스템.
  8. 방법으로서,
    집적 회로의 제1 인스턴스에 의해 상기 집적 회로의 제2 인스턴스로, 외부 인터페이스의 송신 핀들의 세트를 통해 제1 데이터를 전송하는 단계; 및
    상기 집적 회로의 상기 제1 인스턴스에 의해 상기 집적 회로의 상기 제2 인스턴스로부터, 상기 외부 인터페이스의 수신 핀들의 세트를 통해 제2 데이터를 수신하는 단계를 포함하며, 상기 송신 핀들의 세트 및 상기 수신 핀들의 세트는 상기 집적 회로의 대칭 축에 대해 상보적 위치들에 위치되는, 방법.
  9. 제8항에 있어서, 상기 제1 인스턴스에 의해 상기 외부 인터페이스의 상기 송신 핀들의 세트를 통해 상기 제1 데이터를 전송하는 단계는 특정 온-칩 라우터를 사용하여 상기 외부 인터페이스를 통해 상기 제2 인스턴스로 신호들의 특정 세트를 송신하는 단계를 포함하는, 방법.
  10. 제9항에 있어서, 상기 제1 인스턴스에 의해 상기 외부 인터페이스의 상기 수신 핀들의 세트를 통해 데이터를 수신하는 단계는 상이한 온-칩 라우터를 사용하여 상기 외부 인터페이스를 통해 상기 제2 인스턴스로부터 신호들의 상이한 세트를 수신하는 단계를 포함하는, 방법.
  11. 제8항에 있어서, 상기 송신 핀들의 세트는 제1 수의 핀들을 포함하고, 상기 제1 인스턴스에 의해 상기 외부 인터페이스의 상기 송신 핀들의 세트를 통해 데이터를 전송하는 단계는 복수의 데이터 패킷들로 상기 데이터를 전송하는 단계를 포함하고, 상기 복수의 데이터 패킷들 중 데이터 패킷들은 제2 수의 비트들을 포함하고, 상기 제2 수는 상기 제1 수보다 작은, 방법.
  12. 제11항에 있어서, 상기 방법은 상이한 시점에 상이한 복수의 데이터 패킷들을 전송하는 단계를 추가로 포함하며, 상기 상이한 복수의 데이터 패킷들 중 데이터 패킷들은 상기 제1 수의 비트들을 포함하는, 방법.
  13. 제8항에 있어서, 상기 송신 핀들의 세트 중 특정 송신 핀 및 상기 수신 핀들의 세트 중 상보적 수신 핀은 상기 대칭 축으로부터 동일한 거리에 위치되는, 방법.
  14. 제8항에 있어서, 상기 제1 인스턴스에 의해 상기 외부 인터페이스의 상기 송신 핀들의 세트를 통해 상기 제1 데이터를 전송하는 단계는 비-디폴트 핀 할당을 사용하여 상기 송신 핀들의 세트를 제1 온-칩 라우터로 라우팅하는 단계를 포함하고;
    상기 제1 인스턴스에 의해 상기 외부 인터페이스의 상기 수신 핀들의 세트를 통해 상기 제2 데이터를 수신하는 단계는 디폴트 핀 할당을 사용하여 상기 수신 핀들의 세트를 제2 온-칩 라우터로 라우팅하는 단계를 포함하는, 방법.
  15. 장치로서,
    복수의 기능 회로(functional circuit)들 사이에서 주어진 데이터를 전달하도록 구성된 버스 회로;
    상기 버스 회로에 결합되고, 송신 핀들의 특정 세트에 결합된 복수의 송신기 회로들 및 수신 핀들의 특정 세트에 결합된 복수의 수신기 회로들을 포함하는 외부 인터페이스를 포함하며,
    상기 송신 핀들의 특정 세트는 상기 외부 인터페이스의 대칭 축에 대해 특정 레이아웃으로 배열되고;
    상기 수신 핀들의 특정 세트는 상기 대칭 축에 대해, 상기 특정 레이아웃에 상보적 레이아웃으로 배열되고;
    상기 외부 인터페이스는 상기 버스 회로와 상이한 장치 사이에서 특정 데이터를 전달하도록 구성되는, 장치.
  16. 제15항에 있어서, 복수의 신호들을 통해 상기 버스 회로와 상기 외부 인터페이스 사이에서 상기 특정 데이터를 전달하도록 구성된 복수의 온-칩 라우터들을 추가로 포함하는, 장치.
  17. 제16항에 있어서, 상기 장치는 상기 복수의 온-칩 라우터들에 그리고 상기 외부 인터페이스에 결합된 인터페이스 래퍼를 추가로 포함하며, 상기 인터페이스 래퍼는,
    상기 특정 데이터의 제1 부분에 대해, 제1 핀 할당을 사용하여 상기 온-칩 라우터들과 상기 외부 인터페이스 사이에서 상기 복수의 신호들을 라우팅하고;
    상기 특정 데이터의 제2 부분에 대해, 상기 제1 핀 할당과 상이한 제2 핀 할당을 사용하여 상기 온-칩 라우터들과 상기 외부 인터페이스 사이에서 상기 복수의 신호들을 재라우팅(re-route)하도록 구성되는, 장치.
  18. 제16항에 있어서, 상기 외부 인터페이스는 송신 및 수신 핀들의 복수의 세트들을 포함하고, 전력 신호들 및 클록 신호들은 상기 복수의 세트들 중 주어진 세트들에 대해 독립적으로 제어되는, 장치.
  19. 제18항에 있어서, 상기 복수의 온-칩 라우터들 중 특정 온-칩 라우터는 상기 송신 및 수신 핀들의 복수의 세트들 중 2개 이상의 세트들에 결합되고;
    상기 특정 온-칩 라우터에 의해 병렬로 지원되는 데이터 비트들의 수는 상기 2개 이상의 세트들에 포함된 송신 및 핀들의 총 수보다 작은, 장치.
  20. 제16항에 있어서, 상기 버스 회로는 복수의 버스들을 포함하고, 상기 복수의 온-칩 라우터들은 상기 복수의 버스들 중 공통 버스에 결합되는 한 쌍의 온-칩 라우터들을 포함하고;
    상기 한 쌍의 온-칩 라우터들 중 제1 온-칩 라우터는 상기 대칭 축의 일 측 상에 위치된 상기 외부 인터페이스의 송신 및 수신 핀들의 특정 세트에 결합되고;
    상기 한 쌍의 온-칩 라우터들 중 제2 온-칩 라우터는, 상기 송신 및 수신 핀들의 특정 세트에 상보적인, 상기 대칭 축의 반대 측 상에 위치된 상기 외부 인터페이스의 송신 및 수신 핀들의 상이한 세트에 결합되는, 장치.
KR1020237028337A 2021-03-05 2022-03-04 상보적 다이-대-다이 인터페이스 KR20230130134A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/194,003 2021-03-05
US17/194,003 US20220284163A1 (en) 2021-03-05 2021-03-05 Complementary Die-to-Die Interface
PCT/US2022/018831 WO2022187572A1 (en) 2021-03-05 2022-03-04 Complementary die-to-die interface

Publications (1)

Publication Number Publication Date
KR20230130134A true KR20230130134A (ko) 2023-09-11

Family

ID=81325827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237028337A KR20230130134A (ko) 2021-03-05 2022-03-04 상보적 다이-대-다이 인터페이스

Country Status (5)

Country Link
US (1) US20220284163A1 (ko)
KR (1) KR20230130134A (ko)
CN (1) CN117043757A (ko)
DE (1) DE112022000550T5 (ko)
WO (1) WO2022187572A1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9842076B2 (en) * 2014-05-19 2017-12-12 Microchip Technology Incorporated Switchless USB C-connector hub
US11526644B2 (en) * 2020-11-05 2022-12-13 Nvidia Corporation Controlling test networks of chips using integrated processors

Also Published As

Publication number Publication date
WO2022187572A8 (en) 2023-11-02
US20220284163A1 (en) 2022-09-08
WO2022187572A9 (en) 2023-02-02
DE112022000550T5 (de) 2023-11-23
CN117043757A (zh) 2023-11-10
TW202240421A (zh) 2022-10-16
WO2022187572A1 (en) 2022-09-09

Similar Documents

Publication Publication Date Title
US9825843B2 (en) Die-stacked device with partitioned multi-hop network
US8386690B2 (en) On-chip networks for flexible three-dimensional chip integration
US20090300568A1 (en) Bus interface design apparatus and bus interface design method
US20130194881A1 (en) Area-efficient multi-modal signaling interface
KR102604573B1 (ko) 다수의 독립적인 온-칩 상호연결부
US20230334003A1 (en) Transaction Generator for On-chip Interconnect Fabric
KR20230130134A (ko) 상보적 다이-대-다이 인터페이스
TWI838703B (zh) 使用互補式晶粒至晶粒介面傳輸及接收資料之系統、方法及設備
KR20230170049A (ko) 다이-대-다이 동적 클록 및 전력 게이팅
US20240162189A1 (en) Active Interposers For Migration Of Packages
US11706150B2 (en) Data encoding and packet sharing in a parallel communication interface
US20240105727A1 (en) Vertical Transistor Cell Structures Utilizing Topside and Backside Resources
US20220334979A1 (en) Crossbar Circuits And Methods For External Communication With Logic In Integrated Circuits
US20230024515A1 (en) Backside Metallization for FPGA Resources
US20060224796A1 (en) Network chip design for grid communication
US20240030172A1 (en) Three dimensional universal chiplet interconnect as on-package interconnect
US20230028475A1 (en) Package io escape routing on a disaggregated shoreline
US20240111703A1 (en) Techniques For Configuring Repeater Circuits In Active Interconnection Devices
US20230298996A1 (en) Backside Routing Implementation in SRAM Arrays
US20230299068A1 (en) Control Signal Route Through Backside Layers for High Performance Standard Cells
KR20240041823A (ko) Sram 매크로 설계 아키텍처
TW202416798A (zh) 堆疊sram單元架構
JP2023031273A (ja) 共通設計からの全体ダイ及び部分ダイのテープアウト
Ramesh et al. Design of 64-bit Peripheral Component Interconnect Bus at 66MHz