KR102038745B1 - 입력/출력 회로 및 입력/출력 회로를 실행하는 방법 - Google Patents

입력/출력 회로 및 입력/출력 회로를 실행하는 방법 Download PDF

Info

Publication number
KR102038745B1
KR102038745B1 KR1020167006784A KR20167006784A KR102038745B1 KR 102038745 B1 KR102038745 B1 KR 102038745B1 KR 1020167006784 A KR1020167006784 A KR 1020167006784A KR 20167006784 A KR20167006784 A KR 20167006784A KR 102038745 B1 KR102038745 B1 KR 102038745B1
Authority
KR
South Korea
Prior art keywords
input
output
receiver
voltage
circuit
Prior art date
Application number
KR1020167006784A
Other languages
English (en)
Other versions
KR20160048111A (ko
Inventor
아만 세와니
파라그 우파드하야
Original Assignee
자일링크스 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 자일링크스 인코포레이티드 filed Critical 자일링크스 인코포레이티드
Publication of KR20160048111A publication Critical patent/KR20160048111A/ko
Application granted granted Critical
Publication of KR102038745B1 publication Critical patent/KR102038745B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/1778Structural details for adapting physical parameters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/1778Structural details for adapting physical parameters
    • H03K19/17788Structural details for adapting physical parameters for input/output [I/O] voltages

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Dc Digital Transmission (AREA)
  • Logic Circuits (AREA)

Abstract

집적 회로(100)에서 실행된 입력/출력 회로(102)가 설명된다. 입력/출력 회로는, 입력/출력 패드(202, 204), 및 상기 입력/출력 패드에 연결된 전압 제어 회로(229)를 포함한다. 상기 전압 제어 회로는, 상기 제1 입력/출력 패드가 입력 패드로서 실행될 때 제1 전압에서(RX 모드 컨트롤: 하이), 그리고 상기 제1 입력/출력 패드가 출력 패드로서 실행될 때 제2 전압에서(RX 모드 컨트롤: 로우) 상기 제1 입력/출력 패드에 전압을 설정한다. 집적 회로에서 입력/출력 회로를 실행하는 방법 또한 설명된다.

Description

입력/출력 회로 및 입력/출력 회로를 실행하는 방법{INPUT/OUTPUT CIRCUITS AND METHODS OF IMPLEMENTING AN INPUT/OUTPUT CIRCUIT}
본 개시는 일반적으로 집적 회로 디바이스에 관한 것이며, 보다 자세하게는 입력/출력 회로 및 입력/출력 회로를 실행하는 방법에 관한 것이다.
광범위한 전자 디바이스에서 집적 회로는 중요한 소자이다. 어떠한 제품에서도, 집적 회로 디바이스를 향상시키기 위한 노력은 항상 존재한다. 다른 개선점들 중에서, 집적 회로의 크기를 감소시키고, 집적 회로의 용량을 증가시키는 노력이 자주 행해진다. 그러나, 집적 회로의 크기의 임의 감소 또는 집적 회로의 용량 증가는, 충분한 수의 입력/출력(I/O) 핀을 제공하는 것을 보다 곤란하게 할 것이다. 데이터는, 집적 회로 디바이스에 또는 집적 회로 디바이스로부터 디바이스 상의 입력/출력 핀에 의하여 전달된다. 집적 회로의 복잡도가 증가함에 따라, 입력 및 출력 핀에 대한 요건 또한 증가한다. 집적 회로의 플렉서빌리티(flexibility)를 증가시키기 위한 노력 또한 행해져 왔다. 그러나, 종래의 집적 회로 디바이스는 입력/출력 회로에 대한 플렉서빌리티를 제공하지 않는다.
집적 회로에서 실행된 입력/출력 회로를 설명한다. 입력/출력 회로는, 제1 입력/출력 패드; 및 상기 제1 입력/출력 패드에 연결된 전압 제어 회로를 구비하고, 상기 전압 제어 회로는, 제1 입력/출력 패드가 입력 패드로서 실행될 때 제1 전압에서, 그리고 제1 입력/출력 패드가 출력 패드로서 실행될 때 제2 전압에서 제1 입력/출력 패드에서 전압을 설정한다.
또다른 실행에 따르면, 집적 회로에서 실행된 입력/출력 회로는, 제1 입력/출력 패드; 공통 모드 전압에 연결된 제1 스위치로서, 상기 제1 스위치는, 상기 제1 입력/출력 패드가 입력 패드로서 실행될 때 상기 제1 입력/출력 패드에 상기 공통 모드 전압을 연결시키는 것을 인에이블링하게 하는 상기 제1 스위치; 및 기준 전압에 연결된 제2 스위치로서, 상기 제2 스위치는, 상기 제1 입력/출력 패드가 출력 패드로서 실행될 때 상기 제1 입력/출력 패드에 상기 기준 전압을 연결시키는 상기 제2 스위치를 포함한다.
집적 회로에서 입력/출력 회로를 실행시키는 방법이 또한 개시된다. 본 방법은, 제1 입력/출력 패드를 제공하는 단계; 상기 제1 입력/출력 패드가 입력 패드로서 실행될 때 상기 제1 입력/출력 패드에 공통 모드 전압을 연결시키는 단계; 및 상기 제1 입력/출력 패드가 출력 패드로서 실행될 때 상기 제1 입력/출력 패드에 기준 전압을 연결시키는 단계를 포함한다.
도 1은 입력/출력 포트들을 실행시키는 집적 회로 디바이스의 블록도이다.
도 2는 입력/출력 회로의 블록도이다.
도 3은 입력 신호들을 수신하도록 구성된 도 2의 입력/출력 회로의 실행을 도시하는 블록도이다.
도 4는 신호들을 송신하도록 구성된 도 2의 입력/출력 회로의 실행을 도시하는 블록도이다.
도 5는 출력 드라이버단에 연결된 보호 회로를 갖는 입력/출력 회로의 블록도이다.
도 6은 CML-CMOS 컨버터의 블록도이다.
도 7은 도 2의 출력 드라이버단의 프리-드라이버단을 도시하는 블록도이다.
도 8은 도 7의 프리-드라이버단의 동작을 도시하는 타이밍도이다.
도 9는 프리-드라이버단의 CMOS 인버터의 단면도이다.
도 10은 프로그래머블 리소스들을 갖는 디바이스를 프로그램하기 위한 시스템의 블록도이다.
도 11은 도 1 내지 도 9의 회로들을 실행시킬 수도 있는 프로그래머블 리소스들을 갖는 디바이스의 블록도이다.
도 12는 도 11의 디바이스의 컨피규러블(configurable) 논리 소자의 블록도이다.
도 13은 집적 회로에서 입력/출력 회로를 실행시키는 방법을 도시하는 흐름도이다.
도 14는 집적 회로에서 입력/출력 회로를 실행시키는 또다른 방법을 도시하는 흐름도이다.
도 15는 복수의 입력/출력 회로들을 갖는 집적 회로를 실행시키는 방법을 도시하는 흐름도이다.
이제 도 1에서, 입력/출력 포트들을 실행하는 집적 회로 디바이스의 블록도가 도시된다. 도 1의 회로는, 제어 회로(104) 및 프로그래머블 리소스들(106)에 연결된 입력/출력(I/O) 회로(102)를 갖는 집적 회로(100)에서 실행된다. 프로그래머블 리소스들은, 사용자 선택의 회로 설계를 실행하기 위하여 회로의 사용자에 의하여 구성 가능한 회로 소자들을 포함한다. 이하에 보다 상세히 설명되는 바와 같이, 프로그래머블 리소스들은 도 11 및 도 12를 참조하여 설명된 프로그래머블 논리와 같은 프로그래머블 논리를 포함할 수도 있다.
프로그래머블 리소스들에서 실행된 회로들은, 집적 회로(100)에 다운로드된 컨피규레이션 비트스트림에 따라 실행될 수도 있다. 이하에 보다 상세히 설명되는 바와 같이, 프로그래머블 리소스들(106)은 컨피규레이션 메모리(108)를 포함한다. 일반적으로, 컨피규레이션 메모리(108)는 컨피규레이션 비트스트림의 컨피규레이션 비트에 기초하여 프로그래머블 리소스들을 구성하기 위한 메모리 셀들을 포함한다. 단일의 컨피규레이션 리소스 블록(106)과 컨피규레이션 메모리(108)가 도시되었지만, 주어진 집적 회로는 컨피규레이션 메모리에 의하여 제어된 컨피규러블 리소스들을 갖는 복수의 블록들을 포함할 수도 있다. 또한, 집적 회로(100)는, 컨피규레이션 데이터를 저장하기 위하여, 프로그래머블 리소스들의 외부에 있는 비휘발성 메모리와 같은 메모리(112)를 포함할 수도 있다.
집적 회로(100)는 또한, 예컨대 입력/출력 포트들(114-116)에 연결된 다른 동작 회로들(113)을 포함할 수도 있다. 다른 동작 회로들(113)은 동작 회로들과는 분리되어 도시되어 있지만, 동작 회로들은 프로그래머블 리소스들(106)의 부분일 수 있다는 것이 이해되어야 한다. 입력/출력 회로들(102 및 114-116)의 일부 또는 전부는 메모리 소자들에 연결될 수도 있다. 예컨대, 입력/출력 회로(102)는 메모리 소자들(118, 120)에 의하여 제어될 수도 있고, 입력/출력 회로(114)는 메모리 소자들(122, 124)에 의하여 제어될 수도 있고, 입력/출력 회로(116)는 메모리 소자들(126, 128)에 의하여 제어될 수도 있다. 2개의 메모리 소자들이 각 입력/출력 회로와 함께 도시되어 있지만, 이하에 보다 상세히 설명되는 바와 같이, 더 많거나 더 작은 수의 메모리 소자들이 실행될 수도 있다는 것이 이해되어야 한다. 또한, 입력/출력 회로들이 프로그래머블 리소스들(106)로부터 분리되어 도시되고, 메모리 소자들이 컨피규레이션 메모리(108)로부터 분리되어 도시되었지만, 입력/출력 회로들이 프로그래머블 리소스들이고, 입력/출력 회로들(102, 114, 116)과 연관된 메모리 소자들이 컨피규레이션 메모리(108)의 부분일 수 있다는 것이 이해되어야 한다.
컨피규레이션 제어기(110)는, 제어 회로(104)의 일부로서 또는 그로부터 분리되어 실행되어, 컨피규레이션 데이터를 컨피규레이션 메모리(108)에 로딩할 수도 있다. 컨피규레이션 데이터는, I/O 포트(102)에 의하여, 또는 제어 회로(104)와 메모리(112)에 의하여 컨피규레이션 제어기(110)에 의하여 직접 로딩될 수도 있다. 도 1의 회로는, 예컨대, 이하 설명된 바와 같은 프로그래머블 논리 디바이스와 같은 프로그래머블 리소스들, 또는 프로그램 가능한 회로들의 일부를 갖는 주문형 반도체(application-specific integrated circuit; ASIC)를 갖는 임의의 디바이스일 수도 있다.
이하에 보다 상세히 설명되는 바와 같이, 아키텍쳐 및 회로 설계는 교류(AC) 연결된 저압 링크를 위한 통합된 양방향 입력/출력 회로를 달성한다. 본 회로는, 입력에서의 큰 스윙 및 큰 프로그래머블 출력 스윙을 지원하는 양방향 클로킹을 인에이블링한다. 본 회로는, AC 연결된 모드에서 50 옴 임피던스에서 동일한 핀이 입력 신호를 수신하거나 출력 신호를 송신하는 데 사용되도록 허용한다. 저전압 환경에서 나타난 전압 응력(voltage stress) 문제(즉, 입력 스윙은 2.4 Vpp 차동만큼 클 수 있고, 출력 스윙은 1V 전원으로부터 800 mVpp 차동 스윙까지 지원할 필요가 있는 경우)가 또한 다뤄진다.
본 회로의 일태양은, 동일한 핀들이 데이터를 수신하거나 송신하는 데 사용되어, 수신 버퍼와 송신 드라이버에 연결된 개별 핀들을 전용시킬 필요성을 제거하여, 하드웨어 비용 및 핀 사용을 감소시키는 컨피규러블 설계를 제공한다. 사용자는, 핀들이 데이터를 수신하거나 데이터를 송신하는 데 사용되는 지의 여부를 확립하도록 회로를 프로그램할 수도 있고, 데이터를 수신하거나 송신하도록 동일한 하드웨어를 재사용할 수도 있다.
도 2에 도시된 바와 같이, 예컨대 입력/출력 회로들(102, 114 또는 116) 중 하나 이상으로서 실행될 수 있는 입력/출력 회로(200)는, 한 쌍의 입력/출력 패드들(202(IO_P 지정된) 및 204(IO_N 지정된))을 포함하고, 그 각각은 수신 버퍼(206)에 연결된다. 수신 버퍼(206)는, 입력 패드(202)에 연결된 게이트를 갖는 제1 입력 트랜지스터(208), 제1 풀-업 레지스터(resistor)(210)(기준 전압(Vdd)에 연결된 단자를 갖는)에 연결된 드레인, 및 전류 소스(212)에 연결된 소스를 포함한다. 입력/출력 패드(204)는, 제2 풀-업 레지스터(216)와 전류 소스(212) 사이에 연결된 제2 입력 트랜지스터(214)의 게이트에 연결된다. 오프-칩 커패시터일 수도 있는 AC 연결 커패시터(coupling capacitor)(218) 및 보호 다이오드들(220, 222)은 또한 입력/출력 패드(202)에 연결된다. 유사하게, 또한 오프-칩 커패시터일 수도 있는 AC 연결 커패시터(224) 및 보호 다이오드들(226, 228)은 입력/출력 패드(204)에 연결된다.
전압 제어 회로(229)는 입력/출력 패드들(202, 204)의 전압을 제어하기 위하여 연결된다. 구체적으로, 인버터(230)와 스위치(231)의 제어 단자는 수신 모드 제어 신호(RX 모드 콘트롤(Mode Control))를 수신하기 위하여 연결되고, 인버터(230)의 출력에 생성된 반전 신호는 스위치(232)를 제어하기 위하여 연결된 송신 모드 제어 신호(TX 모드 콘트롤(Mode Control))이다. 제1 레지스터(234)와 제2 레지스터(236)를 포함하는 레지스터 디바이더 네트워크는, 제1 레지스터(234)와 제2 레지스터(236)를 연결하는 노드에서 생성된 전압을 통과하는 스위치(231)에 연결된다. 이하에 보다 자세히 설명되는 바와 같이, 제1 및 제2 레지스터들(234, 236) 중 하나 또는 모두는, 제1 및 제2 레지스터들을 연결하는 노드에 공통 모드 전압의 설정을 가능하게 하기 위하여 가변 레지스터들일 수도 있다.
RX 모드 제어 신호가 하이일 때, 스위치(231)는 폐쇄되어 레지스터들(238, 240)의 제1 단자들을 연결하는 노드에 공통 모드 전압을 제공하고, 여기서 레지스터(238)의 제2 단자는 입력/출력 패드(202)에 연결되고, 레지스터(240)의 제2 단자는 입력/출력 패드(204)에 연결된다. 따라서, RX 모드 동안, 레지스터(238)는, 공통 모드 전압과 입력/출력 패드(202) 사이의 풀-업 레지스터로서 기능하여, 오프셋을 제공하는 미리 결정된 DC 전압에 입력/출력 패드를 풀링하며, 오프셋 주위에 입력 신호가 I/O 패드 스윙에 연결된다. 예컨대, 공통 모드 전압이 800 밀리볼트(mv)이고, 입력 스윙이 1.2 볼트이면, AC 연결 입력 신호는 200 mv부터 1.4 볼트까지 스윙할 것이다. 유사하게, 레지스터(240)는 공통 모드 전압과 입력/출력 패드(204) 사이의 풀-업 레지스터로서 기능할 것이다. 입력/출력 패드들(202, 204)에 연결된 입력 신호들은 입력 버퍼(206)의 트랜지스터들(208, 214) 각각의 게이트들에 연결된다. 트랜지스터들(208, 214)의 드레인들에서의 입력 버퍼의 출력들은 CML-CMOS 컨버터 회로에 연결되며, 도 6을 참조하여 이하에 보다 상세히 설명될 것이다.
송신 모드에서, RX 모드 제어 신호가 로우이고, 스위치를 폐쇄하여 기준 전압(Vdd)을 노드 연결 레지스터들(238, 240)에 연결시키는 하이 TX 모드 제어 신호를 생성한다. 송신 드라이버 회로(241)는, 출력 신호들로서 생성되는 차동 신호(differential signal)들을 입력/출력 패드들(202, 204)에 제공하도록 구성된다. 송신 드라이버 회로(241)는, Dout_b 신호를 수신하도록 연결된 인버터(242)를 포함하고, 그 반전 신호는, 입력/출력 패드(202)에 신호를 생성하기 위해 트랜지스터(244)의 게이트에 연결된다. 유사하게, 인버터(246)는 Dout 신호를 수신하기 위하여 연결되고, 그 반전 신호는, 입력/출력 패드(204)에 신호를 생성하기 위하여 트랜지스터(248)의 게이트에 연결된다. 인버터들(242, 246)은, 도 7 및 도 8을 참조하여 보다 상세히 설명되는 바와 같이, 바람직하게는 스큐이드(skewed) 인버터이다. 전류 소스(250)은 트랜지스터들(244, 248)의 소스들에 연결되고, 선택적으로, 송신 모드에서 온되고, 수신 모드에서 오프된다. 트랜지스터들(244, 248)의 게이트는 하이로 풀링될 수도 있고(즉, Dout 및 Dout_b는 로우로 풀링됨), 여기서 트랜지스터들(244, 248)은 약하게 온될 수도 있다. 그러나, 전류 소스(250)가 오프이므로, 약하게 온된 트랜지스터들(244, 248)은 성능을 손상시키지 않을 것이다.
레지스터들(238, 240)은, RX 버퍼용 종료(termination)와 TX 드라이버의 종료/로딩으로서 동작하는 듀얼 기능을 갖는 50 옴 레지스터들일 수도 있다. 도 3에 도시된 바와 같은 수신 모드에서, RX 모드 제어 신호에 의하여 게이팅된(gated) 스위치(231)는 폐쇄되고, TX 모드 제어 신호에 의하여 게이팅된 스위치(232)는 개방된다. 입력 신호는, 입력/출력 패드들(202, 204)로부터 입력 버퍼(206)의 트랜지스터들(208, 214) 각각으로 흐른다. 레지스터들(238, 240)에 의하여 제공된 100 옴 차동 종료 저항은 입력 경로를 종료시켜, 반사(reflectoin)에 관한 문제들을 경감시킨다. 입력 버퍼(206)의 트랜지스터들(208, 214)은, 응력 보호를 위하여 그리고 개선된 CDM 성능을 위하여 두꺼운 산화물 NMOS 디바이스일 수도 있다. 차동 증폭기로서 실행된 입력단 뒤에 CML-CMOS 단이 따른다.
도 4에 도시된 바와 같은 송신 모드에서, TX 모드 제어 신호에 의하여 게이팅된 스위치(232)가 폐쇄되고, RX 모드 제어 신호에 의하여 게이팅된 스위치(231)가 개방되어, 차동 쌍의 각 레그에 대하여 50옴 로드 저항을 갖는 CML 출력 드라이버를 효과적으로 형성한다. 송신 드라이버 회로(241)의 트랜지스터들(244, 248)은, 큰 CML 스윙을 지원하기 위하여 바람직하게는 얇은 산화물 저압 트랜지스터이며, 여기서 입력/출력 패드들(202, 204)에서의 신호의 출력 스윙은 전류 소스의 전류와 전압 강하 교차 레지스터들(238, 240) 각각에 의존한다. 송신 모드에서, 입력/출력 패드들에서의 전압은 Vdd와 Vdd-IR 사이에서 스윙할 수도 있고, 여기서 I는 전류 소스(250)에 의하여 생성된 전류이고, R은 레지스터(238 또는 240)의 저항이다(트랜지스터(244 또는 248)가 온이고, 전류가 레지스터(238 또는 340)를 통하여 흐르는 지의 여부에 따라). 프리-드라이버 인버터들(242, 246)은, 적절한 바이어싱 및 양호한 공통 모드 복귀 손실을 보증하기 위하여, 바람직하게는 스큐이드 CMOS 인버터이다. 도 9를 참조하여 설명되는 바와 같이, CDM(charged device model) ESD(electrostatic discharge) 보호를 향상시키기 위하여 CMOS 트랜지스터들에서 바람직하게는 트리플-웰(triple-well) 처리가 사용된다.
이제 도 5에서, 출력 드라이버 상태에 연결된 보호 회로를 갖는 입력/출력 회로의 블록도가 도시되어 있다. 구체적으로, 보호 회로(502)가 트랜지스터들(244, 248)의 소스들에 연결된다. 수신 모드에서, 트랜지스터들(244, 248)의 소스들은 Vdd로 풀링되어 게이트/드레인 응력을 경감시킬 수도 있다. 수신 모드 동안, 입력/출력 패드들(202, 204)에 공급된 입력은, 예컨대 1.4 볼트만큼 높게 스윙할 수 있다. 트랜지스터들(244, 248)의 소스가 그라운드(즉, 0 볼트)에 있으면, 트랜지스터들(244, 248)의 소스와 드레인 사이에 1.4 볼트 전압차가 존재한다. 그러나, 트랜지스터들(244, 248)이 얇은 산화물 트랜지스터이면, 산화물 영역은 1.05 볼트보다 큰 전압을 받을 수 없다. 따라서, 수신 모드 동안, 보호 회로(502)는 Vdd를 트랜지스터들(244, 248)의 소스들에 연결시킬 것이다. 즉, 전류 소스(250)는 수신 모드 동안 오프이고, 트랜지스터들의 소스들이 플로팅(floating)하고 있으므로, 기준 전압(Vdd)으로의 트랜지스터들의 소스들의 풀링은 트랜지스터들(244, 248)의 소스와 드레인 간의 전위차를 감소시킬 것이고, 따라서 트랜지스터로의 어떤 손상도 방지한다. 스위치들(231, 232)는 물론, 보호 회로(502)는, 주어진 전압을 위한 경로를 제공하기 위하여 각 제어 모드 신호를 그 게이트에서 수신하도록 연결된 트랜지스터에 의하여 실행될 수 있고, 여기서 제어 모드 신호들은, 도 1의 입력/출력 회로들과 연관된 메모리 소자들과 같은 메모리 소자들에 기억된 데이터 값들에 의하여 실행될 수도 있다.
이제 도 6에서, CML-CMOS 컨버터(600)의 블록도가 도시되어 있다. 구체적으로, 입력을 수신하기 위한(도 2의 입력 버퍼(206)의 차동 출력으로부터) 제1 입력단은, 기준 전압(Vdd)과 트랜지스터(604) 사이에 연결된 트랜지스터(602)를 포함하고, 이 트랜지스터(602)는 입력 버퍼(206)의 차동 출력의 제1 차동 출력(V-)을 그 게이트에서 수신한다. 트랜지스터(604)의 소스는, CML-CMOS 컨버터(600)의 동작을 인에이블하기 위하여, 인에이블 신호를 그 게이트에서 수신하는 제어 트랜지스터(606)의 드레인에 연결된다. 제2 입력단은, 기준 전압(Vdd)와 트랜지스터(610) 사이에 연결된 트랜지스터(608)를 포함하고, 그 소스는 트랜지스터(606)의 드레인에 연결된다. 트랜지스터(610)의 게이트는 제2 차동 출력(V+)을 수신하기 위하여 연결된다. 출력단은, 트랜지스터(612)와 트랜지스터(614)의 드레인들에 출력 신호(Vout)를 생성하기 위하여 Vdd와 출력 노드 사이에 연결된 트랜지스터(612)를 포함한다. 트랜지스터(612)의 게이트는 트랜지스터(608)의 게이트에 연결되고, 트랜지스터(614)의 게이트는 도시된 바와 같이 트랜지스터들(616, 618)의 드레인들에 연결된다. 트랜지스터(616)의 게이트는 트랜지스터(602)의 게이트에 연결되고, 트랜지스터(618)의 게이트는 그 드레인에 연결된다. 도 6의 회로가 CML-CMOS 컨버터의 일 예를 제공하나, CML-CMOS 변환을 제공하기 위하여 다른 회로 장치가 실행될 수 있다는 것이 이해되어야 한다.
이제 도 7에서, 블록도는 도 2의 출력 드라이버의 프리-드라이버단을 도시한다. 도 7에 도시된 바와 같이, 인버터(242)는 n-채널 트랜지스터(704)와 직렬로 연결된 p-채널 트랜지스터(702)로서 실행된다. 유사하게, 인버터(246)는 n-채널 트랜지스터(708)와 직렬로 연결된 p-채널 트랜지스터(706)로서 실행된다. 인버터의 n-채널 및 p-채널 트랜지스터의 상대 크기는 스큐를 제공하기 위하여 선택될 수 있다. 도 8의 제1 타이밍도에 도시된 바와 같이, 정규 인버터가 제공되며, 여기서 인버터의 트랜지스터는 대칭의 풀 업 및 풀 다운 강도를 갖는다. 점선으로 도시된 제2 타이밍도는 스큐잉된 인버터를 도시하고, 여기서 p-채널 트랜지스터의 풀-업 강도는 n-채널 트랜지스터의 풀 다운 강도보다 크다. 2개의 타이밍도의 복합도는 스큐잉된 인버터의 높은 크로싱을 도시한다. 트랜지스터의 강도는, 공지된 바와 같이, 트랜지스터의 차원을 가변시킴으로써 변할 수 있다. 스큐잉된 인버터를 제공함으로써, 전류 소스(250)는 일정 출력을 생성할 수 있다.
이제 도 9에서, 프리-드라이버단의 인버터로서 실행될 수도 있는 CMOS 인버터(900)의 단면도가 도시되어 있다. 도 9의 인버터는 트리플-웰 산화물에서 실행되고, n-웰(904)을 갖는 p형 웨이퍼(902)를 포함한다. 트랜지스터 소자는 기판(902)과 n-웰(904)에 형성된다. 구체적으로, n-웰(904)에서의 제1 트랜지스터는, 소스 영역(906), 드레인 영역(908), 및 게이트 산화물(912) 위의 게이트 컨택트(910)를 포함한다. 본체 확산 영역(914)은 또한 n-웰(904)의 바이어싱을 가능하게 하기 위하여 제공된다. 기판에서의 제2 트랜지스터는, 도시된 바와 같이, 소스 영역(916), 드레인 영역(918), 및 게이트 산화물(922) 위의 게이트 컨택트(920)를 포함한다. 제2 확산 영역(924)은 기판의 바이어싱을 가능하게 한다. ESD 보호를 향상시키는 도 9의 인버터는 예로써 도시되어 있고, 다른 인버터 회로들이 이용될 수 있다는 것이 이해되어야 한다.
이제 도 10에서, 실행에 따른 프로그래머블 리소스들을 갖는 디바이스를 프로그래밍하기 위한 시스템의 블록도가 도시되어 있다. 구체적으로, 컴퓨터(1002)가 메모리(1006)로부터 회로 설계(1004)를 수신하기 위하여 연결되어, 비휘발성 메모리(1008)로 기억된 컨피규레이션 비트스트림을 생성한다. 이하에 보다 상세히 설명되는 바와 같이, 회로 설계는 하드웨어 기술 언어(hardware description language; HDL)로 정의된 회로 설계와 같은 고레벨 설계일 수도 있다. 또한, 컴퓨터는, 비휘발성 메모리(1008)에 기억되고, 도 10에서 이하에 설명된 집적 회로와 같은 프로그래머블 집적 회로일 수도 있는 집적 회로(1010)에 제공된 컨피규레이션 비트스트림을 생성하는 소프트웨어를 구동시키도록 구성될 수도 있다. 이하에 보다 상세히 설명되는 바와 같이, 도 1의 입력/출력 회로의 메모리 소자들을 포함하는 집적 회로의 프로그래머블 리소스들을 구성하는 데 컨피규레이션 비트스트림의 비트가 사용된다.
이제 도 11에서, 도 1 내지 도 7의 회로들을 포함하는 프로그래머블 리소스들을 갖는 디바이스의 블록도가 도시된다. 프로그래머블 리소스들을 갖는 디바이스들이, 프로그래머블 리소스들을 갖는 주문형 반도체(ASIC)와 같은 임의 형태의 집적 회로 디바이스에서 실행될 수도 있지만, 다른 디바이스들은 전용 프로그래머블 논리 디바이스들(programmable logic devices; PLD)을 포함한다. PLD의 일 형태는 CPLD(Complex Programmable Logic Device)이다. CPLD는 함께 인터커넥트 스위치 매트릭스에 의하여 입력/출력(I/O) 리소스들에 연결된 2 이상의 "기능 블록(function block)"을 포함한다. CPLD의 각 기능 블록은, PLA(Programmable Logic Array) 또는 PAL(Programmable Array Logic) 디바이스에 사용된 것과 유사한 2레벨 AND/OR 구조를 포함한다. 다른 형태의 PLD는 FPGA(field programmable gate array)이다. 통상적인 FPGA에서, CLB(configurable logic block)의 어레이는 프로그래머블 입력/출력 블록(inout/output block; IOB)에 연결된다. CLD와 IOB는 프로그래머블 라우팅 리소스들의 계층에 의하여 상호접속된다. 이들 CLB, IOB, 및 프로그래머블 라우팅 리소스들은, 통상적으로 오프-칩 메모리로부터의 컨피규레이션 비트스트림을 FPGA의 컨피규레이션 메모리 셀들에 로딩함으로써 커스터마이징된다. 이들 형태의 프로그래머블 논리 디바이스 모두에 대하여, 디바이스의 기능성은 그 용도를 위한 디바이스에 제공된 컨피규레이션 비트스트림의 컨피규레이션 데이터 비트에 의하여 제어된다. 컨피규레이션 데이터 비트는, 휘발성 메모리(예컨대, FPGA 및 일부 CPLD에서와 같이 정적 메모리 셀)에서, 비휘발성 메모리(예컨대, 일부 CPLD에서와 같이 플래시 메모리)에서, 또는 임의의 다른 형태의 메모리 셀에서 기억될 수도 있다.
도 11의 디바이스는, 멀티-기가비트 트랜시버들(MGTs)(1101), CLB들(1102), 랜덤 액세스 메모리 블록(random access memory blocks; BRAMs)(1103), 입력/출력 블록들(IOBs)(1104), 컨피규레이션 및 클로킹 논리(CONFIG/CLOCKS)(1105), 디지털 신호 처리 블록들(DSPs)(1106), 전문적(specialized) 입력/출력 블록들(I/O)(1107)(예컨대, 컨피규레이션 포트들 및 클록 포트들), 및 디지털 클록 매니저들, 아날로그-디지털 컨버터들, 시스템 모니터링 논리 등과 같은 다른 프로그래머블 논리(1108)를 포함하는 많은 수의 상이한 프로그래머블 타일들을 갖는 FPGA 아키텍쳐(1100)를 포함한다. 일부 FPGA는 또한, 예컨대 소프트웨어 애플리케이션을 실행시키는 데 사용될 수도 있는 전용 프로세서 블록들(PROC)(1110)을 포함한다.
일부 FPGA에서, 각 프로그래머블 타일은, 각 인접 타일에서 대응하는 상호 접속 소자에 그리고 이 상호 접속 소자로부터의 표준화된 접속을 갖는 프로그래머블 상호 접속 소자(INT)(1111)를 포함한다. 따라서, 함께 취해진 프로그래머블 상호 접속 소자들은 도시된 FPGA를 위한 프로그래머블 상호 접속 구조를 실행한다. 프로그래머블 상호 접속 소자(1111)는 또한, 도 11의 상부에 포함된 예로 도시된 바와 같이, 동일한 타일 내의 프로그래머블 논리 소자에 및 이 프로그래머블 논리 소자로부터의 접속을 포함한다.
예컨대, CLB(1102)는, 사용자 논리 플러스 단일 프로그래머블 상호 접속 소자(1111)를 실행시키도록 프로그램될 수도 있는 컨피규러블 논리 소자(configurable logic element; CLE)(1112)를 포함할 수도 있다. BRAM(1103)은, 하나 이상의 프로그래머블 상호 접속 소자들 외에, BRAM 논리 소자(BRL)(1113)를 포함할 수도 있다. BRAM은 컨피규레이션 논리 블록의 분배된 RAM으로부터 분리된 전용 메모리를 포함한다. 통상적으로, 타일에 포함된 상호 접속 소자들수는 타일의 높이에 따른다. 도시된 실행에서, BRAM 타일은 5개의 CLB들과 동일한 높이를 가지나, 다른 개수가 또한 사용될 수도 있다. DSP 타일(1106)은, 적절한 수의 프로그래머블 상호 접속 소자들 외에, DSP 논리 소자(DSPL)(1114)를 포함할 수도 있다. IOB(1104)는 예컨대, 프로그래머블 상호 접속 소자(1111)의 한 인스턴스 외에, 입력/출력 논리 소자(IOL)(1115)의 2개의 인스턴스를 포함할 수도 있다. 디바이스의 접속의 위치는, 그 용도를 위하여 장치에 제공된 컨피규레이션 비트스트림의 컨피규레이션 데이터 비트에 의하여 제어된다. 프로그래머블 상호 접속은, 컨피규레이션 비트스트림의 비트에 응답하여, 다양한 신호들을 프로그래머블 논리에서 실행된 회로들에, 또는 BRAM들 또는 프로세서와 같은 다른 회로들에 연결시키기 위하여 사용되는 상호 접속 라인들을 포함하는 접속들을 인에이블한다.
도시된 실행에서, 다이의 중심 근처의 컬럼 영역은, 컨피규레이션, 클록, 및 다른 제어 논리용으로 사용된다. 이 칼럼으로부터 연장된 컨피규레이션/클록 분배 영역들(1109)은, FPGA의 폭에 걸쳐 클록 및 컨피규레이션 신호들을 분배시키는 데 사용된다. 도 11에 도시된 아키텍쳐를 이용하는 일부 FPGA들은, FPGA의 큰 부분을 형성하는 정규(regular) 컬럼 구조를 방해하는 부가적인 논리 블록들을 포함한다. 부가적인 논리 블록들은 프로그래머블 블록들 및/또는 전용 논리일 수도 있다. 예컨대, 도 11에 도시된 프로세서 블록(PROC)(1110)은 CLB들 및 BRAM들의 몇몇 컬럼에 걸쳐 있다.
도 11은 예시적인 FPGA 아키택쳐만을 도시하도록 의도된 것임에 주목바란다. 컬럼에서의 논리 블록들수, 컬럼의 상대 폭, 컬럼의 개수 및 순서, 컬럼에 포함된 논리 블록들의 형태, 논리 블록들의 상대 크기, 및 도 11의 상부에 포함된 상호 접속/논리 실행은 단지 예시적이다. 예컨대, 실제 FPGA에서, CLB들의 하나 보다 많은 인접 컬럼은 통상적으로, 사용자 논리의 효율적인 실행을 용이하게 하기 위하여 CLB가 어디에 나타나던지 간에 포함된다. 도 11의 실행이 프로그래머블 리소스들을 갖는 집적 회로에 관한 것이지만, 이하에 보다 상세히 나타낸 회로들과 방법들은 임의 형태의 ASIC에서 실행될 수 있다는 것이 이해되어야 한다.
이제 도 12에서, 도 11의 디바이스의 컨피규러블 논리 소자의 블록도가 도시된다. 구체적으로, 도 12는, 도 11의 컨피규레이션 논리 블록(1102)의 컨피규러블 논리 소자의 단순화된 형태를 도시한다. 도 12의 실행에서, 슬라이스 M(1201)은 4개의 룩업 테이블들(LUTMs)(1201A-1401D)을 포함하고, 각 룩업 테이블은 6개의 LUT 데이터 입력 단자들(A1-A6, B1-B6, C1-C6, D1-D6)에 의하여 구동되고, 각 룩업 테이블은 2개의 LUT 출력 신호들(O5, O6)을 제공한다. LUT들(1201A-1201D)로부터의 O6 출력 단자들은 각각 슬라이스 출력 단자들(A-D)을 구동시킨다. LUT 데이터 입력 신호들은 입력 멀티플렉서들을 경유하여 FPGA 상호 접속 구조에 의하여 공급되며, 프로그래머블 상호 접속 소자(1211)에 의하여 실행될 수도 있고, LUT 출력 신호들은 또한 상호 접속 구조에 공급된다. 슬라이스 M은 또한, 출력 단자들(AMUX-DMUX)을 구동시키는 출력 선택 멀티플렉서들(1211A-1211D); 메모리 소자들(1202A-1202D)의 데이터 입력 단자들을 구동시키는 멀티플렉서들(1212A-1212D); 조합 멀티플렉서들(1216, 1218, 1219); 바운스 멀티플렉서 회로들(1222-1223); 인버터(1205)와 멀티플렉서(1206)(함께 입력 클록 경로 상에 선택적인 반전을 제공하는)로 나타낸 회로; 및 멀티플렉서들(1214A-1214D, 1215A-1215D, 1220-1221) 및 배타적 OR 게이트들(1213A-1213D)을 갖는 캐리 논리(carry logic)를 포함한다. 이들 소자들 모두 도 12에 도시된 바와 같이 함께 연결된다. 도 12에 도시된 멀티플렉서에 대하여 선택 입력이 도시되지 않지만, 선택 입력은 컨피규레이션 메모리 셀들에 의하여 제어된다. 즉, 컨피규레이션 메모리 셀들에 기억된 컨피규레이션 비트스트림의 컨피규레이션 비트는 멀티플렉서들의 선택 입력들에 연결되어, 멀티플렉서들에 대한 올바른 입력들을 선택한다. 공지된 이들 컨피규레이션 메모리 셀들은, 여기서 다른 선택된 도면들로부터도 물론, 명확성을 위하여 도 12에서 생략된다.
도시된 실행에서, 각 메모리 소자(1202A-1202D)는 동기 또는 비동기 플립-플롭 또는 래치로서 기능하도록 프로그램될 수도 있다. 동기 및 비동기 기능성 간의 선택은, 동기/비동기 선택 회로(1203)를 프로그램함으로써 슬라이스로 모든 4개의 메모리 소자들에 대하여 행해진다. S/R(set/reset) 입력 신호가 셋 기능을 제공하도록 메모리 소자가 프로그램될 때, REV 입력단은 리셋 기능을 제공한다. S/R 입력 신호가 리셋 기능을 제공하도록 메모리 소자가 프로그램될 때, REV 입력단은 셋 기능을 제공한다. 메모리 소자들(1202A-1202D)은, 예컨데 글로벌 클록 네트워크 또는 상호 접속 구조에 의하여 제공될 수도 있는 클록 신호(CK)에 의하여 클로킹된다. 그러한 프로그래머블 메모리 소자들은 FPGA 설계의 기술에서 공지되어 있다. 각 메모리 소자(1202A-1202D)는 상호 접속 구조에 레지스터링된 출력 신호(AQ-DQ)를 제공한다. 각 LUT(1201A-1201D)가 2개의 출력 신호들 O5 및 O6을 제공하므로, LUT는, 5개의 공유 입력 신호들(IN1-IN5)을 갖는 2개의 5 입력(LUT)으로서, 또는 입력 신호들(IN1-IN6)을 갖는 1개의 6 입력 LUT로서 기능하도록 구성될 수도 있다.
도 12의 실행에서, 각 LUTM(1201A-1201D)은 몇몇 모드들 중 임의 모드에서 기능할 수도 있다. 룩업 테이블 모드에서, 각 LUT는 입력 멀티플렉서를 경유하여 FPGA 상호 접속 구조에 의하여 공급된 6개의 데이터 입력 신호들(IN1-IN6)을 갖는다. 64 데이터값들 중 하나가 신호들(IN1-IN6)의 값들에 기초하여 컨피규레이션 메모리 셀들로부터 프로그램 가능하게 선택된다. RAM 모드에서, 각 LUT 기능은 공유된 어드레싱을 갖는 단일 64비트 RAM 또는 2개의 32비트 RAM으로서 기능한다. RAM 라이트 데이터(write data)는, 입력 단자(DI1)를 경유하여(LUT들(1201A-1201C)에 대한 멀티플렉서들(1217A-1217C)을 경유하여) 64비트 RAM에, 또는 입력 단자들(DI1 및 DI2)을 경유하여 2개의 32비트 RAM들에 공급된다. LUT RAM들에서의 RAM 라이트 동작들은, 클록 인에이블 신호(CE) 또는 라이트 인에이블 신호(WE)를 선택적으로 지나갈 수도 있는, 멀티플렉서(1206)로부터의 클록 신호(CK)에 의하여 그리고 멀티플렉서(1207)로부터의 라이트 인에이블 신호(WEN)에 의하여 제어된다. 시프트 레지스터 모드에서, 각 LUT는 2개의 16비트 시프트 레지스터들로서, 또는 단일 32비트 시프트 레지스터를 생성하도록 직렬로 연결된 2개의 16비트 시프트 레지스터들로 기능한다. 입력 단자들(DI1 및 DI2) 중 하나 또는 모두를 경유하여 시프트-인 신호들이 제공된다. 16비트 및 32비트 시프트 아웃 신호들은 LUT 출력 단자들을 통하여 제공될 수도 있고, 32비트 시프트 아웃 신호는 LUT 출력 단자(MC31)를 경유하여 또한 직접 제공될 수도 있다. LUT(1201A)의 32비트 시프트 아웃 신호(MC31)는 또한, 출력 선택 멀티플렉서(1211D)와 CLE 출력 단자(DMUX)를 경유하여, 시프트 레지스터 체이닝(chaining)을 위하여 일반 상호 접속 구조에 제공될 수도 있다. 따라서, 여기서 나타낸 회로들 및 방법들은, 도 11 및 도 12의 디바이스들과 같은 디바이스에서 또는 임의의 다른 적합한 디바이스에서 실행될 수도 있다.
이제 도 13에서, 흐름도는 집적 회로에서 입력/출력 회로를 실행하는 방법을 도시한다. 구체적으로, 블록 1302에서 입력/출력 패드가 제공된다. 블록 1304에서 입력/출력 패드가 입력 패드로서 실행될 때, 공통 모드 전압이 입력/출력 패드에 연결된다. 블록 1306에서 입력/출력 패드가 출력 패드로서 실행될 때, 기준 전압이 입력/출력 패드에 연결된다.
이제 도 14에서, 흐름도는 집적 회로에서 입력/출력 회로를 실행하는 다른 방법을 도시한다. 블록 1402에서 집적 회로에 입력/출력 패드가 제공된다. 블록 1404에서 입력/출력 패드가 입력 패드로서 또는 출력 패드로서 실행되는 지의 여부가 판정된다. 블록 1406에서 입력/출력 패드가 입력 패드로서 실행될 때, 공통 모드 전압이 입력/출력 패드에 연결된다. 블록 1408에서 입력/출력 패드가 출력 패드로서 실행될 때, 기준 전압이 입력/출력 패드에 연결된다.
이제 도 15에서, 흐름도는 복수의 입력/출력 회로들을 갖는 집적 회로를 실행하는 방법을 도시한다. 블록 1502에서 집적 회로에 복수의 입력/출력 패드가 제공된다. 블록 1504에서 입력/출려 패드가 입력 패드로서 또는 출력 패드로서 실행되는 지의 여부가 판정된다. 블록 1506에서, 입력 패드 또는 출력 패드로서 복수의 입력/출력 패드들의 각각을 구성하기 위한 컨피규레이션 데이터가 집적 회로에 다운로드된다. 다음, 블록 1508에서, 입력/출력 패드가 입력으로서 실행되는 지의 여부가 판정된다. 그렇다면, 블록 1510에서 컨피규레이션 데이터를 이용하여 입력/출력 패드가 입력 패드로서 실행될 때, 공통 모드 전압이 입력/출력 패드에 연결된다. 그렇지 않다면, 블록 1512에서 컨피규레이션 데이터를 이용하여 입력/출력 패드가 출력 패드로서 실행될 때, 기준 전압이 입력/출력 패드에 연결된다. 다음, 블록 1514에서 구성될 입력/출력 패드가 더 이상 존재하는 지의 여부가 판정된다. 다음, 블록 1516에서 회로는 입력 또는 출력 패드와 복수의 입력/출력 패드를 사용하여 회로가 동작된다.
도 13 내지 도 15의 방법의 다양한 소자들이 설명된 도 1 내지 도 12의 회로들을 이용하여, 또는 어떠한 다른 적합한 회로들을 이용하여 실행될 수도 있다. 특정한 소자들 및 방법이 설명되지만, 방법의 추가적인 소자들, 또는 소자들에 관련된 추가적인 상세는 도 1 내지 도 13의 개시에 따라 실행될 수 있다는 것이 이해되어야 한다.
여기서 설명된 예들은 다음을 포함한다.
집적 회로에서 실행된 입력/출력 회로가 설명된다. 입력/출력 회로는, 제1 입력/출력 패드; 및 상기 제1 입력/출력 패드에 연결된 전압 제어 회로를 포함하며, 상기 전압 제어 회로는, 상기 제1 입력/출력 패드가 입력 패드로서 실행될 때, 제1 전압에서, 그리고 상기 제1 입력/출력 패드가 출력 패드로서 실행될 때, 제2 전압에서 상기 제1 입력/출력 패드에 전압을 설정한다.
다음의 하나 이상이 적용될 수도 있다. 전압 제어 회로는, 제1 입력/출력 패드가 입력 패드로서 실행될 때, 제1 입력/출력 패드에 공통 모드 전압을 연결시킬 수 있다. 공통 모드 전압은 프로그래머블 공통 모드 전압일 수 있다. 전압 제어 회로는, 공통 모드 전압을 설정하기 위하여, 가변 레지스터를 갖는 레지스터 디바이더 회로를 포함할 수 있다. 입력/출력 회로는 제2 입력/출력 패드를 더 포함할 수 있고, 상기 제2 입력/출력 패드는 전압 제어 회로에 연결된다. 입력/출력 회로는, 제1 입력/출력 패드와 제2 입력/출력 패드에 연결된 입력 버퍼를 더 포함할 수 있다. 입력/출력 회로는, 입력 버퍼의 출력 노드에 연결된 CML-CMOS 회로를 더 포함할 수 있다.
전압 제어 회로는, 공통 모드 전압에 연결된 제1 스위치로서, 상기 제1 스위치는, 제1 입력/출력 패드가 입력 패드로서 실행될 때 상기 제1 입력/출력 패드에 공통 모드 전압을 연결시키는 것을 가능하게 하는 상기 제1 스위치; 및 기준 전압에 연결된 제2 스위치로서, 상기 제2 스위치는, 상기 제1 입력/출력 패드가 출력 패드로서 실행될 때 상기 제1 입력/출력 패드에 기준 전압을 연결시키는 것인 상기 제2 스위치를 포함할 수 있다.
다음 중 하나 이상이 적용될 수도 있다. 제1 스위치는 제1 메모리 소자에 의하여 제어될 수 있고, 제2 스위치는 제2 메모리 소자에 의하여 제어될 수 있다. 입력/출력 회로는 제2 입력/출력 패드를 더 포함할 수 있고, 상기 제2 입력/출력 패드는, 제2 입력/출력 패드가 입력 패드로서 실행될 때, 공통 모드 전압에 연결된다.
집적 회로에서 입력/출력 회로를 실행하는 방법이 또한 설명된다. 본 방법은, 제1 입력/출력 패드를 제공하는 단계; 제1 입력/출력 패드가 입력 패드로서 실행될 때, 공통 모드 전압을 제1 입력/출력 패드에 연결시키는 단계; 및 제1 입력/출력 패드가 출력 패드로서 실행될 때, 기준 전압을 제1 입력/출력 패드에 연결시키는 단계를 포함한다.
다음 중 하나 이상이 적용될 수도 있다. 공통 모드 전압을 제1 입력/출력 패드에 연결시키는 단계는, 프로그래머블 공통 모드 전압을 연결시키는 단계를 포함할 수 있다. 공통 모드 전압 또는 기준 전압을 연결시키는 단계는, 적어도 하나의 메모리 소자에서의 데이터에 기초할 수 있다. 본 방법은 제2 입력/출력 패드를 제공하는 단계를 더 포함할 수 있고, 제2 입력/출력 패드가 입력 패드로서 실행될 때, 제2 입력/출력 패드는 공통 모드 전압에 연결된다.
집적 회로에서 입력/출력 회로를 실행시키기 위한 신규한 방법 및 디바이스가 설명되었다는 것이 이해될 수 있다. 개시된 방법들 및 디바이스들을 통합시키는 다수의 대체물 및 등가물이 존재하는 것으로 보여질 것이다는 것이 당업자에 의하여 이해될 것이다. 그 결과, 본 발명은 상기 예들에 의하여 제한되지 않고, 다음의 청구항에 의해서만 제한된다.

Claims (14)

  1. 집적 회로에서 실행된 입력/출력 회로에 있어서,
    입력 신호를 수신하거나 출력 신호를 송신하는 데 사용될 수도 있는, 입력/출력 차동쌍을 형성하는 제1 입력/출력 패드 및 제2 입력/출력 패드;
    상기 입력/출력 차동쌍에 연결된 전압 제어 회로로서, 상기 전압 제어 회로는, 수신 모드 또는 송신 모드를 인에이블하는 제어 신호를 수신하기 위하여, 그리고 상기 수신 모드가 인에이블되는 것에 응답하여 제1 전압을 향하여 또는 상기 송신 모드가 인에이블되는 것에 응답하여 제2 전압을 향하여 상기 입력/출력 차동쌍에서의 전압을 풀링(pulling)하기 위하여 연결되는 것인 상기 전압 제어 회로;
    수신기 트랜지스터 차동쌍을 포함하고, 상기 수신 모드가 인에이블되는 것에 응답하여 상기 입력/출력 차동쌍을 통해 수신된 입력에 기초하여 수신기 차동 신호를 출력하도록 동작 가능한 수신 버퍼; 및
    송신기 트랜지스터 차동쌍을 포함하고, 상기 송신 모드가 인에이블되는 것에 응답하여 상기 입력/출력 차동쌍을 통해 송신기 차동 신호를 송신하도록 동작 가능한 송신 드라이버 회로
    를 포함하는 집적 회로에서 실행된 입력/출력 회로.
  2. 제 1 항에 있어서, 상기 수신 버퍼는,
    상기 제1 입력/출력 패드에 연결된 게이트, 제1 수신기 레지스터(resistor)를 통하여 전원 전압에 연결된 소스, 및 전류 싱크를 통하여 그라운드에 연결된 드레인을 갖는, 상기 수신기 트랜지스터 차동쌍의 제1 수신기 트랜지스터; 및
    상기 제2 입력/출력 패드에 연결된 게이트, 제2 수신기 레지스터를 통하여 t상기 전원 전압에 연결된 소스, 및 전류 싱크를 통하여 상기 그라운드에 연결된 드레인을 갖는, 상기 수신기 트랜지스터 차동쌍의 제2 수신기 트랜지스터
    를 포함하고,
    상기 수신기 차동 신호는, 상기 제1 수신기 트랜지스터의 소스와 상기 제1 수신기 레지스터 사이의 제1 수신기 출력 노드에 기초한 제1 신호, 및 상기 제2 수신기 트랜지스터의 소스와 상기 제2 수신기 레지스터 사이의 제2 수신기 출력 노드에 기초한 제2 신호를 포함하는 것인 집적 회로에서 실행된 입력/출력 회로.
  3. 제 1 항에 있어서, 상기 송신 드라이버 회로는,
    전류 소스를 통하여 그라운드에 연결된 드레인, 상기 제1 입력/출력 패드에 그리고 제1 전압 강하 크로스-레지스터를 통하여 상기 전압 제어 회로에 연결된 소스, 및 인버터를 통하여 네가티브 송신기 입력에 연결된 게이트를 갖는, 상기 송신기 트랜지스터 차동쌍의 제1 송신기 트랜지스터; 및
    상기 전류 소스를 통하여 그라운드에 연결된 드레인, 상기 제2 입력/출력 패드에 그리고 제2 전압 강하 크로스-레지스터를 통하여 상기 전압 제어 회로에 연결된 소스, 및 인버터를 통하여 포지티브 송신기 입력에 연결된 게이트를 갖는, 상기 송신기 트랜지스터 차동쌍의 제2 송신기 트랜지스터
    를 포함하고,
    상기 네가티브 송신기 입력과 상기 포지티브 송신기 입력은 함께 송신기 입력 차동쌍을 형성하는 것인 집적 회로에서 실행된 입력/출력 회로.
  4. 제 1 항에 있어서, 상기 전압 제어 회로는, 상기 제1 전압을 설정하기 위하여 가변 레지스터를 갖는 레지스터 디바이더 회로를 포함하는 것인 집적 회로에서 실행된 입력/출력 회로.
  5. 제 3 항에 있어서, 상기 전류 소스는, 상기 수신 모드가 인에이블되는 것에 응답하여 전류를 통과시키지 않는 가변 전류 소스를 포함하는 것인 집적 회로에서 실행된 입력/출력 회로.
  6. 제 1 항에 있어서, 상기 수신 모드가 인에이블되는 것에 응답하여 상기 송신기 트랜지스터 차동쌍의 트랜지스터들의 드레인들을 상기 제2 전압에 연결시키도록 동작 가능한 보호 회로를 더 포함하는 집적 회로에서 실행된 입력/출력 회로.
  7. 제 1 항에 있어서, 상기 수신기 차동 신호를 수신하도록 연결된 CML-CMOS 회로를 더 포함하는 집적 회로에서 실행된 입력/출력 회로.
  8. 제 2 항에 있어서, 상기 전압 제어 회로는,
    상기 제1 전압에 연결된 제1 스위치로서, 상기 제1 스위치는, 상기 수신 모드가 인에이블되는 것에 응답하여 상기 입력/출력 차동쌍에 상기 제1 전압을 연결시키는 것을 인에이블하는 것인 상기 제1 스위치; 및
    기준 전압에 연결된 제2 스위치로서, 상기 제2 스위치는, 상기 송신 모드가 인에이블되는 것에 응답하여 상기 입력/출력 차동쌍에 상기 기준 전압을 연결시키는 것인 상기 제2 스위치
    를 포함하는 것인 집적 회로에서 실행된 입력/출력 회로.
  9. 제 8 항에 있어서, 상기 제1 스위치는 제1 메모리 소자에 의하여 제어되고, 상기 제2 스위치는 제2 메모리 소자에 의하여 제어되는 것인 집적 회로에서 실행된 입력/출력 회로.
  10. 제 1 항에 있어서, 상기 제1 입력/출력 패드는 제1 AC 연결 커패시터에 연결되고, 상기 제2 입력/출력 패드는 제2 AC 연결 커패시터에 연결되는 것인 집적 회로에서 실행된 입력/출력 회로.
  11. 집적 회로에서 입력/출력 회로를 동작시키는 방법에 있어서,
    전압 제어 회로에 의해, 수신 모드 또는 송신 모드를 인에이블하는 제어 신호를 수신하는 단계;
    상기 전압 제어 회로에 의해, 상기 제어 신호에 응답하여, 입력 신호를 수신하거나 출력 신호를 송신하는 데 사용될 수도 있는, 입력/출력 차동쌍에서의 전압을, 상기 수신 모드가 인에이블되는 것에 응답하여 제1 전압을 향하여 또는 상기 송신 모드가 인에이블되는 것에 응답하여 제2 전압을 향하여 풀링하는 단계;
    수신기 트랜지스터 차동쌍을 포함하는 수신 버퍼에 의해, 상기 수신 모드가 인에이블되는 것에 응답하여 상기 입력/출력 차동쌍을 통해 수신된 입력에 기초하여 수신기 차동 신호를 출력하는 단계; 및
    송신기 트랜지스터 차동쌍을 포함하는 송신 드라이버 회로에 의해, 상기 송신 모드가 인에이블되는 것에 응답하여 상기 입력/출력 차동쌍을 통해 송신기 차동 신호를 송신하는 단계
    를 포함하는 집적 회로에서 입력/출력 회로를 동작시키는 방법.
  12. 제 11 항에 있어서, 상기 제1 전압은 프로그래머블 전압을 포함하는 것인 집적 회로에서 입력/출력 회로를 동작시키는 방법.
  13. 제 11 항에 있어서, 상기 수신기 차동 신호를 출력하는 단계는,
    제1 입력/출력 패드에 연결된 게이트, 제1 수신기 레지스터를 통하여 전원 전압에 연결된 소스, 및 전류 싱크를 통하여 그라운드에 연결된 드레인을 갖는, 상기 수신기 트랜지스터 차동쌍의 제1 수신기 트랜지스터; 및
    제2 입력/출력 패드에 연결된 게이트, 제2 수신기 레지스터를 통하여 상기 전원 전압에 연결된 소스, 및 상기 전류 싱크를 통하여 상기 그라운드에 연결된 드레인을 갖는, 상기 수신기 트랜지스터 차동쌍의 제2 수신기 트랜지스터
    를 포함하는 상기 수신 버퍼에 의해, 상기 수신기 차동 신호를 출력하는 단계
    를 포함하고,
    상기 수신기 차동 신호는, 상기 제1 수신기 트랜지스터의 소스와 상기 제1 수신기 레지스터 사이의 제1 수신기 출력 노드에 기초한 제1 신호, 및 상기 제2 수신기 트랜지스터의 소스와 상기 제2 수신기 레지스터 사이의 제2 수신기 출력 노드에 기초한 제2 신호를 포함하는 것인 집적 회로에서 입력/출력 회로를 동작시키는 방법.
  14. 제 11 항에 있어서, 상기 송신 드라이버 회로에 의해 송신기 차동 신호를 송신하는 단계는,
    전류 소스를 통하여 그라운드에 연결된 드레인, 제1 입력/출력 패드에 그리고 제1 전압 강하 크로스-레지스터를 통하여 전압 제어 회로에 연결된 소스, 및 인버터를 통하여 네가티브 송신기 입력에 연결된 게이트를 갖는, 상기 송신기 트랜지스터 차동쌍의 제1 송신기 트랜지스터; 및
    상기 전류 소스를 통하여 그라운드에 연결된 드레인, 제2 입력/출력 패드에 그리고 제2 전압 강하 크로스-레지스터를 통하여 상기 전압 제어 회로에 연결된 소스, 및 인버터를 통하여 포지티브 송신기 입력에 연결된 게이트를 갖는, 상기 송신기 트랜지스터 차동쌍의 제2 송신기 트랜지스터
    를 포함하는 상기 송신 드라이버 회로에 의해 상기 송신기 차동 신호를 송신하는 단계
    를 포함하고,
    상기 네가티브 송신기 입력 및 상기 포지티브 송신기 입력은 함께 송신기 입력 차동쌍을 형성하는 것인 집적 회로에서 입력/출력 회로를 동작시키는 방법.
KR1020167006784A 2013-08-30 2014-04-09 입력/출력 회로 및 입력/출력 회로를 실행하는 방법 KR102038745B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/014,879 2013-08-30
US14/014,879 US9214941B2 (en) 2013-08-30 2013-08-30 Input/output circuits and methods of implementing an input/output circuit
PCT/US2014/033527 WO2015030877A1 (en) 2013-08-30 2014-04-09 Input/output circuits and methods of implementing an input/output circuit

Publications (2)

Publication Number Publication Date
KR20160048111A KR20160048111A (ko) 2016-05-03
KR102038745B1 true KR102038745B1 (ko) 2019-10-30

Family

ID=50792555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167006784A KR102038745B1 (ko) 2013-08-30 2014-04-09 입력/출력 회로 및 입력/출력 회로를 실행하는 방법

Country Status (6)

Country Link
US (1) US9214941B2 (ko)
EP (1) EP3039787B1 (ko)
JP (1) JP6442508B2 (ko)
KR (1) KR102038745B1 (ko)
CN (1) CN105518994B (ko)
WO (1) WO2015030877A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9219055B2 (en) 2012-06-14 2015-12-22 International Business Machines Corporation Structure and method for dynamic biasing to improve ESD robustness of current mode logic (CML) drivers
US9075947B2 (en) * 2013-06-06 2015-07-07 Stmicroelectronics International N.V. Input/output cell design for thin gate oxide transistors with restricted poly gate orientation
US9500700B1 (en) * 2013-11-15 2016-11-22 Xilinx, Inc. Circuits for and methods of testing the operation of an input/output port
TWI591795B (zh) * 2016-05-09 2017-07-11 瑞昱半導體股份有限公司 靜電放電保護電路
US10270450B1 (en) * 2018-08-23 2019-04-23 Xilinx, Inc. Unified low power bidirectional port
US11664800B1 (en) 2019-07-15 2023-05-30 Xilinx, Inc. Circuit for and method of implementing IO connections in an integrated circuit device
TWI739545B (zh) * 2020-08-11 2021-09-11 瑞昱半導體股份有限公司 訊號輸出裝置及方法
US20220247362A1 (en) * 2021-02-02 2022-08-04 Macronix International Co., Ltd. High-speed, low distortion receiver circuit
US11824534B2 (en) 2021-11-16 2023-11-21 Xilinx, Inc. Transmit driver architecture with a jtag configuration mode, extended equalization range, and multiple power supply domains

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5877632A (en) * 1997-04-11 1999-03-02 Xilinx, Inc. FPGA with a plurality of I/O voltage levels
TW381338B (en) * 1998-04-22 2000-02-01 United Microelectronics Corp I/O circuit allowing wider voltage ranges
US6433579B1 (en) 1998-07-02 2002-08-13 Altera Corporation Programmable logic integrated circuit devices with differential signaling capabilities
US6188243B1 (en) * 1999-06-09 2001-02-13 United Integrated Circuits Corp. Input/output circuit with high input/output voltage tolerance
US6924659B1 (en) 2003-07-28 2005-08-02 Lattice Semiconductor Corporation Programmable signal termination for FPGAs and the like
US6879191B2 (en) * 2003-08-26 2005-04-12 Intel Corporation Voltage mismatch tolerant input/output buffer
US7245144B1 (en) 2003-09-24 2007-07-17 Altera Corporation Adjustable differential input and output drivers
KR100555571B1 (ko) * 2004-09-07 2006-03-03 삼성전자주식회사 반도체 장치의 송신기
US7265586B1 (en) 2005-02-25 2007-09-04 Xilinx, Inc. Programmable differential signaling system
US20070252618A1 (en) 2006-04-28 2007-11-01 Karthik Gopalakrishnan Signal converter circuit
US7809864B1 (en) 2007-12-03 2010-10-05 Xilinx, Inc. Method and apparatus for a hot-swappable input/output device with programmable over-voltage clamp protection
US7859298B1 (en) * 2009-06-30 2010-12-28 Intel Corporation Method and system to facilitate configurable input/output (I/O) termination voltage reference
JP5358349B2 (ja) * 2009-08-26 2013-12-04 ザインエレクトロニクス株式会社 データ送信回路及びデータ通信装置
JP2012208897A (ja) * 2011-03-30 2012-10-25 Semiconductor Components Industries Llc 入出力回路

Also Published As

Publication number Publication date
JP2016534647A (ja) 2016-11-04
JP6442508B2 (ja) 2018-12-19
EP3039787A1 (en) 2016-07-06
EP3039787B1 (en) 2017-08-02
WO2015030877A1 (en) 2015-03-05
CN105518994B (zh) 2018-10-12
US9214941B2 (en) 2015-12-15
US20150061756A1 (en) 2015-03-05
KR20160048111A (ko) 2016-05-03
CN105518994A (zh) 2016-04-20

Similar Documents

Publication Publication Date Title
KR102038745B1 (ko) 입력/출력 회로 및 입력/출력 회로를 실행하는 방법
US10038647B1 (en) Circuit for and method of routing data between die of an integrated circuit
JP5123401B2 (ja) 集積回路装置における消費電力を最小化するための回路および方法
US9281807B1 (en) Master-slave flip-flops and methods of implementing master-slave flip-flops in an integrated circuit
US9923555B2 (en) Fine-grained power gating in FPGA interconnects
CN105471409B (zh) 具有共享反相器的低面积触发器
US10686446B2 (en) Power gated lookup table circuitry
JP6705814B2 (ja) 集積回路デバイスにおいて電圧レベルシフトを行うための回路および方法
JP2017536753A (ja) 集積回路内の電力を制御するための回路およびその方法
US10804255B1 (en) Circuit for and method of transmitting a signal in an integrated circuit device
US9407266B2 (en) Programmable single-supply level-shifter circuit
US7239173B1 (en) Programmable memory element with power save mode in a programmable logic device
US9007110B1 (en) Register circuits and methods of storing data in a register circuit
US6965251B1 (en) Input buffer with hysteresis option
US10541686B1 (en) Circuit and method for ensuring a stable IO interface during partial reconfiguration of a reprogrammable integrated circuit device
US9130563B1 (en) Programmable receivers and methods of implementing a programmable receiver in an integrated circuit
US8149612B1 (en) Memory array and method of implementing a memory array
US9721649B1 (en) Circuit for and method of implementing a write operation of a memory

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant