Hello World!

Justin Rajewski
This tutorial shows you how to interface with the serial port on the Mojo.

Read more →

Servos

Justin Rajewski
Servos come in handy in all sorts of projects from robots to electronic locks. This tutorial will cover how to control servos with the Mojo.

Read more →

Metastability and Debouncing

Justin Rajewski
In this tutorial we will cover some of the pit falls that can happen when having asynchronous inputs to the Mojo. The more general case is metastabilty, but we will also cover debouncing of buttons. These are both important if you want to reliably detect when a button is being pressed or interface with anything that is not synchronized to the Mojo's clock.

Read more →

External IO

Justin Rajewski
This tutorial is a very short example on how you can define your own inputs and outputs in your top level module and have them connect to the IO headers on the Mojo.

Read more →

Writing Test Benches

Justin Rajewski
Test benches are used to simulate your design without the need of any physical hardware. The biggest benefit of this is that you can actually inspect every signal that is in your design. This definitely can be a time saver when your alternatives are staring at the code, or loading it onto the FPGA and probing the few signals brought out to the external pins. However, you don't get this all for free. Before you can simulate your design you must first write a test bench.

Read more →

Pulse Width Modulation

Justin Rajewski
Pulse-Width Modulation, or PWM is a very common technique that varies the width of the pulses in a pulse-train. PWM has a few applications, the main ones are for controlling things like servos and speed controllers and limiting the effective power for things like motors and LEDs. This tutorial will cover how to use PWM to change the brightness of an LED.

Read more →

Synchronous Logic

Justin Rajewski
Synchronous logic if a fundamental building block for just about any digital design. It allows you to create much more complex systems that accomplish something over a series of steps. It also gives you the ability to save states or other information. In this tutorial you will be introduced to the D flip flop and how you can use these to make an LED blink.

Read more →

Verilog Operators

Justin Rajewski
This tutorial covers the various operators available in Verilog. If you have programmed in C/C++ or Java, then many of these operators will be familiar. However, there are a few new usages that are handy for dealing with hardware.

Read more →

Creating a Project

Justin Rajewski
This tutorial is to get you familiar with how to create a project and the very basics of Verilog.

Read more →

Your First FPGA Project

Justin Rajewski
This tutorial will walk you through creating your first project and making the LED on the Mojo light up when you press the reset button.

Read more →