Skip navigation

FPGA Group

4 Posts authored by: michaelkellett Top Member

I was looking for a cheap dev board for the Altera/Intel MAX 10 parts. There's an Altera branded 10M50 board for about $200 with a mass of stuff on it but I don't usually find very complex dev boards to be helpful. I'm interested in the MAX10 - not a whole load of other stuff. They do have a very cheap and commendably simple 10M08 board ($49 but I didn't find that in time !).

I did find the MAXimator board and bought one - it arrived quickly and without any problems, cost was £58.15 (actually billed to credit card so includes a bit for the euro to £ conversion). They have  web site: maXimator - Altera MAX10 FPGA development board



It looks like this when it arrives:



The bits you get are:



That's a MAXimator board, a plug in board with the display, a couple of buttons and two multi colour LEDs, a separate "Blaster" (Altera USB programmers are known as Blasters for some bizarre historical reason) and  a couple of leads.


The web site has a schematic, a nice colour pin out chart thing and a user manual. Enough documents to get going. The MAXimator has a slightly odd set of on board  connectors:


An Arduino compatible set of IO with 3.3V to 5V conversion - so its truly Arduino shield compatible.

It also has VGA and HDMI connectors - these are intended to be driven by the FPGA so serious code is needed to make them do anything useful. There is a micro SD socket as well. The VGA connection doesn't have DACs so the range of colours isn't going to be great (8 including black). If you can code it the HDMI is digital so not restricted. The only pins available for the user are those on the Arduino headers - this isn't very many and the lack of free IO pins will limit the use of the board - the Altera board does much better in this respect but of course it doesn't have the application specific connectors.


So that's it as far as the basic kit is concerned.


If you want to do anything with it you'll need to download Altera's development software  - there is a lot of tutorial stuff on the website but these FPGA toolsets are huge and complex - it will take you serious time to get the hang of it.


Kamami offer some examples on their website


I was very unimpressed by these. They are poorly documented so of very little use as a learning tool - and they use a lot of TTL logic equivalent blocks in block diagram top level designs - this is an ARCHAIC design approach (I thought it went out of favour 20 years ago !!!!).  To make this clear, I have nothing against using  a block diagram for the top level of the design - I do it all the time. It's  having blocks called 74192 and 74153 that I'm concerned about.


My reason for getting the board was to play with the Altera tools and the chip - the MAXimator was fine for that.


I wrote my own little project to drive the display (to show how I think it ought to be done  ). I don't have time right now to explain it here but I'll add it later.


To sum up, this is a nice kit of hardware for the money. The examples aren't much good - but there is plenty of stuff on the web from other sources. The 5V pins are really nice if you need them. It's a real shame that they haven't taken more pins out to headers.



This is the project I've been working on recently. Just assembled the first prototype. I've only populated 2 of the 8 analogue input sections, some values in filters may change and I don't need to waste expensive parts by building all 8 channels just yet. The signals go into an 8 channel simultaneous sampling 24 bit ADC which will run at about 256k samples per channel per second. The FPGA, an Altera MAX10M16, controls the ADC and does the heavy digital signal processing work. It has a little 128kbyte serial RAM from Microchip for extra buffering and talks to the uP via SPI and some handshake lines.


The processor (STM32F407) has an Ethernet interface connected via a Microchip PHY and USB connectivity via  an FTDI USB/serial converter.


I can't say what the two blocks of circuit driving the D connectors do.


The power supply stuff along the bottom edge is not populated for a sad reason - I checked up on part availability before I did the design but foolishly only tried to order the components once the layout was finished and the board ordered (so as to be as quick as possible). Alas, when I came to order the LT8640 chips that work the power supplies Farnell had sold out and offering delivery of more in December. No one else had any and I couldn't get a delivery date from any one else either. I ordered 25 form Farnell but they told me  a day later that LT had put the delivery date out to September 2018. I was rather expecting this and had already started work on a little PSU board that will piggy back on the main board where the 8640s were meant to be. The moral of all this is that you should secure the critical parts before you lay out the board - I've got too used to parts being readily available.


I'll try to find time to blog a bit about the Altera MAX 10s because they seem well suited to small volume applications. This one runs from a single 3.3V supply and has on chip flash so it's a lot easier on support chips than many other devices.



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.



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:




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.



Filter Blog

By date: By tag: