--- Quote Start ---
In my project I am goin to use four FPGAs. Each FPGA should be connected individually to the controller as per the requirements from the customers.
--- Quote End ---
Its unlikely that the customer feels very strongly about how the connections are implemented. What the customer will really need to specify is whether the four FPGAs are individually re-configurable once the power is on. If all FPGAs power-up, and they are never re-configured, then the inter-connectivity of the FPGAs is of no consequence. As far as their software is concerned it will look like four individual locations in the Blackfin memory map.
--- Quote Start ---
I need to download the code for FPGA from my controller. I thought it would be better to connect it with serial communication(Ease of use). So i used SPI bus to interface it individually.
--- Quote End ---
Download what code? FPGA re-configuration image? NIOS II processor image? Or are you just referring to reading/writing registers inside a programmed FPGA?
You cannot configure an FPGA using an SPI interface. That needs to be done via the FPGA programing pins.
--- Quote Start ---
But My boss feels parallel buses will be much more faster than serial bus. So he wants to test its functionality. The parallel bus supports a maximum frequency data-rate of 75 Mhz. With such high data rate common bus to all FPGAs may cause an issue.
--- Quote End ---
Sure, but its not too hard to put fanout buffers, or a small Cyclone IV FPGA on the board for the purpose of acting as a system controller/bus bridge. If you are designing a board with four large FPGAs, then a $15 Cyclone IV would not add much to the price-tag, but would make life much easier.
--- Quote Start ---
My boss insists to use Enhanced parallel peripheral interface(EPPI) in ADSP BF548. Since i am a designer i want to know the Trade-offs in it and check its feasible usage.
--- Quote End ---
At the moment, you have the design sequence backwards. What you need from the customer is:
1) Do the FPGAs need to be dynamically reconfigured? As a single block (all four at once), or individually?
That defines how you need to implement the configuration logic, and it defines how you need to implement the bus connectivity, eg., you cannot cascade the buses through FPGAs, if one can be reconfigured while the others are supposed to be alive.
2) What is the data bandwidth required between the FPGAs and the processor core? For example, if each FPGA is generating 10MB/s of data that you need to get into the Blackfin for processing, then that helps define which buses you can consider.
See if you can locate that information, or ask the customer to clarify their requirements. Post a response to this thread when you get it. Also post the FPGA part numbers.
Cheers,
Dave