상기 목적을 달성하기 위한 본 발명은, 입출력단자와 접지사이에 연결되고 코드값에 응답하여 임피던스 값이 가변되는 가변 임피던스 소자 및 제어 신호에 응답하여 임피던스 값이 가변되는 가변 임피던스 회로 및 가변 임피던스 회로의 제1 클록주기에서의 임피던스 값과 제2 클록주기에서의 임피던스 값 중 목표값에 더 근접된 임피던스 값에 상응하는 제어신호를 가변 임피던스 회로에 제공하는 제어신호 발생회로를 포함한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도4는 본 발명에 의한 임피던스 제어회로를 도시한 블록도이다.
도4를 참고하면, 본 발명에 의한 임피던스 제어회로는 전류원(420), 가변 임피던스 소자(440), 제어신호 발생회로(460)를 포함한다.
전류원(420)은 반도체 장치의 내부에 형성되고, 반도체 장치의 소정의 일정한 전류를 공급하기 위해 사용된다.
가변 임피던스 소자(440)는 전류원(420)과 직렬로 연결되고, 복수개의 코드값에 의해 상기 전류원으로부터 유입되는 전류의 양을 조정함으로써 전류원(420)과 가변 임피던스 소자 사이의 노드 전압(Vterm)을 원하는 값이 도달할 때까지 증가 또는 감소시키는 역할을 수행한다. 상기 노드 전압(Vterm)의 최종값은 회로 기판과 연결되는 종단저항에 제공되기 때문에 종단 전압이라 표현한다.
제어신호 발생회로(460)은 코드값 생성부(465), 지연기(도면 미도시), 코드값 선택부(470)를 포함한다.
코드값 생성부(465)는 비교기(466), 래치회로(467), 카운터(468)을 포함한다.
비교기(466)는 가변 임피던스 소자에서 피드백된 임피던스 값을 제공하는 종단 전압(Vterm)과 목표값의 임피던스값을 제공하는 제1 기준 전압(Vref)을 비교하고, 비교 결과 Vterm이 Vref보다 큰 경우 액티브 '하이'의 논리값을 출력하고, 그 반대의 경우에는 넌액티브 '로우'의 논리값을 출력한다.
래치회로(467)는 비교기(466)가 아이들(idle) 상태에 있는 경우 비교기(466)의 출력을 소정의 시간동안 저장하여 카운터(468)로 전송하기 위하여 사용된다.
카운터(468)는 n개의 2진수의 조합으로 형성되고 가변 임피던스 소자(440)을 제어하는 제어신호인 코드값을 생성된다. 또한 래치회로(467)에 저장된 비교기(466)의 출력신호와 클록신호를 입력받고, 이전 클록에서의 카운터에 저장되어 있는 코드값을 +1 또는 -1만큼 증가 또는 감소시킨다. 즉, 가변 임피던스 소자에서 피드백된 값이 기준범위의 중앙값보다 클 경우에는 매 클록주기마다 1씩 증가시키고 피드백값이 중앙값보다 작을 경우에는 매주기마다 1씩 감소시키는 코드값을 생성하기 위하여 래치회로(467)의 래치된 값에 의해 업 또는 다운 카운팅을 수행한다. 일예로 비교기(466)에서 '로우'의 논리값이 출력되는 경우 Vterm이 Vref보다 작은 것으로 판단되어 카운터에 저장된 코드값을 -1만큼 감소시킨다.
전류원(410), 가변 임피던스 소자(440), 비교기(466), 래치(467), 카운터(468)의 실시 형태는 가변 임피던스 소자(440)가 2진 가중치 부과(binary weighting) 방식이고, 가변 임피던스 소자를 제어하는 제어신호가 2진 코드인 점을 제외하고는 상기한 종래의 특허출원과 동일한 형태로 형성되고, 그 동작원리도 동일하다.
코드값 선택부(470)는 비교기들(471, 472), 코드 선택기(473)를 포함한다.
비교기(471)는 제2 기준전압(Vref+△)과 Vterm을 비교하여 COMP_H의 출력신호를 발생시킨다. COMP_H는 비교기(471)에서의 비교결과 Vterm이 Vref+△보다 작다면 '로우'의 논리값을 갖고, 반대의 경우 즉, Vterm이 Vref+△보다 크다면 '하이'의 논리값을 갖는다.
비교기(472)는 제3 기준전압(Vref-△)과 Vterm을 비교하여 COMP_L의 출력신 호를 발생시킨다. COMP_L는 비교기(472)에서의 비교결과 Vterm이 Vref-△보다 작다면 '로우'의 논리값을 갖고, 반대의 경우 즉, Vterm이 Vref-△보다 크다면 '하이'의 논리값을 출력한다.
상기 제1 내지 제3 기준전압들은 동일한 밴드 갭 래퍼런스(bandgap reference)로부터 생성되기 때문에 반도체 장치의 내부에 형성되는 기준전압발생회로(도면 미도시)는 그 면적으로 인한 부담이 적다. 동일한 밴드 갭 래퍼런스로부터 복수의 상이한 전압을 생성하는 방법에 대한 기술적 사항은 당업자에게 자명한 사항이므로 상세한 설명은 생략하기로 한다.
코드 선택기(473)는 카운터(468)로부터 전송된 코드값 중 하나를 선택하기 위하여 사용된다. 즉, 이전 클록에서 코드 선택기로 전송된 코드값과 현재 클록에서 코드 선택기로 전송된 코드값 중 Vterm에 가장 근접한 전압을 발생시킬 수 있는 코드값을 선택하기 위해 사용된다.
또한 코드 선택기(473)에는 지연기를 포함한 구조로 형성함으로써, 현재 클록주기에서의 코드값과 지연기에 저장된 이전 클록주기에서의 코드값 중 하나를 선택할 수 있다. 일실시예로 지연기는 플립플롭을 사용한다. 코드 선택기(473)에 관한 상세한 설명은 도5를 참고하여 자세히 설명하기로 한다.
출력단자부(480)는 반도체 장치와 외부 장치와의 임피던스 차에 의한 신호의 반사등을 방지하기 위한 종단(termination) 저항(481)이 출력패드(482)와 연결되고, 상기 종단 저항(481)은 복수개의 트랜지스터로 형성된다. 상기 트랜지스터들은 코드선택기(473)에서 선택된 코드값에 의해 선택적으로 활성화되어 임피던스의 제 어가 가능하다.
도5는 도4에 도시된 코드 선택기의 일 실시예를 논리소자로 구현한 도면이다. [표1]에는 코드선택기의 기능이 도시되어 있다.
도4와 도5 및 [표1]을 참고하여 코드선택기의 구성 및 동작을 설명하면 다음과 같다.
|
이전 클록 주기 |
현재 클록 주기 |
출력코드 |
(1) |
Vref-△<Vterm<Vref+△ |
Vterm>Vref+△ 또는 Vterm<Vref-△ |
이전 클록 주기의 코드값 |
(2) |
Vterm > Vref+△ 또는 Vterm < Vref-△ |
Vref-△<Vterm<Vref+△ |
현재 클록 주기의 코드값 |
본 발명에 의한 코드 선택기(473)는 제1 선택부(510), 제2 선택부(520), 로직회로부(530), 데이터 선택회로(540), 플립플롭(FF7, FF8)을 포함한다.
제1 선택부(510)는 비교기(471)의 출력(COMP_H)의 역전된 값과 비교기(472)의 출력(COMP_L)을 입력받는 논리곱 게이트(G1), 논리곱 게이트(G1)와 연결되고 논리곱 게이트(G1)의 출력을 2 클록주기 동안 지연시키기 위하여 2개의 플립플롭(FF1, FF2)이 연결된 2 클록지연기(512), COMP_H와 COMP_L의 역전된 값을 입력받는 논리합 게이트(G2), 논리합 게이트(G2)와 연결되고 논리합 게이트(G2)의 출력을 1 클록주기 동안 지연시키는 플립플롭(FF3) 및 FF2와 FF3의 출력들을 입력받는 논리곱 게이트(G3)로 구성된다.
제1 선택부는 [표1]에 도시된 조건 (1)를 수행한다. 조건 (1)을 만족하는 경우에 이전 클록 주기에서의 코드값을 선택하기 위해 사용된다. 도4에 도시된 비교기 (471)와 비교기(472)의 출력들(COMP_H, COMP_L)을 입력받고, 이전 클록에서의 Vterm이 Vterm+△과 Vterm-△ 사이의 값을 갖는 경우 이전 클록에서의 코드값을 선택하도록 SO1에 '하이'의 논리값을 출력하여 하기하는 로직회로부(530)로 전송한다.
제2 선택부(520)는 비교기(471)의 출력(COMP_H)과 비교기(472)의 출력(COMP_L)의 역전된 값을 입력받는 논리합 게이트(G4), 논리합 게이트(G4)와 연결되고 논리합 게이트(G4)의 출력을 2 클록주기 동안 지연시키기 위해 2개의 플립플롭(FF4, FF5)이 연결된 2클록지연기(522), COMP_H의 역전된 값과 COMP_L의 출력을 입력받는 논리곱 게이트(G5), 논리곱 게이트(G5)와 연결되고 논리곱 게이트(G5)의 출력을 1클록주기 동안 지연시키는 플립플롭(FF6), 상기 FF5와 FF6 출력들을 입력받는 논리곱 게이트(G6)로 구성된다.
제2 선택부는 [표1]에 도시된 조건 (2)을 수행한다. 조건 (2)을 만족하는 경우에 현재 클록 주기에서의 코드값을 선택하기 위해 사용된다. 현재 클록주기에서의 Vterm이 Vterm+△과 Vterm-△ 사이의 값을 갖는 경우 현재 클록주기에서의 코드값을 선택하도록 SO2에 '하이'의 논리값을 출력하여 하기하는 로직회로부(530)로 전송한다. 상기 내용을 정리하면 조건 (1)을 만족시키기 위하여 제1 선택부와 제2 선택부의 출력(SO1, SO2)은 각각 '하이', '로우'의 논리값으로 출력되고, 조건 (2)를 만족시키기 위하여 SO1, SO2의 출력은 각각 '로우', '하이'의 논리값으로 출력된다.
즉, 제1 선택부와 제2 선택부는 도4에 도시된 비교기들의 출력들(COMP_H, COMP_L)을 입력받고, 이전 클록주기와 현재 클록주기 중에서 Vterm이 Vterm+△과 Vterm-△사이의 값을 갖는 경우의 클록주기에서의 코드값을 선택하도록 하는 출력(SO1, SO2)을 생성하여 로직회로부(530)로 전송한다.
로직회로부(530)는 일실시예로 제1 선택부의 출력(SO1)의 역전된 값과 제2 선택부의 출력(SO2)이 입력되는 논리곱 게이트(G7), 제1 선택부의 출력(SO1)과 제2 선택부의 출력(SO2)의 역전된 값이 입력되는 낸드 게이트(G8), G7과 G8의 출력을 입력받는 논리합 게이트(G9)로 구성된다. 로직회로부(530)는 SO1과 SO2의 논리값을 입력받고, 현재 클록 주기에서 Vterm이 Vref-△와 Vref+△ 사이의 값을 갖는 경우에는 '하이'의 논리값을 출력하여 데이터 선택 논리회로(540)로 전송한다. 상기의 경우 이외에는 '로우'의 논리값을 출력하여 데이터 선택 논리회로(540)로 전송한다.
지연기(FF7)는 이전 클록에서의 코드값이 저장되어 이전 클록에서의 코드값과 현재 클록에서의 코드값이 동일한 클록에서 데이터 선택 논리회로로 입력되기 위하여 사용된다.
데이터 선택 논리회로(540)는 로직회로부(530)의 출력신호(SEL)가 '하이'의 논리값으로 출력되는 경우 현재 클록주기에서의 코드값을 선택하고, 로직회로부(530)의 출력신호가 '로우'의 논리값으로 출력되는 경우 지연기(FF7)를 통하여 전송되는 이전 클록주기에서의 코드값을 선택하여 플립플롭(FF8)로 전송한다. 일실시예로 데이터 선택 논리회로는 멀티플랙서를 사용한다.
플립플롭(FF8)은 데이터 선택 논리회로(540)에서 선택된 코드값(Rterm)이 Vterm이 Vref에 가장 근접한 값을 갖도록 소정의 시간동안 코드값을 저장한 후 LOAD 신호에 의해 코드값(Rterm)을 종단 전압으로 전송한다. 상기 LOAD 신호는 종래 기술에서 도시한 COMPLETE 신호와 동일하고, Vterm이 Vref를 중심으로 연속적인 천이를 가져오는 경우 소정의 시간을 대기 후 LOAD 신호가 발생한다.
상기 제1 선택부(510), 제2 선택부(520), 로직회로부(530), 플립플롭(FF7, FF8) 및 멀티플랙서(540)를 포함하는 코드선택기(473) 내부의 논리 소자의 다양한 수정 및 변경은 본 발명의 기술적 사상에 포함됨은 자명한 사항이다.
도6은 본 발명에 의한 임피던스 제어회로의 신호들에 대한 파형도이다.
도7은 도6의 파형도에서 B 부분을 확대 도시한 파형도이다.
도6과 도7을 참고하여 본 발명에 의한 임피던스 제어회로의 동작을 설명하면 다음과 같다.
비교기(466)의 출력이 '로우'의 논리값이면, Vterm이 Vref 보다 작은 것으로 판단된다. 따라서 도4에 도시된 카운터(468)는 이전 클록주기에서의 코드값을 -1만큼 감소시킨다. 따라서 가변 임피던스 소자의 트랜지스터들의 턴-온(turn-on)되는 트랜지스터의 수를 -1만큼 감소되어 저항이 약간 증가한다.
즉, 코드값 r[n-1:0]을 -1만큼 감소시킴으로써 상기 코드값의 각각의 비트에 대응되도록 연결된 트랜지스터의 게이트가 각각 턴-온 또는 턴-오프(turn-off)되도록 제어된다. 따라서, 턴-온 되는 트랜지스터의 수가 감소하기 때문에 저항이 증가하게 된다. 이는 Vterm을 하나의 클록 주기마다 소정의 값만큼 증가시킨다.
비교기(471, 472)에서 Vterm은 각각 Vref+△와 Vref-△보다 작기 때문에 상기 두 비교기의 출력은 '로우'의 논리값으로 출력된다.
상기 과정이 반복됨으로써 Vterm은 Vref에 근사해진다. 그러나, 도7에 B로 도시된 부분과 같이 Vterm은 Vref를 기준으로 큰 값과 작은 값이 교차로 나타나는데, 이는 공정, 온도, 전압등의 변동으로 인하여 나타나는 현상으로 Vterm이 Vref를 중심으로 대칭적으로 나타나지 않는다.
aa 와 cc의 클록 주기에서는 Vterm은 Vref+△보다 큰 값을 갖고, bb의 클록 주기에서는 Vterm은 Vref보다 작은 값이 나타난다. 도4에 도시된 코드선택기(473)는 이러한 값 중 Vref에 가장 근사한 값을 선택하기 위해 다음과 같은 방법을 사용한다.
aa의 클록 주기의 이전 클록주기에서는 Vref-△ < Vterm < Vref+△이고, aa의 클록 주기에서는 Vterm > Vref+△이기 때문에 [표1]에 도시된 조건(1)이 만족된다. 비교기들(471, 472)의 출력(COMP_H, COMP_L)은 Vterm이 Vref+△보다 더 큰 값을 갖기 때문에 모두 '하이'가 된다. COMP_H 및 COMP_L의 신호들은 코드 선택기(473)로 전달된다. 따라서 도5에 도시된 제1 선택부의 출력(SO1)은 '하이'가 되고, 제2 선택부의 출력(SO2)은 '로우'가 된다. SO1과 SO2의 신호들은 로직회로부(530)로 전송되어 멀티플랙서(540)의 제어신호(SEL)를 '로우'로 생성함으로써 플립플롭(FF7)에 저장된 이전 클록 주기에서의 코드값이 선택된다. 따라서 Vterm이 Vref에 근접한 aa의 이전 클록 주기에서의 코드값이 선택된다.
bb의 클록 주기에서는 Vref-△ < Vterm < Vref+△이고, aa의 클록 주기에서는 Vterm > Vref+△이기 때문에 [표1]에 도시된 조건(2)가 만족된다. 비교기(471)는 Vterm이 Vref+△보다 작기 때문에 COMP_H는 '로우'로 되고, 비교기(472)의 Vterm은 Vref-△보다 크기 때문에 COMP_L는 '하이'로 된다. COMP_H와 COMP_L의 신호들은 코드 선택기(473)로 전달된다. 따라서 제1 선택부의 출력(SO1)은 '로우'로 되고, 제2 선택기의 출력(SO2)은 '하이'로 된다. SO1, 과 SO2의 신호들은 로직회로부(530)으로 전송되어 멀티플랙서(540)의 제어신호(SEL)를 '하이'로 생성함으로써 카운터(468)에서 생성된 현재 클록 주기에서의 코드값이 선택된다.
상기 코드값의 선택은 로직회로부(530)에서 전송되는 멀티플랙서(540) 제어신호(SEL)에 의해 이루어진다. 즉, aa 클록주기의 이전 부분에서는 Vterm이 Vref로 단계적인 근사화가 이루어지기 때문에 현재 상태의 코드값을 선택하기 위하여 멀티플랙서 제어신호(SEL)은 aa의 클록 주기의 이전 주기까지 '하이'의 논리값을 유지한다. Vref를 중심으로 Vterm이 진동하기 시작한 후 멀티플랙서 선택신호(SEL)는 진동하는 Vterm 중에서 Vref에 더 근접한 값을 선택하기 위해 (삭제) '하이'와 '로우'가 반복적으로 발생한다. 따라서, 소정의 시간이 경과한 후 SEL은 '하이'의 논리값을 갖고 로드(LOAD) 신호가 1클록 주기 후에 '하이'로 천이되어 플립플롭(FF8)에 저장된 코드값이 종단 저항으로 전송된다.
또한, 비교기들 자체의 오프셋(Offset)등에 의해 Vterm은 상기의 경우와 같은 2개의 값으로 Vref를 중심으로 천이가 반복되는 것이 아니라 서로 다른 3개의 값을 갖고 진동되는 경우도 발생한다. 본 발명에 의하면, 상기 3개의 값으로 진동하는 경우 이전 클록 주기와 현재 클록 주기의 비교를 통하여 둘 중 중앙값을 출력하도록 함으로써 상기 경우에 유용하게 사용할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.