Hobbyist-friendly FPGA? - Page 1
Forum section: electronics / projects

author: cyberfish
author_rank: Regular Contributor
timestamp: April 04, 2011, 10:38:46 pm
content: Hello,I have been using a Xilinx FPGA in my designs for a while (Spartan-3AN 50K). It works fine, but I'm running out of LUTs as my designs get more complex, and would like to switch to larger FPGAs. The problem is, large FPGAs from Xilinx and Altera are only available in BGA. I can solder TQFP's pretty easily. The biggest TQFP chip Xilinx has is the Spartan-3 200K. It's an older generation, and is really not that big. The Spartan-3A/AN only has 50K gates version in TQFP-144.As a result, I have been looking at Lattice FPGAs. They have fairly high end chips in QFP. Does anyone have experience with them? How do they compare to Xilinx/Altera both in terms of silicon and tools? Cost is secondary as I'm not mass producing these projects.Thanks!

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: April 05, 2011, 12:12:51 am
content: I've used the very low-end Lattice (EC) parts - software is fine - much of it will look VERY familar to a Xilinx ISE user.It's free but need to renew license every 6 months which is annoying (done instantly over web though so no big deal).Looks like there aren't yet any Chinese knock-offs of the Lattice JTAG cable, but ISTR they were planning to use the FTDT FT2232H as a JTAG interface - may be worth looking at what their ISPVM pogramming SW currently supports.One nice thing which I'm not sure Xilinx supports, is that when using a SPI config prom, you can program it via the JTAG port so no need to swap programming cables around. Lattice also have parts with onboard config memory.

author: allanw
author_rank: Frequent Contributor
timestamp: April 05, 2011, 01:10:35 pm
content: What about using FPGA module/breakout boards?

author: cyberfish
author_rank: Regular Contributor
timestamp: April 06, 2011, 01:59:06 am
content: QuoteThat is good news! The software is the part I worry the most (besides the fact that Digikey doesn't have Lattice chips...).I'm not sure why there are no clones yet. They even publish the schematics! (http://www.latticesemi.com/documents/an8082.pdf?jsessionid=f03028227870e7cbf51418235d214c593d63). And unlike Xilinx/Altera, there's no CPLD on there with proprietary logic.I really like how they open up a lot of things. The programming cable schematics and (more importantly) LatticeMico32 soft core (with GCC support!!).Definitely giving them a try on my next project.QuoteYeap Xilinx supports configuring SPI prom indirectly, too. There's only one series from Xilinx that has non-volatile memory - the Spartan-3AN, but it's basically just an SPI flash chip and the FPGA in the same package, with some software magic.QuoteI'm somewhat against breakout boards, because I like my designs to be smaller. Sometimes that's necessary, sometimes just nice. And also because I couldn't find any reasonable one. Sparkfun has Altera and Xilinx breakout boards for TQFP chips... but I can solder those myself, too.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: April 06, 2011, 08:00:11 am
content: Quote from: cyberfish on April 06, 2011, 01:59:06 amMouser and Farnell do, although they are expensive. If you're buying for production talk to a franchised distributor for the magic 'supported pricing' which can be half that of broadline distributors. Smaller FPGA companies like Lattice are desperate to get design wins from the big two, so if you tell them you're migrating from a Xilinx part they will be helpful.QuoteLower demand I suspectQuoteDon't know about Altera but the Xilinx software programs/updates the CPLD automatically.QuoteSomeone has even used this core on a Xilinx project..!QuoteI'm somewhat against breakout boards, because I like my designs to be smaller. Sometimes that's necessary, sometimes just nice. And also because I couldn't find any reasonable one. Sparkfun has Altera and Xilinx breakout boards for TQFP chips... but I can solder those myself, too.Enterpoint do some higher-end FPGA breakouts

author: cyberfish
author_rank: Regular Contributor
timestamp: April 09, 2011, 05:27:39 pm
content: QuoteI'm in Canada, so I guess no Farnell for me. Will check out Mouser. This is only for prototyping quantities, so I'll have to pay listed prices, but thank's for the heads up!

author: deephaven
author_rank: Frequent Contributor
timestamp: April 09, 2011, 05:32:09 pm
content: Quote from: cyberfish on April 09, 2011, 05:27:39 pmHow abouthttp://canada.newark.com/

author: cyberfish
author_rank: Regular Contributor
timestamp: April 09, 2011, 08:45:21 pm
content: QuoteTheir prices for these chips seem to be significantly higher than Mouser, and have smaller selection.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: April 10, 2011, 09:13:34 am
content: Once you need to buy enough FPGAs that price matters talk to a franchised distributor - prices at general distis are disproportionately high, and reducitons of 50% are possible, even at modest volumes.

author: joelby
author_rank: Frequent Contributor
timestamp: April 10, 2011, 01:46:40 pm
content: Speaking of which, the distributor for Xilinx in Australia is Avnet. Has anyone ever managed to get any response from Avnet Australia (or your local branch) sales, ever? They just flat out ignore my emails.

author: ruku
author_rank: Contributor
timestamp: April 13, 2011, 06:13:00 pm
content: I'd love to work on a hobbyist FPGA board (similar to the Arduino). Low budget, open source, etc. Unfortunately, I have zero knowledge of FPGAs (and even other microcontrollers!! My only experience is with AVRs).I looked up some of the Lattice FPGAs on Mouser, it looks like for around $20 dollars you could throw together a board and begin work.For an AVR you need a power supply, a programmer, and maybe a crystal. Put VCC and ground on said pins, pull reset high, and break out the SPI bus for programming. You can get into a bit of a chicken-or-the-egg problems with the programmer... but those are also inexpensive, work with all 8-bit AVRs, and open source schematics are online.What would it take to lay out an FPGA? Since their materials are open, is there any way we could create an inexpensive programmer as well? Is there anyone who'd be interested in working on something like this?

author: cyberfish
author_rank: Regular Contributor
timestamp: April 13, 2011, 07:03:11 pm
content: I just finished building one actually. I wanted a development board to do some prototyping. It's a 1.8" x 2.4" board with a Xilinx FPGA (XC3S50AN). It has the FPGA, USB serial port (FT232), 36 GPIO headers, ADC, LEDs. About $25 for cost of parts, and $20 for PCB. I'll post the design once I have it manufactured and confirmed working.You can potentially build your own programmer, but it probably won't be cheaper than a $45 clone on eBay.

author: ruku
author_rank: Contributor
timestamp: April 13, 2011, 10:45:57 pm
content: Cyberfish, I'd be very interested in seeing your schematic and layout! Are they Eagle files? Mind posting them for me to take a look at?Can you program an FPGA serially like a microcontroller with bootloader? Or do you need to buy a specific programmer?

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: April 13, 2011, 11:00:11 pm
content: Quote from: ruku on April 13, 2011, 10:45:57 pmFor low-end FPGAs the minimum hardware config is an SPI flash memory for the config data, JTAG port for programmer, a 3.3v supply and a VCore supply (typically 1.2v). Both the 3.3v and Vcore regs can usually be a simple LDO linear reg - many devboards use switching regs but that's because they want to support the higher-end parts that draw more power.You will also need a clock oscillator.For programming you use JTAG, via a vendor-specific JTAG interface. For Xilinx and Altera, very cheap Chinese knock-offs are readily available. Not seen one for Lattice yet but only a matter of time I'm sure.Although in principle you could just use a simple SPI flash programmer to program the flash chip, JTAG is preferable as you can use it to both load the bistream direct to the FPGA, and program the flash - the former is faster for use during development, the latter is for when you have it working and want it to autostart on powerup.

author: cyberfish
author_rank: Regular Contributor
timestamp: April 13, 2011, 11:04:55 pm
content: They are Kicad files. I've attached PDF/PNG version of schematics and PCB. This is totally untested. I am planning to have the PCB made in the next few days.FPGAs need a special JTAG programmer. There's no bootloader (because an FPGA doesn't have a CPU to run a bootloader). If you want to go very cheap and have a real parallel port (USB-parallel converters won't work), there's the Sparkfun programmer (http://www.sparkfun.com/products/8460). Otherwise there are many clones of the Xilinx USB programmer on eBay (eg.http://cgi.ebay.com/Platform-Cable-USB-CPLD-FPGA-USB-download-cable-Xilinx-/180642973123?pt=LH_DefaultDomain_0&hash=item2a0f2905c3#ht_1418wt_907).I've used both. They both work, but the parallel port one is much slower (about 20 seconds to do flash programming, and they add up when you are programming it every few minutes).

author: joelby
author_rank: Frequent Contributor
timestamp: April 13, 2011, 11:44:20 pm
content: Such a thing already exists - you can get the Papilio One for $49.99 fromhttp://www.gadgetfactory.net/index.php?main_page=product_info&cPath=1&products_id=18. It has a built-in USB-JTAG programmer and USB-serial bridge. The design is open source.If you're a student, you could get the Digilent Basys2 for $49http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,790&Prod=BASYS2. I think it's better value because you get switches, buttons, LEDs, and PS/2 and VGA ports. These would be easy to connect to the Papilio One, but I prefer to have them present and ready to go! It's not open source, but the schematic is available.I've compiled a list of other cheap FPGA boards athttp://tristesse.org/CheapFPGADevelopmentBoards.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: April 13, 2011, 11:53:35 pm
content: Quote from: cyberfish on April 13, 2011, 11:04:55 pmBefore you send the PCB I suggest you add an SPI config device. It's a PITA to have to JTAG-load every time you power on...

author: cyberfish
author_rank: Regular Contributor
timestamp: April 14, 2011, 05:39:27 am
content: It's a Spartan-3AN with non-volatile memory on the chip.

author: ivanjh
author_rank: Unknown
timestamp: April 15, 2011, 10:05:01 am
content: +1 on the Papilio One (http://papilio.cc/). You can even load an AVR soft processor, and run it like an Arduino.I've got a couple of them, and they're my intro to FPGAs.There are devs board out there filled with bells & whilstles, but I wanted something that was just a module, and that could be incorporated as a block into a final design.At $50/$75 it's not the most hardware per dollar - the Openbench Logic Sniffer (http://dangerousprototypes.com/2010/02/25/prototype-open-logic-sniffer-logic-analyzer-2/) @ $50 may win that. But I think it's the right direction and, like Arduino's, with enough support future production volumes should bring prices down.

author: abuabacus
author_rank: Newbie
timestamp: May 21, 2011, 07:34:33 pm
content: check LatticeXP and LatticeXP2 family. They was the first FPGAs with on-board configuration flash.

author: Hypernova
author_rank: Unknown
timestamp: May 23, 2011, 02:57:55 pm
content: Quote from: abuabacus on May 21, 2011, 07:34:33 pmKnow any cheap sources? Last time I checked on their site they still cost you a kidney and three eyes compared to others.

author: joelby
author_rank: Frequent Contributor
timestamp: May 23, 2011, 03:04:30 pm
content: No idea! The smallest Xilinx Spartan-3AN parts (with on-board flash) are under $10 from Digikey, though.

author: reagle
author_rank: Unknown
timestamp: May 25, 2011, 01:41:10 am
content: NuHorizons has Lattice Mach XO2 "cross-over" CPLD development board for $29http://www.nuhorizons.com/development/devtool.asp?board=257Development Kit Contents:The MachXO2 Pico Evaluation Board features the following:MachXO2 PLD: LCMXO2-1200ZE-MG132CR14-Character 16-segment LCD display4 capacitive touch sense buttons1 Mbit SPI FlashI2C temperature sensorPower measurement via delta sigma A2D conversion in the MachXO2 deviceExpansion header for JTAG, SPI & I2COr if you need an FPGA:http://www.nuhorizons.com/development/devtool.asp?board=255for $99LatticeECP3 Versa Development Kit

author: Hypernova
author_rank: Unknown
timestamp: May 25, 2011, 07:33:05 am
content: QuoteAnd they used the 1.2V version of the XO2 which means a lot of level translations.

author: reagle
author_rank: Unknown
timestamp: May 25, 2011, 11:29:13 pm
content: Well, the core is 1.2V, but I don't believe GPIO is tied to that. These parts have a separate supply for the buffers, so anything interfaced to it can still talk 3.3

author: Hypernova
author_rank: Unknown
timestamp: May 26, 2011, 12:45:57 am
content: Quote from: reagle on May 25, 2011, 11:29:13 pmAhh yes you are right, Still don't like the one year life time on the IDE though.http://www.latticesemi.com/documents/DS1035.pdfAbsolute Maximum Ratings1, 2, 3LCMXO2 ZE/HE (1.2V) LCMXO2 HC (2.5V/3.3V)Supply Voltage VCC . . . . . . . . . . . . . . . . . . . . . . . . -0.5 to 1.32V . . . . . . . . . . . . . . . -0.5 to 3.75VOutput Supply Voltage VCCIO . . . . . . . . . . . . . . . . -0.5 to 3.75V . . . . . . . . . . . . . . . -0.5 to 3.75VI/O Tri-state Voltage Applied . . . . . . . . . . . . . . . . . -0.5 to 3.75V . . . . . . . . . . . . . . . -0.5 to 3.75V