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..
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...
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 ..?
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?Language=English&No=670
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?
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.
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
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
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
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 ....
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?
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.
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.
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 ..
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-property/USB3_DEV.htm 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.
If you can chose another cam: http://de.ids-imaging.com/store/produkte/kameras/gige-kameras/ueye-cp/ui-5240cp.html Gigabit ethernet is way easier to interface with common FPGA-Devboards.
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...