KR102270692B1 - 결정 피드백 등화기 - Google Patents

결정 피드백 등화기 Download PDF

Info

Publication number
KR102270692B1
KR102270692B1 KR1020187031156A KR20187031156A KR102270692B1 KR 102270692 B1 KR102270692 B1 KR 102270692B1 KR 1020187031156 A KR1020187031156 A KR 1020187031156A KR 20187031156 A KR20187031156 A KR 20187031156A KR 102270692 B1 KR102270692 B1 KR 102270692B1
Authority
KR
South Korea
Prior art keywords
clock
symbol
equalization
decision
equalization block
Prior art date
Application number
KR1020187031156A
Other languages
English (en)
Other versions
KR20180123570A (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 KR20180123570A publication Critical patent/KR20180123570A/ko
Application granted granted Critical
Publication of KR102270692B1 publication Critical patent/KR102270692B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03012Arrangements for removing intersymbol interference operating in the time domain
    • H04L25/03019Arrangements for removing intersymbol interference operating in the time domain adaptive, i.e. capable of adjustment during data reception
    • H04L25/03057Arrangements for removing intersymbol interference operating in the time domain adaptive, i.e. capable of adjustment during data reception with a recursive structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03878Line equalisers; line build-out devices
    • H04L25/03885Line equalisers; line build-out devices adaptive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L2025/0335Arrangements for removing intersymbol interference characterised by the type of transmission
    • H04L2025/03356Baseband transmission
    • H04L2025/03363Multilevel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L2025/0335Arrangements for removing intersymbol interference characterised by the type of transmission
    • H04L2025/03375Passband transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L2025/03433Arrangements for removing intersymbol interference characterised by equaliser structure
    • H04L2025/03439Fixed structures
    • H04L2025/03445Time domain
    • H04L2025/03471Tapped delay lines
    • H04L2025/03484Tapped delay lines time-recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L2025/03592Adaptation methods
    • H04L2025/03745Timing of adaptation
    • H04L2025/03764Timing of adaptation only during predefined intervals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4902Pulse width modulation; Pulse position modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

장치는, 제1 클록(도 3의 ADC 출력 클록)에 기반하여 생성된 병렬 신호(도 4의 214)를 수신하도록 구성된 결정 피드백 등화기(도 2의 206; 도 4의 206)를 포함한다. 결정 피드백 등화기는, 제1 클록의 제1 클록 사이클(도 3의 306) 동안 병렬 신호에 의해 제공된 병렬 심볼들의 제1 세트(도 3의 ADC[0:N-1]) 중 제1 심볼(도 3의 ADC[0])을 수신하도록 구성된 제1 등화 블록(도 4의 DFE[0])을 포함한다. 결정 피드백 등화는, 제1 결정(도 4의 422, D[0])을 제2 등화 블록에 제공하기 위해 제1 심볼에 대하여 제1 등화 블록에 의해 수행된다. 제2 등화 블록(도 4의 DFE[1])은, 병렬 심볼들의 제1 세트 중 제2 심볼(도 3의 ADC[1])을 수신하고, 제1 클록 사이클 동안 제2 결정(도 4의 422, D[1])을 제공하기 위해 제1 등화 블록으로부터 수신된 제1 결정을 사용하여 제2 심볼에 대한 결정 피드백 등화를 수행하도록 구성된다.

Description

결정 피드백 등화기
본 개시내용의 예들은 일반적으로 집적 회로("IC")들에 관한 것으로, 상세하게는 결정 피드백 등화기들을 포함하는 IC들에 관련된 실시예에 관한 것이다.
더 높은 데이터 스루풋에 대한 요구를 충족시키기 위해 데이터 레이트들이 증가함에 따라, 통신 채널을 통해 송신되는 신호들은, 통신 채널의 주파수-의존 신호 손실에 의한 손상, 이를테면 ISI(inter-symbol interference) 및 다른 잡음, 이를테면 혼선, 에코, 신호 분산, 및 왜곡에 점차 민감해진다. 결정 피드백 등화기(DFE)는 수신된 신호로부터의 이전에 결정된 심볼들에 기반하여 피드백 루프를 사용함으로써 ISI 및 다른 잡음을 제거하는 데 사용될 수 있다. 그러나, 종래의 DFE는, 통신 채널의 보 레이트(baud rate)인 단일 심볼 기간(또한, "단위 간격" 또는 UI로 지칭됨)에서 심볼에 대한 ISI 제거를 수행하는 것으로 제한된다. 이러한 타이밍 제한은 DFE의 동작들을 제한할 수 있다.
따라서, 더 높은 스루풋에 대한 증가한 요구를 충족시키는 것을 용이하게 하는 결정-피드백 등화를 구현하는 개선된 방식을 제공하는 것이 바람직하고 유용할 것이다.
본 개시내용에 따른 몇몇 실시예들에서, 장치는 제1 클록에 기반하여 생성된 병렬 신호를 수신하도록 구성된 결정 피드백 등화기를 포함한다. 결정 피드백 등화기는, 제1 클록의 제1 클록 사이클 동안 병렬 신호에 의해 제공된 병렬 심볼들의 제1 세트 중 제1 심볼을 수신하고, 제1 결정을 제2 등화 블록에 제공하기 위해 제1 심볼에 대한 결정 피드백 등화를 수행하도록 구성된 제1 등화 블록을 포함한다. 제2 등화 블록은, 병렬 심볼들의 제1 세트 중 제2 심볼을 수신하고, 제1 클록 사이클 동안 제2 결정을 제공하기 위해 제1 등화 블록으로부터 수신된 제1 결정을 사용하여 제2 심볼에 대한 결정 피드백 등화를 수행하도록 구성된다.
몇몇 실시예들에서, 결정 피드백 등화기는, 병렬 심볼들의 제1 세트 중 제3 심볼을 수신하고, 제3 심볼에 대한 결정 피드백 등화를 수행하며, 제1 클록 사이클 동안 제3 결정을 저장 엘리먼트에 제공하도록 구성된 제3 등화 블록을 포함한다. 결정 피드백 등화기는, 제3 등화 블록에 커플링되며, 제3 등화 블록으로부터 수신된 제3 결정을 제1 등화 블록에 제공하도록 구성된 제1 저장 엘리먼트를 더 포함한다.
몇몇 실시예들에서, 제1 등화 블록은, 클록의 제2 클록 사이클 동안 병렬 신호에 의해 제공된 병렬 심볼들의 제2 세트 중 제4 심볼을 수신하고, 제2 클록 사이클 동안 제1 저장 엘리먼트로부터 수신된 제3 결정을 사용하여 결정된 제4 결정을 제공하기 위해 저장 엘리먼트로부터 수신된 제3 결정을 사용하여 제4 심볼에 대한 결정 피드백 등화를 수행하도록 구성된다.
몇몇 실시예들에서, 제1 저장 엘리먼트는 플립-플롭이다.
몇몇 실시예들에서, 제1 등화 블록, 제2 등화 블록, 및 제3 등화 블록 각각은, 이전에 검출된 심볼들에 기반한 결정을 수신하도록 구성된 선택 라인 입력, 및 선택 라인 입력을 사용하여 추론(speculation) 경로들로부터 출력을 선택하도록 복수의 추론 경로들에 커플링된 선택 엘리먼트를 포함한다.
몇몇 실시예들에서, 선택 엘리먼트는 멀티플렉서이다.
몇몇 실시예들에서, 제1 등화 블록에 의해 제공된 제1 결정과 제2 등화 블록에 의해 제공된 제2 결정 사이의 지연은 제2 등화 블록의 멀티플렉서에 의해 야기된다.
몇몇 실시예들에서, 제1 저장 엘리먼트는, 플립-플롭을 트리거링하는 클록의 다음의 클록 에지 이전에 적어도 플립-플롭의 셋업 시간에서 제3 등화 블록으로부터 제3 결정을 수신하도록 구성되고, 제1 등화 블록은 다음의 클록 에지 이후 적어도 플립-플롭의 클록-투-Q 시간에서 제4 심볼을 수신하도록 구성된다.
몇몇 실시예들에서, 병렬 신호에 의해 제공된 심볼들은 PAM-4 심볼들이다.
몇몇 실시예들에서, 병렬 신호는 심볼 레이트를 갖는 입력 신호를 사용하여 아날로그-투-디지털 변환기(ADC)에 의해 제공된다. 심볼 레이트는 제1 클록의 클록 레이트의 N배이며, 여기서, N은 병렬 신호에 의해 제공된 병렬 심볼들의 수이다.
본 개시내용에 따른 몇몇 실시예들에서, 방법은, 제1 클록에 기반하여 생성된 병렬 신호를 제공하는 단계; 제1 등화 블록에 의해, 제1 클록의 제1 클록 사이클 동안 병렬 신호에 의해 제공된 병렬 심볼들의 제1 세트 중 제1 심볼을 수신하는 단계; 제1 등화 블록에 의해, 제1 결정을 제2 등화 블록에 제공하기 위해 제1 심볼에 대한 결정 피드백 등화를 수행하는 단계; 제2 등화 블록에 의해, 병렬 심볼들의 제1 세트 중 제2 심볼을 수신하는 단계; 및 제2 등화 블록에 의해, 제1 클록 사이클 동안 제2 결정을 제공하기 위해 제1 등화 블록으로부터 수신된 제1 결정을 사용하여 제2 심볼에 대한 결정 피드백 등화를 수행하는 단계를 포함한다.
몇몇 실시예들에서, 방법은, 제3 등화 블록에 의해, 병렬 심볼들의 제1 세트 중 제3 심볼을 수신하는 단계; 제3 등화 블록에 의해, 제3 심볼에 대한 결정 피드백 등화를 수행하고, 제1 클록 사이클 동안 제3 결정을 저장 엘리먼트에 제공하는 단계; 및 제1 저장 엘리먼트에 의해, 제3 등화 블록으로부터 수신된 제3 결정을 제1 등화 블록에 제공하는 단계를 포함한다.
몇몇 실시예들에서, 방법은, 제1 등화 블록에 의해, 클록의 제2 클록 사이클 동안 병렬 신호에 의해 제공된 병렬 심볼들의 제2 세트 중 제4 심볼을 수신하는 단계; 및 제1 등화 블록에 의해, 제2 클록 사이클 동안 제1 저장 엘리먼트로부터 수신된 제3 결정을 사용하여 결정된 제4 결정을 제공하기 위해 저장 엘리먼트로부터 수신된 제3 결정을 사용하여 제4 심볼에 대한 결정 피드백 등화를 수행하는 단계를 포함한다.
몇몇 실시예들에서, 방법은, 제2 등화 블록의 선택 엘리먼트에 의해, 제2 등화 블록에 의해 수신된 제1 결정을 사용하여 복수의 추론 경로들로부터 출력을 선택하는 단계를 포함한다.
몇몇 실시예들에서, 방법은, 제1 저장 엘리먼트에 의해, 플립-플롭을 트리거링하는 클록의 다음의 클록 에지 이전에 적어도 플립-플롭의 셋업 시간에서 제3 등화 블록으로부터 제3 결정을 수신하는 단계; 및 제1 등화 블록에 의해, 다음의 클록 에지 이후 적어도 플립-플롭의 클록-투-Q 시간에서 제4 심볼을 수신하는 단계를 포함한다.
몇몇 실시예들에서, 방법은, 심볼 레이트를 갖는 아날로그 입력 신호를 아날로그-투-디지털 변환기(ADC)에 제공하는 단계; 및 제1 클록에 기반하여, ADC를 사용하여 아날로그 입력 신호를 병렬 신호로 변환하는 단계를 포함하며, 여기서, 심볼 레이트는 제1 클록의 클록 레이트의 N배이고, N은 병렬 신호에 의해 제공된 병렬 심볼들의 수이다.
다른 양상들 및 특성들은 다음의 상세한 설명 및 첨부한 도면들을 판독하는 것으로부터 명백할 것이다.
도 1은 본 개시내용의 몇몇 실시예들에 따른, IC에 대한 예시적인 아키텍처를 예시한 블록 다이어그램이다.
도 2는 본 개시내용의 몇몇 실시예들에 따른, 결정 피드백 등화기를 사용하는 IC에 대한 예시적인 아키텍처를 예시한 블록 다이어그램이다.
도 3은 본 개시내용의 몇몇 실시예들에 따른, 병렬 심볼들을 포함하는 예시적인 병렬 데이터 입력의 타이밍 다이어그램이다.
도 4는 예시적인 결정 피드백 등화기의 블록 다이어그램이다.
도 5는 본 개시내용의 몇몇 실시예들에 따른, 예시적인 결정 피드백 등화기의 신호들의 클록 다이어그램이다.
도 6은 본 개시내용의 몇몇 실시예들에 따른, 결정 피드백 등화기의 예시적인 DFE 블록의 블록 다이어그램이다.
도 7은 본 개시내용의 몇몇 실시예들에 따른, 결정 피드백 등화기의 예시적인 DFE 블록의 블록 다이어그램이다.
도 8은 본 개시내용의 몇몇 실시예들에 따른, 결정 피드백 등화기의 예시적인 DFE 블록의 블록 다이어그램이다.
도 9는 예시적인 결정 피드백 등화기의 블록 다이어그램이다.
도 10은 본 개시내용의 몇몇 실시예들에 따른, 예시적인 결정 피드백 등화기의 신호들의 타이밍 다이어그램이다.
도 11은 본 개시내용의 몇몇 실시예들에 따른, 결정 피드백 등화기의 예시적인 DFE 블록의 블록 다이어그램이다.
도 12는 본 개시내용의 몇몇 실시예들에 따른, 결정 피드백 등화기의 예시적인 DFE 블록의 블록 다이어그램이다.
도 13은 본 개시내용의 몇몇 실시예들에 따른, 결정 피드백 등화기의 예시적인 DFE 블록의 블록 다이어그램이다.
도 14는 본 개시내용의 몇몇 실시예들에 따른, 결정 피드백 등화기의 예시적인 DFE 블록의 블록 다이어그램이다.
도 15는 본 개시내용의 몇몇 실시예들에 따른, 결정 피드백 등화기의 예시적인 DFE 블록의 블록 다이어그램이다.
다양한 실시예들은 도면들을 참조하여 아래에서 설명되며, 도면들에서, 예시적인 실시예들이 도시된다. 그러나, 청구된 본 발명은 상이한 형태들로 구현될 수 있으며, 본 명세서에 기재된 실시예들로 제한되는 것으로서 해석되지 않아야 한다. 유사한 참조 부호들은 전반에 걸쳐 유사한 엘리먼트들을 지칭한다. 따라서, 유사한 엘리먼트들은 각각의 도면의 설명에 대해 상세히 설명되지 않을 것이다. 또한, 도면들이 실시예들의 설명을 용이하게 하기 위해서만 의도되는 것임을 유의해야 한다. 그들은 청구된 본 발명의 완전한 설명 또는 청구된 본 발명의 범위에 대한 제한으로 의도되지 않는다. 부가적으로, 예시된 실시예는 도시된 모든 양상들 또는 이점들을 가질 필요는 없다. 특정한 실시예와 함께 설명된 양상 또는 이점은 반드시 그 실시예로 제한되지는 않으며, 그렇게 예시되거나 또는 그렇게 명시적으로 설명되지 않더라도 임의의 다른 실시예들에서 실시될 수 있다. 특성들, 기능들, 및 이점들은 다양한 실시예들에서 독립적으로 달성될 수 있거나, 또는 또 다른 실시예들에서 결합될 수 있다.
수개의 도면들에 예시적으로 도시된 예시적인 실시예들을 설명하기 전에, 일반적인 도입부가 추가적인 이해를 위해 제공된다. 일반적으로, DFE는 이전에 검출된 심볼들로부터의 피드백을 현재 검출된 심볼들의 등화에 적응시킬 수 있다. 언롤링(unroll)된 DFE는 수신된 심볼 이력에 기반하여 모든 가능한 ISI 근사들을 사전-계산함으로써 피드백 루프를 부분적으로 또는 완전히 제거 또는 "언롤링"할 수 있으며, 정확한 결과는 이전에 검출된 비트에 기반하여 멀티플렉서에 의해 선택된다. 심볼들이 한번에 하나의 UI에 도달하는 경우, 각각의 심볼에 대해, 이전에 검출된 심볼을 저장하여 UI 클록과 정렬시키는 것 및 멀티플렉서를 사용하여 선택하는 것을 포함하는 기능들은 UI 내에서 완료될 필요가 있으며, 이는 심볼 레이트가 증가함에 따라 난제가 된다.
부가적으로 상세히 아래에서 설명되는 바와 같이, 아날로그-투-디지털 변환기(ADC)는 특정한 심볼 레이트로 입력 신호를 디지털화하고, 다수의 병렬 심볼들을 포함하는 출력 신호를 제공할 수 있다. DFE는 병렬 심볼들에 대한 등화를 수행하도록 구성된다. 다수의 병렬 심볼들에 대한 결정 피드백 등화를 핸들링함으로써, DFE의 타이밍 요건들이 완화된다.
위의 일반적인 이해를 유념하여, 결정 피드백 등화기들을 제공하기 위한 다양한 실시예들이 아래에 설명된다.
위에서-설명된 실시예들 중 하나 또는 그 초과가 특정한 타입의 IC를 사용하여 예시되기 때문에, 그러한 IC의 상세한 설명이 아래에서 제공된다. 그러나, 다른 타입들의 IC들이 본 명세서에 설명되는 실시예들 중 하나 또는 그 초과로부터 이득을 얻을 수 있다는 것이 이해되어야 한다.
프로그래밍가능 로직 디바이스("PLD")들은 특정된 로직 기능들을 수행하도록 프로그래밍될 수 있는 잘-알려진 타입의 집적 회로이다. 하나의 타입의 PLD, 즉 필드 프로그래밍가능 게이트 어레이("FPGA")는 통상적으로, 프로그래밍가능 타일들의 어레이를 포함한다. 이들 프로그래밍가능 타일들은, 예컨대, 입력/출력 블록("IOB")들, 구성가능한 로직 블록("CLB")들, 전용 랜덤 액세스 메모리 블록("BRAM")들, 멀티플라이어(multiplier)들, 디지털 신호 프로세싱 블록("DSP")들, 프로세서들, 클록 관리자들, 지연 고정 루프("DLL")들, 결정 피드백 등화기("DFE")들을 포함하는 등화기들 등을 포함할 수 있다. 본 본 명세서에서 사용되는 바와 같이, "포함하다" 및 "포함"은 제한없이 포함한다는 것을 의미한다.
각각의 프로그래밍가능 타일은 통상적으로 프로그래밍가능 상호연결부 및 프로그래밍가능 로직 둘 모두를 포함한다. 프로그래밍가능 상호연결부는 통상적으로, 프로그래밍가능 상호연결 포인트("PIP")들에 의해 상호연결된 다양한 길이들의 많은 수의 상호연결 라인들을 포함한다. 프로그래밍가능 로직은, 예컨대, 기능 생성기들, 레지스터들, 산술 로직 등을 포함할 수 있는 프로그래밍가능 엘리먼트들을 사용하여 사용자 설계의 로직을 구현한다.
프로그래밍가능 상호연결부 및 프로그래밍가능 로직은 통상적으로, 프로그래밍가능 엘리먼트들이 어떻게 구성되는지를 정의하는 내부 구성 메모리 셀들에 구성 데이터의 스트림을 로딩함으로써 프로그래밍된다. 구성 데이터는 메모리로부터(예컨대, 외부 PROM으로부터) 판독되거나 또는 외부 디바이스에 의해 FPGA로 기입될 수 있다. 그 후, 개별 메모리 셀들의 집합 상태들은 FPGA의 기능을 결정한다.
다른 타입의 PLD는 CPLD(Complex Programmable Logic Device)이다. CPLD는, 상호연결 스위치 매트릭스에 의해 함께 그리고 입력/출력("I/O") 리소스들에 연결된 2개 또는 그 초과의 "기능 블록들"을 포함한다. CPLD의 각각의 기능 블록은 프로그래밍가능 로직 어레이("PLA")들 및 프로그래밍가능 어레이 로직("PAL") 디바이스들에서 사용되는 것들과 유사한 2레벨 AND/OR 구조를 포함한다. CPLD들에서, 구성 데이터는 통상적으로 비-휘발성 메모리에 온-칩으로 저장된다. 몇몇 CPLD들에서, 구성 데이터는 비-휘발성 메모리에 온-칩으로 저장되고, 그 후, 초기 구성(프로그래밍) 시퀀스의 일부로서 휘발성 메모리에 다운로딩된다.
일반적으로, 이들 프로그래밍가능 로직 디바이스("PLD")들 각각에서, 디바이스의 기능은 그 목적을 위해 디바이스에 제공되는 구성 데이터에 의해 제어된다. 구성 데이터는 휘발성 메모리(예컨대, FPGA들 및 몇몇 CPLD들에서 일반적인 바와 같은 정적 메모리 셀들), 비-휘발성 메모리(예컨대, 몇몇 CPLD들에서와 같은 플래시 메모리), 또는 임의의 다른 타입의 메모리 셀에 저장될 수 있다.
다른 PLD들은, 디바이스 상에서 다양한 엘리먼트들을 프로그래밍가능하게 상호연결시키는 프로세싱 계층, 이를테면 금속 계층을 적용함으로써 프로그래밍된다. 이들 PLD들은 마스크 프로그래밍가능 디바이스들로서 알려져 있다. PLD들은 또한, 다른 방식들로, 예컨대 퓨즈 또는 안티-퓨즈(anti-fuse) 기술을 사용하여 구현될 수 있다. 용어들 "PLD" 및 "프로그래밍가능 로직 디바이스"는 이들 예시적인 디바이스들을 포함하지만 이에 제한되지는 않을 뿐만 아니라, 단지 부분적으로만 프로그래밍가능한 디바이스들을 포함한다. 예컨대, 하나의 타입의 PLD는 하드-코딩된 트랜지스터 로직, 및 하드-코딩된 트랜지스터 로직을 프로그래밍가능하게 상호연결시키는 프로그래밍가능 스위치 패브릭(fabric)의 조합을 포함한다.
위에서 언급된 바와 같이, 발전된 FPGA들은 어레이에서 수개의 상이한 타입들의 프로그래밍가능 로직 블록들을 포함할 수 있다. 예컨대, 도 1은 예시적인 FPGA 아키텍처(100)를 예시한다. FPGA 아키텍처(100)는, 멀티-기가비트 트랜시버("MGT")들(101), 구성가능한 로직 블록("CLB")들(102), 랜덤 액세스 메모리 블록("BRAM")들(103), 입력/출력 블록("IOB")들(104), 구성 및 클록킹 로직("CONFIG/CLOCKS")(105), 디지털 신호 프로세싱 블록("DSP")들(106), 특수화된 입력/출력 블록들("I/O")(107)(예컨대, 구성 포트들 및 클록 포트들), 및 다른 프로그래밍가능 로직(108), 이를테면 디지털 클록 관리자들, 아날로그-투-디지털 변환기들, 시스템 모니터링 로직 등을 포함하는 많은 수의 상이한 프로그래밍가능 타일들을 포함한다. 몇몇 FPGA들은 또한, 전용 프로세서 블록들("PROC")(110)을 포함한다.
몇몇 FPGA들에서, 각각의 프로그래밍가능 타일은 도 1의 최상부에 포함된 예들에 의해 도시된 바와 같이, 동일한 타일 내의 프로그래밍가능 로직 엘리먼트의 입력 및 출력 단자들(120)에 대한 연결들을 갖는 적어도 하나의 프로그래밍가능 상호연결 엘리먼트("INT")(111)를 포함할 수 있다. 각각의 프로그래밍가능 상호연결 엘리먼트(111)는 또한, 동일한 타일 또는 다른 타일(들)에서 인접한 프로그래밍가능 상호연결 엘리먼트(들)의 세그먼트들(122)을 상호연결시키기 위한 연결들을 포함할 수 있다. 각각의 프로그래밍가능 상호연결 엘리먼트(111)는 또한, 로직 블록들(도시되지 않음) 사이에서 일반적인 라우팅 리소스들의 세그먼트들(124)을 상호연결시키기 위한 연결들을 포함할 수 있다. 일반적인 라우팅 리소스들은, 상호연결 세그먼트들(예컨대, 상호연결 세그먼트들(124))의 트랙들 및 상호연결 세그먼트들을 연결시키기 위한 스위치 블록들(도시되지 않음)을 포함하는 로직 블록들(도시되지 않음) 사이의 라우팅 채널들을 포함할 수 있다. 일반적인 라우팅 리소스들의 상호연결 세그먼트들(예컨대, 상호연결 세그먼트들(124))은 하나 또는 그 초과의 로직 블록들에 걸쳐 있을 수 있다. 일반적인 라우팅 리소스들과 함께 취해진 프로그래밍가능 상호연결 엘리먼트들(111)은 예시된 FPGA에 대한 프로그래밍가능 상호연결 구조("프로그래밍가능 상호연결")를 구현한다.
예시적인 구현에서, CLB(102)는, 사용자 로직 플러스 단일 프로그래밍가능 상호연결 엘리먼트("INT")(111)를 구현하도록 프로그래밍될 수 있는 구성가능한 로직 엘리먼트("CLE")(112)를 포함할 수 있다. BRAM(103)은 하나 또는 그 초과의 프로그래밍가능 상호연결 엘리먼트들에 부가하여 BRAM 로직 엘리먼트("BRL")(113)를 포함할 수 있다. 통상적으로, 타일에 포함된 상호연결 엘리먼트들의 수는 타일의 높이에 의존한다. 도시된 예에서, BRAM 타일은 5개의 CLB들과 동일한 높이를 갖지만, 다른 수들(예컨대, 4)이 또한 사용될 수 있다. DSP 타일(106)은 적절한 수의 프로그래밍가능 상호연결 엘리먼트들에 부가하여 DSP 로직 엘리먼트("DSPL")(114)를 포함할 수 있다. IOB(104)는, 예컨대, 프로그래밍가능 상호연결 엘리먼트(111)의 하나의 인스턴스에 부가하여 입력/출력 로직 엘리먼트("IOL")(115)의 2개의 인스턴스들을 포함할 수 있다. 당업자들에게 자명할 바와 같이, 예컨대, I/O 로직 엘리먼트(115)에 연결된 실제 I/O 패드들은 통상적으로, 입력/출력 로직 엘리먼트(115)의 영역으로 한정되지 않는다.
도 1의 예에서, (예컨대, 도 1에 도시된 구역들(105, 107, 및 108)에 형성된) 다이의 중심 근처의 영역(수평으로 도시됨)은 구성, 클록, 및 다른 제어 로직에 대해 사용될 수 있다. 이러한 수평 영역 또는 다른 열(column)들로부터 연장되는 열(109)(수직으로 도시됨)은 FPGA의 폭에 걸쳐 클록들 및 구성 신호들을 분배하는 데 사용될 수 있다.
도 1에 예시된 아키텍처를 이용하는 몇몇 FPGA들은 FPGA의 많은 부분을 구성하는 일반적인 열 구조를 방해하는 부가적인 로직 블록들을 포함한다. 부가적인 로직 블록들은 프로그래밍가능 블록들 및/또는 전용 로직일 수 있다. 예컨대, PROC(110)는 CLB들 및 BRAM들의 수개의 열들에 걸쳐 있다. PROC(110)는 단일 마이크로프로세서로부터 마이크로프로세서(들), 메모리 제어기들, 주변기기들 등의 완전한 프로그래밍가능 프로세싱 시스템까지의 범위에 있는 다양한 컴포넌트들을 포함할 수 있다.
일 양상에서, PROC(110)는 IC의 프로그래밍가능 회로를 구현하는 다이의 일부로서 제조되는 전용 회로, 예컨대 하드-와이어링된 프로세서로서 구현된다. PROC(110)는, 복잡도에서 개별 프로세서, 예컨대 프로그램 코드를 실행할 수 있는 단일 코어로부터 하나 또는 그 초과의 코어들, 모듈들, 코-프로세서들, 인터페이스들 등을 갖는 전체 프로세서 시스템까지의 범위에 있는 다양한 상이한 시스템들 및/또는 프로세서 타입들 중 임의의 것을 표현할 수 있다.
다른 양상에서, PROC(110)는 아키텍처(100)로부터 생략되며, 다른 다양한 설명된 프로그래밍가능 블록들 중 하나 또는 그 초과로 대체될 수 있다. 추가로, 그러한 블록들은, 프로그래밍가능 회로의 다양한 블록들이 PROC(110)의 경우와 같이 프로그램 코드를 실행할 수 있는 프로세서를 형성하기 위해 사용될 수 있다는 점에서 "소프트 프로세서"를 형성하는 데 이용될 수 있다.
어구 "프로그래밍가능 회로"는 IC 내의 프로그래밍가능 회로 엘리먼트들, 예컨대, 본 명세서에 설명된 다양한 프로그래밍가능 또는 구성가능한 회로 블록들 또는 타일들 뿐만 아니라, IC에 로딩된 구성 데이터에 따라 다양한 회로 블록들, 타일들, 및/또는 엘리먼트들을 선택적으로 커플링시키는 상호연결 회로를 지칭할 수 있다. 예컨대, PROC(110) 외부에 있는 도 1에 도시된 부분들, 이를테면 CLB들(103) 및 BRAM들(103)은 IC의 프로그래밍가능 회로로 고려될 수 있다.
몇몇 실시예들에서, 프로그래밍가능 회로의 기능 및 연결은, 구성 데이터가 IC에 로딩될 때까지 설정되지 않는다. 구성 데이터의 세트는 IC의 프로그래밍가능 회로, 이를테면 FPGA를 프로그래밍하기 위해 사용될 수 있다. 몇몇 경우들에서, 구성 데이터는 "구성 비트스트림"으로 지칭된다. 일반적으로, 프로그래밍가능 회로는, 먼저 구성 비트스트림을 IC에 로딩하지 않으면 동작 또는 기능하지 않는다. 구성 비트스트림은 프로그래밍가능 회로 내의 특정한 회로 설계를 효율적으로 구현 또는 인스턴스화한다. 회로 설계는, 예컨대 프로그래밍가능 회로 블록들의 기능 양상들, 및 다양한 프로그래밍가능 회로 블록들 사이의 물리적 연결을 특정한다.
몇몇 실시예들에서, "하드와이어링된" 또는 "경화된", 즉 프로그래밍가능하지 않은 회로는 IC의 일부로서 제조된다. 프로그래밍가능 회로와는 달리, 하드와이어링된 회로 또는 회로 블록들은, 구성 비트스트림의 로딩을 통해 IC의 제조 이후 구현되지 않는다. 하드와이어링된 회로는 일반적으로, 예컨대 먼저 구성 비트스트림을 IC, 예컨대 PROC(110)에 로딩하지 않으면서 기능하는 전용 회로 블록들 및 상호연결부들을 갖는 것으로 고려된다.
몇몇 인스턴스들에서, 하드와이어링된 회로는, IC 내의 하나 또는 그 초과의 메모리 엘리먼트들에 저장된 레지스터 셋팅들 또는 값들에 따라 셋팅 또는 선택될 수 있는 하나 또는 그 초과의 동작 모드들을 가질 수 있다. 동작 모드들은, 예컨대 구성 비트스트림의 IC로의 로딩을 통해 셋팅될 수 있다. 이러한 능력에도 불구하고, IC의 일부로서 제조되는 경우, 하드와이어링된 회로가 동작가능하고 특정한 기능을 가지므로, 하드와이어링된 회로는 프로그래밍가능 회로로 고려되지 않는다.
도 1은 프로그래밍가능 회로, 예컨대 프로그래밍가능 패브릭을 포함하는 IC를 구현하기 위해 사용될 수 있는 예시적인 아키텍처를 예시하도록 의도된다. 예컨대, 행 내의 로직 블록들의 수, 행들의 상대적인 폭, 행들의 수 및 순서, 행들에 포함된 로직 블록들의 타입들, 로직 블록들의 상대적인 사이즈들, 및 도 1의 최상부에 포함된 상호연결/로직 구현들은 순수하게 예시적이다. 예컨대, 실제 IC에서, CLB들이 등장할 때마다, 사용자 로직의 효율적인 구현을 용이하게 하기 위해 CLB들의 1개 초과의 인접한 행이 통상적으로 포함되지만, 인접한 CLB 행들의 수는 IC의 전체 사이즈에 따라 변한다. 또한, 도 1의 FPGA는 본 명세서에 설명된 상호연결 회로들의 예들을 이용할 수 있는 프로그래밍가능 IC의 일 예를 예시한다. 본 명세서에 설명된 상호연결 회로들은 다른 타입들의 프로그래밍가능 IC들, 이를테면 CPLD(complex programmable logic device)들, 또는 로직 엘리먼트들을 선택적으로 커플링시키기 위한 프로그래밍가능 상호연결 구조를 갖는 임의의 타입의 프로그래밍가능 IC에서 사용될 수 있다.
결정 피드백 등화를 구현할 수 있는 IC가 도 1에 도시된 예시적인 IC로 제한되지 않으며, 다른 구성들을 갖는 IC 또는 다른 타입들의 IC가 또한 결정 피드백 등화를 구현할 수 있음을 유의한다.
이제 도 2를 참조하면, ADC-FFE-DFE 데이터 경로를 포함하는 통신 시스템(200)의 일 예가 예시된다. 통신 시스템(200)은 아날로그-투-디지털 변환기(ADC)(202), 피드 포워드(feed forward) 등화기(FFE)(204), 및 결정 피드백 등화기(DFE)(206)를 포함한다.
다양한 신호 변조 및 복조 기법들이 통신 시스템(200)에 의해 이용될 수 있음을 유의한다. 본 명세서에 설명된 다양한 신호들은 다양한 데이터 인코딩 방식들, 이를테면 펄스 진폭 변조(예컨대, PAM-4)에 기반한 단일-비트 또는 멀티-비트 데이터 심볼들을 이용할 수 있다. 추가로, 신호 진폭들은 이를테면 NRZ(Non-Retum to Zero) 시그널링에 대해 -1 내지 1로서 본 명세서에서 표현될 수 있지만, 임의의 신호-인코딩 방식이 이용될 수 있다.
몇몇 실시예들에서, ADC(202)는 아날로그 신호(210)를 수신할 수 있고, 입력 아날로그 신호(210)의 디지털 변환을 제공한다. ADC(202)는 수신된 입력 아날로그 신호(210)의 데이터 심볼들의 타이밍에 기반한 수신된 클록 신호에 기반하는 클록 및 데이터 복원(CDR) 회로의 타이밍 및 제어에 기반하여 입력 아날로그 신호(210)를 샘플링 및 디지털화할 수 있다. 몇몇 실시예들에서, ADC(202)는, ADC 출력 클록에 기반하여, 디지털화된 심볼들을 병렬 포맷으로 변환 또는 병렬화할 수 있는 병렬화 블록(203)을 포함한다. 예컨대, 병렬화 블록(203)의 직렬-투-병렬 변환기는 직렬로 수신된 디지털화된 심볼들을 변환하고, ADC 출력 클록의 각각의 클록 사이클에서 N개의 심볼들을 출력할 수 있으며, 여기서 N은 양의 정수(예컨대, N=32)이다. 몇몇 실시예들에서, ADC(202)는, 각각의 변환기가 입력 신호(210)로부터의 매 N번째 수신된 심볼을 디지털화할 수 있도록 배열된 N개의 아날로그-투-디지털 변환기들을 포함할 수 있으며, 그 변환기들은 ADC 출력 클록의 각각의 클록 사이클에서 N개의 병렬 심볼들을 제공할 수 있다. ADC(202)의 출력(212)은 N개의 병렬 신호들을 포함할 수 있으며, 여기서 N개의 병렬 신호들 각각은 특정한 클록 사이클 동안 N개의 병렬 심볼들 ADC[0:N-1] 중 하나를 제공할 수 있다.
몇몇 실시예들에서, ADC(202)로부터 병렬로 심볼들을 제공함으로써, 통신 시스템(202)에 의해 수신된 입력 신호(210)의 심볼 레이트(또한, 보 레이트 및/또는 변조 레이트로 지칭됨)는 FFE(204) 및 DFE(206)에 의한 디지털화된 심볼들의 디지털 프로세싱을 용이하게 하기 위해 N배 만큼 감소될 수 있다. 즉, 출력(212)에 대한 ADC 출력 클록 사이클은 입력 신호(210)의 UI의 N배일 수 있다. 예컨대, 입력 신호(210)가 초당 32기가-심볼들(32Gbaud)의 심볼 레이트 및 31.25피코초(ps)의 UI를 갖는 경우, ADC 출력 클록의 클록 사이클은 N * UI(예컨대, 32 * 31.25ps, 여기서, N = 32)이다.
몇몇 실시예들에서, 선택적인 FFE(204)는 자신의 입력에서 병렬 데이터 ADC[0:N-1]를 수신하고, 계수들(또한, 탭(tap)들로 지칭됨) c0, …, cL -1을 사용하여 병렬 데이터 ADC[0:N-1] 내의 N개의 심볼들에 대한 피드 포워드 등화를 수행하며, 여기서, L은 FFE 탭들의 수이다. FFE(204)는 출력(214)을 DFE(206)의 입력에 제공할 수 있다. 출력(214)은, 병렬 데이터 F[0], F[1], …, 및 F[N-1]을 포함하는 F[0:N-1]로서 표기될 수 있는 N개의 병렬 심볼들을 포함할 수 있다. 몇몇 실시예들에서, 병렬 데이터 F[0:N-1] 내의 i번째 심볼은 ADC[0:N-1]의 i번째 심볼에 대응한다.
몇몇 실시예들에서, DFE(206)는, 자신의 입력에서 병렬 심볼들 F[0], F[1], …, 및 F[N-1]을 포함하는 F[0:N-1]을 수신하고, 계수들 h1, h2, …, hk를 사용하여 병렬 데이터 F[0:N-1] 내의 N개의 심볼들에 대한 결정 피드백 등화를 수행하며, 여기서, k는 DFE 탭들의 수이다. DFE(206)는 D[0:N-1]로서 표기될 수 있는 출력(216)을 제공할 수 있다.
몇몇 실시예들에서, 통신 시스템(200)은 또한, 적응 블록(208)을 포함할 수 있다. 적응 블록(208)은 FFE(204) 및 DFE(206)에 대한 계수들을 조정하도록 구성될 수 있다. 몇몇 예들에서, 적응 블록(208)은, 최소 평균 제곱(LMS) 또는 임의의 다른 적합한 적응적 알고리즘을 사용하여, FFE(204)에 대한 계수들 c0, …, cL -1 및/또는 DFE(206)에 대한 계수들 h1, h2, …, hk를 자동적으로 조정할 수 있다. 몇몇 예들에서, 적응 블록(208)은 FFE(204) 및 DFE(206)에 대한 계수들을 수동으로 조정하기 위해 사용될 수 있다.
이제 도 3을 참조하면, ADC(202)의 출력(212)의 타이밍 다이어그램이 예시된다. 도 2를 참조하여 위에서 논의된 바와 같이, ADC 출력 클록(또한, 느린 클록 사이클로 지칭됨)에 대한 클록 사이클 시간(302)(또한, 느린 클록 사이클 시간으로 지칭됨)은 N * UI로서 계산될 수 있으며, 여기서, UI는 입력 신호(210)의 수신된 심볼들의 단위 간격이다. 일 예에서, 느린 클록 사이클 시간은 1000ps인 32 * 31.25ps와 동일하며, 여기서, 신호(210)의 심볼 레이트는 32Gbaud이고, UI는 31.25ps이며, N은 32이다. 도 3의 예에 예시된 바와 같이, 각각의 ADC 클록 사이클에서, 출력(212)은 N개의 병렬 심볼들을 포함한다. 예컨대, ADC 클록 사이클(304)에서, 병렬 데이터(212)는, 심볼들 ADC[0]', ADC[1]', …, ADC[N-1]'을 포함하는 N개의 병렬 심볼들을 포함한다. ADC 클록 사이클(306)에서, 병렬 데이터(212)는, 심볼들 ADC[0]', ADC[1], …, ADC[N-1]을 포함하는 N개의 병렬 심볼들을 포함한다. ADC 클록 사이클(308)에서, 병렬 데이터(212)는, 심볼들 ADC[0]'', ADC[1]'', …, ADC[N-1]''을 포함하는 N개의 병렬 심볼들을 포함한다.
이제 도 4를 참조하면, DFE(206)의 일 예가 예시되며, 여기서 DFE(206)는 1-탭 DFE이고, DFE 탭 수 k는 1이다. DFE(206)는 N개의 DFE 블록들을 포함하며, 여기서, i번째 DFE 블록은 DFE[i]로 지칭될 수 있고, 여기서 i는 정수이고, 0<= i <= N-1이다. 도 4에 예시된 바와 같이, N개의 DFE 블록들 각각은 FFE 병렬 출력(214)의 대응하는 심볼을 수신하는 입력(418), 및 이전에 검출된 데이터를 수신하는 선택 라인 입력(420)을 포함하고, 검출된 데이터 출력(422)을 제공할 수 있다. 예컨대, i번째 DFE 블록 DFE[i]는 자신의 입력(418)에서 FFE 병렬 출력(214)의 F[i]를 수신하고, 자신의 출력(422)을 DFE 출력(216)의 D[i]로서 제공할 수 있다.
도 4에 예시된 바와 같이, 몇몇 실시예들에서, 각각의 DFE[i]에 대해(여기서, 0<= i <= N-2임), DFE[i]는 자신의 출력(422) D[i]를 DFE[i+1]의 선택 라인 입력(420)에 전송할 수 있다. 몇몇 예들에서, DFE[i+1]의 하나 또는 그 초과의 선택 엘리먼트들(예컨대, 하나 또는 그 초과의 멀티플렉서들)은 DFE[i+1]의 검출된 데이터 출력(422)을 선택(예컨대, 다수의 추론 경로들로부터 출력(422)을 선택)하기 위해, 수신된 검출된 데이터 D[i]를 사용할 수 있다. 선택 엘리먼트들은 출력(422)(예컨대, D[i+1])과 선택 라인 입력(420)(예컨대, D[i]) 사이에 지연을 야기할 수 있으며, 그 지연은 선택 지연으로 지칭될 수 있다. 몇몇 예들에서, 멀티플렉서에 의해 야기된 선택 지연은 mux 지연으로 지칭될 수 있다. 예컨대, mux 지연은 약 28ps일 수 있다. 도 4에 예시된 바와 같이, 몇몇 예들에서, 각각의 DFE[i]에 대해(여기서, 0<= i <= N-2임), DFE[i]의 출력(422)은 데이터 D[i]를 보유하기 위한 데이터 저장 엘리먼트(예컨대, 플립 플롭)를 사용하지 않으면서, DFE[i+1]의 검출된 데이터 입력(420)에 직접 전송될 수 있다.
몇몇 실시예들에서, DFE 블록의 출력(422)은 다음의 클록 사이클의 심볼의 등화를 수행하기 위해 다른 DFE 블록으로 전송될 수 있다. 따라서, 데이터 저장 엘리먼트가 DFE 블록의 출력(422)을 보유하기 위해 사용될 수 있다. 예컨대, 도 4에 예시된 예에서, 마지막 DFE 블록 DFE[N-1]에서, 데이터 저장 엘리먼트(424)(또한, FF(424)로 지칭됨)는 DFE[N-1]의 출력(422)으로부터 D[N-1]을 수신하도록 커플링된다. 몇몇 실시예들에서, 데이터 저장 엘리먼트(424)는 플립-플롭(FF)이다. 그 후, 플립-플롭(424)의 출력(426)은 DFE[0]의 선택 라인 입력(420)으로 전송될 수 있다. 몇몇 실시예들에서, DFE[0]는 다음의 클록 사이클에서, 수신된 심볼에 대한 DFE[0]의 검출된 데이터 출력(422)을 결정하기 위해, 수신된 검출된 데이터 D[N-1]를 사용할 수 있다. 그러므로, 데이터 저장 엘리먼트(424)는, 검출된 데이터 D[N-1]을 저장하고, 검출된 데이터 D[N-1]을 다음의 클록 사이클과 정렬시키기 위해 사용될 수 있다.
도 4의 예에 예시된 바와 같이, N개의 심볼들을 병렬로 포함하는 입력을 제공함으로써, DFE(206)의 타이밍 요건들이 완화될 수 있다. 예컨대, 한번에 하나의 UI에 도달하는 심볼들을 핸들링하는 것과 비교하여, 몇몇 예들에서, DFE(206)는 이전에 검출된 심볼을 빠른 UI 클록(예컨대, UI의 클록 사이클 시간)과 정렬시키기 위해 각각의 심볼에 대한 데이터 저장 엘리먼트를 사용하지 않을 수 있다. 대신, 병렬로 수신된 모든 N개의 심볼들에 대해, 단일 데이터 저장 엘리먼트가 마지막 DFE 블록 DFE[N-1]의 출력을 저장하고 그 출력을 느린 클록(예컨대, N*UI의 클록 사이클 시간)과 정렬시키기 위해 사용된다.
이제 도 5를 참조하면, 도 4의 DFE(206)의 타이밍 다이어그램의 일 예가 예시된다. 몇몇 실시예들에서, DFE(206)가 더 높은 주파수에서 동작하게 허용하기 위해, DFE[0]가 다음의 클록 사이클로부터의 입력 데이터 F[0]를 등화시키기 위한 데이터 결정을 행할 경우, 이전에 검출된 데이터(예컨대, FF 출력(426))는 DFE[0]의 선택 라인 입력(420)에 안정되게 정착할 필요가 있다. 따라서, DFE(206)의 타이밍 요건들은 다음과 같이 제공될 수 있으며:
(N + k -1) * 선택 지연 + FF 지연 <= N * UI,
여기서, N은 다수의 병렬 심볼들 내의 심볼들의 수이고, k는 DFE 탭 수이고, 선택 지연은 DFE 블록에서 데이터 결정을 행함으로써(예컨대, 멀티플렉서를 사용하여 다수의 추론 경로들로부터 선택함으로써) 야기된 지연이며, FF 지연(또한, 저장 지연으로 지칭됨)은 DFE[N-1]의 데이터 저장 엘리먼트(예컨대, FF(424))에 의해 야기된 지연이다. 도 4의 DFE(206)의 예에서, DFE 탭 수 k가 1인 경우, DFE(206)의 타이밍 요건들은 다음과 같이 제공될 수 있다:
N * 선택 지연 + FF 지연 <= N * UI.
도 5의 예에서 예시된 바와 같이, D[i]와 D[i+1] 사이에 선택 지연(502)이 존재하며, 여기서 i는 정수이고, 0<= i <= N-2이다. 데이터 입력(214)과 D[i+1] 사이의 총 선택 지연(504)은 N * 선택 지연이다.
몇몇 실시예들에서, 데이터 저장 엘리먼트(424)에 의해 요구되는 지연들 중 몇몇에 대한 윈도우를 남기기 위해, DFE로의 데이터 입력(212)은, 클록(512)(또한, 느린 클록(512)으로 지칭됨)의 클록 상승 에지(510) 이후 데이터 지연(508)(예컨대, 약 50ps)을 갖고 도달한다. 예컨대, FF(424)는, FF 셋업 시간(506A)(예컨대, 약 13ps) 및 FF 클록-투-q 지연(Clk2q)(506B)(예컨대, 약 21ps)을 포함하는 FF 지연(506)을 요구할 수 있다. FF 셋업 시간(506A)은, D[N-1]이 클록 상승 에지(510) 전에 FF(424)로 전송되었던 최소량의 시간일 수 있다. FF Clk2q(506B)는, FF(424)의 출력(426)이 클록 상승 에지(510) 이후 안정되는 데 걸리는 시간일 수 있다. 몇몇 실시예들에서, 클록 상승 에지(510)와 데이터 입력(212) 사이의 데이터 지연(508)이 FF Clk2q(506B)를 완료하기 위해 사용될 수 있기 때문에, 데이터 지연(508)은 FF Clk2q(506B)보다 크다. 몇몇 실시예들에서, FFE(202) 및 DFE(204) 둘 모두는 동일한 느린 클록(512)을 사용하여 클록된다. 몇몇 예들에서, 느린 클록(512)은 ADC 출력 클록과 동일한 클록 기간(예컨대, N * UI)을 갖는다.
이제 도 6, 도 7, 및 도 8을 참조하면, DFE(206)의 DFE 블록들의 세부사항들의 예들이 예시된다. 몇몇 실시예들에서, 추론(예컨대, 또한 루프-언롤링으로 알려짐)은 DFE(206)의 타이밍 요건들을 완화하는 데 사용될 수 있다. 예시된 예에서, 심볼은, 4개의 상이한 값들 중 하나를 각각 가질 수 있는 4-레벨 펄스 진폭 변조(PAM-4) 심볼이다. 이전의 심볼에 의해 야기된 ISI를 보상하기 위해, 이전의 PAM-4 심볼이 (-3, -1, +1, 및 +3의 정규화된 신호 레벨들을 갖는) 4개의 상이한 값들 중 하나를 가질 수 있기 때문에, 각각의 DFE 블록은 이제, +3h1, +h1, -h1, 및 -3h1의 탭 가중치들을 각각 갖는 4개의 추론 경로들(604)을 갖는다. 각각의 추론 경로(604)에 대해, 각각의 탭 가중치는 (예컨대, 가산기(606)를 사용함으로써) 입력 데이터(418)에 적용되고, 가산기(606)의 출력은 레지스터(602)에 제공된다. 레지스터(602)의 출력은 4:1 멀티플렉서(604)의 입력으로 전송된다. 일단 이전의 심볼이 (예컨대, 결정 라인 입력(420)에 기반하여) 결정되면, 정확한 탭 가중치 보상에 대응하는 출력(422)은 4:1 멀티플렉서(MUX)(604)를 사용하여 선택된다.
다양한 실시예들에서, 본 개시내용의 범위 내에서 유지되면서, 다른 변조 방식(예컨대, NRZ(non-return-to-zero)/PAM-2)을 사용한 신호들이 사용될 수 있다. 예컨대, PAM-2 신호에 대해, 각각의 DFE 블록은 (+h1 및 -h1의 오프셋들을 각각 갖는) 2개의 추론 경로들을 가질 수 있다. 2:1 멀티플렉서(MUX)가 정확한 보상을 선택하기 위해 사용될 수 있다.
DFE[i]의 일 예의 다이어그램이 도 6에 예시되며, 여기서, i=0이다. DFE[0]는 입력(418)에서 F[0]를 수신하고, 선택 라인 입력(420)에서 FF 출력(426)을 수신한다. 선택 라인 입력(420)은, 수신된 F[0]의 마지막 클록 사이클의 F[N-1]과 연관된 D[N-1]을 포함할 수 있다. 선택 라인 입력(420)은 수신된 F[0]와 연관된 출력 D[0]를 결정하기 위해 사용될 수 있다. 출력 D[0]는 DFE[1]의 선택 라인 입력(420)으로 전송된다.
DFE[i]의 일 예의 다이어그램이 도 7에 예시되며, 여기서 1<= i <= N-2이다. DFE[i]는 입력(418)에서 F[i]를 수신하고, 선택 라인 입력(420)의 DFE[i-1]로부터 (예컨대, 수신된 f[i]와 동일한 클록 사이클의 F[i-1]과 연관된) 검출된 데이터 D[i-1]를 수신한다. 선택 라인 입력(420)은 수신된 F[i]와 연관된 출력 D[i]를 결정하기 위하여 DFE[i]에 의해 사용될 수 있다. 출력 D[i]는 DFE[i+1]의 선택 라인 입력(420)으로 전송된다.
DFE[i]의 일 예의 다이어그램이 도 8에 예시되며, 여기서, i = N-1이다. DFE[N-1]은 입력(418)에서 F[N-1]을 수신하고, DFE[N-2]로부터 (예컨대, 수신된 F[N-1]과 동일한 클록 사이클의 F[N-2]와 연관된) 검출된 데이터 D[N-2]를 수신한다. 선택 라인 입력(420)은 수신된 F[N-1]과 연관된 출력 D[N-1]을 결정하기 위하여 DFE[N-1]에 의해 사용될 수 있다. 출력(422)은 FF(424)로 전송되고, FF(424)의 출력(426)은 DFE[0]의 선택 라인 입력(420)으로 전송된다. DFE[0]는 다음의 클록 사이클의 출력 D[0]을 결정하기 위해, 수신된 DFE[N-1]을 사용할 수 있다.
다양한 실시예들에서, 다양한 DFE 탭 수 k가 사용될 수 있다. 도 9, 도 10, 도 11, 도 12, 도 13, 및 도 14를 참조하면, 2-탭 DFE(206)의 일 예가 예시된다. 도 9의 예에 예시된 바와 같이, 1개 초과의 DFE 탭이 사용되는 경우, DFE(206)의 1개 초과의 DFE 블록에 대해, 데이터 저장 엘리먼트는 다음의 클록 사이클 동안 출력(422)을 저장하고 그 출력(422)을 느린 클록(512)과 정렬시키기 위해 사용될 수 있다.
도 9를 참조하면, DFE(206)의 일 예가 예시되며, 여기서 DFE 탭 수 k는 2이다. DFE(206)는 N개의 DFE 블록들을 포함하며, 여기서, i번째 DFE 블록은 DFE[i]로 지칭될 수 있고, 여기서 i는 정수이고, 0<= i <= N-1이다. N개의 DFE 블록들(예컨대, DFE[i]) 각각은, FFE 병렬 출력(214)의 대응하는 심볼(예컨대, F[i])을 수신하는 입력(418), 제1의 이전에 검출된 데이터(예컨대, D[i-2])를 수신하는 선택 라인 입력(902), 및 제2의 이전에 검출된 데이터(예컨대, D[i-1])를 수신하는 선택 라인 입력(420)을 포함하고, DFE 출력(216)의 데이터를 포함하는 출력(422)(예컨대, D[i])을 제공할 수 있다.
도 9의 예에서, 몇몇 DFE 블록들은 마지막 클록 사이클의 제1의 이전에 검출된 데이터 및/또는 제2의 이전에 검출된 데이터를 수신할 수 있으며, 여기서 데이터 저장 엘리먼트들은 이들 이전에 검출된 데이터를 저장 및 정렬시키는 데 사용될 수 있다. 예컨대, DFE[0]는 자신의 선택 라인 입력(902)에서, DFE[N-2]에 커플링된 FF(424)로부터 제1의 이전에 검출된 데이터(예컨대, 마지막 클록 사이클의 D[N-2]와 연관된 FF 출력(904))를 수신한다. 또한, DFE[0]는 자신의 선택 라인 입력(420)에서 DFE[N-1]에 커플링된 FF(424)로부터 제2의 이전에 검출된 데이터(예컨대, 마지막 클록 사이클의 D[N-1]과 연관된 FF 출력(426))를 수신한다. 추가적인 예에 대해, DFE[1]는 자신의 선택 라인 입력(902)에서, DFE[N-1]에 커플링된 FF(424)로부터 제1의 이전에 검출된 데이터(예컨대, 마지막 클록 사이클의 D[N-1]과 연관된 FF 출력(426))를 수신한다. 또한, DFE[1]은 자신의 선택 라인 입력(420)에서, DFE[0]의 출력(422)에 커플링된 임의의 데이터 저장 엘리먼트를 사용하지 않으면서, DFE[0]로부터 직접 제2의 이전에 검출된 데이터 D[0]를 수신한다.
도 9의 예에서, 몇몇 다른 DFE 블록들은, 출력(422)에 커플링된 임의의 데이터 저장 엘리먼트를 사용하지 않으면서, 다른 DFE 블록들의 출력(422)으로부터 직접 제1의 이전에 검출된 데이터 및 제2의 이전에 검출된 데이터를 수신한다. 예컨대, DFE[i]의 각각(여기서, 2<= i <= N-1)은 자신의 선택 라인 입력(902)에서 DFE[i-2]로부터 D[i-2]를 수신하고, 자신의 선택 라인 입력(420)에서 DFE[i-1]로부터 D[i-1]를 수신할 수 있다.
몇몇 실시예들에서, 선택 라인 입력(902)에서 수신된 제1의 이전에 검출된 데이터에 기반하여, DFE 블록 각각은 (예컨대, 제1 멀티플렉서를 사용함으로써) 복수의 추론 경로들로부터 선택된 중간 결과를 제공하기 위해 제1 선택을 수행할 수 있다. 선택 라인 입력(902)과 중간 결과 사이의 제1 선택 지연은 제1 결정에 의해 (예컨대, 제1 멀티플렉서의 mux 지연에 의해) 야기될 수 있다. 선택 라인 입력(420)에서 수신된 제2의 이전에 검출된 데이터에 기반하여, DFE[i]는, (예컨대, 제2 멀티플렉서를 사용함으로써) 중간 결과로부터 선택된 출력(422)을 제공하기 위해 제2 선택을 수행할 수 있다. (예컨대, 중간 결과와 출력(422) 사이 또는 선택 라인 입력(420)과 출력(422) 사이의) 제2 선택 지연은 제2 결정에 의해 (예컨대, 제2 멀티플렉서의 mux 지연에 의해) 야기될 수 있다.
이제 도 10을 참조하면, 도 9의 DFE(206)의 타이밍 다이어그램의 일 예가 예시된다. 도 5를 참조하여 위에서 논의된 바와 같이, DFE(206)의 타이밍 요건들은 다음과 같이 제공된다:
(N + k -1) * 선택 지연 + FF 지연 <= N * UI.
도 9의 DFE(206)의 예에서, DFE 탭 수 k가 2인 경우, DFE(206)의 타이밍 요건들은 다음과 같이 제공된다:
(N+1) * 선택 지연 + FF 지연 <= N * UI.
도 10의 예에 예시된 바와 같이, 제1 선택 지연(1002) 및 제2 선택 지연(1004)을 포함하는, 데이터 입력과 D[0] 사이의 지연이 존재한다. 예컨대, 제1 선택 지연(1002)은 제1의 이전에 검출된 데이터를 사용하여 제1 선택을 행하는 DFE[0]의 제1 멀티플렉서에 의해 야기될 수 있다. 추가적인 예에 대해, 제2 선택 지연(1004)은 제2의 이전에 검출된 데이터를 사용하여 제2 선택을 행하는 DFE[0]의 제2 멀티플렉서에 의해 야기될 수 있다. DFE[i]의 제2 선택 지연(1004)이 DFE[i+1]에 대한 제1 선택 지연(1002)과 중첩할 수 있음을 유의한다. 그러므로, 입력(418)과 D[N-1] 사이의 총 지연은 다음과 같이 계산될 수 있다:
(N + 1) * 선택 지연.
몇몇 실시예들에서, 도 9의 DFE(206)가 2개의 데이터 저장 엘리먼트들(예컨대, FF(424))을 포함하는 경우, 2개의 데이터 저장 엘리먼트들이 저장된 데이터를 동일한 느린 클록과 정렬시키기 위해 사용되기 때문에, 2개의 데이터 저장 엘리먼트들에 의해 야기되는 FF 지연(506)은 중첩된다. 따라서, 도 9의 DFE(206)에서 데이터 저장 엘리먼트의 부가는 DFE(206)의 타이밍 요건들에 영향을 주지 않는다.
이제 도 11, 도 12, 도 13, 도 14, 및 도 15를 참조하면, DFE(206)의 DFE 블록들, 특히 DFE[0], DFE[1], DFE[i], DFE[N-2], 및 DFE[N-1] 각각의 세부사항들의 예들이 예시된다. 입력 심볼들 F[i]은 도 6, 도 7, 및 도 8을 참조하여 위에서 논의된 PAM-4 심볼들과 실질적으로 유사한 PAM-4 심볼들이다. 2개의 이전에 검출된 PAM-4 심볼들 각각이 (-3, -1, +1, 및 +3의 정규화된 신호 레벨들을 갖는) 4개의 상이한 값들 중 하나를 가질 수 있기 때문에, 각각의 DFE 블록은 이제 16개의 추론 경로들을 갖는다. 16개의 추론 경로들은, +3h2+3h1, +3h2+h1, +3h2-h1, +3h2-3h1, +h2 +3h1, +h2 +h1, +h2 -h1, +h2-3h1, -3h2+3h1, -3h2+h1, -3h2-h1, -3h2-3h1, -3h2+3h1, -3h2+h1, -3h2-h1, 및 -3h2-3h1의 탭 가중치들을 각각 갖는다. 각각의 추론 경로에 대해, 각각의 탭 가중치는 하나 또는 그 초과의 가산기들(606)을 사용하여 입력 데이터 F[i]에 적용된다. 각각의 탭 가중치를 적용한 이후, 출력은 잠정적인 데이터 결정을 생성하기 위해 레지스터(602)에 제공된다. 레지스터(602)의 16개의 출력들은 16:4 멀티플렉서(1102)의 입력들로 전송된다. 선택 라인 입력(902)으로부터 제1의 이전에 검출된 데이터를 수신할 시에, 중간 결과는 선택 라인 입력(902)을 사용하여 16:4 멀티플렉서(1102)에 의해 선택된다. 일 예에서, 제1의 이전에 검출된 데이터는 +3의 정규화된 신호 레벨을 가지며, 16:4 멀티플렉서(1102)는, +3h2+3h1, +3h2+h1, +3h2-h1, 및 +3h2-3h1의 탭 가중치들을 각각 갖는 4개의 잠정적인 데이터 결정들을 포함하는 중간 결과(1102)를 제공한다. 중간 결과들(1102)은 4:1 멀티플렉서(604)의 입력들에 제공되며, 여기서, 출력(422)은 선택 라인 입력(420)에서 수신된 제2의 이전에 검출된 데이터를 사용하여 선택된다. 일 예에서, 제2의 이전에 검출된 데이터는 -1의 정규화된 신호 레벨을 가지며, 4:1 멀티플렉서(604)는, 출력(422)을 제공하기 위해 선택된 +3h2-h1의 탭 가중치를 갖는 잠정적인 데이터 결정을 선택한다.
다양한 실시예들에서, 본 개시내용의 범위 내에서 유지되면서, 다른 변조 방식(예컨대, NRZ(non-return-to-zero)/PAM-2)을 사용한 신호들이 사용될 수 있다. 예컨대, 몇몇 실시예들에서, 입력 심볼은 PAM-2 심볼이며, 각각의 DFE 블록은 (+h2+h1, +h2-h1, -h1+h1, 및 -h2-h1의 탭 가중치들을 각각 갖는) 4개의 추론 경로들을 가질 수 있다. 2개의 2:1 멀티플렉서들이 출력(422)을 선택하기 위해 사용될 수 있다.
DFE[0]의 일 예의 다이어그램이 도 11에 예시된다. DFE[0]는 자신의 선택 라인 입력(420)에서 (마지막 클록 사이클의 D[N-1]과 연관된) FF 출력(426)을 수신하고, 선택 라인 입력(420)을 4:1 멀티플렉서(604)의 입력로 전송한다. 또한, DFE[0]는 자신의 선택 라인 입력(902)에서 (마지막 클록 사이클의 D[N-2]과 연관된) FF 출력(904)을 수신하고, 선택 라인 입력(902)을 그의 16:4 멀티플렉서(1102)의 입력으로 전송한다. DFE[0]는 자신의 출력(422)으로부터 DFE[1]의 선택 라인 입력(420) 및 DFE[2]의 선택 라인 입력(902)으로 D[0]를 전송할 수 있다.
DFE[1]의 일 예의 다이어그램이 도 12에 예시된다. DFE[1]은 자신의 선택 라인 입력(420)에서 DFE[0]로부터 D[0]를 수신하고, 선택 라인 입력(420)을 4:1 멀티플렉서(604)의 입력으로 전송한다. 또한, DFE[0]는 자신의 선택 라인 입력(902)에서 (마지막 클록 사이클의 D[N-1]과 연관된) FF 출력(426)을 수신하고, 선택 라인 입력(902)을 그의 16:4 멀티플렉서(1102)의 입력으로 전송한다. DFE[1]는 자신의 출력(422)으로부터 DFE[2]의 선택 라인 입력(420) 및 DFE[3]의 선택 라인 입력(902)으로 D[1]을 전송할 수 있다.
DFE[i]의 일 예의 다이어그램이 도 13에 예시되며, 여기서, i는 정수이고, 2 <= i <= N-3이다. DFE[i]는 자신의 선택 라인 입력(420)에서 DFE[i-1]로부터 D[i-1]를 수신하고, 선택 라인 입력(420)을 4:1 멀티플렉서(604)의 입력으로 전송한다. 또한, DFE[i]는 자신의 선택 라인 입력(902)에서 DFE[i-2]로부터 D[i-2]를 수신하고, 선택 라인 입력(902)을 그의 16:4 멀티플렉서(1102)의 입력으로 전송한다. DFE[i]는 자신의 출력(422)으로부터 DFE[i+1]의 선택 라인 입력(420) 및 DFE[i+2]의 선택 라인 입력(902)으로 D[i]를 전송할 수 있다.
DFE[N-2]의 일 예의 다이어그램이 도 14에 예시된다. DFE[N-2]는 자신의 선택 라인 입력(420)에서 DFE[N-3]으로부터 D[N-3]을 수신하고, 선택 라인 입력(420)을 4:1 멀티플렉서(604)의 입력으로 전송한다. 또한, DFE[N-2]는 자신의 선택 라인 입력(902)에서 D[N-4]를 수신하고, 선택 라인 입력(902)을 그의 16:4 멀티플렉서(1102)의 입력으로 전송한다. DFE[N-2]는 자신의 출력(422)으로부터 DFE[N-1]의 선택 라인 입력(420)으로 D[N-2]를 전송할 수 있다. 또한, DFE[N-2]는 자신의 출력(422)으로부터 FF(424)의 입력으로 D[N-2]를 전송할 수 있으며, 그 FF(424)는 다음의 클록 사이클 동안 DFE[0]의 선택 라인 입력(902)에 출력(904)을 제공한다.
DFE[N-1]의 일 예의 다이어그램이 도 15에 예시된다. DFE[N-1]은 자신의 선택 라인 입력(420)에서 DFE[N-2]로부터 D[N-2]를 수신하고, 선택 라인 입력(420)을 4:1 멀티플렉서(604)의 입력으로 전송한다. 또한, DFE[N-1]은 자신의 선택 라인 입력(902)에서 D[N-3]을 수신하고, 선택 라인 입력(902)을 그의 16:4 멀티플렉서(1102)의 입력으로 전송한다. DFE[N-1]은 자신의 출력(422)으로부터 FF(424)의 입력으로 D[N-1]을 전송할 수 있으며, 그 FF(424)는 다음의 클록 사이클 동안 DFE[0]의 선택 라인 입력(420) 및 DFE[0]의 선택 라인 입력(902)으로 자신의 출력(426)을 전송할 수 있다.
도 2 내지 도 15를 참조하여 위에서 논의된 다양한 구성들(예컨대, N, k)이 단지 예시적일 뿐이며, 후속하는 청구항들에서 구체적으로 언급되는 것을 넘어 제한하는 것으로 의도되지 않음을 유의한다. 다른 구성들이 사용될 수 있다는 것이 당업자들에 의해 이해될 것이다. 예컨대, DFE 탭 수 k는, 본 개시내용의 범위 내에서 유지되면서 1 및 2 이외의 수일 수 있다.
일 예에서, 장치가 제공될 수 있다. 그러한 장치는, 제1 클록에 기반하여 생성된 병렬 신호를 수신하도록 구성된 결정 피드백 등화기를 포함할 수 있으며, 결정 피드백 등화기는, 제1 클록의 제1 클록 사이클 동안 병렬 신호에 의해 제공된 병렬 심볼들의 제1 세트 중 제1 심볼을 수신하고; 그리고 제1 결정을 제2 등화 블록에 제공하기 위해 제1 심볼에 대한 결정 피드백 등화를 수행하도록 구성된 제1 등화 블록; 및 병렬 심볼들의 제1 세트 중 제2 심볼을 수신하고; 그리고 제1 클록 사이클 동안 제2 결정을 제공하기 위해 제1 등화 블록으로부터 수신된 제1 결정을 사용하여 제2 심볼에 대한 결정 피드백 등화를 수행하도록 구성된 제2 등화 블록을 포함한다.
몇몇 그러한 장치에서, 결정 피드백 등화기는, 병렬 심볼들의 제1 세트 중 제3 심볼을 수신하고; 그리고 제3 심볼에 대한 결정 피드백 등화를 수행하고, 제1 클록 사이클 동안 제3 결정을 저장 엘리먼트에 제공하도록 구성된 제3 등화 블록; 및 제3 등화 블록에 커플링되며, 제3 등화 블록으로부터 수신된 제3 결정을 제1 등화 블록에 제공하도록 구성된 제1 저장 엘리먼트를 포함한다.
몇몇 그러한 장치에서, 제1 등화 블록은, 클록의 제2 클록 사이클 동안 병렬 신호에 의해 제공된 병렬 심볼들의 제2 세트 중 제4 심볼을 수신하고; 그리고 제2 클록 사이클 동안 제1 저장 엘리먼트로부터 수신된 제3 결정을 사용하여 결정된 제4 결정을 제공하기 위해 저장 엘리먼트로부터 수신된 제3 결정을 사용하여 제4 심볼에 대한 결정 피드백 등화를 수행하도록 구성될 수 있다.
몇몇 그러한 장치에서, 제1 저장 엘리먼트는 플립-플롭일 수 있다.
몇몇 그러한 장치에서, 제1 등화 블록, 제2 등화 블록, 및 제3 등화 블록 각각은, 이전에 검출된 심볼들에 기반한 결정을 수신하도록 구성된 선택 라인 입력; 및 선택 라인 입력을 사용하여 추론 경로들로부터 출력을 선택하도록 복수의 추론 경로들에 커플링된 선택 엘리먼트를 포함할 수 있다.
몇몇 그러한 장치에서, 선택 엘리먼트는 멀티플렉서일 수 있다.
몇몇 그러한 장치에서, 제1 등화 블록에 의해 제공된 제1 결정과 제2 등화 블록에 의해 제공된 제2 결정 사이의 지연은 제2 등화 블록의 멀티플렉서에 의해 야기될 수 있다.
몇몇 그러한 장치에서, 제1 저장 엘리먼트는, 플립-플롭을 트리거링하는 클록의 다음의 클록 에지 이전에 적어도 플립-플롭의 셋업 시간에서 제3 등화 블록으로부터 제3 결정을 수신하도록 구성될 수 있으며, 제1 등화 블록은 다음의 클록 에지 이후 적어도 플립-플롭의 클록-투-Q 시간에서 제4 심볼을 수신하도록 구성될 수 있다.
몇몇 그러한 장치에서, 병렬 신호에 의해 제공된 심볼들은 PAM-4 심볼들일 수 있다.
몇몇 그러한 장치에서, 병렬 신호는 심볼 레이트를 갖는 입력 신호를 사용하여 아날로그-투-디지털 변환기(ADC)에 의해 제공될 수 있으며, 심볼 레이트는 제1 클록의 클록 레이트의 N배일 수 있고, N은 병렬 신호에 의해 제공된 병렬 심볼들의 수일 수 있다.
다른 예에서, 방법이 제공될 수 있다. 그러한 방법은, 제1 클록에 기반하여 생성된 병렬 신호를 제공하는 단계; 제1 등화 블록에 의해, 제1 클록의 제1 클록 사이클 동안 병렬 신호에 의해 제공된 병렬 심볼들의 제1 세트 중 제1 심볼을 수신하는 단계; 제1 등화 블록에 의해, 제1 결정을 제2 등화 블록에 제공하기 위해 제1 심볼에 대한 결정 피드백 등화를 수행하는 단계; 제2 등화 블록에 의해, 병렬 심볼들의 제1 세트 중 제2 심볼을 수신하는 단계; 및 제2 등화 블록에 의해, 제1 클록 사이클 동안 제2 결정을 제공하기 위해 제1 등화 블록으로부터 수신된 제1 결정을 사용하여 제2 심볼에 대한 결정 피드백 등화를 수행하는 단계를 포함할 수 있다.
몇몇 그러한 방법은, 제3 등화 블록에 의해, 병렬 심볼들의 제1 세트 중 제3 심볼을 수신하는 단계; 제3 등화 블록에 의해, 제3 심볼에 대한 결정 피드백 등화를 수행하고, 제1 클록 사이클 동안 제3 결정을 저장 엘리먼트에 제공하는 단계; 및 제1 저장 엘리먼트에 의해, 제3 등화 블록으로부터 수신된 제3 결정을 제1 등화 블록에 제공하는 단계를 더 포함할 수 있다.
몇몇 그러한 방법은, 제1 등화 블록에 의해, 클록의 제2 클록 사이클 동안 병렬 신호에 의해 제공된 병렬 심볼들의 제2 세트 중 제4 심볼을 수신하는 단계; 및 제1 등화 블록에 의해, 제2 클록 사이클 동안 제1 저장 엘리먼트로부터 수신된 제3 결정을 사용하여 결정된 제4 결정을 제공하기 위해 저장 엘리먼트로부터 수신된 제3 결정을 사용하여 제4 심볼에 대한 결정 피드백 등화를 수행하는 단계를 더 포함할 수 있다.
몇몇 그러한 방법에서, 제1 저장 엘리먼트는 플립-플롭일 수 있다.
몇몇 그러한 방법은, 제2 등화 블록의 선택 엘리먼트에 의해, 제2 등화 블록에 의해 수신된 제1 결정을 사용하여 복수의 추론 경로들로부터 출력을 선택하는 단계를 더 포함할 수 있다.
몇몇 그러한 방법에서, 선택 엘리먼트는 멀티플렉서일 수 있다.
몇몇 그러한 방법에서, 제1 등화 블록에 의해 제공된 제1 결정과 제2 등화 블록에 의해 제공된 제2 결정 사이의 지연은 제2 등화 블록의 멀티플렉서에 의해 야기될 수 있다.
몇몇 그러한 방법은, 제1 저장 엘리먼트에 의해, 플립-플롭을 트리거링하는 클록의 다음의 클록 에지 이전에 적어도 플립-플롭의 셋업 시간에서 제3 등화 블록으로부터 제3 결정을 수신하는 단계; 및 제1 등화 블록에 의해, 다음의 클록 에지 이후 적어도 플립-플롭의 클록-투-Q 시간에서 제4 심볼을 수신하는 단계를 더 포함할 수 있다.
몇몇 그러한 방법에서, 병렬 신호에 의해 제공된 심볼들은 PAM-4 심볼들일 수 있다.
몇몇 그러한 방법은, 심볼 레이트를 갖는 아날로그 입력 신호를 아날로그-투-디지털 변환기(ADC)에 제공하는 단계; 및 제1 클록에 기반하여, ADC를 사용하여 아날로그 입력 신호를 병렬 신호로 변환하는 단계를 더 포함할 수 있으며, 심볼 레이트는 제1 클록의 클록 레이트의 N배일 수 있고, N은 병렬 신호에 의해 제공된 병렬 심볼들의 수일 수 있다.
다양한 이점들이 본 개시내용의 다양한 애플리케이션들에 존재할 수 있다. 모든 실시예들에 대해 어떠한 특정한 이점도 요구되지는 않으며, 상이한 실시예들은 상이한 이점들을 제공할 수 있다. 몇몇 실시예들에서, 이점들 중 하나는, DFE의 데이터 입력에 병렬 심볼들을 제공함으로써, DFE의 타이밍 요건들이 완화되는 것이다. 예컨대, 한번에 하나의 UI에 도달하는 심볼을 핸들링하기 위해 하나의 UI 내의 심볼에 대한 결정 피드백 등화를 완료하기 위한 요건(예컨대, k * 선택 지연 + FF 지연 < 1 UI)이 제거된다. 병렬로 도달된 N개의 심볼들을 핸들링함으로써, DFE는 하나 또는 그 초과의 이전에 검출된 데이터를 느린 클록(예컨대, N*UI의 클록 사이클 시간)과 정렬시키며, 이는, 한번에 하나의 UI에 도달하는 N개의 심볼들을 핸들링하는 것과 비교하여 (N-1)* FF 지연의 절약을 초래한다. 몇몇 실시예들에서, 다른 이점은, 병렬로 도달된 N개의 심볼들을 핸들링함으로써, 멀티-탭 DFE에서, DFE 블록들의 선택 지연들이 부분적으로 중첩한다는 것이며, 이는, 한번에 하나의 UI에 도달하는 N개의 심볼들을 핸들링하는 것과 비교하여 (N-1) * (k-1) * 선택 지연의 절약을 초래할 수 있다.
특정한 실시예들이 도시 및 설명되었지만, 청구된 본 발명들을 바람직한 실시예들로 제한하는 것이 의도되지 않는다는 것이 이해될 것이며, 청구된 본 발명들의 사상 및 범위를 벗어나지 않으면서 다양한 변화들 및 수정들이 행해질 수 있다는 것이 당업자에게 자명할 것이다. 따라서, 명세서 및 도면들은 제한적인 의미보다는 예시적인 의미로 간주될 것이다. 청구된 본 발명들은 대안물들, 수정물들, 및 등가물들을 커버하도록 의도된다.

Claims (16)

  1. 장치로서,
    제1 클록에 기반하여 생성된 병렬 신호를 수신하도록 구성된 결정 피드백 등화기를 포함하고,
    상기 결정 피드백 등화기는 제1 등화 블록, 제2 등화 블록, 및 제3 등화 블록을 포함하며,
    상기 제1 등화 블록은,
    상기 제1 클록의 제1 클록 사이클 동안 상기 병렬 신호에 의해 제공된 제1 세트의 병렬 심볼들 중 제1 심볼을 수신하고;
    복수의 탭 가중치들 중 하나를 상기 수신된 제1 심볼에 부가함으로써 각각 형성된 복수의 추론 경로(speculation path)들 중에서, 제1 선택 엘리먼트를 이용하여 선택함으로써 제1 결정을 생성하기 위해, 상기 제1 심볼에 대한 제1 결정 피드백 등화를 수행하고;
    상기 제1 클록 사이클 동안 제2 등화 블록에 상기 제1 결정을 직접 제공하도록 구성되고,
    상기 제2 등화 블록은,
    상기 제1 클록의 상기 제1 클록 사이클 동안 상기 병렬 신호에 의해 제공된 상기 제1 세트의 병렬 심볼들 중 제2 심볼을 수신하고;
    상기 제1 결정 피드백 등화를 수행한 후에, 상기 복수의 탭 가중치들 중 하나를 상기 수신된 제2 심볼에 부가함으로써 각각 형성된 복수의 추론 경로들 중에서, 제2 선택 엘리먼트를 이용하여 선택함으로써 상기 제1 클록 사이클 동안 제2 결정을 생성하기 위해, 상기 제1 등화 블록으로부터 직접 수신된 상기 제1 결정을 사용하여 상기 제2 심볼에 대한 제2 결정 피드백 등화를 수행하도록 구성되며,
    상기 제3 등화 블록은,
    상기 제1 세트의 병렬 심볼들 중 제3 심볼을 수신하고;
    상기 제2 결정 피드백 등화를 수행한 후에, 상기 복수의 탭 가중치들 중 하나를 상기 수신된 제3 심볼에 부가함으로써 각각 형성된 복수의 추론 경로들 중에서, 제3 선택 엘리먼트를 이용하여 선택함으로써 상기 제1 클록 사이클 동안 제3 결정을 생성하기 위해, 상기 제2 등화 블록으로부터 직접 수신된 상기 제2 결정을 사용하여 상기 제3 심볼에 대한 제3 결정 피드백 등화를 수행하고;
    상기 제1 클록의 제2 클록 사이클 동안, 상기 제3 결정을 제1 저장 엘리먼트를 통해 상기 제1 등화 블록에 제공하도록 구성되고,
    상기 제1 선택 엘리먼트 선택은 상기 제3 결정에 대한 응답으로 행해지도록 구성되고, 상기 제2 선택 엘리먼트 선택은 상기 제1 결정에 대한 응답으로 행해지도록 구성되며, 그리고 제3 선택 엘리먼트 선택은 상기 제2 결정에 대한 응답으로 행해지도록 구성되는, 장치.
  2. 제1항에 있어서,
    상기 결정 피드백 등화기는, 상기 제3 등화 블록에 커플링되며, 그리고 상기 제3 등화 블록으로부터 수신된 상기 제3 결정을 상기 제1 등화 블록에 제공하도록 구성된 상기 제1 저장 엘리먼트를 포함하는, 장치.
  3. 제2항에 있어서,
    상기 제1 등화 블록은,
    상기 제1 클록의 상기 제2 클록 사이클 동안 상기 병렬 신호에 의해 제공된 제2 세트의 병렬 심볼들 중 제4 심볼을 수신하고;
    상기 제2 클록 사이클 동안 상기 제1 저장 엘리먼트로부터 수신된 상기 제3 결정을 사용하여 결정된 제4 결정을 제공하기 위해, 상기 제1 저장 엘리먼트로부터 수신된 상기 제3 결정을 사용하여 상기 제4 심볼에 대한 제4 결정 피드백 등화를 수행하도록
    구성되는, 장치.
  4. 제2항 또는 제3항에 있어서,
    상기 제1 저장 엘리먼트는 플립-플롭인, 장치.
  5. 제3항에 있어서,
    상기 제1 선택 엘리먼트, 상기 제2 선택 엘리먼트, 및 상기 제3 선택 엘리먼트 각각은,
    이전에 검출된 심볼들에 기반하여 대응하는 결정을 수신하도록 구성된 선택 라인 입력; 및
    상기 선택 라인 입력을 사용하여, 대응하는 복수의 추론 경로들로부터 출력을 선택하도록 상기 대응하는 복수의 추론 경로들에 커플링된 선택 엘리먼트
    를 포함하는, 장치.
  6. 제5항에 있어서,
    상기 선택 엘리먼트는 멀티플렉서인, 장치.
  7. 제6항에 있어서,
    상기 제1 등화 블록에 의해 제공된 상기 제1 결정과 상기 제2 등화 블록에 의해 제공된 상기 제2 결정 사이의 지연은, 상기 제2 등화 블록의 상기 멀티플렉서에 의해 야기되는 선택 지연을 포함하는, 장치.
  8. 제7항에 있어서,
    상기 제1 저장 엘리먼트는 플립-플롭을 포함하고,
    상기 플립-플롭은, 상기 플립-플롭을 트리거링하는 상기 제1 클록의 다음의 클록 에지 이전에 적어도 상기 플립-플롭의 셋업 시간에서 상기 제3 등화 블록으로부터 상기 제3 결정을 수신하도록 구성되며,
    상기 제1 등화 블록은, 상기 다음의 클록 에지 이후에 적어도 상기 플립-플롭의 클록-투-Q(clock-to-Q) 시간에서 상기 제4 심볼을 수신하도록 구성되는, 장치.
  9. 제1항에 있어서,
    상기 병렬 신호에 의해 제공된 심볼들은 PAM-4 심볼들인, 장치.
  10. 제1항에 있어서,
    상기 병렬 신호는 심볼 레이트를 갖는 입력 신호를 사용하여 아날로그-투-디지털 변환기(ADC)에 의해 제공되며,
    상기 심볼 레이트는 상기 제1 클록의 클록 레이트의 N배이고,
    상기 N은 상기 병렬 신호에 의해 제공된 병렬 심볼들의 수인, 장치.
  11. 방법으로서,
    제1 클록에 기반하여 생성된 병렬 신호를 제공하는 단계;
    제1 등화 블록에 의해, 상기 제1 클록의 제1 클록 사이클 동안 상기 병렬 신호에 의해 제공된 제1 세트의 병렬 심볼들 중 제1 심볼을 수신하는 단계;
    상기 제1 등화 블록에 의해, 복수의 탭 가중치들 중 하나를 수신된 제1 심볼에 부가함으로써 각각 형성된 복수의 추론 경로들 중에서, 제1 선택 엘리먼트를 이용하여 선택함으로써 제1 결정을 생성하기 위해, 상기 제1 심볼에 대한 제1 결정 피드백 등화를 수행하는 단계;
    상기 제1 클록 사이클 동안 제2 등화 블록에 상기 제1 결정을 직접 제공하는 단계;
    상기 제2 등화 블록에 의해, 상기 제1 클록의 상기 제1 클록 사이클 동안 상기 제1 세트의 병렬 심볼들 중 제2 심볼을 수신하는 단계; 및
    상기 제1 결정 피드백 등화를 수행한 후에, 상기 제2 등화 블록에 의해, 상기 복수의 탭 가중치들 중 하나를 수신된 제2 심볼에 부가함으로써 각각 형성된 복수의 추론 경로들 중에서, 제2 선택 엘리먼트를 이용하여 선택함으로써 상기 제1 클록 사이클 동안 제2 결정을 생성하기 위해, 상기 제1 등화 블록으로부터 직접 수신된 상기 제1 결정을 사용하여 상기 제2 심볼에 대한 제2 결정 피드백 등화를 수행하는 단계;
    상기 제1 클록의 상기 제1 클록 사이클 동안 제1 저장 엘리먼트에 상기 제2 결정을 제공하는 단계; 및
    상기 제1 저장 엘리먼트에 의해, 상기 제1 클록의 제2 클록 사이클 동안 상기 제1 등화 블록에 상기 제2 결정을 제공하는 단계
    를 포함하는, 방법.
  12. 제11항에 있어서,
    상기 제1 등화 블록에 의해, 상기 제1 클록의 상기 제2 클록 사이클 동안 상기 병렬 신호에 의해 제공된 제2 세트의 병렬 심볼들 중 제3 심볼을 수신하는 단계; 및
    상기 제1 등화 블록에 의해, 상기 제2 클록 사이클 동안 상기 제1 저장 엘리먼트로부터 수신된 상기 제2 결정을 사용하여 결정된 제3 결정을 제공하기 위해, 상기 제1 저장 엘리먼트로부터 수신된 상기 제2 결정을 사용하여 상기 제3 심볼에 대한 제3 결정 피드백 등화를 수행하는 단계
    를 더 포함하는, 방법.
  13. 제11항에 있어서,
    상기 제1 저장 엘리먼트는 플립-플롭인, 방법.
  14. 제11항에 있어서,
    상기 제2 등화 블록의 선택 엘리먼트에 의해, 상기 제2 등화 블록에 의해 수신된 상기 제1 결정을 사용하여 복수의 추론 경로들로부터 출력을 선택하는 단계를 더 포함하는, 방법.
  15. 제14항에 있어서,
    상기 선택 엘리먼트는 멀티플렉서인, 방법.
  16. 제12항에 있어서,
    상기 제1 저장 엘리먼트의 플립-플롭에 의해 상기 제2 등화 블록으로부터, 상기 플립-플롭을 트리거링하는 상기 제1 클록의 다음의 클록 에지 이전에 적어도 상기 플립-플롭의 셋업 시간에서 상기 제2 결정을 수신하는 단계; 및
    상기 제1 등화 블록에 의해, 상기 다음의 클록 에지 이후에 적어도 상기 플립-플롭의 클록-투-Q 시간에서 상기 제3 심볼을 수신하는 단계
    를 더 포함하는, 방법.
KR1020187031156A 2016-03-29 2017-03-23 결정 피드백 등화기 KR102270692B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/084,351 US9742597B1 (en) 2016-03-29 2016-03-29 Decision feedback equalizer
US15/084,351 2016-03-29
PCT/US2017/023824 WO2017172485A1 (en) 2016-03-29 2017-03-23 Decision feedback equalizer

Publications (2)

Publication Number Publication Date
KR20180123570A KR20180123570A (ko) 2018-11-16
KR102270692B1 true KR102270692B1 (ko) 2021-06-28

Family

ID=58461519

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187031156A KR102270692B1 (ko) 2016-03-29 2017-03-23 결정 피드백 등화기

Country Status (6)

Country Link
US (1) US9742597B1 (ko)
EP (1) EP3437278B1 (ko)
JP (1) JP7077233B2 (ko)
KR (1) KR102270692B1 (ko)
CN (1) CN108886503B (ko)
WO (1) WO2017172485A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102670376B1 (ko) 2022-07-04 2024-05-30 창신 메모리 테크놀로지즈 아이엔씨 데이터 수신 회로, 데이터 수신 시스템 및 저장 장치

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10147466B1 (en) * 2017-09-26 2018-12-04 Micron Technology, Inc. Voltage reference computations for memory decision feedback equalizers
US10523471B2 (en) * 2018-03-30 2019-12-31 Mellanox Technologies Denmark ApS. Look ahead based method and apparatus for equalizing pulse amplitude modulation electronic signals
US10911272B2 (en) * 2019-01-31 2021-02-02 Taiwan Semiconductor Manufacturing Company, Ltd. Multi-tap decision feed-forward equalizer with precursor and postcursor taps
US11398931B2 (en) * 2020-01-10 2022-07-26 Marvell Asia Pte Ltd Interference mitigation in high speed ethernet communication networks
US11343125B2 (en) * 2020-07-08 2022-05-24 Huawei Technologies Co., Ltd. Multiplexer with embedded equalization
CN112714085B (zh) * 2020-12-11 2022-06-28 硅谷数模(苏州)半导体有限公司 判决反馈均衡电路
US11044124B1 (en) * 2020-12-21 2021-06-22 Faraday Technology Corporation Dynamic module and decision feedback equalizer
US11356304B1 (en) * 2021-07-09 2022-06-07 Cadence Design Systems, Inc. Quarter-rate data sampling with loop-unrolled decision feedback equalization

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192072B1 (en) * 1999-06-04 2001-02-20 Lucent Technologies Inc. Parallel processing decision-feedback equalizer (DFE) with look-ahead processing
US7564866B2 (en) * 2000-07-21 2009-07-21 Broadcom Corporation Methods and systems for digitally processing optical data signals
US7158568B2 (en) * 2002-04-17 2007-01-02 Thomson Licensing Equalizer/forward error correction automatic mode selector
KR20050038122A (ko) * 2003-10-21 2005-04-27 한국전자통신연구원 다중입력 다중출력에서의 적응 수신 시스템 및 그 방법
US20080049825A1 (en) * 2006-08-25 2008-02-28 Broadcom Corporation Equalizer with reorder
JP5556361B2 (ja) 2010-05-19 2014-07-23 日本電気株式会社 等化装置及び等化方法
JP5605064B2 (ja) 2010-08-04 2014-10-15 富士通株式会社 判定帰還等化回路、受信回路、及び判定帰還等化処理方法
US8693531B2 (en) 2011-10-21 2014-04-08 Texas Instruments Incorporated Method and apparatus for performing speculative decision feedback equalization
US9071479B2 (en) * 2012-08-24 2015-06-30 Credo Semiconductor (Hong Kong) Limited High-speed parallel decision feedback equalizer
US8837570B2 (en) 2012-11-27 2014-09-16 Lsi Corporation Receiver with parallel decision feedback equalizers
US9337997B2 (en) * 2013-03-07 2016-05-10 Qualcomm Incorporated Transcoding method for multi-wire signaling that embeds clock information in transition of signal state
US8970419B2 (en) 2013-06-27 2015-03-03 Xilinx, Inc. Windowing for high-speed analog-to-digital conversion
US9674008B2 (en) 2013-10-31 2017-06-06 Samsung Display Co., Ltd. Body-biased slicer design for predictive decision feedback equalizers
US9467312B2 (en) * 2014-03-10 2016-10-11 Nxp B.V. Speed improvement for a decision feedback equalizer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102670376B1 (ko) 2022-07-04 2024-05-30 창신 메모리 테크놀로지즈 아이엔씨 데이터 수신 회로, 데이터 수신 시스템 및 저장 장치

Also Published As

Publication number Publication date
KR20180123570A (ko) 2018-11-16
JP2019513333A (ja) 2019-05-23
JP7077233B2 (ja) 2022-05-30
EP3437278B1 (en) 2020-03-04
US9742597B1 (en) 2017-08-22
WO2017172485A1 (en) 2017-10-05
CN108886503B (zh) 2021-08-24
CN108886503A (zh) 2018-11-23
EP3437278A1 (en) 2019-02-06

Similar Documents

Publication Publication Date Title
KR102270692B1 (ko) 결정 피드백 등화기
EP3295631B1 (en) Decision feedback equalization with precursor inter-symbol interference reduction
KR102396783B1 (ko) 채널 적응적 adc-기반 수신기
CN107251498B (zh) 用于serdes应用的滤除码间干扰的电路和方法
US9178552B1 (en) Channel adaptive receiver switchable from a digital-based receiver mode to an analog-based receiver mode
US7106099B1 (en) Decision-feedback equalization clocking apparatus and method
US9699007B2 (en) Pipeline multiplexer loop architecture for decision feedback equalizer circuits
US9276782B1 (en) Precursor inter-symbol interference reduction
US10348290B1 (en) System and method for transmitter
US10009197B1 (en) Method and apparatus for intersymbol interference compensation
US10892918B1 (en) System and method for decision feedback equalizers
US10749729B1 (en) System and method for automatic gain control adaptation
US9800435B1 (en) Multiplexer loop architecture for decision feedback equalizer circuits
US9692618B2 (en) Pipeline multiplexer loop architecture for decision feedback equalizer circuits

Legal Events

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