Skip to main content
. 2019 Dec 9;19(24):5416. doi: 10.3390/s19245416
Algorithm 1 Fault injection campaign.
  •  1:

    setEndTime = 100 μs

  •  2:

    setTotalRuns = 1000

  •  

     

  •  3:

    functionGoldenRun(arch)

  •  4:

        simulate(arch) until EndTime

  •  5:

        return arch.outputs

  •  6:

    end function

  •  

     

  •  7:

    functionFaultInjection(arch, run)

  •  8:

        for i = 0 to TotalRuns - 1 do

  •  9:

            flipfloprandom(arch.flipflop)

  • 10:

            simulate(arch) until random(EndTime)

  • 11:

            flipflop!flipflop

  • 12:

            simulate(arch) until EndTime

  • 13:

            run(i)arch.outputs

  • 14:

        end for

  • 15:

    end function

  •  

     

  • 16:

    functionErrorPropagation(run)

  • 17:

        for i = 0 to TotalRuns - 1 do

  • 18:

            if run(i)!=GoldenRun(arch) then

  • 19:

               errorerror+1

  • 20:

            end if

  • 21:

        end for

  • 22:

        return error

  • 23:

    end function