50
Rabbit 4000 Microprocessor User’s Manual
The 16-bit memory device connected to /CS0 or /CS1 may or may not support byte writes,
so there is an option to select between these two cases. Flash devices with a 16-bit bus do
not support byte writes, so any byte writes or unaligned word writes to the 16-bit memory
space will be suppressed (i.e., the /WE will not be asserted) with this option. Any aligned
word writes are recognized internally and are combined into just one write transaction on
the external bus. Internally the two writes still occur. The RAM option for the 16-bit bus
does not inhibit byte writes or unaligned word writes and replicates the byte data on both
halves of the data bus in these cases. In this mode the A0 and /A0 signals must be used by
the memory to enable the individual bytes.
All of the power-saving modes in
Chapter 26 can still be used with the 16-bit mode.
Because it is anticipated that the 16-bit memory may be slower than the normal 8-bit
memories, separate wait-state controls for the 16-bit bus are provided in separate registers
(ACS0CR and ACS1CR).
The second advanced bus mode is the Page Mode. This mode also can be enabled for
either /CS0 or /CS1, and can be used with either 8-bit or 16-bit memories connected to
these chip selects. Page-mode memories provide for a faster access time if the requested
data is in the same page as the previous data. In the Rabbit 4000 (and most memory
devices) a page is 16 bytes. Thus, if an address is identical to the previous address except
in the lower four bits, the access time is assumed to be faster. These wait-state options are
also controlled in the ACS0CR and ACS1CR.
In Page Mode the chip select and /OE remain active from one page access to the next, and
only the four least-significant bits of the address change to request the new data. This
obviously interferes with a number of the power-saving modes and will take precedence
over them for /CS0 or /CS1 accesses, as appropriate. The power-saving modes will still
apply to the other chip select and output enable signals. The logic recognizes which /OE is
being used with each chip select in the Page Mode.
As mentioned previously, the ACS0CR and ACS1CR registers each contain three settings
to control the generation of wait states in the advanced bus modes. These settings are used
in place of the wait-state setting in MBxCR when an advanced bus mode is enabled. When
the 16-bit bus is enabled, from one to seven automatic wait states for memory read bus
cycles can be enabled. This setting is also used for the first access when the Page Mode is
enabled; a second setting selects the number of wait states for all subsequent reads in the
Table 5-3. A0 and /A0 Signals for Various Transaction Types
Transaction Type
A0
/A0
Word Read (prefetch only)
Low
Word Write
Low
Byte Read or Write — Even Address
Low
High
Byte Read or Write — Odd Address
High
Low