Im a student of Electronics and I need to do a project (deadline: January/February 2k11) for my BSc degree.
My topic is: "FPGA image processing design cosimulation with Simulink interface: Design and the hardware implementation of an example context image processing algorithm in the FPGA device with the complete testbench coverage with Simulink - AHDL interface." (To be more precise it could be also video processing).
It should be some sort of entertaining/amusing project because it will be shown for younger age group as a help/tutorial/whatever :smile:
I was thinking about:
- road lane detection
- video anti-shake/stabilizer
- face recognition
The last one is I think totally awesome, but what I've heard it could be a really difficult to design and implement to HW ?
Would you please tell me which project is better or if you have any other ideas I would appreciate.
Im sure they are all just as hard as each other, they all require some form of algorithms that you model in simulink.
My first point though would be to question the use of AHDL. That is a dead language, and has no way to interface with simulink. Please tell your tutor AHDL has been dead for many years.
With VHDL or Verilog, you can actually co-simulate the code directly with simulink!
Im sure they are all just as hard as each other, they all require some form of algorithms that you model in simulink.
My first point though would be to question the use of AHDL. That is a dead language, and has no way to interface with simulink. Please tell your tutor AHDL has been dead for many years.
With VHDL or Verilog, you can actually co-simulate the code directly with simulink!
It's a simulation using Simulink and HDL-simulator (Active-HDL, ModelSim, etc). Some parts of a project are simulated in HDL-simulator and some in Simulink but I think it's irrelevant.
Ok, I will tell what I think based on my small knowledge on this area.
I think out of the three projects listed by you , road lane detection takes the least processor time hence more suitable for FPGA.
I cannot say which is best topic. There are lot of algorithms for image/video processing. And some of these need to be changed a little for h/w implementation. I suggest you go through the algorithms first and then ask yourself whether you will be able to do it in the specified time.
Some challenges you may face are:
1)more memory requirement.may need external memory chips.
2)fast I/O requirement. Need to get video from the camera for processing.
3)If the algorithm is time consuming then use of multiprocessing,which I think is biggest challenge.
4)also the algorithm has to be tested using Matlab first.Which in itself is a big work.
I think you can go through some open source implementation of face recognition software in C/Matlab and then port it to FPGA. that will save the time.
Firstly, these three projects are just SUGGESTIONS and I would appreciate for OTHERS.
Secondly, Ive thought about these challenges but what worries me most is that I might not handle project due to the lack of time.
Do you know some sites where I can find some implementation of image/video processing projects? Not only in VHDL but also Matlab/Simulink stuff would be great.
Mathworks also offer a HDL coder licence that allows you to run modelsim/active HDL in real time with simulink. This means you can co-simulate ANY hand written VHDL, with inputs to the VHDL driven by simulink as the simulink simulation runs, rather than running one thing then another.
Unfortantly the HDL coder licence is a few thousand $.