English
Language : 

DS617 Datasheet, PDF (71/88 Pages) Xilinx, Inc – MultiBoot Bitstream, Design Revision Storage
R
X-Ref Target - Figure 39
Start
Buffer Program E8h
Command,
Start Address
Read Status
Register
NO
SR7 = 1
YES
Write n(1),
Start Address
Write Buffer Data,
Start Address
X=0
X=n
YES
Platform Flash XL High-Density Configuration and Storage Device
Buffer_Program_command (Start_Address, n, buffer_Program[] )
/* buffer_Program [] is an array structure used to store the address and
data to be programmed to the Flash memory (the address must be within
the segment Start Address and Start Address+n) */
{
do {writeToFlash (Start_Address, 0xE8) ;
status_register=readFlash (Start_Address);
} while (status_register.SR7==0);
writeToFlash (Start_Address, n);
writeToFlash (buffer_Program[0].address, buffer_Program[0].data);
/*buffer_Program[0].address is the start address*/
x = 0;
while (x<n)
Write Next Buffer Data,
Next Program Address(2)
X=X+1
Program
Buffer to Flash
Confirm D0h
{ writeToFlash (buffer_Program[x+1].address, buffer_Program[x+1].data);
x++;
}
writeToFlash (Start_Address, 0xD0);
Read Status
Register
do {status_register=readFlash (Start_Address);
NO
SR7 = 1
} while (status_register.SR7==0);
YES
Full Status
Register Check(3)
End
full_status_register_check();
}
Notes:
1. n + 1 is the number of data being programmed.
2. Next Program data is an element belonging to buffer_Program[].data; Next Program address is an element belonging to
buffer_Program[].address
3. Routine for Error Check by reading SR3, SR4 and SR1.
4. To read the memory in Asynchronous mode, the CR15 Configuration Register bit must be written to 1.
Figure 39: Buffer Program Flowchart and Pseudocode
DS617_33_101608
DS617 (v3.0.1) January 07, 2010
www.xilinx.com
Product Specification
71