EE 365
Advanced Digital Circuit Design
Fall 2003
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.
Homework (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
%
Exam (in class) 15 % October 06 (Open Book)
Take
home Exam 15 % November 12
In Class quiz average 15 %
Final Exam 25 %
X. Instructor
Dr.
Abul Khondker
CAMP 134, phone: x-2127
khondker@clarkson.edu
Office hours: T,
Th 11-12:30, M 10-12
Software:
· ModelSim Install the starter version (Free) with VHDL
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
PLD timing,Registers, Counters, Shift
registers
Sequential-circuit analysis
Sequential-circuit design/synthesis
More of Sequential circuits
Memories
CPLDs
FPGAs
Synchronous Design Methodology &
Asynchronous Inputs
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".
Help on VHDL Testbench generation
VHDL Dataflow files 74X138
VHDL Dataflow files 74X139
VHDL Dataflow files 74X148
Homework (will not be collected)
Homework 1: Problems 2.1 (i), (f), 2.2 (d), 2.3 (f), 2.10 (b), (d), 2.12
Solution to homework 1
Homework 2: Problems 3:16, 3:17, 3:20, 3:25, 3:26, 3:56, 3:57
Solution to homework 2
Homework 3: Problems 3:74, 3:75, 3:76, 3:93, 3:94
Solution to homework 3
Homework 4: Problems 4:6, 4.9, 4:13, 4:14, 4:15, 4:19
Solution to homework 4
Homework 5: Problems 5:8, 5:10, 5:19, 5:40
Solution to homework 5
Homework 6: Problems 5:21, 5:22, 5:42, 5:55, 5:57
Solution to homework 6
Homework 7: Problems 5:48, 5:49, 5:50, 5:80, 5:82, 5:85, 5:91
Solution to homework 7
Homework 8: Problems 7:2, 7:3, 7:9, 7:15, 7:16
Solution to homework 8
Quiz 1 (September 24, in class)
Solution to Quiz 1
Exam solutions
Solution to Exam 1
Projects
Project 1 Due date: October 6, 2003.
Solution to Project 1 (Thanks to Bryan).
Be sure to read the README file.
Project 2 Updated: 10-7-03 Due date:
Due date has been moved from Oct 22 to Oct 27 (monday).
(You may work in teams of two, with no collaboration between teams. )
Another example with configuration and text input file. This exmaple based on the 2-to-4 decoder example from
this link.
Project 3 Due date: November 10, 2003.
Also download the VHDL file 74x74 Flipflop for project 3.
re-download this file (updated October 30, 10:30 am)
Project 4 Due date: December 1, 2003.
Help with VHDL
Bryan Shepardson's Office Hours
Thursday, 8 a.m. to 10 a.m., CAMP 172
VHDL Synthesis Tutorial
Read the COMBINATIONAL CIRCUIT SYNTHESIS section first.
VHDL link from University of Erlangen-Nürnberg
Read the section on VHDL_tutorial.
Help on VHDL Testbench generation