
MOTOROLA
Chapter 6. Memory Interface
6-67
6.5.4 ROM/Flash Interface Write Operations
The MPC106 accommodates only single-beat, data path sized (8- or 64-bit), writes to Flash
memory. Software must partition larger data into individual data path sized (8- or 64-bit)
write operations. If an attempt is made to write to Flash with a data size other than the full
data path size, the MPC106 will assert TEA (transfer error acknowledge), provided TEA is
enabled in PICR1.
The MPC106 latches processor writes to system ROM space before initiating the actual
write operation to Flash. This is necessary to avoid contention on the multiplexed
parity/ROM address signals. The 60x initiates the write to system ROM space and drives
parity during the data tenure, the MPC106 latches the data, and then MPC106 drives the
ROM address and data for the write to Flash. System logic (external to the MPC106) is
responsible for multiplexing high voltage to the Flash memory as required for write
operations.
PICR1[FLASH_WR_EN] must be set when performing write operations to Flash memory.
FLASH_WR_EN controls whether write operations to Flash memory are allowed.
FLASH_WR_EN is cleared at reset to disable write operations to Flash memory.
Writing to Flash can be locked out by setting PICR2[FLASH_WR_LOCKOUT]. When
this bit is set, the MPC106 disables writing to Flash memory, even if FLASH_WR_EN is
set. Once set, the FLASH_WR_LOCKOUT parameter can only be cleared by a hard reset.
If the system attempts to write to read-only devices in a bank, then bus contention may
occur. This is because the write data is driven onto the data bus when the read-only device
is also trying to drive its data onto the data bus. This situation can be avoided by disabling
writes to the system ROM space using FLASH_WR_EN or FLASH_WR_LOCKOUT or
by connecting the Flash output enable (FOE) signal to the output enable on the read-only
device.
6.5.4.1 ROM/Flash Interface Write Timing
The parameter MCCR1[ROMNAL] controls the Flash memory write recovery time (that
is, the number of cycles between write pulse assertions). The actual recovery cycle count is
four cycles more than the value specified in ROMNAL. For example, when ROMNAL =
0b0000, the write recovery time is four clock cycles; when ROMNAL = 0b0001, the write
recovery time is five clock cycles; when ROMNAL = 0b0010, the write recovery time is six
clock cycles; and so on. ROMNAL is set to the maximum value at reset. To improve
performance, it is recommended that initialization software program a more appropriate
value for the actual device being used.
Figure 6-41 illustrates the write access timing of the Flash interface.