Daily Archives: August 18, 2010

CPU review: PicoBlaze, LatticeMico32 and ARV clones

The study items are listed on the Open Source CPUs post, especially the category description.


However wikipedia marked it as open source, it’s not what I call open source hardware! Ok you will have the source code, but you have to register and accept a licence explicitly restrict you to use it only on Xilinx chips to access the download page. Not to count the warning against some possible patented content in each file…
Definitely non-free !


I could not find the licence text from the lattice web site. It’s possible to download some LatticeMico32 demo code, but it does not include the license text.

First time I’ve read about LatticeMico32 was in a French GNU/Linux magazine, an article presenting the Milkymist project. So I headed here and there archive contain the licence text from Lattice.
The most important part from our point of view the Appendix C: “Lattice Semiconductor Corporation Open Source License Agreement”.

Note sure about the section 6 ‘export control’, but I guess it’s just repeating something from the US laws (any legal experts reading me?). To me, it looks like a particular case of GPL2 point 7 or 8: the intent is to protect the license not to prevent the use. I mean if it’s illegal, then there is no way a license text will make it become legal !

But overall it looks fairly open to me.

So let’s look at this CPU !

It’s a 32Bits RISC (instruction and data) with no MMU and optional caches. That makes it fit the embedded CPU category.

The lm32 architecture seams to be integrated in binutils and gcc, so no need for extra patch, just build it.


To stay on the Milkymist project, lets consider Navré. This one was created for Building a free OHCI host controller for USB.

So It’s GPL, it’s very new, it’s very small, it perfectly fits the tiny micro-controller category. Let’s wish it good luck.

On the AVR cloning idea, I don’t know Atmel’s opinion on this… If we end up building Arduino clones using open source AVR clones they might argue, but I think for now at least in term of cost and process, we are far from it. (Is there any opens source flash process to build our chips ?)

While we are at it, let’s look a few other AVR clones.


Targeted to be a superset of all AVR at its origin, the project has stopped. It has some bugs open and this has not evolved since 2005.

AVR core

This is a clone of AT mega 103. Unfortunately I could not find any licence in the archive… So it can not be considered open source hardware 🙁


This is a Atmel AVR ATtiny261/461/861 compatible core. LGPL and not updated since Nov 10th, 2008.

Reduced AVR Core for CPLD

AVR core in single verilog file… There is not much info, the project was recently created on opencores and the homepage (from the source header) is in Russian…

Ok that’s all for today 😉

As usual the summary table is there: Open Cpu Study Summary.