Skip navigation

FPGA Group

2 Posts authored by: michaelkellett Top Member

Following the mega useful suggestion from aventuri about the existence of this board I bought one because I couldn't find any other way to get hold of a Lattice UP5k FPGA chip in 48 pin QFN.

 

This is an interesting FPGA in that it has 5k LUTs, the usual block RAM (15kbytes), 4 single port RAMs totaling 128kbytes and 8 16 bit wide multipliers, all this in a 48 pin prototype friendly QFN package and quite cheap - if only anyone had them in stock.

 

The UPduino board has A UP5k, an absurdly large (32Mbit) flash for program storage, a three colour LED, power regulators and not much else. It is very cheap at $7.99.

 

The owner of Gnarly grey worked for Lattice for several years and thye are promoting the board on their website.

 

My board came very quickly from the US to here in the UK, no fancy packaging, just a poly (anti static) bag in a standard envelope.

 

I got it going today which took way longer than it should have done you can program the FLASH memory using standard Lattice software with an FTDI breakout board or cable I didn't have a board but I did have a  C232HD-DDHSP-0C232HD-DDHSP-0 cable(Farnell 2352017 To cut a long story short the cable won't work unless you reduce its length drastically I cut mine down to about 10cm long This is because neither the FTDI chip in the cable or the FLASH chip on the FPGA board expect to drive cables when the data changes on the output of the FLASH chip it cross couples into the clock signal due to the cable capacitance and the resulting clock glitch breaks the communications Crazily it took a 1GHz scope to debug the comms the FLASH chip is fast and the glitches are short

 

The hardware design of the board is truly dreadful - OK it was cheap but it is kind of amazing bearing in mind the makers' connections with Lattice. It breaks several of Lattice's design rules for this part.

 

There is almost no power supply decoupling on the board.

There is no ground plane and the ground is a spidery thin track weaving about the board.

Lattice recommend a filter to the FPGA PLL power pin - the UPduino has the series 100R resistor but does not have a capacitor on the FPGA side of the resistor to ground.

 

 

There is no precision oscillator on the board - the UP5k has its own rubbish 48MHz (+/- 10% for 0-85C)) oscillator on chip but this isn't good enough for a great many things. It's worth putting the oscillator on board so the fast clock doesn't have to have long wires.

 

I'll add to this blog if I do much more with the UPduino - it's tempting just to remove the FPGA and put it on my own board.

 

The supplied example files are pretty gruesome, possibly below even Lattice's pretty low standard for example code. The LED blink example is quite short but has not one single comment !

There is a Raspberry Pi IO expander example on GG's website - the key file in that is spi_gpio.v - oddly embellished with Lattice copyright stuff and dated 2010 - 310 lines of code - zero comments.

 

In summary this is great idea done badly: very badly.

 

It's not much use to pros -  no oscillator, dreadful design practice so won't give a good idea of any device limitations and is hopeless as a reference design. It's not much use for learning either -  the low price is great but the total lack of any kind of decent tutorial stuff is a huge negative.

 

So unless, like me, you just have to get hold of the UP5K, this isn't a very good buy - even at $7.99.

 

MK

There's been quite  a lot of talk in the FPGA group about cheap ways to get started so a couple of weeks ago I decided to forsake the professional setup I use for real work and try one of the cheapest routes I could find. The idea was to try something as general purpose as possible and to keep clear of as much proprietary hardware and software as possible. That basically means using a simple board with the FPGA and very little else on it and using the FPGA manufacturer's free software.

 

All the FPGA manufacturers offer development boards and some of the simple ones from Lattice and Altera are quite cheap. Xilinx and MicroSemi don't get down to quite the same price level. There are third party boards at just about any level and the cheapest I can find with a real FPGA are based on Altera's Cyclone2 device.

There are several vendors for these on Aliexpress - this one is typical : ALTERA FPGA Cyslonell EP2C5T144 Minimum System Learning Board Development Board-in Other Electronic Components from Elec…

You'll pay about £10 with free shipping.

I bought mine in a bundle with a programmer from Etang Electronics on Amazon for £32.58 for the lot including shipping.

 

It looks like this:

 

altera_board_2.jpg

 

And the good news is that it all works !

 

The Cyclone2 is a rather old design and although Altera still recommend it for new designs it isn't supported by the latest version of their design software. So when you download the software to develop code for it make sure to get version 13.0sp1. The part on the board is  a real FPGA with hardware multipliers, some embedded memory blocks and about 4000 logic elements. You get a voltage regulator, a 50MHz oscillator, a switch and three LEDs.

 

I've never used Altera's design software before so it took a little while to get round the quirks. There are one or two places where it seems to need to be told stuff it must already know (like where to find the simulator that was installed with it !) and it can generate test bench files but gives them an odd filename extension which you end up changing. There is a lot if support material on the web.

 

You get a free version of ModelSim for simulation and I found this to be the most difficult part - I expect mainly because I use a paid for version of a different simulator and have done for the last 10 years.

There is a free open source  VHDL simulator (GHDL) but it's reputation is not very good - so if you go this route you are stuck with ModelSim.

 

These boards are down at Arduino price levels so perfectly affordable for building in to projects.

 

If any one is interested I'll post some actual code that does something and if any one has an idea of a project they fancy using this board I'll be happy to discuss it.

 

MK

Filter Blog

By date: By tag: