ECE 448

FPGA and ASIC Design with VHDL

Spring 2007

Quick Links

Instructor

Kris Gaj
S&T 2, room 223
e-mail:  kgaj (at) gmu.edu
             Please start a subject of your e-mail from "ECE 448:"
 

Teaching Assistants

Tuesday & Wednesday sections
Tuesday, 7:20-10:00 PM
Wednesday, 7:20-10:00 PM

Nghi Nguyen
Mailbox: S&T 2 hallway near Room 208
e-mail: nguyen.nghi (at) gmail.com
Please start a subject of your
e-mail from "ECE 448:"
Thursday section
Thursday, 7:20-10:00 PM
 

Jeremy Kelly
Mailbox: S&T 2 hallway near Room 208
e-mail: jeremy.a.kelly (at) gmail.com
Please start a subject of your
e-mail from "ECE 448:"

Lecture:

Tuesday, Thursday, 5:55-7:10 PM, Robinson Hall A111

Labs:

Section 202: Tuesday, 7:20-10:00 PM, S&T 2, Room 203
Section 203: Wednesday, 7:20-10:00 PM, S&T 2, Room 203
Section 204: Thursday, 7:20-10:00 PM, S&T 2, Room 203

All students will be provided with an access code to the room 203, and are welcome to work on their experiments at any time.
Experiment demonstrations will be accepted exclusively during the class time for a particular lab section.

Office hours:

Monday, 5:00-6:00 PM, room 203, Nghi Nguyen
Monday, 6:00-7:00 PM, room 223, Kris Gaj
Tuesday, 4:45-5:45 PM, room 203, Nghi Nguyen
Tuesday, 7:30-8:30 PM, room 223, Kris Gaj
Wednesday, 5:00-7:00 PM, room 203, Jeremy Kelly
Thursday, 7:30-8:30 PM, room 223, Kris Gaj

All office hour sessions are open to all students, independently of their assignment to a particular lab section.

Course credit:

4 hours

Grading

Lab experiments (Part I):   20%
Midterm exam for the lecture:  10%
Midterm exam for the lab:  15%
Quizzes  10%
Lab experiments & homework (Part II):    20%
Final exam:  25%

General Laboratory Rules

Lecture slides & VHDL codes (to be published before each lecture)

NEW!!! - Lecture 17 - ASIC Back-End Design - NEW!!!
NEW!!! -
Required reading:
Physical Level Design using Synopsys - NEW!!!

Lecture 16 - ASIC Front-End Design
NEW!!! - Required reading: Measuring the Gap Between FPGAs and ASICs - NEW!!!

Lecture 15 - FPGA Boards and FPGA-based Supercomputers
NEW!!! - Required reading:  PCI, PCI-X - NEW!!!

Lecture 14 - Survey of Reconfigurable Logic Technologies

Lecture 13 - Advanced Testbenches

Lecture 12 - HLL Design Methodology. Handel C.

Lecture 11 - RTL Design Methodology. Examples: min_max_avr & sorting

Lecture 10 - Memories: RAM, ROM

Lecture 9 - Algorithmic State Machines

Lecture 8 - Finite State Machines

Lecture 7 - FPGA Devices & Design Flow

Lecture 6 - Mixing Design Styles. Synthesis. Modeling of Circuits with Regular Structure.

Lecture 5 - Behavioral Design Style: Registers, Counters, Shift Registers

Lecture 4 - Describing Combinational Logic Using Dataflow and Structural Design Styles

Lecture 3 - Data Flow Modeling of Combinational Logic. Simple Testbenches.

Lecture 2 - VHDL Refresher

Lecture 1 - Introduction and Organizational Issues

Posted gradually at least one day before a given lab.

See Course Webpage from Spring 2006 for slides from the previous year.
 

Lab slides & VHDL codes (to be published before each lab session)

NEW!!! - Lab 9 - PIC Microcontroller Core. Logic Analyzer. - NEW!!!

Lab 8 - Mixing Handel-C with VHDL. Camera. Image processing in VHDL.

Lab 7 - Introduction to Celoxica DK Design Suite

Lab 6 - Introduction to Musical Sound Generation

Lab 5 - Introduction to VGA Signal Generation

Lab 4 - Finite State Machines

Lab 3 - Introduction to FPGA Board and FPGA Implementation Tools

Lab 2 - Introduction to Synplicity Synplify Pro. Implementing Sequential Logic in VHDL: Grain-128 Stream Cipher.

Lab 1 - Introduction to Aldec Active HDL. Implementing Combinational Logic in VHDL: MLU & mini ALU.

Posted gradually at least one day before a given lab.

See Course Webpage from Spring 2006 for slides from the previous year.
 

List of experiments

NEW!!! - Experiment 9 - PIC Microcontroller Core. Logic Analyzer. - NEW!!!

NEW!!! -Experiment 8 - Postprocessing Image from a Camera. Advanced Testbenches.  - NEW!!!

Experiment 7 - Sound Generator in Handel C

Experiment 6 - Sound Generator in VHDL

Experiment 5 - VGA Signal Generator

Experiment 4 - Vending Machine - implementing digital systems based on finite state machines

Experiment 3 - implementing digital systems using FPGAs (functional, post-synthesis & timing simulation, experimental verification with the board)

Experiment 2 - implementing sequential logic in VHDL (synthesis using Synplicity Synplify Pro + functional and post-synthesis simulation using Active-HDL)

Experiment 1 - implementing combinational logic in VHDL (functional simulation using Active-HDL)

The specifications of lab experiments will be posted gradually at least one day before a given lab.

See Course Webpage from Spring 2006 for slides from the previous year.


Software

The FPGA design process will be based on the following design tools:
- Active HDL from Aldec or ModelSim Xilinx Edition III from Xilinx used for design entry and simulation,
- Synplify Pro from Synplicity used for logic synthesis, and
- Xilinx ISE or Xilinx WebPACK from Xilinx used for design implementation in Xilinx FPGA devices.

All of these programs will be available for unlimited use in the 203 lab.

Students may download or request a free 20-days evaluation version of the Active-HDL software. It is also possible to purchase Active-HDL Student Edition with the functionality limited compared to the professional version.

The ASIC design process (front-end) will be based on the following design tools:

- Design Compiler from Synopsys used for logic synthesis
- PrimeTime from Synopsys used for logic synthesis.

Hardware

Students are not required to purchase any boards or other equipment by themselves. The boards will be provided to the students during the lab sessions, office hours, and on-demand by checking out the boards from the research lab located in S&T 2, room 220, and Dr. Gaj's office, S&T 2, room 223.

Required textbooks

Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with VHDL Design, McGraw-Hill  © 2nd edition, 2005, ISBN: 0-07-249938-9.

Recommended textbooks

  1. Sundar Rajan, Essential VHDL: RTL Synthesis Done Right, ISBN 0-9669590-0-0, can be ordered from XESS Corporation Web Site (see also table of contents).
  2. Sunggu Lee, Advanced Digital Logic Design using VHDL, State Machines, and Syntesis for FPGAs, Thomson, 2006, ISBN: 0-534-46602-8.
     

Useful references

VHDL

VHDL Instructions: Templates & Examples
Version 1
Version 2

The Low Carb VHDL Tutorial - by Bryan Mealy

VHDL Tips & Tricks - from the Integrated Systems Laboratory, ETH Zurich
 

FPGAs & FPGA Boards

Introduction to FPGA devices and tools

Documentation for Xilinx devices, and in particular for the Spartan 3 family

Celoxica RC10 FPGA Board User Manual

XESS XSA-3S1000 FPGA Board User Manual


Aldec Active-HDL

Aldec Active-HDL - Getting Started
 

Xilinx ISE

Xilinx manuals for ISE software.


Synopsys

Introduction to Synopsys

Remote Access to Synopsys


Related course web pages

ECE 448 course web page from Spring 2006

ECE 545 course web page from Fall 2006

ECE 449 course web page from Spring 2005

ECE 449 course web page from Spring 2004

ECE 449 course web page from Spring 2003


Exams & Quizzes from Previous Years

Hands-on Midterm Exam from Spring 2004:
Solutions to the Midterm Exam - Tuesday section
Solutions to the Midterm Exam - Thursday section
 
Hands-on Midterm Exam from Spring 2005:
Solutions to the Midterm Exam - Monday section
Solutions to the Midterm Exam - Tuesday section
Solutions to the Midterm Exam - Thursday section
 
Practice Midterm Exam from Spring 2006
Practice Hands-on Midterm Exam
 
Practice Final Exam from Spring 2006
Practice final exam - Parts I & II
Solutions to Practice final exam - Part I
Solution to Part 2 Problem 3 - 2to1mux.vhd, 16to1mux.vhd
 
Quizzes from Spring 2006
Quiz 1
Quiz 2 with solutions
Quiz 3
Quiz 4 with solutions
Quiz 5 with solutions
 
Final Exam from Spring 2006
Final Exam Part I - version 1
Final Exam Part II - version 1
Final Exam Part I - version 2
Final Exam Part II - version 2

 


Maintainer of the page: Kris Gaj