Slashdot Mirror


Learn FPGAs With a $25 Board and Open Source Tools

An anonymous reader writes: Hackaday has a 3 part tutorial with videos of using open source tools with a cheap ($25) FPGA board. The board isn't very powerful, but this could be the 'gateway drug' to FPGAs for people who don't want to spend hundreds of dollars and install 100s of megabytes of software and license keys just to get their feet wet. The videos are particularly good--like watching them over their shoulder. As far as I know, this is the only totally open source FPGA toolchain out there.

93 comments

  1. 100s of megabytes by Anonymous Coward · · Score: 0

    I think you're thinking of tens of gigabytes if you talking xilinx tools at least.

  2. i want to get my feet wet with a gateway drug by turkeydance · · Score: 1, Offtopic

    these analogies have to have a point, don't they?

    1. Re: i want to get my feet wet with a gateway drug by Austerity+Empowers · · Score: 0

      I think the point is this isn't for people who smoke pot, or use powder based drugs. Apparently heroin is now a gateway drug.

    2. Re: i want to get my feet wet with a gateway drug by Kohath · · Score: 2

      Communicating without using cliches is hard for some (very annoying) people.

    3. Re: i want to get my feet wet with a gateway drug by DrEasy · · Score: 2

      'Gateway' drug is kind of a pun, at least.

      --
      "In our tactical decisions, we are operating contrary to our strategic interest."
    4. Re: i want to get my feet wet with a gateway drug by xski · · Score: 1

      And the thread is saved! Good work, doc.

    5. Re: i want to get my feet wet with a gateway drug by umafuckit · · Score: 0
  3. truth is... by hjf · · Score: 5, Interesting

    truth is... you don't need a board to "get your feet wet".

    You only need a simulator. A deep understanding of combinatorial and sequential logic, an idea, and a plan. Simulate, simulate and simulate. After a few hundred cycles of simulation, if you didn't get bored, you can go ahead and get the FPGA and start fiddling with the electrical part.

    Thats why the Spartan-3 Starter Kit I bought 10 years ago is in its box.

    1. Re:truth is... by Anonymous Coward · · Score: 3, Funny

      Amused to hear that I'm not the only one. I bought a Spartan 3 kit six years ago dreaming of all the cool things I'm going to do with it... It was pulled out of the box once, and I programmed it once to blink LEDs. It's been in the box ever since. Having kids have something to do with that, I guess. Once they're out of the house, I'm sure I'll pull it out again.

    2. Re:truth is... by Anonymous Coward · · Score: 0

      And if you're in the situation where an FPGA is actually needed, there's a good chance your company has the boards and software on hand already.

    3. Re:truth is... by bugs2squash · · Score: 2

      My Xula-2 board just arrived and I hope it does not meet the same fate as yours. I also have a papilo board that is gathering dust and a DE0 nano somewhere (at least I had a little more success with that - the Altera toolchain seemed more tractible but equally huge).

      I have had a hard time getting started. I have no doubt that an open source toolchain will be a great step forward in lowering that barrier and I'll probably have a play with that in good time, I especially liked the idea of playing with the j1a forth CPU.

      In the mean time I'll be using the overwhelming xilinx toolchain. I chose the xula board because the Xess website seems to have some good "get you started" documentation, the image download tools are python based, the xilinx LX25 has some great clock/PLL resources that I wanted to use and I did not want to run into problems fitting my design into the ICE40.

      It's mostly excuses though, I really should have had better results with the boards I have after all this time...

      --
      Nullius in verba
    4. Re:truth is... by Austerity+Empowers · · Score: 4, Insightful

      I won't argue that's a good idea if you don't know some HDL or how to use the tools, or even have a good idea for a project. But there are a few reasons to actually use a real FPGA, and particularly a real toolchain:

      - Not all HDL code synthesizes. Great designs get ruined when they meet an actual synthesizer that doesn't understand the construct you are using. This can be heartbreaking sometimes.
      - You may want to use tri-state logic internally in your design. Never do this. Even when using tri-state buffer features, use a wrapper module. Xilinx, Altera and various design libraries often do this differently because of the large variety of buffers, most of which aren't interesting to you for the blinky light. Just save yourself some trouble here.
      - Complex buffers (DDR, serdes) have a lot of detail that everyone implements a bit differently. You want real hardware to make sure these work properly, and you may need to implement extra circuits to handle the implementation detail. Or, and this is fun, sometimes the vendor has limitations that will break your heart (particularly on low end FPGAs)
      - Not all code that simulates well actually runs well. The list of gotchas is near infinite, but ignoring buffer complexity the best ones are reset conditions (xilinx has no POR, it all initializes to 0 unless otherwise specified, and that is fine if you implement a clean reset ckt), setup/hold violations from external interfaces, and everybodies favorite: bus doesn't quite work the way you think it should and the way you coded the BFM.
      - You can do squirrely things that you shouldn't really do at all, like double edge triggered flipflops, or latches. Technically this goes in "doesn't synthesize", but sometimes it will and will do funky things that a simulator won't pick up on.

      There's value in messing around and $25 is compelling, but don't buy the $600 PCIe kit until you know what you want to do and already have a good design and have done your homework.

    5. Re:truth is... by U2xhc2hkb3QgU3Vja3M · · Score: 1, Funny

      You only need a simulator. A deep understanding of combinatorial and sequential logic, an idea, and a plan.

      You know who else has a plan? The Cylons.

    6. Re:truth is... by Slugster · · Score: 4, Insightful

      ... I have no doubt that an open source toolchain will be a great step forward in lowering that barrier ..

      Yea, because open-source software is famous for having well-designed, easy-to-use comprehensive instructions. ;>)

      After building a few things with atmel-chip Arduino boards in the last couple years I gave in to my curiosity and bought a couple cheaper CLPD and FPGA boards. On electronics forums there's always people moaning "oh god not another arduino user" and whining how "there's so many other boards that are faster/have more cores/ect ect/why are you still using atmel shit". I ended up choosing Altera-chip boards, for no particular reason. Lower-end Altera or Xlinix boards can be had for $10-$15 from the orient-direct sites. A USB JTAG programmer costs another $5, if one wasn't included. The cost isn't the problem here.

      Part of the problem (as I see it) is the complexity of using the programming toolchains, yes. The boards seem to work, but I haven't actually gotten mine to 'do' anything yet.... I have not gone through the available Altera tutorials however.

      But another part of it is that most people are hard-pressed to think up anything that would require an FPGA, so there's not a lot of incentive to learn. Myself included.
      Most of the projects that most people build with Arduinos probably have the atmel processor sitting there idle most of the time. If an Uno isn't fast enough, the Mega is twice as fast as the Uno. And then the Due (with an ARM chip) is ~5x or more times faster than the Mega, depending on what your program does... And there are other ARM boards that are faster/have more cores than the Arduino Due.... so there are a lot of other easier-to-use options for a 'faster' board, if an Uno or Mega just can't handle the task.

      So I think that FPGA's aren't going to advanced into the hobbyist market any time soon. At least. no more than they already are.
      The concepts of FPGAs and CLPD's intrigues me, but currently it's a lot of hassle to learn just to gain processor speed that most projects I can imagine simply don't require.

    7. Re:truth is... by Anonymous Coward · · Score: 1

      "BUT it worked in simulation" This is the most common mantra I hear when it all goes to shit. As the guy that develops the test software and BSPs for these things after the electrical engineers have done their design and programming (simulation cough, cough), I can tell you that just because it works in simulation, doesn't mean it's gonna work in the real world.

    8. Re:truth is... by Asmodae · · Score: 2

      All good advice. I would add that you don't need an actual device to run synthesis, you can get versions of the quartus and xilinx tools from their website and run your design through it. Check the synthesis logs for warnings, and check your timing reports. Don't try to implement a huge logic cloud between clocks, but you can do a surprising amount. The timing reports will tell what's possible for a particular device and when you need to break your logic up more.

      LEARN state machines!

      Understand what the PLLs are for on each chip!

      Learn how to cross clock domains properly, and how to limit your clock resource usage.

    9. Re:truth is... by Anonymous Coward · · Score: 0

      people who don't want to spend hundreds of dollars and install 100s of megabytes of software and license keys just to get their feet wet.

      Part of the problem (as I see it) is the complexity of using the programming toolchains, yes. The boards seem to work, but I haven't actually gotten mine to 'do' anything yet....

      This is the entire problem. And the thing mentioned in the article is no more a solution than arduinos are a solution to trying to get a simple gcc toolchain for arm to work right on common micros so you don't have to use those crazy bloated and outdated "stacks"... calling them toolchains is being way too nice. They are gargantuan stacks. Like the old 80's/90's way of doing things never died. It sucks and makes hacking and experimentalism hard. I hope the industry fixes this disconnect. They are losing out on a lot of talent (and customers) by trying to be to gimmicky and locked-in and all that 20th century bull puckey.

    10. Re:truth is... by Anonymous Coward · · Score: 0

      Arduino is not an FPGA. It 's a microcontroller. There are tons of other microcontrollers to chose from and they are generally really simple to get going and actually use. For example, see Microchip and their PIC. These existed in one way or another for a few decades. You can get a PIC for as low as well under $1, stick it on a breadboard and do things with it. You may need a $50 programmer for it, but well, whatever. It works with all PICs.

      I think people pick Arduinos because they don't want to actually muck around with hardware? Or they don't know how to write programs? I don't know. One of these must be the case in the combination because you can really get that PIC, and have something working with barely anything else tacked on that breadboard.

    11. Re:truth is... by Anonymous Coward · · Score: 0

      I second the suggestion of Xula boards. They're great ways into to FPGA space. However, FPGAs are a total mind fuck, especially if you are coming from a programming background. the switch between sequential and concurrent instructions is a steep hurdle to overcome, but once you start to get into it it's fairly good fun.

      The tool chains (at least the xilinx one, but i've heard our firmware guys make the same complaint about others) are very poor, even the ones you pay thousands of dollars for.

    12. Re:truth is... by JanneM · · Score: 1

      Yea, because open-source software is famous for having well-designed, easy-to-use comprehensive instructions. ;>)

      It often sucks, certainly. But there is one compelling advantage, in the case of unusual stuff such as this. The developers themselves are happy to talk about and answer questions around their tools. And open source tools tend to attract hobbyists that do things for fun, and are happy talking about what they do, and not just commercial developers that won't publicly say a word.

      So with open source tools you're much more likely to find blog posts, forums and so on with information to help you along. There's a chance there's be people out there that had the same trouble you do, and wrote about it in public. With commercial tools - and especially tools with a userbase in the hundreds rather than tens or hundreds of thousands - there may simply be no public information out there at all beyond the docs written by the provider.

      --
      Trust the Computer. The Computer is your friend.
    13. Re:truth is... by Slugster · · Score: 1

      I had electronics in high school--"analog" electronics, I guess you could say. That was a lot of years ago and I never bothered with it since.

      I got into Arduino-controlled stuff a couple years back, because I had a need to build some machines that would benefit from being digitally-controlled. I picked Arduinos for a few reasons:
      1--they didn't need a separate programmer at all, just a USB cord. This makes them a lot more convenient for newbies to experiment with.
      2--They were available cheap. The Italian ones cost some money but the copies on the direct-orient sites are available very cheap. And these are not just chips, but ready-to-use boards. Unos for $5, Megas for $9, Dues (ARM cpus!) for $15 and the shipping is free. They cost even less if you don't need the USB cable.
      3--I had a need for such a device. Ever see where people post "I bought this Arduino (or rPi), what can I do with it?" ***

      I'll never choose a PIC for hobby use, nor would I recommend them. Arduinos totally beat them on both cost and convenience.


      ***(By the by, the only two things that can be built with a rPi are (1) a MAME cabinet, and (2) a home file server. Any other claims are merely gratuitous falsifications)

    14. Re:truth is... by thsths · · Score: 1

      > Yea, because open-source software is famous for having well-designed, easy-to-use comprehensive instructions. ;>)

      You forgot to mention that great UI and UX.

      The difficulty with FPGA is that the primitives are really primitive. It seems simple, but the lack of any kind of abstraction means that you have more freedom in programming, and much more freedom in your tool chain.

    15. Re:truth is... by umafuckit · · Score: 1

      If an Uno isn't fast enough, the Mega is twice as fast as the Uno

      It is? They both run at 16 MHz according to the specs. The Mega gives more IO options and more storage and more hardware timers. I don't think you get more speed. For speed, I rather like the Teensy, which has true analog output too (not just PWM pins)

    16. Re:truth is... by AmiMoJo · · Score: 1

      If you want to do more with microcontroller projects just program the Atmel on your Arduino directly, i.e. not using the Arduino IDE. That thing is the reason why people deride the Arduino platform so much - it's built to be really easy to use, at the expense of performance. In fact it isn't even very optimized for basic stuff like DigitalWrite(), that gets used a lot.

      For FPGA projects, you are really looking at two categories.

      1. FPGA with a CPU core and a little bit of extra logic on the side to do some specific task. Often this is something like a high speed interface that is difficult to handle on a microcontroller alone, or emulation of some other hardware like an old 8/16 bit computer.

      2. Straight FPGA project like a graphics engine or DSP.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    17. Re:truth is... by Anonymous Coward · · Score: 1

      I'll never choose a PIC for hobby use, nor would I recommend them. Arduinos totally beat them on both cost and convenience.

      It is hard to argue either wins in terms of cost. You can get PIC chips really cheap, sometimes under a dollar each, and while the newest, official programmer costs $50, you can also get them for under $10 for the older official ones or knock offs. The convenience comes down to what you want to do with it, as if you are making your own board or using a breadboard, then PIC can be as easy, and even easier if worried about power or size constraints, or if you want one of the extra features on some of the chips.

    18. Re: truth is... by limaxray · · Score: 1

      If PWM isn't a true 'analog' output, what is? I can think of no better or simpler way to implement a DAC - with a lower level of error and greater precision - than PWM through a low pass filter. Or does this board simply hide those details from you - I admittedly am not up to date with these hobbyist boards.

    19. Re:truth is... by Anonymous Coward · · Score: 0

      Yeah, it makes you wonder... what good is simulation, if it doesn't tell you whether the real thing will work?

    20. Re:truth is... by Anonymous Coward · · Score: 0

      STM8 is a cheap as PIC, has a nicer architecture and better support by free tools, such as SDCC.

      Philipp

    21. Re: truth is... by umafuckit · · Score: 1

      True, I guess it depends in what dimension you're defining "analog". With PWM it's really temporal, via the duty cycle. Once you've gone through a DAC, it's in the voltage domain. I was thinking of the voltage domain: the Teensy has a built-in DAQ so you have the option of an analog voltage.

    22. Re:truth is... by Anonymous Coward · · Score: 0

      ***(By the by, the only two things that can be built with a rPi are (1) a MAME cabinet, and (2) a home file server. Any other claims are merely gratuitous falsifications)

      WTF are you talking about? A Raspberry Pi can do hundreds (if not thousands) of things well.

    23. Re:truth is... by Anonymous Coward · · Score: 0

      A sufficiently good simulation will mirror reality perfectly. The trouble is making a simulator which is that accurate. This falls under the category of the "Map–territory relation" https://en.wikipedia.org/wiki/Map%E2%80%93territory_relation

      IE: "Don't confuse the map for the territory"

      OTOH: If your map is good enough, the danger of confusing the two approaches zero.

    24. Re:truth is... by TemporalBeing · · Score: 1

      ***(By the by, the only two things that can be built with a rPi are (1) a MAME cabinet, and (2) a home file server. Any other claims are merely gratuitous falsifications)

      I'd have to disagree. My rPi wouldn't do too well as a file server; however, I have handed it just about everything else my prior server was doing to run my network; with the exception the firewall and routing - which I handed over to a Microtek RouterBoard 450G. The file server stuff I'm handing over to a Wandboard Quad - why? Because it has a SATA chipset and ports on it and can directly support a 2.5" SATA drive, the latest models even have the capability to directly power the drive if you can make the cable (rev3+). (And no, I don't consider using a USB interface for a file server sufficient.)

      The rPi is a nice system; and I'm planning more uses; but a MAME cabinet or file server is not one of them. The rPi2 is does even better.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    25. Re: truth is... by Anonymous Coward · · Score: 0

      It depends on what your priorities are, as some MCUs using an internal resistor network for analog output will produce less noise with less space or components than filtered PWM.

    26. Re:truth is... by Tough+Love · · Score: 1

      truth is... you don't need a board to "get your feet wet".

      You only need a simulator.

      Presumably you have already played with the simulator by the time you get the itch to try something real.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    27. Re:truth is... by tlhIngan · · Score: 1

      After building a few things with atmel-chip Arduino boards in the last couple years I gave in to my curiosity and bought a couple cheaper CLPD and FPGA boards. On electronics forums there's always people moaning "oh god not another arduino user" and whining how "there's so many other boards that are faster/have more cores/ect ect/why are you still using atmel shit". I ended up choosing Altera-chip boards, for no particular reason. Lower-end Altera or Xlinix boards can be had for $10-$15 from the orient-direct sites. A USB JTAG programmer costs another $5, if one wasn't included. The cost isn't the problem here.

      No, it's not cost. It's not power. It's community.

      The Arduino is popular because it has a relatively low barrier of entry, and sketches aren't hard to produce. But even then it has one thing other boards don't - there's a community around it helping produce libraries and helping people develop their hardware. So if you wanted to get started, there's millions of tutorials out there helping you from taking it out of the box, installing the software, and getting it to do your bidding within a few minutes.

      Sure it's inefficient as heck. But it is easy. And if you're not sure, there's always plenty of people around able to help you figure out the problem.

      And it's not all too different in the commercial world - often times, the reason someone picks one thing over another is simply support - if the company is willing to provide support, they'll get picked over someone less willing to support their product.

      And heck, I've seen development boards. The ones our company produces are pretty much ready to go once you open the box and apply power to it. You don't have to scramble and sign licenses and other stuff to get binaries that require special licensing after you bought the board - you can be productive immediately after the board arrives on your doorstep.

    28. Re:truth is... by Anonymous Coward · · Score: 0

      Pretty much all of the major families and brands of MCUs have become cheap to buy and program. Many of the manufacturers have free software stacks too, and there is at least open source support for programming of PICs too. It comes down to mostly preference and inertia of the programmer, sticking with what they are familiar with. What really can separate them at the end of the day is the extra modules that different chips have for various functions beyond just being a CPU, and these can vary a lot. If you don't use those than it doesn't matter, but if you do need one or at least want to save on components, then it makes a huge difference.

      Regardless, price isn't anywhere near the barrier it used to be for getting into such things, and difficulty is coming down pretty fast too.

    29. Re: truth is... by Anonymous Coward · · Score: 0

      > If PWM isn't a true 'analog' output, what is?

      A pin that can output continuously variable voltage levels.

  4. Field Programmable Gate Array by gurps_npc · · Score: 0, Flamebait
    Is the very first thing that both the post and the article SHOULD have said.

    The fact that neither of them explained the acronym makes me question the value of information.

    Because if you expect an article to tell you how to learn something, then you have to tell them what you are teaching, without having to google it.

    --
    excitingthingstodo.blogspot.com
    1. Re:Field Programmable Gate Array by Anonymous Coward · · Score: 5, Insightful

      Yeah, because "Field Programmable Gate Array" makes it perfectly clear for those never heard of an FPGA...

    2. Re:Field Programmable Gate Array by spongman · · Score: 1
    3. Re:Field Programmable Gate Array by Kohath · · Score: 1

      If it were the first two, you'd need more than a 3-part tutorial to learn to interact with them.

    4. Re:Field Programmable Gate Array by Anonymous Coward · · Score: 0

      Your geek card is revoked.

    5. Re:Field Programmable Gate Array by Dog-Cow · · Score: 0

      If you committed suicide, you wouldn't be bothered by such things. I know it may sound like an extreme solution, but try it. You might find you like it!

    6. Re:Field Programmable Gate Array by Anonymous Coward · · Score: 0

      What's a gurps?

    7. Re:Field Programmable Gate Array by gurps_npc · · Score: 1

      I provided real information that I had to look up and you decided to threaten my life? I think someone needs to take a happy pill, and it isn't me.

      --
      excitingthingstodo.blogspot.com
    8. Re:Field Programmable Gate Array by gurps_npc · · Score: 1
      Wow, you are really that foolish? Well, maybe you are a child. Let me explain how the real world works for you. Yes, you can google it - I did so. That's how I figured it out - and I put it on the thread so you know I did. But people do not google random things to see if they are interested in learning more about them. You only google something AFTER you decide you want to learn more about it.

      When writing an article only a totally incompetent author leaves the subject of the article unclear. Because if you don't explain the subject, no on would BOTHER to google it. Why should Joe Shmoe take his time and effort to figure out what your article is about? That's not his job, it YOUR job.

      The poster of this thread and the writer of the article did a horrible job. It's the equivalent of coding a 100,000 line application without bothering to put any comments in it at all.

      --
      excitingthingstodo.blogspot.com
    9. Re:Field Programmable Gate Array by Anonymous Coward · · Score: 0

      Yet another lazy libtard. Should we also wipe your tender ass after your next bowel movement?

    10. Re:Field Programmable Gate Array by Anonymous Coward · · Score: 0

      generic universal roleplaying system

      yep fpga's are all well and good, but devkits with much superior chips can be had for 1-200 or less if you look on ebay. they use some kits at unis and some of the kiddies sell them at a profit, as the edu boards get sold dirt cheap if you qualify.

      my personal current interest is hw emulation of older computers. iirc there's even a '486 model floating around somewhere on the net. only trouble is that designs will need tweaking if not for a particular make/model fpga as they all have their quirks.

      i can see them potentially being handy for quick circuit prototyping, but i haven't done that in years...

    11. Re:Field Programmable Gate Array by chispito · · Score: 1

      The fact that neither of them explained the acronym makes me question the value of information.

      If you don't already know what FPGA stands for, "Field Programmable Gate Array" isn't going to clarify anything. It's not abbreviated for the sake of the summary, the acronym is the commonly used name for the tech.

      --
      The Daddy casts sleep on the Baby. The Baby resists!
    12. Re:Field Programmable Gate Array by chispito · · Score: 1

      FPGA is totally meaningless acronym. It could have meant "Female Professional Golfers Association" or "Fantasy Professional Gamers of America" (OK that was pushing it )

      Field Programmable Gate Array is more than enough to get someone that is computer literate interested in it the tutorial

      The summary is concerned with "open source tool chains" for an "FPGA board." That is plenty to infer that this is an electronics/programming project. Your retort is just silly.

      --
      The Daddy casts sleep on the Baby. The Baby resists!
    13. Re:Field Programmable Gate Array by Anonymous Coward · · Score: 0

      Fucking Piece of Garbage Arduino?

  5. The more things change... by Anonymous Coward · · Score: 3, Insightful

    ... the more they stay the same.

    During my time in college nearly a decade ago, I experimented a lot with libre toolchains like iVerilog and the like, which were very useful for putting together high quality code that could be dumped into some poorly designed Xilinx toolchain (with a few workarounds for the bugs in Xilinx's junk software).

    I cannot believe that nearly a decade later, this cheap FPGA is as far as we've come.

    It's been a lost decade; everything—including smartphones, tablets, increasingly laptops and desktops, FPGAs, etc.—has been completely locked down and walled off from the innovative play of passionate hackers. What a waste of time.

    1. Re:The more things change... by spire3661 · · Score: 2

      The last decade we have gained MASSIVELY in efficiency and cost. IM typing this on an Intel NUC I picked up at retail for $129, $10 of RAM, $25 keyboard with touchpad and $5 class 10 SD card. All running a free OS that recognized all the hardware and automatically installed it including Bluetooth and WiFi. Lost decade, give me a break.

      --
      Good-bye
    2. Re:The more things change... by msauve · · Score: 0

      ...and all of that has made FPGAs more accessible to the average Joe how, exactly?

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    3. Re:The more things change... by i.r.id10t · · Score: 1

      How else do you get to the vendor website to order the FPGA and communicate with others? Do you expect him to actually leave his room and socialize with others sharing a similar interest?

      (not attacking op, read above with a dash of humor)

      --
      Don't blame me, I voted for Kodos
    4. Re:The more things change... by Anonymous Coward · · Score: 0, Offtopic

      GP indeed misses the point, and probably didn't realize how close he got. What's really killing the FPGA is the Raspberry Pi and similar SoC-based SBC's. A RPi running Linux has much better I/O than an FPGA, is much faster, and is far easier to program and debug. Of course, running Linux to do some bitbanging is spectacularly inefficient from a technical viewpoint, but economically the RPi wins.

      There's a reason you see the fast shift to FPGA's with hard cores : it's the only viable approach. Use a small FPGA for the few algorithms that are troublesome on a straightforward CPU design, put the 98% of support logic in software.

    5. Re:The more things change... by Anonymous Coward · · Score: 0

      The last decade we have gained MASSIVELY in efficiency and cost. IM typing this on an Intel NUC I picked up at retail for $129, $10 of RAM, $25 keyboard with touchpad and $5 class 10 SD card. All running a free OS that recognized all the hardware and automatically installed it including Bluetooth and WiFi. Lost decade, give me a break.

      Reading comprehension isn't one of your strong suits, I take it?

      I concur with the OP that FPGA toolchains are still clunky garbage.

    6. Re:The more things change... by Anonymous Coward · · Score: 1

      You have no idea how an FPGA works, do you?
      "A RPi running Linux has much better I/O than an FPGA, is much faster"
      Ludicrous...
      A CPU and an FPGA are two fundamentally different beasts. If you need super fast I/O and a hardware approach where I/O speed and 'at the same time' operations are required, go with an FPGA. If you want a sequential execution engine, a CPU is the tool for the job. That's the reason you are seeing FPGAs with hard CPU cores: they complement each other.

    7. Re:The more things change... by Anonymous Coward · · Score: 0

      . A RPi running Linux has much better I/O than an FPGA, is much faster, and is far easier to program and debug

      Years ago I got a $20 dev board for an FPGA that had 80+ IO lines, could have them all doing different things at 200-400 MHz, and had enough gates to put more than a single CPU core in it. I would like to see an RPi keep up with that many IO lines and perform actual logic on them at those speeds... But yes, it is very difficult to program.

    8. Re:The more things change... by msauve · · Score: 1

      So, you're one of those who hasn't been able to use, let alone understand, what an FPGA does. Seriously, "A RPi running Linux has much better I/O than an FPGA, is much faster" is straightforward ignorance.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    9. Re:The more things change... by drinkypoo · · Score: 1

      ...and all of that has made FPGAs more accessible to the average Joe how, exactly?

      It hasn't. The advances in cheap computers mean that things which used to require custom logic to be fast can be solved by just wasting CPU power instead.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    10. Re:The more things change... by Anonymous Coward · · Score: 0

      It is laughable that you the think RaspPis are "killing" the FPGA. There was barely ever a large vibrant FPGA hobbyist community to speak of, there's nothing to "kill", and most microcontroller/SBC users will never in their lives need nor want to touch FPGAs. FPGAs and single board computers serve utterly completely different purposes. This is like saying digital is killing analog, while ignoring transducers, amplifiers, power electronics, RF, etc.

      Your second paragraph doesn't support your first point; that anything is killing the FPGA. FPGAs with hard cores exist because they are so commonly used and it saves power over using a soft core. No one's questioning the wisdom of using software with a bit of help from an FPGA, but they are used for so much more than just that.

    11. Re:The more things change... by Anonymous Coward · · Score: 0

      Next your going to tell me ASMLs lithography machines aren't accessible either.
      These chips are for use in industry for prototyping and speeding up low volume applications (applications where its too expensive to fabricate an asic, but you still want custom hardware.)
      For home use there is no point.
      Your home automation system doesn't need to process gigabytes of information per second.
      You can by a microprocessor for a couple of bucks and have it do whatever you want.

    12. Re: The more things change... by Anonymous Coward · · Score: 0

      Your kind of thinking has proved wrong time and again.

    13. Re:The more things change... by Tough+Love · · Score: 1

      I bet the rPI runs faster than the CPU core on your $20 FPGA.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    14. Re:The more things change... by bob_super · · Score: 1

      Then you need to pay more attention...

      The FREE Vivado Webpack gives you access to chips up to Artix 200T, Kintex 160T and Zynq 7030.
      Those are bigger devices than any tinkerer or beginner ever has time to fill. Most 65nm FPGAs are smaller.

    15. Re: The more things change... by Anonymous Coward · · Score: 0

      Name one instance where I've been proven wrong.
      I've literally never heard of anyone using FPGAs at home in a way where a micro controller couldn't do the job better. (cheaper, easier).
      Note that I'm not talking about prototyping.
      And before you say bitcoin remember this:
      FPGA suck at bitcoin mining compared to video cards.
      At the time when fpga mining might have been cost effective it was a low volume application. In other words only a handful of people were doing it.
      When enough people started doing it asics came out and FPGAs were dead again.

    16. Re: The more things change... by Anonymous Coward · · Score: 0

      I've literally never heard of anyone using FPGAs at home in a way where a micro controller couldn't do the job better. (cheaper, easier).

      I've seen them used by hobbyists for anything that needs timing resolution below a microsecond across multiple channels. This varies from interesting radio setups using fewer components than other ways, to implementing obscure wired communication protocols, to properly running resonant circuits where resonance points change on the fly, to simply replacing large amounts of logic gates with a single chip. It is hard to argue that a MCU can do it much cheaper when you can get FPGAs for a couple dollars or less, and they certainly can't do it faster when it comes to handling a large number of IOs doing stuff concurrently. It just comes down to learning curve, and as with any other hobby, there is always going to be a lot of people not willing to overcoming a learning curve, and some that will.

      I've also seen FPGAs in plenty of higher volume devices (i.e. at least thousands produced) in situations where there was a desire to update logic and firmware after production.

    17. Re:The more things change... by Anonymous Coward · · Score: 0

      Yes, but it can't do I/O faster than an FPGA... the exact claim being be countered. The point is there are a lot of things you can do with dedicated logic gates taking full advantage of the FPGA so that those I/O lines are performing complex functions much faster than an RPi could struggle with just toggling on an off. If you need a CPU for some functions, you can include that too, and there a lot of situations where it is not needed to be as fast when the I/O has their own circuits. It is a lot like how people will use python to tie together other functions written in a faster language. The fact that python is slow doesn't cause a problem for a lot such setups when the speed critical functions are done right.

      Besides, saying X is better at Y at Z is not the same as saying Y is useless. It depends on your use case.

  6. Verilog by Darinbob · · Score: 1

    Why Verilog and not VHDL?

    (actually that's a good interview filter question too)

    1. Re:Verilog by StandardCell · · Score: 3, Insightful

      I think VHDL is better than Verilog to learn HDLs for two main reasons:

      1. VHDL is based on ADA, which is a concurrent systems language that is verbose and relatively easy to read versus Verilog's C-based syntax that is more terse, which leads me to...
      2. Verilog, being C-based, can reinforce procedural language thinking rather than concurrent system thinking where inherent timing-independent parallelism is the norm in an HDL (e.g. multiple clock domains, or even *shudder* asynchronous feedback).

      That said, VHDL has its own problems, such as its relative lack of use in the workplace like the United States, packages and library dependency being a bit clunky, and lack of efficiency in some situations versus Verilog where equivalent Verilog is just less typing and IMO much easier to read a netlist for a standard-cell design.

      For a $25 package, it's really hard to go wrong with this and I hope it will take off. I only wish there were better tools to reinforce the principles of timing and design pipelining, especially a tool for static timing analysis. Then again, I suspect nobody was expecting to get a copy of Synopsys PrimeTime with this package either!

    2. Re:Verilog by Darinbob · · Score: 2

      I'm not the expert, but VHDL adds the strong typing. A lot of people disparage strong typing and any other "annoyance" features but it really helps in the long run to point out possible problems as early as possible. Tediousness is not a bad thing. Plus as you say there's a bigger break from procedural languages.

      I think there's some parallel here in American vs European preference with the C versus Pascal/Modula/Ada preferences.

      That's why I think it's possibly a good question for interviews, not in order to see if they have the correct answer but to see how they defend their answer.

      Ultimately, any good HDL programmer is going to use both over time depending upon what job you get.

    3. Re:Verilog by Darinbob · · Score: 1

      Many good interview questions do not have a "best" answer. That's something I feel is wrong with how a lot of companies interview, expecting the candidate to give the right answer rather than defending their answer or having a back and forth discussion. The classic example was Microsoft's "why are manhole covers round?" question, which obviously has many possible answers and yet interviewees report that they met interviewers who seemed to expect only the correct answer.

      Verilog is newer than VHDL but it lacks some features. There are newer Verilog standards and offshoots, and things like SystemVerilog. Being newer means that more new things end up in Verilog, but if you go to well established companies or the defense industry that VHDL is still prominent. Ultimately you use what the job wants you to use, and over time you'll use both (sometimes on the same project). But VHDL is still current, it's not some dusty old relic like Fortran.

      Some people take this stuff too seriously though. Getting into religious arguments about a language misses the point that the language is there to assist you in creating something, the language itself is not the goal.

      That's sort of why I asked the question. Whenever I see any sort of "key kids, let's play with FPGAs!" projects they tend to be using Verilog and only rarely will mention VHDL as an aside.

    4. Re:Verilog by Asmodae · · Score: 1
      If you know procedural coding, VHDL is a stronger break in syntax and can help you think in terms of hardware.

      BUT there are some weird issues with support of the latest VHDL standards from a lot of vendors which SUCKS. VHDL 2008 is still not fully supported, UGH.

    5. Re: Verilog by Anonymous Coward · · Score: 0

      Fortran is still current, try to beat a modern Fortran compiler at number crunching using c, you won't

    6. Re:Verilog by electrosoccertux · · Score: 1

      Verilog is used more stateside, VHDL more in Europe.

    7. Re: Verilog by Anonymous Coward · · Score: 0

      >Fortran is still current, try to beat a modern Fortran compiler at number crunching using c, you won't

      Which C compiler? There are a few.
      Also this sounds like a challenge. Surely this means there is room for improvement in C?

    8. Re:Verilog by Anonymous Coward · · Score: 0

      " and American's are too stupid to learn the proper way of doing things?"

      What about the proper way to pluralize things? Hint: it's not with an apostrophe!!

    9. Re:Verilog by Anne+Thwacks · · Score: 1
      When I were a kid, we were told "a picture is worth 1,000 words".

      After more than 30 years experience of FPGAs, I can say with complete confidence, a well drawn schematic is worth 2GB of VHDL. But learn from DEC PDP11 schematics and not from British Standard compliant ones.

      --
      Sent from my ASR33 using ASCII
    10. Re:Verilog by Anonymous Coward · · Score: 0

      Tediousness is not a bad thing

      Yes it is. I work with VHDL every day and sometimes it just sucks.
      Also, there is a difference between strong typing and strict typing.
      Most of the annoyances with VHDL have been fixed in vhdl-2008 (variable sized multi dimensional array types, sensitivity list all keyword, std_logic as conditional value, etc.).
      But few vendors support all these features, if any. Most are stuck on vhdl 93, or some subset of 2008.
      If you want your code to work with more than one vendors tools you basically have to use 93.
      What this means is that if you want an array of 2 bit values and an array of 8 bit values and an array of 32 bit values you have to declare three different types.
      The worst thing is updating code written in 87 style that still uses component declarations every where.
      Now you have to update every component declaration, in addition to the port maps and entity declarations.
      That's just pointless. Worst of all, because the port maps and component declarations match, you won't get compiler errors.
      Instead you will get errors when trying to load the simulation. (depends on the tool maybe)

    11. Re:Verilog by Anonymous Coward · · Score: 0

      We had to use Verilog in college because my program was EE intensive (I was a CS major). If you use C now, use Verilog, if not , use VHDL. HDLs suck ass I don't advise to pick this up as a "hobby".. Just make programs in expressive languages like C#, Java, or Javascript/CSS/HTML5 . Anything C and lower should only be used if you have to haha.

  7. fpga4fun by TeknoHog · · Score: 3, Informative

    I didn't read the summary or the article, but I see these comments about overwhelming toolchains. To me, the important bit is understanding some general concepts (it helps to have some electronics experience first) and the language (Verilog is probably easier than VHDL). Fpga4fun and its tutorials were a great introduction to these.

    For those of you who think FPGAs are a waste of time compared to small/fast/low-power CPUs, there are plenty of reasons to learn them anyway. The key idea is that you design your own circuit, instead of running your code on someone else's CPU design. If you have any electronics background, you'll appreciate the idea of basically writing your circuits in code, instead of the painstaking and error-prone manual assembly. It really bridges the gap between software and hardware in many ways.

    One interesting side effect to me is that FPGAs helped me write and understand parallel code better. In an FPGA, you often write genuinely parallel circuitry, and you need extra care and thought to make it work at all. That kind of thinking will carry over to your software projects too.

    --
    Escher was the first MC and Giger invented the HR department.
    1. Re:fpga4fun by Anonymous Coward · · Score: 1, Interesting

      An alternative source for learning FPGA/CPLD:

      http://www.pyroelectro.com/edu/fpga/

  8. Finally a complete open-source tool chain for FPGA by Anonymous Coward · · Score: 0

    This is the best news I've seen on here for a while. To the guys who wrote the "Project IceStorm" and associated tools to go from verilog to a bin file: Nice Work!!! I never thought I would see it happen. Now if you can reverse engineer some more complex devices with DSP cells, ...can't wait. Really looking forward to competely open-source FPGA development!

  9. FPGA by Anonymous Coward · · Score: 0

    Since we are on the topic of FPGA, Altera has a free book FPGA for Dummies. The book is more of an overview of the industry, definitely good for novices.

  10. Better Tutorial at PyroEDU by Anonymous Coward · · Score: 0

    That tutorial is lacking. You're better of with FPGA/CPLDs using PyroEDU's free online course, it's far better with good examples that any software/hardware jockey can follow and learn with:

    http://www.pyroelectro.com/edu...

  11. Hundreds, Hundreds of Megabytes! by Anonymous Coward · · Score: 0

    Oh no, not hundreds of megabytes. Where will i get the hard disk space or bandwith. That is almost as big as a modern GFX driver.

  12. Explanation? by Anonymous Coward · · Score: 0

    What does an FPGA offer? What makes it better/desirable compared to a general purpose computer like a Raspberry Pi or Arduino?

  13. What is that? by Anonymous Coward · · Score: 0

    A simple Google of FPGA comes up as a field-programmable gate array.
    I'm assuming that is indeed what this article is about, but since the acronym wasn't expanded out on it's first usage it is a bit bloody vague when skimming through to see whether or not to read on.

  14. 100s of MB? by Anonymous Coward · · Score: 0

    Where do I get a toolchain for only 100s of MB? I just downloaded Xilinx's ISE software for school and the installer was 8GB (you can get this down to 6.5GB if you download the Windows-only installer). I don't want to think about how much of my hard drive I lost when I uncompressed/installed it. I've used Altera's software as well, and it's also measured in GB.

    1. Re:100s of MB? by Tough+Love · · Score: 1

      Where do I get a toolchain for only 100s of MB? I just downloaded Xilinx's ISE software for school and the installer was 8GB (you can get this down to 6.5GB if you download the Windows-only installer). I don't want to think about how much of my hard drive I lost when I uncompressed/installed it. I've used Altera's software as well, and it's also measured in GB.

      Presumably the FPGA vendors mean to punish their users because they know their users like it.

      --
      When all you have is a hammer, every problem starts to look like a thumb.