29.01.2015 Views

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

46 Chapter 4<br />

of interest (where the results are stored) in a file res.dat. Then it closes<br />

d3sim.<br />

Finally‚ command (3) is nee<strong>de</strong>d to run the studied application in the simulator.<br />

Since particular bit flips may perturb the execution flow provoking critical<br />

dysfunction grouped un<strong>de</strong>r the “sequence loss” category (infinite loops or execution<br />

of invalid instructions <strong>for</strong> instance) it is mandatory to inclu<strong>de</strong> in the<br />

“.ex” file a command implementing a watch-dog to <strong>de</strong>tect such faults. A<br />

watchdog is implemented by command (0) which indicates that the program<br />

has lost the correct sequencing flow. TOTAL_CYCLES is referring to the total<br />

number of application states machine.<br />

In or<strong>de</strong>r to automate the fault injection process‚ a software test bench<br />

(Figure 4-7) was <strong>de</strong>veloped.<br />

First step of this test bench activates twice a random number generator [12]<br />

to get the two nee<strong>de</strong>d bit-flip parameters: the occurrence instant and the target<br />

bit‚ the latter chosen among all possible targets (memory locations and registers).<br />

With these parameters‚ a command file is written and d3sim simulator<br />

is started. The d3sim will simulate the execution of the studied<br />

application by the DSP32C according to the commands of the generic file.<br />

The last step will check results and compare them with the expected pattern<br />

this to classify the injected faults.<br />

3.1. Main characteristics of the studied programs<br />

The application that we consi<strong>de</strong>red <strong>for</strong> the experimentation was a Constant<br />

Modulus Algorithm (CMA)‚ used in space communications. This application<br />

will be called in the following CMA Original. The set of rules above <strong>de</strong>scribed<br />

were automatically applied on the CMA Original program‚ getting a new<br />

programs called in the following CMA Har<strong>de</strong>ned. Main features of these<br />

programs are summarized in Table 4-1.<br />

The experiment consisted in several fault injection sessions. For each<br />

program were per<strong>for</strong>med single bit flip injections targeting the DSP32C

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!