KR102200665B1 - 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법 - Google Patents

면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법 Download PDF

Info

Publication number
KR102200665B1
KR102200665B1 KR1020190161422A KR20190161422A KR102200665B1 KR 102200665 B1 KR102200665 B1 KR 102200665B1 KR 1020190161422 A KR1020190161422 A KR 1020190161422A KR 20190161422 A KR20190161422 A KR 20190161422A KR 102200665 B1 KR102200665 B1 KR 102200665B1
Authority
KR
South Korea
Prior art keywords
parity
lfsr
shift register
estimated
parity bit
Prior art date
Application number
KR1020190161422A
Other languages
English (en)
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 충남대학교 산학협력단
Priority to KR1020190161422A priority Critical patent/KR102200665B1/ko
Application granted granted Critical
Publication of KR102200665B1 publication Critical patent/KR102200665B1/ko

Links

Images

Classifications

    • 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
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/08Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 LFSR(Linear feedback shift register)의 이전 출력 값을 이용하여 추정 패리티를 예측하고, 예측된 추정 패리티와 현재의 LFSR 출력 값에 대한 실제 패리티를 비교하여 오류를 검출함으로써 작은 하드웨어 오버 헤드(Overhead)를 통해 원치 않는 오류를 검출할 수 있는 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법에 관한 것이다. 본 발명에 따른 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터는 LFSR과, 패리티 생성부, 패리티 추정부, 패리티 저장부, 비교부 및 피드백 선택부를 포함할 수 있다. 상기 패리티 생성부는 상기 LFSR의 각 시프트 레지스터에 저장된 신호를 이용하여 순차적으로 패리티 비트를 생성한다. 또한, 상기 패리티 추정부는 LFSR의 출력 이전 상태에서 생성되는 패리티 비트와, 상기 LFSR의 다항식 패리티에 따라 LFSR로부터 출력되는 피드백 신호 또는 0을 이용하여 추정 패리티 비트를 생성한다. 상기 패리티 저장부는 패리티 추정부에서 생성되는 추정 패리티 비트를 저장한다. 또한, 상기 비교부는 LFSR로부터 출력되는 신호를 이용하여 생성되는 실제 패리티 비트와, 상기 추정 패리티 비트를 비교하여 LFSR의 오류를 검출한다.

Description

면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법{Area-efficient fault tolerant linear feedback shift register and its error detection method}
본 발명은 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법에 관한 것으로서, LFSR(Linear feedback shift register)의 이전 출력 값을 이용하여 추정 패리티를 예측하고, 예측된 추정 패리티와 현재의 LFSR 출력 값에 대한 실제 패리티를 비교하여 오류를 검출함으로써 작은 하드웨어 오버 헤드(Overhead)를 통해 원치 않는 오류를 검출할 수 있는 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법에 관한 것이다.
일반적으로 반도체 크기의 감소는 반도체 공정에서의 결함을 증가시킬 수 있다. 전자 회로가 더욱 소형화되면서 전자기 노이즈, 누화 및 우주 광선과 같은 외부 노이즈로 인한 결함에 취약해진다.
따라서, 시스템 제어의 신뢰성과 가용성을 향상시키기 위해 내결함성 설계가 중요하다. 특히, 자동차 시스템, 국방 감시 및 우주 응용 분야와 같은 중요한 응용 분야의 경우 작은 결함이라도 시스템의 전체 기능을 방해할 수 있기 때문에 내결함성 설계를 사용해야 한다.
또한, 제조 단계에서 결함을 감지하기 어렵기 때문에 내결함성 설계는 설계 단계에서 신중하게 통합되어야 한다.
한편, LFSR(Linear feedback shift register)은 가장 널리 사용되는 순차적 로직 중 하나이며, 이전 상태의 선형 기능을 생성한다. 일반적으로 종래의 LFSR은 도 1a 및 도 1b에서 도시된 바와 같이 시프트 레지스터(Shift register) 및 XOR(Exclusive OR)로 구성된다.
이러한 LFSR은 선형 기능을 사용하기 때문에 다양한 분야에서 널리 사용된다. 예를 들어, LFSR은 오류 정정 코드를 인코딩하기 위해 다항식 나눗셈을 수행하고 암호화 알고리즘 및 테스트 패턴 생성을 위해 의사 랜덤 패턴을 생성하는데 사용될 수 있다.
이때, 종래의 이중화 방법을 LFSR에 적용하면 시간과 하드웨어 측면에서 원래의 LFSR을 복제함으로써 매우 안정적인 설계를 달성할 수 있다. 그러나 복제로 인한 오버 헤드는 불가피하며 발생기 다항식의 길이가 길면 심각한 부담이 되는 문제점이 있다.
대한민국 등록특허 제10-0410872호(2003년 12월 12일 공고)
따라서, 본 발명이 이루고자 하는 기술적 과제는 종래의 단점을 해결한 것으로서, 작은 하드웨어 오버 헤드를 통해 원치 않는 오류를 감지할 수 있는 내결함성 LFSR(Linear feedback shift register)을 제공하고자 하는데 그 목적이 있다.
이러한 기술적 과제를 이루기 위한 본 발명의 일 측면에 따른 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터는 LFSR과, 패리티 생성부, 패리티 추정부, 패리티 저장부, 비교부 및 피드백 선택부를 포함할 수 있다.
상기 LFSR은 소정수의 비트가 저장되는 적어도 하나의 시프트 레지스터를 포함하고, 선형 피드백을 이용하여 순서화된 상기 비트가 클록의 주기에 따라 시프트된다. 상기 패리티 생성부는 상기 시프트 레지스터에 저장된 각 신호를 이용하여 순차적으로 패리티 비트를 생성한다.
또한, 상기 패리티 추정부는 LFSR의 출력 이전 상태에서 생성되는 패리티 비트와, 상기 LFSR의 다항식 패리티에 따라 LFSR로부터 출력되는 피드백 신호 또는 0을 이용하여 추정 패리티 비트를 생성한다. 상기 패리티 저장부는 패리티 추정부에서 생성되는 추정 패리티 비트를 저장한다.
또한, 상기 비교부는 LFSR로부터 출력되는 신호를 이용하여 생성되는 실제 패리티 비트와, 상기 추정 패리티 비트를 비교하여 LFSR의 오류를 검출한다. 또한, 상기 피드백 선택부는 LFSR의 다항식 패리티에 따라 LFSR로부터 피드백 되는 피드백 신호 또는 0을 선택적으로 출력하여 상기 패리티 추정부에 전송한다.
또한, 본 발명의 다른 측면에 따른 FT-LFSR을 이용한 오류 검출 방법은 패리티 생성부가 LFSR의 각 시프트 레지스터에 저장된 신호를 이용하여 순차적으로 패리티 비트를 생성하는 단계(S10), 패리티 추정부가 상기 LFSR의 출력 이전 상태((N-1)번째 시프트 레지스터의 i번째 클록 사이클)에서 생성되는 패리티 비트와, 상기 LFSR의 다항식 패리티에 따라 LFSR로부터 출력되는 피드백 신호 또는 0을 이용하여 추정 패리티 비트를 생성하는 단계(S20) 및 생성된 상기 추정 패리티 비트를 저장하는 단계를 포함할 수 있다.
또한, 클록의 주기에 따라 (i+1) 번째 클록 사이클에서 상기 LFSR의 각 시프트 레지스터에 저장된 신호가 순차적으로 시프트되는 단계(S40), 상기 LFSR의 출력 상태(N번째 시프트 레지스터의 (i+1)번째 클록 사이클)에서 생성되는 신호를 이용하여 실제 패리티 비트를 생성하는 단계(S50) 및 비교부가 상기 추정 패리티 비트와 실세 패리티 비트를 비교하여 LFSR의 오류를 검출하는 단계(S60)를 포함할 수 있다.
이상에서 설명한 바와 같이, 본 발명에 따른 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터는 작은 하드웨어 오버 헤드를 이루면서 원치 않는 오류를 감지할 수 있는 내결함성 LFSR(Linear feedback shift register)을 제공할 수 있는 효과가 있다.
도 1a 및 도 1b는 종래의 LFSR(Linear feedback shift register)을 나타내는 회로도이다.
도 2는 종래의 하드웨어 이중화 방법의 LFSR을 나타내는 회로도이다.
도 3은 종래의 시간 이중화 방법의 LFSR을 나타내는 회로도이다.
도 4는 본 발명의 실시 예에 따른 FT-LFSR을 나타내는 블록도이다.
도 5는 본 발명의 실시 예에 따른 FT-LFSR을 나타내는 회로도이다.
도 6은 본 발명의 실시 예에 따른 FT-LFSR을 이용한 오류 검출 방법을 나타내는 순서도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 또는 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1a 및 도 1b는 종래의 LFSR(Linear feedback shift register)을 나타내는 회로도이다. 즉, 도 1b는 발생기 다항식
Figure 112019126249918-pat00001
와 관련된 종래의 LFSR을 나타낸다.
일반적으로 LFSR(Linear feedback shift register)에서 시프트 레지스터(Shift register)의 수는 발생기 다항식
Figure 112019126249918-pat00002
의 길이 N과 동일하며, XOR(Exclusive OR)의 배치는
Figure 112019126249918-pat00003
내의 계수
Figure 112019126249918-pat00004
에 의해 결정된다.
또한, 각 XOR에 대해 하나의 신호는 이전의 시프트 레지스터에서 입력되고, 다른 하나의 신호는 피드백 신호 F[i]에서 입력된다. 이때, 도 1a 및 도 1b와 같이 종래의 LFSR은 아래의 [수학식 1]과 같이 나타낼 수 있다.
[수학식 1]
Figure 112019126249918-pat00005
여기에서, n 및 i는 다항식과 사이클 인덱스를 각각 나타낸다.
상기 [수학식 1]을 토대로 (i+1) 번째 클록 사이클에서 n 번째 시프트 레지스터
Figure 112019126249918-pat00006
은 (n-1)번째 시프트 레지스터
Figure 112019126249918-pat00007
및 i번째 클록 사이클에서 n 번째 피드백 신호
Figure 112019126249918-pat00008
를 추가함으로써 선형적으로 업데이트 된다. 결과적으로, LFSR은 발생기 다항식
Figure 112019126249918-pat00009
및 피드백 신호
Figure 112019126249918-pat00010
에 따라 이전 상태의 선형 기능을 생성할 수 있다.
한편, 결함에 안정적인 내결함성 설계를 달성하기 위해 LFSR에 이중화 방법을 적용할 수 있다. 상기 이중화 방법은 간단하고 효율적인 내결함성 설계 기법으로 하드웨어 이중화 방법과 시간 이중화 방법으로 분류할 수 있다.
도 2는 종래의 하드웨어 이중화 방법의 LFSR을 나타내는 회로도이고, 도 3은 종래의 시간 이중화 방법의 LFSR을 나타내는 회로도이다. 도 2 및 도 3에서 검은색으로 표시되는 상단의 회로도는 종래의 LFSR을 나타내고, 파란색으로 표시되는 하단의 회로도는 이중화 방법에 따라 추가되는 하드웨어 오버 헤드를 나타낸다.
도 2와 같이 종래의 하드웨어 이중화 방법은 악의적인 결함으로부터 설계를 보호하기 위해 설계 원본의 사본을 추가하여 구성된다. 즉, 도 2에서 도시된 바와 같이 상기 하드웨어 이중화 방법은 동일한 기능을 병렬로 동작하도록 설계 원본의 LFSR을 복제함으로써 간단히 구현된다.
따라서, 상기 하드웨어 이중화 방법은 종래의 LFSR보다 두 배 이상 많은 하드웨어 리소스가 요구된다.
예를 들어, DMR(Dual modular redundancy)은 설계 원본을 복제하여 두 복사본 중 하나의 오류를 감지하고, TMR(Triple modular redundancy)은 다수의 투표에 따라 설계 원본을 중복하여 잘못된 출력을 수정한다. 이러한 하드웨어 이중화 방법은 전체 시스템 성능에는 미미한 영향을 미치지만 원하는 수준의 설계 안정성을 유지하기 위해 상당한 하드웨어 오버 헤드가 발생한다.
또한, 상기 시간 이중화 방법은 하드웨어 이중화 방법의 하드웨어 대신 시간 측면에서 중복성을 사용하며 동일한 하드웨어 리소스로 동일한 작업이 여러 번 수행된다. 또한, 도 3과 같이 상기 시간 이중화 방법은 다른 시간에 얻은 모든 결과를 비교하여 결함을 감지하거나 수정한다.
즉, 상기 시간 이중화 방법은 도 3에서 도시된 바와 같이 동일한 하드웨어 자원을 직렬로 사용하여 동일한 기능을 직렬로 계산하지만, 다른 시간에 얻어진 출력을 저장하고 비교하기 위해 추가 레지스터가 요구된다.
예를 들어, 도 3에서 첫 번째 계산의 출력은 en_low에 의해 활성화되는 하단의 레지스터(파란색으로 표시)에 저장되고, 두 번째 계산의 출력은 en_up에 의해 활성화되는 상단의 레지스터(검정색으로 표시)에 저장된다.
또한, 상기 DMR과 유사한 시간 이중화 방법의 2회 중복은 두 번의 실행 시간 중 하나에서 장애 감지를 허용하고, 상기 TMR과 유사한 시간 이중화 방법의 3회 중복은 다수 투표에 따라 잘못된 출력을 정정할 수 있다.
따라서, 상기 시간 이중화 방법은 하드웨어 이중화 방법과 달리 하드웨어 오버 헤드가 적지만, 성능의 저하를 초래한다. 즉, 상기 시간 이중화 방법은 설계의 신뢰성을 향상시키지만 종래의 LFSR보다 2배 이상의 긴 대기 시간을 요구한다.
이와 같이, 이중화 방법에서 발생하는 오버 헤드가 종래의 LFSR의 오버 헤드보다 높으며 발생기 다항식 G(x)의 길이 N이 클수록 오버 헤드가 더 심해짐을 알 수 있다.
도 4는 본 발명의 실시 예에 따른 면적-효율적인 내결함성을 갖는 LFSR(FT-LFSR)(10)을 나타내는 블록도이고, 도 5는 본 발명의 실시 예에 따른 면적-효율적인 내결함성을 갖는 LFSR(FT-LFSR)(10)을 나타내는 회로도이다.
도 5에서 상단의 검은색으로 표시되는 LFSR(100)은 종래의 LFSR(Linear feedback shift register) 회로일 수 있다. 또한, 도 5에서 하단의 파란색으로 표시되는 회로는 추가되는 하드웨어 오버 헤드(Overhead)를 나타낸다.
본 발명의 실시 예에 따른 면적-효율적인 내결함성을 갖는 LFSR(이하, FT-LFSR)(10)은 LFSR(100)과, 패리티 생성부(200), 패리티 추정부(300), 패리티 저장부(400), 비교부(500) 및 피드백 선택부(600)를 포함할 수 있다.
LFSR(100)은 소정수의 비트가 저장되는 적어도 하나의 시프트 레지스터를 포함하고, 선형 피드백을 이용하여 순서화된 상기 비트가 클록의 주기에 따라 시프트 되는 선형 피드백 시프트 레지스터(Linear feedback shift register) 회로이다.
여기에서, LFSR(100)은 종래의 LFSR(Linear feedback shift register) 회로일 수 있다. 또한, 패리티 생성부(200)는 LFSR(100)의 각 시프트 레지스터(110, 111, 112, 113)에 저장된 신호를 이용하여 순차적으로 패리티 비트를 생성한다. 이때, 패리티 생성부(200)는 도 5와 같이 XOR(Exclusive OR)를 이용하여 구성될 수 있다.
예를 들어, 도 5에서 제1 패리티 생성기(210)는 제1 시프트 레지스터(110)와 제2 시프트 레지스터(111)에 저장된 신호를 이용하여 패리티 비트를 생성한다. 또한, 제2 패리티 생성기(220)는 제1 패리티 생성기(210)에서 생성된 패리티 비트와 제3 시프트 레지스터(112)에 저장된 신호를 이용하여 패리티 비트를 생성한다.
마찬가지로, LFSR(100)의 출력단에 위치하는 제3 패리티 생성기(230)는 제2 패리티 생성기(220)에서 생성된 패리티 비트와 제4 시프트 레지스터(113)에 저장된 신호를 이용하여 패리티 비트를 생성한다.
또한, 패리티 추정부(300)는 LFSR(100)의 출력 이전 상태에서 생성되는 패리티 비트와 LFSR(100)로부터 출력되는 피드백 신호 F[i] 또는 0을 이용하여 추정 패리티 비트(Pest)를 생성한다. 이때, 패리티 추정부(300)는 도 5와 같이 XOR(Exclusive OR)를 이용하여 구성될 수 있다.
예를 들어, 도 5에서 패리티 추정부(300)는 제2 패리티 생성기(220)에서 생성된 패리티 비트와 피드백 선택부(600)로부터 출력되는 피드백 신호를 이용하여 추정 패리티 비트(Pest)를 생성할 수 있다.
또한, 패리티 저장부(400)는 패리티 추정부(300)에서 생성되는 추정 패리티 비트(Pest)를 저장할 수 있다. 여기에서, 패리티 저장부(400)는 레지스터(Register)가 사용될 수 있다.
또한, 비교부(500)는 LFSR(100)로부터 출력되는 신호를 이용하여 생성되는 실제 패리티 비트(Pact)와, 상기 추정 패리티 비트(Pest)를 비교하여 오류 신호를 생성할 수 있다. 이때, 비교부(500)는 도 5와 같이 XOR(Exclusive OR)를 이용하여 구성될 수 있다.
또한, 피드백 선택부(600)는 피드백 신호 F[i]와 0을 입력받아 발생기 다항식
Figure 112019126249918-pat00011
의 패리티에 따라 선택적으로 피드백 신호 F[i] 또는 0을 출력할 수 있다.
여기에서, 피드백 선택부(600)는 MUX가 사용될 수 있다. 즉, 피드백 선택부(600)는 LFSR(100)의 다항식 패리티에 따라 미리 설정되는 오드(odd) 신호 또는 이븐(even) 신호에 의해 선택적으로 피드백 신호 F[i] 또는 0을 출력할 수 있다.
예를 들어, LFSR(100)의 다항식
Figure 112019126249918-pat00012
의 패리티가 홀수인 경우 피드백 선택부(600)는 오드(odd) 신호가 선택되고, 이에 따라 피드백 신호 F[i]가 출력되어 패리티 추정부(300)에 입력될 수 있다.
또한, LFSR(100)의 다항식
Figure 112019126249918-pat00013
의 패리티가 짝수인 경우에는 피드백 선택부(600)의 이븐(even) 신호가 선택되어 LFSR(100)의 피드백 신호 F[i]와 무관하게 0이 출력되어 패리티 추정부(300)에 입력될 수 있다.
이에 따라 패리티 추정부(300)는 피드백 선택부(600)로부터 출력되는 피드백 신호 F[i] 또는 0과 제2 패리티 생성기(220)에서 생성되는 패리티 비트를 이용하여 추정 패리티 비트(Pest)를 생성할 수 있다.
이를 다시 상세히 설명하면 아래와 같다.
본 발명의 실시 예에 따른 면적-효율적인 내결함성을 갖는 LFSR(10)은 LFSR(Linear feedback shift register)의 선형 연산을 이용하여 다음(i+1) 상태의 패리티(Parity) 신호를 추정할 수 있다.
즉, FT-LFSR(10)의 출력단에 위치하는 패리티 생성기(230)를 이용하여 다음(i+1) 클록 사이클에서 실제 패리티 신호(Pact)가 생성되고, FT-LFSR(10)의 패리티 추정부(300)를 이용하여 이전(i) 사이클에서 추정 패리티 신호(Pest)가 추정될 수 있다. 또한, 비교부(500)에서 상기 추정 패리티 신호(Pest)와 실제 패리티 신호(Pact)를 비교하여 에러 발생을 검출할 수 있다.
여기에서, 추가적인 수식적 설명을 위해 P(S)=0과 P(S)=1을 각각 짝수 및 홀수 패리티를 나타내는 패리티 함수 P(S)로 설정할 수 있다. 이때, 상기 패리티 함수는 아래와 같이 가산성 및 균질성 조건을 만족하기 때문에 선형 특성을 포함하는 것을 알 수 있다.
가산성 조건 :
Figure 112019126249918-pat00014
균질성 조건 :
Figure 112019126249918-pat00015
본 발명의 실시 예에 따른 면적-효율적인 내결함성을 갖는 LFSR(10)은 아래의 [수학식 2]와 같이 상기 [수학식 1]의 우변에 0≤n<N 동안 상기 패리티 함수를 적용하여 i번째 클록 사이클에서 FT-LFSR(10)의 다음(i+1) 패리티를 추정할 수 있다.
[수학식 2]
Figure 112019126249918-pat00016
이때, 상기 [수학식 2]는 FT-LFSR(10)을 구현하는데 직접 사용될 수 있지만 하드웨어의 복잡성을 줄이기 위해 상기 가산성 조건 및 균질성 조건을 이용하여 아래의 [수학식 3]과 같이 나타낼 수 있다.
[수학식 3]
Figure 112019126249918-pat00017
Figure 112019126249918-pat00018
상기 [수학식 3]에서 마지막 항은 단일 변수를 F[i] 또는 0으로 사용하여 구현할 수 있다. 즉, 발생기 다항식
Figure 112019126249918-pat00019
의 패리티가 홀수인 경우 상기 [수학식 3]의 마지막 항은 패리티 함수의 균질성으로 인해 피드백 F[i]가 된다.
그렇지 않은 경우 상기 [수학식 3]의 마지막 항은 피드백 F[i]와 무관하게 0이 된다. 즉, 상기 [수학식 2]에는 2N-1번의 이진 덧셈이 필요하고, 상기 [수학식 3]은 N번의 이진 덧셈에 1번의 덧셈이 선택적으로 필요하다.
이때, 대응되는 시프트 레지스터가 존재하지 않기 때문에 초기
Figure 112019126249918-pat00020
는 0으로 가정한다. 또한, 상기 실제 패리티는 N-1번의 이진 덧셈이 필요한 경우 아래의 [수학식 4]와 같이 0≤n<N에 대해 상기 [수학식 1]의 좌변에 상기 패리티 함수를 적용함으로써 추출할 수 있다.
[수학식 4]
Figure 112019126249918-pat00021
본 발명의 실시 예에 따른 면적-효율적인 내결함성을 갖는 LFSR(10)은 상기 [수학식 3]을 이용하여 추정된 추정 패리티(Pest)와 상기 [수학식 4]를 이용하여 결정된 실제 패리티(Pact)를 비교하여 결함을 감지할 수 있다.
즉, 일반적으로 LFSR(100)은 상태를 선형으로 업데이트하기 때문에 패리티 기능은 LFSR(100)에 매끄럽게 적용할 수 있으며 간단한 비교를 통해 모든 클록 사이클에서 오류를 감지하는 것이 가능하다.
또한, 본 발명의 실시 예에 따른 FT-LFSR(10)은 추정 패리티(Pest) 및 실제 패리티(Pact)와 관련된 작업을 수행하기 위한 회로가 추가될 수 있다. 즉, 본 발명의 실시 예에 따른 FT-LFSR(10)은 i번째 클록 사이클에서 다음(i+1) 클록 사이클에 대한 추정 패리티(Pest)를 추정하여 패리티 저장부(400)에 저장할 수 있다. 패리티 저장부(400)는 레지스터가 사용될 수 있다.
이때, 도 5에 도시된 피드백 선택부(600)는 발생기 다항식
Figure 112019126249918-pat00022
의 패리티를 토대로 피드백(feedback) 또는 노피드백(No feedback)을 선택적으로 추가할 수 있다.
또한, FT-LFSR(10)은 다음의 (i+1) 번째 클록 사이클에서 실제 패리티(Pact)를 계산하고, 계산된 실제 패리티(Pact)와 이전 클록 사이클에서 추정된 추정 패리티(Pest)를 비교하여 오류를 탐지할 수 있다.
이때, 상기 [수학식 3]과 [수학식 4]에 대한 이진 덧셈을 수행하기 위한 XOR(210, 220)은 하드웨어 자원을 절약하기 위해 공유된다. 상기 [수학식 3]은 XOR을 사용하여 다음 상태의 패리티를 추정하기 위해 구현되고, 상기 [수학식 4]는 동일한 XOR의 일부를 사용하여 현재 상태의 패리티를 계산하고 비교하기 위해 구현된다. 따라서, 패리티의 추정 및 비교는 각 클록 사이클에서 동시에 발생할 수 있다.
이와 같이 본 발명의 실시 예에 따른 면적-효율적인 내결함성을 갖는 LFSR(10)은 많은 양의 하드웨어 오버 헤드가 필요한 종래의 이중화 방법과 달리 패리티 검사 기술을 토대로 작은 하드웨어 오버 헤드로 구현될 수 있다.
즉, 본 발명의 실시 예에 따른 면적-효율적인 내결함성을 갖는 LFSR(10)은 종래의 이중화 방법에서 요구되는 N개의 레지스터(Register) 대신 하나의 레지스터만을 추가하여 구현될 수 있다.
또한, 일반적으로 발생기 다항식은 설계 단계 전에 결정되므로 피드백 선택부(600)를 제거하고, FT-LFSR(10)을 구현할 수도 있다.
이와 같이 본 발명의 실시 예에 따른 면적-효율적인 내결함성을 갖는 LFSR(10)은 패리티 검사 기술을 이용하여 종래의 이중화 방법의 한계를 극복하고, 작은 하드웨어 오버 헤드로 오류를 감지할 수 있는 내결함성 LFSR을 제시한다.
아래의 [표 1]은 본 발명의 실시 예에 따른 FT-LFSR(10)과, 종래의 하드웨어 이중화 방법 및 시간 이중화 방법을 적용한 LFSR의 크기를 비교한 결과를 나타낸다.
[표 1]
Figure 112019126249918-pat00023
[표 1]에서 첫 번째 열은 도 1a에서 도시된 종래의 LFSR 크기를 나타내고, 두 번째 열은 도 2에서 도시된 하드웨어 이중화 방법을 적용한 LFSR이며, 세 번째 열은 도 3에서 도시된 시간 이중화 방법을 적용한 LFSR의 크기를 각각 나타낸다. 또한, 마지막 열은 본 발명에 따른 FT-LFSR(10)을 나타낸다.
상기 [표 1]과 같이 종래의 이중화 방법을 적용한 LFSR은 종래의 LFSR보다 높은 하드웨어 오버 헤드를 요구한다. 즉, 도 2의 하드웨어 이중화 방법과 도 3의 시간 이중화 방법을 적용한 LFSR의 하드웨어 복잡도는 발생기 다항식의 길이에 관계없이 종래의 LFSR 크기의 2배에 가깝다.
물론, 시간 이중화 방법을 적용한 LFSR이 하드웨어 이중화 방법의 LFSR보다 복잡도는 덜하지만 시스템 처리량이 50% 저하되어 동일한 작업을 두 번 수행해야 한다.
따라서, 본 발명의 실시 예에 따른 FT-LFSR(10)은 종래의 LFSR보다 약 2배의 복잡도를 갖는 종래의 이중화 방법과 달리 패리티 검사 기능의 선형 특성을 사용하여 하드웨어 리소스를 상당히 줄일 수 있다.
예를 들어, 길이가 32-bit인 경우 FT-LFSR(10)은 종래의 LFSR에 비해 26.1%의 하드웨어가 증가함으로써 종래의 하드웨어 이중화 방법 및 시간 이중화 방법에 비해 리소스의 40.5% 및 34.1%를 절감할 수 있는 효과가 있다.
또한, 아래의 [표 2]는 본 발명의 실시 예에 따른 FT-LFSR(10)과, 종래의 하드웨어 이중화 방법 및 시간 이중화 방법을 적용한 LFSR의 하드웨어 복잡도를 비교한 결과를 나타낸다.
[표 2]
Figure 112019126249918-pat00024
상기 [표 2]에서 N은 발생기 다항식의 길이를 나타내고, G는 가중치를 나타낸다. 상기 [표 2]에서 나타난 바와 같이 FT-LFSR(10)은 종래의 LFSR에 비해 패리티 저장부(400)에서 추가되는 레지스터(Register) 1개와, 패리티 생성부(200)를 구성하는 (N-1)개의 XOR과, 패리티 추정부(300)를 위한 1개의 XOR 및 비교부(500)를 위한 1개의 XOR과, 피드백 선택부(600)를 위한 1개의 MUX가 추가될 수 있다.
즉, FT-LFSR(10)은 발생기 다항식의 크기에 관계없이 가장 작은 하드웨어 오버 헤드를 통해 LFSR의 신뢰성과 가용성을 향상시킬 수 있다.
도 6은 본 발명의 실시 예에 따른 FT-LFSR(10)을 이용한 오류 검출 방법을 나타내는 순서도이다. 본 발명의 실시 예에 따른 FT-LFSR(10)을 이용한 오류 검출 방법은 패리티 생성부(200)가 LFSR(100)의 각 시프트 레지스터에 저장된 신호를 이용하여 순차적으로 패리티 비트를 생성하는 단계(S10), 패리티 추정부(300)가 LFSR(100)의 출력 이전 상태((N-1)번째 시프트 레지스터의 i번째 클록 사이클)에서 생성되는 패리티 비트와, LFSR(100)의 다항식 패리티에 따라 LFSR(100)로부터 출력되는 피드백 신호 또는 0을 이용하여 추정 패리티 비트(Pest)를 생성하는 단계(S20) 및 생성된 추정 패리티 비트(Pest)를 저장하는 단계(S30)를 포함할 수 있다.
또한, 클록의 주기에 따라 (i+1) 번째 클록 사이클에서 LFSR(100)의 각 시프트 레지스터에 저장된 신호가 순차적으로 시프트되는 단계(S40), LFSR(100)의 출력 상태(N번째 시프트 레지스터의 (i+1)번째 클록 사이클)에서 생성되는 신호를 이용하여 실제 패리티 비트(Pact)를 생성하는 단계(S50) 및 비교부(500)가 추정 패리티 비트(Pest)와 실세 패리티 비트(Pact)를 비교하여 LFSR(100)의 오류를 검출하는 단계(S60)를 포함할 수 있다.
이와 같이 본 발명의 실시 예에 따른 FT-LFSR(10)을 이용한 오류 검출 방법은 하드웨어의 증가를 줄이면서 종래의 LFSR(100)에 결함 감지 기능을 제공할 수 있다.
이상으로 본 발명에 관한 바람직한 실시 예를 설명하였으나, 본 발명은 상기 실시 예에 한정되지 아니하며, 본 발명의 실시 예로부터 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의한 용이하게 변경되어 균등하다고 인정되는 범위의 모든 변경을 포함한다.
10 : FT-LFSR 100 : LFSR
110 : 제1 시프트 레지스터 111 : 제2 시프트 레지스터
112 : 제3 시프트 레지스터 113 : 제4 시프트 레지스터
121 : 제1 XOR 122 : 제2 XOR
200 : 패리티 생성부 210 : 제1 패리티 생성기
220 : 제2 패리티 생성기 230 : 제3 패리티 생성기
300 : 패리티 추정부 400 : 패리티 저장부
500 : 비교부 600 : 피드백 선택부

Claims (5)

  1. 소정수의 비트가 저장되는 적어도 하나의 시프트 레지스터를 포함하고, 선형 피드백을 이용하여 순서화된 상기 비트가 클록의 주기에 따라 시프트 되는 LFSR;
    상기 시프트 레지스터에 저장된 각 신호를 이용하여 순차적으로 패리티 비트를 생성하는 패리티 생성부;
    상기 LFSR의 출력 이전 상태에서 생성되는 패리티 비트와, 상기 LFSR의 다항식 패리티에 따라 LFSR로부터 출력되는 피드백 신호 또는 0을 이용하여 추정 패리티 비트를 생성하는 패리티 추정부;
    상기 패리티 추정부에서 생성되는 추정 패리티 비트를 저장하는 패리티 저장부; 및
    상기 LFSR로부터 출력되는 신호를 이용하여 생성되는 실제 패리티 비트와, 상기 추정 패리티 비트를 비교하여 LFSR의 오류를 검출하는 비교부를 포함하고,
    상기 추정 패리티 비트는 i번째 클록 사이클에서 (n-1)번째 시프트 레지스터에 대한 패리티 함수와 피드백 신호에 대한 패리티 함수의 합을 이용하여 산출되는 것을 특징으로 하는 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터.
  2. 제1항에 있어서,
    상기 추정 패리티 비트는 아래의 [수학식 1]을 이용하여 산출되는 것을 특징으로 하는 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터.
    [수학식 1]
    Figure 112020120706844-pat00025

    Figure 112020120706844-pat00026

    여기에서, N은 LFSR에서 시프트 레지스터(Shift register)의 수이고, n은 다항식의 수이며, i는 클록 사이클 인덱스를 나타낸다. 이때,
    Figure 112020120706844-pat00027
    이다.
    또한,
    Figure 112020120706844-pat00039
    는 추정 패리티 비트이고, F[i]는 피드백 신호이며,
    Figure 112020120706844-pat00040
    은 발생기 다항식 내의 계수를 나타낸다. 또한, P()는 패리티 함수를 나타내고,
    Figure 112020120706844-pat00041
    는 i번째 클록 사이클에서 (n-1)번째 시프트 레지스터를 나타낸다.
  3. 제1항에 있어서,
    상기 실제 패리티 비트는 아래의 [수학식 2]를 이용하여 산출되는 것을 특징으로 하는 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터.
    [수학식 2]
    Figure 112020120706844-pat00030

    여기에서,
    Figure 112020120706844-pat00042
    는 실제 패리티 비트를 나타낸다. 또한, P()는 패리티 함수를 나타내고,
    Figure 112020120706844-pat00043
    은 (i+1) 번째 클록 사이클에서 n 번째 시프트 레지스터를 나타낸다.
  4. 제2항에 있어서,
    상기 LFSR의 다항식 패리티에 따라 LFSR로부터 피드백 되는 피드백 신호 또는 0을 선택적으로 출력하여 상기 패리티 추정부에 전송하는 피드백 선택부를 더 포함하는 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터.
  5. 패리티 생성부가 LFSR의 각 시프트 레지스터에 저장된 신호를 이용하여 순차적으로 패리티 비트를 생성하는 단계(S10);
    패리티 추정부가 상기 LFSR의 출력 이전 상태((N-1)번째 시프트 레지스터의 i번째 클록 사이클)에서 생성되는 패리티 비트와, 상기 LFSR의 다항식 패리티에 따라 LFSR로부터 출력되는 피드백 신호 또는 0을 이용하여 추정 패리티 비트를 생성하는 단계(S20);
    상기 추정 패리티 비트를 저장하는 단계(S30);
    클록의 주기에 따라 (i+1) 번째 클록 사이클에서 상기 LFSR의 각 시프트 레지스터에 저장된 신호가 순차적으로 시프트되는 단계(S40);
    상기 LFSR의 출력 상태(N번째 시프트 레지스터의 (i+1)번째 클록 사이클)에서 생성되는 신호를 이용하여 실제 패리티 비트를 생성하는 단계(S50); 및
    비교부가 상기 추정 패리티 비트와 실세 패리티 비트를 비교하여 LFSR의 오류를 검출하는 단계(S60)를 포함하고,
    상기 추정 패리티 비트는 i번째 클록 사이클에서 (n-1)번째 시프트 레지스터에 대한 패리티 함수와 피드백 신호에 대한 패리티 함수의 합을 이용하여 산출되는 것을 특징으로 하는 FT-LFSR을 이용한 오류 검출 방법.


KR1020190161422A 2019-12-06 2019-12-06 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법 KR102200665B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190161422A KR102200665B1 (ko) 2019-12-06 2019-12-06 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190161422A KR102200665B1 (ko) 2019-12-06 2019-12-06 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법

Publications (1)

Publication Number Publication Date
KR102200665B1 true KR102200665B1 (ko) 2021-01-12

Family

ID=74129423

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190161422A KR102200665B1 (ko) 2019-12-06 2019-12-06 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법

Country Status (1)

Country Link
KR (1) KR102200665B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100410872B1 (ko) 2001-03-13 2003-12-12 삼성전자주식회사 선형 피드백 시프트 레지스터를 이용한 빌트-인 셀프테스트 회로 및 그 방법
KR101268998B1 (ko) * 2012-01-19 2013-05-29 조선대학교산학협력단 프로그래머블 시프트/로테이트 연산 유닛을 위한 확장형 오류검출코드 기반의 오류 검출 장치 및 그 오류 검출 장치를 포함하는 자가검사 프로그래머블 시프트/로테이트 연산 유닛
KR20140044107A (ko) * 2012-10-04 2014-04-14 삼성전자주식회사 메모리 시스템에서의 순환 중복 검사 동작 수행 방법 및 이를 이용한 메모리 컨트롤러
US20140281749A1 (en) * 2013-03-14 2014-09-18 Rouh T. Bow Linear feedback shift register with single bit error detection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100410872B1 (ko) 2001-03-13 2003-12-12 삼성전자주식회사 선형 피드백 시프트 레지스터를 이용한 빌트-인 셀프테스트 회로 및 그 방법
KR101268998B1 (ko) * 2012-01-19 2013-05-29 조선대학교산학협력단 프로그래머블 시프트/로테이트 연산 유닛을 위한 확장형 오류검출코드 기반의 오류 검출 장치 및 그 오류 검출 장치를 포함하는 자가검사 프로그래머블 시프트/로테이트 연산 유닛
KR20140044107A (ko) * 2012-10-04 2014-04-14 삼성전자주식회사 메모리 시스템에서의 순환 중복 검사 동작 수행 방법 및 이를 이용한 메모리 컨트롤러
US20140281749A1 (en) * 2013-03-14 2014-09-18 Rouh T. Bow Linear feedback shift register with single bit error detection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문(2019.05.17)* *

Similar Documents

Publication Publication Date Title
US10372531B2 (en) Error-correcting code memory
US5515383A (en) Built-in self-test system and method for self test of an integrated circuit
US8775899B2 (en) Error correction device, error correction method, and processor
KR102009047B1 (ko) 시그너처-기반 중복 비교 시스템 및 방법
EP3428665B1 (en) Fault detection in registers
US7412475B1 (en) Error detecting arithmetic circuits using hexadecimal digital roots
Kundu et al. Embedded totally self-checking checkers: A practical design
US20170294900A1 (en) Method for the automated manufacture of an electronic circuit suitable for detecting or masking faults by temporal redundancy, and associated computer program and electronic circuit
KR102200665B1 (ko) 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법
Shashidhara et al. Reconfigurable fault tolerant processor on a SRAM based FPGA
Nagamani et al. An exact approach for complete test set generation of toffoli-fredkin-peres based reversible circuits
KR20080074448A (ko) 모듈 단위 자가 검출 방식 기반의 캐리 선택 덧셈기의 에러수정 방법 및 그 캐리 선택 덧셈기
US9292378B2 (en) Single event upset protection circuit and method
Almukhaizim et al. Fault tolerant design of combinational and sequential logic based on a parity check code
US8219864B2 (en) Circuit arrangement
JP2003316599A (ja) 集積回路
JP3895118B2 (ja) シングルイベントアップセット補償回路
Alagoz Hierarchical triple-modular redundancy (H-TMR) network for digital systems
BinTalib et al. Hybrid and double modular redundancy (dmr)-based fault-tolerant carry look-ahead adder design
WO2015068207A1 (ja) プログラマブルデバイス
US20030191999A1 (en) Integrated circuit that is robust against circuit errors
Cavelan et al. Detection of silent data corruptions in smoothed particle hydrodynamics simulations
Sogomonyan et al. Concurrently self-testing embedded checkers for ultra-reliable fault-tolerant systems
Wu et al. Idle cycles based concurrent error detection of RC6 encryption,[FPGAs]
Alderighi et al. Novel fault-tolerant adder design for FPGA-based systems

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant