KR20140040146A - 데이터의 통신을 가능하게 하는 집적회로 및 집적회로에서의 데이터 통신 방법 - Google Patents

데이터의 통신을 가능하게 하는 집적회로 및 집적회로에서의 데이터 통신 방법 Download PDF

Info

Publication number
KR20140040146A
KR20140040146A KR1020137032324A KR20137032324A KR20140040146A KR 20140040146 A KR20140040146 A KR 20140040146A KR 1020137032324 A KR1020137032324 A KR 1020137032324A KR 20137032324 A KR20137032324 A KR 20137032324A KR 20140040146 A KR20140040146 A KR 20140040146A
Authority
KR
South Korea
Prior art keywords
data
input
integrated circuit
circuit
circuits
Prior art date
Application number
KR1020137032324A
Other languages
English (en)
Other versions
KR101753940B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46025911&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20140040146(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 자일링크스 인코포레이티드 filed Critical 자일링크스 인코포레이티드
Publication of KR20140040146A publication Critical patent/KR20140040146A/ko
Application granted granted Critical
Publication of KR101753940B1 publication Critical patent/KR101753940B1/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/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
    • 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
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/1517Multilayer substrate
    • H01L2924/15192Resurf arrangement of the internal vias
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/153Connection portion
    • H01L2924/1531Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface
    • H01L2924/15311Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface being a ball array, e.g. BGA
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/004Reconfigurable analogue/digital or digital/analogue converters

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)
  • Logic Circuits (AREA)

Abstract

데이터 통신을 가능하게 하는 집적회로가 개시된다. 집적회로는, 입력/출력 포트(604); 복수의 데이터 변환기 회로(802); 및 복수의 데이터 변환기 회로와 입력/출력 포트 사이에 연결되는 프로그램 가능 상호접속 회로(804)를 포함하고, 프로그램 가능 상호접속 회로는 집적회로의 입력/출력 포트에 대한 복수의 데이터 변환기 회로의 접속을 가능하게 한다. 또한, 집적회로에서의 데이터의 통신을 가능하게 하는 방법이 개시된다.

Description

데이터의 통신을 가능하게 하는 집적회로 및 집적회로에서의 데이터 통신 방법{AN INTEGRATED CIRCUIT ENABLING THE COMMUNICATION OF DATA AND A METHOD OF COMMUNICATING DATA IN AN INTEGRATED CIRCUIT}
본 실시형태는 일반적으로 집적회로 장치에 관한 것이고, 특히 집적회로에서 데이터의 통신을 가능하게 하는 방법에 관한 것이다.
다양한 데이터 통신 프로토콜에 따라 상이한 포맷으로 데이터가 시스템 내에서 통신될 수 있다. 예컨대, 데이터는 아날로그 데이터로서 송신될 수 있다. 아날로그 데이터는 신호 상에 송신되는 정보를 나타내는 시변 품질(time varying quality)을 갖는 연속 신호이다. 이에 반해서, 디지털 데이터는 디스크리트 콤포넌트(discrete component)로서 전송되는 데이터이고, 디스크리트 콤포넌트의 값은 송신되는 정보를 나타낸다. 아날로그 신호는, 정보 전달을 위해 신호가 송신되는 매체의 속성(property)을 사용한다. 아날로그 신호는 데이터의 용이한 송신을 가능하게 하지만, 아날로그 신호는 주로 아날로그 투 디지털(analog-to-digital) 변환기(converter)에 의해 디지털 신호로 변환되고, 이어서 집적회로의 회로에 의해 프로세싱된다. 아날로그 투 디지털 변환의 한가지 공통의 실시예는 아날로그 오디오 신호의 디지털 포맷으로 저장될 수 있는 디지털 표시(representation)로의 변환이다.
그러나, 애플리케이션에 따라, 데이터 변화에 대한 요구가 변경될 수 있다. 아날로그 입력 신호로부터 생성되는 디지털 신호를 요구하는 일부 애플리케이션은 다른 애플리케이션보다 더 큰 데이터 레이트(data rate)를 요구할 수 있다. 예컨대, 무선 데이터 송신은 초당 메가 샘플(Mega smaples)로 표현되는 하나의 데이터 레이트에서의 데이터의 송신을 요구할 수 있다. 메디컬 이미징 애플리케이션과 같은 다른 애플리케이션은 더 높은 데이터 레이트를 요구할 수 있다. 따라서, 소정의 입력 신호에 대하여, 다수의 아날로그 투 디지털 변환기가 요구될 수 있다. 그러나, 아날로그 투 디지털 변환기를 구현하는 것은 상당한 도전으로 이어질 수 있다.
데이터의 통신을 가능하게 하는 집적회로의 실시형태는, 입력/출력 포트; 상기 입력/출력 포트에서 수신되는 입력 신호를 샘플링하도록 구성되는 복수의 데이터 변환기 회로; 및 상기 입력/출력 포트와 상기 복수의 데이터 변환기 회로 사이에 연결되어 상기 집적회로의 상기 입력/출력 포트에 대한 상기 복수의 데이터 변환기 회로의 접속을 가능하게 하는 프로그램 가능(programmable) 상호접속 회로를 포함할 수 있다.
일부 실시형태에서, 입력/출력 포트는 차동(differential) 아날로그 입력 신호를 수신하는 한쌍의 입력/출력 핀을 포함할 수 있다.
일부 실시형태에서, 집적회로는 복수의 데이터 변환기 회로에 연결되는 클록 생성기(clock generator)를 더 포함할 수 있고, 복수의 데이터 변환기의 각각의 데이터 변환기는 차동 클록 신호를 수신한다.
일부 실시형태에서, 복수의 데이터 변환기 회로는 멀티 다이(multi-die) 집적회로의 프로그램 가능 리소스를 구비한 제2 다이(die)로부터 분리된 멀티 다이 집적회로의 제1 다이 상에 있을 수 있다.
일부 실시형태에서, 집적회로는 제1 다이 및 제2 다이를 수용(receive)하기 위해 연결되는 상호접속 회로를 더 포함할 수 있고, 상호접속 회로는 제1 다이와 제2 다이 사이에서의 데이터의 통신을 가능하게 한다.
일부 실시형태에서, 복수의 데이터 변환기 회로는 복수의 디지털 투 아날로그(digital to analog) 변환기 회로를 포함할 수 있다.
일부 실시형태에서, 집적회로는 복수의 디지털 투 아날로그 변환기 회로의 출력에 기초하는 아날로그 출력을 생성하기 위한 서밍 회로(summing circuit)를 더 포함할 수 있다.
일부 실시형태에서, 입력/출력 포트, 복수의 데이터 변환기 회로, 및 프로그램 가능 리소스는 집적회로의 단일 다이 상에 있을 수 있다.
일부 실시형태에서, 복수의 데이터 변환기 회로 중 2개 이상은, 입력/출력 포트에 연결되는 데이터 변화기 회로의 블록을 형성하기 위해 인터리브되는(interleaved) 시간 도메인이 될 수 있고, 복수의 위상 시프트된 클록 신호(phase shifted clock signal)를 생성하는 클록 생성기를 더 포함하고, 데이터 변환기 회로의 블록은, 샘플링 레이트(sampling rate)를 증가시키기 위해, 복수의 위상 시프트된 클록 신호에 있어서 입력/출력 포트에서 수신되는 입력 신호를 샘플링한다.
집적회로에 의한 데이터 통신 방법의 실시형태는, 집적회로 내의 복수의 데이터 변환기 회로를 구현하는 단계; 상기 접적회로의 입력/출력 포트와 상기 집적회로의 상기 복수의 데이터 변환기 회로 사이에 연결되는 프로그램 가능 상호접속 회로를 프로그래밍하는 단계; 및 상기 입력/출력 포트에서 수신되는 입력 신호를 상기 복수의 데이터 변환기 회로에 의해 샘플링하는 단계를 포함할 수 있다.
일부 실시형태에서, 상기 방법은, 선택된 샘플 레이트(sample rate)에 기초하여 복수의 데이터 변환기 회로 중 미리 결정된 수를 선택하는 단계를 더 포함할 수 있다.
일부 실시형태에서, 입력 신호를 복수의 데이터 변환기 회로에 의해 샘플링하는 단계는, 입력/출력 포트에서 수신되는 입력 신호의 시간 도메인 인터리빙(time-domain interleaving)을 가능하는 하는 단계를 더 포함할 수 있다.
일부 실시형태에서, 입력/출력 포트에서 수신되는 입력 신호를 복수의 데이터 변환기 회로에 의해 샘플링하는 단계는, 복수의 데이터 변환기 회로의 각각의 데이터 변환기 회로에 입력 신호를 연결하는(coupling) 단계를 포함할 수 있다.
일부 실시형태에서, 입력/출력 포트에서 수신되는 입력 신호를 복수의 데이터 변환기 회로에 의해 샘플링하는 단계는, 복수의 데이터 변환기 회로 중 선택된 데이터 변환기 회로에 입력 신호의 샘플을 주기적으로 연결하는(coupling) 단계를 포함할 수 있다.
일부 실시형태에서, 입력 신호를 복수의 데이터 변환기 회로에 의해 샘플링하는 단계는, 입력/출력 포트에 연결되는 데이터 변환기 회로의 블록을 형성하기 위해 복수의 데이터 변환기 회로 중 2개 이상을 시간 도메인 인터리빙하는 단계; 복수의 위상 시프트된 클록 신호를 생성하는 단계; 및 샘플링 레이트를 증가시키기 위해 복수의 위상 시프트된 클록 신호에 있어서 입력/출력 포트에서 수신되는 입력 신호를 데이터 변환기 회로의 블록에 의해 샘플링하는 단계를 포함할 수 있다.
데이터의 통신을 가능하게 하는 집적회로의 다른 실시형태는, 입력/출력 포트; 복수의 아날로그 투 디지털 변환기 회로; 상기 입력/출력 포트와 상기 복수의 아날로그 투 디지털 변환기 회로의 입력 사이에 연결되는 아날로그 투 디지털 변환기 인터페이스 회로; 및 상기 복수의 아날로그 투 디지털 변환기 회로가 상기 입력/출력 포트에서 수신되는 아날로그 입력 신호를 샘플링하게 하는 클록 생성기를 포함할 수 있다.
일부 실시형태에서, 아날로그 투 디지털 변환기 인터페이스 회로는 프로그램 가능 상호접속 회로를 포함할 수 있고, 프로그램 가능 상호접속 회로는 집적회로의 입력/출력 포트에 대한 복수의 아날로그 투 디지털 변환기 회로의 접속을 가능하게 한다.
일부 실시형태에서, 기준 클록 신호를 수신하고 복수의 위상 시프트된 클록 신호를 생성하기 위해 클록 생성기가 연결될 수 있다.
일부 실시형태에서, 집적회로는 멀티 다이 집적회로가 될 수 있고, 복수의 아날로그 투 디지털 변환기 회로는 멀티 다이 집적회로의 프로그램 가능 리소스를 구비한 제2 다이로부터 분리된 멀티 다이 집적회로의 제1 다이 상에 있다.
일부 실시형태에서, 집적회로는 제1 다이 및 제2 다이를 수용(receive)하기 위해 연결되는 상호접속 회로를 더 포함할 수 있고, 상호접속 회로는 제1 다이와 제2 다이 사이에서의 데이터의 통신을 가능하게 한다.
일부 실시형태에서, 아날로그 투 디지털 변환기 인터페이스 회로는, 입력/출력 포트에서 수신되는 아날로그 입력 신호를, 복수의 아날로그 투 디지털 변환기 회로의 각각의 아날로그 투 디지털 변환기 회로로 라우팅하게 할 수 있다.
일부 실시형태에서, 집적회로는 아날로그 입력 신호를 수신하기 위해 연결되는 샘플러(smapler)를 더 포함할 수 있고, 아날로그 입력 신호의 샘플은 아날로그 투 디지털 변환기 인터페이스 회로에 의해, 선택된 아날로그 투 디지털 변환기 회로에 연결된다.
집적회로에 의한 데이터 통신 방법의 다른 실시형태는, 상기 집적회로에서 복수의 아날로그 투 디지털 변환기 회로를 구현하는 단계; 상기 집적회로에 아날로그 입력 신호를 연결하는 단계; 및 입력/출력 포트에서 수신되는 아날로그 입력 신호를 복수의 아날로그 투 디지털 변환기 회로에 의해 샘플링하는 단계를 포함할 수 있다.
일부 실시형태에서, 상기 방법은 집적회로의 입력/출력 포트와 집적회로의 복수의 아날로그 투 디지털 변환기 회로 사이에 연결되는 프로그램 가능 상호접속 회로를 구성하는 단계를 더 포함할 수 있다.
일부 실시형태에서, 상기 방법은, 선택된 샘플 레이트에 기초하여 아날로그 투 디지털 회로의 미리 결정된 수를 선택하는 단계를 더 포함할 수 있다.
일부 실시형태에서, 아날로그 입력 신호를 복수의 아날로그 투 디지털 변환기 회로에 의해 샘플링하는 단계는 입력/출력 포트에서 수신되는 아날로그 입력 신호의 시간 도메인 인터리빙을 가능하게 하는 단계를 포함할 수 있다.
일부 실시형태에서, 입력/출력 포트에서 수신되는 아날로그 입력 신호를 복수의 아날로그 투 디지털 변환기 회로에 의해 샘플링하는 단계는 복수의 아날로그 투 디지털 변화기 회로의 각각의 아날로그 투 디지털 변환기 회로에 아날로그 입력 신호를 연결하는 단계를 포함할 수 있다.
일부 실시형태에서, 입력/출력 포트에서 수신되는 아날로그 입력 신호를 복수의 아날로그 투 디지털 변환기 회로에 의해 샘플링하는 단계는 복수의 아날로그 투 디지털 변환기 회로 중 선택된 아날로그 투 디지털 변환기 회로에 아날로그 입력 신호의 샘플을 주기적으로 연결하는 단계를 포함할 수 있다.
도 1은 실시형태에 따른 프로그램 가능 리소스를 구비한 프로그램 가능 집적회로의 블록 다이어그램이다.
도 2는 실시형태에 따른 구성 가능 로직 엘리먼트(configurable logic element)의 블록 다이어그램이다.
도 3은 실시형태에 따른 프로그램 가능 리소스를 구비한 장치(device)를 프로그래밍하기 위한 시스템의 블록 다이어그램이다.
도 4는 실시형태에 따른 프로그램 가능 리소스를 구성하기 위한 엘리먼트를 구비한 집적회로의 블록 다이어그램이다.
도 5는 실시형태에 따른 데이터의 통신을 가능하게 하는 집적회로의 블록 다이어그램이다.
도 6은 실시형태에 따른 복수의 아날로그 투 디지털 변환기 회로를 구비한 집적회로의 블록 다이어그램이다.
도 7은 실시형태에 따른 입력/출력 포트에 관련된 복수의 아날로그 투 디지털 변환기 회로를 구비한 집적회로의 블록 다이어그램이다.
도 8은 대체 실시형태에 따른 입력/출력 포트에 관련된 복수의 아날로그 투 디지털 변환기 회로를 구비한 집적회로의 블록 다이어그램이다.
도 9는 실시형태에 따른 프로그램 가능 상호접속 회로의 블록 다이어그램이다.
도 10은 실시형태에 따른 집적회로로의 데이터의 통신을 가능하게 하는 집적회로의 블록 다이어그램이다.
도 11은 대체 실시형태에 따른 집적회로로의 데이터의 통신을 가능하게 하는 집적회로의 블록 다이어그램이다.
도 12는 실시형태에 따른 인터페이스 회로의 블록 다이어그램이다.
도 13은 실시형태에 따른 집적회로로부터 데이터의 통신을 가능하게 하는 집적회로의 블록 다이어그램이다.
도 14는 실시형태에 따른 구성을 구비한 집적회로로부터 데이터의 통신을 가능하게 하는 집적회로의 블록 다이어그램이다.
도 15는 대체 실시형태에 따른 구성을 구비한 집적회로로부터 데이터의 통신을 가능하게 하는 집적회로의 블록 다이어그램이다.
도 16은 실시형태에 따른 아날로그 투 디지털 회로의 블록 다이어그램이다.
도 17은 실시형태에 다른 멀티 칩 집적회로의 블록 다이어그램이다.
도 18은 실시형태에 따른 집적회로에서의 데이터 통신 방법을 나타낸 플로우 차트이다.
도 19는 대체 실시형태에 따른 집적회로 내의 데이터 통신 방법을 나타낸 플로우 차트이다.
우선 도 1로 돌아가면, 실시형태에 따른 프로그램 가능 리소스를 구비한 프로그램 가능 집적회로 장치의 블록 다이어그램이 도시되어 있다. 프로그램 가능 리소스를 구비한 장치는 프로그램 가능 리소스를 구비한 주문형 집적회로(ASIC: application specific integrated circuit)와 같은 모든 타입의 집적회로 장치가 될 수 있지만, 다른 장치들은 전용의(dedicated) 프로그램 가능 논리 장치(PLD: programmable logic device)를 포함한다. PLD의 한가지 타입은 CPLD(Complex Programmable Logic Device)이다. CPLD는 상호접속 스위치 매트릭스(interconnect switch matrix)에 의해 입력/출력(I/O) 리소스에 함께 접속되는 2개 이상의 "펑션 블록(function blocks)"을 포함한다. CPLD의 각각의 펑션 블록은 프로그램 가능 로직 어레이(PLA: Programmable Logic Array) 또는 프로그램 가능 어레이 로직(PAL: Programmable Array Logic) 장치에서 사용되는 것과 유사한 투 레벨(two-level) AND/OR 구조를 포함한다. 다른 타입의 PLD는 FPGA(field programmable gate array)이다. 통상적인 FPGA에서, CLB(configurable logic block)의 어레이는 프로그램 가능 입력/출력 블록(IOB: input/output block)에 연결된다. CLB 및 IOB는 프로그램 가능 라우팅 리소스의 계층(hierarchy)에 의해 상호접속된다. CLB, IOB, 및 프로그램 가능 라우팅 리소스는 통상적으로 오프 칩(off-chip) 메모리로부터 FPGA의 구성 메모리 셀로 구성 비트스트림을 로딩함으로써 커스터마이징된다(customized). 이러한 타입의 프로그램 가능 로직 장치들 모두에 대하여, 장치의 기능은 목적을 위해 장치에 제공되는 구성 비트스트림의 구성 데이터 비트에 의해 제어된다. 구성 데이터 비트는, 휘발성 메모리[예컨대, FPGA 및 일부 CPLD에서와 같은 스태틱 메모리(static memory)] 내에, 비휘발성 메모리(예컨대, 일부의 CPLD에서와 같은 플래시 메모리) 내에, 또는 다른 타입의 메모리 셀 내에 저장될 수 있다.
도 1의 장치는 멀티 기가비트 트랜시버(MGT: multi-gigabit transceiver)(101)를 포함하는 다수의 다른 프로그램 가능 타일(tile)을 구비한 FPGA 아키텍처(100); CLB(102); 랜덤 액세스 메모리 블록(BRAM)(103); 입력/출력 블록(IOB)(104); 구성 및 클록킹 로직(CONFIG/CLOCKS)(105); 디지털 신호 프로세싱 블록(DSP)(106); 특정(specialized) 입력/출력 블록(I/O)(107)(예컨대, 구성 포트 및 클록 포트); 및 디지털 클록 매니저, 아날로그 투 디지털 변환기, 시스템 모니터링 로직 등의 다른 프로그램 가능 로직(108)을 포함한다. 또한, 일부 FPGA는, 예컨대 소프트웨어 애플리케이션을 구현하는데 사용될 수 있는 전용 프로세서 블록(PROC)(110)을, 포함한다.
일부 FPGA에서, 각 프로그램 가능 타일은 각각의 인접 타일 내에 대응 상호접속 엘리먼트로의 표준화된 접속 및 대응 상호접속 엘리먼트로부터의 표준화된 접속을 구비한 프로그램 가능 상호접속 엘리먼트(INT)(111)를 포함한다. 따라서, 프로그램 가능 상호접속 엘리먼트는 도시된 FPGA를 위해 프로그램 가능 상호접속 구조를 함께 구현한다. 또한, 프로그램 가능 상호접속 엘리먼트(111)는, 도 1의 상부에서 포함되는 실시예에 의해 도시된 바와 같이, 동일 타일 내의 프로그램 가능 로직 엘리먼트로의 접속 및 프로그램 가능 로직 엘리먼트로부터의 접속을 포함한다.
예컨대, CLB(102)는 유저 로직에 대한 단일 프로그램 가능 상호접속 엘리먼트(111)의 추가(plus)를 실행하기 위해 프로그래밍될 수 있는 구성 가능 로직 엘리먼트(CLE)(112)를 포함할 수 있다. BRAM(103)은 하나 이상의 프로그램 가능 상호접속 엘리먼트에 더하여 BRAM 로직 엘리먼트(BRL)(113)를 포함할 수 있다. BRAM은 구성 로직 블록의 분산된(distributed) RAM으로부터 분리된 전용 메모리를 포함한다. 통상적으로, 타일 내에 포함된 상호접속 엘리먼트의 수는 타일의 높이에 의존한다. 도시된 실시형태에서, BRAM 타일은 5개의 CLB와 동일한 높이를 갖지만, 다른 수가 사용될 수도 있다. DSP 타일(106)은 적절한 수의 프로그램 가능 상호접속 엘리먼트에 더하여 DSP 로직 엘리먼트(DSPL)(114)를 포함할 수 있다. 예컨대, IOB(104)는 한가지 사례의 프로그램 가능 상호접속 엘리먼트(INT, 111)에 더하여 두가지 사례의 입력/출력 로직 엘리먼트(IOL, 315)를 포함할 수 있다. 상기 장치들의 접속의 위치는 그 목적을 위해 장치에 제공되는 구성 비트스트림의 구성 데이터 비트에 의해 제어된다. 구성 비트스트림의 비트에 응답하여 프로그램 가능 상호접속은, 프로그램 가능 로직으로 구현되는 회로 또는 BRAM 또는 프로세서와 같은 다른 회로에 다양한 신호를 연결하기 위해 사용될 상호접속 라인을 포함하는 접속을 가능하게 한다.
도시된 실시형태에서, 다이(die)의 중심 근처의 컬럼 영역(columnar area)은 구성, 클록, 및 다른 제어 로직을 위해 사용된다. 이 컬럼(column)으로부터 연장된 수평 영역(horizontal area)(109)은 FPGA의 폭을 가로지르는 클록 및 구성 신호의 분배를 위해 사용된다. 도 1에 도시된 아키텍처를 사용하는 일부 FPGA는 FPGA의 대부분을 이루는 규칙적인 컬럼 구조를 방해하는 추가 로직 블록을 포함한다. 추가 로직 블록은 프로그램 가능 블록 및/또는 전용 로직이 될 수 있다. 예컨대, 도 1에 도시된 프로세서 블록(PROC)(110)은 CLB 및 BRAM의 몇개의 컬럼을 스패닝(spanning)한다.
도 1은 예시적 FPGA 아키텍처만을 나타내는 것을 의도하고 있다. 컬럼 내의 로직 블록의 수, 컬럼의 상대적인 폭(relative width), 컬럼의 수와 오더(order), 컬럼에 포함된 로직 블록의 타입, 로직 블록의 상대적 크기, 및 도 1의 상부에서 포함된 상호접속/로직 실행은 오직 예시이다. 예컨대, 실제 FPGA에서 CLB의 하나 이상의 인접한 컬럼은 통상적으로 유저 로직의 효과적인 실행을 용이하게 하기 위해 CLB가 나타나는 곳에 포함된다.
이제 도 2로 돌아가면, 실시형태에 따른 구성 가능 로직 엘리먼트의 블록 다이어그램이 도시되어 있다. 특히, 도 2는 도 1의 구성 로직 블록(102)의 구성 가능 로직 엘리먼트를 간략화된 형태로 나타낸다. 도 2의 실시형태에서, 슬라이스 M(201)은, 각각 6개의 LUT 데이터 입력 단자(A1-A6, B1-B6, C1-C6, 및 D1-D6)에 의해 구동되고, 각각 2개의 LUT 출력 신호(O5 및 O6)를 제공하는 4개의 룩업 테이블(LUTM)(201A-201D)을 포함한다. LUT(201A-201D)로부터의 O6 출력 단자는 각각 슬라이스 출력 단자(A-D)를 구동한다. LUT 데이터 입력 신호는 프로그램 가능 상호접속 엘리먼트(211)에 의해 구현될 수 있는 입력 멀티플렉서를 통해 FPGA 상호접속 구조에 의해 공급되고, LUT 출력 신호도 상호접속 구조에 공급된다. 또한, 슬라이스 M은, 출력 단자(AMUX-DMUX)를 구동하는 출력 선택 멀티플렉서(211A-211D); 메모리 엘리먼트(202A-202D)의 데이터 입력 단자를 구동하는 멀티플렉서(212A-212D); 결합 멀티플렉서(216, 218, 및 219); 바운스(bounce) 멀티플렉서 회로(222-223); 인버터(205) 및 멀티플렉서(206)[입력 클록 경로 상에 선택적 인버전(optional inversion)을 함께 제공함]에 의해 대표되는 회로; 및 멀티플렉서(214A-214D, 215A-215D, 220-221) 및 배타적 OR 게이트(213A-213D)를 포함한다. 도 2에 도시된 바와 같이, 이 엘리먼트들 모두는 함께 연결되어 있다. 도 2에 도시된 멀티플렉서에 대하여 선택 입력은 도시되어 있지 않고, 선택 입력은 구성 메모리 셀에 의해 제어된다. 즉, 구성 메모리 셀에 저장된 구성 비트스트림의 구성 비트는 멀티플렉서에 대한 정확한 입력을 선택하기 위해 멀티플렉서의 선택 입력에 연결된다. 잘 알려진 이 구성 메모리 셀은 명확함을 위해 여기에서 다른 선택된 도면뿐만 아니라 도 2에서 생략되어 있다.
도시된 실시형태에서, 각각의 메모리 엘리먼트(202A-202D)는 동기 또는 비동기 플립-플롭이나 래치(latch)로서 기능하도록 프로그래밍될 수 있다. 동기 기능과 비동기 기능 사이의 선택은 동기/비동기 선택 회로(203)를 프로그래밍함으로써 슬라이스 내의 4개의 메모리 엘리먼트 모두에 대하여 이루어진다. S/R(set/reset) 입력 신호가 세트 기능(set function)을 제공하도록 메모리 엘리먼트가 프로그래밍되면, REV 입력 단자는 리셋 기능(reset function)을 제공한다. S/R(set/reset) 입력 신호가 리셋 기능을 제공하도록 메모리 엘리먼트가 프로그래밍되면, REV 입력 단자는 세트 기능을 제공한다. 예컨대, 상호접속 구조 또는 글로벌 클록 네트워크(global clock network)에 의해 제공될 수 있는 클록 신호(CK)에 의해 메모리 엘리먼트(202A-202D)가 클록킹된다(clocked). 이러한 프로그램 가능 메모리 엘리먼트는 FPGA 디자인 기술에서 잘 알려져 있다. 각각의 메모리 엘리먼트(202A-202D)는 상호접속 구조에 등록된(registered) 출력 신호(AQ-DQ)를 제공한다. 각각의 LUT(201A-201D)가 2개의 출력 신호(O5 및 O6)를 제공하기 때문에, LUT는 5개의 공유 입력 신호(IN1-IN5)를 갖는 2개의 5-입력 LUT 또는 입력 신호(IN1-IN6)를 갖는 하나의 6-입력 LUT로서 기능하도록 구성될 수 있다.
도 2의 실시형태에서, 각각의 LUTM(201A-201D)은 몇가지 모드(mode)들 중 임의의 것으로 기능할 수 있다. 룩업 테이블 모드인 경우에, 각각의 LUT는 입력 멀티플렉서를 통해 FPGA 상호접속 구조에 의해 공급되는 6개의 데이터 입력 신호(IN1-IN6)를 갖는다. 64개 데이터 값 중 하나는 신호(IN1-IN6)의 값에 기초하여 구성 메모리 셀로부터 프로그램 가능하게 선택된다. RAM 모드인 경우에, 각각의 LUT는 공유된 어드레싱(shared addressing)을 갖는 2개의 32 비트 RAM 또는 단일 64 비트 RAM으로서 기능한다. RAM 기입(write) 데이터는 입력 단자(DI1)[LUT(201A-201C)를 위한 멀티플렉서(217A-217C)를 통함]를 통해 64 비트 RAM이나 입력 단자(DI1 및 DI2)를 통해 2개의 32 비트 RAM으로 공급된다. LUT RAM에서의 RAM 기입 동작은 클록 가능 신호(CE) 또는 기입 가능 신호(WE)를 선택적으로 패스(pass)할 수 있는 멀티플렉서(207)로부터의 기입 가능 신호(WEN: write enable signal)에 의해 그리고 멀티플렉서(206)로부터의 클록 신호(CK)에 의해 제어된다. 시프트 등록 모드(shift register mode)에서, 각각의 LUT는, 단일 32비트 시프트 레지스터(shift register)를 생성하기 위해 직렬로 연결된 2개의 16 비트 시프트 레지스터로 또는 2개의 16비트 시프트 레지스터로서 기능한다. 시프트 인(shift-in) 신호는 입력 단자(DM 및 DI2) 중 하나를 통해 또는 이 2가지 모두를 통해 제공된다. 16 비트 및 32 비트 시프트 출력 신호는 LUT 출력 단자를 통해 제공될 수 있고, 32 비트 시프트 출력 신호도 LUT 출력 단자(MC31)를 통해 더 직접적으로 제공될 수 있다. LUT(201A)의 32 비트 시프트 출력 신호(MC31)도 출력 선택 멀티플렉서(211D) 및 CLE 출력 단자(DMUX)를 통한 시프트 레지스터 체이닝(shift register chaining)을 위한 제너럴 상호접속 구조에 공급될 수 있다. 따라서, 상기 회로 및 상기 방법은 도 1 및 도 2의 FPGA와 같은 장치 또는 다른 모든 적합한 장치로 구현될 수 있다.
도 3으로 돌아가면, 실시형태에 따른 프로그램 가능 리소스를 구비한 장치를 프로그래밍하기 위한 시스템의 블록 다이어그램이 도시되어 있다. 특히, 메모리(206)로부터 회로 디자인(304)를 수신하고, 비휘발성 메모리(308) 내에 저장되는 구성 비트스트림을 생성하기 위해 컴퓨터(302)가 연결된다. 더 상세히 후술하는 바와 같이, 회로 디자인은 HDL(hardware description language)에 규정되는 회로 디자인과 같은 하이 레벨 디자인이 될 수 있다. 또한, 컴퓨터는, 비휘발성 메모리(308)에 저장되는 구성 비트스트림을 생성하여 프로그램 가능 리소스를 구비한 장치(310)에 제공하는 소프트웨어를 실행(run)하도록 구성될 수 있다.
프로그램 가능 집적회로에서 구현될 회로 디자인을 위한 소프트웨어 플로우(flow)는 공지되어 있는 바와 같이, 통합(synthesis), 패킹(packing), 배치(placement), 및 배선(routing)을 포함한다. 통합은 하이 레벨 디자인에서의 회로 디자인을 프로그램 가능 집적회로 내에 구축되는(found) 엘리먼트의 구성으로 변환하는 스텝을 포함한다. 예컨대, 컴퓨터(302)에 의해 작동되는 통합 툴(synthesis tool)은 구성 가능 로직 블록(CLB) 또는 디지털 신호 프로세싱(DSP)에서의 소정의 기능을 구현하는 회로 디자인의 부분을 구현할 수 있다. 통합 툴의 예는 California San Jose에 소재하는 Xilinx®, Inc의 ISE® 툴이다. 패킹은 CLB와 같은 장치의 규정된 브록 내에 회로 디자인의 부분을 그룹핑하는 스텝을 포함한다. 패킹은 패킹 스텝 중에 규정되는 장치의 블록의 위치를 결정하는 스텝을 포함한다. 최종적으로 라우팅은 프로그램 가능 집적회로 내의 프로그램 가능 상호접속과 같은 상호접속 엘리먼트의 경로를 선택하는 스텝을 포함한다. 배치와 라우트의 마지막에, 모든 기능, 위치, 및 접속이 알려지고, 구성 비트스트림이 생성된다. 비트스트림은 California San Jose에 소재하는 Xilinx®, Inc.의 BitGen이라 불리는 소프트웨어에 의해 생성될 수 있다. 또한, 비트스트림은 미리 결정된 암호화 규격에 따라 암호화될 수 있다. 비트스트림은 프로그램 가능 집적회로에의 전달을 위해 EPROM으로 프로그래밍되거나 케이블에 의해 다운로드된다. 인코딩되면, 비트스트림은 미리 결정된 암호화 규격에 따라 프로그램 가능 집적회로에 의해 디코딩된다.
도 4로 돌아가면, 실시형태에 따른 프로그램 가능 리소스를 구성하기 위한 엘리먼트를 구비한 집적회로의 블록 다이어그램이 도시되어 있다. 도 4의 회로는 제어 회로(404)와 프로그램 가능 리소스(406)에 연결된 입력/출력(I/O) 포트(402)를 구비한 집적회로로 구현된다. 프로그램 가능 리소스(406)는 사용자가 선택한 회로 디자인을 구현하기 위해 회로의 사용자에 의해 구성 가능한 회로 엘리먼트를 포함한다. 프로그램 가능 리소스(406)는 도 1 및 도 2를 참조하여 설명된 프로그램 가능 로직과 같은 프로그램 가능 로직을 포함할 수 있다.
프로그램 가능 리소스(406) 내에 구현되는 회로는 집적회로(400)에 다운로드되는 구성 비트스트림에 따라 구현될 수 있다. 상세히 후술하는 바와 같이, 프로그램 가능 리소스(406)는 구성 메모리(408)를 포함한다. 일반적으로, 구성 메모리(408)는 구성 비트스트림의 구성 비트에 기초하여 프로그램 가능 리소스(406)를 구성하기 위한 메모리 셀을 포함한다. 프로그램 가능 리소스(406)와 구성 메모리(408)의 단일 블록이 도시되어 있지만, 소정의 집적회로는 구성 메모리에 의해 제어되는 프로그램 가능 리소스를 구비한 복수의 블록을 포함할 수 있다. 또한, 집적회로(400)는 구성 데이터를 저장하기 위해 프로그램 가능 리소스9406)의 외부에 비휘발성 메모리와 같은 메모리(412)를 포함할 수 있다.
구성 제어기(410)는 구성 메모리(408)에 구성 데이터를 로딩하기 위해 제어 회로(404)로부터 분리되어 구현되거나 제어 회로(404)의 일부로서 구현될 수 있다. 구성 데이터는, 제어 회로(404) 및 메모리(412) 또는 I/O 포트(402)에 의한 구성 제어기(410)에 의해 직접 로딩될 수 있다. 도 4의 회로는 상세히 후술하는 바와 같은 프로그램 가능 로직 장치 등의 프로그램 가능 리소스(406) 또는 민감한 데이터를 저장하기 위한 프로그램 가능 또는 메모리인 회로의 부분을 구비하는 애플리케이션 특정 집적회로(ASIC: application-specific integrated circuit)를 구비한 임의의 장치가 될 수 있다. 예컨대, 도 4의 회로는 프로그램 가능 리소스를 구비한 장치(310)가 될 수 있다.
도 5로 돌아가면, 실시형태에 따른 데이터의 통신을 가능하게 하는 집적회로(500)의 블록 다이어그램이 도시되어 있다. 집적회로(500)는 ADC/DAC 인터페이스(508)에 의해 아날로그 투 디지털 변환기(ADC) 회로(510) 및 디지털 투 아날로그 변환기(DAC) 회로(512)에 대한 액세스를 가능하게 하는 아날로그 입력 및 출력(504)의 컬럼과 프로그램 가능 리소스(502)를 포함한다. 아날로그 입력 및 출력(516)의 제1 컬럼은 ADC/DAC 인터페이스(518)에 의해 ADC 회로(520) 및 DAC 회로(522)의 컬럼(514)에 대한 액세스를 가능하게 한다. 상세히 후술하는 바와 같이, 도 5의 엘리먼트들은 도 14에 도시된 바와 같은 단일 집적회로의 멀티플 다이 또는 싱글 다이 상에 제공될 수 있다.
ADC를 집적회로 상에 통합하는 다양한 실시형태는, ADC의 출력을 프로세싱하는 집적회로로부터 분리된 ADC를 채택하는 종래의 구현에 대한 현저한 장점을 제공한다. 예컨대, 메디컬 이미징(medical imaging)과 같은 하이 채널 카운트 애플리케이션(high channel count application)에서, 16개의 이용가능 ADC 각각은 개별 입력에 의해 사용될 수 있고, 다수의 이 ADC는 소정의 채널이 멀티플 데이터 변환기를 사용하는 인터리빙(interleaving)을 채택함으로써 결합(combine)될 수 있다. 예컨대, 멀티플 데이터 변환기는 무선 애플리케이션을 위한 투 채널(two-channel), 하이 샘플 레이트 솔루션(high-sample rate solution)을 구현하기 위해 2개의 채널 각각에 의해 사용될 수 있다. ADC의 타임 인터리빙을 채택함으로써, 모놀리딕 솔루션(monolothic solution)에 비해 저전력 솔루션(lower power solution)이 구현될 수 있다. 또한, 이산(discrete) ADC 회로와 집적회로 사이에 외부 인터페이스를 제공할 필요를 제거함으로써 집적회로로부터 분리된 이산 ADC를 구비한 솔루션에 비해 전체 전력이 감소될 수 있다.
또한, ADC 및 DAC 회로의 구현 비용을 다양한 실시형태가 감소시킬 수 있다. ADC 회로는 전압 또는 전류와 같은 아날로그 입력을, 아날로그 입력 신호의 크기(magnitude)에 비례하는 디지털 숫자로 변환한다. ADC 회로의 해상도는 입력값 상에 범위에 걸쳐 생성할 수 있는 이산값의 수를 나타낸다. 예컨대, 12 비트 ADC 회로는 아날로그 입력을 212 or 4096 레벨 중 하나로 인코딩할 수 있다. 12 비트 ADC 회로는 예시에 의해 다양한 실시형태에서 설명되었지만, 변환기 회로의 해상도는 데이터를 프로세싱할 필요와 변환기 회로를 구현하는 비용에 기초하여 선택될 수 있다.
12 비트 ADC 회로와 같은 적정 스피드 ADC 회로는, 다이 영역의 매우 작은 양을 소모하는 진보된 CMOS 프로세스 상에 구현될 수 있다. 16 또는 그 보다 많은 ADC와 같은 다수의 ADC가 구현되어, 싱글 하이 스페시피케이션 ADC 인스텐시에이션(single high specification ADC instantiation)보다 더 작은 다이 영역 내에 결합/인터리빙될 수 있다. 또한, 집적회로 상에 데이터 변환기를 구현하는 것은, 집적회로를 수용하는 프린트 회로 보드의 복잡성을 감소시킬 수 있다. 또한, 다양한 실시형태는, 진보된 CMOS 프로세스의 '아날로그' 파라미터에 의존하지(rely on) 않는 '아날로그' 퍼포먼스를 생성하기 위해, 디지털 보조 기술(digitally assisted technique)이 적용될 수 있게 한다. FPGA의 프로그램 가능 리소스를 가진 다수의 적정 퍼포먼스 데이터 변환기의 집적은, 시간 도메인 인터리빙을 사용하는 플렉서블 아날로그 프론트 엔드(flexible analog front end), 비용 절감, 및 저전력의 제공을 가능하게 한다. 메디컬 이미징, 무선 통신, A&D(Aerospace and Defense), 및 전력 변화(power conversion) & 모터 컨트롤과 같은 다수의 ISM(Industrial, Scientific, and Medical) 애플리케이션을 가능하게 하기 위해, 다양한 실시형태가 구현될 수 있다.
이제 도 6 내지 도 8로 돌아가면, 다양한 실시형태에 따른 복수의 아날로그 투 디지털 변환기 회로를 구비한 집적회로의 블록 다이어그램이 도시되어 있다. 도 6의 실시형태에 도시된 바와 같이, 16개의 ADC 회로(602)가 제공되어 있고, 각각의 ADC 회로는 개별 입력/출력 포트(604)와 디지털 포스트 프로세싱(digital post processing) 회로(606)에 연결되어 있다. 도 6의 실시형태는, ADC 변환기의 퍼포먼스가 다수의 입력/출력 포트에 대한 데이터 입력을 프로세싱하기에 충분한 애플리케이션으로 구현될 수 있다. 그러나, 더 높은 샘플링 레이트를 필요로하는 애플리케이션을 위해, 복수의 ADC 회로의 인터리빙이 필요할 수 있다. 복수의 ADC 회로의 타임 인터리빙(time interleaving)은, 각각의 ADC 회로에 대한 상이한 시간에서의 입력 데이터를 샘플링하는 것과 상이한 ADC 회로에 대하여 입력 데이터를 라우팅하는 것에 의해 구현된다. ADC 회로의 타임 인터리빙은 기존의 ADC 회로의 샘플 레이트를 증가(multiply)시킬 수 있다. 즉, 더 높은 샘플 레이트 ADC 회로를 구현하는 것 대신, 다수의 ADC 회로가 더 높은 퍼포먼스를 가진 단일 ADC 회로와 동일한 샘플링 레이트를 가능하게 하기 위해 타임 멀티플렉싱(time multiplexing)될 수 있다.
입력/출력 포트로 나타냈지만, 입력/출력 포트는, 아날로그 입력 신호를 수신하는 경우에는 전용 입력 포트가 되거나, 아날로그 출력 신호를 생성하는 경우에는 전용 출력 포트가 될 수 있다. 즉, 입력/출력 포트는 신호의 수신 기능과 송신 기능을 모두 수행할 수 있지만, 소정의 입력/출력 포트는 입력/출력 포트의 용도에 따라 입력 포트 또는 출력 포트로서 구현될 수 있다. 대안으로서, 입력/출력 포트로서 지정된 포트는 입력 포트 또는 출력 포트 중 하나로만 기능하도록 구현될 수 있다.
도 7의 실시형태에 따르면, 4개의 ADC 회로를 갖는 실시예에 의해 도시된 ADC 회로의 블록(702)가 구현된다. 4개의 ADC 회로는 라우팅 네트워크(704)에 연결된다. 도 9를 참조하여 상세히 후술하는 바와 같이, 라우팅 네트워크(704)는, 입력/출력 포트(604)에 대한 아날로그 입력 신호가 변환될 때 상이한 샘플링 레이트로 디지털 포스트 프로세싱 회로(606)에 의해 프로세싱될 수 있게 한다. 즉, 50 Msps로 동작하는 ADC 회로와 같은 적정 속도 ADC 회로는 타임 인터리빙을 가능하게 하는 시스템에서 구현되는 경우에, 단일 I/O 포트와 관련된 데이터에 대한 더 큰 샘플링 레이트를 가능하게 한다. 도 7의 실시형태에 따르면, 도 6의 6개의 차동 입력 채널에 비해 오직 4개의 차동 입력 채널이 구현될 수 있다. 도 8의 실시형태에 도시된 바와 같이, ADC 변환기의 블록(802)은 8개의 ADC 변환기를 포함한다. 도 8의 실시형태에 따르면, 2개의 차동 입력 채널만이 구현될 수 있지만, 각각의 채널이 아날로그 입력 신호의 더 큰 샘플링 레이트를 갖는다.
이제 도 9로 돌아가면, 실시형태에 따른 프로그램 가능 상호접속 회로의 블록 다이어그램이 도시되어 있다. ADC 인터페이스 또는 더 구체적으로는 라우팅 네트워크(704 또는 804)로서 프로그램 가능 상호접속 회로가 구현될 수 있다. 프로그램 가능 상호접속 회로(901)는 라우팅 회로(902)에서 입력(V+)을 수신한다. 라우팅 회로는, 적절한 멀티플렉서 출력(AI0p-AI7p)에서의 아날로그 입력 신호의 생성을 가능하게 하는 제2 스테이지 내의 라우터(906 및 908) 및 제1 스테이지 내의 라우터(904)를 포함하는 라우터들의 스테이지를 포함한다. 라우터(904)는 입력 신호(V+)를 라우터(906)로 라우팅하게 하는 제1 트랜지스터(910) 및 입력 신호(V+)를 라우터(908)로 라우팅하게 하는 제2 트랜지스터(912)를 포함한다. 라우터(906)는 출력(AI0p)를 생성하는 트랜지스터(914), 출력(AI1p)를 생성하는 트랜지스터, 출력(AI2p)을 생성하는 트랜지스터(918), 및 출력(AI3p)을 생성하는 트랜지스터(920)를 포함한다. 마찬가지로, 라우터(908)는 출력(AI4p)를 생성하는 트랜지스터(922), 출력(AI5p)를 생성하는 트랜지스터(924), 출력(AI6p)을 생성하는 트랜지스터(926), 및 출력(AI7p)을 생성하는 트랜지스터(928)를 포함한다. 제2 라우팅 회로(932)는, 입력(V-)을 수신하기 위해 연결되는 것을 제외하면 라우팅 회로(902)와 동일하고, 적절한 라우터 출력(AI0n-AI7n)에서 아날로그 입력 신호를 연결한다. 상이한 입력을 구현하는 경우에, 라우팅 회로(902)와 라우팅 회로(932)는 포지티브 입력(V+)와 네거티브 입력(V-)을 수신하는데 사용된다.
제어 회로(934)는 라우팅 회로(902)와 라우팅 회로(932)에 연결된다. 상세히 후술하는 바와 같이, 제어 회로는 적절한 하나 이상의 ADC 회로에 입력 신호를 연결하기 위해 A0-A5를 위해 적절한 제어 신호를 생성한다.
도 7의 실시형태를 구현하는 경우에, 예컨대 라우팅 회로는 블록(702)에 도시된 바와 같이, 입력(V+ 및 V-)을 4개의 ADC 회로에 라우팅한다. 즉, 출력(AI0p-AI3p 및 AI0n-AI3n)만이 요구된다. 반대로, 도 8의 실시형태를 구현하는 경우에, 라우팅 회로는 모든 출력(AI0p-AI7p 및 AI0n-AI7n)이 요구되는 블록(802)에 도시된 바와 같이, 입력(V+ 및 V-)을 8개의 ADC 회로에 라우팅한다. 따라서, 차동 데이터(V+ 및 V-)로서 도시된 아날로그 입력 신호는 제어 신호(D5-D0)에 응답하여 선택적으로 ADC 회로로 라우팅된다. 도 9의 라우팅 네트워크가 예시로 도시되어 있지만, 프로그램 가능 상호접속 회로의 다른 구성이 채택될 수 있다는 것을 이해해야 한다. 또한, 프로그램 가능 상호접속 회로의 구성은 회로 블록 내에서의 데이터의 통신을 가능하게 하기 위해 상이하게 될 수 있다는 것은 명백하다.
도 10으로 돌아가면, 실시형태에 따른 데이터의 통신을 가능하게 하는 집적회로의 블록 다이어그램이 도시되어 있다. 도 10의 블록 다이어그램은 8개의 ADC 회로(602)가 단일 입력/출력 포트(604)에 연결되는 도 8의 실시형태의 더 상세한 예를 나타낸다. 즉, 라우팅 네트워크(804)는 블록(802)의 8개의 ADC 회로 각각에 대한 입력/출력 포트(604)에서의 아날로그 입력 신호의 연결을 가능하게 한다. 클록 생성기(802)는 입력/출력 포트(604)에 연결된 아날로그 입력 신호가 상이한 시간에 샘플링되게 하는 복수의 클록 신호를 생성하고, 이에 따라 신호의 샘플링 레이트가 증가된다. 상세히 후술하는 바와 같이, 100 Msps ADC 회로만을 사용하여 800 Msps를 생성하기 위해 아날로그 입력 신호의 샘플링 레이트는 8배로 증가될 수 있다. 클록 생성기(1002)는 입력 클록 신호(CLK)를 수신하고, 상이한 페이즈(phase)를 갖는 8개의 클록 신호 전체에 대하여 7개의 페이즈 시프트된 클록 신호를 생성하는 멀티페이즈(multiphase) 클록 회로를 포함할 수 있다. 예컨대, 페이즈 시프트된 클록 신호는 CLK 신호의 45°, 90°, 135°, 180°, 225°, 270°, 및 315°의 페이즈가 될 수 있다. 도 7의 예와 같이 4개의 페이즈 시프트된 클록 신호만 요구되는 경우에, CLK(또는 0° 페이즈)와 90°, 180° 및 270° 페이즈가 사용될 수 있다. 상세히 후술하는 바와 같이, 도 16을 참조하면, ADC(602)는 적절한 시간에 입력 신호를 샘플링할 것이다.
점선 박스(1004)로 도시된 바와 같이, 샘플링된 아날로그 입력 신호의 부분은 8개의 ADC(602) 중 하나에 의해 출력되는 디지털 데이터에 대응하는 것으로 도시되어 있다. 점선 박스(1004)에서 볼 수 있는 바와 같이, 제1 ADC(602)의 출력은 아날로그 입력 신호의 제1 샘플 및 제9 샘플에 대응하고, 제2 ADC(602)의 출력은 아날로그 입력 신호의 제2 샘플 및 제10 샘플에 대응한다. ADC 회로(602)의 출력은 인터페이스 회로(1006)에 제공된다. 도 12 및 도 17을 참조하여 상세히 후술하는 바와 같이, 인터페이스 회로(1006)는, 예컨대 FPGA의 프로그램 가능 리소스와 같은 프로그램 가능 리소스(1008)로의 ADC(602)로부터의 출력 신호의 라우팅을 가능하게 한다. 프로그램 가능 리소스(1008)는 오직 100 Msps에서 데이터를 프로세싱할 수 있기 때문에, 예컨대 프로그램 가능 리소스는 ADC 회로에 의해 출력되는 100 Msps에서의 96 비트 디지털 데이터를 사용하여 데이터를 프로세싱한다. 예컨대, 라우팅 네트워크(804)는 ADC/DAC 인터페이스(504)에서와 같이, 집적회로의 일부로서 구현될 수 있지만, 라우팅 네트워크의 기능은 예컨대 집적회로를 수용(receive)하는 프린트 회로 보드의 일부로서 집적회로로부터 분리되어 구현될 수도 있다. 즉, 상기한 바와 같이 아날로그 입력 신호를 ADC 회로가 샘플링하는 복수의 ADC 회로의 각각의 입력에 대한 프린트 회로 보드의 접속에 의해 아날로그 입력 신호가 라우팅될 수 있다.
도 11로 돌아가면, 대체 실시형태에 따른 집적회로에 대한 데이터의 통신을 가능하게 하는 집적회로의 블록 다이어그램이 도시되어 있다. 도 11의 실시형태에 따르면, 샘플러(1102)가 제공된다. 도 10을 참조하여 상술한 바와 같은 샘플링을 수행하는 ADC 회로를 구비하는 대신, 샘플러(1102)는 라우팅 네트워크(804)를 따라 적절한 ADC 변환기(602)에 아날로그 신호의 부분을 제공하는 고속 샘플러(fast smapler)를 포함한다. 따라서, 아날로그 입력 신호를 수신하여 ADC 회로에 의해 샘플링을 하게 하는 ADC 회로의 그룹 중 ADC 회로(602)의 각각으로 아날로그 입력 신호를 라우팅하는 대신, 샘플러(1102)와 라우팅 네트워크(804)는 선택된 ADC 회로(606)로의 아날로그 입력 신호의 샘플의 라우팅을 가능하게 한다. 즉, 라우팅 네트워크(804)는 상이한 ADC 회로로의 샘플링된 신호의 라우팅을 주기적으로 변경할 것이고, 클록 생성기는 아날로그 입력 신호를 주기적으로 샘플링할 것이다. 예컨대, 제어 회로(934)는, 클록 생성기에 의해 생성된 고속(high speed) 클록 신호에 응답하여, 단일 ADC 회로(602)로 입력 신호를 라우팅하고, 아날로그 입력 신호의 샘플을 수신하는 ADC 회로는 주기적으로 변경될 것이다. 샘플러(1102)와 라우팅 네트워크(804)는 각각 집적회로의 일부가 될 수 있다는 것을 이해해야 한다. 대안으로서, 샘플러(1102)와 라우팅 네트워크(804)의 모두 또는 샘플러(1102)는 ADC 회로(602)와 프로그램 가능 리소스(1008)를 구현하는 집적회로로부터 분리될 수 있다.
이제 도 12로 돌아가면, 실시형태에 따른 인터페이스 회로(1006)의 블록 다이어그램이 도시되어 있다. 인터페이스 회로는 DOx로 표시된 다양한 출력으로 DIx로 표시된 다양한 입력의 연결을 가능하게 하도록 프로그램 가능한 라우팅 매트릭스(routing matrix)를 포함한다. 일실시형태에 따르면, 입력 신호(DIx)는 ADC(602)의 출력이 될 수 있고, 출력(DOx)은 예컨대 FPGA의 프로그램 가능 리소스로의 입력이 될 수 있다. 특히, 인터페이스 회로(1006)는 멀티플렉서 회로(1202), 버퍼 회로(1204), 및 디멀티플렉서(demultiplexer)(1206)를 포함할 수 있다.
멀티플렉서 회로(1202)는 제1 스테이지에서 멀티플렉서(1208 및 1210)을 그리고 제2 스테이지에서 멀티플렉서(1212)를 포함하는 멀티플렉서의 스테이지들을 포함한다. 도시된 바와 같이, 멀티플렉서 회로(1202)는 출력 버퍼(1204)에 연결되도록 선택될 수 있는 8개 디지털 입력 신호(DI0-DI7)를 수신한다. 멀티플렉서(1208)는 입력(DI0)을 수신하는 트랜지스터(1214), 입력(DI1)을 수신하는 트랜지스터(1216), 입력(DI2)을 수신하는 트랜지스터(1218), 및 입력(DI3)을 수신하는 트랜지스터(1220)를 포함한다. 마찬가지로, 멀티플렉서(1210)는 입력(DI4)을 수신하는 트랜지스터(1222), 입력(DI5)을 수신하는 트랜지스터(1224), 입력(DI6)을 수신하는 트랜지스터(1226), 및 입력(DI7)을 수신하는 트랜지스터(1228)를 포함한다. 멀티플렉서(1212)는 멀티플렉서(1208의 출력을 라우팅하게 하는 제1 트랜지스터(1230) 및 멀티플렉서(1210)의 출력을 라우팅하게 하는 제2 트랜지스터(1232)를 포함한다.
출력 버퍼(1204)는 인버터(1234) 및 인버터(1236)를 포함한다. 트랜지스터(1238)는 게이트에서 인버터(1234)의 출력에 연결되고, 소스에서 인버터(1236)의 출력에 연결된다. 출력 버퍼 회로(1204)는 멀티플렉싱 회로(1202)로의 선택된 입력을 수신하고, 디멀티플렉서 회로(1206)에 연결되는 출력을 생성한다.
디멀티플렉서(1206)는 제1 스테이지에서의 디멀티플렉서(1240) 및 제2 스테이지에서의 디멀티플렉서(1242 및 1244)를 포함하는 디멀티플렉서의 스테이지들을 포함한다. 디멀티플렉서 회로(1240)는 입력에서 버퍼 회로(1204)의 출력을 수신하고, 트랜지스터(1246 및 1248)를 사용하여 출력을 생성한다. 멀티플렉서(1242)는 출력(DO0)을 생성하는 트랜지스터(1250), 출력(DO1)을 생성하는 트랜지스터(1252), 출력(DO2)을 생성하는 트랜지스터(1254), 및 출력(DO3)을 생성하는 트랜지스터(1258)를 포함한다. 마찬가지로, 멀티플렉서(1244)는 출력(DO4)를 생성하는 트랜지스터(1258), 출력(DO5)를 생성하는 트랜지스터(1260), 출력(DO6)을 생성하는 트랜지스터(1262), 및 출력(DO7)을 생성하는 트랜지스터(1264)를 포함한다.
또한, 제어 회로(1334)는 적절한 데이터 출력에 적절한 입력 데이터를 연결하기 위해 적절한 제어 신호(DO-D11)를 생성한다. 제어 회로는 구성 데이터를 저장하는 메모리 엘리먼트를 포함할 수 있다. 따라서, 집적회로를 구성하는 경우에, ADC는 예컨대 도 6 내지 도 8에 도시된 바와 같이, 사용자가 원하는 바대로 구성될 수 있다.
도 13으로 돌아가면, 실시형태에 따른 집적회로로부터의 데이터의 통신을 가능하게 하는 집적회로의 블록 다이어그램이 도시되어 있다. 집적회로 상에 복수의 ADC 회로의 구현을 설명한 도 5 내지 도 11의 실시형태와 마찬가지로, 도 13 내지 도 15는 집적회로 상의 복수의 DAC 회로의 구현을 설명한다. 특히, 클록 생성기(1304)에 연결된 블록(1302)은 복수의 DAC 회로(1306)를 포함한다. 프로그램 가능 인터페이스 회로(1308)에 의한 집적회로의 다른 회로들 또는 프로그램 가능 리소스(1008)로부터의 입력을 수신하기 위해 DAC 회로(1306)가 연결된다. 상세히 후술하는 바와 같이, 인터페이스 회로는 집적회로의 상이한 다이 사이에서의 신호의 라우팅을 가능하게 하는 프로그램 가능 인터페이스 회로가 될 수 있다. 또한, 프로그램 가능 인터페이스 회로(1312)에 의해 DAC 회로의 출력을 수신하고, 하나 이상의 아날로그 출력 신호(1314)를 생성하기 위해, 합산(summing) 회로(1310)가 연결된다. DAC 회로의 구현으로 인해, 프로그램 가능 인터페이스 회로(1312)는 도 14 및 도 15를 참조하여 상세히 후술하는 바와 같이, 상이한 DAC들의 출력을 합산할 수 있다. 예컨대, 프로그램 가능 인터페이스 회로(1308 및 1312)는 도 12에 도시된 것과 같은 인터페이스 회로를 사용하여 구현될 수 있다.
도 14로 돌아가면, 실시형태에 따른 구성을 갖는 집적회로로부터의 데이터의 통신을 가능하게 하는 집적회로의 블록 다이어그램이 도시되어 있다. 합산 회로(1310)는 DAC 회로(1306)의 출력을 수신하는 합산기(1402)를 포함한다. 프로그램 가능 인터페이스 회로(1312)는 선택된 합산기 회로로의 DAC의 출력의 라우팅을 가능하게 한다. 도 14의 실시형태에 따르면, 모든 DAC(1306)의 출력은 합산기 회로(1402)로 라우팅된다. 도 15의 실시형태에 따르면, 블록(1302)은 DAC의 제1 그룹(1502)과 DAC의 제2 그룹(1504)을 포함하고, 합산 회로(1310)는 제2 합산기(1506)를 포함한다. DAC의 제1 그룹(1502)의 출력은 합산기(1402)로 라우팅되고, DAC의 제2 그룹(1504)의 출력은 합산기(1506)로 라우팅된다. 즉, 프로그램 가능 인터페이스 회로(1312)는 적절한 합산기로 DAC의 출력을 라우팅하도록 구성된다. 도 13 내지 도 15의 모든 엘리먼트들은 단일 집적회로 상에 있을 수 있고, 프로그램 가능 인터페이스 회로(1312)와 합산 회로(1310)는 예컨대 프린트 회로 보드와 같은 DAC를 구비한 집적회로로부터 분리될 수 있다.
이제 도 16으로 돌아가면, ADC의 블록 다이어그램이 도시되어 있다. ADC 회로는 기준 전압 생성기(1604)에 연결된 아날로그 투 디지털 회로(1602)를 포함한다. 또한, 차동 입력(V+ 및 V-)을 수신하는 증폭기(1606)의 출력을 수신하기 위해 아날로그 투 디지털 회로(1602)가 연결된다. 아날로그 투 디지털 변환기(1602)와 증폭기(1606)를 제어하기 위해, 클록 회로(1608) 및 제어 회로(1610)가 연결된다. 클록 회로(1608)와 제어 회로(1610)는 도 10의 실시형태에 따른 아날로그 입력 신호의 샘플링을 가능하게 한다. 아날로그 투 디지털 변환기(1602)의 출력은 출력(DP[11 :0] 및 DN[11 :0])을 생성하는 에러 수정 회로(1612)에 제공된다. ADC 회로는 아날로그 입력 신호와 관련된 멀티 비트 출력을 생성한다. 예컨대, ADC 회로는 샘플링된 아날로그 값과 관련된 12 비트 출력을 생성할 수 있다. ADC 회로의 해상도는 출력의 해상도에 영향을 주고, 원하는대로 선택될 수 있다. 12 비트 출력이 도시되어 있지만, 상이한 수의 비트를 생성하는 아날로그 투 디지털 변환기가 구현될 수 있다는 것을 이해해야 한다. 또한, 도 16의 ADC 변환기 회로의 블록 다이어그램이 예로서 도시되어 있고, 다른 ADC 변환기 회로가 다양한 실시형태에 따라 구현될 수 있다.
이제 도 17로 돌아가면, 실시형태에 따른 멀티 칩 집적회로의 블록 다이어그램이 도시되어 있다. 도 17의 실시형태에 따르면, 프린트 회로 보드와 같은 회로 보드(1702)는 멀티 다이 집적회로(1704)를 수용(receive)하도록 구성된다. 멀티 다이 집적회로(1704)는 인터포저(interposer) 회로(1708)를 수용하기 위해 연결된 기판(1706)을 포함한다. 인터포저(1708)는 ADC 및 DAC 회로를 구비한 데이터 변환기 칩(1712) 및 FPGA 칩(1710)과 같은 멀티플 집적회로 칩을 기판(1706)에 연결하는 것을 가능하게 한다. 인터포저 회로(1708)는 인터페이스 회로(1006)를 설명하는 도 12에 도시된 바와 같이 구현될 수 있다. 솔더 볼(solder ball)(1714)은 TSV(through silicon via)와 같은 다양한 상호접속(1716)에 의해 다양한 칩으로부터의 신호를 회로 보드에 연결할 수 있다. 또한, 상호접속(1718)은 멀티 다이 집적회로의 다양한 칩들 사이에서의 신호의 라우팅을 가능하게 한다. 인터포저 회로(1708)는, FPGA 칩들과 데이터 변환기 칩 사이 또는 칩들 중 하나와 기판(1706) 사이에서의 신호의 라우팅을 가능하게 하는 상호접속 엘리먼트를 포함하는 다양한 금속층을 가진, 실리콘 기판이 될 수 있다. 그러나, 인터포저 회로는 도시된 바와 같이 신호를 라우팅하게 하는 도전성 엘리먼트(conductive element)를 구비한 임의의 물질이 될 수 있다. 데이터 변환기 칩(1712)과 FPGA 칩(1710)의 모든 회로는 단일 다이 위에 구현될 수 있지만, 도 17의 실시형태는 데이터 변환기 칩(1712)과 FPGA 칩(1710)의 다양한 회로를 더 효과적으로 구현할 수 있게 한다. 예컨대, 일부 회로들은 소정 치수의 트랜지스터를 형성하는 프로세스와 같은 하나의 프로세스에 따라 제조되는 집적회로 칩으로 더 효과적으로 구현될 수 있고, 다른 회로들은 다른 프로세스에 따라 제조되는 집적회로 칩으로 더 효과적으로 구현될 수 있다.
도 18로 돌아가면, 플로우 차트는 실시형태에 따른 집적회로와 데이터를 통신하는 방법을 나타낸다. 입력/출력 포트에 의해 구현될 미리 결정된 수의 아날로그 투 디지털 회로는, 스텝(1802)에서 입력/출력 포트에서 수신되는 데이터를 프로세싱하기 위해 선택된 데이터 레이트에 기초하여 선택된다. 데이터를 프로세싱하기 위한 회로가 집적회로에서 구현되도록 하기 위한 프로그램 가능 상호접속을 구성하기 위한 구성 데이터는 스텝(1804)에서 생성된다. 스텝(1806)에서 프로그램 가능 상호접속 회로를 구성하기 위한 구성 데이터가 집적회로에서 수신된다. 스텝(1808)에서, 입력/출력 포트로부터 미리 결정된 수의 아날로그 투 디지털 회로로 데이터를 라우팅하도록 하기 위해 프로그램 가능 상호접속이 구성된다. 스텝(1810)에서, 복수의 아날로그 투 디지털 변환기 회로에서 수신되는 데이터는 클록 생성기를 사용하여 샘플링된다. 스텝(1812)에서, 복수의 아날로그 투 디지털 변환기 회로를 사용하여 아날로그 데이터로부터 디지털 데이터로 데이터가 변환된다. 스텝(1814)에서, 데이터가 프로세싱된다.
도 19로 돌아가면, 플로우 차트는 대체 실시형태에 따른 집적회로와 데이터를 통신하는 방법을 나타낸다. 스텝(1902)에서, 집적회로에서 구현될 미리 결정된 수의 디지털 투 아날로그 회로가 선택된다. 스텝(1904)에서, 데이터를 프로세싱하는 회로가 집적회로에서 구현되도록 하기 위해 프로그램 가능 상호접속 회로를 구성하기 위한 구성 데이터가 생성된다. 스텝(1906)에서, 프로그램 가능 상호접속 회로를 구성하기 위한 구성 데이터가 집적회로에서 수신된다. 스텝(1908)에서, 미리 결정된 수의 디지털 투 아날로그 회로로부터 하나 이상의 합산기로 데이터를 라우팅하게 하기 위해 프로그램 가능 상호접속 회로가 구성된다. 스텝(1910)에서, 미리 결정된 수의 디지털 투 아날로그 회로의 출력에서의 데이터는 하나 이상의 합산기에 연결된다. 스텝(1912)에서, 하나 이상의 합산기로부터의 합산된 데이터가 출력된다. 도 18 및 도 19의 방법은 상기한 도 1 내지 도 17의 회로 또는 적합한 다른 회로를 사용하여 구현될 수 있다. 도 18 및 도 19의 방법의 특정 엘리먼트들이 도시되었지만, 추가의 엘리먼트들 또는 도시된 엘리먼트들과 관련된 추가 세부사항들은 도 1 내지 도 17에서 설명되었다.
따라서, 집적회로와 데이터를 통신하는 새로운 방법이 설명되었다는 것을 인식할 수 있다. 개시된 본 발명을 포함하는 다수의 대체물과 등가물들이 존재하는 것으로 볼 수 있다는 것이 통상의 기술자에 의해 인식될 것이다. 따라서, 본 발명은 상기 실시형태에 의해서 한정되지 않지만 청구범위에 의해서만 한정된다.

Claims (15)

  1. 데이터의 통신을 가능하게 하는 집적회로에 있어서,
    입력/출력 포트;
    상기 입력/출력 포트에서 수신되는 입력 신호를 샘플링하도록 구성되는 복수의 데이터 변환기 회로; 및
    상기 입력/출력 포트와 상기 복수의 데이터 변환기 회로 사이에 연결되고, 집적회로의 상기 입력/출력 포트에 대한 상기 복수의 데이터 변환기 회로의 접속을 가능하게 하는, 프로그램 가능 상호접속 회로
    를 포함하는,
    데이터의 통신을 가능하게 하는 집적회로.
  2. 제1항에 있어서,
    상기 입력/출력 포트는 차동 아날로그 입력 신호를 수신하는 한쌍의 입력/력 핀을 포함하는 것인,
    데이터의 통신을 가능하게 하는 집적회로.
  3. 제1항 또는 제2항에 있어서,
    상기 복수의 데이터 변환기 회로에 연결되는 클록 생성기를 더 포함하고,
    상기 복수의 데이터 변환기의 각각의 데이터 변환기는 상이한 클록 신호를 수신하는 것인,
    데이터의 통신을 가능하게 하는 집적회로.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 복수의 데이터 변환기 회로는 멀티 다이 집적회로의 프로그램 가능 리소스를 구비한 제2 다이로부터 분리되어 있는 상기 멀티 다이 집적회로의 제1 다이 상에 있는 것인,
    데이터의 통신을 가능하게 하는 집적회로.
  5. 제4항에 있어서,
    인터포저(interposer)를 더 포함하고,
    상기 제1 다이와 상기 제2 다이는 상기 인터포저 상에 있고, 상기 인터포저는 상기 제1 다이와 상기 제2 다이 사이에서의 데이터의 통산을 가능하게 하는 것인,
    데이터의 통신을 가능하게 하는 집적회로.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 복수의 데이터 변환기 회로는 복수의 디지털 투 아날로그(digital-to-analog) 변환기 회로를 포함하는 것인,
    데이터의 통신을 가능하게 하는 집적회로.
  7. 제6항에 있어서,
    상기 복수의 디지털 투 아날로그 변환기 회로의 출력에 기초하여 아날로그 출력 신호를 생성하는 합산 회로를 더 포함하는,
    데이터의 통신을 가능하게 하는 집적회로.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 입력/출력 포트, 상기 복수의 데이터 변환기 회로, 및 프로그램 가능 리소스는 상기 집적회로의 단일 다이 상에 있는 것인,
    데이터의 통신을 가능하게 하는 집적회로.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 복수의 데이터 변환기 회로 중 2개 이상은, 상기 입력/출력 포트에 연결되는 데이터 변환기 회로의 블록을 형성하기 위해 시간 도메인 인터리빙(time domain interleaving)되고,
    복수의 위상 시프트된 클록 신호(phase shifted clock signal)를 생성하는 클록 생성기를 더 포함하고,
    상기 데이터 변환기 회로의 블록은, 샘플링 레이트(sampling rate)를 증가시키기 위해 상기 복수의 위상 시프트된 클록 신호에 있어서, 상기 입력/출력 포트에서 수신되는 상기 입력 신호를 샘플링하는 것인,
    데이터의 통신을 가능하게 하는 집적회로.
  10. 집적회로에 의한 데이터 통신 방법에 있어서,
    집적회로에서 복수의 데이터 변환기 회로를 구현하는 스텝;
    상기 집적회로의 입력/출력 포트와 상기 집적회로의 상기 복수의 데이터 변환기 회로 사이에 연결되는 프로그램 가능 상호접속 회로를 프로그래밍하는 스텝; 및
    상기 복수의 데이터 변환기 회로에 의해, 상기 입력/출력 포트에서 수신되는 입력 신호를 샘플링하는 스텝
    을 포함하는,
    집적회로에 의한 데이터 통신 방법.
  11. 제10항에 있어서,
    선택된 샘플 레이트(sample rate)에 기초하여 미리 결정된 수의 상기 복수의 데이터 변환기 회로를 선택하는 스텝을 더 포함하는,
    집적회로에 의한 데이터 통신 방법.
  12. 제10항 또는 제11항에 있어서,
    상기 복수의 데이터 변환기 회로에 의해 상기 입력 신호를 샘플링하는 스텝은, 상기 입력/출력 포트에서 수신되는 상기 입력 신호의 시간 도메인 인터리빙(time domain interleaving)을 가능하게 하는 스텝을 더 포함하는 것인,
    집적회로에 의한 데이터 통신 방법.
  13. 제10항 또는 제11항에 있어서,
    상기 복수의 데이터 변환기 회로에 의해 상기 입력/출력 포트에서 수신되는 상기 입력 신호를 샘플링하는 스텝은, 상기 복수의 데이터 변환기 회로의 각각의 데이터 변환기 회로에 대하여 상기 입력 신호를 연결하는 스텝을 포함하는 것인,
    집적회로에 의한 데이터 통신 방법.
  14. 제10항 또는 제11항에 있어서,
    상기 복수의 데이터 변환기 회로에 의해 상기 입력/출력 포트에서 수신되는 상기 입력 신호를 샘플링하는 스텝은, 상기 복수의 데이터 변환기 회로 중 선택된 데이터 변환기 회로에 대하여 상기 입력 신호의 샘플을 주기적으로 연결하는 스텝을 포함하는 것인,
    집적회로에 의한 데이터 통신 방법.
  15. 제10항 또는 제11항에 있어서,
    상기 복수의 데이터 변환기 회로에 의해 상기 입력 신호를 샘플링하는 스텝은,
    상기 입력/출력 포트에 연결되는 데이터 변환기 회로의 블록을 형성하기 위해, 상기 복수의 데이터 변환기 회로 중 2개 이상을 시간 도메인 인터리빙하는 스텝;
    복수의 위상 시프트된 클록 신호를 생성하는 스텝; 및
    샘플링 레이트를 증가시키기 위해 상기 복수의 위상 시프트된 클록 신호에 있어서, 상기 입력/출력 포트에서 수신되는 상기 입력 신호를 상기 데이터 변환기 회로의 블록에 의해 샘플링하는 스텝
    을 포함하는,
    집적회로에 의한 데이터 통신 방법.
KR1020137032324A 2011-07-19 2012-03-30 데이터의 통신을 가능하게 하는 집적회로 및 집적회로에서의 데이터 통신 방법 KR101753940B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/186,415 2011-07-19
US13/186,415 US8548071B2 (en) 2011-07-19 2011-07-19 Integrated circuit enabling the communication of data and a method of communicating data in an integrated circuit
PCT/US2012/031656 WO2013012462A1 (en) 2011-07-19 2012-03-30 An integrated circuit enabling the communication of data and a method of communicating data in integrated circuit

Publications (2)

Publication Number Publication Date
KR20140040146A true KR20140040146A (ko) 2014-04-02
KR101753940B1 KR101753940B1 (ko) 2017-07-04

Family

ID=46025911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137032324A KR101753940B1 (ko) 2011-07-19 2012-03-30 데이터의 통신을 가능하게 하는 집적회로 및 집적회로에서의 데이터 통신 방법

Country Status (6)

Country Link
US (1) US8548071B2 (ko)
EP (1) EP2735099B1 (ko)
JP (1) JP5722504B2 (ko)
KR (1) KR101753940B1 (ko)
CN (1) CN103814523B (ko)
WO (1) WO2013012462A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9429625B1 (en) * 2012-05-18 2016-08-30 Altera Corporation Analog signal test circuits and methods
US9026872B2 (en) * 2012-08-16 2015-05-05 Xilinx, Inc. Flexible sized die for use in multi-die integrated circuit
US9007243B2 (en) 2012-09-05 2015-04-14 IQ-Analog Corporation System and method for customizing data converters from universal function dice
TWI611662B (zh) * 2013-03-08 2018-01-11 安娜卡敦設計公司 可組態的時間交錯類比至數位轉換器
US9547034B2 (en) 2013-07-03 2017-01-17 Xilinx, Inc. Monolithic integrated circuit die having modular die regions stitched together
US9500700B1 (en) * 2013-11-15 2016-11-22 Xilinx, Inc. Circuits for and methods of testing the operation of an input/output port
US9054645B1 (en) 2013-11-15 2015-06-09 Xilinx, Inc. Programmable receivers implemented in an integrated circuit device
US9325489B2 (en) 2013-12-19 2016-04-26 Xilinx, Inc. Data receivers and methods of implementing data receivers in an integrated circuit
US9413394B1 (en) 2014-04-01 2016-08-09 Microsemi Storage Solutions (U.S.), Inc. Digital to-analog converter system and method
US9077338B1 (en) * 2014-05-20 2015-07-07 Altera Corporation Method and circuit for scalable cross point switching using 3-D die stacking
WO2016109571A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Devices for time division multiplexing of state machine engine signals
WO2017033446A1 (ja) * 2015-08-27 2017-03-02 日本電信電話株式会社 信号生成装置
US9595495B1 (en) * 2015-09-28 2017-03-14 Altera Corporation Multi-level signaling for on-package chip-to-chip interconnect through silicon bridge
US9490832B1 (en) 2015-11-16 2016-11-08 Xilinx, Inc. Analog-to-digital converter circuit and method of implementing an analog-to-digital converter circuit
US10439639B2 (en) 2016-12-28 2019-10-08 Intel Corporation Seemingly monolithic interface between separate integrated circuit die
US10445278B2 (en) * 2016-12-28 2019-10-15 Intel Corporation Interface bridge between integrated circuit die
US10644844B1 (en) 2017-04-05 2020-05-05 Xilinx, Inc. Circuit for and method of determining error spacing in an input signal
CN108259344B (zh) * 2017-11-29 2020-12-29 新华三技术有限公司 遥测Telemetry方法和装置
US10476514B1 (en) 2018-05-30 2019-11-12 Xilinx, Inc. Circuit for and method of receiving data in an integrated circuit
WO2020028787A1 (en) 2018-08-02 2020-02-06 PureTech Health LLC Lipid prodrugs of pregnane neurosteroids and uses thereof
US10642946B2 (en) * 2018-12-28 2020-05-05 Intel Corporation Modular periphery tile for integrated circuit device
US11271581B1 (en) * 2020-05-18 2022-03-08 Xilinx, Inc. Time-multiplexed distribution of analog signals
CN117874793A (zh) * 2021-03-03 2024-04-12 深圳市建讯电子有限公司 一种应用程序终端

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084540A (en) * 1998-07-20 2000-07-04 Lockheed Martin Corp. Determination of jammer directions using multiple antenna beam patterns
US6476636B1 (en) 2000-09-02 2002-11-05 Actel Corporation Tileable field-programmable gate array architecture
US7076201B2 (en) * 2002-09-05 2006-07-11 Xytrans, Inc. Low cost VSAT MMIC transceiver with automatic power control
JP2004287475A (ja) 2003-01-27 2004-10-14 Fujitsu Ten Ltd 電子制御装置および電子駆動装置
US7170315B2 (en) * 2003-07-31 2007-01-30 Actel Corporation Programmable system on a chip
US7492313B1 (en) * 2006-10-31 2009-02-17 Lockheed Martin Corporation Digital processing radar system
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
CN101227308B (zh) * 2007-12-17 2010-06-23 北京创毅视讯科技有限公司 一种移动多媒体广播信号分析系统及分析方法

Also Published As

Publication number Publication date
JP5722504B2 (ja) 2015-05-20
KR101753940B1 (ko) 2017-07-04
US20130022136A1 (en) 2013-01-24
EP2735099A1 (en) 2014-05-28
US8548071B2 (en) 2013-10-01
WO2013012462A1 (en) 2013-01-24
CN103814523A (zh) 2014-05-21
EP2735099B1 (en) 2015-05-06
JP2014521279A (ja) 2014-08-25
CN103814523B (zh) 2016-12-28

Similar Documents

Publication Publication Date Title
KR101753940B1 (ko) 데이터의 통신을 가능하게 하는 집적회로 및 집적회로에서의 데이터 통신 방법
US10038647B1 (en) Circuit for and method of routing data between die of an integrated circuit
US8536896B1 (en) Programmable interconnect element and method of implementing a programmable interconnect element
US7804719B1 (en) Programmable logic block having reduced output delay during RAM write processes when programmed to function in RAM mode
US7218139B1 (en) Programmable integrated circuit providing efficient implementations of arithmetic functions
US7274211B1 (en) Structures and methods for implementing ternary adders/subtractors in programmable logic devices
US7276934B1 (en) Integrated circuit with programmable routing structure including diagonal interconnect lines
US7196543B1 (en) Integrated circuit having a programmable input structure with optional fanout capability
US7268587B1 (en) Programmable logic block with carry chains providing lookahead functions of different lengths
US7906987B2 (en) Semiconductor integrated circuit, program transformation apparatus, and mapping apparatus
KR101058468B1 (ko) 집적 회로용의 재구성 가능한 로직 패브릭과, 재구성 가능한 로직 패브릭을 구성하기 위한 시스템 및 방법
US7675319B2 (en) Programmable logic device having complex logic blocks with improved logic cell functionality
US7265576B1 (en) Programmable lookup table with dual input and output terminals in RAM mode
US7256612B1 (en) Programmable logic block providing carry chain with programmable initialization values
US7279929B1 (en) Integrated circuit with programmable routing structure including straight and diagonal interconnect lines
US7715467B1 (en) Programmable logic device integrated circuit with dynamic phase alignment capabilities
EP2722989B1 (en) Methods and apparatus for building bus interconnection networks using programmable interconnection resources
US7199610B1 (en) Integrated circuit interconnect structure having reduced coupling between interconnect lines
CN114128147A (zh) 具有多个堆叠裸片的集成电路器件
JP2017530652A (ja) 集積回路デバイスにおいて電圧レベルシフトを行うための回路および方法
JP2022532183A (ja) 集積回路装置において信号を送信するための回路および方法
US9606572B2 (en) Circuits for and methods of processing data in an integrated circuit device
CN1893280A (zh) 多通道数字/模拟转换器设备
US7386812B2 (en) Logic basic cell and logic basic cell arrangement
US8928386B1 (en) Circuits for and methods of asychronously transmitting data in an integrated circuit

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
GRNT Written decision to grant