INTRODUCTION TO VHDL / FPGA

  About

Course is introductory level and is on VHDL (Very High Speed Integrated Circuit Hardware Description Language) and FPGA (Field Programmable Gate Arrays). It is simply the contemporary way of designing and testing digital (logic) circuits. VHDL is not a programming language. We start with simple digital circuits like driving a LED, designing a binary counter, eventually ending up with SPI communication and similar basic digital circuits. Here and here are the course and lab description documents respectively.

We often use the last Chapter of this textbook as introduction. The announced reading list includes "V.A. Pedroni, Circuit Design with VHDL, MIT Press."

We do 3 hours in-class theoretical/practical study followed by in-lab experimentation using Spartan 3E Starter Kit. These kits are provided in the lab. However, for online courses/labs (if it happens to be), students must obtain/acquire/buy his/her own kit/board with predefined/announced capabilities. Students are encouraged to bring his/her own notebook computer to the lab for use in their experiments (because computers in the lab are getting difficult to maintain). Starting from Fall-2021 students may be asked to use their own FPGA-boards in the lab, because several lab-owned FPGA boards are broken due to improper handling by the students. Here are the current lab experiments.

Exams are done in "open everything except communication" fashion. That is, you may bring anything (laptops, books, notes) into the exam and use them. The communication between students and internet are prohibited however. Here is a typical exam (and solutions in red).

Course also includes term projects with 2-3 students per project. Projects are assigned to the groups by the instructor. Requirements for the projects are announced in or after the 4th week. Difficulty of the projects ranges from simple video games to complex signal processing tasks. Here is an example project report.

  Slides & Handouts

Course slides are provided here in pdf format. Reading the slides before the class will help a lot understanding the subject. Course may not follow the order of slides listed here and some slides may never be distributed. These slides are constanly updated/corrected, so atudents are advised to download them time to time. (we may not be following the order presented in the slides) 

1. Introduction and Combinatorial Circuits (slides)

2. Clocked Circuits (slides)

3. More VHDL (slides)

4. Functions and Like (slides)

Download Spartan 3E Starter Kit User Guide

We have a Facebook group named ESOGU VHDL Course.  Posting files and comments are easier in a closed group. In case you wish, you need to become a member of the group to access the contents.

2023-Fall:

vhdfa_23g.pdf (31.Jan.2024 comments added)
 

2022-Fall:

Types example we did in class (please read comments in the code)
 

2021-Fall:

In-Class experiments:

Rotary (different approach) 

Knight-Rider with buttons 

State Machine Example (Vending Machine) 

VGA_Sync Signals Example (box only)

SineDisplay (in class demo for Sine Signal display on VGA (not finished))

Project Assignments:

Student Preferences 

Project Descriptions and Assigned Members 

Exams:

vhdva_21g.pdf 

quiz 1

quiz 2

 
Previous Years:
 
Some Installation Problems/Solutions: