AN 737: インテル® Arria® 10デバイスにおけるSEUの検出および回復

ID 683064
日付 4/13/2020
Public
ドキュメント目次

1.2.1.2.3. JTAGインターフェイスを使用したEMRの読み出し

JTAGポートを使用してEMRの内容をアンロードするには、SHIFT_EDERROR_REG JTAG命令を使用します。このJTAG命令は、エラー検出ブロック内で TDI ピンと TDO ピンの間でEMRをJTAGピンに接続します。CRC_ERROR ピンがHighになるたびにこの命令を実行できます。次のCRCエラーの情報でレジスターが上書きされる前に、EMRの内容をアンロードする必要があります。

表 4.  SHIFT_EDERROR_REG JTAG命令
JTAG命令 命令コード 説明
SHIFT_EDERROR_REG 00 0001 0111 JTAG命令は、EMRを TDI ピンと TDO ピンの間のエラー検出ブロックでJTAGピンに接続します。

以下に、SHIFT_EDERROR_REG JTAG命令を実行してEMRの内容をアンロードするために使用される、Jam™ Standard Test and Programming Language (STAPL) Format File (.jam) を示します。

Arria 10デバイスのEMRの内容をアンロードする.jamファイルの例

ACTION UNLOAD_EMR = EXECUTE;
DATA EMR_DATA;
BOOLEAN out[78];
ENDDATA;
PROCEDURE EXECUTE USES EMR_DATA;
DRSTOP IDLE;
IRSTOP IDLE;
STATE IDLE;
IRSCAN 10, $017;
WAIT IDLE, 10 CYCLES, 1 USEC, IDLE;
DRSCAN 78,$0, CAPTURE out[77..0];
WAIT IDLE, 10 CYCLES, 25 USEC, IDLE;
PRINT " ";
PRINT "Data read out from the ";

PRINT "EMR_Register :"	, out[77], out[76], out[75], out[74], out[73], out[72], out[71], out[70], out[69], out[68], out[67], out[66], out[65], out[64], out[63],out[62], " ", out[61], out[60], " ", out[59], out[58], out[57], out[56], out[55], " ", out[54], out[53], out[52], " ", out[51], out[50], out[49], out[48], out[47], out[46], 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 "Frame Address :", out[77], out[76], out[75], out[74], out[73], out[72], out[71], out[70], out[69], out[68], out[67], out[66], out[65], out[64], out[63], out[62];
PRINT "Column-Based Double Word Location :", out[61], out[60];
PRINT "Column-Based Bit :", out[59], out[58], out[57], out[56], out[55];
PRINT "Column-Based Type :", out[54], out[53], out[52];
PRINT "Frame-Based Syndrome :" , out[51], out[50], out[49], out[48], out[47], out[46], 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];
PRINT "Frame-Based Double Word Location :", out[19], out[18], out[17], out[16], out[15], out[14], out[13], out[12], out[11], out[10];
PRINT "Frame-Based Bit :", out[9] , out[8], out[7], out[6], out[5];
PRINT "Frame-Based Type :", out[4], out[3], out[2];
PRINT "Reserved bit :", out[1];
PRINT "Column-based EDCRC Check Bits Update:", out[0];
STATE IDLE;

EXIT 0;
ENDPROC;