Author Topic: Undergraduate thesis and FPGA  (Read 2897 times)

0 Members and 1 Guest are viewing this topic.

Offline EifelTopic starter

  • Newbie
  • Posts: 4
  • Country: lv
Undergraduate thesis and FPGA
« on: October 15, 2019, 10:25:34 am »
Hello!

Please help me with ideas for my University undergraduate (Bachelors) thesis project using FPGA. I have some experience with microcontrollers and general programming, but zero exp. with FPGAs. Never had held any in my hands. But I definitelly want to learn and make something in this area. I have time till summer to complete my project and thesis, but I have two days to come up with specific topic - what I will create/investigate.

What others do? There are two subjects my fellow colleagues are working on - face detection/recognition (by porting some existing system like OpenCV or other and in thesis describing this porting process, benefits of using FPGAs and create working prototype for demo) and Image processing - deconvolution (motion deblur) using radar and existing alghorithm.  Originally I came for face recognition. As I jump on this train at the last minute, those two subjects are already chosen and not available so I have to come up with my own ideas.

My first idea was to create fully working ECG machine. Design and create analog front-end or use ready IC (from Maxim integrated) and FPGA would process received signal, do some filtering, drive LCD and show alarm if ECG signal gets bad shape. But as I have small knownledge in signal processing and especially no knowledge how to do this in FPGA, I came up with alternative idea - create DDS function generator  - complete machine with my PCB and casing, buttons, LCD. I saw some cheap generators (FeelTech) use FPGAs for this purpouse.

Is this DDS Function generator using FPGA - good idea? How difficult it will be to create? I understand I will also have to design some output stage (D/A converters, op-amps, filters n stuff). What FPGA to choose? Xilinx, Altera, Lattice? (I saw Lattice have some available Demos & Reference Designs, IP cores at their site for free)

What about Image processing and machine learning (from what I suppose FPGAS do well). Any idease in this field (except ones I listed above). Lattice have some docs, demos, examples http://www.latticesemi.com/en/Solutions/Solutions/SolutionsDetails02/sensAI
They also have some embedded vision devkit that's a little expensive, but don't cost a leg https://www.latticestore.com/default.aspx?tabid=417&searchid=1&searchvalue=LF-EVDK1-EVN
I saw Xilinx have some similar solutions - reVISION etc, but, except for a lot of ads and presentation, I didn't find any specific info in their www. Same with Altera/Intel.


Image processing looks cool topic, but will I benefit (electronics student) more from creating this DDS Function generator or messing around and experimentating with ready built image processing systems? I saw videos on YT where studens have already done this almost decade ago. Also when I tell someone - I'create face detection system - they reply - ehh, my Chinese phone can do this easy. I think when I will do job interview later on - they'll ask what did I do for my thesis?! Or maybe all of this is not so important.


I'm a bit confused right now. So the question is about DDS Function generator, what kind of FPGAs to chose (easier for beginner, not so expensive, suitable for my task). I saw some boards, that already come with D/A converter onboard. Maybe some of them? Or chose D/A seperately?
What about Image processing field, any cool ideas there? Some former student created his thesis on realtime geometric image processing. He described all process of acquiring image from some OVxxx camera, storing, geometric manipulating with it - he created project that removes perspective thus converting 3D image into 2D - he got 9 or 10 for this job. I also saw some interesting videos on Youtube - realtime depth measurement from video (different depth, different colors) or movement direction detection (different directions - different colors).

So DDS generator or something with image processing, any ideas? Whats FPGA kits to use? How difficult will it be?
 

Offline tunk

  • Super Contributor
  • ***
  • Posts: 1057
  • Country: no
Re: Undergraduate thesis and FPGA
« Reply #1 on: October 15, 2019, 10:45:40 am »
 
The following users thanked this post: Eifel

Offline daqq

  • Super Contributor
  • ***
  • Posts: 2314
  • Country: sk
    • My site
Re: Undergraduate thesis and FPGA
« Reply #2 on: October 15, 2019, 11:24:29 am »
Quote
So DDS generator or something with image processing, any ideas? Whats FPGA kits to use? How difficult will it be?
If you want to really impress people, do something more than buy 3 pre-built PCBs, slap them together and write some code. Make your own hardware, add your ADC/DAC, play with the analog design as well...

A direct RF sampling radio would be cool and can involve a LOT of math that needs to be understood. An actual GPS receiver can be quite tricky.

If you want to go for tools, a high resolution + high accuracy frequency counter can involve a lot of nuances.
« Last Edit: October 15, 2019, 11:31:46 am by daqq »
Believe it or not, pointy haired people do exist!
+++Divide By Cucumber Error. Please Reinstall Universe And Reboot +++
 
The following users thanked this post: Eifel

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9935
  • Country: us
Re: Undergraduate thesis and FPGA
« Reply #3 on: October 15, 2019, 03:38:10 pm »
If you want to do the DDS project, research all of the documentation about the Analog Discovery 2 at Digilent.

Personally, I would do a CPU core that I could drop into other projects.  There is a project called LC3 that is used by many colleges and universities as an upper division or post grad course and it is well documented with a ton of information on the web.  There is also a C compiler and assembler out in the wild.  The book is "Introduction to Computing Systems from bits & gates to C & Beyond" by Patt and Patel.  There is a worksheet for the microcode if that is the type of design you use but there is also a state diagram that is fairly easy to translate into a finite state machine (FSM) in some HDL language.  Building such a core will take a couple of thousand lines of VHDL by the time a UART and various displays are included.  It's a worth project.

 
The following users thanked this post: Eifel

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9935
  • Country: us
Re: Undergraduate thesis and FPGA
« Reply #4 on: October 15, 2019, 03:40:52 pm »
 
The following users thanked this post: Eifel

Offline EifelTopic starter

  • Newbie
  • Posts: 4
  • Country: lv
Re: Undergraduate thesis and FPGA
« Reply #5 on: October 15, 2019, 11:14:16 pm »
Thank you all for your answers and time!
I agree that buying prebuilt 3 PCB stack and write some code for it wouldn't be impressive, maybe I'll someday buy and leave this Lattice vision kit for some free/spare time experiments at home.
I did some research on "direct RF sampling radio" and found that it's way too complicated subject, but I really like idea about creating "a high resolution + high accuracy frequency counter"! Thank you, daqq, for idea. I think, I'll go for it. I also found good theory lessons in www about this subj.

Thanks, rstofer, for reference to Analog Discovery 2. I remember this kit from first study year, we were using them a little bit. I forget about that it's using FPGA and have a bunch of schematics in digilent webpage. That's give me some understanding how difficult it would be.

Despite my original willing to create DDS, capable of creating various waveforms - this project seams to be too complicated too  :-\  But sometimes I see DDS generator and counter in one device. So I'll go for counter and if it will success I'll look to add DDS generator. Or maybe focus only on counter cause I have to fully understand every detail and be able to defend/assert this.
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 38609
  • Country: au
    • EEVblog
Re: Undergraduate thesis and FPGA
« Reply #6 on: October 15, 2019, 11:33:23 pm »
Maybe something to do with crypto?
I'm not thinking mining, that's been done to death, but maybe the other end like an ultra low power node on a small FPGA.
Maybe target a market like renewable trading using Power Ledger perhaps.
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3246
  • Country: ca
Re: Undergraduate thesis and FPGA
« Reply #7 on: October 16, 2019, 02:09:06 am »
Despite my original willing to create DDS, capable of creating various waveforms - this project seams to be too complicated too  :-\ 

It's nothing compared to face recognition.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 20600
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Undergraduate thesis and FPGA
« Reply #8 on: October 16, 2019, 08:44:58 am »
Strategy:
  • find what FPGA toolchain is used locally. These can be very complex and time consuming to learn, and you ought to get zero credit for learning which buttons to push on tool Frobnitz version 16.7.5
  • find which FPGAs can be used with those tools and which are used locally and are already mounted on PCBs. FPGAs can be very demanding about the PCB layout, and you ought to get zero credit for laying out a PCB that can be easily purchased
  • determine what scale of circuit could reasonably fit in that FPGA
  • choose a project

Analogy. In the 60s and 70s a famous professor of Electrical Engineering used to set three types of exam questions: easy (gets you a pass mark), normal (gets you full marks), impossible to answer in the available time. He expected engineers to spot the last ones and avoid them; if they didn't then they weren't good enough to become engineers.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 38609
  • Country: au
    • EEVblog
Re: Undergraduate thesis and FPGA
« Reply #9 on: October 16, 2019, 11:13:03 am »
Strategy:
  • find what FPGA toolchain is used locally. These can be very complex and time consuming to learn, and you ought to get zero credit for learning which buttons to push on tool Frobnitz version 16.7.5
  • find which FPGAs can be used with those tools and which are used locally and are already mounted on PCBs. FPGAs can be very demanding about the PCB layout, and you ought to get zero credit for laying out a PCB that can be easily purchased
  • determine what scale of circuit could reasonably fit in that FPGA
  • choose a project

Yes, wise advice.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 20600
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Undergraduate thesis and FPGA
« Reply #10 on: October 16, 2019, 11:40:23 am »
I came up with alternative idea - create DDS function generator  - complete machine with my PCB and casing, buttons, LCD. I saw some cheap generators (FeelTech) use FPGAs for this purpouse.

You should find out from your supervisors what will and will not gain you credit towards your qualification. For example, for an electronics qualification, creating a case is probably irrelevant.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Online RoGeorge

  • Super Contributor
  • ***
  • Posts: 6721
  • Country: ro
Re: Undergraduate thesis and FPGA
« Reply #11 on: October 16, 2019, 02:49:04 pm »
I have some experience with microcontrollers and general programming, but zero exp. with FPGAs. ... I have time till summer to complete my project and thesis

It's a very short time to learn FPGAs, and HDL, and specific IDE/tools, and research the theme, and implement the project, and write your thesis, and have a life, and do all these reasonably well by yourself.

Better stick with a microcontroller implementation.  A microcontroller based DDS can be a great project.

The project doesn't need to be an ultra-super-mega-extra-revolutionary invention, but it is important to do it by yourself.  Squeeze the maximum performance at a given BOM cost, and in the given time frame.  Show that you used what you had efficiently.  With infinite resources anything can be done.  The challenge is to do the best with limited resources.  That's what engineering is about.

Good luck with your thesis!   :-+

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 20600
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Undergraduate thesis and FPGA
« Reply #12 on: October 16, 2019, 04:38:19 pm »
I have some experience with microcontrollers and general programming, but zero exp. with FPGAs. ... I have time till summer to complete my project and thesis

It's a very short time to learn FPGAs, and HDL, and specific IDE/tools, and research the theme, and implement the project, and write your thesis, and have a life, and do all these reasonably well by yourself.

Better stick with a microcontroller implementation.  A microcontroller based DDS can be a great project.

The project doesn't need to be an ultra-super-mega-extra-revolutionary invention, but it is important to do it by yourself.  Squeeze the maximum performance at a given BOM cost, and in the given time frame.  Show that you used what you had efficiently.  With infinite resources anything can be done.  The challenge is to do the best with limited resources.  That's what engineering is about.

Good luck with your thesis!   :-+

That is sane.

When I've interviewed new graduates, I've wanted to know
  • what objectives they set themselves
  • how they chose to stretch themselves
  • what decisions they made
  • why they made them
  • their next steps if they had met their objectives (if not, why not)
  • what they now know they would do better if they had their time over again
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9935
  • Country: us
Re: Undergraduate thesis and FPGA
« Reply #13 on: October 16, 2019, 04:58:54 pm »
It's a very short time to learn FPGAs, and HDL, and specific IDE/tools, and research the theme, and implement the project, and write your thesis, and have a life, and do all these reasonably well by yourself.

Engineering students aren't supposed to have a life!  If a life was required, it would be sold in the bookstore or handed out in a lab class.
There's a reason that engineers are characterized as introverts lacking even basic social skills.  OTOH, they can do math in their head that defies solution by the non-engineers.

There are some very high speed uCs that would do a fine job of making a DDS.  OR, you could use a uC like the BlackFin which has hardware specifically intended for the application.  Then it turns into a code-monkey project.  Worthy?  Hard to tell but in the real world copanies actually use the Analog Devices uC.  The chip has no MMU so it is restricted to running uClinux which it does very well.

https://en.wikipedia.org/wiki/Blackfin
https://www.analog.com/en/products/processors-dsp/dsp.html
https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/eval-bf706-mini.html#eb-overview

AD is discontinuing support of uClinux but the sources will be available:
https://ez.analog.com/dsp/software-and-development-tools/linux-blackfin/f/q-a/108907/end-of-life-for-blackfin-linux

A DSP device doesn't necessarily need an operating system as long as there is library code for things like serial IO streams.  I haven't played with the Blackfin in quite a long time but it was a terrific board when I used it.

Machine vision?
https://visionlab.uncc.edu/dokuwiki/blackfin:uclinux_bf537setup




 

Offline Bassman59

  • Super Contributor
  • ***
  • Posts: 2501
  • Country: us
  • Yes, I do this for a living
Re: Undergraduate thesis and FPGA
« Reply #14 on: October 16, 2019, 05:06:53 pm »
It's a very short time to learn FPGAs, and HDL, and specific IDE/tools, and research the theme, and implement the project, and write your thesis, and have a life, and do all these reasonably well by yourself.

Engineering students aren't supposed to have a life!  If a life was required, it would be sold in the bookstore or handed out in a lab class.
There's a reason that engineers are characterized as introverts lacking even basic social skills.  OTOH, they can do math in their head that defies solution by the non-engineers.

Funny, when I was an undergraduate in engineering school, I was a short train ride away from New York City. And I definitely took advantage of that. Oh, and the best little rock club on the east coast was a six-block walk from my dorm, so rather than avoiding studying by playing pool or watching TV, I'd go see bands. I seemed to do fine!
 

Offline dferyance

  • Regular Contributor
  • *
  • Posts: 198
Re: Undergraduate thesis and FPGA
« Reply #15 on: October 16, 2019, 05:14:52 pm »
One possibility to consider -- as you have programming experience -- is OpenCL. OpenCL provides the ability to write code that will run on CPUs, GPUs and FPGAs. I have only minimal experience with it -- just trying out GPU examples. So I don't know how well it works. One downside I know of is that the supported FPGA boards for it can be very expensive.

Now that's just a technology option. I don't have any ideas over what you should use it for.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf