The simplest read operation targets a configuration register such as the COR0 or STAT register. Any configuration register with read access can be read through the SelectMAP interface, although not all registers offer read access. The procedure for reading the STAT register through the SelectMAP interface follows:
- Write the bus width detection sequence and synchronization word to the device followed by at least one NOOP.
- Write the read STAT register packet header to the device.
- Write two
NOOPcommands to the device to flush the packet buffer. - Read one word from the SelectMAP interface; this is the Status register value.
- Write the
DESYNCcommand to the device. - Write two dummy words to the device to flush the packet buffer.
See the following table for command sequence.
| Step | SelectMAP Port Direction | Configuration Data | Explanation |
|---|---|---|---|
| 1 | Write |
FFFFFFFF
|
Dummy word |
| 2 | Write |
000000BB
|
Bus width sync word |
| 3 | Write |
11220044
|
Bus width detect |
| 4 | Write |
FFFFFFFF
|
Dummy word |
| 5 | Write |
AA995566
|
Sync word |
| 6 | Write |
20000000
|
NOOP |
| 7 | Write |
2800E001
|
Write Type 1 packet header to read STAT register |
| 8 | Write |
20000000
|
NOOP |
| 9 | Write |
20000000
|
NOOP |
| 10 | Read |
SSSSSSSS
|
Device writes one word from the STAT register to the configuration interface |
| 11 | Write |
30008001
|
Type 1 Write 1 word to CMD |
| 12 | Write |
0000000D
|
DESYNC command |
| 13 | Write |
20000000
|
NOOP |
| 14 | Write |
20000000
|
NOOP |
You must change the SelectMAP interface from write to read control between steps 9 and 10, and back to write control after step 10.
To read registers other than STAT, the address specified in the Type 1 packet header in step 7 of the previous table should be modified and the word count changed if necessary. Reading from the FDRO register is a special case that is described in Configuration Memory Read Procedure (SelectMAP).