インテルのみ表示可能 — GUID: sss1425388206370
Ixiasoft
1.4.2.2. Arria® V、 Stratix® V、および Cyclone® Vデバイスにおけるシングルビット・エラーの注入
シングルビット・エラーを最初のデータフレーム内の7番目のバイトの15番目のビットに注入する場合、注入されるエラーの情報を含むデータをフォールト・インジェクション・レジスターにシフトインする必要があります。
次の図は、フォールト・インジェクション・レジスターにシフトするバイナリー・ビット・シーケンスの00 0100 0000 0110 0000 0000 0000 0000 0100 0000 0000 0000を表しています。フォールト・インジェクション・レジスターのビット45、44、43、42が0001であるため、シングルビット・エラーが注入されます。注入されるエラーのバイト位置は00 0000 0110として定義されているため、シングルビット・エラーはデータフレームの7番目のバイトに注入されます。エラーバイト位置の値は0000 0000 0000 000 0100 0000 0000 0000であり、7番目のバイトデータの15番目のビットが、シングルビット・エラーが注入される特定の位置であることを示しています。
図 12. Arria® V、 Stratix® V、および Cyclone® Vデバイスにおけるシングルビット・エラーの注入次の図は、エラー・インジェクションのメカニズムを示しています。
次の例は、 Arria® V、 Stratix® V、および Cyclone® Vデバイスにおいて最初のデータフレームにシングルビット・エラーを注入する際に、EDERROR_INJECT JTAG命令で実行する必要のある.jamファイルを示しています。
Arria® V、 Stratix® V、および Cyclone® Vデバイスにおいてシングルビット・エラーを注入する.jamファイルの例
ACTION ERROR_INJECT = EXECUTE; DATA DEVICE_DATA; BOOLEAN out[46]; BOOLEAN in[46] = $040600004000; ENDDATA; PROCEDURE EXECUTE USES DEVICE_DATA; BOOLEAN X = 0; DRSTOP IDLE; IRSTOP IDLE; STATE IDLE; IRSCAN 10, $015; WAIT IDLE, 10 CYCLES, 1 USEC, IDLE; DRSCAN 46, in[45..0], CAPTURE out[45..0]; ‘shift out the previous content from fault injection register WAIT IDLE, 10 CYCLES, 1 USEC, IDLE; DRSCAN 46, in[45..0], CAPTURE out[45..0]; ‘shift out current content from fault injection register WAIT IDLE, 10 CYCLES, 50 USEC, IDLE; PRINT " "; PRINT "Data read out from the FIR Register: ", out[45], out[44], out[43], out[42], " ", out[41], out[40], out[39], out[38], out[37], out[36], out[35], out[34], out[33], out[32], " ", out[31], out[30], out[29], out[28], out[27], out[26], out[25], out[24], out[23], out[22], out[21], out[20], out[19], out[18], out[17], out[16], out[15], out[14], out[13], out[12], out[11], out[10], out[9], out[8], out[7], out[6], out[5], out[4], out[3], out[2], out[1], out[0]; PRINT " "; PRINT "Error Type:", out[45], out[44], out[43], out[42]; PRINT " "; PRINT "Byte Location:", out[41], out[40], out[39], out[38], out[37], out[36], out[35], out[34], out[33], out[32]; PRINT " "; PRINT "Error Byte Value:", out[31], out[30], out[29], out[28], out[27], out[26], out[25], out[24], out[23], out[22], out[21], out[20], out[19], out[18], out[17], out[16], out[15], out[14], out[13], out[12], out[11], out[10], out[9], out[8], out[7], out[6], out[5], out[4], out[3], out[2], out[1], out[0]; STATE IDLE; EXIT 0; ENDPROC;