7I90HD 31
REFERENCE INFORMATION
LBP16
SPACE 3: FPGA FLASH EEPROM CHIP ACCESS
Space 3 allows access to the FPGAs configuration flash memory. All flash memory
access is 32 bit. Flash memory access is different from other memory spaces in that it is
done indirectly via a 32 bit address pointer and 32 bit data port.
Space 3 read with address
NN4ELLHH
Space 3 write with address
NNCELLHHDDDDDDDD
Space 3 read NN0E
Space 3 write NN8E
FLASH MEMORY REGISTERS
Flash memory spaces have only 4 accessible registers:
ADDRESS
DATA
0000
FL_ADDR
32 bit flash address register
0004
FL_DATA
32 bit flash data register
0008
FL_ID
32 bit read only flash ID register
000C
SEC_ERASE
32 bit write only sector erase register
Unlike other memory spaces, flash memory space is accessed indirectly by writing
the address register (FL_ADDR) and then reading or writing the data (FL_DATA). The flash
byte address is automatically incremented by 4 each data access.
Note that reads can read all of flash memory with consecutive read operations but
write operations can only write a flash page worth of data before the page write must be
started. Also unless you are doing partial page writes, page write should always start on a
page boundary.
The page write is started by writing the flash address, reading the flash address,
reading flash data, reading flash ID or issuing a erase sector command. For host
synchronization, a read operation should follow every sector erase or page write.