《基于AVR单片机ATmega103(L)的故障影响和传播分析毕业论文外文翻译.docx》由会员分享,可在线阅读,更多相关《基于AVR单片机ATmega103(L)的故障影响和传播分析毕业论文外文翻译.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、华南理工大学毕业设计(论文)外文资料An Analysis of Fault Effects and Propagations in AVR Microcontroller ATmega103(L) Alireza Rohani,Hamid. R. ZarandiAbstract:This paper presents an analysis of the effects and propagations of transient faults by simulation-based fault injection into the AVR microcontroller. This anal
2、ysis is done by injecting 20000 transient faults into main components of the AVR microcontroller that is described in VHDL language. The sensitivity level of various points of the AVR microcontroller such as ALU, Instruction-Register, Program-Counter, Register-file and Flag Registers against fault m
3、anifestation is considered and evaluated. The behavior of AVR microcontroller against injected faults is reported and shown that about 41.46% of faults are recovered in simulation time, 53.84% of faults are effective faults and reminding 4.70% of faults are latent faults; moreover a comparison of th
4、e behavior of AVR microcontroller in fault injection experiments against some common microprocessors is done. Results of fault analyzing will be used in the future research to propose the fault-tolerant AVR microcontroller.Key words:AVR microcontroller,transient faults,VHDL language,sensitivity leve
5、,fault-tolerant AVR microcontroller1.IntroductionIn recent years, reliability is becoming the major factor in designing microprocessor and microcontroller architectures 1. After critical bugs in Pentium FDIV in 1994 and Sun Microsystems in early 2000 2 designers are concentrated to include fault-tol
6、erant techniques or alternatively they need an estimation of behavior of designed architecture against various faults. First step to design a fault-tolerant architecture is to analyze the effects and propagations of faults in designed architecture. One of the best methods to estimate behavior of arc
7、hitecture against various faults is simulation-based fault injection that described the architecture in one of HDL languages such as VHDL or VERILOG and then injecting faults in desired points and observed important targets. We have used simulation-based fault injection since it has capability of hi
8、gh controllability and high observability compared to other fault injection methods.Simulation-based fault injection is used in several works. In 3, an analysis of the effect of transient faults on Algha 21264 and AMD Athlon by simulation-based fault injection was characterized. An analysis of the e
9、ffects of faults in the cache memories of the SPARC V8 architecture by simulation-based fault injection was reported in 4. The effect of temporary faults located in the pipeline stages and cache memories is studied in 5. In 6 fault injection using heavy ions proved the efficiency of the LEON-FT micr
10、oprocessor. In 7 the behavior of SEUs on the 8051 microcontroller protected by a single error correction code is analyzed. In 8 simulation-based fault injection in a 32-bit processor, namely DP32 and an arithmetic processor called ARP is done and the effect of faults in the various points of these p
11、rocessors is reported. An analysis of the effects and propagation of faults in the 32-bit OpenRisc1200 microprocessor by simulation-based fault injection is done in 9.This paper presents an analyzing of fault effects and propagations in one of AVR microcontroller families, named ATmega103(L). This m
12、icrocontroller is a good candidate for being studied, for several reasons: 1) This microcontroller is high performance and low power RISC architecture and has many useful peripheral features such as Analog- comparator, Watchdog-timer, Universal Asynchronous Receiver/Transmitter (UART) and etc 11, 2)
13、 This microcontroller is the most well-known among industrial applications, 3) It is used in many highcritical applications in recent years, such as modern automotives 12, airplanes 13, air traffic controllers 14, military applications, hospital equipments, nuclear equipments 10, 14 that any bugs ca
14、n effect serious damage on human life, therefore finding out behavior of the AVR microcontroller against various faults and tolerating AVR architecture against faults is necessary .The reminder of this paper is composed of four sections. Section 2 describes an overview of the AVR microcontroller arc
15、hitecture, section 3 presents the characteristics of simulation-based fault injection and fault characteristics. Fault injection results and data analyzing are presented in section 4 and finally section 5 concludes the paper.2.AVR Microcontroller ArchitectureAVR microcontroller is a high-performance
16、 and low power microcontroller which utilized Harvard architecture. AVRs are generally classified into four groups: 1) tinyAVRs, 2) megaAVRs, 3) xmegaAVRS and 4) specific AVRS. megaAVRs have special features not found on other members of the AVR families such as LCD controller, USB controller, CAN 1
17、0, 14, therefore a member of megaAVRs named ATmega103(L) is studied here.ATmega103(L) is a 8-bit RISC architecture that executes powerful instruction set in a single clock cycle and this feature allowing the designer to optimize power consumption versus speed. Rich instruction set with 32 general wo
18、rking registers that are directly connected to the ALU and various addressing modes is a major architectural benefit in the design of ATmega103(L). An overview of the ATmega103(L) architecture is shown in Figure 1. It has 8-bit Data-Buss, 16-bit Address- Buss that feeds through Data-Buss, 16-bit Pro
19、gram Counter (PC), 12-bit Instruction-Register (IR) and many additional features such as 128K bytes of in-system programmable flash, 4K bytes SRAM memory, real time counters, UART and etc.Figure 2 illustrates the core of ATmega103(L) without peripheral features, moreover fault injection points are s
20、hown in that figure. As shown in Figure 2, all points of core in AVR ATmega103(L) are chosen for fault injection and therefore the results can specify exhaustively the behavior of AVR microcontroller in the presence of various transient faults.3.Fault Injection CharacteristicsThree well-known worklo
21、ads are considered in fault injection experiments 4, 5, 8, 9 and 15, the Quick Sort, the Matrix Multiplication and the linked List manager for insert and delete nodes in the linked List. Thanks to these well-know workloads, we can compare the results of fault injection experiments with other related
22、 work. The workloads are coded in C+ and are compiled with CodeVisionAVR C Compiler 16, 17 which can generates machine code for the ATmega103(L) microcontroller.The SINJECT fault injection tool 8 is used for injecting different fault models into the VHDL model of the ATmega103(L) 18, for all of work
23、loads, the same set of fault injection is used.In the experiments, transient faults were injected only in the core of microcontroller. These faults have not been injected in the peripheral devices such as Universal Asynchronous Receiver/Transmitter (UART) and timers since these parts play no role in
24、 executing implicit workloads. The faults were injected in different parts of the core including the ALU, the Control-Unit, the PC register, the Register-file, the IR register and the programmable memory.For having comprehensive fault injection experiments, different fault models are considered for
25、various parts of the ATmega103(L) microcontroller, so gate-replacement model is considered for inside the ALU and stuck-at-fault model considered for inputs and outputs of the ALU unit. The PC, IR and Register-file consisting of registers so bit-flip model are considered for these parts and stuck-at
26、 and bridging model are considered in inputs and outputs wires of these parts. The Control-Unit of this microcontroller is described in behavioral level so it is possible to inject stuck-at-then and stuck-at-else models in this part of core, last part of core for fault injection is programmable memo
27、ry that bit-flip fault model considered for this part. Table 1 presents the characteristics of the injected faults and their locations. In the experiments, a total of 20000 transient faults are injected into mentioned parts of the microcontroller in the ATmega103(L) core. The ATmega103(L) is simulat
28、ed using a 50ns clock period and all of the faults are randomly injected by the average duration 50ns (The fault duration is exponentially distributed). The fault injection time, during workload execution time is randomly distributed with uniform distribution. The experiments have 100 fault injectio
29、n points and 200 faults are injected to each point (totally 20000 experiments).4.Experimental ResultsThis section presents the results of the fault injection experiments. The results partitioned into two subsections, at the first, the effects of injected faults in the critical points of AVR microcon
30、troller like PC, Register-file, IR and etc is studied and propagations of faults is observed. At the second, behavior of AVR microcontroller at the presence of injected faults is presented. In this paper, the failure is wrong result which is stored in proper region, for example the final result matr
31、ix in the Matrix Multiplication workload that must be stored in Register-file or the proper stored numbers in the Quick Sort workload that stored in Register-file. In the Linked List workload, the connectivity of inserted node to adjacent nodes and connectivity of consecutive nodes when a node is de
32、leted means that this workload runs successfully, otherwise a failure is happen in some parts of microcontroller.4.1Fault Effects in Critical PointsIn this section, the propagation of injected faults is monitored and it is determined how percentage of injected faults reaches to critical points of AV
33、R microcontroller.Table 2 illustrates fault latencies and error manifestation in critical points of AVR microcontroller for each workload. This table shows fault propagation in critical points of AVR microcontroller. In each workload first column indicates observation points that are similar in all
34、experiments, two next columns show respectively minimum and maximum times that an error detected in observed points. Useful information can be extracted from column 4 of this table that labeled with mean that shows when an error is observed in observed point averagely in time; if this number is low
35、it means that injected faults rapidly transform to error. Last column of table 2 shows percentage of faults that cause to an error in selected points. In Quick Sort workload, error manifestation is 83% for ALU, 58% for PC, 55% for Register-file and 51% for IR. It means that ALU, PC and Register-file
36、 are most sensitive points for Quick Sort workload; moreover table 2 shows that the mean number is 178.85ns for PC, 307.52ns for Register-file and 211.77ns for ALU, extracted that errors are detected first in PC and then in ALU and Register-file respectively; Error manifestation is 60% and 59% in Ne
37、gative Flag and Sign Flag respectively, thus this flags are most sensitive in Flagregister. This Information means that ALU, PC and Negative flag are most sensitive points in Quick Sort workload. This analyze can be done for Matrix Multiplication and Linked List workloads similarly.Figure 3 helps us
38、 utilize most sensitive points of the AVR microcontroller for fault-tolerant purposes. This table shows error manifestation in all selected points in average of three workloads; this figure shows that ALU, PC and IR have respectively about 73%, 52% and 50% contribution of faults into the error. The
39、mean number is 203.84ns for PC, 212.28ns for IR and 361.50ns for ALU in average of three workloads, thus faults propagated rapidly in PC and IR and much slower in ALU. Figure 3 illustrates that ALU, PC and IR are most sensitive points according to error manifestation in AVR microcontroller and must
40、be targeted for the fault-tolerance purposes in the future researches.4.2AVR Behavior Against of Injected FaultsThis section analyzed results of three workloads to find out the behavior of AVR microcontroller in the presence of fault; this results show that how percentage of faults recover in simula
41、tion time and how percentage of them have no impact on final output (latent faults). All the fault characteristics are the same as section 2 of this paper.Figure 4 shows behavior of AVR microcontroller in the presence of fault for each workload. This figure shows that in average about 6% of injected
42、 faults are recovered in four first clock pulse (period of clock pulse is 50ns) and then fault recovery is stable when time increases. Moreover this figure shows that in average 41% of faults recover in 20 cycles after fault activation, and about 34% of injected faults are recovered in the start of
43、experiments, this means that they might AND with 0 value, or OR with 1 value some moments after fault activation. Simulating goes on for 5000ns and observed that fault recovery is stable on 41%; it means that about 41% of faults recover in AVR microcontroller.Table 3 shows detailed results of fault
44、injection analysis for each workload, this table shows that about 47.82% of faults are recovered in run time for Quick Sort workload, this number is 38.79% and 37.67% for Matrix Multiplication and Linked List workloads respectively. Last row in table 3 shows average of recovery coverage for these wo
45、rkloads that can be considered for general behavior in AVR microcontroller. Not recovered faults partition into two categories, 1) Latent faults that not transform to error in simulation time and 2) Effective faults that cause a failure in system and produce wrong results as final results. Percentag
46、es of Effective faults are 46.78 and 54.91 for Quick Sort and Matrix Multiplication respectively, because of second workload widely uses ALU and this part is very sensitive against faults as presented in previous subsection.Table 3 shows that about 53.84% of faults are effective faults in AVR microc
47、ontroller and therefore it is necessary to propose a fault-tolerant architecture to reduce effective faults in AVR microcontroller.5.ConclusionsIn this work, an analysis of the effects and propagations of various transient faults into the AVR microcontroller was analyzed. The results provided by sim
48、ulation-based fault injection at HDL model that identify all portion of AVR microcontroller. A comparison of various points of the microcontroller including Program-Counter, Instruction-Register, Register-file, ALU and various flags against fault injection was presented. Results showed that ALU, PC
49、and IR are most sensitive points against fault injection; therefore they must be targeted for fault-tolerance purposes. In Flag register Negative-Flag and Sign-Flag are most sensitive flags and must be concentrated in fault-tolerance purposes. Furthermore the behavior of AVR microcontroller against fault injection was analyzed and showed that about 41.46% of faults recovered in simulation time and 53.84% of faults are effective faults that cause