Lucid and the Mojo IDE

Justin Rajewski

After 14 months of work, I finally get to share the new Mojo IDE with you! Before we get into all the cool new stuff, let me share some of the motivation behind everything.

Lucid, A New Hardware Description Language

Embedded Micro is all about making technology more accessible. We want FPGAs to be as easy to use as possible so anyone wanting to learn how to use one can without having outside training. After working with FPGAs for a while and talking to people who have been working with them far longer, the general consensus is that the tools are very poor. This is what we are trying to improve with the IDE. However, having a nice IDE is only half the battle. The other half is the language you are writing. Verilog and VHDL are both very cumbersome languages. They often require you to write the same or similar code in multiple places and don't allow for concise ways to instantiate basic primitives such as flip-flops. This is really because they weren't designed to be used with FPGAs but rather focused on simulations. Because of this, we knew we could do better so we created Lucid, a new hardware description language.

Lucid focuses on reducing the amount of code you need to write while promoting easily understandable designs. It is roughly based around Verilog, but shares some syntax from C/C++ (no more begin/end). We wanted your experience with FPGAs to be focused on learning about FPGAs rather than learning a complicated language. Lucid is similar enough to Verilog, and the concepts are the same as VHDL (or any HDL), so you shouldn't feel that you will be locked into writing Lucid. However, after writing Lucid for the past few months, I don't want to work in anything else.

Mojo IDE

As we said before, the other half of the battle is the IDE. The new version of the Mojo IDE, now supports Lucid with a ton of handy features. You can now update your Mojo's firmware, create a project based on various example project, add standard components, like I2C, SPI, and the AVR Interface, to your project, and get real time feedback on your code.

Our goal is to make the Mojo IDE a place where you enjoy working with FPGAs. We want you to miss its features when you have to use something else.

We are far from done with the Mojo IDE and Lucid. We are simply at a spot where we could no longer keep it to ourselves and had to share it with you! The IDE will auto-update so keep an eye out for the update prompt as we roll out even more features in the future!

Getting Started

Head over to the Mojo IDE page for the latest download links.

Once you have the Mojo IDE installed, check out the Lucid reference page.