Jump to content

What is the best FPGA for my project (beginner)


LaurentD

Recommended Posts

Hi everybody !

With some friends of mine, we are working on a Electromiogram project . We have already write a code on Matlab and soon we would like to write it on a FPGA

We think a 150 MHZ core will be enough. Unfortunately I don't have additionnal information. I've already used an FPGA thanks to the software ISE but have never choose one.

Maybe the project will help you to find out what is the best FPGA we need. Actually, we gonna put about twelve electrodes that we gonna first process with filters (RIF). After this, we gonna find if there is an activity thanks to an amplitude detection. The output signal is a 0 or a 1. WIth 12 electrode there are 2^12 combinaison so we will need th think differently but we already have a solution about this. Anyway, a combinaison will result as a specific move of the arm (yes because we are working on a arm).


I know it is not much but if you could tell us "this one is good enough or this one", it will be very kind ! Moreover, any advise is very welcome "you should think about this parameter or this one before purchasing any FPGA..."

 

Thank you everybody,

Laurent

Link to comment
Share on other sites

@LaurentD,

Sounds like a fun project!

I think you'll find that any of the Artix boards can handle a 150MHz stream, but you may find timing to be tight.  (I've gotten a design of my own up to 200MHz, although I couldn't get all the parts and pieces to that speed.  I got distracted before I manged to finish the task.)

Before going any farther, you should probably count the number of multiplies you will need for your "filters".  If you are running a particular FIR filter, the number of taps to your filter may determine the number of multiplies you need.  (You might manage to squeeze by with half as many, if you are running a linaer phase filter though ...)  We'll call this number N_T (number of taps).

You should also ask yourself how many bits of precision you will be wanting to read from each of your sensors at that 150MHz rate.  This number could easily drive your cost significantly, such as if you wish to run 12 independent 8'bit ADC's each at 150MHz, then you will need a board with 12*8=96 high speed input ports.  This will drive you into the more expensive boards.  While getting a 150MHz signal through a PMod port is possible, you may not find it ideal--that may send you towards the FMC boards.

Now, are you driving that bionic arm with an FPGA output?  You'll need some number of I/O outputs to drive it.  How many outputs from the board will be needed here?  You'll need to pick a board with at least this many outputs as well.

Given those three numbers, you will now want to find a board that has an FPGA with at least as many DSPs as twice the number of taps times the number of inputs, or 24N_T DSP's.  (Why twice?  Because you might decide later that you need more, perhaps for a different purpose, and you don't wish to be limited by your purchase right out of the gate.)  Remember to add some expansion capability.  A lot of projects I have been on have dictated that FPGA's need to be at least 2x as powerful as you initially think you might need.  I'm sure others on this forum can give you examples of where they've needed to purchase new boards in the middle of a project because the initial boards they were working with, that they had sized at the beginning of the project, just weren't powerful enough for what they wanted to do.

Another big question: will you be needing block RAM within that FPGA?  I know one of the designs I worked with was forced to a very high end FPGA because there was no bus fast enough to dump partial results to memory, and then to read them back again mid-design, and yet still meet the timing requirements I had.  Then, if you know how much block RAM you need, consider doubling that amount for the reasons I listed above.

These are just some things to think about,

Dan

Link to comment
Share on other sites

Hi Dan,

First of all, thank you for your answer. I apologize for the time of my answer but Digilent didn't sent me an e mail that someone did answer me.
Your answer is very usefull ans I am trying to figure out some issues with my friends about your questions. Because of the finals exams, we will speak about it in 1 week.
 

If you have times, I will ask another question :)

Anyway, I thank you again for your answer

Merry Christmas,


Laurent

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...