Northeastern University, Electrical and Computer Engineering Department
NU: ECE 3401 - NTU: DS 765-F
Digital System Design with Hardware Description Languages
Summer 1998
4:00-5:40 PM Tue, Thr
Dr. Zainalabedin Navabi





Last modified July 1, 1997. Alireza Khalafi is in charge of this page, akhalafi@ece.neu.edu, Under provision of: Dr. Zain Navabi, navabi@ece.neu.edu













CONTENTS:


The course covers the standard VHDL hardware description language. Using this language for design, description and synthesis of hardware is emphasized. We will begin with a general overview of the language. Timing issues in a hardware language and concurrency will be discussed next. Description of hardware at three levels of abstraction will be discussed. These levels are structural, dataflow and behavioral and will be discussed in this order. This will be followed by presenting VHDL 1993 new features and other VHDL related IEEE standards. The course continues with presenting a CPU design process in VHDL. Initially the CPU will be presented. This machine will be described at behavioral level and at the dataflow level for manual design. Next, an overview of synthesis will be given. The CPU will then be rewritten for synthesizability. Generated hardware and various synthesis styles will be discussed. Using VHDL, we will design a Cache controller and peripheral interfaces such as an interrupt controller and a DMA for our example CPU. The completed design illustrates top-down design procedure for a complex design.





OUTLINE:

 Ref1: "VHDL: Analysis and Modeling of Digital Systems,"
        Second Edition, Zainalabedin Navabi, McGraw-Hill Publishing Inc., 
        New York, 1998. 

 Ref2: Lecture notes will be on the Web pages


 LECTURE  1: CHAPTER  1-2 
             Introduction, HDLs,  Simulation, Synthesis,
             CAD environments
             HOMEWORK: --

 LECTURE  2: CHAPTER 3-4 
             VHDL history, evolution,  design  strategy,
             levels of abstraction, VHDL overview, the
             general structure of the language
             HOMEWORK: -- 

 LECTURE  3: CHAPTER   4 
             VHDL  timing,   concurrency,  sequentially
             HOMEWORK: 

 LECTURE  4: CHAPTER   4 
             VHDL  timing,   concurrency,  sequentially
             HOMEWORK: 

 LECTURE  5: CHAPTER   5 
             Structural  descriptions in  VHDL, Binding
             alternatives, design of flip-flops,
             iterative structures
             HOMEWORK: TBA

 LECTURE  6: CHAPTER 5-6
             Design organization,  subprograms,  number
             conversion, packages
             HOMEWORK: TBA

 LECTURE  7: CHAPTER   6 
             Design parametrization,   configuration 
             declaration,   binding  alternatives
             HOMEWORK: --

 LECTURE  8: CHAPTER   7 
             Types, Arrays, Physical types, overloading
             HOMEWORK: 6.12

 LECTURE  9: CHAPTER   7 
             Overloading,  attributes,  user attributes
             HOMEWORK: -- 

 LECTURE 10: CHAPTER   8 
             Modeling selection logic, block statements,
             clocked  flip-flops, latches
             HOMEWORK: 7.8, 7.17, 7.19, 7.20, 7.25, 7.26

 LECTURE 11: CHAPTER   8 
             State machine, multiple active states, open
             collector gates 
             HOMEWORK: --

 LECTURE 12: CHAPTER   9 
             Process statements, text IO, State machines,
             HOMEWORK: TBA

 LECTURE 13: CHAPTER   9 
             Handshaking, Other forms of state machines,
             a top-down design
             HOMEWORK: -- 

 TEST 1    : CHAPTERS 1-8 plus processes and timing; Old Exams are available;
		Takes up one lecture (14).

 LECTURE 15: CHAPTER  10
             Defining   Parwan  CPU,  timing,  utilities,
             Parwan behavioral description, partitioning,
             sub-components
             HOMEWORK: 

 LECTURE 16: CHAPTER  10 
             Control unit,  wiring the machine
             HOMEWORK: --

 LECTURE 17: CHAPTER  10 
             Complete the description of Parwan, a simple
             test bench
             HOMEWORK:
 
 LECTURE 18: Appendix B, CHAPTER  11 
             Synthesis  in  VHDL,  styles,  logic  units,
             registers, state machines, CPU peripherals
             HOMEWORK: -- 

 LECTURE 19: CHAPTER 11 
             CPU Peripherals
             HOMEWORK: 

 LECTURE 20: CHAPTER  11 
             Cache, DMA, Complete system
             HOMEWORK: --





POLICY: A


Texts:

  • (Required) 1. "VHDL: Analysis and Modeling of Digital Systems," Zainalabedin Navabi, McGraw-Hill Publishing Inc., New York, 1993.
  • (Optional) 2. IEEE Standard VHDL Language Reference Manual, IEEE Inc., ANSI/IEEE Std. 1076-1993, New York, NY, 1993.

Manuals:

Software manuals will be available in the computer room. If necessary, parts of the manuals will be distributed.

Grading:

Your overall grade will be determined by homeworks, a mid-term exam and a final exam.

Homeworks

20%A

Mid-term Exam

30%

Final Exam

50%

Objective:

Study of VHDL and how it can be used in a digital system design environment. Study and design of a small instruction computer at the Register Transfer Level, using the VHDL language. IO devices and designing them with VHDL.

Assignments:

Several problems will be assigned with each lecture. Homeworks are due a week after they are assigned, and they must be submitted to the TA in the computer room or emailed to the designated TA. A homework not turned in will receive a -10 grade, this translates to a -3% from the overall grade. Reasonably late homeworks will be accepted with a 10% per week penalty.

Midterm:

A midterm will be given after completing the first half of the course. This exam will be open book and reasonable number of references is permitted.

Final:

The Final exam covering the entire course material will be given on the scheduled exam date. Half page cheat-sheet is permitted.

Computer:

The main computers used in this course are the ECE PC computers. These machines are equipped with Model Technology V-System VHDL simulator. Other VHDL simulators that become available will be installed on these same machines.

Attendance:

Attendance is required. Lectures are from the combination of the texts and the notes.

Prerequisites:

The prerequisite material for this course is the material that any Computer Engineering Graduate student should be very good at. This includes a good knowledge of digital circuits, sequential and logic circuit design, MSI parts, general understanding of computer instructions and addressing. You must at least know one high level programming language. Knowledge of computer logic and programming languages is essential for successful completion of this course.