element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
FPGA
  • Technologies
  • More
FPGA
Forum Where to start for an easy intro to FPGAs?
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 27 replies
  • Answers 18 answers
  • Subscribers 553 subscribers
  • Views 5882 views
  • Users 0 members are here
Related

Where to start for an easy intro to FPGAs?

Fred27
Fred27 over 6 years ago

I'm sure this is one of those questions that is going to have more opinion that definitive answer, but I'm going to ask it anyway. I've not done anything with FPGAs. I know what they are and what they can do. I know that they're a bit of a shift in mindset for someone who's used to coding for a microcontroller. I'm at the same stage that I'm sure many people are. I want to find out if FPGAs are the sort of thing that I want to get into or not. To dip my toe in the water so to speak.

 

The trouble is there are a lot of manufacturers who seem to have their own tool chains and programming approaches. It's tricky picking one to start with. There are road tests of a few on here but to be honest they all sound hard and are difficult to compare. Has anyone got advice on where to start? I suppose my priorities are:

 

  • Once I pick a manufacturer I want to stick with it. Jumping from one to another will just make it harder.
  • It would be hopefully easy to get the basics. I don't need raw power right now. Being able to create a microcontroller core is great, but will only confuse me at this stage.
  • The option of a SoC alongside a microcontroller would be a nice option for later, but once again I don't need it right now.
  • Reasonably cheap. It doesn't have to be the cheapest, but this may be a dead end experience so I'd prefer 10s rather than 100s of £/$.

 

Right now I was thinking of waiting see how the pans out for those selected, and to learn from their experience. However, any opinions are welcome

  • Sign in to reply
  • Cancel

Top Replies

  • genebren
    genebren over 6 years ago +8 suggested
    David, You might want to look at CPLD's first. They are very much the same as FPGA, but smaller (#gates and #pins). They are typically programmed with the same tools and languages as FPGAs. I started with…
  • michaelkellett
    michaelkellett over 6 years ago +8 suggested
    If you want to learn about FPGAs then don't mess with CPLDs. The CoolRunners are ancient (15 year old designs). There are 4 major players in the FPGA business, Xilinx, Intel (was Altera), Lattice and Microsemi…
  • michaelkellett
    michaelkellett over 6 years ago in reply to neuromodulator +8 suggested
    Lots of interesting points - I'm off on a long weekend hol so not enough time to cover them all but I'll have a go. There are two primary HDL (Hardware Definition Languages), Verilog and VHDL. They both…
  • genebren
    0 genebren over 6 years ago

    David,

     

    You might want to look at CPLD's first.  They are very much the same as FPGA, but smaller (#gates and #pins).  They are typically programmed with the same tools and languages as FPGAs.  I started with CPLDs to build sequencers, and co-processors like circuits to work together with uP and handle the things that are too fast or just to difficult to do on a uP.  I like the CPLDs from the XILINX product line (especially the coolrunner line).  They are much cheaper and easier to work with than some of the larger FPGAs.  The tools are free (https://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack.html ) and fairly easy to learn.

     

    Good luck!

    Gene

    • Cancel
    • Vote Up +8 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • DAB
    0 DAB over 6 years ago

    Hi David,

     

    Take a look at the Cypress Semiconductor PSOC series.

    They are inexpensive, though not a full FPGA, you get access to programmable hardware for digital and analog circuits, which is a high level look at FPGA type implementation.

     

    You can get started for 4 USD and then decide if you want to go into the more detailed world of hardware design.

     

    DAB

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • rolandl
    0 rolandl over 6 years ago

    I bought a board from nandland.com. The guy also has a youtube channel, nandland. As I understand it it's not so much the manufacturer that should be your first pick but what language you choose. All FPGA's are programmed in either VHDL or verilog.

    My experience with the nandland board is positive. Together with the video's and this https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=2ahUKEwiYp_yW4MfdAhUEgRoKHYqJCNcQFjAA… book you will have a good introduction into FPGA's. You won't be hassled by the ridiculously complicated IDE's of the big manufacturers, which I consider to be a real plus when starting out.

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • 14rhb
    0 14rhb over 6 years ago

    Hi David,

     

    Did you want to learn the Hardware Description Languages (HDL) such as VHDL/Verilog or do you just want to be able to utilise the processing power of the FPGA in the easiest way you can?

     

    My reason for asking is that I've just written a blog about the Digilent PYNQ - An Overview  - it takes the use of an FPGA to another level of abstraction and uses Python and C code controlled through a web browser to configure the FPGA. Although the device is likely not optimised it is a simple route to getting the FPGA to do interesting stuff. No need to fiddle with any of those difficult toolchains.

     

    If you want something along the same lines then the Arduino MKR Vidor 4000 may be promising. According to the founder of Arduino (Massimo Banzi) during their webinar this evening there will be a simple drag and drop IDE for this board by the end of the year. Again it might be a really simple way to get into using the power of an FPGA without having to spend hours 'fighting' the complexities of a huge IDE, config files and optimisation. There are a couple of libraries available for the Vidor at the moment -  so it can be used still. You access the IP blocks from the C code - again no HDL.

     

    Rod

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • shabaz
    0 shabaz over 6 years ago

    Hi David,

     

    I've never done anything complex in programmable logic so I can't say which is the best approach, but I agree with Gene that CPLDs are a fun stepping-stone if you're interested. This Digilent boardThis Digilent board should really be a quarter of the price since there is nothing on there except the CPLD (Coolrunner-II) but it's still affordable as a one-off to experiment with. That Arduino board that Rod mentions looks really fantastic. It could be really worthwhile exploring that, initially to experience the power of 'hardware acceleration' and hopefully the documentation will eventually be there for people to write their own blocks of hardware.

    I tried some easy projects to get familiar with HDLs, like making a random noise generator (linear feedback shift generator), I've used the coolrunner for a couple of experiments - also since the chip is TQFP, it is easy to solder (and cheaper) to make your own board too. I used it it to create a TFT screen driver (using an external dual port RAM chip) for a small display, generating the pixel and sync signals. I wanted to make a handheld 68000 based computer ages ago. I simulated the screen driver, but never got round to implementing it..

    • Cancel
    • Vote Up +5 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • Fred27
    0 Fred27 over 6 years ago

    Thanks for all the helpful replies. I definitely want to do things "properly" and learn to use a hardware description language.

     

    The fact that there are CPLDs that are available as an easy way in without having to start again if moving up to a full FPGA is the sort of gem of information I was after. Thanks, Gene. If there's a manufacturer that makes CPLDs, FPGAs and SoCs that all use the same language and toolchain then that sounds perfect. I'll look a bit more into the Xilinx ecosystem.

     

    I'll look a bit more into Cypress too, DAB. A $4 board certainly sounds like a good starting point, but saving time is more important then saving money.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • andywest
    0 andywest over 6 years ago

    I learned most of what I know from the following books and documents:

     

    Learning FPGAs: Digital Design for Beginners with Mojo and Lucid HDL by Justin Rajewski

    The first thing I did was read this book. It uses the Mojo dev board and a language called Lucid, but it was close enough to Verilog to be useful. I bought a Mojo, but I never actually programmed it. I just read the book and moved on.

     

    Programming FPGAs: Getting Started with Verilog by Simon Monk

    I read this next and got a pretty good feel for Verilog concepts and syntax. It covers three boards: The Elbert 2, the Mojo, and the Papilio.

     

    DE0-Nano User Manual

    After doing a bunch of research and settling on the DE0-Nano dev kit, I downloaded the software and manual and read through it. This product-specific documentation was just as important as the books I read, if not more.

     

    At this point I was equipped with a good foundation of knowledge which gave me more confidence when I opened the Quartus II code editor for the first time. After that I looked at lots and lots of code examples on the web. One of the best ways to learn is to read a lot of code.

    • Cancel
    • Vote Up +6 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • afmishaq
    0 afmishaq over 6 years ago in reply to DAB

    Hi DAB,

     

    Can you provide a little more info / link to the inexpensive Cypress PSOC? Just curious.

     

    Thanks,

    Faiz

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • michaelkellett
    0 michaelkellett over 6 years ago

    If you want to learn about FPGAs then don't mess with CPLDs. The CoolRunners are ancient (15 year old designs).

     

    There are 4 major players in the FPGA business, Xilinx, Intel (was Altera), Lattice and Microsemi.

     

    Lattice are the only player interested in cheap FPGAs and they are actively working on their ice40 parts. They also have an XP2 range. They have FPGAs in thse ranges TQFP and QFN packages. The tools are the simplest to use but a bit basic.

     

    Intel (Altera) have the Cyclone 10 range which are nice in that the whole range is available in TQFP, they offer many parts in single 3.3V working and they are real full function FPGAs. The Altera free tool set is (in my opinion) the nicest of the free tools.

     

    Xilinx are the market leader in mega stuff and their main (Vivado) toolset is huge, very powerful and rather overwhelming (it has a free version too). Their CPLDs and older chips are not supported by Viavado but by older tools ( still free but one feels the coprporate focus is elsewhere.) Xilinx have no FPGAs in TQFP that are also supported by Vivado.

     

    The cheapest dev boards are Chinese boards with older Altera chips on them - you can get going for well under £30. There are Lattice boards as cheap from Farnell - I'd go with the Brevia 2253073 for about £35 - it's got a RAM chip and debug interface on the baord.

     

    There is a really cheap Lattice ice40 board from Gnarlygrey but these do have some issues which might be hard for a novice to deal with.

     

    Gnarly Grey - a microelectronic architecture company

     

    i'd leave the Arduino MKR Vidor 4000 for a few months (till it's properly sorted) - I really don't like the Arduino approach of wrapping everything up in it's own cloak but the board is cheap and has a decent FPGA on it (unfortunately matched with a totally under powered processor.)  And of course some people really like the Arduino way.

     

    (Ooops - I didn't say anything about Microsemi - but that's because I've never used their stuff !)

     

    MK

    • Cancel
    • Vote Up +8 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • Fred27
    0 Fred27 over 6 years ago in reply to michaelkellett

    Thanks for the informative comparison, Michael. A relative view of the options is exactly what I'm after. Although as if often the way, with one view of things I think have an answer but as more opinions appear I feel more conflicted! image image

     

    To be honest I'm probably going to be happy with CPLDs and older designs, as long as I'm not on the "wrong" path. If what I learn from CPLDs is transferable and not a dead end then I'm happy. The Coolrunner series does seem to be programmed with Verilog / VHDL in the same way as their bigger brother FPGAs and SoCs so I haven't ruled them out yet. I'm a hobbyist so to be honest I may never grow out of a CPLD that I can easily solder. (I much prefer QFP to QFN if I can.)

     

    I will certainly check out the Lattice boards you mention from Farnell and take a quick peek at the Intel parts.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube