15
AT40K Series Configuration
1009B–FPGA–03/02
Next, if more than one window is to be downloaded, start and end addresses are
loaded, followed by another data block. This process is repeated until all windows are
downloaded.
Finally, the postamble byte is downloaded. If the expected postamble value is not seen
as the last byte of data, an error is reported by driving INIT Low and terminating the con-
figuration download.
Wide Data Configuration
Downloads
For parallel Modes 2 and 6, there is available an option to increase the bandwidth of the
data block portion of the download to 16-bits per clock cycle, reducing download time.
Table 7 shows a sample 16-bit version of the same 8-bit bitstream shown in Table 6.
Note:
1. x is a don’t care
Only the data block portion of the download has increased bandwidth. The upper 8-bits
of all other non-data words can be treated as don’t cares. To turn on the wide interface,
a bit is set in the control register. Once set, the configuration claims the upper 8
dual-use I/O data pins (D
8
:D
15
). This implies that at the start of a parallel download in
which the user wants wide data bandwidth and D
8
:D
15
as user output ports, the configu-
ration interface pins D
8
:D
15
will not be tri-stated until the appropriate byte of the control
register is written. At the start of any subsequent re-configuration, pins D
8
:D
15
will be
claimed immediately upon CON going Low. Atmel recommends not moving between 8-
and 16-bit data bandwidths.
Table 7.
Sample 16-bit wide bitstream
msb
lsb
xxxxxxxx00000000
null
xxxxxxxx10110111
preamble
xxxxxxxx00000000
control register byte 0
xxxxxxxx00000000
control register byte 1
xxxxxxxx00000000
control register byte 2
xxxxxxxx10000000
control register byte 3
xxxxxxxx00000000
number of windows, msb
xxxxxxxx00000001
number of windows, lsb
xxxxxxxx00000000
start address 0
xxxxxxxx00000000
start address 1
xxxxxxxx00000000
start address 2
xxxxxxxx00000000
end address 0
xxxxxxxx00000000
end address 1
xxxxxxxx00000011
end address 2
1110000111110000
data: byte1, byte0
1100001111010010
data: byte1, byte0
xxxxxxxx11100111
postamble