KR102200665B1 - 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법 - Google Patents
면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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/1032—Simple parity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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/08—Methods 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error 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
본 발명은 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법에 관한 것으로서, LFSR(Linear feedback shift register)의 이전 출력 값을 이용하여 추정 패리티를 예측하고, 예측된 추정 패리티와 현재의 LFSR 출력 값에 대한 실제 패리티를 비교하여 오류를 검출함으로써 작은 하드웨어 오버 헤드(Overhead)를 통해 원치 않는 오류를 검출할 수 있는 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터와 이를 이용한 오류 검출 방법에 관한 것이다.
일반적으로 반도체 크기의 감소는 반도체 공정에서의 결함을 증가시킬 수 있다. 전자 회로가 더욱 소형화되면서 전자기 노이즈, 누화 및 우주 광선과 같은 외부 노이즈로 인한 결함에 취약해진다.
따라서, 시스템 제어의 신뢰성과 가용성을 향상시키기 위해 내결함성 설계가 중요하다. 특히, 자동차 시스템, 국방 감시 및 우주 응용 분야와 같은 중요한 응용 분야의 경우 작은 결함이라도 시스템의 전체 기능을 방해할 수 있기 때문에 내결함성 설계를 사용해야 한다.
또한, 제조 단계에서 결함을 감지하기 어렵기 때문에 내결함성 설계는 설계 단계에서 신중하게 통합되어야 한다.
한편, LFSR(Linear feedback shift register)은 가장 널리 사용되는 순차적 로직 중 하나이며, 이전 상태의 선형 기능을 생성한다. 일반적으로 종래의 LFSR은 도 1a 및 도 1b에서 도시된 바와 같이 시프트 레지스터(Shift register) 및 XOR(Exclusive OR)로 구성된다.
이러한 LFSR은 선형 기능을 사용하기 때문에 다양한 분야에서 널리 사용된다. 예를 들어, LFSR은 오류 정정 코드를 인코딩하기 위해 다항식 나눗셈을 수행하고 암호화 알고리즘 및 테스트 패턴 생성을 위해 의사 랜덤 패턴을 생성하는데 사용될 수 있다.
이때, 종래의 이중화 방법을 LFSR에 적용하면 시간과 하드웨어 측면에서 원래의 LFSR을 복제함으로써 매우 안정적인 설계를 달성할 수 있다. 그러나 복제로 인한 오버 헤드는 불가피하며 발생기 다항식의 길이가 길면 심각한 부담이 되는 문제점이 있다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 종래의 단점을 해결한 것으로서, 작은 하드웨어 오버 헤드를 통해 원치 않는 오류를 감지할 수 있는 내결함성 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을 이용한 오류 검출 방법을 나타내는 순서도이다.
도 2는 종래의 하드웨어 이중화 방법의 LFSR을 나타내는 회로도이다.
도 3은 종래의 시간 이중화 방법의 LFSR을 나타내는 회로도이다.
도 4는 본 발명의 실시 예에 따른 FT-LFSR을 나타내는 블록도이다.
도 5는 본 발명의 실시 예에 따른 FT-LFSR을 나타내는 회로도이다.
도 6은 본 발명의 실시 예에 따른 FT-LFSR을 이용한 오류 검출 방법을 나타내는 순서도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 또는 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1a 및 도 1b는 종래의 LFSR(Linear feedback shift register)을 나타내는 회로도이다. 즉, 도 1b는 발생기 다항식 와 관련된 종래의 LFSR을 나타낸다.
일반적으로 LFSR(Linear feedback shift register)에서 시프트 레지스터(Shift register)의 수는 발생기 다항식 의 길이 N과 동일하며, XOR(Exclusive OR)의 배치는 내의 계수 에 의해 결정된다.
또한, 각 XOR에 대해 하나의 신호는 이전의 시프트 레지스터에서 입력되고, 다른 하나의 신호는 피드백 신호 F[i]에서 입력된다. 이때, 도 1a 및 도 1b와 같이 종래의 LFSR은 아래의 [수학식 1]과 같이 나타낼 수 있다.
[수학식 1]
여기에서, n 및 i는 다항식과 사이클 인덱스를 각각 나타낸다.
상기 [수학식 1]을 토대로 (i+1) 번째 클록 사이클에서 n 번째 시프트 레지스터 은 (n-1)번째 시프트 레지스터 및 i번째 클록 사이클에서 n 번째 피드백 신호 를 추가함으로써 선형적으로 업데이트 된다. 결과적으로, LFSR은 발생기 다항식 및 피드백 신호 에 따라 이전 상태의 선형 기능을 생성할 수 있다.
한편, 결함에 안정적인 내결함성 설계를 달성하기 위해 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)는 MUX가 사용될 수 있다. 즉, 피드백 선택부(600)는 LFSR(100)의 다항식 패리티에 따라 미리 설정되는 오드(odd) 신호 또는 이븐(even) 신호에 의해 선택적으로 피드백 신호 F[i] 또는 0을 출력할 수 있다.
예를 들어, LFSR(100)의 다항식 의 패리티가 홀수인 경우 피드백 선택부(600)는 오드(odd) 신호가 선택되고, 이에 따라 피드백 신호 F[i]가 출력되어 패리티 추정부(300)에 입력될 수 있다.
또한, LFSR(100)의 다항식 의 패리티가 짝수인 경우에는 피드백 선택부(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)로 설정할 수 있다. 이때, 상기 패리티 함수는 아래와 같이 가산성 및 균질성 조건을 만족하기 때문에 선형 특성을 포함하는 것을 알 수 있다.
본 발명의 실시 예에 따른 면적-효율적인 내결함성을 갖는 LFSR(10)은 아래의 [수학식 2]와 같이 상기 [수학식 1]의 우변에 0≤n<N 동안 상기 패리티 함수를 적용하여 i번째 클록 사이클에서 FT-LFSR(10)의 다음(i+1) 패리티를 추정할 수 있다.
[수학식 2]
이때, 상기 [수학식 2]는 FT-LFSR(10)을 구현하는데 직접 사용될 수 있지만 하드웨어의 복잡성을 줄이기 위해 상기 가산성 조건 및 균질성 조건을 이용하여 아래의 [수학식 3]과 같이 나타낼 수 있다.
[수학식 3]
상기 [수학식 3]에서 마지막 항은 단일 변수를 F[i] 또는 0으로 사용하여 구현할 수 있다. 즉, 발생기 다항식 의 패리티가 홀수인 경우 상기 [수학식 3]의 마지막 항은 패리티 함수의 균질성으로 인해 피드백 F[i]가 된다.
그렇지 않은 경우 상기 [수학식 3]의 마지막 항은 피드백 F[i]와 무관하게 0이 된다. 즉, 상기 [수학식 2]에는 2N-1번의 이진 덧셈이 필요하고, 상기 [수학식 3]은 N번의 이진 덧셈에 1번의 덧셈이 선택적으로 필요하다.
이때, 대응되는 시프트 레지스터가 존재하지 않기 때문에 초기 는 0으로 가정한다. 또한, 상기 실제 패리티는 N-1번의 이진 덧셈이 필요한 경우 아래의 [수학식 4]와 같이 0≤n<N에 대해 상기 [수학식 1]의 좌변에 상기 패리티 함수를 적용함으로써 추출할 수 있다.
[수학식 4]
본 발명의 실시 예에 따른 면적-효율적인 내결함성을 갖는 LFSR(10)은 상기 [수학식 3]을 이용하여 추정된 추정 패리티(Pest)와 상기 [수학식 4]를 이용하여 결정된 실제 패리티(Pact)를 비교하여 결함을 감지할 수 있다.
즉, 일반적으로 LFSR(100)은 상태를 선형으로 업데이트하기 때문에 패리티 기능은 LFSR(100)에 매끄럽게 적용할 수 있으며 간단한 비교를 통해 모든 클록 사이클에서 오류를 감지하는 것이 가능하다.
또한, 본 발명의 실시 예에 따른 FT-LFSR(10)은 추정 패리티(Pest) 및 실제 패리티(Pact)와 관련된 작업을 수행하기 위한 회로가 추가될 수 있다. 즉, 본 발명의 실시 예에 따른 FT-LFSR(10)은 i번째 클록 사이클에서 다음(i+1) 클록 사이클에 대한 추정 패리티(Pest)를 추정하여 패리티 저장부(400)에 저장할 수 있다. 패리티 저장부(400)는 레지스터가 사용될 수 있다.
또한, 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]
[표 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]
상기 [표 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 : 피드백 선택부
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)
- 소정수의 비트가 저장되는 적어도 하나의 시프트 레지스터를 포함하고, 선형 피드백을 이용하여 순서화된 상기 비트가 클록의 주기에 따라 시프트 되는 LFSR;
상기 시프트 레지스터에 저장된 각 신호를 이용하여 순차적으로 패리티 비트를 생성하는 패리티 생성부;
상기 LFSR의 출력 이전 상태에서 생성되는 패리티 비트와, 상기 LFSR의 다항식 패리티에 따라 LFSR로부터 출력되는 피드백 신호 또는 0을 이용하여 추정 패리티 비트를 생성하는 패리티 추정부;
상기 패리티 추정부에서 생성되는 추정 패리티 비트를 저장하는 패리티 저장부; 및
상기 LFSR로부터 출력되는 신호를 이용하여 생성되는 실제 패리티 비트와, 상기 추정 패리티 비트를 비교하여 LFSR의 오류를 검출하는 비교부를 포함하고,
상기 추정 패리티 비트는 i번째 클록 사이클에서 (n-1)번째 시프트 레지스터에 대한 패리티 함수와 피드백 신호에 대한 패리티 함수의 합을 이용하여 산출되는 것을 특징으로 하는 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터.
- 제1항에 있어서,
상기 추정 패리티 비트는 아래의 [수학식 1]을 이용하여 산출되는 것을 특징으로 하는 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터.
[수학식 1]
여기에서, N은 LFSR에서 시프트 레지스터(Shift register)의 수이고, n은 다항식의 수이며, i는 클록 사이클 인덱스를 나타낸다. 이때, 이다.
또한, 는 추정 패리티 비트이고, F[i]는 피드백 신호이며, 은 발생기 다항식 내의 계수를 나타낸다. 또한, P()는 패리티 함수를 나타내고, 는 i번째 클록 사이클에서 (n-1)번째 시프트 레지스터를 나타낸다.
- 제2항에 있어서,
상기 LFSR의 다항식 패리티에 따라 LFSR로부터 피드백 되는 피드백 신호 또는 0을 선택적으로 출력하여 상기 패리티 추정부에 전송하는 피드백 선택부를 더 포함하는 면적-효율적인 내결함성을 갖는 선형 피드백 시프트 레지스터.
- 패리티 생성부가 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을 이용한 오류 검출 방법.
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)
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 |
-
2019
- 2019-12-06 KR KR1020190161422A patent/KR102200665B1/ko active IP Right Grant
Patent Citations (4)
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)
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 |