Research Article
Runtime Scheduling, Allocation, and Execution of Real-Time Hardware Tasks onto Xilinx FPGAs Subject to Fault Occurrence
Algorithm 6
EVC heuristic: Compute_TAM().
input: FPGA_state and the state of the tasks | output: TAM | 1 for do | 2 for do | 3 TAM[i][j] ; | // Bottom | 4 if then | 5 if FPGA_state[i][] is Damaged then | 6 TAM[i][j] TAM[i][j] + ; | 7 else if Task @ () is Executing then | 8 TAM[i][j] TAM[i][j] + Remaining of Task @ (); | 9 end if | 10 else | 11 TAM[i][j] TAM[i][j]+; | 12 end if | // Left | 13 if then | 14 if FPGA_state[][] is Damaged then | 15 TAM[i][j] TAM[i][j] + ; | 16 else if Task @ () is Executing then | 17 TAM[i][j] TAM[i][j] + Remaining of Task @ (); | 18 end if | 19 else | 20 TAM[i][j] TAM[i][j] + ; | 21 end if | // Top | 22 if then | 23 if FPGA_state[][] is Damaged then | 24 TAM[i][j] TAM[i][j] + ; | 25 else if Task @ (i, j + 1) is Executing then | 26 TAM[i][j] TAM[i][j] + Remaining of Task @ (); | 27 end if | 28 else | 29 TAM[i][j] TAM[i][j] + ; | 30 end if | // Right | 31 if then | 32 if FPGA_state[][] is Damaged then | 33 TAM[i][j] TAM[i][j] + ; | 34 else if Task @ () is Executing then | 35 TAM[i][j] TAM[i][j] + Remaining of Task @ (); | 36 end if | 37 else | 38 TAM[i][j] TAM[i][j] + ; | 39 end if | 40 end for | 41 end for |
|