Device Architecture
2-46
Revision 4
Data operations are performed in widths of 1 to 4 bytes. A write to a location in a page that is not already
in the Page Buffer will cause the page to be read from the FB Array and stored in the Page Buffer. The
block that was addressed during the write will be put into the Block Buffer, and the data written by WD will
overwrite the data in the Block Buffer. After the data is written to the Block Buffer, the Block Buffer is then
written to the Page Buffer to keep both buffers in sync. Subsequent writes to the same block will
overwrite the Block Buffer and the Page Buffer. A write to another block in the page will cause the
addressed block to be loaded from the Page Buffer, and the write will be performed as described
previously.
The data width can be selected dynamically via the DATAWIDTH input bus. The truth table for the data
width settings is detailed in
Table 2-21. The minimum resolvable address is one 8-bit byte. For data
widths greater than 8 bits, the corresponding address bits are ignored—when DATAWIDTH = 0 (2 bytes),
ADDR[0] is ignored, and when DATAWIDTH = '10' or '11' (4 bytes), ADDR[1:0] are ignored. Data pins are
LSB-oriented and unused WD data pins must be grounded.
Flash Memory Block Protection
Page Loss Protection
When the PAGELOSSPROTECT pin is set to logic 1, it prevents writes to any page other than the
current page in the Page Buffer until the page is either discarded or programmed.
A write to another page while the current page is Page Loss Protected will return a STATUS of '11'.
Overwrite Protection
Any page that is Overwrite Protected will result in the STATUS being set to '01' when an attempt is made
to either write, program, or erase it. To set the Overwrite Protection state for a page, set the
OVERWRITEPROTECT pin when a Program operation is undertaken. To clear the Overwrite Protect
state for a given page, an Unprotect Page operation must be performed on the page, and then the page
must be programmed with the OVERWRITEPROTECT pin cleared to save the new page.
LOCKREQUEST
The LOCKREQUEST signal is used to give the user interface control over simultaneous access of the FB
from both the User and JTAG interfaces. When LOCKREQUEST is asserted, the JTAG interface will hold
off any access attempts until LOCKREQUEST is deasserted.
Flash Memory Block Operations
FB Operation Priority
The FB provides for priority of operations when multiple actions are requested simultaneously.
Table 2-22 shows the priority order (priority 0 is the highest).
Table 2-21 Data Width Settings
DATAWIDTH[1:0]
Data Width
00
1 byte [7:0]
01
2 byte [15:0]
10, 11
4 bytes [31:0]
Table 2-22 FB Operation Priority
Operation
Priority
System Initialization
0
FB Reset
1
Read
2
Write
3
Erase Page
4
Program
5
Unprotect Page
6
Discard Page
7