EmbDev.net

Forum: FPGA, VHDL & Verilog Need help to choose FPGA


Author: MAINUL ALAM (Company: Master student) (mainul)
Posted on:

Rate this post
0 useful
not useful
Hi,

I want to buy a FPGA evaluation kit for my project. I have to do an 
image processing task with it.
More specifically, The FPGA will take input from a 5 Mpix camera and it 
will discard the unnecessary data from the image and store the necessary 
data. Algorithm for choosing necessary/unnecessary data also should be 
develop able in the FPGA.

Can Any body please help me which one should i choose for this task ...?

If possible please let me know the reason behind your suggestions also..

Author: Lothar Miller (lkmiller) (Moderator)
Posted on:

Rate this post
0 useful
not useful
How do you define "necessary" and "unnecessary"?


Usually the easier way for image manipulation is to develop an algorithm 
on a PC. And when the algorithm works you transfer it to a FPGA to speed 
it up. Do you have that algorithm already? Because without knowledge 
about that particular algorithm you must use the biggest FPGA...

Author: MAINUL ALAM (Company: Master student) (mainul)
Posted on:

Rate this post
0 useful
not useful
Sorry, we didnt develop the algorithm yet ... bur first of all we have 
to choose a FPGA for the task ... can you please help us regarding that 
..?

Author: nerved (Guest)
Posted on:

Rate this post
0 useful
not useful
MAINUL ALAM wrote:
> More specifically, The FPGA will take input from a 5 Mpix camera and it
> will discard the unnecessary data from the image and store the necessary
> data. Algorithm for choosing necessary/unnecessary data also should be
> develop able in the FPGA.

Please consider the daterate of the cam, not the resolution.

First take a look on the datasheet of the cam, resoltion is 5meg so far, 
but whar about the framerate and the colourdeepth? What kind of 
interface will you need for the cam?

Search for some papers to calculate the memorybandwidth for 
video-applications on FPGA-Systems (think about how many cycles you need 
for your algorithm).

If you cants do this yet, it is not guaranteed, that your developmentkit 
ist capable to do your application, but i think an cheap videokit will 
do it, like this:

http://www.terasic.com.tw/cgi-bin/page/archive.pl?...

Author: Lothar Miller (lkmiller) (Moderator)
Posted on:

Rate this post
0 useful
not useful
MAINUL ALAM wrote:
> Sorry, we didnt develop the algorithm yet ... bur first of all we have
> to choose a FPGA for the task ... can you please help us regarding that
> ..?
You put the cart before the horse! When you don't know how your 
algorithm looks like you cannot select a FPGA.
Or lets say it otherwise: choose the biggest FPGA you can get. Then 
start development of your algorithm. And if it fits in the big FPGA (for 
which to buy you don't have the money) then it may fit in a smaller FPGA 
also.

Where do the pictures come from? How fast do they come?

Author: nerved (Guest)
Posted on:

Rate this post
0 useful
not useful
Lothar Miller wrote:
> And if it fits in the big FPGA (for
> which to buy you don't have the money) then it may fit in a smaller FPGA
> also.

He is a student, wich means money matters and a 5k$+ board is way to 
much.

Author: Lothar Miller (lkmiller) (Moderator)
Posted on:

Rate this post
0 useful
not useful
nerved wrote:
> wich means money matters
In most cases you can compensate money by brain. This is the case here!

@MAINUL ALAM
So: first think and specify the demand. Then choose the hardware.

Especially in picture processing the WHOLE development can be done 
independent from hardware eg on the PC you're browsing now. Just take 
the picture or a sequence of pictures and evaluate the algorithm. This 
will not work in real time, but when the algorithm is finished, THEN its 
time to talk about hardware to speed it up.

: Edited by Moderator
Author: MAINUL ALAM (Company: Master student) (mainul)
Posted on:

Rate this post
0 useful
not useful
Let me explain my situation ... actually i am doing my master project 
now and devolping the algorithm using vhdl or verilog will be a task of 
master thesis ... which i am not sure whether i will do on it or not ... 
so at this moment my concern is choosing the fpga only ... regarding the 
camera i have only the information that it will be a 5 Mpix camera ... 
And why we usinng FPGA instead of doing this using computer ? ans is in 
future there might be some additional task include in the system and 
then this FPGA will be a very useful unit... and also the task has to be 
very fast thats why FPGA

Author: Lothar Miller (lkmiller) (Moderator)
Posted on:

Rate this post
0 useful
not useful
MAINUL ALAM wrote:
> ans is in future there might be some additional task include in the
> system and then this FPGA will be a very useful unit
Geht the biggest FPGA you can geht for the bucks. Also add some kind of 
fast memory to it.

> And why we usinng FPGA instead of doing this using computer ?
Its way far easier to do the evaluation on a PC.

> regarding the camera i have only the information that it will be a 5
> Mpix camera
How will it be connected to the FPGA?

> has to be very fast
What is fast? Technical dimensions would be helpful...

> actually i am doing my master project now and devolping the algorithm
> using vhdl or verilog will be a task of master thesis ... which i am not
> sure whether i will do on it or not
Just my opinion: if you never did anything into deep with FPGA up to now 
(and it sounds like that!), then choose a different master thesis. You 
will need much more than those 4 months to get the things running...

: Edited by Moderator
Author: MAINUL ALAM (Company: Master student) (mainul)
Posted on:

Rate this post
0 useful
not useful
thanks for your suggestions.

i just got the information about the camera from my professor. following 
is the camera we will use :
http://de.ids-imaging.com/store/ui-3240ml.html

Regarding the algorithm :

The task of the algorithm is
-          To extract pixel positions, were we do have a signal of our 
recorded circle and transmit this intensity signals only

-          to calculated the diameter of the circle

-          to calculate the width of the circle for e.g. every degree of 
the circle (from 0° to 360°)

-          maybe you do have an additional idea


PLEASE SUGGEST ME A FPGA IF THIS INFORMATION IS ENOUGH ....

Author: Lothar Miller (lkmiller) (Moderator)
Posted on:

Rate this post
0 useful
not useful
MAINUL ALAM wrote:
> the camera we will use :
That's an USB camera. How do you connect to it? Will you have to 
implement a USB host also?

Author: Lattice User (Guest)
Posted on:

Rate this post
0 useful
not useful
MAINUL ALAM wrote:
> thanks for your suggestions.
>
> i just got the information about the camera from my professor. following
> is the camera we will use :
> http://de.ids-imaging.com/store/ui-3240ml.html
>

Hmm,
This is an USB3 Camera, you can't easily interface it to a FPGA. 
Actually it is very very difficult.

Extracting the sensor module may be possible, but then you are without 
documentation.

Author: nerved (Guest)
Posted on:

Rate this post
0 useful
not useful
OK, now we have some informations....

First: You recognized, that the cam has only a resoltuin of 1280 x 1024 
pixel, wich is 1.3 megapixels? (not 5 as you told in yout opening post). 
I think its ok for your application. just wondering....

depends on the type, you will get an RGB or BW cam (i guess its BW), 
1280*1024*60 frames @ 12 Bit resoltion requries at least 2 GBit/s memory 
bandwidth for your framebuffer, wich is usually no problem for common 
FPGA-boards with DDR2 or DDR3 memory.

The manufaturer is a good choice, perhaps you can even get some 
technical support from.

You have two really big problems with this task:

1. You will have to find an FPGA-Board with an USB 3.0 Interface, then 
you will have to write an USB-Driver for the cam, and you dont have any 
informations how to do this. The only way to do this, is to use an 
SOC-FPGA (Xilinx Zync, Altera Cylone V / Arria) with ARM CPU, set up an 
Linux and use the IDS-Linux-Drivers.

2. Even if you can do this stuff, you are still an FPGA-Rookie. You will 
have to design a framebuffer with an complete image processing pipeline, 
wich is "quiet" challenging for a Master Student.

Hence you seam to have no idea what you are doing, i´ll stronly suggest 
to chose another task for your master thesis!

I would try to solve this problem with a PC and OpenCV:

http://en.wikipedia.org/wiki/OpenCV

But i guess your prof wants an FPGA.

Author: MAINUL ALAM (Company: Master student) (mainul)
Posted on:

Rate this post
0 useful
not useful
yes you are right my professor wants a FPGA ...

Please be informed this is not my master thesis ... master project and 
you are right i dont have good idea about it yet ... but the thing is 
... at this moment my task is only choosing a FPGA ...

If please suggest some fpga which is compatible with this camera then i 
can study them and may then i can understand the problems here you 
mentioned ...

Apart from that if i dont understand the problems with the camera i cant 
argue with my professor ... can you please tell me little bit more about 
the problems , for example what is the problem with USB 3.0 interface 
... what do you mean by i have to write a USB driver ..


I know my knowledge is very poor but i already started it and i have to 
finish it in next 20 days ... i will very grateful if someone/you can 
suggest me some links or documentations wwhich i can study and gather at 
least some ideas that i can understand about the problems you are 
talking about ..

Author: nerved (Guest)
Posted on:

Rate this post
0 useful
not useful
MAINUL ALAM wrote:
> If please suggest some fpga which is compatible with this camera then i
> can study them and may then i can understand the problems here you
> mentioned ...

an FPGA is not compatible as it is, with this cam, it is your job to 
make it compatible!

doing 5 min on google, an found no eavluationboard with USB 3.0 host, 
perhaps such ab board dont even exist yet!

I would suggest, you contact the manufacturer of the cam.

http://en.ids-imaging.com/contact.html

Describe you situation and ask, if they know a FPGA-Board, wich is 
capable to control the cam, an if they think it es even possible!

If they dont know any board with USB 3.0 host, then you can tell your 
prof, that you will have to make your own board.

Xilinx has USB-3.0 IP-Cores:

http://www.xilinx.com/products/intellectual-proper...

With an Xilinx Zynq-7000 (SOC-FPGA with ARM CPU) you might be able to 
use the Linux-Driver from IDS to control the cam.

Author: nerved (Guest)
Posted on:

Rate this post
0 useful
not useful
If you can chose another cam:

http://de.ids-imaging.com/store/produkte/kameras/g...

Gigabit ethernet is way easier to interface with common FPGA-Devboards.

Author: Lothar Miller (lkmiller) (Moderator)
Posted on:

Rate this post
0 useful
not useful
MAINUL ALAM wrote:
> at this moment my task is only choosing a FPGA ...
You see: that is usually the last step of the process. So, if you don't 
know in DETAIL what you have to do, you cannot choose hardware!

Lets try it with an analogism in the "real" world: your professor tells 
you to choose the means of transportation for 4 persons from A to B 
which are lets say 1000km apart. And he tells you that it has to be 
comfortable. Thats all.

Now: what will you choose? A car? Going by rail? Or the bus?
Each of the solutions is ok because all the known parameters are met. 
And you can assume that theres a street between A and B...

But: what if theres sea between the two points? Is there a ferry? When 
the two ponits are at the coastline even going by ship is possible. But 
when one person gets seasick then its not comfortable...

Or maybe its better to go by plane? Its fast, quick and mostly 
comfortable. But its expensive. Ooops! A new parameter...

> If please suggest some fpga which is compatible with this camera
You will not find "the FPGA" you can interface the camera to. You will 
have to add an external transceiver to the FPGA and implement or buy an 
IP-Core (one like this: http://www.dgway.com/USB3-IP_A_E.html) to 
connect to the camera. Of course you will have to implement some kind of 
"driver" stack to talk to the camera. All in all it will be fairly 
difficult to get the picture data from the camera.
Maybe you should choose a operating system running on a processor on 
FPGA, but now you see, its getting closer and closer to "traditional" 
computer structures. And maybe that isn't fast enough...

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [vhdl]VHDL code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.