You are on page 1of 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/351421185

FT-LFSR: A Fault Tolerant Architecture for Linear Feedback Shift Registers

Conference Paper · March 2021


DOI: 10.1109/CSICC52343.2021.9420598

CITATION READS
1 233

2 authors, including:

Mohsen Raji
Shiraz University
73 PUBLICATIONS   274 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Acceleration of fault injection techniques using hardware accelerators View project

Reliable VLSI Circuits and Systems View project

All content following this page was uploaded by Mohsen Raji on 13 August 2021.

The user has requested enhancement of the downloaded file.


FT-LFSR: A Fault Tolerant Architecture for
Linear Feedback Shift Registers
Mohammad Zaree Mohsen Raji
School of Electrical and Computer Engineering School of Electrical and Computer Engineering
Shiraz University Shiraz University
Shiraz, Iran Shiraz, Iran
m.zaree@cse.shirazu.ac.ir mraji@shirazu.ac.ir

Abstract—Linear Feedback Shift Registers (LFSR) are exten- called as Single-Point-of-Failure (SPoF). SPoF is defined as
sively used in variety of applications such as Built-In-Self-Test the design point that will result in the entire system failure if it
circuits or Pseudo Random Number Generators. Hence, fault fails [6]. The majority-voting system in TMR is accounted as
tolerant design of LFSR is essential for the applications with
high reliability demands. Traditional fault tolerant LFSRs include its SPoF. So, the number of SPoF is required to be considered
large number of Single-Point-of-Failures (SPoFs) in which any in TMR-based fault tolerant techniques. Some previous works
fault results in the whole system failure. In this paper, a new have proposed fault tolerant LFSR designs [7], [8] which are
fault tolerant architecture for LFSR (named as FT-LFSR) is based on TMR approach. Although, they have provided fault
proposed in which the number of SPoFs are significantly reduced tolerance against single fault, the number of SPoFs is increased
compared to the previous ones. To this end, a modified version of
Triple Modular Redundancy (TMR) empowered with some extra significantly by triplicating the majority-voting system, leading
controlling units for identifying the operational module is used. to a considerable decrease in the reliability of the design.
In addition, a novel metric called Reliability-Area-Factor (RAF) In this paper, a new fault tolerant LFSR (named as FT-
is introduced to evaluate the efficacy of the redundancy-based LFSR) is proposed in which the number of SPoFs is sig-
fault tolerant techniques (such as FT-LFSR) in terms of number nificantly reduced. To this end, a modified version of TMR
of SPoFs and the area overhead. Experimental results show that,
the FT-LFSR is resilient to all single transient and permanent empowered with some extra controlling units for identifying
faults except in its limited SPoFs and many patterns of multiple the operational module is used. We also introduce a novel
faults. comparison metric called Relaibilty-Area-Factor (RAF) to
Index Terms—LFSR, Fault tolerance, FPGA, TMR, Test, Built compare the TMR-based fault tolerance techniques in which
in self test. the number of SPoFs and area overhead of TMR approach is
taken into consideration. The proposed design is simulated
I. I NTRODUCTION and implemented using Verilog on Xilinx Spartan 6. The
Linear Feedback Shift Register (LFSR) is the main com- fault injection-based experimental results show that, FT-LFSR
ponent of the embedded systems that are based on pseudo- tolerates all single transient and permanent faults (except the
random bit sequences such as pseudo-random number and ones which occur in its limited SPoFs) and many patterns of
pseudo-noise sequence generators, fast digital counters, and multiple faults.
Built-In-Self Tests [1], [2], [3], [4], [5]. In real-time and The rest of the paper is organized as follows: Section
safety-critical embedded applications, incorrect functionality II is about LFSR. Section III explains previous works in
may cause catastrophic effects and thus, the fault-tolerance is which a fault tolerant LFSR is presented. Section IV explains
known as a traditional design requirement. In recent years, the architecture of FT-LFSR. Section V introduces RAF. Section
continuous reduction of the transistor dimensions and supply VI is about RAF analysis of FT-LFSR. Section VII talks about
voltage levels have led to an increase in the vulnerability fault injection in different parts of FT-LFSR. Section VIII
of Integrated Circuits (ICs) against various hardware faults. shows simulation and report analysis with 16, 32 and 64 bit
Therefore, fault tolerant design of LFSR considering hardware LFSR and finally, section IX concludes the paper.
faults is very essential in safety-critical embedded applications.
The key concept of fault tolerance is redundancy; i.e. the II. BACKGROUND
extra capabilities are added to the original design which are LFSR is a state machine composed of a shift register whose
not necessary in fault-free operation. The redundancy can be input bit is a linear function of its previous state. There are two
spatial and/or temporal. Triple Modular Redundancy (TMR) main forms of LFSR; i.e. Galois and Fibonacci configurations.
is a well-known and common fault tolerant technique based In the Fibonacci implementation, the outputs from some of the
on spatial redundancy [9]. In TMR, the design is triplicated to registers are XORed with each other and fed back to the input
perform a process in parallel and their result is processed by of the shift register. In the Galois implementation, the gates
a majority-voting system to produce a single output. Despite are placed between the registers. In Figure 1 the conventional
its efficacy, there is a major vulnerability in TMR technique Fibonacci and Galois LFSR implementations are shown. n
is obtained based on majority voting (which is not shown in
Fig 2) on the outputs of the three voters (voter 1, voter 2, and
voter 3). So, the last majority voter (which includes N one-
bit voters) is the SPoF of this architecture and any fault in
the last voter leads to the system failure. Therefore, although
this architecture tolerates the single faults in the intermediate
points of the circuit, its reliability is threatened by N SPoFs.

Fig. 1. LFSR structure. (a) Fibonacci implementation; (b) Galois implemen-


tation.

denotes the length of the LFSR, i.e., the number of flip-flops,


DF0 , ..., DFn , in the register.
c0 , c1 , ..., cn are the binary coefficients that correspond to
n + 1 feedback terms. The numbering of the feedback for the Fig. 2. P-LFSR structure
Galois implementation is the reverse of that for the Fibonacci
variant. The characteristic polynomial for the LFSR with n
flip-flops has the following form:
IV. FT-LFSR: T HE PROPOSED FAULT TOLERANT
c0 .1 + c1 .x + c2 .x2 + ... + cn−1 .xn−1 + cn .xn (1) A RCHITECTURE FOR LFSR
when ci = 1, It means that a connection exists and the
respective feedback is set. On the contrary when ci = 0 In this section, we describe the fault tolerant architecture
implies that no connection exists and the corresponding XOR proposed for LFSRs called FT-LFSR. The proposed archi-
gate can be replaced by a direct connection from its input to tecture is shown in Fig 3. FT-LFSR has three PEs1 and
its output [8]. Both c0 and cn are always equal to one [13], one voter based on TMR approach with Contorller module
[14]. which reduces the number of SPoFs. This architecture has
The initial value of the LFSR is called the seed. A LFSR two outputs 2 and one input 3 :
with a well-chosen feedback function can produce a sequence 1. out sel.
of parallel words, which appears random in nature but has out sel comes from a module which controlls the FT-
a finite number of possible states with a very long repeating LFSR (e.g. BIST4 ) and determines which PE must be
cycle. The outputs that influence the inputs are named taps. connected to FT LFSR out (selected PE).
The sequences generated by both the Fibonacci and Galois 2. FT LFSR out.
implementations go through all possible 2n − 1 states except FT LFSR out is the N bit output of selected PE which
the forbidden all-zero state, in which case it will never change. is the same as a conventional LFSR's output.
Only characteristic polynomials that are primitive (in the 3. ready.
mathematical sense) cause the LFSR to go through all possible ready shows that FT LFSR out is valid or not. if ready
states and to repeat with a period of 2n − 1. The output of such equals one, it means that FT LFSR out is valid and
a LFSR configuration is called a maximum-length sequence. otherwise it means invalid.
In the sequel, we will focus on Fibonacci LFSRs. Such LFSRs
To demonstrate how this FT-LFSR works from when input
have been proven to be equivalent to Galois LFSR with respect
is given untill two outputs are ready, the following steps are
to the property of generating the same output vectors. [7], [8]
done respectively:
III. R ELATED W ORKS
1 PE corresponds to Processing Element. Each PE is a conventional LFSR.
In [7] and [8], the fault tolerant architecture shown in Fig 2 2 the second and third items
is proposed for LFSRs (which we call it P-LFSR), the TMR 3 clock and reset are also the inputs of FT-LFSR but they are not shown in
technique is used in which the original design is triplicated the figure to not make it messy.
and similar inputs are fed into the modules. The final output 4 Built In Self Test
Fig. 3. The block diagram of the proposed FT-LFSR
Fig. 4. PE Architecture

1. At first, out sel which is a 2-bit input for Controller, is


initialized. Then Controller decides which PE LFSR out 2. PE ready: PE ready shows the correctness of
5
must be connected to FT LFSR out. FT LFSR out by current PE point of view. If
2. Now FT LFSR out is available. This output goes to PEs P E ready = 1 then FT LFSR out will have no
to compare. Controller signals which PE is selected PE problem from current PE point of view and otherwise it
by selectedA, selectedB and selectedC. will have problem.
3. Each PE based on being selected or not determines to 3. Second PE out and Third PE out: Second PE out and
compare its output with whom. Selected PE compares its Third PE out are the two other PE LFSR outs.
output with two other PE's outputs and other PEs com- 4. Selected: Selected comes from Controller and if it is
pare their outputs just with FT LFSR out (selected PE's 1, it means that the current PE is selected PE and
output). After comparison, each PE produces PE ready PE LFSR out connects to FT LFSR out and otherwise
that shows correctness of FT LFSR out based on its it does not connect.
point of view. If no mismatch in total N bits occurs then 5. FT LFSR out: FT LFSR out is the feedback of FT-
P E ready = 1 ,otherwise P E ready = 0. LFSR output.
4. Finally, Voter which is a majority voter, votes between Controller is just a multiplexer and Voter is a combination
PE readys of PE A, PE B and PE C and sets/resets of simple gates [10], [11], [12]. LFSR in FT-LFSR can be of
the ready output. any type of LFSR used in pseudo-random number sequence
Now one period of FT-LFSR is finished. generators.

Each PE is organized as shown in Fig 4. It has two main V. R ELIABILITY-A REA -FACTOR (RAF) M ETRIC
parts: In order to evaluate the efficacy of hardware redundancy-
1. LFSR: LFSR produces N bit pattern called based techniques, we propose a novel metric called Reliabilty-
PE LFSR out. Area-Factor (RAF) which integrates the number of SPoFs and
2. Comparetor: Comparetor determines whether the area overhead of the techniques.
FT LFSR out is correct or not based on its point RAF is computed as:
of view. This operation is done by comparing its LFSR's RAF = S ∗ A (2)
output with other LFSR's outputs in other PEs if the
current PE is selected PE. If the current PE is not where S and A respectively show the ratio of number of SPoFs
selected PE, the LFSR's output is compared just with and the area in the original and fault tolerant architectures.
the LFSR's output of selected PE. Parameter S is calculated as:

PE outputs and inputs are: N SOi
S = ∑i (3)
1. PE LFSR out: PE LFSR out is the N bit pattern which j N SFj
is produced by LFSR.
where N SOi shows the number of logic blocks in ith SPoF
5 PE LFSR out is the N bit output of each PE which is the same as a in the original architecture and N SFj is the number of logic
pettern that a conventional LFSR generates. blocks in j th SPoF in the fault tolerant architecture. Higher
parameter S is proportional to the higher reliability achieved Table I
by the fault tolerant architecture. Parameter A is calculated as: RAF value for different LFSRs

Nb LFSR RAF
A= (4) width FT-LFSR Conventional LFSR P-LFSR
Nf 16 5.33 1 0.33
where Nb and Nf respectively represent the total number of 32 10.66 1 0.33
64 21.33 1 0.33
logic blocks in the original and fault tolerant architectures.
The overhead imposed by the fault tolerant approach leads to
an increase in parameter A.
Therefor, RAF integrates the reliability improvement and the VII. Q UANTITATIVE FAULT A NALYSIS
imposed area overhead achieved by a fault tolerant technique. In this section, it is quantitatively shown that FT-LFSR is
Higher RAF means that the proposed fault tolerant architecture resilient to transient and permanent faults; i.e. the fault will
provides higher reliability in terms of less area overhead. More be either masked (when it occurs in an unselected PE and
precisely, a fault tolerant architecture is better than the original thus, will not destroy the FT LFSR out) or detected (by ready
one in terms of RAF if 1 < RAF < ∞ and it is worse if signal which causes the controller of BIST to change the
0 < RAF < 1. The fault tolerant architecture is as the same sel out). There are some main modules in FT-LFSR which
as original architecture if RAF = 1. should be evaluated in presence of faults as follows:
VI. E VALUATION OF FT-LFSR USING RAF 1. PE
If one fault occurs in one of PEs then the two others
In this section, we evaluate FT-LFSR and P-LFSR using the
will understand the occurence of fault by comparing their
RAF metric. The RAF is computed for FT-LFSR as follows:
∑ PE LFSR out (which is correct value) with the faulty
1. i N SBi = N , because a conventional LFSR has N flip PE LFSR out. If fault occurs in an selected PE it will
∑ that all of them are SPoFs.
flops be detected and if fault occurs in an unselected PE it will
2. j N SFj = V = 1, where V is the number of logic be masked.
blocks in Voter (because we have just one SPoF in 2. Controller
our architecture). As the occupied volume by Voter is If one fault occurs such that sel out changes, fault will be
approximately equivalent to occupied volume by one masked because all PEs are working correctly and if each
register, therefor V = 1. of them connects to sel out the result will be correct. It
3. Nb = N , because the base LFSR has just N FFs. is important to say that PE A is connected to sel out
4. Nf = ((3 ∗ N ) + M ) ≈ 3N , where M is the number of with two values of sel out because we want to ensure
extra logic blocks that is related to Voter, Comparetor and that FT LFSR out connects to one of PE outputs. If one
Controller that is negligible in front of occupied volume fault occurs in SelectedA, SelectedB and SelectedC the
by FFs. fault will be masked because they just determines each
So, RAF for FT-LFSR will be: PE must compare its output with one PE or two PEs
N N 1 N which is not important in this case because all PEs are
RAF = ( ) ∗ ( )=N∗ = (5)
1 3N 3 3 working correctly.
Therefor, FT-LFSR is better than the conventional LFSR if 3. Voter
N > 3. If one fault occurs in Voter such that the output of voter
The RAF analysis of the P-LFSR is as follows: is 1, it will be masked otherwise, it will not be detected.
∑ So Voter is a SPoF.
1. ∑i N SBi = N .
Therefor, FT-LFSR is resilient to all single (transient or
2. j N SFj = N , because this LFSR has N one-bit voters
that each of them are SPoFs. permanent) faults that occurs in any logic except the Voter. It
3. Nb = N . is notable that, FT-LFSR is also resilient to many patterns of
4. Nf = ((3 ∗ N ) + M ) ≈ 3N , where M is the number of multiple faults.
extra logic blocks that is related to voters and comparators VIII. E XPERIMENTAL R ESULTS
that are negligible in comparison to occupied volume by
FFs. This section investigates the efficacy of the proposed fault
tolerant LFSR in various aspects based on the extensive fault
Finally, RAF for the P-LFSR will be:
injection analysis. The proposed method is implemented in
N N 1 1 Verliog language, simulated by ISE tool, and synthesized on
RAF = ( )∗( )=1∗ = (6)
N 3N 3 3 Spartan 6 FPGA. Logic value upset is considered as the fault
In order to compare the RAF value for different widths and model for fault injection. In order to model transient faults,
based on the Equations of 5 and 6, the RAF value of different the logic upset is injected only for one clock cycle and then,
LFSRs are shown in Table I. As it is shown for all widths, becomes corrected in the next cycles while for permanent
FT-LFSR has higher RAF value and that is because of one faults, the logic upset remains in the circuit for more than
SPoF. one clock cycle. Faults have been injected in outputs of main
modules (PE, Controller and voter) and main inputs (sel out)
in two forms wrong zero and wrong one. The used polynomial
generators 6 have been brought in table II.

Table II
Polynomial generator for different LFSR widths

LFSR width Polynomial generator

16 x16 + x14 + x13 + x11 + 1

32 x32 + x22 + x2 + x1 + 1

64 x64 + x63 + 1

A. Single Faults Fig. 5. Multiple fault injections in different LFSRs.


The results of investigating resiliency of different architec-
tures for LFSR against single faults are reported in table III.
as a fair reliability metric in fault tolerant designs especially
The first column shows the widths of LFSRs and the second
when:
one indicates the number of injected faults. The next columns
represent the number of detected or masked faults and fault 1. Fault injection is hard.
coverage for FT-LFSR and the P-LFSR. 2. We want to compare some fault tolerant designs when
fault coverage of them are close together.
Table III D. Design Overheads
Resiliency of different LFSRs to single faults
FT-LFSR adds some extra logic to the original design lead-
LFSR Injected FT-LFSR P-LFSR ing to some area and delay overheads. The required hardware
Detected/ Fault Detected/ Fault for FT-LFSR is more than three times a conventional LFSR.
width faults Masked coverage Masked coverage
16 92 90 0.978 69 0.750 The proposed fault tolerant architecture imposes some delay
32 156 154 0.987 120 0.769 overhead to LFSR circuit. The critical path delay for different
64 284 282 0.993 217 0.764 architectures is shown in table IV based on the synthesis
report.
As shown in table III, the fault coverage of FT-LFSR is
more than P-LFSR because we used a one-bit voter in our Table IV
Clock period of different LFSRs in (ns)
architecture while P-LFSR includes an N one-bit voter (i.e.
N SPoFs). LFSR clock period
width FT-LFSR Conventional LFSR P-LFSR
B. Multiple Faults 16 8.591 1.273 5-10
32 8.941 1.273 5-10
The fault coverage of multiple (transient and permanent) 64 9.468 1.273 5-10
fault injections into FT-LFSR and P-LFSR is shown in Fig 5.
We have injected from 2 to 16 faults randomly in FT-LFSR and
P-LFSR for 1000 rounds for each number of fault injections. On of the important metrics to compare different designs is
Based on the results, as more faults are injected, fault coverage power. We expect that power consumption of FT-LFSR will
decreases in both architectures. Also, it is observed that in the be less than P-LFSR. It is becuase the number of logics in FT-
same width, FT-LFSR has higher fault coverage than the P- LFSR is less that P-LFSR based on different configurations.
LFSR. Additionally, it is notable that more larger LFSR width For a fair comparison all implementations for power are on
leads to more reliability in both. Virtex 4. As it can seen from Table V for 16 and 32 bit widths,
both static and dynamic powers for FT-LFSR are less than P-
C. RAF LFSR.
Higher RAF value of FT-LFSR (it can seen from table I) IX. C ONCLUSION
and higher fault coverage of it (based on table III and Fig 5)
In this paper, a new fault tolerant architecture for LFSRs
shows our claim that we can use RAF in hardware redundancy
called FT-LFSR is proposed which is applicable pseudo-
6 Polynomial generator determines the sequence of generated outputs of random sequence generators such as BIST structures and
LFSR. pseudo random number generators. The main superiority of
Table V
Power consumption of different desings

LFSR width FT-LFSR Conventional LFSR P-LFSR


Static Dynamic Total Static Dynamic Total Static Dynamic Total
16 255.86 6.03 261.89 255.78 4.12 259.90 330.5 110.09 440.59
32 255.88 6.44 262.32 255.86 6.03 261.89 330.5 133.40 463.9

FT-LFSR over its counterparts is its less number of SPoFs.


This leads to high resiliency to single (transient and perma-
nent) faults and many patterns of multiple faults. We also intro-
duce a novel metric called RAF which integrates the reliability
improvement and area overhead of fault tolerant techniques in
digital designs. The fault tolerance of FT-LFSR is investigated
quantitatively and also through some experimental results on
Spartan 6 FPGA. The results show the high fault tolerance
of FT-LFSR against single and multiple faults in expense of
reasonable area and delay overhead.
R EFERENCES
[1] Leonard Colavito and Dennis Silage, Efficient PGA LFSR Implementa-
tion Whitens Pseudorandom Numbers, 2009 International Conference on
Reconfigurable Computing and FPGAs, 2009.
[2] Thomas E. Tkacik, A Hardware Random Number Generator, 2003.
[3] Nagaraj s vannal, saroja v siddamal, shruti v bidaralli, mahalaxmi s bhille,
Design and testing of combinational Logic circuits using built in self Test
scheme for fpgas, 2015 fifth international conference on communication
systems and network technologies, 2015.
[4] Jonathan M. Comer, Juan C. Cerda, Chris D. Martinez, and David H. K.
Hoe, Random Number Generators using Cellular Automata Implemented
on FPGAs, 44th IEEE Southeastern Symposium on System Theory,
University of North Florida, Jacksonville, FL, March 2012.
[5] R. Mita, G. Palumbo, S. Pennisi, M. Poli, A novel pseudo random
bit generator for cryptography applications, Electronics, Circuits and
Systems, 2002. 9th International Conference on, vol. 2, pp. 489 492,
2002.
[6] Patooghy, A. Miremadi, S Ghassem. Javadtalab, A. Fazeli, M. Farazmand,
Navid. (2006). A Solution to Single Point of Failure Using Voter Replica-
tion and Disagreement Detection. Proceedings - 2nd IEEE International
Symposium on Dependable, Autonomic and Secure Computing, DASC
2006. 171-176. 10.1109/DASC.2006.15.
[7] V. Petrovi, Z. Stamenkovi, M. Stojev, T. Nikoli, and G. Jovanovi, ”Fault-
Tolerant Reconfigurable Low-Power Pseudorandom Number Generator,”
IEEE 16th International Symposium on Design and Diagnostics of
Electronic Circuits & Systems (DDECS), Karlovy Vary Czech Republic,
pp. 279-282, April 2013.
[8] S. Nemanja, S. Mile, N. Tatjana, P. Vladimir and J. Goran. ”Reconfig-
urable low power architecture for fault tolerant pseudo-random number
generation,” Journal of Circuits Systems and Computers, vol. 23, no. 1,
pp. 1-21, February 2014.
[9] Cannon, Matthew & Keller, Andrew & Thurlow, Corbin & Perez-Celis,
Andres & Wirthlin, Michael. (2019). Improving the Reliability of TMR
with Non-Triplicated I/O on SRAM FPGAs. IEEE Transactions on
Nuclear Science. PP. 1-1. 10.1109/TNS.2019.2956473.
[10] R. V Kshirsagar and R. M. Patrikar, Design of a novel fault-tolerant
voter circuit for TMR implementation to improve reliability in digital
circuits, Microelectron. Reliab., vol. 49, 2009.
[11] T. Ban and L. A. De Barros Naviner, A simple fault-tolerant digital voter
circuit in TMR nanoarchitectures, NEWCAS, 2010.
[12] P. Balasubramanian, K. Prasad, and N. E. Mastorakis. ”A fault toler-
ance improved majority voter for TMR system architectures.” WSEAS
Transactions on Circuits and Systems, v. 15, n. 14, p. 108-122, 2016.
[13] M. Brazzarola and F. Fummi, Power characterization of LFSRs, Int.
Symp. Defect and Fault Tolerance in VLSI Systems (DFT ’99) (1999),
pp. 139147.
[14] M. Abramovici, A. D. Breuer and A. D. Friedman, Digital System
Testing and Testable Design (Computer Science Press, New York, 1990).

View publication stats

You might also like