FPGA... what for?


Recommended Posts

Hi all,


This post is probably a dumb one, and you all will laugh at me, but anyway, I have to ask the question.


First I'm not sure this is the right place, but moderator could freely move it to the adequate chapter.


As you may see from two or three other posting, I'm not familiar with digital design, that's the least you can say.

I have basic knowledge of general electronics from my ham radio experience, and I recently acquired some modest knowledge in µproc development, enough at least to understand what I'm doing and settting up some small projects.


My problem is that I did not yet understood very well what to do with FPGA.

I had a look at the projects described here or in Hamster wiki and the majority deals with VGA oriented tasks (games, display...). The only one I found to be of interest (for me!) are the logic analyser and the FM transmitter, but it's a little bit out of my reach, at least until I understand a little more.


I'm currently reading the book "Digital Mc Logic" and I try to understand, but it's more about basic "mathematical" knowledge than practice oriented.

I've also downloaded "Intro to Spartan..." and I recently ordered Papilio Pro to have my hands in the dirt, so I hope to understand how it works.

I also went through FPGA4fun,which is interesting and relatively basic.


But still I'm trying to figure out what I could start as a project, after I'm through with these introductions.

I've thousand of ideas with a PIC/AVR, but I'm not sure it could be done with FPGA or even if it would be of any interest/progress to do so, and moreover I lack the hability to think in term of "logic circuitry".


I hope to have been clear, and if you could help me or direct me on a good related/beginner site I would appreciate very much.


Thanks for your support.

Link to comment
Share on other sites

Hi Gerard,


everything what is possible with the small AVRs/PICs can be done on the P/Pro. You have theSoftcores AVR and ZPUino at hand. The advantage is the possibility to "add" hardware into your projects with much less effort than soldering IC's. As a ham you could for instance start with the frequency counter from Hamsters Wiki and modify it to substract the IF, let's say 455 kHz. What about a rotor control for an antenna? 


So I started now with the zpuino and the wishbone interface and think there is a learning curve yes, but not as steep as I expected. 


uC's a great for having everything built in, but when something is missing things get complicated. If you need, let's say 5 rotary encoder with high rpm, you can easily add them to your softcore and not run into interrupt limits or alike.


You mentionend some good books and sources, simply try some examples in the isim simulator,, that helps see some effects of VHDL constructs



currently inactive DH1AO


Link to comment
Share on other sites

Hi Peter,


thanks for your encouragements.


I know you may do lots of things, but the problem is that I'm not at all familiar with logic design.

Well, as youy say I cal learn, and thats what these small evaluation boards are made for!


I will have a lok at the projects you mentionned.


Will keep community informed, and you will probably see some more questions!!


Nochmal vielen Dank un bis bald.

Link to comment
Share on other sites

Hey Gerard,


I think the power of FPGA's and what we are trying to accomplish with the Papilio is building custom System on Chip designs. Think of it as making a custom Arduino, in your case you can make an Arduino with all the features you would want for the perfect HAM radio solution. Start with the ZPUino Soft Processor as your base and then add Wishbone cores that add hardware to your System on Chip design that are useful for HAM radio. You can either download wishbone compatible cores at OpenCores.com, ask in the forum to see if anyone else in interested in making the HAM cores you need, or start learning VHDL and digital logic so you can make your own cores.


You are dead on with what you are saying, all of the introductions that you are seeing are fun for a while, but you end up scratching your head and asking, "Well what useful thing can I actually do with all of this?". Its exactly what I was frustrated with when I bought my first FPGA board and worked through all of the VHDL examples that came with it. I've heard about all of these amazing things that can be done with FPGA's but VHDL books don't really lay out how to do much more then blink some leds and such. I believe an open source SOC system (the ZPUino) is the answer and we are working every day to make it more accessible and easy to use for beginners.


Think of it like any traditional programming language, lets take Visual Basic, you learn the Visual Basic language, but when you are starting out you need to rely heavily on the libraries that come with visual basic to do anything interesting. Making a web server from scratch is well beyond the skills of any Visual Basic beginner, but a beginner IS able to make a web server application using existing web server libraries that an expert programmer created.


We are trying to build the same thing on the Papilio, writing a VGA controller on an FPGA is not something a VHDL beginner should expect to accomplish, but if we provide the framework, anyone can use VHDL to wire an existing Wishbone VGA controller to the ZPUino and use it. We are just getting started with providing the framework with documentation and VHDL wishbone cores, which are like the libraries in other languages. As we continue to work this should all become more clear, compelling, and useful.



Link to comment
Share on other sites

  • 2 years later...




I read the title of this thread and enter to see ... I'd like to take a place in this discussion if you don't mind please,


I have the same question about FPGA, before I start learning FPGA I was playing with MCU like AVR, Parallax Propeller 8 core

I understand C/C++ and can implement any idea in embedded system device,


I move to FPGA because I read in some of university program for MSc there is FPGA lectures in Embedded system course beside MCU lectures, I want to know the reason so that's why start learning FPGA and buy my first FPGA, but to be honest with you i don't want to learn something for fun only I want to love it and be an expert in that field to get professional job in the future, All what I see in this form is re implement some of exist hardware chip on FPGA like ZPUino or other circuit, there is no new invention forget that let’s talk about professional member in this forum like Alvie or Hamster the programming FPGA at least before 10 year ago and everyone is expert in FPGA what is the best thing that they did, Alvie if I'm not wrong make the ZPUINO and its Re-implement of ZPU soft core, Hamster make the FPGA board and provide FPGA lecture in his website,if we want to convert the ZPUINO into ASIC chip it will never be a competitor against Atmel328p I can’t imagine the Energy consumption and number of Transistors in ZPUNIO is much more and it's need a lots of optimizing, if these people with their experience can't make chip like Atmel328p so why the spend their time to continue using FPGA, also how about person like me who start from scratch trying to be successful FPGA engineer,


I Understand FPGA not using only in ASIC Design, can someone tell me anyone in this forum have a job deals with FPGA, if there is no problem can I ask about Hamster job or Alvie are they FPGA engineer in real life or their job is difference and they learn FPGA and become professional for fun only,


I want to ask this question and many other question before long time because I'm so Confuse between choosing the right direction for my future work and field,


I Believe if someone want to be successful in something then he should become a specific in that field not Embedded System programmer in C/C++ and FPGA engineer VHDL and Verilog in the same time, I believe the professional engineer in NXP, Nvidia, Samsung, everyone has his specific job and don't deal with other who have difference job, if anyone have another idea or I say something wrong I will be so interesting to know his opinion about what I say.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.