FPGA newbie - Where do I start? - Page 1
Forum section: electronics / general

author: Bienieboo
author_rank: Contributor
timestamp: January 16, 2014, 03:50:13 am
content: Hi I want to start learning about FPGA's where do I begin? I understand Xilinx is the leader in this category but as a beginner in general to electronics it's a bit overwhelming. Is there a development board that I should buy to hit the ground running making some basic projects. I started off with arduino's so my knowledge in this category is basic to none. But I'm still eager to try something new.Also what language do I have to learn to get started, and am I way off for evening starting here is there other stepping stones that I should take first?In the Xilinx website they have Virtex UltraScale, Kintex ultraScale, Virtex 7, artix-7, and spartan-6, 3d IC's SoCs. What's the difference?Thanks for any feedback.

author: RRobot
author_rank: Regular Contributor
timestamp: January 16, 2014, 04:43:12 am
content: Start with a good book. You need to learn digital logic well and although you can do FPGA design with schematic capture you will need to learn either Verilog or VHDL as well. Then get a Xilinx dev board and download the Xilinx ISE package. I started with the Spartan 3e starter kit from Diligent/Xilinx. Not sure if its still made or if there are better/cheaper alternatives. What ever you do try to get a dev board with some tutorials on ISE as it can be a bit daunting to work your way around.A good book to start with is "Digital Design and Architecture" by David Harris and Sara Harris which will take you from digital logic basics to developing a MIPS CPU. Besides the schematics it also develops in Verilog and VHDL side by side. Very gentle pace, although you will have to study it carefully. You can check out the reviews here:http://www.amazon.com/Digital-Design-Computer-Architecture-Second/dp/0123944244/ref=sr_1_1?s=books&ie=UTF8&qid=1389847480&sr=1-1&keywords=Digital+Design+and+ArchitectureGood luck.

author: Bassman59
author_rank: Super Contributor
timestamp: January 16, 2014, 04:52:44 am
content: Quote from: Bienieboo on January 16, 2014, 03:50:13 amThe difference is complexity. Virtex 7 is a huge (expensive) part. Artix 7 is a simpler device in the "7" series. "3D" refers to how the die are stacked in the package, which is wholly uninteresting to most people. The SoC ("System on a Chip") devices roll a microcontroller (in Zync it's an ARM) in with the FPGA fabric. For some applications this is great; for learning FPGAs it's not necessary and just adds a level of tools bullshit that will prove frustrating.A good starter board is the Xilinx kit based on one of the Spartan 3A or 3AN devices. The parts are big enough to learn with but not so huge that the board is cost-prohibitive.

author: zapta
author_rank: Super Contributor
timestamp: January 16, 2014, 05:01:49 am
content: No need to buy a board, sow download xilix free tools, write hdl code, simulate and learn. This is what you Wii would do anyway with a board.

author: jeremy
author_rank: Super Contributor
timestamp: January 16, 2014, 05:02:21 am
content: Go grab a digilent board with USB like the nexys 2 or 3. They have a lot of documentation available and the boards themselves are top notch (I have the nexys 1, 2, 3 and a zedboard). I would also try and get a spartan6 board if you can, lots of new stuff in them over the 3 series.If you are interested in Altera, the DE0 Nano is also a great board.I also second the Dave Harris book.

author: 0utsider89
author_rank: Newbie
timestamp: January 16, 2014, 05:50:13 am
content: Also this is a good little video series to look at:https://www.youtube.com/playlist?list=PL73E0741DD80FABF7

author: Dago
author_rank: Frequent Contributor
timestamp: January 16, 2014, 07:44:18 am
content: I'd suggest to avoid Xilinx and use Altera cause the Xilinx tools are awful compared to Altera, IMHO.

author: mathias
author_rank: Regular Contributor
timestamp: January 16, 2014, 12:10:16 pm
content: In general, Altera dev boards are somewhat cheaper than their Xilinx counterparts. I have had a great experience with Terasic's DE0 for only 80 EUR.

author: TheGreatGooglyMoogly
author_rank: Contributor
timestamp: January 16, 2014, 07:34:31 pm
content: My vote is on a Terasic Altera board. Great features and good price. Choose a Cyclone board (they are the lowest cost FPGA according to Altera) and I find that Altera's software solution (Quartus II) is easier to learn. I am biased though, I was taught Altera in university classes.Hmm I sound like anAVRAltera fanboi

author: gocemk
author_rank: Regular Contributor
timestamp: January 16, 2014, 09:35:00 pm
content: If you decide to buy a board, spend some (little) extra money and go for the brands like Digilent/Terassic. DO NOT buy the cheap chinese one's on Ebay. They claim they have examples in both VHDL and Verilog, but trust me, half of these examples don't work. I bought the Open3S500E board with Xilinx Spartan 3s500e in PQ208 package. The board + the programmer costed around 90$, but as i said, the examples do not work and the documentation on the board is somewhat scarce. The board and the programmer are working fine with Xilinx ISE 12.1. Although the board is quite feature rich (you can add VGA, PS/2, LCD, SDRAM, etc...) i wouldn't recommend it for someone who is just starting with FPGA's. I don't know about the other chinese boards out there, but i think they are all similar examples/documentation wise.As for books, if you decide to go with Xilinx, especially the Spartan 3 family, check out "FPGA Prototyping By Verilog Examples: Xilinx Spartan-3 Version" by Pong Chu. There is also VHDL version.

author: BBQ
author_rank: Regular Contributor
timestamp: January 16, 2014, 10:15:26 pm
content: I personally bought a DE1 board (Altera) from Terasic, which i guess is obsolete now.In my opinion Quartus II is pretty user-hostile, but it sounds like all the IDEs are crap!In another opinion just buy the cheapest board you can find an get started and add whatever stuff you need along the way, just don't forget that some boards needs a separate programmer.

author: rsjsouza
author_rank: Super Contributor
timestamp: January 17, 2014, 11:59:17 am
content: Chris and Dave mentioned inthis Amphour episodean electronic book by Dave Vandenbout that looks really interesting:FPGAs!? Now What?

author: nctnico
author_rank: Super Contributor
timestamp: January 17, 2014, 11:42:28 pm
content: I'd start with CPLDs to get basic VHDL skills. CPLDs are generally easier to understand and easier to use in your own circuit. Some (like Xilinx' XC9500 series) come in a PLCC package which can be used on a vero board.

author: Lunasix
author_rank: Regular Contributor
timestamp: January 18, 2014, 10:34:36 pm
content: I started Xilinx with XC3030 in... 1989. I stopped with Virtex in 2004 when I started a new life in another job and, when, in 2009, I decided to use a fpga in a new design, I considered Actel (Microsemi now) and found it was a good choice for many reasons : simple power supply, flash memory (no need to load component at power up, update possible with uP with jtag), low prices and low pincount for small design, easy to buy (Mouser and now DigiKey). I think I will probably, soon or late, go back to Xilinx for some reasons, but Microsemi can be a good choice. And Vhdl (or Verilog) is always the same, and software tools use same steps (and ModelSim for simulation).

author: powermosfet
author_rank: Newbie
timestamp: January 19, 2014, 07:14:00 pm
content: I started with Altera de1. Relatively cheap compared to others, good forum support.

author: Scrts
author_rank: Frequent Contributor
timestamp: January 19, 2014, 08:20:25 pm
content: If You'd check this one:http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=167&No=816&PartNo=2The FPGA has 110k LEs, which is HUUUGE. I have a project, where I used EP3C55 Cyclone III, 55k LEs FPGA and is is a very big project with gigabit Ethernet, Nios II/f fast softcore (running TCP/IP stack), hardware floating point division, 14 custom DMAs, 5 separate memory interfaces and so on. This Cyclone V also has dual-core Cortex-A9 for embedded applications. For this price - this is a very good deal. Plus this one also have transceivers, so when You'll get used to FPGAs, it is possible to interface PCIe there or any high-speed interface as SATA, HDMI, etc.

author: GiskardReventlov
author_rank: Frequent Contributor
timestamp: January 20, 2014, 12:21:27 am
content: As others noted you don't need to buy anything but if you want hardware to play with these might work for you:de0-nano (Altera Cyclone IV)http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=593&PartNo=7xula2-lx9 (Xilinx Spartan LX9)http://www.xess.com/shop/product/xula2-lx9/I like this site:http://www.fpga4fun.com/digitalscope.htmlhttp://www.fpga4fun.com/Links.html

author: mrflibble
author_rank: Super Contributor
timestamp: January 20, 2014, 11:40:59 am
content: Current low cost favorite:http://www.latticesemi.com/icestickThat said, you could just get the free vendor tools to check if this is your thing or not.

author: EEVblog
author_rank: Unknown
timestamp: January 20, 2014, 12:02:27 pm
content: I'm doing a video series on looking at some FPGA starter kits (not tutorials, a first impressions type thing). Have had two videos shot for ages, but haven't done the other two. I'm a slacker.One of the Digilet or Terasic ones will do you just fine.

author: powermosfet
author_rank: Newbie
timestamp: January 20, 2014, 05:58:34 pm
content: A colleague of mine has purchased Mojo FPGA dev board (Spartan 6), Mojo looks very beginner friendly. You may want to consider doing something that.

author: meerweten
author_rank: Contributor
timestamp: January 22, 2014, 07:37:50 pm
content: i started a few weeks ago with the altera cyclone boards, (well "started" i already learned how to use fpga's with xilinxs spartan 3E last year)i bought the altera cyclone II (http://www.miniinthebox.com/altera-cycloneii-ep2c5t144-fpga-mini-development-board_p391007.html) i bought it for like 8€ (about 10 US$) just before the end of the year ( + a 5V adapter (2A) and a "altera" usb blaster, probably a copy but it works fine).total of a 20€ (inlcudong wires/3lcd screens, the above mentioned parts)

author: Chipguy
author_rank: Unknown
timestamp: April 21, 2014, 01:23:00 pm
content: Hoooy !Today I played around with the Lattice ICEStick.Here a little review for starters:1) The ICEStick costs around 20-30 EUR/USD/AUD. I paid 20 EUR plus tax for it.2) You need to register with lattice, download the design and programmer software and apply the free license.3) You need to download the manual for the ICEStick as well. It contains important step-by-step information on how to set up the programming tool.You will need to do a lot of settings in the Diamong Programmer software so it can be used with the SPI flash on the ICEStick.Once done you can also download "LED_rotation". That is the design which the ICEStick is programmed with when delivered.In order to check if the environment works you can compile the design and see if there are any errors.The "Diamond Programmer" is a stand alone software which can be used seemingless with the ICECube2 design software.You only need to click the "Program" button and it checks automatically if there is a new HEX or BIN file to program.A good start to see if everything is working, just change the direction of the rotating LEDs from clockwise to counterclockwise.You can do that by editing the assign statements in verlog like that:assign LED1 = (dec_cntr == 3) ;assign LED2 = (dec_cntr == 2) ;assign LED3 = (dec_cntr == 1) ;assign LED4 = (dec_cntr == 0) ;If this all works, you are ready to go and can implement your own designs.

author: djsb
author_rank: Super Contributor
timestamp: April 21, 2014, 03:07:57 pm
content: Just bought myself a Papilio Pro and LogicStart Megawing from Seeed Studiohttp://www.seeedstudio.com/depot/Papilio-Pro-p-1301.html?cPath=6_10andhttp://www.seeedstudio.com/depot/LogicStart-MegaWing-p-1636.htmlI'll let the forum know when they arrive.David

author: Chipguy
author_rank: Unknown
timestamp: April 21, 2014, 04:30:43 pm
content: Quote from: djsb on April 21, 2014, 03:07:57 pmYeah that's looks like a nice one for more complex stuff.Let us know how it goes once they arrive, that's gonna be interesting.Chpiguy

author: hamster_nz
author_rank: Super Contributor
timestamp: April 22, 2014, 09:00:51 am
content: Quote from: djsb on April 21, 2014, 03:07:57 pmI sort of, um, wrote a FPGA crash course on them a few years ago during the Christmas holidays. You can find it for free athttp://hamsterworks.co.nz/mediawiki/index.php/FPGA_course,and you can also find some of my FPGA hackings athttp://hamsterworks.co.nz/mediawiki/index.php/FPGA_Projects.Maybe they will inspire you a little... also the GadgetFactory forums are very friendly too.

author: djsb
author_rank: Super Contributor
timestamp: April 22, 2014, 09:48:23 am
content: Thanks,Yes, I was going to mention your free E-book in my post but as the link is already embedded in the seeed link I didn't want to repeat it.That's one of the reasons I bought the papilio, because of the forum and your book.David.

author: legacy
author_rank: Super Contributor
timestamp: April 22, 2014, 11:17:43 am
content: I am not expert about fpga, just an hobbits, i have an intel Core Duo2 (i2) machine (IBM Thinkpad X61S @ 1600 Mhz / 2 Gbyte ram) loaded with Linux and Windows XP, and my problem is: with Xilinx the ISE tool is too slow! Both side, Windows and Linux are taking 15 minutes at least to synthesize for a Spartan S3e500, so … i am using S3e100 tiny boards in order to toy with fpga.I am using ISE v10.1 and my biggest project is a 6809 minimal SoC (CPU 8bit, ram, rom, uart) targeted on S3e500, while on S3e100 i am toying with signals generator, pwm, ppm, arbitrary wave … and such a stuff.How big is your project and which is your development machine, and how long does it take to synthesize / logic gate level simulate ?I love thePapilo Pro, but it's Spartan 6, much more bigger than my tiny fpga, so i wandering how long it will take my i2 machine to synthesize or to logic-cate-level simulate a project.

author: legacy
author_rank: Super Contributor
timestamp: April 22, 2014, 11:20:24 am
content: Quote from: RRobot on January 16, 2014, 04:43:12 amthank you! I have bought if from an USA old book reseller for $40 shipped ($18 of shipping), it is a second hand book but it looks in a very good conditions (no signs on papers, the only thing i hate on second-hands books).

author: legacy
author_rank: Super Contributor
timestamp: April 22, 2014, 11:31:26 am
content: Quote from: Bassman59 on January 16, 2014, 04:52:44 amabout "automotive", there are still a few boards on ebay, "XC3S100E" in "TQ144" package, soldered on tiny board with flash and jtag connector (and a few leds around): It is labelled "Digilent" (probably made around 2005). They are sold as very very un-expensive boards, i bought 3 of them at $10 each, qty=3 $40 shipped, unfortunately they are poor about Logic Elements, only 100K gates, but it's a kit from Xilinx and it comes with a CD full of examples and documentation.

author: miguelvp
author_rank: Super Contributor
timestamp: April 22, 2014, 03:32:32 pm
content: If you have Altera based FPGA dev kits using Quartus IIAltera has a lot of tutorials, some of them are misplaced as in their requirements courses come after the course but it's a good road map and not terribly long. Although I recommend you doing it QuartusII as well of just watching how it's done.http://www.altera.com/education/training/curriculum/fpga/trn-fpga.htmlThey do offer other courses for free as well under that training part. like CPLD (mostly the same courses) SoC, DSP, etc lots of resources.

author: scientist
author_rank: Frequent Contributor
timestamp: April 25, 2014, 01:52:07 am
content: The Mojo v3 is nice, and it has an onboard ATMega chip that can be programmed with Arduino. The Spartan 6 on it is sufficient.

author: Chipguy
author_rank: Unknown
timestamp: April 25, 2014, 05:31:01 am
content: Quote from: scientist on April 25, 2014, 01:52:07 amAgreed, I have watched the Mojo on Kickstarter and followed the link to the manufacturer site.They have a distributor for Germany / Europe and it can be ordered from stock at 79 EUR IIRC.It's one of the boards I would consider for a bigger project.

author: legacy
author_rank: Super Contributor
timestamp: April 26, 2014, 01:50:31 pm
content: i need something to be get-started about external asynchronous ram, static ram parallel bus.any good doc, tutorial around ?i am putting a 6809 SoC on Spartan3e wiring a NvRAM @ 3.3V (to be used to store data)

author: expertmax
author_rank: Regular Contributor
timestamp: April 26, 2014, 02:27:33 pm
content: I'd definitely start with a Altera starter kit. Comes with all the tools, documentation and software.http://www.altera.com/products/devkits/altera/kit-terasic-cyclone-v-gx-starter.htmlMy questions is : if you write a code for a specific FPGA, is it compatible for use in another FPGA, let's say from a Cyclone III to a Cyclone V ?

author: mrflibble
author_rank: Super Contributor
timestamp: April 26, 2014, 03:38:14 pm
content: Quote from: expertmax on April 26, 2014, 02:27:33 pmGenerally yes. And if you stay with the same vendor things are usually even easier. As in if you happen to use some vendor provided cores for your clock resources and whatnot.

author: miguelvp
author_rank: Super Contributor
timestamp: April 26, 2014, 07:32:42 pm
content: Quote from: expertmax on April 26, 2014, 02:27:33 pmJust as a note, that kit (I got it too) doesn't come with the CD that includes the documentation and software, but you can download that from Terasic after registration (no need to buy the kit to register). Also you have to install QuartusII from Altera.As for porting to other FPGAs, if you stick with Altera they have a device migration built in in QuartusII. Also the Terasic boards come with a configuration utility that creates (only Verilog) templates and sets the pins that you are planning to use via a nice GUI.A lot of their examples use the Qsys system integration, it sure makes life easier, although I kind of missed the simplicity of SOPC Builder that they used before, but I'm not sure how easy it will be to port to say Xilinx once you use those tools.I did write a review here:https://www.eevblog.com/forum/microcontrollers/terasic-cyclone-v-gx-starter-kit-(c5g)-review/Another caveat is that Terasic does favor Verilog on their examples. But converting the generated templates to VHDL is easy, also you can import Verilog modules into VHDL code, a bit tricky but not hard at all, or just stick with Verilog.All the datasheets for everything is included and you can even get more (specially for the HDMI TX chip) from the Analog Devices website.I did look at the Mojo when I was looking for an FPGA dev board, only reason I didn't is that they didn't have a lot of source, examples etc compared to what Altera/Terasic offers.Papilio, that is a different thing, it has a lot of community support and pretty cool projects and it's pretty affordable. No HDMI however.I believe the Composite Video is a 7 bits R2R implemented DAC someone made that gives you 64 colors (good for 8bit graphics). Their mega wing supports VGA output with 4 bits R2R DACs per color for a 12 bit total, or 4096 different colors.But the cool thing about FPGAs is that anyone could implement an "HDMI" wing like this guy did (I quoted HDMI because it's not really HDMI, just LVDS driving the LCD directly, but digital nevertheless):http://forum.gadgetfactory.net/index.php?/page/articles.html/_/papilio/papilio-wings/alex-makes-hdmi-wings-for-the-papilio-plus-r61But nothing stops anyone for using the ADV7513 HDMI-TX chip that is in the Cyclone V GX starter kit for real HDMI, and maybe do a better implementation since the starter kit didn't hook the HDMI audio part to the FPGA since it has an audio DAC already, but the pins for HDMI audio are there but unpopulated so you could add a header and use that instead.