KR20230042630A - 공유형 링 발진기 회로를 이용하여 교정 정보를 결정하기 위한 디바이스, 방법 및 시스템 - Google Patents

공유형 링 발진기 회로를 이용하여 교정 정보를 결정하기 위한 디바이스, 방법 및 시스템 Download PDF

Info

Publication number
KR20230042630A
KR20230042630A KR1020220104633A KR20220104633A KR20230042630A KR 20230042630 A KR20230042630 A KR 20230042630A KR 1020220104633 A KR1020220104633 A KR 1020220104633A KR 20220104633 A KR20220104633 A KR 20220104633A KR 20230042630 A KR20230042630 A KR 20230042630A
Authority
KR
South Korea
Prior art keywords
circuit
die
oscillator circuit
signal
delay
Prior art date
Application number
KR1020220104633A
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 KR20230042630A publication Critical patent/KR20230042630A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L1/00Stabilisation of generator output against variations of physical values, e.g. power supply
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/0185Coupling arrangements; Interface arrangements using field effect transistors only
    • H03K19/018507Interface arrangements
    • H03K19/018521Interface arrangements of complementary type, e.g. CMOS
    • H03K19/018528Interface arrangements of complementary type, e.g. CMOS with at least one differential stage
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/01Details
    • H03K3/011Modifications of generator to compensate for variations in physical values, e.g. voltage, temperature
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/03Astable circuits
    • H03K3/0315Ring oscillators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/03Astable circuits
    • H03K3/0315Ring oscillators
    • H03K3/0322Ring oscillators with differential cells
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/135Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/099Details of the phase-locked loop concerning mainly the controlled oscillator of the loop
    • H03L7/0995Details of the phase-locked loop concerning mainly the controlled oscillator of the loop the oscillator comprising a ring oscillator
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Nonlinear Science (AREA)

Abstract

2개의 IC(integrated circuit) 다이로 형성된 링 발진기 회로의 튜닝에 기초하여 교정 정보를 결정하기 위한 기법들 및 메커니즘들. 실시예에서, 발진기 회로는 제1 다이의 제1의 하나 이상의 지연 회로 및 제2 다이의 제2의 하나 이상의 지연 회로를 포함하는 지연 회로들의 직렬 배열을 포함한다. 제1 다이 및 제2 다이의 각자의 회로는 발진기 회로의 발진 주파수를 기준 주파수와 일치시키도록 튜닝을 수행한다. 튜닝형 발진기 회로의 동작적 설정은 제1 다이 및 제2 다이의 송신기 회로를 교정하기 위해 제공된다. 또 다른 실시예에서, 발진기 회로의 튜닝은 제1 다이 또는 제2 다이 중 하나의 다이의 국부 발진기 회로의 튜닝에 더 기초한다.

Description

공유형 링 발진기 회로를 이용하여 교정 정보를 결정하기 위한 디바이스, 방법 및 시스템{DEVICE, METHOD AND SYSTEM TO DETERMINE CALIBRATION INFORMATION WITH A SHARED RING OSCILLATOR CIRCUIT}
본 개시내용은 일반적으로 집적 회로에 관한 것이며, 더 구체적으로는, 집적 회로 다이의 송신기 회로를 교정(calibrate)하기 위한 하나 이상의 파라미터를 결정하는 것에 관한 것인데, 이것에만 제한되는 것은 아니다.
반도체 처리 및 로직 설계의 진보는 집적 회로 디바이스에 존재할 수 있는 로직 양의 증가를 허용하였다. 그 결과, 컴퓨터 시스템 구성은 시스템 내의 단일 또는 다중 집적 회로로부터 개별 집적 회로에 존재하는 다중 코어, 다중 하드웨어 스레드, 및 다중 로직 프로세서뿐만 아니라, 이러한 프로세서들 내에 통합되어 있는 다른 인터페이스들로 진화했다. 프로세서 또는 집적 회로는 전형적으로 단일의 물리적 프로세서 다이를 포함하고 있으며, 여기서 프로세서 다이는 임의의 수의 코어들, 하드웨어 스레드들, 로직 프로세서들, 인터페이스들, 메모리, 제어기 허브들 등을 포함할 수 있다.
더 많은 처리 능력을 더 작은 패키지들에 맞추어 넣는 능력이 더 커진 결과로서, 더 작은 컴퓨팅 디바이스들의 인기가 증가하였다. 스마트폰, 태블릿, 초박형 노트북, 및 다른 사용자 장비가 기하급수적으로 성장하였다. 그러나, 이러한 더 작은 디바이스들은 데이터 저장 및 폼 팩터(form factor)를 초과하는 복잡한 처리 둘 다를 위해 서버들에 의존한다. 결과적으로, 고성능 컴퓨팅 마켓(즉, 서버 공간)에서의 요구 또한 증가하였다. 예를 들어, 현대의 서버들에서, 전형적으로 다중의 코어를 갖는 단일 프로세서뿐만 아니라, 컴퓨팅 능력을 증가시키기 위해 다중의 물리적 프로세서(다중의 소켓이라고도 지칭됨)도 존재한다. 그러나, 처리 능력이 컴퓨팅 시스템 내의 디바이스들의 수와 함께 성장함에 따라, 소켓들과 다른 디바이스들 사이의 통신이 더 중요하게 된다.
실제로, 인터커넥트들은 전기 통신을 주로 다루었던 더 전통적인 다중 드롭 버스(multi-drop buses)로부터 고속 통신을 용이하게 하는 완전한 인터커넥트 아키텍처들로 성장해 왔다. 유감스럽게도, 미래의 프로세서들이 훨씬 더 높은 레이트로 소비하기 위한 요구가 증가함에 따라, 상응하는 요구가 기존의 인터커넥트 아키텍처들의 능력들에 대해서도 주어진다.
본 발명의 다양한 실시예들이 첨부 도면들의 그림들에서 제한으로서가 아닌 예로서 예시된다.
도 1a는 실시예에 따른 드라이버 교정 기능성을 제공하는 시스템의 특징들을 예시하는 측단면도를 도시한다.
도 1b는 실시예에 따른 교정 정보를 생성하기 위한 집적 회로 다이의 특징들을 예시하는 기능 블록도를 도시한다.
도 2는 실시예에 따른 송신 드라이버 회로의 교정을 결정하기 위한 방법의 특징들을 예시하는 흐름도를 도시한다.
도 3은 실시예에 따른 집적 회로 다이들 사이의 임피던스를 검출하기 위한 시스템의 특징들을 예시하는 기능 블록도를 도시한다.
도 4는 실시예에 따른 송신 드라이버 회로의 교정을 결정하기 위한 방법의 특징들을 예시하는 흐름도를 도시한다.
도 5는 실시예에 따른 드라이버 교정 기능성을 제공하는 시스템의 특징들을 예시하는 기능 블록도를 도시한다.
도 6a는 실시예에 따른 집적 회로 다이들 사이의 임피던스의 검출을 용이하게 하는 가변 드라이버 회로의 특징들을 예시하는 회로도를 도시한다.
도 6b는 실시예에 따른 집적 회로 다이들 사이의 임피던스의 검출을 용이하게 하는 드라이버 회로의 특징들을 예시하는 회로도를 도시한다.
도 7은 실시예에 따른 집적 회로 다이들 사이의 임피던스의 검출을 용이하게 하는 링 발진기 회로의 특징들을 예시하는 회로도를 도시한다.
도 8은 실시예에 따른 송신 드라이버 회로의 교정을 결정하기 위한 컴퓨터 디바이스의 특징들을 예시하는 기능 블록도를 도시한다.
본 명세서에 논의된 실시예들은 2개의 집적 회로(IC) 다이로 형성된 링 발진기 회로(ring oscillator circuit)의 특성들에 기초하여 교정 정보(calibration information)를 결정하기 위한 기법들 및 메커니즘들을 다양하게 제공한다. 이하의 설명에서는, 본 개시내용의 실시예들의 보다 철저한 설명을 제공하기 위해서 수많은 상세사항들이 논의된다. 그러나, 본 개시내용의 실시예들은 이러한 특정 상세사항들 없이 실시될 수 있다는 점이 본 기술분야의 통상의 기술자에게 명백할 것이다. 다른 경우들에서는, 본 개시내용의 실시예들을 불명료하게 하는 것을 회피하기 위해서, 공지된 구조들 및 디바이스들은 상세히 도시되기보다는 블록도 형태로 도시된다.
실시예의 대응하는 도면에서, 신호는 라인으로 표현된다는 점에 유의한다. 일부 라인들은 더 많은 수의 구성 신호 경로들을 표시하기 위해 더 두꺼울 수 있고, 및/또는 정보 흐름의 방향을 표시하기 위해 하나 이상의 단부에서 화살표들을 가질 수 있다. 이러한 표시들은 제한하기 위한 것으로 의도되지 않는다. 그보다는, 라인들은 회로 또는 로직 유닛의 보다 쉬운 이해를 용이하게 하기 위해서 하나 이상의 예시적 실시예와 연계하여 이용된다. 임의의 표현된 신호는, 설계 요구 또는 선호사항에 의해 좌우되는 바와 같이, 실제로는, 어느 방향으로든 진행할 수 있고 임의의 적절한 유형의 신호 스킴으로 구현될 수 있는 하나 이상의 신호를 포함할 수 있다.
본 명세서 전체에 걸쳐 그리고 청구항들에서, "연결된(connected)"이라는 용어는 임의의 중개 디바이스들 없이 직접 연결, 예컨대 연결되는 사물들 사이의 전기적, 기계적, 또는 자기적 연결을 의미한다. 용어 "결합된(coupled)"은 연결된 사물들 사이의 직접적인 전기적, 기계적, 또는 자기적 연결, 또는 하나 이상의 수동 또는 능동 중개 디바이스를 통한 간접적 연결과 같은 직접 또는 간접 연결을 의미한다. "회로(circuit)" 또는 "모듈(module)"이라는 용어는 원하는 기능을 제공하기 위해 서로 협력하도록 배열되는 하나 이상의 수동 및/또는 능동 컴포넌트를 지칭할 수 있다. "신호"라는 용어는 적어도 하나의 전류 신호, 전압 신호, 자기 신호, 또는 데이터/클록 신호를 지칭할 수 있다. 단수 표현의 의미는 복수 참조를 포함한다. "내의(in)" 의미는 "내의(in)" 및 "상에(on)"를 포함한다.
용어 "디바이스"는 일반적으로 해당 용어의 사용의 맥락에 따른 장치를 지칭할 수 있다. 예를 들어, 디바이스는 층들 또는 구조체들의 스택, 단일 구조체 또는 층, 능동 및/또는 수동 요소들을 갖는 다양한 구조체들의 연결 등을 지칭할 수 있다. 일반적으로, 디바이스는 x-y 방향을 따르는 평면 및 x-y-z 데카르트 좌표계의 z 방향을 따른 높이를 갖는 3차원 구조체이다. 디바이스의 평면은 또한 디바이스를 포함하는 장치의 평면일 수 있다.
"스케일링"이라는 용어는 일반적으로 설계(회로도(schematic) 및 레이아웃(layout))를 하나의 프로세스 기술로부터 또 다른 프로세스 기술로 변환하고 후속적으로 레이아웃 면적이 감소되는 것을 지칭한다. "스케일링"이라는 용어는 일반적으로 동일한 기술 노드 내에서 레이아웃 및 디바이스들을 크기 축소(downsizing)하는 것을 또한 지칭한다. "스케일링"이라는 용어는 또 다른 파라미터, 예를 들어, 전원 레벨에 대한 신호 주파수의 조절(예를 들어, 감속 또는 가속 - 즉, 제각기 스케일링 다운 또는 스케일링 업)을 또한 지칭할 수 있다.
용어 "실질적으로(substantially)", "근접한(close)", "대략(approximately)", "가까운(near)" 및 "약(about)"은 일반적으로 목표 값의 +/- 10% 내에 있음을 지칭한다. 예를 들어, 그들 사용의 명시적 맥락에서 달리 특정되지 않는 한, 용어들 "실질적으로 동일한", "약 동일한" 및 "대략 동일한"은 그렇게 설명된 사물들 사이의 부수적 변화에 불과하다는 것을 의미한다. 본 기술분야에서, 이러한 변화는 전형적으로 미리 결정된 목표 값의 +/-10%를 넘지 않는다.
이렇게 사용된 용어는 여기에 설명된 발명의 실시예들이 예를 들어, 여기에 도시되거나 다른 식으로 설명된 것들 이외의 다른 방향에서 동작할 수 있도록 적절한 상황하에서 상호 교환가능하다는 점을 이해하여야 한다.
달리 특정되지 않는 한, 공통 대상을 설명하기 위해 서수 형용사들 "제1(first)", "제2(second)", "제3(third)" 등을 사용하는 것은, 유사한 대상들의 상이한 사례들이 지칭되고 있다는 점을 표시할 뿐이며, 그렇게 설명되는 대상들이, 시간적으로, 공간적으로, 순위적으로 또는 임의의 다른 방식으로, 주어진 시퀀스에 있어야만 한다는 점을 함의하려고 의도된 것은 아니다.
본 설명 및 청구항들에서 "좌측(left)", "우측(right)", "전방(front)", "후방(back)", "상단(top)", "하단(bottom)", "위(over)", "아래(under)", 및 그와 유사한 용어들은, 만약 있다면, 설명 목적을 위해 사용되며, 반드시 영구적인 상대적 위치들을 기술하기 위한 것은 아니다. 예를 들어, 본 명세서에서 사용된 "위", "아래", "전방 측(front side)", "후방 측(back side)", "상단", "하단", "위", "아래", 및 "상에(on)"라는 용어들은 디바이스 내의 다른 참조된 컴포넌트들, 구조들 또는 재료들에 대하여 하나의 컴포넌트, 구조, 또는 재료의 상대적인 위치를 지칭하는데, 여기서 그러한 물리적 관계들은 주목할 만한 것이다. 이들 용어는 단지 기술 목적을 위해 그리고 주로 디바이스 z축의 맥락 내에서 본 명세서에서 채택되며, 따라서 디바이스의 오리엔테이션에 상대적인 것일 수 있다. 따라서, 본 명세서에 제공된 그림의 맥락에서 제2 재료 "위의(over)" 제1 재료는 또한 디바이스가 제공된 그림의 맥락에 대해 뒤집히도록 오리엔테이션되는 경우 제2 재료 "아래(under)"에 있을 수 있다. 재료들의 맥락에서, 또 다른 재료 위에 또는 아래에 배치된 어느 한 재료는 직접 접촉할 수 있거나 또는 하나 이상의 개재 재료를 가질 수 있다. 더욱이, 2개의 재료 사이에 배치된 어느 한 재료는 2개의 층과 직접 접촉 상태에 있을 수 있거나 또는 하나 이상의 개재 층을 가질 수 있다. 대조적으로, 제2 재료 "상의 " 제1 재료는 그 제2 재료와 직접 접촉 상태에 있다. 유사한 구별들이 컴포넌트 조립체들의 맥락에서 이루어질 것이다.
"사이의(between)"라는 용어는 디바이스의 z-축, x-축 또는 y-축의 맥락에서 채택될 수 있다. 두 개의 다른 재료 사이에 있는 재료는 이러한 재료들 중 하나 또는 둘 다와 접촉 상태에 있을 수 있거나 또는 하나 이상의 중간 재료에 의해 다른 2개의 재료 둘 다로부터 분리될 수 있다. 따라서, 2개의 다른 재료 "사이의" 재료는 다른 2개의 재료 중 어느 하나와 접촉 상태에 있을 수 있거나, 또는 개재 재료를 통해 다른 2개의 재료에 결합될 수 있다. 2개의 다른 디바이스 사이에 있는 디바이스는 그런 디바이스들 중 하나 또는 둘 다에 직접 연결될 수 있거나, 또는 하나 이상의 개재 디바이스에 의해 다른 2개의 디바이스 둘 다로부터 분리될 수 있다.
이 설명 전반에 걸쳐 그리고 청구항들에서 사용되는 바와 같이, 용어 "~ 중 적어도 하나" 또는 "~ 중 하나 이상"에 의해 결합되는 아이템들의 리스트는 리스트된 아이템들의 임의의 조합을 의미할 수 있다. 예를 들어, "A, B 또는 C 중 적어도 하나"라는 문구는 A; B; C; A 및 B; A 및 C; B 및 C; 또는 A, B 및 C를 의미할 수 있다. 임의의 다른 도면의 요소들과 동일한 참조 번호들(또는 명칭들)을 갖는 도면의 그런 요소들은 설명된 것과 유사한 임의의 방식으로 동작하거나 기능할 수 있지만, 이것에만 제한되지는 않는다는 점을 지적해 둔다.
추가적으로, 본 개시내용에서 논의된 조합 로직(combinatorial logic) 및 순차 로직(sequential logic)의 다양한 요소들은(AND 게이트들, OR 게이트들, 또는 XOR 게이트들과 같은) 물리적 구조체들, 또는 논의 중인 로직의 부울 등가물(Boolean equivalent)들인 논리적 구조체들을 구현하는 디바이스들의 합성되거나 다른 방식으로 최적화된 컬렉션들 둘 다에 관련될 수 있다.
본 명세서에 설명되는 기술들은 하나 이상의 전자 디바이스에서 구현될 수 있다. 본 명세서에서 설명된 기술들을 활용할 수 있는 전자 디바이스들의 비제한적인 예들은, 카메라들, 셀 폰들, 컴퓨터 단말들, 데스크톱 컴퓨터들, 전자 리더(electronic reader)들, 팩시밀리 머신들, 키오스크들, 랩톱 컴퓨터들, 넷북 컴퓨터들, 노트북 컴퓨터들, 인터넷 디바이스들, 결제 단말들, 개인 휴대 정보 단말들(personal digital assistants), 미디어 플레이어들 및/또는 레코더들, 서버들(예를 들면, 블레이드 서버, 랙 마운트 서버, 이들의 조합들 등), 셋톱 박스들, 스마트 폰들, 태블릿 개인용 컴퓨터들, 울트라 모바일 개인용 컴퓨터들, 유선 전화들, 이들의 조합들, 및 그와 유사한 것과 같은 임의의 종류의 모바일 디바이스(mobile device) 및/또는 고정 디바이스(stationary device)를 포함한다. 더 일반적으로, 본 명세서에 설명된 기술들은 송신기 교정 기능성을 지원하는 IC 다이들을 포함하는 다양한 전자 디바이스들 중 임의의 것에서 채택될 수 있다.
도 1a는 실시예에 따른 송신 드라이버 회로의 교정을 결정하기 위한 시스템(100)의 특징들을 도시한다. 시스템(100)은 2개의 집적 회로(IC) 다이가 서로 결합하여 링 발진기 회로를 형성하는 것을 용이하게 하는 실시예의 일 예를 예시하며, 여기서 IC 다이들의 교정 회로는 IC 다이들 사이의 임피던스를 검출하기 위해 링 발진기 회로의 다양한 구성들을 테스트한다. 하나의 그러한 구성에 기초하여, 하나 이상의 송신기 회로의 각자의 설정들을 결정하기 위해 교정 정보가 생성된다.
도 1a에 도시된 바와 같이, 시스템(100)은 기판(110) 및 이에 결합된 집적 회로 다이들(120, 160)을 포함한다. 도 1b는 다이(120)와 함께 (및/또는 다양한 실시예들에서 다이(160)와 함께) 제공되는 구조들 및 기능성의 상세도(101)를 도시한다. 기판(110)은 그 안에 또는 그 상에 전도성 구조체들을 형성하여 IC 다이들을 상호접속하는 다양한 실리콘(또는 다른) 인터포저들, 패키지 기판들, 인쇄 회로 보드들 또는 그와 유사한 것 중 임의의 것을 포함하지만 이에 한정되지는 않는 임의의 다양한 유형의 기판을 나타낸다. 일부 실시예들에서, 전도성 콘택트들(161)이 컴퓨팅 컴포넌트들을 통신가능하게 및/또는 전기적으로 결합하기 위해 그 아래에 있는 전도성 트레이스들에 연결되는 금속 도금 패드들을 포함한다. 일부 실시예들에서, 콘택트들(161)은 솔더 볼들, 본드와이어, 또는 다른 솔더 기반 부착물들과 본딩될 수 있다.
도시된 예시적인 실시예에서, 기판(110)의 인터커넥트 구조체들은 패터닝된 전도성 트레이스들의 금속화 층들(112)을 포함한다 - 예를 들어, 여기서 금속화 층들(112)은 도시된 xyz 좌표계의 xy 평면과 평행하게 다양하게 연장된다. 이러한 금속화 구조체들은 금속화 층들(112)의 각자의 것들을 서로 결합하기 위해 수직으로(예를 들어, z-축을 따라) 다양하게 연장되는 비아들(또는 금속 트레이스들)을 추가로 포함한다. 금속화 층들(112) 및 상기 비아들 - 예를 들어, 구리, 알루미늄, 니켈, 금, 은, 및/또는 다양한 다른 전도체 재료들 중 임의의 것을 포함함 - 은 기판(110)의 2개의 대향하는 측면 중 하나 또는 각각과의 전기적 연결을 용이하게 한다. 5개의 금속화 층(112)이 도 1에 예시되지만, 대안적인 실시예들에서, 더 많거나 더 적은 수의 이러한 금속화 층들이 존재한다.
기판(110)의 유전체 층들(111)이 금속화 층들(112)의 다양한 트레이스들 사이의 및/또는 다양한 비아들 사이의 전기적 격리를 촉진하는 하나 이상의 절연체 재료를 포함한다. 실시예에서, 유전체 층들(111)은, 예를 들어, 종래의 패키지 기판들 및/또는 PCB들에서 사용되는 다양한 유전체 화합물들 중 임의의 것을 포함한다. 그러한 화합물들은 PI(polyimide), PTFE(polytetrafluoroethylene), 빌드업 필름(일반적으로, 다양한 실리카 입자 충전 에폭시 재료들 중 임의의 것), LCP(liquid crystal polymer), 및 PEEK(polyetheretherketone)를 포함하지만, 이에 제한되지는 않는다. 일부 실시예들에서, 유전체 층들(111)은 FR5, BT(bismaleimide triazine) 수지 등과 같은 라미네이트 재료(laminate material)를 포함한다. 다양한 실시예들에서, 기판(110)은 직조된(woven) 또는 보강된 코어(도시되지 않음)를 갖거나, 또는 대안적으로 코어가 없다.
금속화 층들(112)은 기판(110)의 각자의 측에 각각 직접적으로 또는 간접적으로 다양하게 부착되는 회로 자원들 사이의 신호 통신 및/또는 다른 전기적 연결을 용이하게 한다. 예를 들어, 기판(110)의 제1 (다이) 측에서의 제1 하드웨어 인터페이스는 금속화 층들(112)의 각자의 인터커넥트 구조체들에 다양하게 결합되는 전도성 콘택트들(161) 중 제1 전도성 콘택트들을 포함한다. 제1 하드웨어 인터페이스는 (예를 들어) 도시된 예시적인 IC 다이(120)를 포함하는 하나 이상의 컴포넌트에의 결합을 용이하게 한다 - 예를 들어, 여기서 솔더 범프들(121)은 콘택트들(161) 각자의 것에 각각 부착을 다양하게 제공한다. 유사하게, 기판(110)의 제1 측에서의 제2 하드웨어 인터페이스는 전도성 콘택트들(161) 중 다른 콘택트들을 포함하고, 이들은 - 다른 솔더 범프들을 통해 - IC 다이(160)의 각자의 전도성 콘택트(예를 들어, 패드)에 각각 부착된다. 언더필(129)이 IC 다이(120)에 대한 기판(110)의 결합을 더 용이하게 하고, 예를 들어, 여기서 또 다른 언더필(169)은 IC 다이(160)에 대한 기판(110)의 결합을 용이하게 한다.
기판(110)은 제1 측에 대향하는 제2 (랜드) 측에서의 제3 하드웨어 인터페이스를 추가로 포함한다. 하나의 예시적인 실시예에서, 제3 하드웨어 인터페이스의 전도성 콘택트들은 - 예를 들어, 도시된 예시적인 솔더 볼들(116)을 통해 - 시스템(100)이 포함하는 또는, 대안적으로, 결합할 마더보드 또는 다른 그러한 인쇄 회로 보드(도시되지 않음)의 각자의 전도성 콘택트에 각각 결합될 것이다.
IC 다이들(120, 160) 각각은 (예를 들어) 마이크로프로세서, 그래픽 프로세서, 신호 프로세서, 네트워크 프로세서, 칩셋 등과 같은 (그러나 이에 제한되지는 않는), 특정 응용에 적합한 다양한 집적 회로 디바이스들 중 임의의 것을 포함한다. 일 실시예에서, IC 다이들(120, 160) 중 주어진 것은 하나 이상의 기능 유닛(예를 들어, 하나 이상의 처리 유닛, 하나 이상의 그래픽 유닛, 하나 이상의 통신 유닛, 하나 이상의 신호 처리 유닛, 하나 이상의 보안 유닛 등)을 포함하는 SoC(system-on-chip)을 포함한다. 그러나, 일부 개시된 실시예들은 IC 다이들(120, 160) 중 어느 하나에 제공되는 임의의 특정 유형 또는 클래스의 기능성에 제한되지는 않는 것을 이해해야 한다.
IC 다이들(120, 160)은 IC 다이들(120, 160)의 각자의 하드웨어 인터페이스들 사이에서 다양하게 연장되는 - 기판(110) 내의 또는 상의 - 인터커넥트들을 통해 통신하도록 결합된다. 도시된 실시예에서, IC 다이(120)의 통신 회로(130)는 IC 다이(160)의 통신 회로(170)에 각자의 신호들을 다양하게 전송하기 위해, 그러한 인터커넥트들(예를 들어, 도시된 예시적인 인터커넥트(150)를 포함함) 중 다양한 것들을 통해 결합되는 드라이버 회로들을 포함한다. 유사하게, IC 다이(160)의 통신 회로(170)는 통신 회로(130)에 각자의 신호들을 다양하게 전송하도록 결합되는 다양한 드라이버 회로들을 포함한다. 예를 들어, 통신 회로(130)는 통신 회로(170)의 대응하는 수신기 회로와 통신하는 송신기 회로를 포함한다 - 예를 들어, 여기서 통신 회로(170)는 통신 회로(130)의 대응하는 수신기 회로와 통신하는 다른 송신기 회로를 유사하게 포함한다.
다양한 실시예들에서, 이러한 송신기 회로의 일부 또는 전부의 교정을 용이하게 하기 위해, 통신 회로(130) 및 통신 회로(170) 각각은 IC 다이들(120, 160)에 걸쳐 있는 링 발진기 회로를 형성하도록 결합을 수용하는 각각의 하나 이상의 지연 회로를 추가적으로 또는 대안적으로 포함한다. IC 다이(120)의 교정 회로(140), 및 IC 다이(160)의 유사한 교정 회로(180)는, 예를 들어, IC 다이들(120, 160)의 송신기 회로를 튜닝하기 위한 하나 이상의 동작적 설정을 결정하기 위해, 이러한 링 발진기 회로를 튜닝하는 기능성을 다양하게 제공한다.
IC 다이들의 공간 효율 및 입/출력(IO) 밀도를 증진하기 위해, 기존의 PHY(physical layer) 회로 설계들은 전형적으로 수동 회로 요소들의 사용을 완화하거나 방지하면서 능동 회로 요소들 - 및 더 구체적으로는 트랜지스터들 - 을 포함하는 송신 드라이버들을 포함한다. 이들 송신 드라이버들은 실질적으로 PVT(process-voltage-temperature)에 걸쳐 변하는 출력 임피던스로부터 손해를 겪는 경향이 있다 - 예를 들어, 여기서 동일한 드라이버 유형의 상이한 디바이스들 사이에서 변동은 50%를 초과한다.
특정 실시예들은, 예를 들어, 상기 송신 드라이버 회로의 특성들을 모델링하는 발진기 회로에 기초하여 송신 드라이버 회로의 교정을 결정함으로써 이러한 변동의 영향을 다양하게 완화한다. 예를 들어, 일부 실시예들은 주어진 다이의 송신 드라이버 내의 저항을 고려할 뿐만 아니라, 눈 마진 손실(eye margin loss)에 또한 기여하는 - 예를 들어, 그 주어진 다이와 그것에 결합되는 또 다른 다이 사이의 - 임피던스의 하나 이상의 다른 소스를 고려한다. 그러한 하나 이상의 다른 임피던스 소스의 예들은 다이의 하드웨어 IO 인터페이스에서의 전도성 콘택트들(예를 들어, 핀들) 사이의 커패시턴스, 온-다이 인터커넥트들 사이의 기생 커패시턴스들, 및 2개의 다이 사이에 결합되는 인터커넥트들 사이의 기생 커패시턴스들을 포함하지만, 이에 제한되지는 않는다.
일부 실시예들에서, 송신 드라이버의 성능의 교정은 그 송신 드라이버에서 사용되는 동일한 유형의 것인 하나 이상의 드라이버 회로를 포함하는 발진기 회로를 이용하여 결정된다. 제한이 아닌 예시로서, 상기 유형의 드라이버 회로는 그 드라이버 회로의 강도(예를 들어, 풀업 강도 및/또는 풀다운 강도를 포함함) - 및, 예를 들어, 대응하는 지연 - 를 조절하거나 다른 방식으로 결정하도록 구성가능하다(예를 들어, 재구성가능하다). 다중의 드라이버 회로의 각자의 지연들은 그 발진기 회로의 발진 주파수를 적어도 부분적으로 결정한다.
다양한 실시예들은 하나 이상의 발진기 회로의 선택적 튜닝에 기초하여 구성 정보를 결정한다 - 예를 들어, 여기서 상기 튜닝은, 만약 존재한다면, 주어진 발진기 회로의 기준 주파수(reference frequency)와 발진 주파수 사이의 차이를 완화시킬 것이다. 하나 이상의 발진기 회로는, 예를 들어, 2개의 IC 다이에 걸쳐 있는 발진기 회로(본 명세서에서 "다이-투-다이 발진기(die-to-die oscillator)" 또는 "공유형 발진기(shared oscillator)"로서 지칭됨)를 포함한다. 이러한 특정 맥락에서, "걸쳐 있음(span)"은 2개의 IC 다이의 각자의 회로 요소들(및 예를 들어, 각자의 드라이버 회로들)을 포함하는 발진기 회로의 특성을 지칭한다 - 예를 들어, 여기서 발진기 회로는 2개의 IC 다이를 서로 결합시킴으로써 형성된다. 다양한 실시예들에서, 하나 이상의 발진기 회로가 상이한 각자의 다이에 각각 제공되는 하나 이상의 다른 "국부" 발진기 회로를 추가로 포함한다.
다양한 실시예들에서의 링 발진기 회로는 회로들의 직렬(in-series) 배열 - 본 명세서에서 "지연 회로들" 또는 "지연 셀들"로서 지칭됨 - 을 포함하며, 이들 각각은 다양한 드라이버 강도들 중 임의의 것(및 예를 들어, 다양한 대응하는 신호 지연들 중 임의의 것)을 제공하도록 구성 가능한 각자의 드라이버 회로를 포함한다. 이러한 링 발진기 회로의 발진 주파수는 (예를 들어) 다음과 같이 표현된다:
Figure pat00001
여기서, N은 발진기 회로의 지연 셀들의 수와 동일하고,
Figure pat00002
Figure pat00003
은 (제각기) 발진기 회로에 대한 저-대-고(low-to-high propagation delay) 전파 지연 및 고-대-저(high-to-low) 전파 지연이다.
예를 들어, RC 회로로서의 드라이버 회로의 1차 표현에서, 전파 지연은 (예를 들어) 다음과 같이 표현된다:
Figure pat00004
여기서 Req는 (예를 들어, 범프 라우팅으로 인한, 다이-투-다이 인터커넥트들로 인한, 및/또는 이와 유사한 것으로 인한) 드라이버 회로에 의해 보이는 저항을 나타내고, Cload는 드라이버 회로의 출력에서 보이는 총 커패시턴스를 나타낸다.
위의 수학식 1 및 수학식 2로부터, 발진 주파수
Figure pat00005
는 (예를 들어) 다음과 같이 표현될 수 있다:
Figure pat00006
저항 Req를 조절함으로써, 일부 실시예들은 송신 드라이버들에 걸쳐 실질적으로 변하는 출력 임피던스를 보상하기 위해 교정 정보의 결정을 다양하게 용이하게 한다. 그러한 교정 정보에 기초하여, 주어진 송신 드라이버 회로는 한 번만 교정되거나, 또는 대안으로서 예를 들어, 전압 및/또는 온도 상태들에 대한 변화들을 감당하기 위해 주기적으로 재교정된다.
이제 도 1b를 참조하면, 다이(120)는 다이(120)를 다이(160)의 대응하는 하드웨어 인터페이스에 결합하기 위한 전도성 콘택트들을 포함하는 하드웨어 인터페이스(122)를 포함한다. 다이(120)는, 예를 들어, 하드웨어 인터페이스(122)의 하나 이상의 전도성 콘택트들(128)을 통해, 다이(160)와 통신하는 하나 이상의 송신 드라이버 회로(예를 들어, 도시되는 예시적인 송신기(136)에 의해 표현됨)을 추가로 포함한다.
송신기(136)의 교정을 용이하게 하기 위해, 다이(120)는 교정 회로(140), 및 하드웨어 인터페이스(122)에 각각 결합되는(도시된 예시적인 지연 회로들(132a,..., 132n)과 같은) 제1의 하나 이상의 지연 회로를 추가로 포함한다. 다양한 실시예들에서, 공유형 발진기 회로(shared oscillator circuit)는 다이들(120, 160)을 서로 결합함으로써 형성된다 - 예를 들어, 여기서 발진기 회로는 하드웨어 인터페이스(122)의 전도성 콘택트들(123)을 통해 서로 다양하게 결합되는 다이(120)의 지연 회로들(132a,..., 132n) 및 다이(160)의 제2의 하나 이상의 지연 회로(도시되지 않음)를 포함한다. 도시된 예시적인 실시예에서, 다이(120)의 제1의 하나 이상의 지연 회로는 다이(160)의 제2의 하나 이상의 지연 회로 중 대응하는 것과 각자의 차동 신호 쌍(differential signal pair)을 통신하도록 각각 결합될 것이다. 다른 실시예들에서, 공유형 링 발진기 회로는 (예를 들어, 차동 신호 쌍이 아니라) 각자의 단일 종단 신호를 각각 통신하는 지연 회로들의 직렬 배열을 포함한다.
일부 실시예들은 공유형 발진기 회로의 튜닝, 예를 들어, 도시된 예시적인 교정 회로(140)의 동작들과 같은 동작들에 기초한 튜닝에 기초하여 교정 정보를 결정한다. 예를 들어, 교정 회로(140)는 공유형 발진기 회로가 그의 주어진 동작적 설정에 의해 충분히 튜닝되는지를 평가하기 위한 기능성을 제공하는 로직 - 예를 들어, 다양한 적절한 하드웨어, 펌웨어 및/또는 실행 소프트웨어 중 임의의 것을 제공받음 - 을 예시한다. 제한이 아닌 예시로서, 교정 회로(140)는, 다이들(120, 160)을 서로 결합함으로써 형성되는 공유형 발진기 회로와 통신되는 신호(예시적인 신호(134)와 같은 것)를 샘플링하거나 다른 방식으로 검출하도록 결합되는 다양한 주문형 집적 회로들, 프로그래머블 게이트 어레이들, 상태 머신들 및/또는 다른 적절한 하드웨어 중 임의의 것을 포함한다.
주어진 시간에, 샘플링된 신호(134)는 (재구성 가능한) 공유형 발진기 회로의 현재 동작적 설정에 기초하는 주어진 주파수를 갖는다. 교정 회로(140)는 테스트 조건이 현재 동작적 설정에 의해 만족되는지를 결정하기 위해 신호(134)를 평가하는데, 예를 들어, 여기서 교정 회로(140)는 신호(134)의 주파수가 미리 결정된 기준 주파수에 충분히 가까운지를 결정한다. 평가에 의해 주파수 불일치가 표시되는 경우, 교정 회로(140)는 공유형 발진기 회로를 기준 주파수에 더 튜닝하기 위한 하나 이상의 제어 신호를 제공한다. 대조적으로, 교정 회로(140)가 테스트 기준이 동작적 설정에 의해 만족된다고 결정하는 경우, 교정 회로(140)는 송신기(136)의 하나 이상의 드라이버 회로를 구성하기 위한 제어 신호(142)를 생성한다.
일부 실시예들에서, 시스템(100)에 의한 발진기 튜닝은 다이(160)와의 추가적인 통신에 참여하는 교정 회로(140)를 추가로 포함하거나 또는 다른 방식으로 교정 회로(140)에 기초한다. 제한이 아닌 예시로서, 이러한 추가적인 통신은 공유형 발진기 회로의 제2의 하나 이상의 지연 회로를 구성하기 위한 신호(126)를 (하드웨어 인터페이스(122)의 전도성 콘택트(124)를 통해) 제공하는 교정 회로(140)를 포함한다. 대안적으로 또는 추가적으로, 이러한 추가적인 통신은 - 예를 들어, 하드웨어 인터페이스(122)의 전도성 콘택트(125)를 통해 다이(160)의 유사한 교정 로직으로부터 - 다이(160)의 하나 이상의 지연 회로의 동작적 설정을 식별하는 신호(127)를 수신하는 교정 회로(140)를 포함한다.
도 2는 실시예에 따른 송신 드라이버 회로의 교정을 결정하는 방법(200)의 특징들을 도시한다. 방법(200)은 교정 정보가 IC 다이들에 걸쳐 있는 공유형 발진기 회로의 튜닝에 기초하여 생성되는 실시예의 일 예를 예시한다. 방법(200)의 동작들은, 예를 들어, 시스템(100)의 일부 또는 전부로 수행된다.
도 2에 도시된 바와 같이, 방법(200)은 (210에서) 제1 다이가 제2 다이에 결합되어 제1 다이의 제1의 하나 이상의 지연 회로 및 제2 다이의 제2의 하나 이상의 지연 회로를 포함하는 발진기 회로를 형성한 것을 검출하는 단계를 포함한다. 예를 들어, (210)에서의 검출은 교정 회로(140)가 IC 다이(120)가 IC 다이(160)에 결합된 것을 검출하는 단계를 포함한다.
방법(200)은 (212에서) 발진기 회로와 통신되는 신호 및 기준 주파수 둘 다에 기초하여, 테스트 조건이 발진기 회로의 제1 동작적 설정에 의해 만족됨을 결정하기 위해 평가를 수행하는 단계를 추가로 포함한다. 예를 들어, (212)에서 수행되는 평가는 교정 회로(140)가 신호(134)의 주파수가 발진기가 튜닝될 기준 주파수와 일치하거나, 또는 다른 방식으로 기준 주파수에 충분히 가깝다는 것을 결정하는 것을 포함한다. 그러한 일 실시예에서, 기준 주파수는 송신기(136)가 동작할 주파수이다.
(212)에서 수행된 평가에 기초하여, 방법(200)은 (214에서) 제1 IC 다이의 제1의 하나 이상의 송신 드라이버 회로의 제2 동작적 설정을 제공한다. 예를 들어, 제2 동작적 설정은, 실시예에서, 제1의 하나 이상의 지연 회로 및 제2의 하나 이상의 지연 회로 중 일부 또는 전부에 대해 각자의 풀업 강도들 및/또는 각자의 풀업 강도들을 결정하는 하나 이상의 튜닝 코드를 포함하거나 또는 다른 방식으로 튜닝 코드에 기초한다. 하나의 그러한 실시예에서, (214)에서 제2 동작적 설정을 제공하는 것은, 교정 회로(140)가 주어진 송신 드라이버 회로의 제1 전파 지연을 변경하도록 송신기(136)에 시그널링하는 것을 포함한다. (212)에서 수행된 평가에 추가로 기초하여, 방법(200)은 (216에서) 제2 IC 다이의 제2의 하나 이상의 송신 드라이버 회로의 제3 동작적 설정을 제공하도록 제2 IC 다이에 시그널링한다. 하나의 그러한 실시예에서, (216)에서의 시그널링은 제2의 하나 이상의 송신 드라이버 회로의 제2 전파 지연을 변경하도록 제2 IC 다이에 시그널링하는 것을 포함한다.
일부 실시예들에서, 방법(200)은 제1 다이 및 제2 다이의 각자의 것에 각각 있는 하나 이상의 국부 발진기 회로의 튜닝을 추가로 포함하거나, 또는 다른 방식으로 이 튜닝에 기초한다. 예를 들어, 다양한 실시예들에서, 방법(200)은 제1 IC 다이의 제2 국부 발진기 회로와 통신되는 제2 신호를 샘플링하거나 또는 다른 방식으로 검출하는 추가적인 동작들(도시되지 않음)을 포함한다. 하나의 그러한 실시예에서, 추가적인 동작들은, 기준 주파수 및 제2 신호 둘 다에 기초하여, 테스트 조건이 제2 발진기 회로의 제4 동작적 설정에 의해 만족된다는 것을 결정하기 위해 제2 평가를 수행한다. 예를 들어, 제2 평가는 제2 신호의 주파수가 기준 주파수와 일치하거나, 또는 다르게는 기준 주파수에 충분히 가까운 것을 결정했다. 제2 평가에 기초하여, 제1 발진기 회로의 제5 동작적 설정이 제공된다 - 예를 들어, 여기서 제1 동작적 설정은 제5 동작적 설정으로부터의 추가 튜닝에 기초하여 후속하여 제공된다.
도 3은 실시예에 따른 집적 회로 다이들 사이의 임피던스를 검출하는 시스템(300)의 특징들을 도시한다. 시스템(300)은 IC 다이가 국부 발진기 회로의 튜닝 및 공유형 발진기 회로의 튜닝 둘 다에 기초하여 교정 정보를 결정하는 것을 용이하게 하는 실시예의 일 예를 예시한다. 다양한 실시예들에서, 시스템(300)은 시스템(100)의 기능성과 같은 기능성을 제공한다 - 예를 들어, 여기서 방법(200)의 하나 이상의 동작은 시스템(300)에 의해 수행된다.
도 3에 도시된 바와 같이, 시스템(300)은 그의 각자의 하드웨어 인터페이스들(312, 362)을 통해 그리고 (실리콘 브리지, 인터포저, 패키지 기판, 인쇄 회로 보드, 또는 그와 유사한 것의 인터커넥트들과 같은) 인터커넥트들(305)을 통해 서로 결합되는 다이들(310, 360)을 포함하며, 예를 들어, 여기서 다이들(310, 360)은 다이들(120, 160)에 기능적으로 대응한다. 다이(310)는 다이들(310, 360)에 걸쳐 있는 공유형 링 발진기(350)의 부분을 형성하게 될 제1의 하나 이상의 지연 회로(314)(예를 들어, 도시된 예시적인 지연 회로(315)를 포함함)를 포함한다. 유사하게, 다이(360)는 공유형 링 발진기(350)의 또 다른 부분을 형성하게 될 제2의 하나 이상의 지연 회로(364)(예를 들어, 도시된 예시적인 지연 회로(365)를 포함함)를 포함한다.
하나의 그러한 실시예에서, 하나 이상의 지연 회로(314) 및 하나 이상의 지연 회로(364)는 교호하는 직렬 배열로 서로 결합된다. 예를 들어, 지연 회로(315)는 하나 이상의 지연 회로(364)로부터 출력되는 피드백 신호(316)를 수신하고, 신호(316)에 기초하여 신호(318)를 발생시키도록 결합된다. 대조적으로, 지연 회로(365)는 신호(318)를 수신하고, 그에 기초하여 신호(366)를 생성하도록 결합된다(예를 들어, 여기서 신호(366)는 신호(316)이다). 다양한 실시예들에서, 지연 회로(315)는 각자의 차동 신호 쌍들을 통신하는 지연 회로들을 포함한다.
주어진 지연 회로는 그 지연 회로에 의해 수신된 신호의 반전된 - 그리고 예를 들어 지연된 - 버전인 신호를 생성한다. 링 발진기(350)의 지연 회로의 일부 또는 전부는 각각 다양한 전파 지연들 중 임의의 것을 제공하도록 구성가능하며 - 예를 들어, 여기서 상기 구성가능한 지연 회로들은 특정 발진 주파수에 대한 링 발진기(350)의 튜닝을 용이하게 한다. 도시된 예시적인 실시예에서, 다이(310)의 평가 유닛(320) 및 제어기 회로(340)는 교정 회로(140)의 것과 같은 기능성을 제공한다. 제어기 회로(340)의 국부 발진기 튜너(344) - 예를 들어, 하드웨어, 펌웨어 및/또는 실행 소프트웨어를 구비함 - 는 발진기(330)를 튜닝하는 기능성을 제공한다.
예를 들어, 평가 유닛(320)은 발진기(330)로부터의 신호(332)를 스누핑(snoop)하거나 다른 방식으로 검출하도록 결합된다(예를 들어, 여기서 신호(332)의 주파수는 발진기(330)의 현재 동작적 설정에 기초한다). 신호(332)에 기초하여, 평가 유닛(320)은 신호(332)의 주파수가 기준 주파수에 충분히 가까운지를 지정하거나 또는 다른 방식으로 표시하는 신호(322)를 제어기 회로(340)에 제공한다. 국부 발진기 튜너(344)는, 신호(332)의 주파수가 기준 주파수에 충분히 가깝도록 튜닝될 때까지, - 예를 들어, 도시된 예시적인 신호(342)로 - 발진기(330)의 하나 이상의 동작적 설정을 선택적으로 조절하는 기능성을 제공한다.
일부 실시예들에서, 다이(360)의 평가 유닛(370) 및 제어기 회로(390)는 국부 발진기(380)를 튜닝하기 위해 (교정 회로(140)의 것과 같은) 유사한 기능성을 제공한다. 예를 들어, 평가 유닛(370)은 발진기(380)로부터의 신호(382)를 검출하도록 결합되며, 여기서 신호(382)의 주파수는 발진기(380)의 현재 동작적 설정에 기초한다. 신호(382)에 기초하여, 평가 유닛(370)은 평가 유닛(370)의 주파수가 기준 주파수에 충분히 가까운지를 표시하는 신호(372)를 제어기 회로(390)에 제공한다. 제어기 회로(390)는, 신호(382)의 주파수가 기준 주파수에 충분히 가깝도록 튜닝될 때까지, 예를 들어, 도시된 예시적인 신호(392)로 (필요에 따라) 발진기(380)의 하나 이상의 동작적 설정을 선택적으로 조절한다. 발진기(380)가 충분히 튜닝된 것으로 결정한 후, 제어기 회로(390)는 튜닝형 발진기(380)의 현재 동작적 설정(들)을 지정하거나 또는 표시하는 신호(394)를 제어기 회로(340)에 제공한다.
발진기들(330, 380) 각각이 기준 주파수에 충분히 튜닝되었다고 결정되는 경우, 제어기 회로(340)의 공유형 발진기 튜너(346)는 링 발진기(350)를 기준 주파수에 튜닝하는 동작들을 수행한다. 일부 실시예들에서, 링 발진기(350)의 이러한 튜닝은, 튜닝형 발진기들(330, 380)의 각자의 동작적 설정들에 기초하여, 하나 이상의 지연 회로(314)의 및/또는 하나 이상의 지연 회로(364)의 각자의 초기 동작적 설정들을 제공하는 것을 포함한다.
일 실시예에 따른 예시적인 시나리오에서, 평가 유닛(320)은 발진기(350)와 통신되는 (도시된 예시적인 신호(318)와 같은) 신호를 검출하도록 추가로 결합된다(예를 들어, 여기서 신호(318)의 주파수는 발진기(350)의 현재 동작적 설정에 기초한다). 신호(318)에 기초하여, 평가 유닛(320)은 신호(318)의 주파수가 기준 주파수에 충분히 가까운지를 신호(322)로 표시한다. 공유형 발진기 튜너(346)는, 신호(318)의 주파수가 기준 주파수에 충분히 가깝도록 튜닝될 때까지 - 예를 들어, 도시된 예시적인 신호(348)로 - 발진기(350)의 하나 이상의 동작적 설정을 선택적으로 조절한다. 이러한 튜닝에 기초하여, 제어기 회로(340)는 (송신기(136)와 같은) 송신기 회로의 하나 이상의 드라이버를 튜닝하기 위한 교정 정보를 제공하며, 예를 들어, 여기서 교정 정보는 튜닝형 발진기(350)의 현재 동작적 설정(들)을 포함하거나 또는 다르게는 현재 동작적 설정(들)에 기초한다.
도 4는 실시예에 따른 송신 드라이버 회로의 교정을 결정하는 방법(400)의 특징들을 도시한다. 방법(400)은 실시예의 일 예를 예시하는데, 여기서 (예를 들어) 주어진 다이의 국부 링 발진기, 및 그 주어진 다이 및 이에 결합되는 또 다른 다이에 걸쳐 있는 공유형 링 발진기를 포함하는 2개 이상의 발진기 회로들의 연속적인 튜닝에 기초하여 교정 정보가 생성된다. 방법(400)의 동작들과 같은 동작들은, 예를 들어, 다이들(120, 160) 중 하나 또는 양자를 이용하여 (또는 예를 들어, 다이들(310, 360) 중 하나 또는 양자를 이용하여) 수행되며, 예를 들어, 여기서 방법(200)은 방법(400)의 동작들을 포함한다.
다양한 실시예들에서, 방법(400)은 (발진기들(330, 380) 중 하나와 같은) 제1 다이의 국부 발진기 회로를 튜닝하기 위한 동작들(402)을 포함하며, 예를 들어, 여기서 동작들(402)은 교정 회로(140), 제어기 회로(340), 또는 제어기 회로(390)로 수행된다. 예를 들어, 동작들(402)은 (410에서) 제1 다이의 국부 발진기 회로로부터 제1 신호를 수신하는 동작을 포함하며, 예를 들어, 여기서 제1 신호는 신호(332)를 포함한다.
동작들(402)은 (412에서) 제1 신호의 주파수 및 국부 발진기 회로(및 후속적으로 공유형 발진기 회로)가 튜닝될 기준 주파수에 기초하여 평가를 수행하는 동작을 추가로 포함한다. 평가는, 미리 결정된 기준에 따라, 제1 신호의 주파수가 기준 주파수와 일치하는지 또는 그렇지 않으면 기준 주파수에 충분히 가까운지를 결정하는 것이다. 예를 들어, 동작들(402)은 (414에서) (412)에서의 평가가 제1 신호의 주파수와 기준 주파수 사이의 불일치를 나타내는지를 결정하는 동작을 추가로 포함한다.
이러한 불일치가 (414)에서 검출되는 경우, 방법(400)은 (416에서) 국부 발진기의 각자의 하나 이상의 지연 셀 각각의 하나 이상의 동작적 설정을 조절한다. 실시예에서, (416)에서의 조절은 - 예를 들어, 국부 발진기 회로의 주어진 지연 셀의 풀업 강도 및/또는 풀다운 강도를 변경함으로써 - 국부 발진기 회로의 전파 지연을 변경하는 것이다. (416)에서의 조절 후에, 동작들(402)은 (410)에서의 수신의 다음 인스턴스를 수행한다.
대조적으로, 어떠한 이런 주파수 불일치도 (414)에서 표시되지 않는 경우, 방법(400)은 공유형 발진기 회로의 튜닝이 시작될 수 있는지를 결정한다 - 예를 들어, 여기서 공유형 발진기 회로는 제1 다이 및 이에 결합된 제2 다이에 걸쳐 있다. 예를 들어, 방법(400)은 (418에서) 또 다른 평가를 수행하여 양쪽 다이들 각각이 그 다이의 국부 발진기 회로의 각자의 튜닝을 완료했는지를 결정한다. 제1 다이에 의한 동작들(402)의 수행은, 제2 다이가 그 제2 다이의 국부 발진기 회로의 유사한 튜닝을 수행하는 것과 동시에 또는 다르게는 병렬로 이루어진다. 하나의 이러한 실시예에서, 제2 다이는 제2 다이의 튜닝형 국부 발진기 회로의 동작적 설정을 식별하는 정보를 제1 다이에게 제공한다.
실시예에서, 방법(400)은 (발진기(350)와 같은) 공유형 발진기 회로를 튜닝하기 위한 동작들(404)을 추가적으로 또는 대안적으로 포함한다. 예를 들어, 동작들(404)은 (420에서) 공유형 발진기 회로로부터 제2 신호를 수신하는 동작을 포함하며, 예를 들어, 여기서 제2 신호는 신호(318)를 포함한다. 동작들(404)은 (422에서) 기준 주파수에 기초하여 제2 신호의 주파수의 평가를 수행하는 동작을 추가로 포함한다. 예를 들어, 동작들(404)은 (424에서) (422)에서의 평가가 제2 신호의 주파수와 기준 주파수 사이의 불일치를 나타내는지를 결정하는 동작을 추가로 포함한다.
그러한 불일치가 (424)에서 검출되는 경우, 방법(400)은 (426에서) 공유형 발진기의 각자의 하나 이상의 지연 셀 각각의 하나 이상의 동작적 설정을 조절한다. 예를 들어, (426)에서의 조절은 - 예를 들어, 공유형 발진기 회로의 주어진 지연 셀의 풀업 강도 및/또는 풀다운 강도를 변경함으로써 - 공유형 발진기 회로의 전파 지연을 변경한다. (426)에서의 조절 후에, 동작들(404)은 (420)에서 수신의 다음 인스턴스를 수행한다.
대조적으로, 어떠한 이런 주파수 불일치도 (424)에서 표시되지 않는 경우, 방법(400)은 공유형 발진기 회로의 튜닝이 완료되었다고 결정한다. 일부 실시예들에서, 방법(400)은 하나 이상의 송신기 회로의 각자의 동작적 설정들을 결정하기 위해, 튜닝형 공유형 발진기 회로의 가장 최근의 동작적 설정들을 포함하거나 또는 다른 방식으로 이것에 기초하는 교정 정보를 더 제공한다.
도 5는 실시예에 따른 드라이버 교정 기능성을 제공하는 시스템(500)의 특징들을 도시한다. 시스템(500)은 IC 다이가 국부 링 발진기의 설정을 결정하기 위한 제1 튜닝 페이즈, 및 이후 2개의 IC 다이에 걸쳐 있는 또 다른 링 발진기의 설정을 결정하기 위한 제2 튜닝 페이즈를 수행함으로써 교정 정보를 결정하는 실시예의 일 예를 예시한다. 다양한 실시예들에서, 시스템(500)은 시스템(100) 또는 시스템(300)의 것과 같은 기능성을 제공한다 - 예를 들어, 여기서 방법(200) 또는 방법(400)의 하나 이상의 동작은 시스템(500)에 의해 수행된다.
도 5에 도시된 바와 같이, 시스템(500)은 인터커넥트들(506)을 통해 서로 결합되는 다이들(502, 504)을 포함한다 - 예를 들어, 여기서 다이들(502, 504)은 제각기 다이들(310, 360)에 (또는 다이들(120, 160)에) 대응하고 인터커넥트들(506)은 인터커넥트들(305)에 대응한다. 도시된 예시적인 실시예에서, 평가 유닛(320)의 것과 같은 기능성은, 예를 들어, 멀티플렉서 회로(516), 주파수 분주기(FDiv)(518), 및 다이(502)의 카운터 유닛(counter unit)(520)에 의해 제공된다. 다이(502)는 제어기 회로(340)의 것과 같은 기능성을 제공하기 위해 - 도시된 예시적인 FSM(finite state machine)(523)의 것과 같은 - 하드웨어, 펌웨어, 및/또는 소프트웨어 로직을 추가로 포함한다. 다이(504)와 조합하여, 다이(502)의 이러한 기능성은 다이들(502, 504)에 의해 형성되고 다이들(502, 504)에 걸쳐 있는 링 발진기(510)의 튜닝을 결정한다. 튜닝에 기초하여, 다이(502)는 다이(502)의 하나 이상의 송신기 회로들(도시되지 않음) 및/또는 다이(504)의 하나 이상의 송신기 회로(도시되지 않음)의 교정을 결정하기 위한 정보를 통신한다.
도시된 예시적인 실시예에서, 멀티플렉서(516)는 다이(502)의 국부 링 발진기(Osc)(530)로부터 신호(531)를 수신하고, 추가로 링 발진기(510)의 주어진 2개의 드라이버 회로 사이에서 통신되는 (도시된 예시적인 신호(515)와 같은) 신호를 샘플링하거나 또는 다른 방식으로 검출하도록 결합된다. 제어 신호(526)에 기초하여, 멀티플렉서(516)는 신호들(515, 531) 중 특정한 하나를 - 신호(517)로서 - 주파수 분주기(518)에 선택적으로 제공한다. 주파수 분주기(518)는 신호(517)의 더 낮은 주파수 버전을 나타내는 신호(519)를 생성하는 기능성을 제공한다 - 예를 들어, 여기서 주파수 분주기(518)는 (본 명세서에서 상세히 설명되지 않고, 일부 실시예들에 대해 제한하지 않는) 다양한 기존의 주파수 분주기 설계들 중 임의의 것으로부터 구성된다.
카운터 유닛(520)은 기준 클록 신호 clkr뿐만 아니라 주파수 분주기(518)에 의해 제공되는 신호(519)를 수신하도록 결합된다. 카운터 유닛(520)의 회로는 clkr 및 신호(519)의 각자의 주파수들을 검출하는 기능성을 제공한다. 예를 들어, 카운터 유닛(520)은 주어진 시간 길이 동안 clkr의 사이클들의 카운트를 특정하거나 다른 방식으로 FSM(523)에게 표시하는 신호(521)를 생성한다. 더욱이, 카운터 유닛(520)은 동일한 시간 길이 동안 신호(519)의 사이클들의 카운트를 FSM(523)에게 표시하는 신호(522)를 생성한다. 도시된 예시적인 실시예에서, FSM(523)은 카운터 유닛(520)에 의한 사이클들의 카운팅을 선택적으로 리셋하기 위한 제어 신호(533)를 제공하도록 결합된다. 하나의 그러한 실시예에서, FSM(523)은 카운터 유닛(520)에 의해 그러한 주파수 카운팅을 선택적으로 인에이블 또는 디스에이블하는 신호(534)를 카운터 유닛(520)에게 더 제공한다.
신호들(521, 522)에 기초하여, FSM(523)은 - 미리 결정된 하나 이상의 기준에 따라 - 신호(519)의 제1 주파수가 클록 신호 clkr의 제2 주파수와 일치하는지 또는 그렇지 않으면 충분히 가까운지(예를 들어, 어떤 임계 최대 허용가능 주파수 차이 내에 있는지)를 검출한다. 예를 들어, FSM(523)은 제1 및 제2 주파수들 사이의 차이가 제2 주파수의 10% 미만 - 예를 들어, 5% 미만, 및 일부 실시예들에서는, 2% 미만 - 인지를 결정하는데, 일부 실시예들은 이와 관련하여 제한되지 않는다. 신호(519)와 클록 신호 clkr 사이의 주파수 불일치가 과도한 것으로 결정되는 경우, FSM(523)은 (발진기(530) 또는 링 발진기(510) 중 하나와 같은) 발진기 회로의 튜닝을 변경하기 위해 - 예를 들어, 상기 링 발진기의 드라이버 회로의 풀다운 강도, 풀업 강도 및/또는 다른 특성들을 증가시키거나 또는 대안적으로 감소시키기 위해 - 하나 이상의 신호를 업데이트하거나 또는 다른 방식으로 제공한다.
제한이 아닌 예시로서, FSM(523)은 그러한 드라이버 회로의 제1 트랜지스터들(예를 들어, PMOS 트랜지스터들을 포함함)의 선택적 활용을 결정하기 위해 하나 이상의 신호(예를 들어, 도시된 예시적인 신호(524)를 포함함)를 생성한다. 하나의 그러한 실시예에서, FSM(523)은 그러한 드라이버 회로의 제2 트랜지스터들(예를 들어, NMOS 트랜지스터들을 포함함)의 선택적 활용을 결정하기 위해 하나 이상의 추가적인 또는 대안적인 신호(예를 들어, 도시된 예시적인 신호(525)를 포함함)를 생성한다. 도시된 예시적인 실시예에서, FSM(523)은 튜닝을 위해 신호(531) 또는 링 발진기(510) 중 하나를 선택하기 위한 신호(526)를 추가로 생성한다. 예를 들어, 국부 튜닝 페이즈 동안, FSM(523)은 신호(526)를 제1 값으로 설정하는데 이는 게이트 회로(GC)(527)가 발진기(530)에게 신호(524) 및 신호(525)를 (제각기) 나타내는 신호(528) 및 신호(529)를 전송할 수 있게 한다.
대조적으로, 다이-투-다이 튜닝 페이즈 동안, FSM(523)은 신호(526)를 제2 값으로 설정하는데 이는 게이트 회로(527)를 디스에이블하지만, 대신에 게이트 회로(532)가 신호(524) 및 신호(525)를 다이(502)에 있는 링 발진기(510)의 지연 회로(511), 지연 회로(513) 및/또는 다른 이러한 드라이버 회로들에 전송할 수 있게 한다. 다양한 실시예들에서, 이러한 다이-투-다이 튜닝 페이즈 동안, FSM(523)은 다이(504)에 있는 링 발진기(510)의 하나 이상의 드라이버 회로의 구성을 선택적으로 결정하기 위해 하나 이상의 다른 신호를 추가로 제공한다. 제한이 아닌 예시로서, FSM(523)은 지연 회로(512) 및/또는 지연 회로(514)의 제1 트랜지스터들(예를 들어, PMOS 트랜지스터들을 포함함)의 선택적 활용을 결정하기 위해 하나 이상의 신호(예를 들어, 도시된 예시적인 신호(535)를 포함함)를 생성한다. 하나의 이러한 실시예에서, FSM(523)은 지연 회로(512) 및/또는 지연 회로(514)의 제2 트랜지스터들(예를 들어, NMOS 트랜지스터들을 포함함)의 선택적 활용을 결정하기 위해 하나 이상의 추가적인 또는 대안적인 신호(예를 들어, 도시된 예시적인 신호(536)를 포함함)를 생성한다.
도시된 예시적인 실시예에서, 신호(535) 및 신호(536) 각각은 각자의 복수의 신호로서 구현된다 - 예컨대, 여기서 다이(502)의 직렬화기(538) 및 다이(504)의 탈직렬화기(deserializer)(588)는 지연 회로(512) 및 지연 회로(514)에 대한 신호(585), 및 신호(586)(제각기, 신호(535) 및 신호(536)를 나타냄)의 통신을 용이하게 한다-. 하나의 그러한 실시예에서, 신호(526)는 게이트 회로(537)에 의한 직렬화기(538)로의 신호들(535, 536)의 통신을 선택적으로 인에이블(또는 디스에이블)하기 위해 더 제공된다. 도시된 예시적인 실시예에서, FSM(523)은 FSM(523)에 의한 교정 동작들을 선택적으로 인에이블 또는 디스에이블하는 제어 신호 calen을 수신하도록 추가로 결합된다. 추가적으로 또는 대안적으로, FSM(523)은 일부 또는 모든 이러한 교정 동작들의 타이밍을 용이하게 하는 클록 신호 clkc를 수신한다.
다양한 실시예들에서, 다이(504)는 다이(502)의 것과 동일하거나, 그와 상반(reciprocal)되거나, 또는 다른 방식으로 대응하는 교정 기능성을 제공한다. 제한이 아닌 예시로서, 다이(504)는 멀티플렉서(516), 주파수 분주기(518), 카운터 유닛(520), FSM(523), 게이트 회로(527)에 (제각기) 기능적으로 대응하는 멀티플렉서(566), 주파수 분주기(568), 카운터 유닛(570), FSM(573), 게이트 회로(577)를 포함한다. 하나의 그러한 실시예에서, 신호들(567, 569, 571, 572, 574, 575, 576, 578, 579, 581, 583, 584) - 멀티플렉서(566), 주파수 분주기(568), 카운터 유닛(570), FSM(573), 게이트 회로(577)와 다양하게 통신됨 - 은 신호들(517, 519, 521, 522, 524, 525, 526, 528, 529, 531, 533, 534)에 (제각기) 기능적으로 대응한다.
일부 실시예들은 송신기 회로를 교정하기 위한 정보를 결정하기 위한 동작들의 적어도 2개의 스테이지 - 예를 들어, 국부 발진기 튜닝 스테이지, 및 공유형 발진기 튜닝 스테이지 - 를 다양하게 포함한다. 예를 들어, 이러한 국부 튜닝은 동작들(402)의 일부 또는 전부를 포함한다 - 예를 들어, 여기서 공유형 발진기 튜닝은 동작들(404)의 일부 또는 전부를 포함한다.
제한이 아닌 예시로서, 국부 발진기 튜닝 스테이지는 기준 클록 신호 clkr의 주파수에서 또는 충분히 그 근처에서 발진하도록 발진기(530)(및/또는 예를 들어, 발진기(580))를 튜닝하는 것이다. 일 실시예에 따른 예시적인 시나리오에서, 다이(502)에서의 국부 튜닝은 FSM(523)이 멀티플렉서(516)에게 신호(517)로서의 통신을 위해 신호(531)를 선택하도록 시그널링함으로써 수행된다. 더욱이, FSM(523)은 (신호(526)를 사용하여) 게이트 회로(527)가 (신호들(528, 529)에 의해) 발진기(530)의 하나 이상의 동작적 설정을 선택적으로 제공하도록 인에이블하는 한편, 예를 들어, 게이트 회로(532)가 유사하게 신호들(524, 525)을 지연 회로들(511, 513)에 제공하는 것을 디스에이블한다. 카운터 유닛(520)이, 신호들(521, 522)을 통해, 발진기(530)가 clkr의 기준 주파수로 충분히 튜닝되었다는 것을 FSM(523)에 표시할 때, 신호들(528, 529)을 통해 발진기(530)에 가장 최근에 표시된 교정 코드들은 공유형 발진기 튜닝 페이즈에서 사용될 초기 (예를 들어, 디폴트) 교정 코드들로서 FSM(523)에 의해 저장된다.
추가적으로 또는 대안적으로, 다이(504)에서의 국부 튜닝은 FSM(573)이 신호(567)로서의 통신을 위해 신호(581)를 선택하도록 멀티플렉서(566)에게 시그널링하는 것을 포함한다. 또한, FSM(573)은 (신호(576)를 이용하여) 게이트 회로(577)가 (신호들(578, 579)에 의해) 발진기(580)의 하나 이상의 동작적 설정을 선택적으로 제공하도록 인에이블한다. 카운터 유닛(570)이, 신호들(571, 572)을 통해, 발진기(580)가 clkr의 기준 주파수로 충분히 튜닝되었다는 것을 FSM(573)에 표시할 때, 신호들(578, 579)을 통해 발진기(580)에 가장 최근에 표시된 교정 코드들은 공유형 발진기 튜닝 페이즈에서 사용될 다른 초기 (예를 들어, 디폴트) 교정 코드들로서 사용하기 위해 FSM(573)으로부터 FSM(523)으로의 또 다른 통신(도시되지 않음)에서 제공된다.
국부 발진기 튜닝 페이즈가 완료된 후, 링 발진기(510)의 튜닝이 수행되어 다이들(502, 504) 사이의 추가적인 임피던스(들) - 예를 들어, 인터커넥트들(506)의 커패시턴스들 및/또는 다른 임피던스들을 포함함 - 를 처리한다. 예시적인 실시예에서, 링 발진기(510)의 튜닝은 튜닝형 발진기(530)에 대해 결정된 제1 교정 코드들 및 튜닝형 발진기(580)에 대해 결정된 제2 교정 코드들에 기초하는 링 발진기(510)의 초기 동작적 설정으로부터 시작된다. 예를 들어, 지연 회로들(511, 513)은 제1 교정 코드들에 기초하여 구성되고, 지연 회로들(512, 514)은 제2 교정 코드들에 기초하여 구성되는데, 일부 실시예들은 이와 관련하여 한정되지는 않는다. 전형적으로, 인터커넥트들(506)로 인한 임피던스들(및/또는 다이들(502, 504) 사이의 다른 임피던스들)은 예를 들어, 링 발진기(510)의 초기 동작적 설정을 제공한 후에도, clkr의 기준 주파수보다 낮은 링 발진기(510)의 발진 주파수에 기여할 것이다.
일 실시예에 따른 예시적인 시나리오에서, 링 발진기(510)의 튜닝은 FSM(523)이 신호(517)로서의 통신을 위해 신호(515)를 선택하도록 멀티플렉서(516)에게 시그널링하는 것을 포함한다. 더욱이, FSM(523)은 (신호(526)를 사용하여) 게이트 회로(532)가 (신호들(524, 524)에 의해) 지연 회로들(511, 513)의 하나 이상의 동작적 설정을 선택적으로 제공하도록 인에이블하는 한편, 예를 들어, 게이트 회로(527)가 발진기(530)의 지연 회로를 유사하게 설정하는 것을 디스에이블한다. 유사하게, FSM(523)은 지연 회로들(512, 514)에 대한 통신 코드들을 제공하는데, 예를 들어, 여기서 상기 교정 코드들은 도시된 예시적인 신호들(535) 및 신호들(536)로서 출력되고, 게이트 회로(537), 직렬화기(538) 및 탈직렬화기(588)를 통해 포워딩되고, 신호들(585) 및 신호들(586)을 통해 제공된다.
지연 회로들(511-514)에 대한 각자의 교정 코드들은 신호들(521, 522)이 신호(515)의 각자의 주파수들과 clkr 사이의 불일치를 나타내는지에 기초하여 (필요에 따라) 연속적으로 업데이트된다. 제한이 아닌 예시로서, 링 발진기(510)의 튜닝은 교호하는 방식으로 행해진다 - 예를 들어, 여기서 지연 회로들(511, 513)만을 위한 교정 코드들이 조절되고, 이어서 신호(515)의 주파수가 clkr의 주파수와 비교되는 것이 따라온다. 그러한 주파수 비교에 기초하여, 지연 회로들(512, 514)만을 위한 교정 코드들이 (필요에 따라) 조절되고, 이어서 신호(515)의 주파수가 clkr의 주파수와 다시 비교되는 것이 따라온다. 이러한 대안적인 튜닝 및 평가는 다양한 실시예들에서 1회 이상 수행된다.
카운터 유닛(520)이, 신호들(521, 522)을 통해, 링 발진기(510)가 clkr의 기준 주파수로 충분히 튜닝되었음을 FSM(523)에 표시할 때, 신호들(524, 525, 535, 536)을 사용하여 발진기(510)에 가장 최근에 표시된 교정 코드들의 일부 또는 전부는 다이(502)의 교정 송신기 회로(도시되지 않음)에 사용될 교정 정보로서, 예를 들어, 도시된 예시적인 제어 신호 cal_dn1와 함께 FSM(523)에 의해 제공된다. 추가적으로 또는 대안적으로, 가장 최근에 표시된 교정 코드들의 일부 또는 전부는, 예를 들어, 도시된 예시적인 제어 신호 cal_dn2와 함께 다이(504)의 다른 송신기 회로를 교정하는데 사용하기 위해 FSM(573)에 대한 또 다른 통신(도시되지 않음)에서 FSM(523)에 의해 제공된다. 일부 실시예들에서, 다이(502)의 송신기 회로 및/또는 다이(504)의 송신기 회로는 튜닝형 링 발진기(510)의 주파수에서 동작하도록 교정될 것이다.
도 6a는 실시예에 따른 집적 회로 다이들 사이의 임피던스의 검출을 용이하게 하는 지연 회로(600)의 특징들을 도시한다. 지연 회로(600)는 링 발진기 회로의 회로가 송신 드라이버의 교정을 결정하는데 사용하기 위한 동작적 설정을 결정하기 위해 - 예를 들어, 기준 클록 신호에 기초하여 - 튜닝 가능한 실시예를 예시한다. 예를 들어, 지연 회로(600)는 지연 회로들(132a, 132n, 315, 365, 511, 512, 513, 514) 중 하나의 지연 회로의 것과 같은 기능성을 제공한다 - 예를 들어, 여기서 방법(200) 및/또는 방법(400)은 지연 회로(600)의 동작에 기초하여 수행된다.
도 6a에 도시된 바와 같이, 지연 회로(600)는 차동 신호 쌍의 각자의 입력 신호들(in, inb)을 수신하도록 각각 결합된 인버터 회로들(611, 612)을 포함한다. 지연 회로(600)는 인버터 회로들(611, 612)의 각자의 출력들(outb, out) 사이에 다양하게 교차 결합되는 인버터 회로들(613, 614)을 추가로 포함한다 - 예를 들어, 여기서 출력들(outb, out)은 마이크로범프들(μBumps)(615, 616)(또는 다이의 IO 하드웨어 인터페이스의 다른 적절한 전도성 콘택트들)에 제공된다.
일부 실시예들이 이와 관련하여 제한되지는 않지만, 인버터 회로들(611, 612) 각각은 실시예에 따라 교정될 하나 이상의 송신 드라이버 회로와 동일한 드라이버 회로 유형의 것이다. 예를 들어, 본 명세서에 설명된 바와 같이, 인버터 회로들(611, 612) 중 주어진 인버터 회로는 CMOS 인버터 회로, 및 드라이버의 3-상태(tri-state) 특성들을 용이하게 하기 위한 프리 드라이버 기능성(pre-driver functionality)을 제공하는 - 예를 들어, NAND 게이트 및 NOR 게이트를 포함하는 - 부울 로직 게이트들의 조합을 포함한다. 하나의 그러한 실시예에서, 교차 결합된 인버터 회로들(613, 614)은 유사한 회로 유형의 것인데, 그러나 여기서 (예를 들어) 인버터 회로들(613, 614)은 지연 회로(600)를 포함하는 링 발진기에 의해 신호 발진을 지속하기 위한 바크하우젠 안정성 기준(Barkhausen stability criterion)을 충족시키도록 크기가 정해진다.
본 명세서에 설명된 바와 같이, 하나 이상의 제어 신호(도시되지 않음)가 인버터 회로들(611-614)의 하나 이상의 동작적 설정을 구성하도록 결합된다. 제한이 아닌 예시로서, 지연 회로(600)의 주어진 인버터 회로는, 예를 들어, 상기 인버터 회로의 풀업 강도를 선택적으로 결정하게 될 제어 시그널링(pdrvsel)을 수신하도록 결합된다. 대안으로서 또는 추가로, 그러한 인버터 회로는, 예를 들어, 그 인버터 회로의 풀다운 강도를 선택적으로 결정하게 될 제어 시그널링(ndrvselb)을 수신하도록 결합된다.
도 6b는 실시예에 따른 집적 회로 다이들 사이의 임피던스의 검출을 용이하게 하는 드라이버 회로(650)의 특징들을 도시한다. 드라이버 회로(650)는 링 발진기 내의 지연 셀의 것과 같은 구성가능한 드라이버 회로의 일 예를 예시하며, 예를 들어, 여기서 방법(200) 또는 방법(400)의 하나 이상의 동작은 드라이버 회로(650)의 동작에 기초하여 수행된다. 예를 들어, 드라이버 회로(650)는 드라이버 회로가 교정될 송신 드라이버 회로와 동일한 회로 유형의 것이고 - 따라서, 이것을 모델링하는 역할을 하는 - 실시예의 특징들을 예시한다. 하나의 그러한 실시예에서, 지연 회로들(132a, 132n, 315, 365, 511, 512, 513, 514) 중 하나의 지연 회로가 드라이버 회로(650)를 포함하며, 예를 들어, 여기서 드라이버 회로(650)는 인버터 회로들(611-614) 중 하나의 인버터 회로의 기능성을 제공한다.
도 6b에 도시된 바와 같이, 드라이버 회로(650)는 PMOS 트랜지스터 MP1, 및 NMOS 트랜지스터 MN1을 포함하며, 이들의 각자의 게이트 단자들은 각각 입력 신호를 수신하도록 결합된다. 트랜지스터들 MP1, MN1은 노드(670)를 통해 직렬 배열로 서로 결합된다. 다양한 동작적 설정들 중 임의의 것을 제공하기 위해, 드라이버 회로(650)는 (N+1)개의 회로 블록(여기서 N은 양의 정수임) - 이 예에서, 도시된 예시적인 회로 블록들(660, 661, 662)을 포함함 - 을 추가로 포함하며, 이들은 노드(670)와 출력 노드(672) 사이에서 서로 병렬로 결합된다.
드라이버 회로(650)의 (N+1)개의 회로 블록 각각은 회로 블록(660)에 대해 도시된 것과 같은 유사한 회로 아키텍처를 갖는다. 예를 들어, 각각의 그러한 회로 블록은 노드(672)를 통해 서로 결합되는 또 다른 PMOS 트랜지스터, 및 또 다른 NMOS 트랜지스터(예를 들어, 회로 블록(660)의 트랜지스터들(MP2, MN2))의 각자의 직렬 배열을 포함한다. 트랜지스터 MP2는 NAND 게이트(620)(그 출력은 노드(670)에서의 전압에 기초함)에 의해 선택적으로 동작된다. 유사하게, 트랜지스터 MN2는 NOR 게이트(622)(그 출력은 노드(670)에서의 전압에 기초함)에 의해 선택적으로 동작된다.
다양한 실시예들에서, 드라이버 회로(650)의 주어진 동작적 설정은 도시된 예시적인 (N+1) 비트 제어 신호들 pdrvsel[N:0]) 및 (N+1) 비트 제어 신호들 ndrvselb[N:0]과 같은 하나 이상의 제어 신호에 기초하여 제공된다. 제어 신호들 pdrvsel[N:0]은 (N+1)개의 회로 블록의 각자의 트랜지스터들 MP2 트랜지스터들 중 선택된 하나 이상의 트랜지스터의 활용을 결정한다. 제한이 아닌 예시로서, 회로 블록(660)의 NAND 게이트(620)는 pdrvsel[N:0]의 1 비트 신호를 수신하고, 여기서 다른(N+1)개의 회로 블록의 대응하는 NAND 게이트들(도시되지 않음)은 각각 pdrvsel[N:0]의 다른 N개의 신호 중 상이한 각자의 신호를 수신한다.
유사하게, 제어 신호들 ndrvselb[N:0]은 (N+1)개의 회로 블록의 각자의 트랜지스터들 MN2 트랜지스터들 중 선택된 하나 이상의 트랜지스터의 활용을 결정한다. 예를 들어, 회로 블록(660)의 NOR 게이트(622)는 ndrvselb[N:0]의 1 비트 신호를 수신하는데, 여기서 다른 (N+1)개의 회로 블록의 대응하는 NOR 게이트들(도시되지 않음)은 각각 ndrvselb[N:0]의 다른 N개의 신호 중 상이한 각자의 신호를 수신한다. 하나의 그러한 실시예에서, pdrvsel[N:0]은 신호들(524, 528, 535, 585, 574, 578) 중 하나에 기능적으로 대응하며, 예를 들어, 여기서 ndrvselb[N:0]은 신호들(525, 529, 536, 586, 575, 579) 중 하나에 기능적으로 대응한다.
도 7은 실시예에 따른 집적 회로 다이들 사이의 임피던스의 검출을 용이하게 하는 링 발진기 회로(700)의 특징들을 도시한다. 링 발진기 회로(700)는, 실시예에 따라, IC 다이들 사이의 데이터 통신에 사용되는 송신 드라이버의 동작적 설정을 적어도 부분적으로 결정하게 될 교정 정보를 생성하기 위해 사용되는 발진기의 일 예를 예시한다. 예를 들어, 링 발진기 회로(700)는 방법(200) 및/또는 방법(400)에 따라 교정 정보를 생성하기 위해 사용된다.
다양한 실시예들에서, 링 발진기 회로(700)에는 하나의 IC 다이 전체가 제공되며, 예를 들어, 여기서 발진기들(330, 380, 530, 580) 중 하나 이상의 발진기가 링 발진기 회로(700)의 특징들을 갖는다. 다른 실시예들에서, 링 발진기 회로(700)는 다중의 IC 다이에 걸쳐 있는데, 예를 들어, 여기서 링 발진기(350) 또는 링 발진기(510)는 링 발진기 회로(700)의 특징들을 갖는다.
도 7에 도시된 바와 같이, 링 발진기 회로(700)는 (예를 들어, 도시된 예시적인 지연 회로들(710, 720, 730, 740)을 포함하는) 지연 회로들의 직렬 배열을 포함한다. 하나의 예시적인 실시예에서, 지연 회로들(710, 720, 730, 740)은 예를 들어, 하나 이상의 지연 회로(314) 및/또는 하나 이상의 지연 회로(364)를 포함한다. 또 다른 예시적인 실시예에서, 지연 회로들(710, 720, 730, 740)은 지연 회로들(511-514)을 포함한다.
지연 회로들(710, 720, 730, 740) 각각은 각자의 차동 신호 쌍을 직렬 배열 내의 대응하는 다음 지연 회로에 제공한다. 예를 들어, 지연 회로(710)는 지연 회로(720)에 차동 신호 쌍(711, 712)을 제공하며, 차동 신호 쌍(711, 712)은 차동 신호 쌍(721, 722)을 생성하기 위해 사용되며, 다음 차례로 지연 회로(720)는 지연 회로(730)에 차동 신호 쌍(721, 722)을 제공한다. 차동 신호 쌍(721, 722)에 기초하여, 지연 회로(730)는 또 다른 차동 신호 쌍(731, 732)을 생성하고, 또 다른 차동 신호 쌍(731, 732)에 의해 지연 회로(740)는 후속하여 또 다른 차동 신호 쌍(741, 742)을 생성한다. 신호들(741, 742)은 지연 회로(710)에의 피드백으로서 제공되는데, 이는 - 예를 들어, 펄스들 및/또는 다른 적절한 입력 신호들이 지연 회로(710)에서 링 발진기 회로(700)에 제공되는 것에 기초하여 - 링 발진기 회로(700)에 의한 신호 발진에 기여한다. 다른 실시예들에서, 링 발진기의 지연 회로들은 (예를 들어, 차동 신호 쌍들이 아니라) 각자의 단일 종단 신호들 각각을 인접한 지연 셀들의 쌍 사이에서 대안적으로 통신한다.
일부 실시예들은 지연 회로들(710, 720, 730, 740) 중 하나 이상의 지연 회로가 각자의 차동 신호 쌍을 그에 의해 생성하게 될 다양한 동작적 설정들 중 임의의 것을 다양하게 제공한다. 예를 들어, 링 발진기 회로(700)의 주어진 지연 회로는 다양한 레벨들의 드라이버 강도 중 임의의 것을 제공하고, 및/또는 다양한 전파 지연들 중 임의의 것을 나타내도록 구성 가능한(예를 들어, 재구성 가능한) 하나 이상의 드라이버 회로를 포함한다. 링 발진기 회로(700)의 동작적 설정은 도시된 예시적인 (N+1) 비트 제어 신호들 pdrvsel[N:0] 및 ndrvselb[N:0])(여기서 N은 양의 정수임)과 같은 하나 이상의 제어 신호에 기초하여 구성된다.
제한이 아닌 예시로서, (N+1) 비트 제어 신호 pdrvsel[N:0])은 링 발진기 회로(700)의 PMOS 트랜지스터들의 선택적 활용을 결정하며, 예를 들어, 여기서 pdrvsel[N:0]은 도 6b에 도시된 (N+1) 비트 제어 신호 pdrvsel[N:0])에 (또는 예를 들어, 신호들(524, 528, 535, 585, 574, 578) 중 하나에) 기능적으로 대응한다. 대안적으로 또는 추가적으로, (N+1) 비트 제어 신호 ndrvselb[N:0]은 링 발진기 회로(700)의 NMOS 트랜지스터들의 선택적 활용을 결정하며, 예를 들어, 여기서 ndrvselb[N:0]는 도 6b에 도시된 (N+1) 비트 제어 신호 ndrvselb[N:0]에 (또는 예를 들어, 신호들(525, 529, 536, 586, 575, 579) 중 하나에) 기능적으로 대응한다. 예를 들어, 지연 회로들(710, 720, 730, 740)의 일부 또는 전부는 각각 드라이버 회로(650)의 것과 동일한 드라이버 회로 유형의 것인 각자의 하나 이상의 드라이버 회로를 포함하며, 예를 들어, 여기서 지연 회로들(710, 720, 730, 740) 각각은 지연 회로(610)의 특징들을 갖는다.
도 8은 일부 실시예들에 따른 교정 정보가 공유형 발진기 회로의 튜닝에 기초하여 결정되는 컴퓨터 시스템 또는 컴퓨팅 디바이스(800)(디바이스(800)라고도 지칭함)를 예시한다. 임의의 다른 도면의 요소들과 동일한 참조 번호들(또는 명칭들)을 갖는 도 8의 요소들은 설명된 방식과 유사한 임의의 방식으로 동작하거나 기능할 수 있지만, 이것에만 제한되지는 않는다는 점을 지적해 둔다.
일부 실시예들에서, 디바이스(800)는 컴퓨팅 태블릿, 모바일 폰 또는 스마트 폰, 랩톱, 데스크톱, 사물 인터넷(Internet-of-Things, IOT) 디바이스, 서버, 웨어러블 디바이스, 셋톱 박스, 무선 가능 이-리더(wireless-enabled e-reader) 등과 같은 적절한 컴퓨팅 디바이스를 대표한다. 특정 컴포넌트들이 일반적으로 도시되고, 이러한 디바이스의 모든 컴포넌트들이 디바이스(800)에 도시되는 것은 아니라는 점이 이해될 것이다.
예에서, 디바이스(800)는 SoC(System-on-Chip)(801)를 포함한다. SOC(801)의 예시적인 경계는 도 8에서 점선들을 사용하여 예시되며, 일부 예시적인 컴포넌트들이 SOC(801) 내에 포함되는 것으로 예시되지만, SOC(801)는 디바이스(800)의 임의의 적절한 컴포넌트들을 포함할 수 있다.
일부 실시예들에서, 디바이스(800)는 프로세서(804)를 포함한다. 프로세서(2110)는 마이크로프로세서들, 애플리케이션 프로세서들, 마이크로컨트롤러들, 프로그래머블 로직 디바이스들, 처리 코어들, 또는 다른 처리 수단과 같은 하나 이상의 물리적 디바이스를 포함할 수 있다. 프로세서(804)에 의해 수행되는 처리 동작들은 애플리케이션 및/또는 디바이스 기능이 실행되는 동작 플랫폼 또는 운영체제의 실행을 포함한다. 처리 동작들은 인간 사용자와의 또는 다른 디바이스들과의 I/O(입력/출력)에 관련된 동작들, 전력 관리에 관련된 동작들, 컴퓨팅 디바이스(800)를 또 다른 디바이스에 접속하는 것에 관련된 동작들, 및/또는 그와 유사한 것을 포함한다. 처리 동작들은 또한 오디오 I/O 및/또는 디스플레이 I/O에 관련된 동작들을 포함할 수 있다.
일부 실시예들에서, 프로세서(804)는 다중의 처리 코어(코어들이라고도 지칭됨)(808a, 808b, 808c)를 포함한다. 단지 3개의 코어(808a, 808b, 808c)가 도 8에 예시되어 있지만, 프로세서(804)는 임의의 다른 적절한 수의 처리 코어, 예를 들어, 수십 또는 심지어 수백개의 처리 코어를 포함할 수 있다. 프로세서 코어들(808a, 808b, 808c)은 단일 집적 회로(IC) 칩 상에 구현될 수 있다. 더욱이, 칩은 하나 이상의 공유 및/또는 전용 캐시, 버스 또는 인터커넥션, 그래픽 및/또는 메모리 컨트롤러, 또는 다른 컴포넌트를 포함할 수 있다.
일부 실시예들에서, 프로세서(804)는 캐시(806)를 포함한다. 예에서, 캐시(806)의 섹션들은 개별 코어들(808)에 전용될 수 있다(예컨대, 캐시(806)의 제1 섹션은 코어(808a)에 전용되고, 캐시(806)의 제2 섹션은 코어(808b)에 전용되며, 이하 마찬가지임). 예에서, 캐시(806)의 하나 이상의 섹션은 코어들(808) 중 2개 이상 중에서 공유될 수 있다. 캐시(806)는 상이한 레벨들, 예를 들어, 레벨 1(L1) 캐시, 레벨 2(L2) 캐시, 레벨 3(L3) 캐시 등으로 스플릿될 수 있다.
일부 실시예들에서, 주어진 프로세서 코어(예를 들어, 코어(808a))는 코어(808a)에 의한 실행을 위해 명령어들(조건부 분기들을 갖는 명령어들을 포함함)을 페치하는 페치 유닛을 포함할 수 있다. 명령어들은 메모리(830)와 같은 임의의 저장 디바이스들로부터 페치될 수 있다. 프로세서 코어(808a)는 페치된 명령어를 디코딩하는 디코드 유닛을 또한 포함할 수 있다. 예를 들어, 디코드 유닛은 페치된 명령어를 복수의 마이크로-연산(micro-operation)이 되도록 디코딩할 수 있다. 프로세서 코어(808a)는 디코딩된 명령어들을 저장하는 것과 연관된 다양한 연산들을 수행하는 스케줄 유닛을 포함할 수 있다. 예를 들어, 스케줄 유닛은, 명령어들이 디스패치(dispatch)될 준비가 될 때까지, 예를 들어, 디코딩된 명령어의 모든 소스 값들이 이용가능해질 때까지, 디코드 유닛으로부터의 데이터를 유지할 수 있다. 일 실시예에서, 스케줄 유닛은 실행을 위해 실행 유닛에게 디코딩된 명령어들을 스케줄링 및/또는 발행(또는 디스패치)할 수 있다.
실행 유닛은, 그것들이 (예를 들어, 디코드 유닛에 의해) 디코딩 및 (예를 들어, 스케줄 유닛에 의해) 디스패치된 후에 디스패치된 명령어들을 실행할 수 있다. 실시예에서, 실행 유닛은 하나보다 많은 실행 유닛(예컨대, 촬상 계산 유닛, 그래픽 계산 유닛, 범용 계산 유닛 등)을 포함할 수 있다. 실행 유닛은 또한 덧셈, 뺄셈, 곱셈, 및/또는 나눗셈과 같은 다양한 산술 연산들을 수행할 수 있고, 하나 이상의 ALU(arithmetic logic unit)을 포함할 수 있다. 실시예에서, 코-프로세서(도시되지 않음)가 실행 유닛과 연계하여 다양한 산술 연산들을 수행할 수 있다.
또한, 실행 유닛은 명령어들을 비순차적으로 실행할 수 있다. 따라서, 프로세서 코어(808a)(예를 들어)는 일 실시예에서 비순차적 프로세서 코어일 수 있다. 프로세서 코어(808a)는 또한 리타이어먼트 유닛을 포함할 수 있다. 리타이어먼트 유닛은 실행된 명령어들이 커밋(commit)된 후에 실행된 명령어들을 리타이어(retire)할 수 있다. 실시예에서, 실행된 명령어들의 리타이어먼트는 결과적으로 프로세서 상태가 명령어들의 실행으로부터 커밋되는 것을 야기하고, 명령어들에 의해 사용된 물리적 레지스터들이 할당 해제되는(de-allocated) 것을 야기하고, 등이다. 프로세서 코어(808a)는 또한 하나 이상의 버스를 통해 프로세서 코어(808a)의 컴포넌트들과 다른 컴포넌트들 사이의 통신을 가능하게 하는 버스 유닛을 포함할 수 있다. 프로세서 코어(808a)는 (할당된 앱 우선순위들 및/또는 서브시스템 상태들(모드들) 연관과 관련된 값들과 같은) 코어(808a)의 다양한 컴포넌트들에 의해 액세스되는 데이터를 저장하기 위한 하나 이상의 레지스터를 또한 포함할 수 있다.
일부 실시예들에서, 디바이스(800)는 접속 회로들(831)을 포함한다. 예를 들어, 접속 회로들(831)은, 예를 들어, 디바이스(800)가 외부 디바이스들과 통신할 수 있게 하기 위해 하드웨어 디바이스들(예를 들어, 무선 및/또는 유선 커넥터들 및 통신 하드웨어) 및/또는 소프트웨어 컴포넌트들(예를 들어, 드라이버들, 프로토콜 스택들)을 포함한다. 디바이스(800)는 다른 컴퓨팅 디바이스들, 무선 액세스 포인트들 또는 기지국들 등과 같은 외부 디바이스들로부터 분리될 수 있다.
예에서, 접속 회로들(831)은 다중의 상이한 유형들의 접속을 포함할 수 있다. 일반화하기 위해, 접속 회로들(831)은 셀룰러 접속 회로들, 무선 접속 회로들 등을 포함할 수 있다. 접속 회로들(831)의 셀룰러 접속 회로들은 GSM(global system for mobile communications) 또는 변형들 또는 파생물들, CDMA(code division multiple access) 또는 변형들 또는 파생물들, TDM(time division multiplexing) 또는 변형들 또는 파생물들, 3GPP(3rd Generation Partnership Project) UMTS(Universal Mobile Telecommunications Systems) 시스템 또는 변형들 또는 파생물들, 3GPP LTE(Long-Term Evolution) 시스템 또는 변형들 또는 파생물들, 3GPP LTE-A(LTE-Advanced) 시스템 또는 변형들 또는 파생물들, 5G(Fifth Generation) 무선 시스템 또는 변형들 또는 파생물들, 5G 모바일 네트워크 시스템 또는 변형들 또는 파생물들, 5G NR(New Radio) 시스템 또는 변형들 또는 파생물들, 또는 다른 셀룰러 서비스 표준들을 통해 제공되는 바와 같은, 무선 캐리어들에 의해 제공되는 셀룰러 네트워크 접속(cellular network connectivity)을 일반적으로 지칭한다. 접속 회로들(831)의 무선 접속 회로들(또는 무선 인터페이스)은 셀룰러가 아닌 무선 접속을 지칭하고, 개인 영역 네트워크들(예컨대, 블루투스, 근접장(Near Field) 등), 로컬 영역 네트워크들(예컨대, Wi-Fi), 및/또는 광역 네트워크들(예컨대, WiMax), 및/또는 다른 무선 통신을 포함할 수 있다. 예에서, 접속 회로들(831)은 유선 또는 무선 인터페이스와 같은 네트워크 인터페이스를 포함할 수 있어서, 예를 들어, 시스템 실시예가 무선 디바이스, 예를 들어, 셀 폰 또는 개인용 디지털 보조기기 내로 통합될 수 있도록 한다.
일부 실시예들에서, 디바이스(800)는 하나 이상의 I/O 디바이스와의 상호작용에 관련된 하드웨어 디바이스들 및/또는 소프트웨어 컴포넌트들을 나타내는 제어 허브(832)를 포함한다. 예를 들어, 프로세서(804)는 제어 허브(832)를 통해 디스플레이(822), 하나 이상의 주변 디바이스(824), 저장 디바이스(828), 하나 이상의 다른 외부 디바이스(829) 등 중 하나 이상과 통신할 수 있다. 제어 허브(832)는 칩셋, PCH(Platform Control Hub), 및/또는 이와 유사한 것일 수 있다.
예를 들어, 제어 허브(832)는, 예를 들어, 사용자가 그를 통해 시스템과 상호작용할 수 있는, 디바이스(800)에 접속되는 추가 디바이스들에 대한 하나 이상의 접속 포인트를 예시한다. 예를 들어, 디바이스(800)에 소속될 수 있는 디바이스들(예를 들어, 디바이스들(829))은 마이크로폰 디바이스들, 스피커 또는 스테레오 시스템들, 오디오 디바이스들, 비디오 시스템들 또는 다른 디스플레이 디바이스들, 키보드 또는 키패드 디바이스들, 또는 카드 판독기들 또는 다른 디바이스들과 같은 특정 애플리케이션들과 함께 사용하기 위한 다른 I/O 디바이스들을 포함한다.
앞서 언급한 바와 같이, 제어 허브(832)는 오디오 디바이스들, 디스플레이(822) 등과 상호작용할 수 있다. 예를 들어, 마이크로폰 또는 다른 오디오 디바이스를 통한 입력은 디바이스(800)의 하나 이상의 애플리케이션 또는 기능들에 대한 입력 또는 커맨드들을 제공할 수 있다. 부가적으로, 오디오 출력이 디스플레이 출력 대신에 또는 그에 부가하여 제공될 수 있다. 또 다른 예에서, 디스플레이(822)가 터치 스크린을 포함하는 경우, 디스플레이(822)는 또한 제어 허브(832)에 의해 적어도 부분적으로 관리될 수 있는 입력 디바이스로서 작용한다. 제어 허브(832)에 의해 관리되는 I/O 기능들을 제공하기 위한 추가적인 버튼들 또는 스위치들이 컴퓨팅 디바이스(800) 상에 또한 존재할 수 있다. 일 실시예에서, 제어 허브(832)는 가속도계들, 카메라들, 광 센서들 또는 다른 환경 센서들, 또는 디바이스(800)에 포함될 수 있는 다른 하드웨어와 같은 디바이스들을 관리한다. 입력은 직접 사용자 상호작용의 일부일 뿐만 아니라 시스템에 환경 입력을 제공하여 그 동작들(예를 들어, 잡음에 대한 필터링, 휘도 검출에 대한 디스플레이들의 조절, 카메라에 대한 플래시의 적용, 또는 다른 특징들)에 영향을 줄 수 있다.
일부 실시예들에서, 제어 허브(832)는 임의의 적절한 통신 프로토콜, 예를 들어, PCIe(Peripheral Component Interconnect Express), USB(Universal Serial Bus), 선더볼트(Thunderbolt), HDMI(High Definition Multimedia Interface), 파이어와이어(Firewire) 등을 사용하여 다양한 디바이스들에 결합될 수 있다.
일부 실시예들에서, 디스플레이(822)는 사용자가 디바이스(800)와 상호작용하기 위한 시각적 및/또는 촉각적 디스플레이를 제공하는 하드웨어(예를 들어, 디스플레이 디바이스들) 및 소프트웨어(예를 들어, 드라이버들) 컴포넌트들을 나타낸다. 디스플레이(822)는 디스플레이를 사용자에게 제공하기 위해 사용되는 디스플레이 인터페이스, 디스플레이 스크린, 및/또는 하드웨어 디바이스를 포함할 수 있다. 일부 실시예들에서, 디스플레이(822)는 사용자에게 출력과 입력 둘 다를 제공하는 터치 스크린(또는 터치 패드) 디바이스를 포함한다. 예에서, 디스플레이(822)는 프로세서(804)와 직접 통신할 수 있다. 디스플레이(822)는 모바일 전자 디바이스 또는 랩톱 디바이스에서와 같은 내부 디스플레이 디바이스, 또는 디스플레이 인터페이스(예를 들어, DisplayPort 등)를 통해 부착된 외부 디스플레이 디바이스 중 하나 이상일 수 있다. 일 실시예에서, 디스플레이(822)는 VR(virtual reality) 애플리케이션들 또는 AR(augmented reality) 애플리케이션들에서 사용하기 위한 입체 디스플레이 디바이스(stereoscopic display device)와 같은 헤드 HMD(head mounted display)일 수 있다.
일부 실시예들에서 그리고 도면에 예시되지는 않았지만, 프로세서(804)에 더하여(또는 그 대신에), 디바이스(800)는 디스플레이(822) 상에 콘텐츠를 디스플레이하는 하나 이상의 양태를 제어할 수 있는 하나 이상의 그래픽 처리 코어를 포함하는 GPU(Graphics Processing Unit)를 포함할 수 있다.
제어 허브(832)(또는 플랫폼 제어기 허브)는 하드웨어 인터페이스들 및 커넥터들뿐만 아니라, 예를 들어, 주변기기 디바이스들(824)에 대한 주변기기 접속들을 이루기 위한 소프트웨어 컴포넌트들(예를 들어, 드라이버들, 프로토콜 스택들)을 포함할 수 있다.
디바이스(800)가 다른 컴퓨팅 디바이스들에 대한 주변기기 디바이스일 수 있을 뿐만 아니라 그에 접속된 주변기기 디바이스들을 가질 수 있다는 점이 이해될 것이다. 디바이스(800)는 디바이스(800) 상의 콘텐츠를 관리(예를 들어, 다운로딩 및/또는 업로딩, 변경, 동기화)하는 것과 같은 목적을 위해 다른 컴퓨팅 디바이스들에 접속하기 위한 "도킹(docking)" 커넥터를 가질 수 있다. 추가로, 도킹 커넥터는, 컴퓨팅 디바이스(800)가, 예를 들어, 시청각 시스템 또는 다른 시스템들에 대한 콘텐츠 출력을 제어하도록 허용하는 특정 주변기기들에 디바이스(800)가 접속하도록 허용할 수 있다.
사유 도킹 커넥터 또는 다른 사유 접속 하드웨어에 더하여, 디바이스(800)는 공통 또는 표준 기반 커넥터들을 통해 주변기기 접속들을 이룰 수 있다. 흔한 타입은 (다수의 상이한 하드웨어 인터페이스 중 임의의 것을 포함할 수 있는) USB(Universal Serial Bus) 커넥터, MDP(MiniDisplayPort)를 포함한 DisplayPort, HDMI(High Definition Multimedia Interface), 파이어와이어(Firewire), 또는 기타의 타입을 포함할 수 있다.
일부 실시예들에서, 접속 회로들(831)은 예를 들어, 프로세서(804)에 직접 결합되는 것에 부가하여, 또는 그 대신에, 제어 허브(832)에 결합될 수 있다. 일부 실시예들에서, 디스플레이(822)는 예를 들어, 프로세서(804)에 직접 결합되는 것에 부가하여, 또는 그 대신에, 제어 허브(832)에 결합될 수 있다.
일부 실시예들에서, 디바이스(800)는 메모리 인터페이스(834)를 통해 프로세서(804)에 결합된 메모리(830)를 포함한다. 메모리(830)는 디바이스(800)에 정보를 저장하기 위한 메모리 디바이스들을 포함한다. 메모리는 비휘발성(메모리 디바이스에 대한 전력이 중단되는 경우에도 상태가 변경되지 않음) 및/또는 휘발성(메모리 디바이스에 대한 전력이 중단되는 경우에 상태가 정의되지 않음(indeterminate)) 메모리 디바이스들을 포함할 수 있다. 메모리 디바이스(830)는 DRAM(dynamic random access memory) 디바이스, SRAM(static random access memory) 디바이스, 플래시 메모리 디바이스, 상 변화 메모리 디바이스, 또는 프로세스 메모리로서 역할을 하기에 적합한 성능을 갖는 일부 다른 메모리 디바이스일 수 있다. 일 실시예에서, 메모리(830)는, 하나 이상의 프로세서(804)가 애플리케이션 또는 프로세스를 실행할 때 사용하기 위한 데이터 및 명령어들을 저장하기 위한, 디바이스(800)에 대한 시스템 메모리로서 동작할 수 있다. 메모리(830)는 애플리케이션 데이터, 사용자 데이터, 음악, 사진들, 문서들, 또는 다른 데이터뿐만 아니라 디바이스(800)의 애플리케이션들 및 기능들의 실행과 관련된 시스템 데이터(장기적이든지 또는 일시적이든지)를 저장할 수 있다.
다양한 실시예들 및 예들의 요소들은 또한 컴퓨터 실행가능 명령어들(예를 들어, 본 명세서에서 논의되는 임의의 다른 프로세스들을 구현하기 위한 명령어들)을 저장하기 위한 머신 판독가능 매체(예를 들어, 메모리(830))로서 제공된다. 머신 판독가능 매체(예를 들어, 메모리(830))는, 플래시 메모리, 광 디스크들, CD-ROM들, DVD ROM들, RAM들, EPROM들, EEPROM들, 자기 또는 광학 카드들, PCM(phase change memory), 또는 전자적 또는 컴퓨터 실행가능 명령어들을 저장하기에 적합한 다른 타입의 머신 판독가능 매체를 포함할 수 있지만, 이것에만 제한되는 것은 아니다. 예를 들어, 본 개시내용의 실시예들은 통신 링크(예를 들어, 모뎀, 또는 네트워크 접속)를 통하여 데이터 신호들에 의해 원격 컴퓨터(예를 들어, 서버)로부터 요청 컴퓨터(예를 들어, 클라이언트)에게 전송될 수 있는 컴퓨터 프로그램(예를 들어, BIOS)으로서 다운로딩될 수 있다.
일부 실시예들에서, 디바이스(800)는, 예를 들어, 디바이스(800)의 다양한 컴포넌트들의 온도를 측정하기 위한 온도 측정 회로들(840)을 포함한다. 예에서, 온도 측정 회로들(840)은 그 온도가 측정되고 모니터링되는 다양한 컴포넌트들에 내장되거나, 결합되거나 또는 부착될 수 있다. 예를 들어, 온도 측정 회로들(840)은 코어들(808a, 808b, 808c), 전압 레귤레이터(814), 메모리(830), SOC(801)의 마더 보드, 및/또는 디바이스(800)의 임의의 적절한 컴포넌트 중 하나 이상의 (또는 그 내의) 온도를 측정할 수 있다.
일부 실시예들에서, 디바이스(800)는, 예를 들어, 디바이스(800)의 하나 이상의 컴포넌트에 의해 소비되는 전력을 측정하기 위한 전력 측정 회로들(842)을 포함한다. 예에서, 전력을 측정하는 것에 부가하여 또는 그 대신에, 전력 측정 회로들(842)은 전압 및/또는 전류를 측정할 수 있다. 예에서, 전력 측정 회로들(842)은 전력, 전압, 및/또는 전류 소비가 측정되고 모니터링되는 다양한 컴포넌트들에 내장되거나, 결합되거나, 또는 부착될 수 있다. 예를 들어, 전력 측정 회로들(842)은 하나 이상의 전압 레귤레이터(814)에 의해 공급되는 전력, 전류 및/또는 전압, SOC(801)에 공급되는 전력, 디바이스(800)에 공급되는 전력, 디바이스(800)의 프로세서(804)(또는 임의의 다른 컴포넌트)에 의해 소비되는 전력 등을 측정할 수 있다.
일부 실시예들에서, 디바이스(800)는 일반적으로 전압 레귤레이터(voltage regulator, VR)(814)로 지칭되는 하나 이상의 전압 레귤레이터 회로를 포함한다. VR(814)은 디바이스(800)의 임의의 적절한 컴포넌트들을 동작시키기 위해 공급될 수 있는 적절한 전압 레벨들에서 신호들을 생성한다. 단지 예로서, VR(814)은 디바이스(800)의 프로세서(804)에 신호들을 공급하는 것으로 예시된다. 일부 실시예들에서, VR(814)은 하나 이상의 전압 식별(Voltage Identification, VID) 신호를 수신하고, VID 신호들에 기초하여 적절한 레벨들에서 전압 신호를 생성한다. 다양한 타입의 VR들이 VR(814)에 대해 활용될 수 있다. 예를 들어, VR(814)은 "벅(buck)" VR, "부스트(boost)" VR, 벅 및 부스트 VR들의 조합, LDO(low dropout) 레귤레이터들, 스위칭 DC-DC 레귤레이터들 등을 포함할 수 있다. 벅 VR은 1보다 작은 비율로 입력 전압이 출력 전압으로 변환될 필요가 있는 전력 전달 애플리케이션들(power delivery applications)에서 일반적으로 사용된다. 부스트 VR은 1보다 큰 비율로 입력 전압이 출력 전압으로 변환될 필요가 있는 전력 전달 애플리케이션들에서 일반적으로 사용된다. 일부 실시예들에서, 각각의 프로세서 코어는 PCU(810a/b) 및/또는 PMIC(812)에 의해 제어되는 그 자신의 VR을 갖는다. 일부 실시예들에서, 각각의 코어는 전력 관리를 위한 효율적인 제어를 제공하기 위해 분산된 LDO들의 네트워크를 갖는다. LDO들은 디지털, 아날로그, 또는 디지털 또는 아날로그 LDO들의 조합일 수 있다.
일부 실시예들에서, 디바이스(800)는 일반적으로 클록 발생기(816)로 지칭되는 하나 이상의 클록 발생기 회로를 포함한다. 클록 발생기(816)는 적절한 주파수 레벨들에서 클록 신호들을 생성하고, 이 클록 신호들은 디바이스(800)의 임의의 적절한 컴포넌트들에 공급될 수 있다. 단지 예로서, 클록 발생기(816)는 디바이스(800)의 프로세서(804)에 클록 신호들을 공급하는 것으로 예시된다. 일부 실시예들에서, 클록 발생기(816)는 하나 이상의 주파수 식별(Frequency Identification, FID) 신호를 수신하고, FID 신호들에 기초하여, 적절한 주파수에서 클록 신호들을 생성한다.
일부 실시예들에서, 디바이스(800)는 디바이스(800)의 다양한 컴포넌트들에 전력을 공급하는 배터리(818)를 포함한다. 단지 예로서, 배터리(818)는 프로세서(804)에 전력을 공급하는 것으로 예시된다. 도면들에 예시되지는 않았지만, 디바이스(800)는 예를 들어, AC(Alternating Current) 어댑터로부터 수신된 AC 전원에 기초하여 배터리를 재충전하기 위한 충전 회로를 포함할 수 있다.
일부 실시예들에서, 디바이스(800)는 PCU(Power Control Unit)(810)(PMU(Power Management Unit), 전력 제어기 등으로도 지칭됨)을 포함한다. 예에서, PCU(810)의 일부 섹션들은 하나 이상의 처리 코어(808)에 의해 구현될 수 있고, PCU(810)의 이러한 섹션들은 점선 박스를 사용하여 상징적으로 예시되고 PCU(810a)로 라벨링된다. 예에서, PCU(810)의 일부 다른 섹션들은 처리 코어들(808) 외부에 구현될 수 있고, PCU(810)의 이러한 섹션들은 점선 박스를 사용하여 상징적으로 예시되고 PCU(810b)로서 라벨링된다. PCU(810)는 디바이스(800)에 대한 다양한 전력 관리 동작들을 구현할 수 있다. PCU(810)는, 디바이스(800)에 대한 다양한 전력 관리 동작들을 구현하기 위해, 하드웨어 인터페이스들, 하드웨어 회로들, 커넥터들, 레지스터들 등 뿐만 아니라 소프트웨어 컴포넌트들(예를 들어, 드라이버들, 프로토콜 스택들)을 포함할 수 있다.
일부 실시예들에서, 디바이스(800)는, 예를 들어, 디바이스(800)에 대한 다양한 전력 관리 동작들을 구현하기 위해 PMIC(Power Management Integrated Circuit)(812)를 포함한다. 일부 실시예들에서, PMIC(812)는 RPMIC(Reconfigurable Power Management IC) 및/또는 IMVP(Intel® Mobile Voltage Positioning)이다. 예에서, PMIC는 프로세서(804)로부터 분리된 IC 칩 내에 있다. 이는 디바이스(800)에 대한 다양한 전력 관리 동작들을 구현할 수 있다. PMIC(812)는, 디바이스(800)에 대한 다양한 전력 관리 동작들을 구현하기 위해, 하드웨어 인터페이스들, 하드웨어 회로들, 커넥터들, 레지스터들 등 뿐만 아니라 소프트웨어 컴포넌트들(예를 들어, 드라이버들, 프로토콜 스택들)을 포함할 수 있다.
예에서, 디바이스(800)는 PCU(810) 또는 PMIC(812) 중 하나 또는 둘 다를 포함한다. 예에서, PCU(810) 또는 PMIC(812) 중 어느 하나는 디바이스(800)에 없을 수 있고, 따라서, 이러한 컴포넌트들은 점선들을 사용하여 예시된다.
디바이스(800)의 다양한 전력 관리 동작들은 PCU(810)에 의해, PMIC(812)에 의해, 또는 PCU(810)와 PMIC(812)의 조합에 의해 수행될 수 있다. 예를 들어, PCU(810) 및/또는 PMIC(812)는 디바이스(800)의 다양한 컴포넌트들에 대한 전력 상태(예를 들어, P-상태)를 선택할 수 있다. 예를 들어, PCU(810) 및/또는 PMIC(812)는 디바이스(800)의 다양한 컴포넌트들에 대해(예를 들어, ACPI(Advanced Configuration and Power Interface) 사양에 따라) 전력 상태를 선택할 수 있다. 단지 예로서, PCU(810) 및/또는 PMIC(812)는 디바이스(800)의 다양한 컴포넌트들로 하여금 수면 상태(sleep state)로, 활성 상태로, 적절한 C 상태(예를 들어, ACPI 사양에 따라, C0 상태, 또는 또 다른 적절한 C 상태) 등으로 전이하게 야기할 수 있다. 예에서, PCU(810) 및/또는 PMIC(812)는, 예를 들어, VID 신호 및/또는 FID 신호를 제각기 출력함으로써, VR(814)에 의해 출력되는 전압 및/또는 클록 발생기에 의해 출력되는 클록 신호의 주파수를 제어할 수 있다. 예에서, PCU(810) 및/또는 PMIC(812)는 배터리 전력 사용, 배터리(818)의 충전, 및 절전 동작에 관련된 특징들을 제어할 수 있다.
클록 발생기(816)는 PLL(phase locked loop), FLL(frequency locked loop), 또는 임의의 적절한 클록 소스를 포함할 수 있다. 일부 실시예들에서, 프로세서(804)의 각각의 코어는 그 자신의 클록 소스를 갖는다. 이와 같이, 각각의 코어는 다른 코어의 동작 주파수와 독립적인 주파수에서 동작할 수 있다. 일부 실시예들에서, PCU(810) 및/또는 PMIC(812)는 적응적 또는 동적 주파수 스케일링 또는 조정을 수행한다. 예를 들어, 프로세서 코어의 클록 주파수는, 코어가 그것의 최대 전력 소비 임계 또는 한계에서 동작하고 있지 않다면 증가될 수 있다. 일부 실시예들에서, PCU(810) 및/또는 PMIC(812)는 프로세서의 각각의 코어의 동작 조건을 결정하고, PCU(810) 및/또는 PMIC(812)가 코어가 목표 성능 레벨 아래에서 동작하고 있다고 결정할 때 코어 클로킹 소스(core clocking source)(예를 들어, 그 코어의 PLL)가 잠금을 잃지 않고 그 코어의 주파수 및/또는 전원 전압을 기회주의적으로 조정한다. 예를 들어, 코어가 그 코어 또는 프로세서(804)에 대해 할당된 총 전류보다 작은 전원 레일로부터 전류를 인출하고 있다면, PCU(810) 및/또는 PMIC(812)는 (예를 들어, 클록 주파수 및/또는 전원 전압 레벨을 증가시킴으로써) 그 코어 또는 프로세서(804)에 대한 전력 인출을 일시적으로 증가시킬 수 있어서 코어 또는 프로세서(804)가 더 높은 성능 레벨에서 수행할 수 있도록 한다. 이와 같이, 전압 및/또는 주파수는 제품 신뢰성을 위반하지 않고 프로세서(804)에 대해 일시적으로 증가될 수 있다.
예에서, PCU(810) 및/또는 PMIC(812)는, 예를 들어, 전력 측정 회로들(842), 온도 측정 회로들(840), 배터리(818)의 충전 레벨, 및/또는 전력 관리를 위해 사용될 수 있는 임의의 다른 적절한 정보로부터 측정들을 수신한 것에 적어도 부분적으로 기초하여, 전력 관리 동작들을 수행할 수 있다. 그 목적을 위해, PMIC(812)는 시스템/플랫폼의 전력/열적 거동에 영향을 미치는 하나 이상의 인자의 다양한 값들/변동들을 감지/검출하기 위한 하나 이상의 센서에 통신가능하게 결합된다. 하나 이상의 인자의 예는 전류, 전압 드룹(voltage droop), 온도, 동작 주파수, 동작 전압, 전력 소비, 코어-간 통신 활동 등을 포함한다. 이러한 센서들 중 하나 이상은 컴퓨팅 시스템의 하나 이상의 컴포넌트 또는 로직/IP 블록과 물리적으로 근접하게 (및/또는 열적으로 접촉/결합되게) 제공될 수 있다. 또한, 센서(들)는 적어도 일 실시예에서 PCU(810) 및/또는 PMIC(812)에 직접 결합되어, PCU(810) 및/또는 PMIC(812)가 센서들 중 하나 이상에 의해 검출된 값(들)에 적어도 부분적으로 기초하여 프로세서 코어 에너지를 관리하도록 허용한다.
(소프트웨어 스택의 모든 요소가 예시되지는 않지만) 디바이스(800)의 예시적인 소프트웨어 스택이 또한 예시된다. 단지 예로서, 프로세서들(804)은 애플리케이션 프로그램들(850), 운영 체제(852), 하나 이상의 전력 관리(PM) 특정적 애플리케이션 프로그램들(예를 들어, 일반적으로 PM 애플리케이션들(858)로 지칭됨), 및/또는 그와 유사한 것을 실행할 수 있다. PM 애플리케이션들(858)은 또한 PCU(810) 및/또는 PMIC(812)에 의해 실행될 수 있다. OS(852)는 또한 하나 이상의 PM 애플리케이션(856a, 856b, 856c)을 포함할 수 있다. OS(852)는 또한 다양한 드라이버들(854a, 854b, 854c 등)을 포함할 수 있으며, 그 중 일부는 전력 관리 목적에 특정적일 수 있다. 일부 실시예들에서, 디바이스(800)는 BIOS(Basic Input/Output System)(820)를 추가로 포함할 수 있다. BIOS(820)는 (예를 들어, 하나 이상의 드라이버(854)를 통해) OS(852)와 통신할 수 있고, 프로세서들(804) 등과 통신할 수 있다.
예를 들어, PM 애플리케이션들(858, 856), 드라이버들(854), BIOS(820) 등 중 하나 이상은, 예를 들어, 디바이스(800)의 다양한 컴포넌트들의 전압 및/또는 주파수를 제어하기 위해, 디바이스(800)의 다양한 컴포넌트들의 웨이크-업 상태, 수면 상태, 및/또는 임의의 다른 적절한 전력 상태를 제어하기 위해, 배터리 전력 사용, 배터리(818)의 충전, 전력 절감 동작과 관련된 특징들 등을 제어하기 위해, 전력 관리 특정적 태스크들을 구현하도록 사용될 수 있다.
다양한 실시예들에서, SOC(801) 또는 SOC(801)에 결합되는 또 다른 다이(도시되지 않음)와 같은 디바이스(800)의 IC 다이는 다이들(120, 160, 310, 360, 502, 504) 중 하나의 다이의 것과 같은 기능성을 제공한다. 예를 들어, 이러한 IC 다이는, 그것에 결합될 때, 디바이스(800)의 또 다른 IC 다이와 공유형 발진기 회로를 형성하도록 구성된 하나 이상의 지연 회로(도시되지 않음)를 포함한다. 하나의 이러한 실시예에서, IC 다이는 공유형 발진기 회로의 튜닝에 기초하여 하나 이상의 송신기 회로의 교정을 결정하기 위한 - 예를 들어, 측정 회로, BIOS(820), 드라이버들(854) 및/또는 SOC(801)의 다른 적절한 로직에 의한 - 기능성을 제공한다.
송신 드라이버 회로의 교정을 결정하기 위한 기법들 및 아키텍처들이 본 명세서에 설명된다. 위의 설명에서, 설명의 목적상, 수많은 특정 상세사항들이 특정 실시예들의 철저한 이해를 제공하기 위해 제시되었다. 그러나, 특정 실시예들이 이러한 특정 상세사항들 없이도 실시될 수 있다는 점이 통상의 기술자에게 명백할 것이다. 다른 경우들에서, 구조들 및 디바이스들은 기재를 모호하게 하는 것을 회피하기 위해 블록도 형태로 도시되어 있다.
본 명세서에서 "일 실시예" 또는 "실시예"에 대한 참조는 실시예와 연계하여 설명된 특정의 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 명세서에서의 다양한 위치들에서 "일 실시예에서(in one embodiment)"라는 문구의 출현들이 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
본 명세서의 상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 연산들의 알고리즘 및 심벌 표현의 견지에서 제시되었다. 이들 알고리즘적 설명 및 표현은 다른 통상의 기술자들에게 자신의 작업물을 가장 효율적으로 전달하기 위해 본 기술분야의 통상의 기술자에 의해 사용되는 수단이다. 알고리즘은 여기서 그리고 일반적으로, 원하는 결과로 이끄는 단계들의 자체 일관성있는 시퀀스(self-consistent sequence)인 것으로 생각된다. 단계들은 물리적 양들(physical quantities)의 물리적 조작들(physical manipulations)을 요구하는 것들이다. 보통은 그러나 필수적이지는 않게, 이들 양은 저장되고, 전송되고, 조합되고, 비교되고, 및 다른 방식으로 조작될 수 있는 전기 또는 자기 신호들의 형태를 취한다. 주로 통상적인 사용 이유 때문에, 이들 신호를 비트, 값, 요소, 심벌, 문자, 용어, 숫자, 또는 그와 유사한 것으로 지칭하는 것이 때로는 편리한 것으로 밝혀졌다.
그러나, 이들 및 유사한 용어들 모두가 적절한 물리적 양들과 연관되며, 이들 양들에 적용될 단지 편리한 라벨들이라는 점을 유념해야 한다. 달리 구체적으로 언급되지 않는 한, 본 명세서의 논의에서 명백한 바와 같이, 설명 전체에 걸쳐서, "처리" 또는 "컴퓨팅" 또는 "계산" 또는 "결정" 또는 "디스플레이" 또는 그와 유사한 것과 같은 용어들을 활용하는 논의는, 컴퓨터 시스템의 레지스터와 메모리 내의 물리(전자)량으로 표현된 데이터를, 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 그러한 정보 저장소, 송신 혹은 디스플레이 디바이스 내의 물리량으로 유사하게 표현된 다른 데이터로 조작 및 변환하는, 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 액션 및 프로세스를 지칭한다는 것을 알아야 한다.
특정 실시예들은 또한 본 명세서에서 동작들을 수행하기 위한 장치에 관련된다. 이 장치는 요구되는 목적을 위해 특별히 구성될 수 있거나, 또는 그것은 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 이에 제한되는 것은 아니지만, 플로피 디스크들, 광학 디스크들, CD-ROM들, 및 자기-광학 디스크들을 포함하는 임의 타입의 디스크, ROM들(read-only memories), DRAM(dynamic RAM)과 같은 RAM들(random access memories), EPROM들, EEPROM들, 자기 또는 광학 카드들, 또는 전자 명령어들을 저장하기에 적합하며 컴퓨터 시스템 버스에 결합되는 임의 타입의 미디어와 같은, 컴퓨터 판독가능 저장 매체에 저장될 수 있다.
본 명세서에 제시된 알고리즘들 및 디스플레이들은 임의의 특정 컴퓨터 또는 다른 장치에 본질적으로 관련되지는 않는다. 다양한 범용 시스템이 본 명세서의 교시에 따라 프로그램과 함께 사용될 수 있거나, 또는 요구된 방법 단계를 실행하기 위해 보다 특화된 장치를 구성하는 것이 편리한 것으로 입증될 수 있다. 다양한 이들 시스템들에 대해 요구되는 구조가 본 명세서의 설명으로부터 등장할 것이다. 추가로, 특정 실시예들이 임의의 특정 프로그래밍 언어를 참조하여 설명되지는 않는다. 다양한 프로그래밍 언어들이 본 명세서에 설명된 바와 같은 이러한 실시예들의 교시를 구현하기 위해 사용될 수 있다는 점을 알 것이다.
본 명세서에 설명된 것 외에, 다양한 수정들이 본 명세서의 범위로부터 벗어나지 않고 본 명세서의 개시된 실시예들 및 구현들에 대해 이뤄질 수 있다. 따라서, 본 명세서의 예시들 및 예들은 제한적인 의미가 아니라 예시적으로 해석해야 한다. 발명의 범위는 후속하는 청구항들을 참조하여서만 판정되어야 한다.

Claims (25)

  1. IC(integrated circuit) 다이로서:
    상기 IC 다이를 또 다른 IC 다이에 결합하기 위한 전도성 콘택트들을 포함하는 하드웨어 인터페이스;
    상기 하드웨어 인터페이스를 통해 상기 다른 IC 다이와 통신하는 하나 이상의 송신 드라이버 회로;
    상기 하드웨어 인터페이스에 각각 결합되는 제1의 하나 이상의 지연 회로 - 상기 IC 다이는, 상기 다른 IC 다이와 함께, 상기 제1의 하나 이상의 지연 회로 및 상기 다른 IC 다이의 제2의 하나 이상의 지연 회로를 포함하는 발진기 회로를 형성함 - ; 및
    상기 하나 이상의 송신 드라이버 회로에, 상기 제1 하나 이상의 지연 회로에, 그리고 상기 하드웨어 인터페이스에 결합되는 교정 회로 - 상기 교정 회로는:
    상기 발진기 회로와 통신될 신호 및 기준 주파수 둘 다에 기초하여, 테스트 조건이 상기 발진기 회로의 제1 동작적 설정에 의해 만족되는 것을 결정하기 위한 평가를 수행하고; 및
    상기 평가에 기초하여, 상기 하나 이상의 송신 드라이버 회로의 제2 동작적 설정을 제공함 - 를 포함하는 IC 다이.
  2. 제1항에 있어서, 상기 발진기 회로는 제1 발진기 회로이고, 상기 신호는 제1 신호이고, 상기 평가는 제1 평가이고;
    상기 IC 다이는 제2 발진기 회로를 추가로 포함하고; 및
    상기 교정 회로는 추가로:
    상기 제2 발진기 회로와 통신될 제2 신호 및 상기 기준 주파수 둘 다에 기초하여, 상기 테스트 조건이 상기 제2 발진기 회로의 제3 동작적 설정에 의해 만족되는 것을 결정하기 위한 제2 평가를 수행하고;
    상기 제2 평가에 기초하여, 상기 제1 발진기 회로의 제3 동작적 설정을 제공하고; 및
    상기 제3 동작적 설정에 기초하여 상기 제1 동작적 설정을 결정하는 IC 다이.
  3. 제2항에 있어서, 상기 교정 회로는 추가로:
    상기 하드웨어 인터페이스를 통해 상기 다른 IC 다이로부터 통신을 수신하고 - 상기 통신은 상기 다른 IC 다이의 제3 발진기 회로가 상기 기준 주파수에 기초하여 튜닝되었음을 나타냄 -; 및
    상기 통신에 기초하여 상기 제1 평가를 수행하는 IC 다이.
  4. 제3항에 있어서, 상기 통신은 상기 제3 발진기 회로의 제4 동작적 설정을 식별하고, 상기 교정 회로는 상기 제4 동작적 설정에 추가로 기초하여 상기 제1 동작적 설정을 결정하는 IC 다이.
  5. 제2항에 있어서, 상기 교정 회로는 추가로, 상기 제2 발진기 회로에 의해 상기 테스트 조건을 만족시키도록 상기 기준 주파수에 기초하여 상기 제2 발진기 회로를 튜닝하는 IC 다이.
  6. 제2항에 있어서, 상기 교정 회로가 상기 제2 동작적 설정을 제공하는 것은 상기 교정 회로가 상기 하나 이상의 송신 드라이버 회로의 풀업(pull-up) 강도 또는 풀다운(pull-down) 강도를 설정하는 것을 포함하는 IC 다이.
  7. 제1항 또는 제2항에 있어서, 상기 교정 회로가 상기 제2 동작적 설정을 제공하는 것은 상기 교정 회로가 상기 하나 이상의 송신 드라이버 회로의 제1 전파 지연을 변경하는 것을 포함하는 IC 다이.
  8. 제7항에 있어서, 상기 교정 회로는 추가로 또 다른 하나 이상의 송신 드라이버 회로의 제2 전파 지연을 변경시키도록 상기 다른 IC 다이에 시그널링하는 IC 다이.
  9. IC(integrated circuit) 다이로서:
    제1 링 발진기 회로;
    상기 IC 다이의 하드웨어 인터페이스를 통해, 제2 지연 회로를 포함하는 또 다른 IC 다이에 결합될 제1 지연 회로 - 상기 IC 다이는, 상기 다른 IC 다이와 함께, 상기 제1 지연 회로 및 상기 제2 지연 회로를 포함하는 제2 링 발진기 회로를 형성함 -;
    기준 주파수에 기초하여 상기 제1 링 발진기 회로를 튜닝하는 제1 동작을 수행하고, 상기 제1 링 발진기 회로의 제1 동작적 설정을 결정하는 제1 튜너 회로; 및
    제2 튜너 회로
    를 포함하고, 상기 제2 튜너 회로는:
    상기 제2 링 발진기 회로의 제2 동작적 설정을 제공하고 - 상기 제2 동작적 설정은 상기 제1 동작적 설정에 기초함 -; 및
    상기 제2 링 발진기 회로를 튜닝하는 제2 동작을 수행하고,
    상기 제2 튜너 회로는 상기 기준 주파수에 기초하여 상기 제2 링 발진기 회로를 상기 제2 동작적 설정으로부터 제3 동작적 설정으로 전이시키는 IC 다이.
  10. 제9항에 있어서, 상기 제2 튜너 회로는 추가로 상기 다른 IC 다이와의 통신에 참여하고, 상기 제2 튜너 회로는 상기 통신에 기초하여 상기 제2 동작을 수행하는 IC 다이.
  11. 제10항에 있어서, 상기 다른 IC 다이는 제3 링 발진기 회로를 포함하고, 상기 통신은 상기 제2 튜너 회로에 대해 상기 제3 링 발진기 회로의 제4 동작적 설정을 식별하고, 상기 제2 튜너 회로가 상기 제2 동작을 수행하는 것은 상기 제2 튜너 회로가 상기 제4 동작적 설정에 기초하여 상기 제2 지연 회로의 제5 동작적 설정을 제공하도록 상기 다른 IC에 시그널링하는 것을 포함하는 IC 다이.
  12. 제9항 또는 제10항에 있어서, 상기 다른 IC 다이와 통신하는 송신기 회로를 추가로 포함하고, 상기 제2 튜너 회로는 추가로, 상기 제3 동작적 설정에 기초하여, 상기 송신기 회로를 교정하기 위한 정보를 제공하는 IC 다이.
  13. 제12항에 있어서, 상기 송신기 회로는 드라이버 회로를 포함하고, 상기 제2 튜너 회로는 상기 드라이버 회로의 풀업 강도 또는 풀다운 강도를 변경하도록 상기 송신기 회로에 시그널링하는 IC 다이.
  14. 제12항에 있어서, 상기 다른 IC 다이는 또 다른 송신기 회로를 포함하고, 상기 제2 튜너 회로는 추가로, 상기 제3 동작적 설정에 기초하여, 상기 다른 송신기 회로를 교정하라고 상기 다른 IC 다이에 시그널링하는 IC 다이.
  15. 제9항 또는 제10항에 있어서, 상기 제1 링 발진기 회로는 제3 지연 회로를 포함하고, 상기 제1 동작은 상기 제1 튜너 회로가 상기 제3 지연 회로의 풀업 강도 또는 풀다운 강도를 변경하는 것을 포함하는 IC 다이.
  16. 제9항 또는 제10항에 있어서, 상기 제2 동작은 상기 제2 튜너 회로가 상기 제1 지연 회로 또는 상기 제2 지연 회로 중 하나의 풀업 강도 또는 풀다운 강도를 변경하는 것을 포함하는 IC 다이.
  17. 제16항에 있어서, 상기 제2 동작은 상기 제2 튜너 회로가 상기 제2 지연 회로의 풀업 강도 또는 풀다운 강도를 변경하도록 상기 다른 IC 다이에 시그널링하는 것을 포함하는 IC 다이.
  18. 시스템으로서:
    제1 지연 회로 및 제1 송신 드라이버 회로를 포함하는 제1 IC(integrated circuit) 다이;
    상기 제1 IC 다이에 결합되는 제2 IC 다이 - 상기 제2 IC는 제2 지연 회로를 포함하고, 발진기 회로는 상기 제1 지연 회로 및 상기 제2 지연 회로를 포함하고,
    상기 제1 IC 다이는 추가로:
    상기 발진기 회로와 통신될 신호 및 기준 주파수 둘 다에 기초하여, 테스트 조건이 상기 발진기 회로의 제1 동작적 설정에 의해 만족되는 것을 결정하기 위한 평가를 수행하고; 및
    상기 평가에 기초하여, 상기 송신 드라이버 회로의 제2 동작적 설정을 제공하기 위한 교정 회로를 포함함 - ; 및
    상기 제1 IC 다이에 결합되는 디스플레이 디바이스 - 상기 디스플레이 디바이스는, 상기 송신 드라이버 회로와 통신되는 신호에 기초하여 이미지를 디스플레이함 - 를 포함하는 시스템.
  19. 제18항에 있어서, 상기 발진기 회로는 제1 발진기 회로이고, 상기 신호는 제1 신호이고, 상기 평가는 제1 평가이고;
    상기 제1 IC 다이는 제2 발진기 회로를 추가로 포함하고; 및
    상기 교정 회로는 추가로:
    상기 제2 발진기 회로와 통신될 제2 신호 및 상기 기준 주파수 둘 다에 기초하여, 상기 테스트 조건이 상기 제2 발진기 회로의 제3 동작적 설정에 의해 만족되는 것을 결정하기 위한 제2 평가를 수행하고;
    상기 제2 평가에 기초하여, 상기 제1 발진기 회로의 제3 동작적 설정을 제공하고; 및
    상기 제3 동작적 설정에 기초하여 상기 제1 동작적 설정을 결정하는 시스템.
  20. 제18항 또는 제19항에 있어서, 상기 교정 회로가 상기 제2 동작적 설정을 제공하는 것은 상기 교정 회로가 상기 송신 드라이버 회로의 제1 전파 지연을 변경하는 것을 포함하는 시스템.
  21. 방법으로서:
    제1 IC 다이가 제2 IC 다이에 결합되어 상기 제1 IC 다이의 제1의 하나 이상의 지연 회로 및 상기 제2 IC 다이의 제2의 하나 이상의 지연 회로를 포함하는 발진기 회로를 형성하는 것을 검출하는 단계;
    상기 발진기 회로와 통신되는 신호 및 기준 주파수 둘 다에 기초하여, 테스트 조건이 상기 발진기 회로의 제1 동작적 설정에 의해 만족되는 것을 결정하기 위한 평가를 수행하는 단계; 및
    상기 평가에 기초하여:
    상기 제1 IC 다이의 제1의 하나 이상의 송신 드라이버 회로의 제2 동작적 설정을 제공하는 단계; 및
    상기 제2 IC 다이의 제2의 하나 이상의 송신 드라이버 회로의 제3 동작적 설정을 제공하도록 상기 제2 IC 다이에 시그널링하는 단계를 포함하는 방법.
  22. 제21항에 있어서, 상기 발진기 회로는 제1 발진기 회로이고, 상기 신호는 제1 신호이고, 상기 평가는 제1 평가이고; 및
    상기 제1 IC 다이는 제2 발진기 회로를 추가로 포함하고;
    상기 방법은:
    상기 제2 발진기 회로와 통신될 제2 신호 및 상기 기준 주파수 둘 다에 기초하여, 상기 테스트 조건이 상기 제2 발진기 회로의 제3 동작적 설정에 의해 만족되는 것을 결정하기 위한 제2 평가를 수행하는 단계;
    상기 제2 평가에 기초하여, 상기 제1 발진기 회로의 제3 동작적 설정을 제공하는 단계; 및
    상기 제3 동작적 설정에 기초하여 상기 제1 동작적 설정을 결정하는 단계를 추가로 포함하는 방법.
  23. 제22항에 있어서,
    상기 제1 IC 다이의 하드웨어 인터페이스를 통해 상기 제2 IC 다이로부터 통신을 수신하는 단계 - 상기 통신은 상기 제2 IC 다이의 제3 발진기 회로가 상기 기준 주파수에 기초하여 튜닝되었음을 나타냄 -; 및
    상기 통신에 기초하여 상기 제1 평가를 수행하는 단계를 추가로 포함하는 방법.
  24. 제21항 또는 제22항에 있어서, 상기 제2 동작적 설정을 제공하는 단계는 상기 제1의 하나 이상의 송신 드라이버 회로의 제1 전파 지연을 변경하는 단계를 포함하는 방법.
  25. 제24항에 있어서, 상기 제3 동작적 설정을 제공하도록 상기 제2 IC 다이에 시그널링하는 단계는 상기 제2의 하나 이상의 송신 드라이버 회로의 제2 전파 지연을 변경하도록 상기 제2 IC 다이에 시그널링하는 단계를 포함하는 방법.
KR1020220104633A 2021-09-22 2022-08-22 공유형 링 발진기 회로를 이용하여 교정 정보를 결정하기 위한 디바이스, 방법 및 시스템 KR20230042630A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/482,119 US20230088853A1 (en) 2021-09-22 2021-09-22 Device, method and system to determine calibration information with a shared ring oscillator circuit
US17/482,119 2021-09-22

Publications (1)

Publication Number Publication Date
KR20230042630A true KR20230042630A (ko) 2023-03-29

Family

ID=85383541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220104633A KR20230042630A (ko) 2021-09-22 2022-08-22 공유형 링 발진기 회로를 이용하여 교정 정보를 결정하기 위한 디바이스, 방법 및 시스템

Country Status (3)

Country Link
US (1) US20230088853A1 (ko)
KR (1) KR20230042630A (ko)
DE (1) DE102022120855A1 (ko)

Also Published As

Publication number Publication date
US20230088853A1 (en) 2023-03-23
DE102022120855A1 (de) 2023-03-23

Similar Documents

Publication Publication Date Title
US11341067B2 (en) Coordinating memory operations using memory-device-generated reference signals
CN113783570A (zh) 具有频率跟踪回路的耦合倍频器
CN109791928A (zh) 用于裸片到裸片SerDes的分离式芯片解决方案
US11398814B2 (en) Low-power single-edge triggered flip-flop, and time borrowing internally stitched flip-flop
US20230088853A1 (en) Device, method and system to determine calibration information with a shared ring oscillator circuit
US20230273891A1 (en) Control of power use of a device powered by a communication bus and determining sideband signaling voltage level
US11757434B2 (en) High performance fast Mux-D scan flip-flop
US20220171718A1 (en) Shunt-series and series-shunt inductively peaked clock buffer, and asymmetric multiplexer and de-multiplexer
US11791819B2 (en) Low power flip-flop with reduced parasitic capacitance
US11054470B1 (en) Double edge triggered Mux-D scan flip-flop
US12050483B2 (en) Device, system and method to detect clock skew
US20230396249A1 (en) Device, system and method to provide adaptive clock modulation with delay line circuits
US12066959B2 (en) Provisioning a reference voltage based on an evaluation of a pseudo-precision resistor of an IC die
US20230196960A1 (en) Resonant clocking employing resonance at fundamental and harmonic frequencies
US20240364333A1 (en) Cross-coupled power multiplexing in high voltage applications
US20230280979A1 (en) Entropy source and charge pump of a random number generator
US20230275078A1 (en) Tapered interconnect wires
US20240007087A1 (en) Integrated clock gate with circuitry to facilitate clock frequency division
US20220413536A1 (en) Device, method and system to determine a mode of voltage regulation based on parasitics of a power delivery network
WO2022147685A1 (en) Device, method and system to sense voltages at sample points of respective interconnect structures
WO2021055131A1 (en) Low overhead, high bandwidth re-configurable interconnect apparatus and method