nkinar
Member level 2
I'm starting a new design that requires the quick transfer of a few megabytes of data between a FPGA and a microcontroller.
The FPGA is the Altium Cyclone IV processor (EP4CE15F17I8L), and the microcontroller is the AT91SAM9RL64-CU microcontroller, which is an ARM9 chip with external EBI bus.
Attached to the FPGA is a SDR SDRAM from Micron (MT48LC16M16A2BG-75 IT TR).
I would like to transfer data between the FPGA and the microcontroller using the microcontroller EBI bus.
The idea is to have the FPGA emulate a NOR flash. The microcontroller then reads the FPGA as if it were a NOR flash over the EBI bus. I would write logic code in Verilog (or VHDL) to fetch data from the SDRAM and then transfer the data over the EBI to the microcontroller.
I have two questions:
(1) Is this data transfer scheme reasonable?
(2) Since the microcontroller uses the EBI bus during booting, will the FPGA interfere with the ability for the microcontroller to boot?
Must I tri-state the FPGA bus pins before the FPGA loads its configuration from a serial flash device?
I am afraid that the FPGA will take too long to load its configuration file, thereby interfering with the ability for the microcontroller to boot.
Could anyone comment on these two questions?
The FPGA is the Altium Cyclone IV processor (EP4CE15F17I8L), and the microcontroller is the AT91SAM9RL64-CU microcontroller, which is an ARM9 chip with external EBI bus.
Attached to the FPGA is a SDR SDRAM from Micron (MT48LC16M16A2BG-75 IT TR).
I would like to transfer data between the FPGA and the microcontroller using the microcontroller EBI bus.
The idea is to have the FPGA emulate a NOR flash. The microcontroller then reads the FPGA as if it were a NOR flash over the EBI bus. I would write logic code in Verilog (or VHDL) to fetch data from the SDRAM and then transfer the data over the EBI to the microcontroller.
I have two questions:
(1) Is this data transfer scheme reasonable?
(2) Since the microcontroller uses the EBI bus during booting, will the FPGA interfere with the ability for the microcontroller to boot?
Must I tri-state the FPGA bus pins before the FPGA loads its configuration from a serial flash device?
I am afraid that the FPGA will take too long to load its configuration file, thereby interfering with the ability for the microcontroller to boot.
Could anyone comment on these two questions?