インテルのみ表示可能 — GUID: sss1425386887593
Ixiasoft
1.3.2.2. 外部ホストを使用したEMRのアンロード
JTAGポートなどの外部ホストを使用してEMRの内容をアンロードするには、SHIFT_EDERROR_REG JTAG命令を使用します。このJTAG命令は、TDIピンとTDOピンの間のエラー検出ブロックのJTAGピンにEMRを接続します。CRC_ERRORがHighになればいつでもこの命令を実行することができます。
EMRの内容は、このレジスターが次のCRCエラー情報によって上書きされる前にアンロードする必要があります。
次の例は、EMRの内容をアンロードするSHIFT_EDERROR_REG JTAG命令の実行に使用される.jam™ STAPL (Standard Test and Programming Language) 形式ファイル (Jam) を示しています。
Arria® II、 Stratix® III、および Stratix® IVデバイスにおいてEMRの内容をアンロードする.jamファイルの例
ACTION UNLOAD_EMR = EXECUTE; DATA EMR_DATA; BOOLEAN out[46]; BOOLEAN in[46]=$3FFFFFFFFFFF; ENDDATA; PROCEDURE EXECUTE USES EMR_DATA; DRSTOP IDLE; IRSTOP IDLE; STATE IDLE; IRSCAN 10, $017; WAIT IDLE, 10 CYCLES, 1 USEC, IDLE; DRSCAN 46, in[45..0], CAPTURE out[45..0]; WAIT IDLE, 10 CYCLES, 25 USEC, IDLE; PRINT " "; PRINT "Data read out from the EMR 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 "Syndrome:", 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]; PRINT "Frame Address:", 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]; PRINT "Byte Location:", out[15], out[14], out[13], out[12], out[11], out[10], out[9], out[8], out[7], out[6], out[5]; PRINT "Bit Location:", out[4], out[3], out[2]; PRINT "Error Type:", out[1], out[0]; STATE IDLE; EXIT 0; ENDPROC;
Arria® V、 Cyclone® V、および Stratix® VデバイスにおいてEMRの内容をアンロードする.jamファイルの例
ACTION UNLOAD_EMR = EXECUTE; DATA EMR_DATA; BOOLEAN out[67]; BOOLEAN in[67]=$7FFFFFFFFFFFFFFFF; INTEGER i; ENDDATA; PROCEDURE EXECUTE USES EMR_DATA; DRSTOP IDLE; IRSTOP IDLE; STATE IDLE; IRSCAN 10, $017; WAIT IDLE, 10 CYCLES, 1 USEC, IDLE; DRSCAN 67, in[66..0], CAPTURE out[66..0]; WAIT IDLE, 10 CYCLES, 25 USEC, IDLE; PRINT " "; PRINT "Data read out from the "; PRINT "EMR_Register ::", 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 "Syndrome ::", 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]; PRINT "Frame Address ::", 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]; PRINT "Double Word Location ::", out[18], out[17], out[16], out[15], out[14], out[13], out[12], out[11], out[10], out[9]; PRINT "Byte Offset ::", out[8], out[7]; PRINT "Bit Offset ::", out[6], out[5], out[4]; PRINT "Error Type ::", out[3], out[2], out[1], out[0]; STATE IDLE; EXIT 0; ENDPROC;