Installation and set-up
4.4.4 Programming the FPGA from SmartMedia
You can program the RC200 Virtex-II from BIT files loaded onto the SmartMedia device. The BIT files
can be in exactly the same format as if you were programming from the parallel port. There is no need to
change or remove the header.
To program the Virtex-II from page 1 on the SmartMedia Flash, use one of the following:
•
Apply power to the board
•
Press the Reset button on the board
•
Insert the SmartMedia card whilst the board is switched on
4.4.5 Programming from a specific address in the SmartMedia:
1. Set a block address in the CPLD using Address 4 for the lower byte of the address and
Address 3 for the upper byte (only the lower 5 bits of this byte are used).
2. Read from Address 5.
These steps will cause the CPLD to read from the relevant address in the SmartMedia and write the data
to the FPGA. Data is written using following steps:
•
CPLD sets up the FPGA for programming.
•
CPLD reads the ID register of the code to find out if 4-word addresses are required.
•
CPLD reads the page valid byte (512+5) to see if it is valid.
If the page valid byte is invalid it searches though the block checking the page valid byte
until it finds a page that is valid.
The first valid page is skipped (if programming from address zero this is the CIS page).
•
Data is copied to the FPGA until the FPGA is DONE. Bad pages are skipped.
The CPLD automatically adds 16 clock cycles after DONE to complete programming. If the FPGA
signals an error during programming, the FPGA is reset and the CPLD waits until a new SmartMedia is
inserted.
It is assumed that if a single page is invalid then the entire block is invalid, and all the pages within the
block will have the block invalid byte set. The CPLD doesn't check the SmartMedia ECC (Error
Correcting Code) as the FPGA programming datastream has its own CRC (Cyclical Redundancy
Checking) which checks that the data stream is correct.
4.4.6 Reading data from the CPLD to the FPGA
To read data from the RC200/203 CPLD and write it to the FPGA:
1. Set up the address and tristate the data bus.
2. Wait at least 10ns.
3. Set nCS low.
4. Wait at least 10ns.
5. Set nRDWR low.
6. Wait at least 40ns before reading data.
7. Tristate
nRDWR.
8. Set nCS high.
www.celoxica.com
Page 20