Spartan-3E FPGA Family: Functional Description
Because all the interface pins are user I/Os after
Compatible Flash Families
configuration, the FPGA application can continue to use the
interface pins to communicate with the parallel Flash
PROM. Parallel Flash PROMs are available in densities
ranging from 1 Mbit up to 128 Mbits and beyond. However,
a single Spartan-3E FPGA requires less than 6 Mbits for
configuration. If desired, use a larger parallel Flash PROM
to contain additional non-volatile application data, such as
MicroBlaze processor code, or other user data, such as
serial numbers and Ethernet MAC IDs. In such an example,
the FPGA configures from parallel Flash PROM. Then using
FPGA logic after configuration, a MicroBlaze processor
embedded within the FPGA can either execute code directly
from parallel Flash PROM or copy the code to external DDR
SDRAM and execute from DDR SDRAM. Similarly, the
FPGA application can store non-volatile application data
within the parallel Flash PROM.
The Spartan-3E BPI configuration interface operates with a
wide variety of x8 or x8/x16 parallel NOR Flash devices.
Table 61 provides a few Flash memory families that operate
with the Spartan-3E BPI interface. Consult the data sheet
for the desired parallel NOR Flash to determine its suitability
The basic timing requirements and waveforms are provided
in Byte Peripheral Interface (BPI) Configuration Timing
(Module 3).
Table 61: Compatible Parallel NOR Flash Families
Flash Vendor
Numonyx
Flash Memory Family
M29W, J3D StrataFlash
AT29 / AT49
Atmel
Spansion
Macronix
S29
MX29
The FPGA configuration data is stored starting at either at
location 0 or the top of memory (addresses all ones) or at
both locations for MultiBoot mode. Store any additional data
beginning in other available parallel Flash PROM sectors.
Do not mix configuration data and user data in the same
sector.
CCLK Frequency
In BPI mode, the FPGA’s internal oscillator generates the
configuration clock frequency that controls all the interface
timing. The FPGA starts configuration at its lowest
frequency and increases its frequency for the remainder of
the configuration process if so specified in the configuration
bitstream. The maximum frequency is specified using the
ConfigRate bitstream generator option.
Similarly, the parallel Flash PROM interface can be
expanded to additional parallel peripherals.
The address, data, and LDC1 (OE#) and HDC (WE#)
control signals are common to all parallel peripherals.
Connect the chip-select input on each additional peripheral
to one of the FPGA user I/O pins. If HSWAP = 0 during
configuration, the FPGA holds the chip-select line High via
an internal pull-up resistor. If HSWAP = 1, connect the
select line to +3.3V via an external 4.7 kΩ pull-up resistor to
avoid spurious read or write operations. After configuration,
drive the select line Low to select the desired peripheral.
Refer to the individual peripheral data sheet for specific
interface and communication protocol requirements.
Table 62: Maximum ConfigRate Settings for Parallel
Flash PROMs (Commercial Temperature Range)
Maximum ConfigRate
Flash Read Access Time
Setting
250 ns
115 ns
45 ns
3
6
12
Table 62 shows the maximum ConfigRate settings for
various typical PROM read access times over the
Commercial temperature operating range. See Byte
Peripheral Interface (BPI) Configuration Timing (Module 3)
and UG332 for more detailed information. Despite using
slower ConfigRate settings, BPI mode is equally fast as the
other configuration modes. In BPI mode, data is accessed
at the ConfigRate frequency and internally serialized with
an 8X clock frequency.
The FPGA optionally supports a 16-bit peripheral interface
by driving the LDC2 (BYTE#) control pin High after
configuration. See Precautions Using x8/x16 Flash PROMs
for additional information.
The FPGA provides up to 24 address lines during
configuration, addressing up to 128 Mbits (16 Mbytes). If
using a larger parallel PROM, connect the upper address
lines to FPGA user I/O. During configuration, the upper
address lines will be pulled High if HSWAP = 0. Otherwise,
use external pull-up or pull-down resistors on these address
lines to define their values during configuration.
Using the BPI Interface after Configuration
After the FPGA successfully completes configuration, all
pins connected to the parallel Flash PROM are available as
user I/Os.
Precautions Using x8/x16 Flash PROMs
D
Most low- to mid-density PROMs are byte-wide (x8)
If not using the parallel Flash PROM after configuration,
drive LDC0 High to disable the PROM’s chip-select input.
The remainder of the BPI pins then become available to the
FPGA application, including all 24 address lines, the eight
data lines, and the LDC2, LDC1, and HDC control pins.
only. Many higher-density Flash PROMs support both
byte-wide (x8) and halfword-wide (x16) data paths and
include a mode input called BYTE# that switches between
x8 or x16. During configuration, Spartan-3E FPGAs only
DS312 (v4.2) December 14, 2018
www.xilinx.com
Product Specification
89