Learning About FPGAs – The Mojo by Embedded Micro

The MOJO Board Side

The MOJO Board Side

Having zero FPGA experience I had latched onto this Kickstarter program and just received my supporter’s board & power supply.

The Mojo - Embedded Micro

The Mojo

The Mojo is a FPGA development board that is designed from the ground up to be easy to use. If you are unsure of what a FPGA is, you should take a look at this tutorial.

The Mojo features include

  • Spartan 6 XC6SLX9 FPGA
  • 84 digital IO pins
  • 8 analog inputs
  • 8 general purpose LEDs
  • 1 reset button
  • 1 LED to show when the FPGA is correctly configured
  • On board voltage regulation that can handle 4.8V – 12V
  • A microcontroller (ATmega16U4) used for configuring the FPGA, USB communications, and reading the analog pins
  • On board flash memory to store the FPGA configuration file

The microcontroller comes with a USB (DFU) bootloader which will allow you to install future upgrades to the firmware without having to buy a programmer. Once the board is powered on the microcontroller configures the FPGA from the flash memory. After the FPGA is succesfully configured the microcontroller enters slave mode. This allows your FPGA designs to talk to the microcontroller; giving you access to the serial port and the analog inputs.

More at The MOJO Website The Mojo – Embedded Micro

There is a neat video of the MOJO in use:

Neat stuff!

Here is the original Kickstarter Page:  http://www.kickstarter.com/projects/1106670630/mojo-digital-design-for-the-hobbyist

I’m struggling a bit getting the programing software set up (industrial grade non-trivial) but all looks to be coming together!  Basically I wasted my time allocation on non-Mojo computer issues and now have to regroup.

The board is sort of like a Raspberry-Pi or Arduino type project board, but featuring the Spartan 6 XC6SLX9 FPGA rather than a processor.

If you’re like me and not all that familiar with the technology behind a FPGA the Embedded Micro website has some great information:

What is an FPGA?

So what exactly is an FPGA? You may have heard the term thrown around, or maybe you have no idea what I’m talking about. Either way, FPGAs (Field Programmable Gate Arrays) are amazing devices that now allow the average person to create their very own digital circuits. The cost has come down enough that you don’t have to be a huge company to get your hands dirty.

You can think of an FPGA as a blank slate. By itself an FPGA does nothing. It is up to you (the designer) to create a configuration file, often called a bit file, for the FPGA. Once loaded the FPGA will behave like the digital circuit you designed!

One of the reasons FPGAs are so awesome is that unlike an ASIC (Application Specific Integrated Circuit) the circuit design is not set and you can reconfigure an FPGA as many times as you like! Creating an ASIC also costs potentially millions of dollars and takes weeks or months to create. That’s not exactly hobbiest friendly.

More on FPGAs at The MOJO Website What is an FPGA – Embedded Micro

As the new Flex-6700 makes use of seriously sized FPGA I hope working with this project will give me a bit more understanding of what is under the hood of the FlexRadio Flex-6×00 series radios.

Lots to learn!




Added May 21st 2013

Steve AI4QR has suggested a book to help learn FPGAs: http://www.amazon.com/Design-Recipes-FPGAs-Using-Verilog/dp/0750668458

He also mentions there are a number of hobbyists using this FPGA ‘system’  http://papilio.cc/  which is notable because you can buy “wings” which let you more easily connect it to other things.

Steve AI4QR is part of the FlexRadio System team for the “in the box” part of the Flex-6000 series.

Thank you Steve AI4QR!



Tagged , , , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: