EE 365

Advanced Digital Circuit Design

Fall 2001

I. Course Description

An advanced course in digital circuit design, this course begins with a review of switching algebra and combinational design, programmable logic devices, and combinational circuits including encoders/decoders and multiplexers/demultiplexers. Sequential circuits using latches, flip-flops, ROM and RAM and also reviewed. Topics in sequential circuit design are treated, including finite state machines, Mealy and Moore models, state diagrams and state tables, optimization, asynchronous sequential circuits, and races and hazards. In addition, implementation of sequential circuits with programmable logic devices is discussed, as are topics in logic circuit testing and testable design.

 

II. Prerequisites

EE 264

 

III. Textbook

Digital Design Principles and Practices, 3rd ed. by Wakerly. Prentice Hall, 2000.  (required)

 

IV. References

Digital circuit data book (available online):

            www.ti.com (search by part name e.g. 74LS04 or use the functional index)

            www.latticesemi.com  source for data on GALs

            www.xilinx.com/partinfo/databook.htm  source for data on xilinx CPLDs, FPGAs

Textbook web site www.ddpp.com  (includes an appendix on basic electric circuits that is useful if you don’t remember, or didn’t take ES 250)

 

V. Course Topic Outline             (Textbook references are given in brackets)

1.      Introduction.  Overview of microelectronic devices and digital signals. [Chaps. 1 and 3]

2.      Review of basic Boolean Algebra and combinational logic design.  [Chap. 4.1-4.3]

3.      Practical logic design: data books, CAD tools, documentation [Chap. 4.7, 5.1, 11.1]

4.      Timing in combinational circuits [Chap. 4.5, Chap. 5.2]

5.      Programmable logic: PLDs, FPGAs, etc. [Chap. 5.3 and 8.3]

6.      MSI and VHDL implementations of building block components:
      decoders, muxes, tri-state logic, adders, etc. [Chap. 5.4-5.11]

7.      Design examples using combinational components [Chap. 6.1 and 6.3]

8.      Review of sequential logic components: S-R latch, D latch, D flip-flop. [Chap. 7.1-7.2]

9.      Clocked synchronous state machines [Chap. 7.3- 7.5]

10.    Synchronous design using state machines [Chap. 8]

11.    Practical timing considerations and designs using VHDL  [Chap. 9.1-9.2]

12.    Memory components (ROM, SRAM, DRAM) [Chap. 10]

13.    Testability [Chap. 11.2]

VI. Course Objectives

1.  Students should learn the electrical characteristics of CMOS and TTL logic gates and should understand how these devices function in a typical application circuit, including interfacing with other circuit elements.

2.      Students should learn how to design practical digital systems using standard medium scale and large scale integrated circuits, including programmable logic circuits.

3.      Students should learn how to use modern CAD tools including schematic capture editors, simulations, and logic synthesis compilers based on VHDL.

4.      Students should gain experience with a variety of standard digital memory circuits and subsystems, and should understand their internal design and their application in more complex systems.

 

VII.  Learning Outcomes

1.      For CMOS and TTL logic families, students will be able to explain the meaning of electrical characteristics such as noise margin, input and output voltages and currents, and timing characteristics.  Students will be able to design interfaces between devices from these logic families and other electronic devices. [Objective 1]

2.      Students will be able to design practical digital systems using standard MSI parts and programmable logic. [Objective 2]

3.      Students will be able to use CAD tools to produce a schematic of a digital design and to simulate the design. [Objective 3]

4.      Students will be able to express a digital design in VHDL and use a VHDL compiler to synthesize the design in programmable logic. [Objective 3]

5.      Students will be able to use standard digital memory devices as components in complex subsystems. [Objective 4]

 

VIII.  Assessment Methods

1.      Homeworks (some design problems) will be given that require students to demonstrate the ability to  do specific designs. [Measures outcomes 1-5]

2.      Two exams and a final exam will be given that test knowledge necessary for analysis and design of digital circuits. [Measures outcomes 1, 2, 4, 5]

 

IX.  Course Policies and Grading

Problem sets will be given approximately every week.  In some cases, you will be encouraged to work on these in small groups.  Some solutions are available at the textbook web site; others may be covered in class.  Ability to do these problems is important for satisfactory performance on the exams.  Design problems will be given approximately once every 3 weeks.  You may work alone, or in a group of two only.  Groups may not share results with one another.  Design problems will be collected and graded.  There will be two exams and a comprehensive final exam as listed in the schedule below.

 

            Grading:

                        Homework                  30 %

                        Exams                         30 %     October 11,  and  November 15

                        In Class quiz average            15 %

                        Final Exam               25 %   

X.  Instructor

            Dr. Abul Khondker

            CAMP 134,  phone: x-2127

            khondker@clarkson.edu

            Office hours:  MWF 10-12 noon

           


Lecture notes: (adopted and modified from John Wakerly's website)

Introduction to Logic Circuits
CMOS & TTL gates, Electrical characteristics and timing
Boolean algebra/Combinational-circuit analysis
Combinational-circuit synthesis
Documentation Standards Programmable Logic Devices, Decoders
Three-state Outputs, Encoders, Multiplexers, XOR gates
Adders, Multipliers, Read-Only Memories

Sequential Circuits and flipflops, PALs
Sequential-circuit analysis
Sequential-circuit design/synthesis
PLD timing,Registers, Counters, Shift registers
More of Sequential circuits
Memories
CPLDs
FPGAs
Synchronous Design Methodology & Asynchronous Inputs

Helpul links on Xilinx
Xilinx University Resource Center
License problem with Version 1.5
Xilinx Tutorial (check out their help on installtion)

Take Home exam
Click here for Exam 2.

Due: Monday, Nov 19, before 12:00 noon in my office. Please check my webpage a few times until friday night. Any additions/corrections to the test will be posted here. You must work by yourself. If there is any evidence of collaboration between two or more people on any problem in the test, everyone involved will receive a "zero" (0) in the take-home exam.

Projects
Project #1
Project #2
Project #3
Final Project

Solution to Homeworks

Homework #1
Homework #2
Homework #3
Homework #4 (examples only)
Homework #5
Homework #6
Homework #7
Homework #8

Solution to Quizes

Quiz #1

Solution to Hour Exam

Hour Exam #1

Download demolib (source: Active CAD)
Click here. Unzip the file in C:\fndtn\Active\SYSLIB folder. Restart Xilinx and

Links to VHDL Tutorials

VHDL Synthesis Tutorial
Read the COMBINATIONAL CIRCUIT SYNTHESIS section first.

VHDL link from University of Erlangen-Nürnberg
Read the section on VHDL_tutorial. They have an English language version there. So don't panic if you have not taken "German 406".
Behavioral VHDL code for 74x157
Dataflow VHDL code for 74x153


VHDL Examples: (To use these zip files, simply save the files on the hard-drive and from the project manager (Xilinx software) go to "File" then "Restore Project" and then follow the instructions.

1. 1/2 74x139 MSI chip: 2-4 decoder (VHDL)
2. 74x139 MSI chip based 3-8 decoder (using both halves) (VHDL - dataflow)
3. 74x138 MSI chip: 3-8 decoder (VHDL - dataflow and structural)
4. 4-16 decoder using Two-74x138 ICs (VHDL - dataflow & structural) See Fig. 5-38
5. Counters (ripple, serial and parallel enable) (VHDL)