Author Topic: EEVblog #496 - What Is An FPGA?  (Read 16170 times)

0 Members and 1 Guest are viewing this topic.

Online EEVblog

  • Administrator
  • *****
  • Posts: 13560
  • Country: au
    • EEVblog
EEVblog #496 - What Is An FPGA?
« on: July 20, 2013, 09:32:13 AM »
What is an FPGA, and how does it compare to a microcontroller?
A basic introduction to what Field Programmable Gate Arrays are and how they work, and the advantages and disadvantages.
FPGA Stuff in Dave's Amazon store: http://bit.ly/1ayoNiV

EEVblog #496 - What Is An FPGA?
« Last Edit: July 20, 2013, 12:29:45 PM by EEVblog »

Offline synapsis

  • Regular Contributor
  • *
  • Posts: 128
  • Country: us
    • Blackcow
Re: EEVblog #496 - What Is An FPGA?
« Reply #1 on: July 20, 2013, 09:34:00 AM »
Excellent! Just what I was hoping to see! And just in time for dinner...

Thanks Dave.

Offline xrunner

  • Frequent Contributor
  • **
  • Posts: 776
  • Country: us
    • My Model Railroad Videos
Re: EEVblog #496 - What Is An FPGA?
« Reply #2 on: July 20, 2013, 09:42:47 AM »
Excellent! Just what I was hoping to see! And just in time for dinner...

Thanks Dave.

Agreed. I will view this tonight!  :-+

Offline JoannaK

  • Frequent Contributor
  • **
  • Posts: 336
  • Country: fi
    • Diytao making blog
Re: EEVblog #496 - What Is An FPGA?
« Reply #3 on: July 20, 2013, 10:46:42 AM »
Nice video.. Like the ending  ;)

More seriously.. Yeah, FPGA.s are darn complex and versatile beasts. Have done *some* tinkering but I know I don't really know a **** about them.

Funny thing about fpga:s is that if you mess the code part, you may burn the chip. There's simply not enough cooling (normally at least) to allow all the lines/registers to toggle at  max clock speed 100% time.

What I like most is, when they combine FPGA:s with genetic evolutionary programming.  :-/O

Offline Zad

  • Frequent Contributor
  • **
  • Posts: 938
  • Country: gb
    • Digital Wizardry, Analogue Alchemy, Software Sorcery
Re: EEVblog #496 - What Is An FPGA?
« Reply #4 on: July 20, 2013, 12:45:07 PM »
Nobody mention the spelling mistake at the top of the whiteboard!   >:D

It reminds me of the lift in the electronic engineering building at Leeds Uni, there's a big red button on the panel that says EMERERGENCY. Glancing at it, you know it is wrong somehow, but your brain won't say what's actually wrong.


Offline CrosseyeJack

  • Contributor
  • Posts: 23
  • Country: gb
Re: EEVblog #496 - What Is An FPGA?
« Reply #5 on: July 20, 2013, 01:38:07 PM »
What would you guys suggest for a noob when it comes to fpga's too just learn the basics with? A brief history, I'm used to building my own circuits, using pics/atmels in a breadboard for prototyping my own circuits and then designing and moving my projects onto their own PCBs around the micro controller. So I'm not scared to break out the soldering iron.

Its not that micro controllers are no longer cutting it for me (for what I do they are more then enough right now) I'm happy with CCS C and PIC micros with my current projects, But fpga's are something I want to dip my toe (even my recent broken toe) into at some point so I'm looking for an affordable piece of kit I can use to learn with. I don't mind building something (my first ardunio was just a atmega on a breadboard) but if I can get an affordable dev kit I have no problems in doing so just as long as I can break it out and its not going to be a right royal pain in the arse converting it into its own pcb when I want to move it onto its own standalone project.

Its my first post on the board so be gentle. I would love some feedback in pointing me in the right direction in getting started with FPGA's.

Many thanks in advance.
Dan.
« Last Edit: July 20, 2013, 01:42:07 PM by CrosseyeJack »

Online EEVblog

  • Administrator
  • *****
  • Posts: 13560
  • Country: au
    • EEVblog
Re: EEVblog #496 - What Is An FPGA?
« Reply #6 on: July 20, 2013, 01:44:09 PM »
What would you guys suggest for a noob when it comes to fpga's too just learn the basics with?


The Papilio and DE0 Nano are two dev boards under $100, Xilinx and Altera respectively.
http://papilio.cc/
http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=593

Online ataradov

  • Regular Contributor
  • *
  • Posts: 91
  • Country: us
    • Personal site
Re: EEVblog #496 - What Is An FPGA?
« Reply #7 on: July 20, 2013, 02:12:59 PM »
Some pointers for people who want to start with FPGAs:
1. Simulators are extremely accurate in "post place and route" mode, enough to develop the entire project without programming a chip even once. So the only real reason to buy a board is to have that cool feeling when the first LED blinks on a real hardware.
2. There is an open-source simulator called iverilog (for Verilog only, obviously). It works on Win/MAC/Linux, really fast and easy to use. The benefit of using it on the initial stages is that it is possible to use your favorite IDE and not an IDE from the chip vendor, which are sort of slow and not all that great.
Alex.

Offline CrosseyeJack

  • Contributor
  • Posts: 23
  • Country: gb
Re: EEVblog #496 - What Is An FPGA?
« Reply #8 on: July 20, 2013, 02:29:24 PM »
Thanks Dave. Looking at them I'm tempted to just get both.

While I'm more of a "lock me in a room, throw me in at the deep end and don't come out until I have at lease a hello world running" kind of guy. I do like the idea of the fall back option of the Arduino compatible Soft Processor on the Papilio. At least I would be at least to get something running on the thing :-P though I don't want to fall into the trap of just using it as an Arduino. I'll have to flip a coin to see what to get, but at the cost of each its hard not to just get both. Though I do feel myself drawn towards the Xilinx system.

ataradov as for the simulator. It sounds like a good plan even if its just to see if I will put the time into it. But I've always been a physical person when it comes to electronics every since I got a 200-1 kit from Tandy http://www.amazon.co.uk/200-1-Electronic-Project-Lab/dp/B000LRCD6Q as a Christmas gift and ended up creating a short circuit and burning a bigger hole on the 9v spring (oh that brings back memories). So the buzz from getting an led flash goes deep :-)

Thanks all. Looks like I will be ordering at least one new "toy" in the next few days :-)

Offline 99tito99

  • Contributor
  • Posts: 47
  • Country: 00
Re: EEVblog #496 - What Is An FPGA?
« Reply #9 on: July 20, 2013, 02:38:45 PM »
Some of the old players may find it “blablabla” but, speaking as a new player I thought it was a good intro, but what the hell do I know I’m just a newbie.  Look forward to another video or two. Cheers

Offline Odysseus

  • Regular Contributor
  • *
  • Posts: 96
  • Country: us
Re: EEVblog #496 - What Is An FPGA?
« Reply #10 on: July 20, 2013, 03:28:21 PM »
One of the common practical uses of FPGAs in the industry is to emulate digital hardware that will eventually be sent off to be taped out and turned into an actual chip, especially when it needs to interface with complicated analog hardware, either externally or on the same silicon die, that is difficult to simulate accurately in tandem, with all the non-ideal, second-order effects common to any analog design.

The great thing that after the HDL is written once to be tested in simulation on a computer and in emulation on an FPGA, then the exact same HDL code is used to design the final hardware.  The HDL code also gets used again when your chips come back from the fab and you need to debug it's internal operation. 

And it gets really crazy when you're developing a device with an embedded micro-controller, many times with specialized DSP functionality.  Before going to tapeout, during simulation and emulation, you can watch how every instruction you program affects every single bit inside your  processor, which itself was just previously programmed in HDL and can still be adjusted.  It's programming on a whole other level.

And after that you get to program a compiler...
« Last Edit: July 20, 2013, 03:32:07 PM by Odysseus »

Offline John Coloccia

  • Frequent Contributor
  • **
  • Posts: 337
  • Country: us
Re: EEVblog #496 - What Is An FPGA?
« Reply #11 on: July 20, 2013, 03:39:07 PM »
I spent some time working with Xilinx FPGAs configured with a "soft core" and surrounding circuitry.  This combination has more power and flexibility than you could imagine if you've never done such a thing.  You can concentrate on getting the inputs and outputs correct with the basic design, and then work out the details of your control architecture later.  This is the future of embedded engineering, if it's not already the present.  It's what software engineers have been talking about for decades when they talk about "abstraction", but implemented at the hardware layer too.

So you can do things like decide, more or less in the FPGA design, how you're going to divvy up things like control loops, stepper algorithms, comm channels, etc etc.  All you have to do at the board level is make sure that the signals coming in and out of the FPGA are electrically compatible with your needs, and some time later you can decide on the actual implementation details.  It completely blurs the traditional boundaries of software and hardware.
« Last Edit: July 20, 2013, 03:41:01 PM by John Coloccia »

Online AlfBaz

  • Super Contributor
  • ***
  • Posts: 1503
  • Country: au
Re: EEVblog #496 - What Is An FPGA?
« Reply #12 on: July 20, 2013, 04:08:54 PM »
It's interesting that only the surface has been scratched in this video in regards to FPGA's in that it would take another hour long video to just scratch the surface of a given HDL

If you have any programming background it's difficult at first to get your head around the "parallelism" of HDL and then deciding between behavioural and structural programming. Not to mention which language to take up, Verilog or HDL.

Online EEVblog

  • Administrator
  • *****
  • Posts: 13560
  • Country: au
    • EEVblog
Re: EEVblog #496 - What Is An FPGA?
« Reply #13 on: July 20, 2013, 04:13:14 PM »
This is the future of embedded engineering, if it's not already the present. 

Tell that to Altium, who bet the entire company on the future of FPGA's. They were wrong, and failed miserably.
Even the FPGA vendors have admitted soft functions aren't the universal holy grail everyone was predicting. They are integrating more and more hard functions and processors within FPGA's.

Online ataradov

  • Regular Contributor
  • *
  • Posts: 91
  • Country: us
    • Personal site
Re: EEVblog #496 - What Is An FPGA?
« Reply #14 on: July 20, 2013, 04:18:39 PM »
And as for not thinking which pin goes where - recently more and more microcontrollers include very advanced pin routing facilities.

I think Xmega E5 has some sort of FPGA-like level of glue logic between the core and pins. I have not looked how advanced it is.

Most Cortex MCUs can map peripherals to different pins.

You still need to think when designing stuff.
Alex.


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf