Getting Started with FPGA

Project 1: Introduction to Digital Engineering and FPGA Board

This project sets up your FPGA board for use and shows you the steps in starting project files. It also gives you some basic knowledge on Digital Engineering. This is a getting started project with very little hands on with your board but is a good reference if you ever forget how to start your projects.

eye 10.1K
Switch Controlled Leds

Project 2: Use Switches to Control LEDs

In this project, you will design and implement a circuit that controls an LED on your FPGA board with a slide switch. This project demonstrates how to use Verilog HDL to design a digital circuit and implement it on an FPGA board.

eye 7.37K
Design Simple Logic Circuit

Project 3: Guess the Logic

In this project, you will download a bit file to your board to configure the FPGA with four different logic circuits. The circuits use buttons and switches for inputs, and LEDs for outputs. You must probe the logic circuits by applying all possible combinations of input signals. From the results of applying all possible combinations you will be able to write logic equations that describe the circuits' behaviors. You will then rewrite the equations using Verilog HDL and re-implement them on FPGA and compare the circuit behavior with the given bit-file.

eye 4.51K
Verilog® HDL: Overview

Background and History

Introduces the topic of Verilog® Hardware Description Language (HDL) and explains the history.

eye 3.21K
Verilog® HDL: The First Example

Module, I/O Ports, Bus, and Assign

An example of how to use Verilog® HDL. Includes information on module, I/O ports, bus, and assign statements.

eye 4.63K
Simple Combinational Circuit Design

Project 4: Majority of Five

How could you find a majority of the vote if each voter of five has a switch to vote for yes or no? The logic is fairly simple and will be used in this project. Any time there are three or more of the five who vote yes, then there is a majority and the LED needs to turn on.

eye 4.13K
Hierarchical Design in Verilog

Project 6: A Simple Communication System

In this project, you will design a 4-to-1 Mux and a decoder with an enable signal as a De-Mux to implement a simple serial data transmitter. Both Mux and De-mux will be implemented in two Verilog files for future re-use. Another Verilog file will be used to wrap up the Mux and De-Mux to form a communication sytem. This hierarchical design methodology will help manage design complexity, promote design reuse, and allow parallel development.

eye 4.50K

Project 8: Simulate SR-Latch

Latches are the fundamental bi-stable memory circuit in digital systems to store data and indicate the state of the system. In this project, we are going to implement and simulate the basic NAND cell of an SR-Latch and see how it functions.

eye 8.24K
Hardware Multipliers

Hardware multipliers, based directly on adder architectures, have become indispensable in modern computers.

eye 2.36K
Arithmetic and Logic Units (ALU)

Arithmetic and Logic Units (or ALUs) are found at the core of microprocessors, where they implement the arithmetic and logic functions offered by the processor (e.g., addition, subtraction, AND'ing two values, etc.). An ALU is a combinational circuit that combines many common logic circuits in one block.

eye 4.07K
Introduction to Memory Circuits

Memory circuits function by storing the voltage present on an input signal whenever they are triggered by a control signal. They retain that stored voltage until the next assertion of the control (or trigger) signal. Between assertions of the control signal, the input signal is ignored and the output is driven to the most recently stored voltage.

eye 2.07K

SR-Latch, D-Latch

A latch is one of the basic memory elements that store information in a digital system. One latch can store 1-bit of information. The outputs of a latch are constantly changing according to the inputs as long as the latch is enabled.

eye 3.85K

Flip-Flop circuits are constructed in such a way as to make them operate properly when they are part of a sequential circuit that employs a single clock.

eye 2.90K
Introduction to State Machines

Although combinational logic circuits form the backbone of digital circuits, sequential circuits are used in the vast majority of useful devices; there are more than 100 billion in existence.

eye 1.82K
Design Sequential Circuits

The most difficult task in designing sequential circuits occurs at the very start of the design; in determining what characteristics of a given problem require sequential operations, and more particularly, what behaviors must be represented by a unique state.

eye 2.39K
Structural Implementation of State Diagram

A state diagram with state codes and complete branching conditions contains all information required for the design of optimal next-state and output logic circuits.

eye 2.34K
Introduction to Circuits

Electric Vs. Electronic, Analog Vs. Digital

A collection of electronic components that have been assembled and interconnected to perform a given function is commonly referred to as a circuit. Electronic circuits can be divided into two broad categories: digital and analog.

eye 3.81K
Physical Circuits Vs. Model Circuits

Physical circuits are constructed of real, physical devices. Physical circuits can be inspected, tested, and modified. They consume electric power when energized, and they can function properly and do some meaningful work, or they can malfunction and create serious hazards to health and property. Model circuits are built on a computer and simulate the workings of the circuit, which allows for testing before the physical circuit is created.

eye 1.74K
Basic Digital I/O

Slide Switch, Push Button, and LED

Circuits often require inputs that come directly from users (as opposed to inputs that come from other devices). User-input devices can take many forms, among them keyboards (as on a PC), buttons (as on a calculator or telephone), rotary dials, switches and levers, etc.

eye 2.30K

Translating Information to and From Your Board

The Digilent® boards use several connectors for various purposes, but in general, they all communicate electronic information between the board and outside devices. By convention, connectors are given the reference designator “J__”.

eye 1.50K
Program FPGA using Xilinx® iMPACT™

This page demonstrates how to properly program an FPGA using Xilinx® iMPACT™.

eye 2.77K
Introduction to Electronic Circuits

Real Digital Project 1

This project presents a brief, non-rigorous introduction to electronic circuits and systems. Only the most essential concepts are presented, with emphasis on topics used in later projects. As with all projects in this module, a companion “Exercise1” document is available for further understanding.

eye 2.13K
Introduction to Digilent FPGA-based Boards

Real Digital Project 2

This project introduces Digilent’s FPGA-based circuit boards and the Adept™ software that is used to program them. In tutorial fashion, Adept is used to download a logic circuit to the board, and that circuit is used in an experiment with basic logic circuits.

eye 1.51K
Logic Circuit Structure with an Introduction to Computer Aided Design (CAD) tools

Real Digital Project 3

This module presents the basic structure of combinational logic circuits, and introduces the use of computer aided design (CAD) tools in modern circuit design.

eye 3.59K