Chapter 9: Using User Flash Memory in MAX II Devices
9–11
UFM Operating Modes
data and address register should not be modified until the BUSYsignal is de-asserted,
or the flash content will be corrupted. The PROGRAMsignal is ignored if the BUSY
signal is asserted. When the PROGRAMsignal is applied at exactly the same time as the
ERASEsignal, the behavior is undefined and the contents of flash is corrupted.
Figure 9–9 shows the UFM waveforms during program mode.
Figure 9–9. UFM Program Waveforms
9 Address Bits
tACLK
ARShft
ARClk
tAH
tASU
tADH
ARDin
DRShft
DRClk
DRDin
DRDout
tADS
16 Data Bits
tDCLK
tDSH
tDSS
tDDH
tDDS
tOSCH
tOSCS
OSC_ENA
Program
tPB
Erase
Busy
tBP
tPPMX
Erase
The ERASEsignal initiates an erase sequence to erase one sector of the UFM. The data
register is not needed to perform an erase sequence. To indicate the sector of the UFM
to be erased, the MSB of the address register should be loaded with 0 to erase the
UFM sector 0, or 1 to erase the UFM sector 1 (Figure 9–2 on page 9–5). On a rising
edge of the ERASEsignal, the memory sector indicated by the MSB of the address
register will be erased. The BUSYsignal is asserted until the erase sequence is
completed. The address register should not be modified until the BUSYsignal is de-
asserted to prevent the content of the flash from being corrupted. This ERASEsignal
will be ignored when the BUSYsignal is asserted. Figure 9–10 illustrates the UFM
waveforms during erase mode.
1
When the UFM sector is erased, it has 16-bit locations all filled with FFFF. Each UFM
storage bit can be programmed no more than once between erase sequences. You can
write to any word up to two times as long as the second programming attempt at that
location only adds 0s. 1s are mask bits for your input word that cannot overwrite 0s in
the flash array. New 1s in the location can only be achieved by an erase. Therefore, it is
possible for you to perform byte writes since the UFM array is 16 bits for each
location.
© October 2008 Altera Corporation
MAX II Device Handbook