CHOSUN

Online Fault Detection and Reconfiguration of ALU using Scalable Error Detection Coding Scheme

Metadata Downloads
Author(s)
Siddiqui Shaikh Zahid Ali
Issued Date
2013
Abstract
마이크로 전자 회로 및 SRAM 기반의 FPGA 디바이스는 트랜지스터의 크기 감소 및 높은 패키징 밀도로 인한 고장 및 오류에 더 취약해지고 있기 때문에, 오류 검출은 시스템 신뢰성 측면에서 아주 중요한 문제이다.
오류는 크게 소프트 오류와 하드 오류로 분류할 수 있다. 하드 오류는 지속적인 결함으로 발생하나, 소프트 오류는 일시적 또는 간헐적으로 결함이 발생한다. 지금까지 알려진 바에 의하면, 오류의 대부분이 일시적인 오류로 인해 발생된다.
일시적인 오류로 인한 소프트 오류를 검출하는 기술은 일반적으로 프로세서의 성능감소를 가져오거나, 오류 검출에 필요한 추가적인 하드웨어 자원 및 전력소모가 요구되어 이의 적절한 조율과정을 거치게 된다. 이중 모듈 방식은 공통 모드 고장 (CMF)을 포함하여 대부분의 오류에 대응할 수 있지만, 구현상의 변화를 주어야 하고, 하드웨어 자원측면에서 두 배의 오버 헤드 비용이 필요하다. 삼중 모듈 방식(TMR)은 구현상의 변화없이 같은 모듈을 세 번 반복하여 사용할 수는 있으나, 하드웨어 오버헤드 비용이 높고, 각 모듈의 동일한 출력을 비교하기 위해 voting 회로가 필요하다. 추가적인 하드웨어 오버헤드를 피하기위하여, 피연산자를 회전 또는 이동하여 연산을 다시 한 후, 오류를 검출하기도 하는데, 이 경우 연산에 소요되는 시간이 추가되어 이 또한 시스템의 시간적인 오버헤드가 된다. 연산 중 오류검출 (CED) 방법은 산술 코드, 버저 코드, 패리티 코드 등을 사용하여 인코딩을 한 상태에서 연산을 수행한다. CED 기술의 효율적인 구현을 위해, 발생할 가능성이 높은 결함유형을 고려하는 것이 중요하다. VLSI 회로에서 고장은 일반적으로 단일방향 오류인 것으로 알려졌다. 단일방향 오류는 동시에 0에서 1 또는 1에서 0으로 오류가 발생되지 않으며, 오류의 방향이 단일방향인 오류이다. 단일방향 오류 감지 (AUED) 기술은 하드웨어 자원 오버 헤드를 고려할 때, 오류 감지의 효율을 높인다. 본 논문에서는 여러개의 단일방향 오류를 탐지할 수 있는 확장 가능한 오류탐지 코딩 (SEDC)을 활용한다. SEDC 방식은 입력 데이터를 4-비트 이하로 분할하고, 분할 된 데이터를 동시에 인코딩하여 오류탐지코드를 할당한다. 따라서, 기존의 단일방향 오류탐지 방식과 달리, 입력데이터의 크기 ‘n’이 증가하더라도, 오류탐지코드 생성에 소요되는 시간은 증가되지 않으며, 기본 모듈들의 활용이 가능하여 구현의 복잡성도 증가되지 않는다.
본 논문에서는 SEDC 방식을 사용하여, 단일 이벤트 오류발생에 대해 높은 내결함성을 가진 ALU 구조를 제안한다. 기존 관련연구에 비하여 제안된 SEDC 코드 기반 ALU는 하드웨어 오버헤드와 지연시간 측면에서 더 나은 결과를 보인다. SEDC 기반 32비트 ALU의 ASIC 구현은 버저 코드 예측 ALU에 비하여 하드웨어 자원을 34% 절약했다 [5]. SEDC 기반 16비트 ALU의 FPGA 구현은 버저 코드 예측 ALU에 비하여 하드웨어 자원을 39% 감소시켰다. 이와 더불어, SEDC 기반 확장가능한 자가완전검증회로(TSC)가 하드웨어 자원과 지연시간을 고려할 때 매우 효율적임을 보였다. 32비트인 경우, 버저코드 기반 TSC에 비하여 SEDC 기반 TSC을 사용하였을 때, 하드웨어 자원 사용량이 67% 감소하였고, 지연시간은 81% 향상되었음을 보였다. 추가적으로, 하드 오류를 완화하기 위해 FPGA의 재구성 기능을 활용할 수 있음도 보였다.|Microelectronic circuits and SRAM-based FPGA devices are becoming more vulnerable to faults and errors due to shrinking size and higher packaging densities for the transistors. As a result, error detection becomes a vital concern for system reliability.
Errors can be broadly classified as soft and hard errors. Soft errors are caused by transient or intermittent faults, while hard errors are caused by persistent faults. Studies show that the majority of errors are caused by transient faults.
Techniques to detect soft errors caused by transient faults have been developed and tradeoff is usually made between processor performance and the area and power required for error detection. Diverse duplex circuits can cope against most of the errors including common mode failure (CMF) at the cost of twice the area overhead. Triple Modular Redundancy can be used to reduce the complexity of the system by just copying the same circuit three times and using a voting circuit. Time redundant methods like re-computing with rotated operands (RERO) and with shifted operands (RESO) are employed to save area overhead, but they introduce unavoidable delay to the system. Several concurrent error detection (CED) methods involve encoding the functional circuit using some codes, like arithmetic codes, Berger codes and parity codes. For efficient implementation of CED techniques, it is important to consider the relevant types of faults that are supposed to be more probable to occur. The types of faults within a VLSI circuit have been analyzed and found to be unidirectional errors. Unidirectional errors can alter the node logic from zero to one or from one to zero, but not both at the same time. Unidirectional Error Detection (AUED) technique provides good fault coverage with reduced area overhead.
In this thesis, we employ an error detection scheme called Scalable Error Detection Coding (SEDC) which is capable of detecting single as well as multiple unidirectional errors. SEDC scheme partition the data into segments and perform parallel encoding for assigning code words. Consequently, SEDC scheme can be scaled for any binary data length 'n' with constant latency and less complexity as compared to other All Unidirectional Error Detection (AUED) schemes.
Using SEDC scheme, we present a fault tolerant ALU architecture that achieves high fault tolerance against single event upsets. The proposed SEDC encoded ALU performs better in terms of area and delay as compared to the previous implementation. Result shows that ASIC implementation of SEDC based error detecting 32-bit ALU saves 34% area while FPGA implementation of 16-bit SEDC encoded ALU saves 39% area as compared to the Berger Code Prediction ALU [5]. We also present an area and delay efficient, scalable, Totally Self-checking (TSC) checker for SEDC scheme. The proposed 32-bit checker achieves 67% reduction in area and 81% improvement in delay as compared to TSC Berger checker. We also utilize the reconfiguration feature of FPGA to mitigate hard errors.
Alternative Title
확장가능한 에러탐지코딩기법 활용 실시간 오류탐지 및 재구성이 가능한 연산기
Alternative Author(s)
시디키 샤이크 자히드알리
Affiliation
조선대학교 대학원
Department
일반대학원 컴퓨터공학과
Advisor
이정아
Awarded Date
2013-08
Table Of Contents
Table of Contents


Table of Contents v
List of Figures viii
List of Tables ix
List of Acronyms x
초 록 11

I. Introduction 13
A. Research Motivation 13
B. Research Objectives 13
C. Thesis Contributions 14
D. Thesis Organization 15

II. Overview and Related Work 16

III. Scalable Error Detection Coding Scheme 19

A. SEDC2 Code 19
B. SEDC3 Code 20
C. SEDC4 Code 21

IV. Introduction to Overall System 23

A. ALU 23
B. SEDC encoded ALU 24
C. TSC SEDC checker 24

V. Formulation of SEDC encoded ALU 25

A. 2-, 3- and 4-bit SEDC encoded Boolean Operation Unit 25
B. 2-, 3- and 4-bit SEDC encoded Shift/Rotate Unit 26
C. 2-, 3- and 4-bit SEDC encoded Add/Subtract Unit 27
D. 2-, 3- and 4-bit SEDC encoded Compare Unit 29

VI. Scaling SEDC encoded ALU for n-bit Input 30

A. n-bit SEDC encoded Boolean Operation Unit 30
B. n-bit SEDC encoded Shift/Rotate Unit 30
C. n-bit SEDC encoded Add/Subtract Unit 31
D. n-bit SEDC encoded Compare Unit 32

VII. TSC SEDC checker 33

A. Difference between SEDC and Berger code checker 33
B. Logic and circuits for TSC SEDC checkers 34

1. TSC SEDC1 checker 34
2. TSC SEDC2 checker 35
3. TSC SEDC3 checker 35
4. TSC SEDC4 checker 36
5. TSC SEDCn checker 36

VIII. Fault coverage of SEDC encoded ALU 38

A. Fault Model 38

1. Type 1 error 38
2. Type 2 error 38
3. Type 3 error 38
4. Type 4 error 39
5. Type 5 error 40

B. Fault Secureness 40

1. Against Type 1 error 40
2. Against Type 2 error 40
3. Against Type 3 error 40
4. Against Type 4 error 41
5. Against Type 5 error 41

C. Overall Fault Coverage 42

IX. Results of Fault testing on TSC SEDC checker 43

X. Comparison of Area, Delay, Complexity and Power dissipation 45

A. SEDC encoded ALU 45

1. Area Overhead 45
2. Delay 47
3. Complexity in Scaling and Power dissipation 48

B. TSC SEDC checker 48

1. Area Overhead 48
2. Delay 50

XI. Prototyping the SEDC based error detecting and reconfiguring ALU architecture on FPGA 51

A. Overall FPGA based system design 51

1. Altera DE0 FPGA board 52
2. NI Labview Software 53

B. Implementation Results and Area Comparison 54


XII. Conclusion and Future Considerations 56

Bibliography 58

ABSTRACT (English) 61

ACKNOWLEDGMENT 63
Degree
Master
Publisher
조선대학교 대학원
Citation
Siddiqui Shaikh Zahid Ali. (2013). Online Fault Detection and Reconfiguration of ALU using Scalable Error Detection Coding Scheme.
Type
Dissertation
URI
https://oak.chosun.ac.kr/handle/2020.oak/9872
http://chosun.dcollection.net/common/orgView/200000263922
Appears in Collections:
General Graduate School > 3. Theses(Master)
Authorize & License
  • AuthorizeOpen
  • Embargo2013-08-22
Files in This Item:

Items in Repository are protected by copyright, with all rights reserved, unless otherwise indicated.