The process for reading configuration memory from the FDRO register through the JTAG interface is similar to the process for reading from other registers. However, additional steps are needed to accommodate frame logic. Configuration data coming from the FDRO register pass through the frame buffer, therefore, the first frame of readback data is dummy data and should be discarded (refer to the FDRI and FDRO register description). The JTAG readback flow is recommended for most users.
- Reset the TAP controller.
- Shift the CFG_IN instruction into the
JTAG Instruction register. The LSB of the
CFG_INinstruction is shifted first; the MSB is shifted while moving the TAP controller out of the SHIFT-IR state. - Shift packet write commands
into the CFG_IN register through the Shift-DR state:
- Write a dummy word to the device.
- Write the synchronization word to the device.
- Write at least one
NOOPinstruction to the device. - Write the RCRC command to the device.
- Write two dummy words to flush the packet buffer.
- Shift the
JSHUTDOWNinstruction into the JTAG Instruction register. - Move into the RTI state; remain there for 12
TCKcycles to complete the shutdown sequence. TheDONEpin goes Low during the shutdown sequence. - Shift the
CFG_INinstruction into the JTAG Instruction register. - Move to the Shift-DR state and
shift packet write commands into the CFG_IN register:
- Write a dummy word to the device.
- Write the synchronization word to the device.
- Write at least one
NOOPinstruction to the device. - Write the write CMD register header.
- Write the
RCFGcommand to the device. - Write the write FAR register header.
- Write the starting frame
address to the FAR register (typically
0x0000000). - Write the read FDRO register Type 1 packet header to the device.
- Write a Type 2 packet header to indicate the number of words to read from the device.
- Write two dummy words to
the device to flush the packet buffer.
The MSB of all configuration packets sent through the CFG_IN register must be sent first. The LSB is shifted while moving the TAP controller out of the SHIFT-DR state.
- Shift the
CFG_OUTinstruction into the JTAG Instruction register through the Shift-DR state. The LSB of the CFG_OUT instruction is shifted first; the MSB is shifted while moving the TAP controller out of the SHIFT-IR state. - Shift frame data from the FDRO register through the Shift-DR state.
- Reset the TAP controller.
The following table shows the shutdown readback command sequence.
| Step | Description | Set and Hold | Number of Clocks (TCK) | |
|---|---|---|---|---|
| TDI | TMS | |||
| 1 | Clock five 1 s on TMS to bring the device to the TLR state. |
X
|
1
|
5 |
| Move into the RTI state. |
X
|
0
|
1 | |
| Move into the Select-IR state. |
X
|
1
|
2 | |
| Move into the Shift-IR State. |
X
|
0
|
2 | |
| 2 | Shift the first five bits of the CFG_IN instruction, LSB first. |
00101
|
0
|
5 |
| Shift the MSB of the CFG_IN instruction while exiting Shift-IR. |
0
|
1
|
1 | |
| Move into the SELECT-DR state. |
X
|
1
|
2 | |
| Move into the SHIFT-DR state. |
X
|
0
|
2 | |
| 3 | Shift configuration packets into the CFG_IN data register, MSB first. |
|
0
|
223 |
| Shift the LSB of the last configuration packet while exiting SHIFT-DR. |
0
|
1
|
1 | |
| Move into the SELECT-IR State. |
X
|
1
|
3 | |
| Move into the SHIFT-IR State. |
X
|
0
|
2 | |
| 4 | Shift the first five bits of the JSHUTDOWN instruction, LSB first. |
01101
|
0
|
5 |
| Shift the MSB of the JSHUTDOWN instruction while exiting SHIFT-IR. |
0
|
1
|
1 | |
| 5 | Move into the RTI state; remain there for 12 TCK cycles. |
X
|
0
|
12 |
| Move into the Select-IR state. |
X
|
1
|
2 | |
| Move into the Shift-IR State. |
X
|
0
|
2 | |
| 6 | Shift the first five bits of the CFG_IN instruction, LSB first. |
00101
|
0
|
5 |
| Shift the MSB of the CFG_IN instruction while exiting SHIFT-IR. |
0
|
1
|
1 | |
| Move into the SELECT-DR state. |
X
|
1
|
2 | |
| Move into the SHIFT-DR state. |
X
|
0
|
2 | |
| 7 | Shift configuration packets into the CFG_IN data register, MSB first. |
|
0
|
351 |
| Shift the LSB of the last configuration packet while exiting SHIFT-DR. |
0
|
1
|
1 | |
| Move into the SELECT-IR state. |
X
|
1
|
3 | |
| Move into the SHIFT-IR state. |
X
|
0
|
2 | |
| 8 | Shift the first five bits of the CFG_OUT instruction, LSB first. |
00100 (CFG_OUT) |
0
|
5 |
| Shift the MSB of the CFG_OUT instruction while exiting Shift-IR. |
0
|
1
|
1 | |
| Move into the SELECT-DR state. |
X
|
1
|
2 | |
| Move into the SHIFT-DR state. |
X
|
0
|
2 | |
| 9 | Shift the contents of the FDRO register out of the CFG_OUT data register. |
...
|
0
|
number of readback bits – 1 |
| Shift the last bit of the FDRO register out of the CFG_OUT data register while exiting SHIFT-DR. |
X
|
1
|
1 | |
| Move into the Select-IR state. |
X
|
1
|
3 | |
| Move into the Shift-IR state. |
X
|
0
|
2 | |
| 10 | End by placing the TAP controller in the TLR state. |
X
|
1
|
3 |