What is the easiest FPGA to learn and get started with... - Page 1
Forum section: electronics / projects

author: alank2
author_rank: Super Contributor
timestamp: September 19, 2015, 01:47:45 pm
content: I am very familiar with AVR's and have done both C and some ASM programming for them. One project I've been messing around with for awhile is a frequency counter that I've got running on one of those cheap 26MHz OCXO's that were on eBay for awhile. Currently I am using some 74 series chips to do a couple of tasks. On the AVR I am using the input capture unit to time stamp transistions so I can measure the distance between them (period) and invert that into a frequency so I can get counts like "250.00203" Hz instead of just "250" like my BK counter does. The input capture can only handle so much speed, so I am using a 74 series counter ic to divide the signal when it is too fast and the unit can switch into direct mode if the signal is slow enough or the divided signal when necessary allowing it to go from 0-100MHz. The other 74 series ic is a nand chip I am using to switch between feeding the input capture pin the direct or divided signal.My question is this - would this be a good lesson or learning project to try to implement the simplest FPGA to replace the two 74 series devices for these tasks? If so, what FPGA should I look at to try? Other ideas? I know a FPGA can do a lot more, but I am thinking this could get me in the door to understanding them a bit.

author: Zeyneb
author_rank: Regular Contributor
timestamp: September 19, 2015, 05:07:23 pm
content: Hi FPGAs are devices in the category Programmable Logic Devices or PLDs. FPGAs are the most versatile and complicated of them. The other ones are CPLDs and SPLDs. The C in CPLD stands for complex and the S in SPLD for simple. The digital design for CPLDs and SPLDs can also written in VHDL or Verilog. Unlike FPGAs, CPLDs and SPLDs are non-volatile so retain their design while the power is shut down. Therefore you don't need a configuration PROM.So I'd suggest to visit the websites of Xilinx, Altera and Lattice and search for their CPLD and SPLD product portfolio to start easy in PLDs.Quote from: alank2 on September 19, 2015, 01:47:45 pmYour application calls for a SPLD or (if some performance or size specification is insufficient) an CPLD. That would be a good lesson to get familiar with HDLs, vendor tools and the Programmable Logic Device itself.Good luck!

author: DanielS
author_rank: Frequent Contributor
timestamp: September 19, 2015, 05:24:21 pm
content: An FPGA would be grossly overkill for this sort of application. You would be much better off with a CPLD.As far as "easiest" is concerned, whatever FPGA you choose, it all boils down to writing VHDL/Verilog/SystemC and learning the design suite's workflow.I have worked with Xilinx and Altera CPLDs and FPGAs. Personally, I cannot say I found dealing with either one significantly easier or harder in any way. Xilinx's IDE has some beginner-friendly features like a large inventory of premade code snippets for various common constructs which helps with either learning HDL programming or saving on typing but once your skills evolve beyond that, you may start butting into clunky UI bugs and synthesis tool fussyness. Altera's tools simply feel more mature.So, between those two, I would say Xiinx for hobbyists/beginners and Altera for more serious stuff.

author: bingo600
author_rank: Super Contributor
timestamp: September 19, 2015, 07:17:14 pm
content: Hi AlanFor a cheap startup i'd suggest these Altera boards.I'm using them , and chose them because of being quite a bit cheaper than the Xilinx oards , that includes the programmer.Remember 3.3v only on the I/O's.Programmerhttp://www.ebay.com/itm/200943750380CPLD Blue-board - (Don't get the Red-board, almost no decoupling caps)http://www.ebay.com/itm/181436966398FPGA (Have used this one, works fine)http://www.ebay.com/itm/400630255386I'm still a VHDL noob , but followed this course , and got my "hands dirty"http://www.pyroelectro.com/edu/fpga/http://www.pyroelectro.com/forums/viewforum.php?f=26I did make "The programmable levelshifter" for my ODROID , with the Blue CPLD Board.http://forum.odroid.com/viewtopic.php?f=80&t=11888For a quick start here's a divide by 50Mhz , using schematic entry and 74390's (Adjust to fit your need)http://www.pyroelectro.com/forums/viewtopic.php?f=26&t=837Welcome to HDL : It's going to FSCK your brain, whenever you "Think C"And i'd recommend the CPLD for a "Prescaler" , it's quite easy to hit 150+ MHz with that one.But at those prices , you might have budget for both boards./Bingo

author: nctnico
author_rank: Super Contributor
timestamp: September 19, 2015, 09:40:26 pm
content: I second the suggestion to start with a small CPLD. These have a limited complexity so you can oversee and understand how your code gets converted into the boolean equations used to define the outputs. An FPGA works largely the same but due to the enormous amount of logic and flipflops it needs a leap of faith to work with them.

author: DanielS
author_rank: Frequent Contributor
timestamp: September 19, 2015, 10:11:37 pm
content: Quote from: nctnico on September 19, 2015, 09:40:26 pmFPGAs and CPLDs have quite different structures: CPLDs are organized into a few programmable logic arrays with typically one data latch per PLA output while FPGAs do most of their magic using look-up tables, carry chain logic, some dedicated hardware function blocks and tons of distributed data latches to help with pipelining operations.CPLDs are exceptionally well suited at consolidating discrete combinational logic and doing basic state machines while FPGAs are more geared towards complete applications and systems.

author: wd5gnr
author_rank: Regular Contributor
timestamp: September 20, 2015, 07:12:37 pm
content: If you want to get started on the cheap, two pieces of advice:1) You don't have to buy anything. You ought to be doing everything in simulation anyway so learn that before you even buy hardware. Don't want to install anything? See this:http://hackaday.com/2015/07/21/learn-fpgas-in-your-browser/2) If you want a cheap easy board, check out this video series (and the articles linked). The board is under $20:https://www.youtube.com/playlist?list=PL_tws4AXg7asC75dRvL_4vRWbz1F5focGThe Xilinx or Altera boards will have more powerful chips, but this is a very simple board, very cheap, and a very easy to use toolchain.

author: MarkF
author_rank: Super Contributor
timestamp: September 20, 2015, 09:35:09 pm
content: Cornell has theirECE5760 FPGA lectures 2011available online. There are almost 28 hours of lectures if you have the time to watch them.