EE4743/6743 Digital Systems Design (Fall 2007)


Class Time & Location

MW(F) 10:00-10:50am,  Simrall 203

Instructor

Sherif Abdelwahed 
Assistant Professor
ECE Department, Mississippi State University
Office Hours: MW 1:30-3:00pm or by appointment

Lab Instructor

Ridzky Riyadi  rar67@msstate.edu
The Lab Policy is provided here.

Class E-mail

ece4743@ece.msstate.edu

Textbook

R. Reese and M. Thornton, Introduction to Logic Synthesis Using Verilog HDL, Morgan & Claypool Publishers, 2006.

Grade Determination

Tests:     45%
Lab:       20%
Project:  10%
Final:      25%

Grading Scheme

A:  100-90
B:   89-80
C:   79-70
D:   69-60
F:    59-0

Attendance

Students are expected to be present for all tests and for the final exam. In extreme cases, I may arrange a make-up test. I will not be taking regular attendance, but I strongly suggest coming to class as the tests are based off of material discussed in class. It is the student's responsibility to contact me in advance to explain the situation and arrange an alternate plan.

Prerequisites

Digital Devices (ECE3714)
  1. Topics
  2. Sample Exercises

In-Class Slides

  1. Aug 20, 2007 (M) : Introduction
  2. Aug 22, 2007 (W):  Review of combinational logic
  3. Aug 23, 2007 (F):   Review of sequential logic
  4. Aug 27, 2007 (M):  Review of finite state machines
  5. Aug 29, 2007 (W):  Combinational Verilog
  6. Aug 31, 2007 (F):   Implementation technology
  7. Sept 5, 2007 (W):   Fixed point Arithmetic (Shift-add-3 algorithm)
  8. Sept 7, 2007  (F):    Sequential Verilog 
  9. Sept 10, 2007 (M):  Finite state machines design 
  10. Sept 12, 2007 (W):  Datapath design
  11. Sept 17, 2007 (M):  System Timing
  12. Sept 19, 2007 (W):  Increasing the Clock Rate
  13. Sept 26, 2007 (W):  Structural Verilog (VGA Graphics)
  14. Sept 28, 2007 (F):   Scheduling 
  15. Oct 3, 2007 (W):     Scheduling Examples
  16. Oct 8, 2007 (M):     Increasing the initiation rate
  17. Oct 10, 2007(W):    Linear Feedback Shift Registers (LFSR)
  18. Oct 15, 2007(M):    System-on-a-Chip design
  19. Oct 17, 2007(W):    Pipelining 
  20. Oct 24, 2007(W):    Pulse Width Modulation
  21. Oct 29, 2007(M):    IO Technology
  22. Oct 31, 2007(W):    Introduction to design for Test
  23. Nov 7, 2007 (W):    Introduction to design for Test
  24. Nov14, 2007 (W):   Introduction to VHDL
  25. Nov 28, 2007 (W):  Review for the final

Tests

Test 1:  Wednesday, August 28. Due Friday August 31.

Test 2:  Friday, September  14, 2007.

Test 3:  Friday, October 5, 2007.

Test 4:  Monday, October 22, 2007.

Test 5:  Monday, November 12, 2007.

Final Test" Friday, December 7, 2007.

The first key to doing well on the tests is to study the old exams. There are many problems on them which I use for future exams with perhaps some small modifications. It is also excellent practice to work the problems. If you understand how to do the problems on the old exams, then you will be well prepared.

The second key to doing well on the exams is to prepare a good page of notes. Just by going through the process of looking up information on the slides, you come to understand what you know and what you don't know. The decision to put something on the exam requires a certain level of understanding of the material. It's also ok to put old exam problems and answers on there since I use a lot of old material; however, be sure you know how the problem works since I often slightly change old problems for new exams.

Handouts 

Fall 2007 Syllabus and Class Policy

Software

We will be using a software package called Xilinx ISE WebPack for digital logic programming in this class. This is free software that can be downloaded from the Xilinx web page. For simulations, we will use the Modelsim software, which is also a free download from the Xilinx web page. We will discuss how to install and use the software in lab. The labs will be oriented around your laptops, so you will need to install the software yourself. You must have the software downloaded before coming to lab since it is a very large download (~850MB). Instructions for downloading it are included in lab 1. This software is also available on the workstations in the lab if you do not have a laptop. You can also use the Quick Start Tutorial to answer many questions about how to use the software, including HDL and schematic entry, simulation, constraints, implementing, and downloading.

Hardware

The labs this semester will require each student to purchase the Digilent, Inc. Basys development board. These cost $59 each and can be purchased directly from the Digilent, Inc. homepage. Included with each kit is a power supply and download cable. We decided to do this so each student can have hands-on experience with FPGA hardware. Each board has 8 LEDs, 8 switches, 4 push buttons, and a 4 digit numerical display. There are also connections for a VGA monitor and a PS/2 port for keyboards/mice. We will be using all of these in the lab.

Basys_p_m1.gif

  1. Basys reference manual
  2. Basys board schematic


We strongly recommend doing the labs on your laptops. If your laptops do not have a parallel port, then you won't be able to use the download cable. If you don't have a suitable laptop, some computers will be available in lab for development and programming.

Labs

The labs offered this semester will have different accomplishment levels. This is designed so each student can decide how many hours he/she wants to put into the lab. Each level carries a grade of A,B,C. The labs are designed so that completing the 'C' level work will lead directly into the 'B' level work, which will in turn lead into the 'A' level work. Graduate students must complete at least the 'B' level work. There are weekly quizzes at the beginning of the lab period and a lab final during the last week of class. Be sure to bring your laptops to lab. If you do not have a laptop, then there are a few workstations that you can use.

If you use the Basys board, use the constraints file provided here. When you open the project in the lab files provided below you will have to change the FPGA for which it is synthesizing the design. Do this by right clicking on "xc3s200-4ft256" in the Sources window and select "Properties...". Change the Family to Spartan 3E, change the Device to XC3S100E, and change the Package to VQ100.

  1. Week of August 27:     Lab1: Software Installation and Tutorial 
  2. Week of Sept. 5:         Lab2: Combinational Verilog
  3. Week of Sept 10:        Lab3: Sequential Verilog: Board Evaluation
  4. Week of Sept 17:        Lab4: Finite State Machines: Calculator
  5. Week of Sept 24:        Lab5: IP Cores: Pong
  6. Week of Oct 1:           Lab 6: Memories:  Raster vs. Tiles 
  7. Week of Oct 8:           Lab7: Image Processing: Dithering 
  8. Week of Oct 15:         LFSRs: Cryptology
  9. Week of Oct 22:         Pulse Width Modulation
  10. Week of Oct 29:         Embedded Processors: Picoblaze
  11. Nov. 14:                     Lab Final
Lab Tips:

Project

There will be a team project this semester lasting four weeks. The project will use the Basys development board. During the semester you will submit a proposal for their project, and it must be approved by the instructor. A detetailed describtion of the project is found here

Phase 1 Due: Nov 2

Phase 2 Due: Nov 9

Phase 3 Due: Nov 16

Phase 4 Due: Nov 26

Demonstrations Nov 29 and Nov. 30 3:00-5:00 at SDS lab

4743 Project Template Page

Current Projects

Previous Projects

Spring 2007

Fall 2006

Spring 2006

Fall 2005

Spring 2005

Reference Material

Web pages of interest

Data Sheets

Sample Tests

Homework problems