Skip to Secondary Navigation | Skip To Content

525.442—FPGA Design Using VHDL Course Homepage

Instructor Information

Richard Meitzler

Work Phone: 443-778-7130

Course Information

Course Description

This lab-oriented course covers the design of digital systems using VHSIC Hardware Description Language (VHDL) and its implementation in Field Programmable Gate Arrays (FPGAs). This technology allows cost-effective unique system realizations by enabling design reuse and simplifying custom circuit design. The design tools are first introduced and used to implement basic circuits. More advanced designs follow, focusing on integrating the FPGA with external peripherals, simple signal processing applications, utilizing soft-core processors, and using intellectual property (IP) cores.

Prerequisites

A solid understanding of digital logic fundamentals.

Course Goal

We will be learning fundamentals of VHDL with an emphasis on coding for synthesis, good digital design practices, and writing testbenches for exercising our designs. Each student will complete a number of assignments using a development board based on the Xilinx Spartan 3 FPGA.

Course Objectives

  • Be able to translate a functional system description into appropriate digital blocks coded in VHDL
  • Perform synthesis, place, and route of a digital design into a target FPGA

  • Embed a programmable microcontroller in an FPGA design and write functional assembly code
  • Display knowledge of good digital design practices in the context of the target hardware

When This Course is Typically Offered

I usually teach a section of this course each semester at the APL campus.

Syllabus

  • VHDL syntax
  • Coding for synthesis
  • Arithmetic
  • State machine design
  • Testbench design
  • RAMs
  • Using FPGA specific structures
  • Designing with a microcontroller
  • Timing analysis
  • FPGA place and route

Student Assessment Criteria

Homeworks 50%
Mid-term exam 25%
Final project 25%

Computer and Technical Requirements

Familiarity with digital building blocks and design principles, such as having taken a sophomore or junior level undergraduate digital design course.  Some knowledge of microcontroller operation and assembly code.

Software and an FPGA board will be distributed at the first class and will be used for the homeworks and final project.  Access to a Windows-based PC at home will allow the student to complete the assignments outside of the microprocessor lab located in the Kossiakoff Center.

Participation Expectations

Weekly assignments will emphasize developing code and implementing your design on the FPGA board.  The assignments and final project are individual effort only and often build upon the previous homework.  The mid-term will be in-class.

Textbooks

Textbook information for this course is available online through the MBS Direct Virtual Bookstore.

Course Notes

There are no notes for this course.

(Last Modified: 07/22/2008 11:07:57 AM)