KR101263110B1 - 병렬-직렬 회로에서의 오류 검출 및 정정 방법 및 장치 - Google Patents

병렬-직렬 회로에서의 오류 검출 및 정정 방법 및 장치 Download PDF

Info

Publication number
KR101263110B1
KR101263110B1 KR1020117017961A KR20117017961A KR101263110B1 KR 101263110 B1 KR101263110 B1 KR 101263110B1 KR 1020117017961 A KR1020117017961 A KR 1020117017961A KR 20117017961 A KR20117017961 A KR 20117017961A KR 101263110 B1 KR101263110 B1 KR 101263110B1
Authority
KR
South Korea
Prior art keywords
data
output
rate
clock signal
response
Prior art date
Application number
KR1020117017961A
Other languages
English (en)
Other versions
KR20110110288A (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 KR20110110288A publication Critical patent/KR20110110288A/ko
Application granted granted Critical
Publication of KR101263110B1 publication Critical patent/KR101263110B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • G01R31/31726Synchronization, e.g. of test, clock or strobe signals; Signals in different clock domains; Generation of Vernier signals; Comparison and adjustment of the signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/19Monitoring patterns of pulse trains
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/085Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
    • H03L7/095Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal using a lock detector
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Logic Circuits (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

회로(301)는 제1 레이트로 데이터를 수신하는 제1 부분(302), 제1 레이트에 동기되고 제1 레이트와 다른 제2 레이트로 데이터를 출력하는 제2 부분(305), 제1 부분(302)으로부터 제2 부분(305)으로 데이터를 전달하는 제3 부분(350), 및 제1 레이트와 제2 레이트 사이의 동기의 교란에 응답하여 오류 검출된 신호를 발생하는 제4 부분(361)을 가진다. 다른 측면은 방법을 포함하며, 이 방법은 제1 부분(302)에서 제1 레이트로 데이터를 수신하는 단계, 제1 부분(302)으로부터 제2 부분(305)으로 데이터를 전달하는 단계, 제2 부분(305)으로부터 제2 레이트로 데이터를 출력하는 단계 - 제2 레이트는 제1 레이트에 동기되고 제1 레이트와 다름 -, 및 제1 레이트와 제2 레이트 사이의 동기의 교란의 검출에 응답하여 오류 검출된 신호를 발생시키는 단계를 포함한다.

Description

병렬-직렬 회로에서의 오류 검출 및 정정 방법 및 장치{METHOD AND APPARATUS FOR DETECTING AND CORRECTING ERRORS IN A PARALLEL TO SERIAL CIRCUIT}
본 발명은 집적 회로 장치(IC)에 관한 것이다. 보다 상세하게는, 본 발명은 IC에서의 오류 검출 및 정정에 관한 것이다.
프로그램가능 논리 소자(PLD; programmable logic device)는 지정된 논리 함수를 수행하도록 프로그램될 수 있는 공지된 유형의 집적 회로이다. 한 유형의 PLD인 현장 프로그램가능 게이트 어레이(FPGA; field programmable gate array)는 통상적으로 프로그램가능 타일(programmable tile)의 어레이를 포함한다. 이들 프로그램가능 타일은, 예를 들어, lOB(input/output block), CLB(configurable logic block), BRAM(dedicated random access memory block), 곱셈기, DSP(digital signal processing block), 프로세서, 클록 관리자, DLL(delay lock loop) 등을 포함할 수 있다.
각각의 프로그램가능 타일은 통상적으로 프로그램가능 상호연결부(programmable interconnect) 및 프로그램가능 논리(programmable logic) 둘다를 포함한다. 프로그램가능 상호연결부는 통상적으로 PIP(programmable interconnect point)에 의해 상호연결된 다양한 길이의 많은 수의 상호연결 라인을 포함한다. 프로그램가능 논리는, 예를 들어, 함수 발생기, 레지스터, 산술 논리 등을 포함할 수 있는 프로그램가능 요소를 사용하여 사용자 설계의 논리를 구현한다.
프로그램가능 상호연결부 및 프로그램가능 논리는 통상적으로 프로그램가능 요소가 어떻게 구성되는지를 정의하는 구성 데이터의 스트림을 내부 구성 메모리 셀에 로드함으로써 프로그램된다. 구성 데이터는 외부 장치에 의해 메모리로부터(예를 들어, 외부 PROM으로부터) 판독되거나 FPGA내에 기록될 수 있다. 개별 메모리 셀의 집합적 상태가 이어서 FPGA의 기능을 결정한다.
다른 유형의 PLD는 CPLD(Complex Programmable Logic Device)이다. CPLD는 상호연결 스위치 매트릭스에 의해 서로에 또한 입/출력(I/O) 리소스에 연결된 2개 이상의 "기능 블록"을 포함한다. CPLD의 각각의 기능 블록은 PLA(Programmable Logic Array) 및 PAL(Programmable Array Logic) 장치에서 사용되는 것과 유사한 2-레벨 AND/OR 구조를 포함한다. CPLD에서, 구성 데이터는 통상적으로 칩 상의 비휘발성 메모리에 저장된다. 일부 CPLD에서, 구성 데이터는 칩 상의 비휘발성 메모리에 저장되고, 이어서 초기 구성 (프로그래밍) 시퀀스의 일부로서 휘발성 메모리에 다운로드된다.
이들 PLD(programmable logic device) 모두에 대해, 그 목적을 위해 장치에 제공된 데이터 비트에 의해 장치의 기능이 제어된다. 데이터 비트는 휘발성 메모리(예를 들어, FPGA 및 일부 CPLD에서와 같이, 정적 메모리 셀)에, 비휘발성 메모리(예를 들어, 일부 CPLD에서와 같이 플래시 메모리)에, 또는 임의의 다른 유형의 메모리 셀에 저장될 수 있다.
다른 PLD는 장치 상의 다양한 요소를 프로그램가능하게 상호연결시키는 금속층과 같은 처리층을 적용함으로써 프로그램된다. 이들 PLD는 마스크 프로그램가능 장치라고 한다. PLD는 또한 다른 방식으로, 예를 들어, 퓨즈 또는 안티퓨즈 기술을 사용하여 구현될 수 있다. "PLD(programmable logic device)"라는 용어는 이들 예시적인 장치는 물론 단지 부분적으로 프로그램가능한 장치를 포함하지만, 이들로 제한되지 않는다. 예를 들어, 한 유형의 PLD는 하드-코딩된 트랜지스터 논리 및 하드-코딩된 트랜지스터 논리를 프로그램가능하게 상호연결시키는 프로그램가능 스위치 패브릭의 조합을 포함한다.
도 1 및 도 2에 도시된 FPGA 유형은 종종 병렬-직렬 변환기 회로를 포함할 것이다. 이 회로는 2개의 클록 신호를 사용하고, 그 중 하나는 하나의 레이트를 가지는 저속 클록이고, 다른 하나는 상이한 레이트를 가지는 고속 클록이다. 고속 클록은 저속 클록 주파수의 정수배인 주파수를 가지고, 여기서 정수는 병렬-직렬 변환기 회로에 공급되는 병렬 데이터 워드의 비트 수이다. 이 회로는 저속 클록을 사용하여 병렬 데이터를 수신하고, 고속 클록을 사용하여 이 데이터를 직렬로 시프트하여 출력한다. 적당한 회로 동작을 위해, 고속 클록과 저속 클록의 비가 유지되어야만 한다. 고속 클록 신호의 글리치(glitch)는 이 비를 교란할 수 있고, 그로써 직렬-전송된 데이터에 오류를 야기할 수 있다. 기존의 병렬-직렬 회로는 이러한 유형의 오동작을 검출할 수 없다. 따라서, 기존의 병렬-직렬 변환기 회로가 일반적으로 그의 의도된 목적에 적절하지만, 이들 회로가 모든 측면에서 완전히 만족스러운 것은 아니었다.
본 발명의 목적은 병렬-직렬 회로에서의 오류 검출 및 정정 방법 및 장치를 제공하는 것이다.
장치의 실시예는 회로를 포함할 수 있고, 이 회로는 제1 레이트로 입력 데이터를 수신하는 데이터 입력 수신부, 제1 레이트에 동기되고 제1 레이트와 다른 제2 레이트로 회로로부터 출력 데이터를 전송하는 데이터 출력 전송부, 데이터 입력 수신부로부터 데이터 출력 전송부로 데이터를 전달하는 데이터 전달부, 및 제1 레이트와 제2 레이트 간의 동기를 모니터링하고, 제1 레이트와 제2 레이트 간의 동기의 교란에 응답하여, 오류 검출된 신호를 출력에 발생하는 오류 검출부를 가진다.
데이터 입력 수신부는 제1 레이트로 동작하는 제1 클록 신호에 응답할 수 있고, 데이터 출력 전송부는 제2 레이트로 동작하는 제2 클록 신호에 응답할 수 있다. 오류 검출부는 제1 클록 신호의 선택된 수의 사이클 동안에 일어나야 하는 제2 클록 신호의 사이클의 수를 나타내는 비교값을 저장하는 저장 요소, 및 비교값을 클록 사이클 값이 비교값에 마지막으로 동등했던 때 이후로 실제로 일어난 제2 클록 신호의 사이클의 수를 나타내는 클록 사이클 값과 비교하는 비교기를 포함할 수 있다. 비교기는 오류 검출부의 출력에 연결된 출력을 가질 수 있다.
오류 검출부는 비교기의 출력과 오류 검출부의 출력 사이에 연결되고 비교기의 출력에서 오류 검출된 신호로서 역할하는 신호를 캡처할 수 있는 캡처부를 포함할 수 있다.
캡처부는 비교기의 출력에 연결된 입력, 제1 클록 신호를 수신하는 클록 입력, 및 오류 검출 회로의 출력에 연결된 출력을 가지는 플립-플롭을 포함할 수 있다.
비교값은 복수의 비트를 가질 수 있고, 클록 사이클 값은 복수의 비트를 가질 수 있다. 비교기는 비교기의 출력에 연결된 출력을 가지고 복수의 입력을 가질 수 있는 NAND 게이트를 포함할 수 있고, 복수의 배타적 NOR 게이트를 포함할 수 있다. 복수의 배타적 NOR 게이트 각각은 저장 요소 내의 비교값의 각자의 비트를 수신하는 입력, 클록 사이클 값의 각자의 비트를 수신하는 다른 입력, 및 NAND 게이트의 각자의 입력에 연결된 출력을 가질 수 있다.
오류 검출부는 비교기의 출력과 오류 검출부의 출력 사이에 연결되고 비교기의 출력에서 오류 검출된 신호로서 역할하는 신호를 캡처하는 캡처부를 포함할 수 있다.
캡처부는 비교기의 출력에 연결된 입력, 제1 클록 신호를 수신하는 클록 입력, 및 오류 검출 회로의 출력에 연결된 출력을 가지는 플립-플롭을 포함할 수 있다.
데이터 전달부는 제1 클록 신호의 선택된 수의 사이클에서 일어나야 하는 제2 클록 신호의 사이클의 수의 발생에 응답하여 로드 신호를 발생시키는 로드 신호 발생기를 포함할 수 있으며, 로드 신호는 데이터 출력 전송부로 하여금 데이터 입력 수신부로부터 데이터를 수신하게 한다.
데이터 출력 전송부는 데이터 입력 수신부에 연결된 복수의 입력을 가지는 시프트 레지스터, 로드 신호에 응답하는 제어 입력, 제2 클록 신호에 응답하는 클록 입력, 및 출력을 포함할 수 있다. 시프트 레지스터의 복수의 입력은 제어 입력에서의 로드 신호의 발생에 응답하여 데이터 입력 수신부로부터 데이터의 각자의 비트를 병렬로 수신할 수 있고, 시프트 레지스터는 제어 입력에서의 로드 신호의 발생이 없을 시에 제2 클록 신호에 응답하여 그의 출력에서 데이터를 직렬로 출력할 수 있다.
데이터 입력 수신부는 제1 레이트로 동작하는 제1 클록에 응답할 수 있고, 데이터 출력 전송부는 제2 레이트로 동작하는 제2 클록에 응답한다.
데이터 입력 수신부는 입력 데이터를 병렬로 수신할 수 있다. 데이터 전달부는 데이터가 데이터 입력 수신부로부터 데이터 출력 전송부로 병렬로 전달되게 할 수 있다. 데이터 출력 전송부는 출력 데이터를 직렬로 전송할 수 있다. 제2 레이트는 제1 레이트보다 클 수 있다.
방법의 실시예는 데이터 입력 수신부에서 제1 레이트로 데이터를 수신하는 단계, 데이터 입력 수신부로부터 데이터 출력 전송부로 데이터를 전달하는 단계, 데이터 출력 전송부로부터 제2 레이트로 데이터를 출력하는 단계 - 제2 레이트는 제1 레이트에 동기되고 제1 레이트와 다름 -, 제1 레이트와 제2 레이트 간의 동기를 모니터링하는 단계 - 이 단계는 교란이 일어나는 경우 동기의 교란을 검출하는 단계를 포함함 -, 및 동기의 교란을 검출한 것에 응답하여 오류 검출된 신호를 발생시키는 단계를 포함할 수 있다.
이 방법은 제1 레이트로 동작하는 제1 클록 신호에 응답하여 데이터 입력 수신부를 작동시키는 단계, 및 제2 레이트로 동작하는 제2 클록 신호에 응답하여 데이터 출력 전송부를 작동시키는 단계를 포함할 수 있다. 모니터링하는 단계는 제1 클록 신호의 선택된 수의 사이클 동안에 일어나야 하는 제2 클록 신호의 사이클의 수를 나타내는 비교값을 유지하는 단계를 포함할 수 있다. 그에 부가하여, 모니터링하는 단계는 클록 사이클 값이 비교값과 마지막으로 동등했던 시점 이후에 실제로 일어난 제2 클록 신호의 사이클의 수를 나타내는 클록 사이클을 유지하는 단계를 포함할 수 있고, 비교값과 클록 사이클 값을 비교하는 단계를 포함할 수 있다. 오류 검출된 신호를 발생하는 단계는 비교하는 단계의 결과의 함수로서 수행될 수 있다.
오류 검출된 신호를 발생시키는 단계는 비교값 및 클록 사이클 값이 다르다는 것을 나타내는 비교에 응답하여 행해질 수 있다.
오류 검출된 신호를 발생시키는 단계는 제1 클록 신호의 엣지에 동기될 수 있다.
이 방법은 제1 클록 신호의 선택된 수의 사이클 내에 일어나야 하는 제2 클록 신호의 사이클의 수의 발생에 응답하여 로드 신호를 발생시키는 단계를 포함할 수 있다. 그에 부가하여, 이 방법은 시프트 레지스터를 갖도록 데이터 출력 전송부를 구성하는 단계를 포함할 수 있으며, 시프트 레지스터는 로드 신호의 발생에 응답하여 데이터 입력 수신부로부터 데이터를 수신하고, 시프트 레지스터는 로드 신호의 발생이 없을 시에 제2 클록 신호에 응답하여 데이터를 직렬로 출력한다.
이 방법은 제1 레이트로 동작하는 제1 클록 신호에 응답하여 데이터 입력 수신부를 작동시키는 단계, 및 제2 레이트로 동작하는 제2 클록 신호에 응답하여 데이터 출력 전송부를 작동시키는 단계를 포함할 수 있다.
수신하는 단계는 데이터를 병렬로 수신하는 단계를 포함할 수 있고, 전달하는 단계는 데이터를 병렬로 전달하는 단계를 포함할 수 있으며, 출력하는 단계는 데이터를 직렬로 출력하는 단계를 포함할 수 있고, 제2 레이트는 제1 레이트보다 클 수 있다.
장치의 다른 실시예는 회로를 포함할 수 있고, 이 회로는 제1 클록 레이트로 입력 데이터를 수신하는 데이터 입력 수신부, 제1 클록 레이트에 동기되고 제1 클록 레이트와 다른 제2 클록 레이트로 회로로부터 출력 데이터를 전송하는 데이터 출력 전송부, 카운터를 포함하는, 데이터 입력 수신부 및 데이터 출력 전송부에 연결된 프로그램가능 로드 발생기 - 카운터는 제2 클록 레이트에 의해 구동됨 -, 값을 포함하는 레지스터, 상기 값을 카운터의 출력과 비교하는, 프로그램가능 로드 발생기 및 레지스터에 연결된 비교기, 및 제1 클록 레이트와 제2 클록 레이트 간의 비가 교란되었는지를 판정하기 위해 제1 클록 레이트로 동작하는 제1 클록의 하강 엣지에서 비교기의 출력을 검사하는, 비교기에 연결된 제어 회로를 가진다.
제어 회로는 제1 클록 레이트와 제2 클록 레이트 사이의 비가 교란된 경우 리셋 신호를 출력할 수 있다.
본 발명에 따르면, 병렬-직렬 회로에서의 오류 검출 및 정정 방법 및 장치의 제공이 가능하다.
도 1은 몇가지 상이한 유형의 프로그램가능 논리 블록을 포함하는 향상된 FPGA 아키텍처의 개략도이다.
도 2는 도 1의 FPGA의 대안의 실시예이고 몇가지 상이한 유형의 프로그램가능 논리 블록을 포함하는 다른 FPGA 아키텍처의 개략도이다.
도 3은 도 1 및 도 2의 각각의 FPGA 아키텍처의 일부분인 병렬-직렬 변환기 회로를 나타내는 개략 회로도이다.
도 4는 도 3의 회로의 동작의 측면들을 나타낸 타이밍도이다.
도 5는 도 3의 회로의 구성요소인 프로그램가능 로드 발생기, 및 도 3의 회로 내에서 사용되는 고속 클록과 저속 클록 사이의 비의 교란을 검출하는 오류 검출 회로를 나타낸 개략 회로도이다.
도 1은 몇가지 상이한 유형의 프로그램가능 논리 블록을 포함하는 향상된 FPGA 아키텍처(100)의 개략도이다. 예를 들어, 도 1의 FPGA 아키텍처(100)는 멀티-기가비트 송수신기(multi-gigabit transceiver; MGT)(101), 구성가능 논리 블록(configurable logic block; CLB)(102), 랜덤 액세스 메모리 블록(random access memory block; BRAM)(103), 입/출력 블록(input/output block; lOB)(104), 구성 및 클록킹 논리(configuration and clocking logic; CONFIG/CLOCKS)(105), 디지털 신호 처리 블록(digital signal processing block; DSP)(106), 특수 입/출력 블록(specialized input/output block; I/O)(107)(예를 들어, 구성 포트 및 클록 포트), 및 기타 프로그램가능 논리(108)(디지털 클록 관리자, 아날로그-디지털 변환기, 시스템 모니터링 논리, 기타 등등)를 포함하는 많은 수의 상이한 프로그램가능 타일을 가진다. FPGA(100)는 또한 전용 프로세서 블록(dedicated processor block; PROC)(110)을 포함한다.
FPGA(100)에서, 각각의 프로그램가능 타일은 각각의 인접한 타일에서 대응하는 상호연결 요소로의/로부터의 표준화된 연결을 가지는 프로그램가능 상호연결 요소(programmable interconnect element; INT)(111)를 포함한다. 따라서, 프로그램가능 상호연결 요소들이 모두 모여 예시된 FPGA에 대한 프로그램가능 상호연결 구조를 구현한다. 프로그램가능 상호연결 요소(INT)(111)는 또한, 도 1의 상부에 포함된 일례로 나타낸 바와 같이, 동일한 타일 내의 프로그램가능 논리 요소로의/로부터의 연결을 포함한다.
예를 들어, CLB(102)는 사용자 논리 및 단일 프로그램가능 상호연결 요소(INT)(111)를 구현하도록 프로그램될 수 있는 구성가능 논리 요소(configurable logic element; CLE)(112)를 포함할 수 있다. BRAM(103)은 하나 이상의 프로그램가능 상호연결 요소에 부가하여 BRAM 논리 요소(BRAM logic element; BRL)(113)를 포함할 수 있다. 통상적으로, 타일에 포함된 상호연결 요소의 수는 타일의 높이에 의존한다. 도시된 실시예에서, BRAM 타일은 5개의 CLB와 동일한 높이를 가지지만, 다른 수(예를 들어, 4)도 사용될 수 있다. DSP 타일(106)은 적절한 수의 프로그램가능 상호연결 요소에 부가하여 DSP 논리 요소(DSP logic element; DSPL)(114)를 포함할 수 있다. IOB(104)는 하나의 프로그램가능 상호연결 요소(INT)(111) 인스턴스에 부가하여, 예를 들어, 2개의 입/출력 논리 요소(input/output logic element; IOL)(115) 인스턴스를 포함할 수 있다. 당업자에게는 명백할 것인 바와 같이, 예를 들어, I/O 논리 요소(115)에 연결된 실제 I/O 패드는 통상적으로 입/출력 논리 요소(115)의 영역으로 한정되지 않는다.
도시된 실시예에서, 다이의 중심 부근의 열 영역(columnar area)(도 1에서 음영되어 도시됨)은 구성, 클록, 및 기타 제어 논리를 위해 사용된다. 이 열로부터 뻗어 있는 수평 영역(109)은 FPGA의 폭에 걸쳐 클록 및 구성 신호를 분배하는 데 사용된다. 다른 실시예에서, 구성 논리는 다이의 코너와 같은 FPGA 다이의 다른 영역에 위치될 수 있다.
도 1에 예시된 아키텍처를 이용하는 일부 FPGA는 FPGA의 대부분을 이루고 있는 규칙적인 열 구조를 교란시키는 부가의 논리 블록을 포함한다. 부가의 논리 블록은 프로그램가능 블록 및/또는 전용 논리일 수 있다. 예를 들어, 도 1에 도시된 프로세서 블록(PROC)(110)은 몇개의 CLB 및 BRAM 열에 걸쳐 있다.
도 1은 하나의 예시적인 FPGA 아키텍처를 나타낸 것이다. 예를 들어, 열에 있는 논리 블록의 수, 열의 상대적 폭, 열의 수 및 순서, 열에 포함된 논리 블록의 유형, 논리 블록의 상대적 크기, 어레이 내에서의 논리 블록의 위치, 및 도 1의 상부에 포함된 상호연결/논리 구현은 순전히 예시적인 것이다. 실제의 FPGA에서, 사용자 논리의 효율적인 구현을 용이하게 해주기 위해 CLB가 있는 곳에는 항상 2개 이상의 인접한 CLB 열이 통상적으로 포함되지만, 인접한 CLB 열의 수는 FPGA의 전체 크기에 따라 변한다.
도 2는 도 1의 FPGA의 대안의 실시예를 나타낸 것이고 몇가지 상이한 유형의 프로그램가능 논리 블록을 포함한다. 도 2의 FPGA(200)는 CLB(202), BRAM(203), "I/O 뱅크"로 분할된 I/O 블록(204)(각각이 40개의 I/O 패드 및 수반되는 논리를 포함함), 구성 및 클록킹 논리(205), DSP 블록(206), 클록 I/O(207), 클록 관리 회로(clock management circuitry; CMT)(208), 구성 I/O(217), 및 구성 및 클록 분배 영역(209)을 포함한다.
도 2의 FPGA(200)에서, 예시적인 CLB(202)는 하나의 프로그램가능 상호연결 요소(INT)(211), 및 2개의 상이한 "슬라이스", 즉 슬라이스 L(SL)(212) 및 슬라이스 M(SM)(213)를 포함한다. 일부 실시예에서, 2개의 슬라이스는 동일하다(예를 들어, 슬라이스 L의 2개의 사본 또는 슬라이스 M의 2개의 사본). 다른 실시예에서, 2개의 슬라이스는 상이한 기능을 가진다. 일부 실시예에서, 어떤 CLB는 2개의 상이한 슬라이스를 포함하고, 어떤 CLB는 2개의 유사한 슬라이스를 포함한다. 예를 들어, 일부 실시예에서, 어떤 CLB 열은 2개의 상이한 슬라이스를 갖는 CLB만을 포함하는 반면, 다른 CLB 열은 2개의 유사한 슬라이스를 갖는 CLB만을 포함한다.
도 3은 도 1 및 도 2의 각각의 FPGA 아키텍처의 일부분인 병렬-직렬 변환기 회로(301)를 나타내는 개략 회로도이다. 도 3의 좌측에, 회로(301)는 병렬로 입력 데이터 워드를 수신하는 데이터 입력 수신부(302)를 가지며, 여기서 각각의 워드는 최대 6개의 데이터 비트(d1 내지 d6)를 포함할 수 있다. 회로(301)는 또한 이어서 직렬 출력(303)에서 각각의 이러한 워드를 출력 데이터로서 직렬 형식으로 출력하는 데이터 출력 전송부(305)를 가진다. 회로(301)는 6-비트 슬라이스이고, 폭이 2 비트 내지 6 비트인 병렬 워드를 처리할 수 있다. 예를 들어, 4-비트 워드가 데이터 입력(d1 내지 d4)을 통해 공급되고, 직렬 출력(303)에서 직렬로 출력될 것이다. 6-비트 워드가 데이터 입력(d1 내지 d6)을 통해 공급되고, 직렬 출력(303)에서 직렬로 출력될 것이다. 그에 부가하여, 6 비트보다 큰 크기를 갖는 병렬 워드를 처리하기 위해, 회로(301)는 다른 회로의 직렬 입력(306)에 이러한 하나의 회로의 직렬 출력(303)의 연결을 포함하는 다른 동일한 회로와 캐스케이드될 수 있다.
이제 회로(301)의 내부 구조를 살펴보면, 이 논의를 위해, 데이터 입력 수신부(302)에 공급되는 병렬 입력 워드가 6 비트의 폭을 가지는 것으로 가정한다. 데이터 입력 수신부(302)는 데이터 입력(d1 내지 d6), 및 6개의 D-타입 플립-플롭(311 내지 316)에 의해 정의된 입력 레지스터를 가진다. 각각의 6-비트 입력 워드는 데이터 입력(d1 내지 d6) 병렬 형식으로 공급되고, 6개의 2:1 셀렉터(341 내지 346)를 통과하며, 입력 레지스터[플립-플롭(311 내지 316)]에 로드된다. 상기한 바와 같이, 도 1 및 도 2에 도시된 유형의 FPGA 아키텍처는 일부 기능이 최종 사용자에 의해 구성되거나 프로그램된다. 이 프로그래밍 프로세스의 일부로서, 사용자는 연관된 데이터 입력(d1 내지 d6)에 존재하는 신호의 반전된 버전이거나 비반전된 버전을 연관된 플립-플롭(311 내지 314)에 제공하도록 각각의 셀렉터(341 내지 346)를 구성할 것이다. 이 논의를 위해, 셀렉터(341 내지 346)가 사용자에 의해 비반전으로 구성된 것으로 가정된다.
6-비트 데이터 워드가 입력 레지스터[플립-플롭(311 내지 316)]에 로드된 후에, 회로(301)의 동작 시퀀스(나중에 보다 상세히 논의함)에서의 적절한 시점에서, 이 6-비트 워드는 데이터 출력 전송부(305)에 병렬로 전달된다. 데이터 출력 전송부(305)는 6개의 2:1 셀렉터(321 내지 326), 및 6개의 D-타입 플립-플롭(331 내지 336)에 의해 정의되는 레지스터를 포함한다. 6-비트 워드가 2:1 셀렉터(321 내지 326)를 통해 병렬로 수신되고, 레지스터[플립-플롭(331 내지 336)]에 로드된다. 플립-플롭(331-336)이 로드된 후에, 2:1 셀렉터(321 내지 326)는 대안의 모드로 전환되고, 이 대안의 모드에서 셀렉터(321 내지 325)는 각각의 플립-플롭(331 내지 335)의 데이터 입력에 플립-플롭(332 내지 336)의 각각의 플립-플롭의 출력을 공급하는 반면, 셀렉터(326)는 플립-플롭(336)의 데이터 입력에 직렬 입력(306)[전술한 바와 같이 다른 회로(301)의 직렬 출력(304)에 선택적으로 연결될 수 있음]에서의 상태를 공급한다. 그 결과, 플립-플롭(331 내지 336)은 이어서 직렬 시프트 레지스터로서 기능하고, 이들 레지스터 내의 데이터는 직렬 출력(303)에서 직렬로 출력된다.
클록 신호 oclkdiv_b는 각각의 플립-플롭(311 내지 316)의 클록 입력에 공급되고, 상이한 클록 신호 oclk_b는 각각의 플립-플롭(331 내지 336)의 클록 입력에 공급된다. 플립-플롭(331 내지 336)에 대한 클록 신호 oclk_b는 플립-플롭(311 내지 316)에 대한 클록 신호 oclkdiv_b의 정수배인 주파수를 가지며, 여기서 정수는 병렬 워드에서의 비트의 수와 같다. 따라서, 이 논의를 위해 회로(301)가 6 비트를 가지는 병렬 워드를 공급받는 것으로 가정되었기 때문에, 클록 oclk_b은 클록 신호 oclkdiv_b의 주파수 또는 레이트의 6배인 주파수 또는 레이트를 가질 것이다. 편의상, 클록 신호 oclk_b는 때때로 본 명세서에서 고속 클록이라고 하고, 클록 신호 oclkdiv_b는 때때로 본 명세서에서 저속 클록이라고 한다.
회로(301)는 프로그램가능 로드 발생기(351)를 포함하는 데이터 전달부(350)를 가진다. 프로그램가능 로드 발생기(351)는 플립-플롭(331 내지 336)과 동일한 클록 신호 oclk_b를 수신하는 4-비트 클록 사이클 카운터(352)를 포함한다. 로드 발생기(351)는 출력을 가지며, 이 출력에서 로드 발생기는 클록 신호 oclk_b의 매 X개 펄스마다 하나의 출력 펄스를 생성하고, 여기서 X는 병렬 입력 워드에서의 비트의 수이다. 본 논의를 위해, X는 6개의 펄스이다. 데이터 전달부(350)는 또한 로드 발생기(351)로부터 출력을 수신하는 하나의 입력 및 제어 신호 SERIAL ENABLE을 수신하는 다른 입력을 가지는 AND 게이트(353)를 포함한다. 병렬-직렬 변환이 이용될 때, 신호 SERIAL ENABLE은 항상 논리 하이(logic high)이다. AND 게이트(353)의 출력은 각각의 2:1 셀렉터(321 내지 326)에 제어 신호로서 공급되는 LOAD 신호로서 역할한다. 프로그램가능 로드 발생기(351) 및 AND 게이트(353)는 함께 로드 신호 발생기로서 역할한다. LOAD 신호가 비활성화될 때, 셀렉터(321 내지 326)는 플립-플롭(331 내지 336)이 5 클록 사이클 동안 직렬 시프트 레지스터로서 기능하도록 설정된다. LOAD 신호의 활성화 시에, 셀렉터(321 내지 326)는 하나의 클록 사이클 동안 병렬 로드 모드로 전환되고, 따라서 플립-플롭(331 내지 336)은 플립-플롭(311 내지 316)으로부터의 데이터와 병렬로 로드될 수 있다. 회로(301)는 프로그램가능 로드 발생기(351)에, 각각의 플립-플롭(311 내지 316)에, 그리고 각각의 플립-플롭(331 내지 336)에 공급되는 리셋 신호 sr_b를 가진다. 도 4는 회로(301)의 동작의 측면들을 나타낸 타이밍도이다.
상기한 바와 같이, 도 1 및 도 2에 도시된 유형의 FPGA 아키텍처는 일부 기능이 최종 사용자에 의해 구성되거나 프로그램된다. 이 프로그래밍 프로세스의 일부로서, 사용자는 병렬 데이터 워드 내의 비트의 수(X)에 부합하는 방식으로 프로그램가능 로드 발생기(351)를 구성할 것이다. 따라서, 병렬 데이터 워드가 X=4 비트를 가지는 경우, 프로그램가능 로드 발생기(351)는 고속 클록 ockl_b의 4개의 펄스마다 하나의 펄스를 출력하도록 구성될 것이다. 병렬 워드가 X=6 비트를 가지는 경우, 로드 발생기(351)는 고속 클록 ockl_b의 6개의 펄스마다 하나의 펄스를 출력하도록 구성될 것이다. 병렬 워드가 X=10 비트를 가지는 경우, 로드 발생기(351)는 고속 클록 ockl_b의 10개의 펄스마다 하나의 펄스를 출력하도록 구성될 것이다.
회로(301)가 적절히 동작하기 위해, 저속 클록 oclkdiv_b의 레이트와 고속 클록 oclk_b의 레이트 사이의 비가 유지되어야만 한다. 고속 클록 oclk_b에서의 임의의 불규칙성 또는 "글리치"가 있는 경우, 이 비가 방해될 것이고, 플립-플롭(311 내지 316)을 포함하는 레지스터와 플립-플롭(331 내지 336)을 포함하는 레지스터 간의 동기를 교란시킬 것이다.
도 5는 프로그램가능 로드 발생기(351) 및 도 3에 도시되지 않았지만 도 3의 회로(301)의 일부분인 오류 검출 회로(361)를 나타낸 개략 회로도이다. 오류 검출 회로(361)는 저속 클록 oclkdiv_b(도 3)의 레이트와 고속 클록 ockl_b의 레이트 간의 비의 교란을 검출할 것이다. 회로(361)는 저장 요소인 4-비트 레지스터(366)를 포함한다. 개시된 실시예에서, 레지스터(366)는 개별적으로 예시되어 있지 않은 4개의 메모리 셀로 구현된다. 상기한 바와 같이, 도 1 및 도 2에 도시된 유형의 FPGA 아키텍처는 일부 기능이 최종 사용자에 의해 구성되거나 프로그램된다. 이 프로그래밍 프로세스의 일부로서, 사용자는 레지스터(366)에 영구적으로 저장될 4-비트 이진 비교값을 지정할 것이다. 유의할 점은, 도 4에서, 고속 클록과 저속 클록 간의 비의 교란이 없는 경우, 저속 클록 oclkdiv_b의 각각의 하강 엣지 바로 전에, 로드 발생기(351)가 항상 동일한 4-비트 클록 사이클 값(도 4에서 16진수 "d"로서 나타냄)을 출력할 것이라는 것이다. FPGA 아키텍처가 구성되고 있을 때, 도 5의 레지스터(366)는 동일한 16진수 값 "d"를 나타내는 비트를 포함하도록 프로그램된다. 도 3 및 도 4가 싱글 데이터 레이트(single data rate; "SDR") 모드에서 동작하는 병렬-직렬 변환기 회로를 나타내고 있지만, 본 발명의 하나 이상의 실시예는 또한 병렬-직렬 변환기 회로가 더블 데이터 레이트(double data rate; "DDR") 모드에서 동작하도록 구성되는 경우에도 적용된다.
오류 검출 회로(361)는 비교기 회로(368)를 포함한다. 비교기 회로(368)는 4개의 배타적 NOR 게이트(371 내지 374)를 포함한다. 앞서 언급한 바와 같이, 로드 발생기(351)는 4-비트 클록 사이클 카운터를 포함하고, 이 카운터의 4 비트 각각은 4개의 게이트(371 내지 374)의 각각의 게이트의 한쪽 입력에 연결되어 있다. 레지스터(366) 내의 4개의 메모리 셀 각각은 게이트(371 내지 374)의 각각의 게이트의 다른쪽 입력에 연결되어 있다. 비교기(368)는 또한 하나의 출력을 가지고 4개의 입력[각각의 입력이 게이트(371 내지 374)의 각각의 게이트의 출력에 연결됨]을 가지는 NAND 게이트(377)를 포함한다. 오류 검출 회로(361)는 이후에 논의되는 D-타입 플립-플롭(380)을 선택적으로 포함할 수 있다. 이 플립-플롭은 선택적이라는 것이라는 사실을 반영하기 위해 파선으로 도시되어 있다. 당분간, 플립-플롭(380)이 존재하지 않는 것으로 가정된다. NAND 게이트(377)의 출력은 병렬-직렬 변환기 회로(301)에 대한 제어 회로(386)에 공급되는 오류 검출된 신호이다.
제어 회로(386)는 비교기(368)가 각각의 저속 클록의 하강 엣지에서 가지는 출력 상태를 검사한다. 비교기(368)의 출력이 이진 "0"인 경우(비교값 및 클록 사이클 값이 동등하기 때문임), 고속 클록과 저속 클록의 비가 교란되지 않고, 회로(301)는 적절히 동작할 것이다. 반면에, 비교기(368)의 출력이 이진 "1"인 경우(비교값 및 클록 사이클 값이 상이하기 때문임), 예를 들어, 고속 클록에서의 글리치로 인해 고속 클록과 저속 클록의 비가 교란된다. 제어 회로(386)는 이어서 리셋 신호를 회로(301)에 또는 적어도 로드 발생기(351)에 공급하고, 이어서 데이터 스트림 전체가 회로(301)의 직렬 출력을 통해 직렬로 올바르게 전송되도록 하기 위해 적어도 마지막 3개의 저속 클록 사이클 동안 6-비트 병렬 데이터 워드를 재전송할 수 있다.
앞서 언급한 바와 같이, 플립-플롭(380)은 선택적으로 제공될 수 있다. 플립-플롭(380)이 존재할 때, 그의 데이터 입력은 비교기(368)의 출력에 연결되고, 그의 클록 입력은 저속 클록 oclkdiv_b을 수신하며, 그의 데이터 출력은 제어 회로(386)에 연결된다. 플립-플롭(380)이 존재할 때, 비교기(368)의 출력이 저속 클록 신호 oclkdiv_b의 각각의 하강 엣지에서 플립-플롭(380)에 캡처된다. 플립-플롭(380)은 따라서 캡처부로서 역할하고, 플립-플롭(380)에 캡처되는 비교기(368)의 출력은 오류 검출된 신호로서 역할한다.
선택된 실시예가 상세히 예시되고 기술되어 있지만, 이하의 특허청구범위에 한정되어 있는 본 발명의 사상 및 범위를 벗어나지 않고 치환 및 변경이 가능하다는 것을 잘 알 것이다.

Claims (15)

  1. 오류 검출을 위한 회로에 있어서,
    제1 레이트로 동작하는 제1 클록 신호에 응답하여 병렬로 입력 데이터를 수신하는 데이터 입력 수신부;
    상기 제1 레이트에 동기되고 상기 제1 레이트와 다른 제2 레이트로 동작하는 제2 클록 신호에 응답하여 상기 회로로부터 출력 데이터를 직렬로 전송하는 데이터 출력 전송부;
    상기 제2 클록 신호에 응답하여 카운트하고 카운트 값을 출력하는 카운터를 포함하는 로드 신호 발생기 - 상기 로드 신호 발생기는 상기 제2 클록 신호의 사이클의 수의 발생에 응답하여 로드 신호를 발생시키도록 구성되어 있고, 상기 로드 신호는 상기 데이터 출력 전송부로 하여금 상기 데이터 입력 수신부로부터 데이터를 수신하게 함 -; 및
    오류 검출부를 포함하며,
    상기 오류 검출부는
    비교값을 저장하는 저장 요소,
    상기 저장 요소 및 상기 카운터에 연결되어, 상기 카운트 값의 비트를 상기 비교값과 비교하도록 구성되어 있는 비교기, 및
    상기 비교기에 연결되어, 상기 제1 클록 신호의 각각의 사이클에서 상기 비교기의 출력을 캡처하도록 구성되어 있는 캡처부를 포함하며,
    상기 오류 검출부는 상기 카운트 값과 상기 비교값이 다르다는 것을 나타내는 상기 비교기의 상기 캡처된 출력에 응답하여 오류 검출된 신호를 발생시키도록 구성되어 있는 것인, 오류 검출을 위한 회로.
  2. 제1항에 있어서, 상기 비교값이 복수의 비트를 가지고, 상기 카운트 값이 복수의 비트를 가지며,
    상기 비교기는 상기 비교기의 출력에 연결된 출력을 가지고 복수의 입력을 가지는 NAND 게이트를 포함하고, 복수의 배타적 NOR 게이트를 포함하며, 상기 복수의 배타적 NOR 게이트 각각은 상기 저장 요소 내의 상기 비교값의 각자의 비트를 수신하는 입력, 상기 카운트 값의 각자의 비트를 수신하는 다른 입력, 및 상기 NAND 게이트의 각자의 입력에 연결된 출력을 가지는 것인, 오류 검출을 위한 회로.
  3. 제1항 또는 제2항에 있어서, 상기 데이터 출력 전송부는 상기 데이터 입력 수신부에 연결된 복수의 입력을 가지는 시프트 레지스터, 상기 로드 신호에 응답하는 제어 입력, 상기 제2 클록 신호에 응답하는 클록 입력, 및 출력을 포함하고, 상기 시프트 레지스터의 복수의 입력은 상기 제어 입력에서의 상기 로드 신호의 발생에 응답하여 상기 데이터 입력 수신부로부터 데이터의 각자의 비트를 병렬로 수신하고, 상기 시프트 레지스터는 상기 제어 입력에서의 상기 로드 신호의 발생이 없을 시에 상기 제2 클록 신호에 응답하여 그의 출력에서 데이터를 직렬로 출력하는 것인, 오류 검출을 위한 회로.
  4. 제1항 또는 제2항에 있어서, 상기 데이터 입력 수신부는 상기 제1 레이트로 동작하는 상기 제1 클록 신호에 응답하고, 상기 데이터 출력 전송부는 상기 제2 레이트로 동작하는 상기 제2 클록 신호에 응답하는 것인, 오류 검출을 위한 회로.
  5. 제1항 또는 제2항에 있어서,
    상기 데이터 입력 수신부는 상기 입력 데이터를 병렬로 수신하고,
    상기 로드 신호 발생기는 데이터가 상기 데이터 입력 수신부로부터 상기 데이터 출력 전송부로 병렬로 전달되게 하며,
    상기 데이터 출력 전송부는 상기 출력 데이터를 직렬로 전송하고,
    상기 제2 레이트는 상기 제1 레이트보다 큰 것인, 오류 검출을 위한 회로.
  6. 데이터 입력 수신부 및 데이터 출력 전송부를 갖는 회로를 작동시키는 방법에 있어서,
    제1 레이트로 동작하는 제1 클록 신호에 응답하여 상기 데이터 입력 수신부에서 병렬로 데이터를 수신하는 단계,
    제2 클록 신호의 사이클을 카운트하고 카운트 값을 발생시키는 단계,
    상기 제2 클록 신호의 사이클의 수의 발생에 응답하여 로드 신호를 발생시키는 단계,
    상기 로드 신호에 응답하여 상기 데이터 입력 수신부로부터 상기 데이터 출력 전송부로 데이터를 전달하는 단계,
    제2 레이트 - 상기 제2 레이트는 상기 제1 레이트에 동기되고 상기 제1 레이트와 다름 - 로 동작하는 제2 클록 신호에 응답하여 상기 데이터 출력 전송부로부터 데이터를 직렬로 출력하는 단계,
    비교값을 저장하는 단계,
    상기 카운트 값의 비트를 상기 비교값과 비교하는 단계,
    상기 제1 클록 신호의 각각의 사이클에서 상기 비교하는 단계의 출력을 캡처하는 단계, 및
    상기 카운트 값과 상기 비교값이 다르다는 것을 나타내는 상기 비교하는 단계의 상기 캡처된 출력에 응답하여 오류 검출된 신호를 발생시키는 단계
    를 포함하는 회로 작동 방법.
  7. 제6항에 있어서, 상기 오류 검출된 신호를 발생시키는 단계는 상기 제1 클록 신호의 엣지에 동기되어 있는 것인, 회로 작동 방법.
  8. 제6항에 있어서,
    시프트 레지스터를 갖도록 상기 데이터 출력 전송부를 구성하는 단계를 포함하며, 상기 시프트 레지스터는 상기 로드 신호의 발생에 응답하여 상기 데이터 입력 수신부로부터 데이터를 수신하고, 상기 시프트 레지스터는 상기 로드 신호의 발생이 없을 시에 상기 제2 클록 신호에 응답하여 데이터를 직렬로 출력하는 것인, 회로 작동 방법.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    상기 수신하는 단계는 데이터를 병렬로 수신하는 단계를 포함하고,
    상기 전달하는 단계는 데이터를 병렬로 전달하는 단계를 포함하며,
    상기 출력하는 단계는 데이터를 직렬로 출력하는 단계를 포함하고,
    상기 제2 레이트는 상기 제1 레이트보다 큰 것인, 회로 작동 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020117017961A 2009-01-31 2010-01-08 병렬-직렬 회로에서의 오류 검출 및 정정 방법 및 장치 KR101263110B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14892509P 2009-01-31 2009-01-31
US61/148,925 2009-01-31
US12/474,248 US7971115B2 (en) 2009-01-31 2009-05-28 Method and apparatus for detecting and correcting errors in a parallel to serial circuit
US12/474,248 2009-05-28
PCT/US2010/020560 WO2010088016A2 (en) 2009-01-31 2010-01-08 Method and apparatus for detecting and correcting errors in a parallel to serial circuit

Publications (2)

Publication Number Publication Date
KR20110110288A KR20110110288A (ko) 2011-10-06
KR101263110B1 true KR101263110B1 (ko) 2013-05-09

Family

ID=42396272

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117017961A KR101263110B1 (ko) 2009-01-31 2010-01-08 병렬-직렬 회로에서의 오류 검출 및 정정 방법 및 장치

Country Status (6)

Country Link
US (1) US7971115B2 (ko)
EP (1) EP2384544B1 (ko)
JP (1) JP5232308B2 (ko)
KR (1) KR101263110B1 (ko)
CN (1) CN102292913B (ko)
WO (1) WO2010088016A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130016810A (ko) * 2011-08-09 2013-02-19 에스케이하이닉스 주식회사 내부제어신호 조절회로
IN2014CH00439A (ko) * 2014-01-30 2015-08-07 Mentor Graphics Corp
DE102016201141B4 (de) * 2016-01-27 2017-11-16 Wago Verwaltungsgesellschaft Mbh Sicherheitsanordnung
CN107423153B (zh) * 2017-07-24 2020-01-21 上海交通大学 一种用于错误检测与校正技术的校正电路
CN110196781B (zh) * 2019-06-11 2021-04-02 中国科学院长春光学精密机械与物理研究所 基于点负载的fpga加载配置问题检查方法
FR3100346B1 (fr) * 2019-09-04 2022-07-15 St Microelectronics Rousset Détection d'erreurs
US11334426B2 (en) * 2020-04-20 2022-05-17 Micron Technology, Inc. CRC error alert synchronization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1249936A2 (en) 2001-04-10 2002-10-16 Nec Corporation Lock detection circuit
US7091890B1 (en) 2004-08-17 2006-08-15 Xilinx, Inc. Multi-purpose source synchronous interface circuitry

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065396A (en) * 1990-01-02 1991-11-12 At&T Bell Laboratories Inverse multiplexer and demultiplexer techniques
US5062105A (en) * 1990-01-02 1991-10-29 At&T Bell Laboratories Programmable multiplexing techniques for mapping a capacity domain into a time domain within a frame
JP3135990B2 (ja) * 1992-07-31 2001-02-19 沖電気工業株式会社 パリティ付加回路
JPH10322200A (ja) 1997-05-21 1998-12-04 Mitsubishi Electric Corp 位相ロック検出回路
US6581183B1 (en) * 2000-03-30 2003-06-17 International Business Machines Corporation System and method for resynchronization of transmit and receive compression dictionaries
JP3501732B2 (ja) * 2000-06-23 2004-03-02 日本電気通信システム株式会社 パラレルシリアル変換回路
US7593432B2 (en) * 2001-03-31 2009-09-22 Redback Networks Inc. Method and apparatus for deframing signals
WO2004038994A1 (en) 2002-10-25 2004-05-06 Koninklijke Philips Electronics N.V. Device for exchanging data signals between two clock domains
US7406118B2 (en) * 2003-09-11 2008-07-29 Xilinx, Inc. Programmable logic device including programmable multi-gigabit transceivers
US7289589B2 (en) * 2003-10-01 2007-10-30 Northrop Grumman Corporation Maximum likelihood bit synchronizer and data detector
TW200731702A (en) * 2005-07-29 2007-08-16 Koninkl Philips Electronics Nv Data stream synchronization
US7567449B2 (en) * 2006-10-27 2009-07-28 Xilinx, Inc. One-time-programmable logic bit with multiple logic elements
US7812664B1 (en) * 2007-07-19 2010-10-12 Xilinx, Inc. Method of and circuit for suppressing noise in a circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1249936A2 (en) 2001-04-10 2002-10-16 Nec Corporation Lock detection circuit
US7091890B1 (en) 2004-08-17 2006-08-15 Xilinx, Inc. Multi-purpose source synchronous interface circuitry

Also Published As

Publication number Publication date
EP2384544B1 (en) 2016-12-28
WO2010088016A2 (en) 2010-08-05
JP5232308B2 (ja) 2013-07-10
US20100199136A1 (en) 2010-08-05
KR20110110288A (ko) 2011-10-06
EP2384544A2 (en) 2011-11-09
CN102292913A (zh) 2011-12-21
US7971115B2 (en) 2011-06-28
CN102292913B (zh) 2016-01-20
JP2012516642A (ja) 2012-07-19
WO2010088016A3 (en) 2011-03-10

Similar Documents

Publication Publication Date Title
KR101263110B1 (ko) 병렬-직렬 회로에서의 오류 검출 및 정정 방법 및 장치
US8350590B1 (en) Method and apparatus for distributing clock signals
JP6250188B2 (ja) Serdes受信機オーバーサンプリングレート
KR102065813B1 (ko) 아날로그 블록 및 아날로그 블록을 테스트하는 테스트 블록
US7576557B1 (en) Method and apparatus for mitigating one or more event upsets
US8415974B1 (en) Methods and circuits enabling dynamic reconfiguration
US20140133246A1 (en) Configurable embedded memory system
CN107077445B (zh) 发送器的通道到通道的偏斜校正
US8786310B1 (en) Partially programming an integrated circuit using control memory cells
US10069497B2 (en) Circuit for and method of implementing a scan chain in programmable resources of an integrated circuit
US10515047B1 (en) Pipelined data channel with ready/valid handshaking
US8874999B1 (en) Pulse width determination for phase detection
US7242217B2 (en) Output reporting techniques for hard intellectual property blocks
US10110234B1 (en) Efficient system debug infrastructure for tiled architecture
US7701247B1 (en) Data buffering with readout latency for single-event upset tolerant operation
US10340898B1 (en) Configurable latch circuit
US9436562B1 (en) Circuit network with an error detection system for mitigation of error propagation
US8265902B1 (en) Circuit for measuring a time interval using a high-speed serial receiver
CN102763334B (zh) 具有镜像互连结构的可编程集成电路
US7428674B1 (en) Monitoring the state vector of a test access port
US7944261B1 (en) Method and apparatus for detecting clock loss
US9882707B1 (en) System and method for characterizing a receiver of a communication signal

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
FPAY Annual fee payment

Payment date: 20160422

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170424

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180424

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190423

Year of fee payment: 7