Digital Systems Design - Spring 2012

Textbook

Verilog HDL (2nd Edition), Samir Palnitkar, Prentice Hall, ISBN 0130449113. This book is recommended (not required) for students who plan to pursue digital design as a career or who desire more information on the Verilog HDL. This book is not required.


Class Schedule

 Lecture MW10:00-10:50 am
Simrall 250
 Lab 1
Tues
3:30-6:20 pm
Simrall 132
 Lab 2
Th
3:30-6:20 pmSimrall 132


Instructor

Thomas Morris
Assistant Professor
Office hours: by appointment.

Lecture Slides

  1. Introduction
  2. Combinatorial Logic Review Part 1
  3. Combinatorial Logic Review Part 2
  4. Sequential Logic
  5. Sequential Logic with Verilog
  6. Verilog for Lab 2
  7. Design Validation
  8. FSM Review
  9. FSM in Verilog
  10. FSM Template
  11. Verilog for Simulation
  12. VGA Graphics
  13. System Timing
  14. Pipelining
  15. Datapath Design
  16. Datapath Design Examples
  17. Exam 2 Review
  18. Lecture for March 28
  19. Memories
  20. Scheduling
  21. Implementation Technologies
  22. Final Review

Exams

 Exam 1
 take home
 Hand out Monday Feb 20, Due Monday Feb 27
 Exam 2
 In class
 April 4


Project - Snake

  1. Part 1 Description
  2. Part 1 Verilog Templates
  3. Part 2 Description
  4. Solution for Basys1
  5. Solution for Basys2
  6. Video of game play
  7. Part2 Verilog Templates

Available slots for Project Check Off


Sign up here

Self Paced Homework

 Homework #1
 Solution
 Homework #2 Solution
 Homework #3 Solution
 Homework #4 Solution
 Homework #5 Solution
 Homework #6 Solution


Old Exams

 Fall 2008 Exam 1
Key
 Fall 2008 Exam 2
Key
 Fall 2008 Exam 3
Key
 Spr 2009 Exam 1
Key
 Spr 2009 Exam 2    
Key
 Fall 2009 Exam 1
Key
 Fall 2009 Exam 2 UG
Key
 Fall 2009 Exam 2 GR
Key
 Fall 2010 Exam 2
Key
 Spr 2011 Exam 1
Key
 Spr 2011 Exam 2
Key
 Spr 2011 Final Exam V1, V2, V3
 


Labs

 Lab
 Assigned
 Due
Lab 1
 1/23/2012 Thursday, Feb 2
Lab 2
 1/30/2012 Thursday, Feb 9
Lab 3
 2/06/2012 Thursday, Feb 16
Lab 4
 2/13/2012 Thursday, Feb 23
Lab 5
 2/21/2012 Thursday, Mar 1
Lab 6
 2/27/2012 Thursday, Mar 8
Lab 7
 3/06/2012 Thursday, Mar 22

Software

We will be using a software package called Xilinx ISE WebPack 12.4  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 should have the software downloaded before coming to lab since it is a very large download (~1.7).

  1. Xilinx ISE WebPack Download - Please be sure to download version 12.4. You will need to register first then return to the above link to download the correct version.
  2. Download Adept 2.8.1 - This is used to download .bit files to your Basys board.

Hardware

The labs this semester will require each student to purchase the Digilent, Inc. Basys 2 development board. These cost $49 (student version) 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.

  1. Basys reference manual
  2. Basys board schematic

Lab Tips

  • There are 2 Basys boards! The original Basys and the Basys 2. The package and pinout is different between the two boards.
  •  Board Version
    FPGA
    Package
     Speed Grade
     UCF File
     Basys XC3S100E TQ144 -4 ucf file
     Basys 2
     XC3S100E CP132 -4 ucf file
     
  • Make sure you are using the correct package and UCF file for your board.
  • General:
    • Be sure to include the constraints file in your project. If you're seeing strange things on the outputs, this may be the problem.
    • If your code compiles, but doesn't do what you want it to: READ THE WARNINGS
      • The warnings are there to tell you that you probably made a mistake, but it will compile your code anyway
      • If it optimized something out, it will give you a warning - that's usually a mistake
      • It will tell you when it finds an asynchronous loop
      • It will tell you of unassigned I/O
  • Verilog code:
    • Make simple always blocks
      • Only assign few related outputs
      • More smaller process statements are better than one big one
      • The compiler is not very smart
    • Always be able to draw a block diagram of the circuit you are trying to describe
    • Watch out for asynchronous loops in your code
      • Make sure you can't trace a combinatorial path
      • Temporary signals make this deceptive
  • Schematic Entry:
    • Use the wire naming tool - don't double click on a wire to name it
    • If you rename a wire, it will rename all of the wires of the same name

Reference Material


Academic support

In compliance with and in the spirit of the Americans with Disabilities Act (ADA), academic accommodations are made for any student with a documented disability. Students should register with the Office of Student Support Services in Montgomery Hall at (662) 325-3335 as soon as possible to better ensure such accommodations are implemented in a timely fashion and comply with their policies. Any student who believes they may need accommodations in this class are encouraged to contact Student Support Services If Student Support Services has a prescribed course of action for you with regard to this class, please visit me during office hours so we can make the proper arrangements.

Academic Integrity

Mississippi State University has an approved Honor Code that applies to all students. The code is as follows:

"As a Mississippi State University student I will conduct myself with honor and integrity at all times. I will not lie, cheat, or steal, nor will I accept the actions of those who do."

Upon accepting admission to Mississippi State University, a student immediately assumes a commitment to uphold the Honor Code, to accept responsibility for learning, and to follow the philosophy and rules of the Honor Code. Students will be required to state their commitment on examinations, research papers, and other academic work. Ignorance of the rules does not exclude any member of the MSU community from the requirements or the processes of the Honor Code. For additional information please visit the MSU honor code website.


More Cowbell