상기한 본 발명의 목적들 및 타의 목적들, 특징, 그리고 동작상의 이점들은, 첨부된 도면들을 참조하여 이하에서 기술되는 본 발명의 상세하고 바람직한 실시예의 설명에 의해 보다 명확해질 것이다. 도면들 내에서 서로 동일 내지 유사한 부분들은 설명 및 이해의 편의상 동일 내지 유사한 참조부호들로 가급적 기재됨을 주목하여야 한다.
도 2를 참조하면, 본 발명의 실시예에 따라 입력 터미네이션 회로를 겸하는 데이터 출력회로(300)가 도시된다. 상기 데이터 출력회로(300)는 복수의 임피던스 소자들(310a-310e,320a-320e,330a-330e,340a-340e)를 각기 갖는 복수의 입력 터미네이션 회로 겸용 출력드라이버(300a-300e)로 구성된다. 상기 복수의 임피던스 소자들(310a-310e,320a-320e,330a-330e,340a-340e)은 입출력 패드(11)에 병렬로 배치되며 대응되는 제어신호(C1,C2,C3-C6)에 응답하여 온 또는 오프된다.
상기 데이터 출력회로(300)내의 출력드라이버는 데이터 송신시에는 소오스 터미네이션을 행하여 출력 드라이빙이 되게 하고, 데이터 수신시에는 입력 터미네이션 회로로서 기능하므로, 하나의 패드(11)에 출력드라이버와 별도의 입력 터미네이션 회로를 병렬로 구성하는 통상의 경우에 비해 캐패시턴스 값을 증가시키지 않는다. 즉, 출력드라이버가 터미네이션 회로기능을 가지게 함으로써 입출력 패드에서 바라본 캐패시턴스 값이 출력드라이버만 있을 때의 캐패시턴스 값에 비해 큰 차이가 없도록 할 수 있는 것이다. 통상의 경우와 같이 출력드라이버와 입력 터미네이션 회로가 병렬로 위치되는 경우라면, 출력드라이버는 소오스 터미네이션을 위해 전송라인 특성 임피던스(ZO)와 같은 값의 유효 저항(RO=ZO)값을 가져야 하고, 온 칩 터미네이션 회로 또한 상기 특성 임피던스(ZO) 값과 같은 유효 저항 값을 가져야 하므로, 하나의 패드에서 대략 50%정도의 캐패시턴스 값이 증가되어 버린다. 이와는 달리, 본 발명의 실시예에 따른 도 2와 같은 구성을 적용시 출력드라이버가 입력 터미네이션 동작을 수행하므로, 위와 같은 캐패시턴스 값의 증가는 방지되는 것이다. 또한, 양방향 데이터 통신시에 상기 패드에 연결된 전송라인의 특성임피던스 변화에 따라 프로그래머블하게 세팅되는 디지털 코딩신호를 상기 출력드라이버를 구성하는 임피던스 소자에 제어신호(C1,C2,C3-C6)로서 인가하면, 상기 각 출력드라이버내의 임피던스 소자들이 선택적으로 제어되어, 다양한 임피던스 값을 나타내므로 임피던스 매칭이 적응적으로 수행됨을 알 수 있다.
도 3을 참조하면, 도 2의 데이터 출력회로(300)를 프로그래머블하게 제어하는 프로그래머블 임피던스 콘트롤 장치를 보인 블록도가 보여진다. 도면에서, 프로그래머블 임피던스 콘트롤러(100), 멀티플렉서(200), 및 복수의 제어신호 발생부(250a-250e)는 제어부를 구성한다. 상기 장치를 갖는 칩은 예를 들어 프린티드 서키트 보오드나 멀티칩 모듈등과 같은 서브스트레이트상에 배치되는 것이 가능하다. 상기 제어부는 양방향 데이터 통신시에 상기 입출력 패드(11)에 연결된 전송라인의 특성 임피던스의 변화를 감지하고 그 감지된 변화에 따라 디지털 코딩신호를 프로그래머블하게 세팅한다. 상기 세팅된 디지털 코딩신호는 복수의 출력드라이버들(300a-300e)내의 임피던스 소자들의 제어신호로서 인가된다. 이에 따라, 임피던스 소자들이 선택적으로 온 또는 오프되어 임피던스 매칭은 적응적으로 수행된다.
상기 프로그래머블 임피던스 콘트롤러(100)는, 본 분야에서 ZQ콘트롤러로서도 불려진다. 시스템의 사용자가 집적회로 칩의 외부에 저항을 연결하면 상기 콘트롤러(100)는 외부의 연결된 저항 값에 맞게 집적회로내의 임피던스를 프로그래머블하게 세팅하여 임피던스가 매칭되도록 한다. 예를 들어, 전송라인의 임피던스가 50오옴이라고 가정할 경우에, 시스템의 사용자는 출력회로의 임피던스 매칭을 위해 50오옴의 저항을 칩의 특정 핀 예컨대 엑스트라 패드에 연결한다. 그러면, 상기 프로그래머블 임피던스 콘트롤러(100)는 상기 저항 값을 검출하여 상기 50오옴에 상응하는 상위 드라이버 코드(ZQU1-ZQU5)와 하위 드라이버 코드(ZQD1-ZQD5)를 디지털 코드로서 생성한다. 한편, 사안이 다른 경우에도 상기 프로그래머블 임피던스 콘트롤러(100)의 제어기능이나 데이터 출력회로(300)의 구성을 적절히 디자인하는 것에 의해 칩의 외부에 설치한 상기 저항 값의 2배 또는 4배 등에 해당하는 임피던스를상기 데이터 출력회로(300)가 갖도록 할 수 있다. 예컨대, 상기 칩에는 50오옴의 저항이 설치되었더라도, 출력회로의 임피던스를 100오옴 (Ω)으로 원하는 경우에, 회로의 최종단이 되는 출력 드라이버(300a-300e)의 소자 사이즈 예컨대 트랜지스터의 게이트 폭을 조정하는 것에 의해 달성된다. 결국, 상기 프로그래머블 임피던스 콘트롤러(100)는 외부 임피던스를 감지하여 내부 임피던스를 맞추기 위해 디지털 코드를 생성시키는 것이다. 이 경우에, 칩의 공정, 전압, 및 온도변화에 따라 능동적으로 디지털 코드를 일정주기마다 갱신시켜 외부 임피던스에 내부 임피던스를 적응적으로 맞추는 역할을 한다. 상기 콘트롤러(100)는 예컨대 본원 출원인에 의해 1999년 9월 7일자로 대한민국에 선출원된 출원번호 1999-37795호의 제목 "반도체 장치의 프로그래머블 임피던스 콘트롤 출력회로 및 프로그래머블 임피던스 콘트롤 방법"하에 개시된 구성 소자들로 구현될 수 있다. 상기 출원에 개시된 프로그래머블 임피던스 콘트롤에 관한 설명은 본 명세서에 참조로서 합체된다.
제어부내의 상기 멀티플렉서(200)는 상기 프로그래머블 임피던스 콘트롤러(100)에서 생성된 상위 드라이버 코드(ZQU1-ZQU5), 하위 드라이버 코드(ZQD1-ZQD5)와 데이터 출력(DATA_UP, DATA_DN)을 멀티플렉싱하여 멀티플렉싱 출력들(DOU1-5, DOU1B-5B, DOD1-5, DOD1B-5B)을 생성한다. 상기 멀티플렉서(200)의 세부 구성 및 멀티플렉싱 동작은 도 4를 참조하여 설명될 것이다.
도 4는 도 3중 멀티플렉서의 일예를 보인 상세회로도로서, 상기 상위 드라이버 코드(ZQU1-ZQU5)중 대응되는 코드를 각기 일측입력으로 수신하고 상기 데이터 출력(DATA_UP)을 각기 타측입력으로 공통수신하여 낸드 응답을 생성하는 제1그룹낸드 게이트들(201-205)과, 상기 하위 드라이버 코드(ZQD1-ZQD5)중 대응되는 코드를 각기 일측입력으로 수신하고 상기 데이터 출력(DATA_DN)을 각기 타측입력으로 공통수신하여 낸드 응답을 생성하는 제2그룹 낸드 게이트들(211-215)과, 상기 제1그룹 낸드 게이트들(201-205)의 출력에 각기 대응되어 연결된 제1그룹 인버터들(221-225)과, 상기 제2그룹 낸드 게이트들(211-215)의 출력에 각기 대응되어 연결된 제2그룹 인버터들(231-235)로 이루어진다.
상기 멀티플렉서(200)는 송신과 수신시에 각기 다른 논리를 갖는 상기 멀티플렉싱 출력들(DOU1-5, DOU1B-5B, DOD1-5, DOD1B-5B)을 생성한다. 또한, 송신시에 데이터 "HIGH"와 "LOW"의 송신에 따라 각기 다른 논리를 갖는 멀티플렉싱 출력들(DOU1-5, DOU1B-5B, DOD1-5, DOD1B-5B)을 제공한다.
데이터의 송신과 수신시에 상기 멀티플렉서(200)에 인가되는 데이터 출력(DATA_UP, DATA_DN)은 다음의 표-1과 같이 설정된다.
|
DATA_UP |
DATA_DN |
송신시 |
"1" |
HIGH |
LOW |
"0" |
LOW |
HIGH |
수신시 |
HIGH |
HIGH, |
데이터 송신시에는 상기 멀티플렉서(200)는 다음과 같은 동작을 수행한다. 도 4에서는 5비트 입력을 받아 5비트 출력을 하는 경우로 가정하였으며, 사안에 따라 가감이 가능함은 물론이다. 예를 들어, 데이터 출력 "HIGH", 예로써 "1"을 송신하는 경우, 상기 상위 드라이버 코드(ZQU1-ZQU5)가 5비트 기준으로 "10000"라면, 멀티플렉싱 출력(DOU1)의 출력신호만 "하이"이고, 멀티플렉싱 출력들(DOU2-DOU5)의출력신호들은 모두 "로우"가 된다. 그리고, 이 경우에 상기 멀티플렉싱 출력들(DOD1-DOD5)은 모두 "로우"로서 출력된다. 도 4에서 보여지는 반전(inverting) 멀티플렉싱 출력들 (DOU1B-DOU5B)은 상기 멀티플렉싱 출력들(DOU1-DOU5)에 대한 반전신호를 각기 나타낸다. 또한, 반전 멀티플렉싱 출력들(DOD1B-DOD5B)은 상기 멀티플렉싱 출력들(DOD1-DOD5)에 대한 반전신호를 각기 나타낸다.
데이터 수신시에 상기 멀티플렉서(200)의 동작이 이하에서 설명된다. 수신동작 모드에서는 집적회로 칩내부에서 데이터가 출력되지 않으므로, 상기 데이터 출력(DATA_UP, DATA_DN)은 모두 "하이"로 된다. 이는 칩의 송/수신모드 신호에 따라 만들어 줄 수 있다. 따라서, 수신동작시 상기 데이터 출력(DATA_UP, DATA_DN)은 "하이"로 고정되므로, 상위 드라이버 코드(ZQU1-ZQU5), 하위 드라이버 코드(ZQD1-ZQD5)가 논리의 변화없이 상위 멀티플렉싱 출력들(DOU1-DOU5) 및 하위 멀티플렉싱 출력들(DOD1-DOD5)로서 그대로 각기 출력된다. 한편, 상기 멀티플렉싱 출력들(DOU1-DOU5)과 멀티플렉싱 출력들(DOD1-DOD5)의 각기 대응되는 코드의 논리는 항상 일치하지는 않는다. 왜냐하면, 프로그래머블 임피던스 콘트롤러(100)에서 제공되는 상위 드라이버 코드(ZQU1-ZQU5), 하위 드라이버 코드(ZQD1-ZQD5)가 대응되는 코드끼리 항상 서로 일치하는 것은 아니기 때문이다.
도 3내에서 보여지는 상기 복수의 제어신호 발생부(250a-250e)중 하나의 제어신호 발생부(250i)는 도 5에 도시되어 있다. 도 5는 도 3중 제어신호 발생부(250i)의 일예를 보인 상세 회로도로서, 송/수신모드에 따라 인가되는 모드상태신호(T/R)와 상기 멀티플렉서(200)의 멀티플렉싱 출력들(DOU1-5, DOU1B-5B, DOD1-5, DOD1B-5B)중 한 그룹의 출력을 받아 상기 임피던스 소자들을 제어하기 위한 제어신호들(C1-C8)을 생성하기 위해, 복수의 인버터들(251,252,253,258,259)과, 노아 게이트들(254,257) 및 낸드 게이트들(255,256)로 조합된 구성이 보여진다.
도 3에서, 복수의 출력드라이버(300a-300e)는 도 2내의 복수의 임피던스 소자들(310a-310e,320a-320e,330a-330e,340a-340e)를 각기 갖는 복수의 입력 터미네이션 회로 겸용 출력드라이버(300a-300e)를 엔형 및 피형 모오스 트랜지스터를 사용하여 일 예로서 구체화한 것이다. 하나의 블록을 예를 들면, 풀업 드라이버1(310a), 풀업 드라이버2(330a), 풀다운 드라이버1(320a), 및 풀다운 드라이버2(340a)가 피형 및 엔형 모오스 트랜지스터 페어로 각기 구성된다. 상기 트랜지스터 페어를 각 임피던스 소자로서 사용한 이유는 동작의 선형성을 보장하기 위해서이다.
다시 도 3으로 돌아가서, 전체적인 동작을 설명한다. 상기 프로그래머블 임피던스 콘트롤러(100)는 집적회로 칩의 외부에 설치된 저항에 대한 저항 값을 검출하여 그에 상응하는 상위 드라이버 코드(ZQU1-ZQU5)와 하위 드라이버 코드(ZQD1-ZQD5)를 디지털 코드로서 생성한다. 상기 멀티플렉서(200)는 상기 디지털 코드와 상기 데이터 출력(DATA_UP, DATA_DN)을 멀티플렉싱하여 멀티플렉싱 출력들(DOU1-5, DOU1B-5B, DOD1-5, DOD1B-5B)을 생성한다. 상기 복수의 제어신호 발생부(250a-250e)는 각기 송/수신모드에 따라 인가되는 모드 상태신호(T/R)와 상기 멀티플렉싱 출력들(DOU1-5, DOU1B-5B, DOD1-5, DOD1B-5B)중 한 그룹의 출력을 받아 상기 임피던스 소자들을 제어하기 위한 제어신호들(C1-C8)을 각기 생성한다. 여기서, 모드 상태신호(T/R)는 송신모드에서 하이로, 수신모드에서 로우로 주어진다. 상기 제어신호들(C1-C8)은 각기 대응되는 출력드라이버들(300a-300e)내의 복수의 임피던스 소자들(310a-310e,320a-320e,330a-330e,340a-340e)에 인가된다. 이에 따라, 임피던스 소자들이 선택적으로 온 또는 오프되어 임피던스 매칭은 적응적으로 수행된다. 본 실시예에서는 상기 출력드라이버들(300a-300e)을 각기 x16, x8, x4, x2, x1 드라이버로서 구현하는데 이는 프로그래머블 임피던스 매칭의 범위를 넓게 커버하기 위해서이다. 여기서, x16,x8,x4,x2, x1 드라이버는 각 블록내에서 풀업 또는 풀다운 드라이버를 구성하는 트랜지스터들의 폭의 합의 정수배를 의미한다. 예를 들어 x16드라이버(300a)의 풀업과 풀다운을 구성하는 트랜지스터의 폭은 x1 드라이버(300e)의 풀업과 풀다운을 구성하는 트랜지스터의 폭의 16배이다.
본 실시예에서는 송신시에 출력 드라이버로 기능하고 수신시에는 입력 터미네이션 회로로 역할을 행할 수 있도록 하기 위해 업/다운 임피던스를 두파트로 나누어 사용한다. 이는 도 2를 참조하여 설명한다. x16드라이버(300a)내의 업 임피던스 값은 ZA1(310a)과 ZA2(330a)의 임피던스의 병렬 합이 되고, 다운 임피던스 값은 ZB1(320a)과 ZB2(340a)의 임피던스의 병렬 합이 된다. 이 경우에 상기 ZA1과 ZA2의 임피던스는 언제나 같지는 않다. 이는 다운 임피던스 측도 마찬가지로서, 즉, ZB1과 ZB2의 임피던스는 같지 않은 것이다.
본 발명의 더욱 철저한 이해를 제공하기 위한 의도이외에는 다른 의도없이, 송신모드시에 5비트로서 임피던스를 프로그래머블하게 제어하는 동작을 설명한다.이 경우에 모드 상태신호(T/R)는 "하이"로 제공된다. 예를 들어, 데이터 "1"을 전송하는 경우에 디지털 코드가 "10001"이면, 도 6에서 보여지는 바와 같이 x16 드라이버(300a), x1 드라이버(300e)의 상위 드라이버만이 온 상태로 되어 임피던스 매칭에 관여한다. 즉, A11 및 A12블록과 A51 및 A52블록이 온되고 전체 임피던스는 이 두 임피던스의 병렬합으로서 나타난다. 도 6내지 도 8은 본 발명의 다양한 실시예들에 따른 임피던스 소자의 콘트롤을 보이는 블록도로서, 해칭된 블록은 온상태로 되어있음을 나타낸다.
다른 경우에, 즉, 데이터 "0"을 전송시에 디지털 코드가 "10010"이면 도 7에서 보여지는 바와 같이, x16,x2의 하위 드라이버만이 온상태로 된다. 즉, 출력드라이버(300a-2)내의 B11 및 B12블록과 출력드라이버(300d-2)내의 B41 및 B42블록이 온되고, 전체 임피던스는 이 두 임피던스의 병렬 합으로서 나타난다.
이와 같이, 데이터를 전송하는 모드에서는 전송라인의 특성임피던스에 프로그래머블하게 매칭된 상태에서 출력드라이버들(300a-300e) 전체가 하나의 드라이버로서 데이터 출력 드라이빙 동작을 하게 된다.
이제 데이터 수신모드를 설명한다. 수신시에는 상기 모드상태 신호(T/R)은 로우로서 제공된다. 수신시에는 x16 - x1 드라이버 각각에서 A*1과 B*1은 모두 오프가 되고, A*2와 B*2들 만이 실제동작에 참여한다. 여기서 부호 *는 와일드 카드로서 이 것이 사용된 장소에는 어떠한 숫자도 대입할 수 있음을 의미한다. 이 경우에 A12가 온이 되었다고 하여 반드시 B12가 온이 되는 것은 아니다. 즉, 송신시에도 프로그래머블 임피던스 콘트롤러의 디지털 코드에 맞추어 상위 하위 드라이버가다르게 온 되듯이, 수신시에도 상위/하위 드라이버는 절대적으로 독립적으로 동작할 수 있다. 예를 들어, 수신시에 상위 디지털 코드가 "10001"이면 x16의 A12와 x1의 A52가 온이되고, 하위의 디지털 코드가 "10010"이면 x16의 B12와 x2의 B42만이 온이 된다. 따라서, 이와 같은 경우에는 도 8과 같이 된다. 결국, 수신시 한 블록내에서 상위 하위 임피던스 소자가 항상 페어로 온되는 것은 아니지만, 위와 아래의 임피던스는 서로 일치된다. 이와 같이, 디지털 코드가 상하위로 차이를 갖는 것은 상위 하위의 PVT변화에 프로그래머블 임피던스 콘트롤러가 독립적으로 제어를 행하기 때문이다. 결국, 선택된 블록의 풀업 드라이버와 풀다운 드라이버가 독립적으로 온됨에 의해 전송선로의 특성 임피던스와 내부 임피던스는 같아지므로 온칩 터미네이션이 출력드라이버에 의해 프로그래머블하게 최적으로 수행된다.
본 발명은 예시된 도면을 위주로 한 실시 예들에 의거하여 설명되었으나 이에 한정되지 않으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 있어 본 발명의 기술적사상을 벗어나지 않는 범위내에서 다양한 변화와 변경이 가능함은 물론, 균등한 타의 실시예가 가능하다는 것은 명백하다. 예를 들어, 출력 드라이버의 세부구성을 타의 저항소자들로 변경하거나, 임피던스 콘트롤 방식을 다양하게 변화시킬 수 있음은 명백하다.