I am currently developing a system where a user can configure an Spartan 3 FPGA from a Atmega 128(serial configuration). The system consists of FPGA, SRAM, Atmega128 and Dataflash. The system is connected as follows. Atmega128--->Dataflash, Atmega128--->FPGA, FPGA--->SRAM.
Now I have run into this problem.
As per my board layout the "DIN" signal of the Spartan 3 is connected to the SRAM where the conifiguration data is expected to be kept. The other serial configuration signals (INIT, PROG, CCLK, DONE) are available from the Atmega128.
How would I got about configuring the FPGA. The SRAM is not connected to the Atmega128.
My though process says that I need to have implemented an SRAM interface on the FPGA to access it, but then it is a catch-22 situation, as I need to configure the FPGA first. I do have a JTAG interface available to FPGA (which I implemented if such situations arose). But if I implement an SRAM interface on the FPGA (using JTAG), it will void the whole idea of configuring the FPGA from microcontroller.
Can I configure the FPGA serially using either the D1, D2, D3 or D4 pins (which for some reason I connected to the Atmega 128)?