Creating a Vivado Project for the Au

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

Read more →

Getting Started With the Cu

Justin Rajewski
In this tutorial we will setup all the software needed to work with the Alchitry Cu.

Read more →

Getting Started With the Mojo

Justin Rajewski
In this tutorial we will setup all the software needed to work with the Mojo.

Read more →

Getting Started With the Au

Justin Rajewski
In this tutorial we will setup all the software needed to work with the Alchitry Au.

Read more →

Embedded Processors

Justin Rajewski
This tutorial will outline how to add a MicroBlaze MCS to your project. The MicroBlazeMCS is a 32bit microprocessor core provided by Xilinx. It will allow you to write C/C++ code that will interact with the rest of your design. While this can be very helpful in many projects, setting it up can be a bit confusing. This tutorial will hopefully demystify the process.

Read more →

SDRAM

Justin Rajewski
This tutorial will cover how DRAM (Dynamic Random Access Memory), or more specifically SDRAM (Synchronized DRAM), works and how you can use it in your FPGA projects.

Read more →

Memory Mapping

Justin Rajewski
This tutorial covers a common technique for interfacing a peripheral to a processor known as memory mapping. Memory mapping is were you break out a set of functions or settings and map them to a set of values that are selected by a given address. Typically the master is able to read and write these values however it chooses much like a block of RAM. However, these values aren't just blocks of memory, they effect some external device. Because this is used for interfacing it is sometimes called memory mapped IO.

Read more →

Finite State Machines

Justin Rajewski
Finite State Machines, or FSMs, are an incredibly powerful tool when designing digital circuits. This tutorial will teach what an FSM is through example. We will use a basic FSM to control a very simple robot.

Read more →

FPGA Timing

Justin Rajewski
Timing is a term used in digital circuits to refer to the time it takes a signal to propagate from one flip-flop, through some combinational logic, to the next flip-flop.

Read more →

Using Core Generator

Justin Rajewski
Core Generator (also called CoreGen) is a powerful tool provided by Xilinx to help easily and efficiently accomplish some common functions. It allows you to generate modules for things like RAMs, ROMs, clock synthesis, complicated math functions, and even basic processor cores.

Read more →