September 2006 (originally from December 1996)
CSE 370: Introduction to Logic Design
Purpose:
Implementation of digital computing elements at the gate
level. Specification and implementation of
finite-state machines and basic system modules. Appreciation
of the similarities and differences between computing in hardware and software.
Precondition Concepts:
- basics of computation (as
from an introductory computer programming course)
- basic Boolean logic
Precondition Abilities:
- design and implement
medium-sized programs (up to about 1000 lines), consisting of several
(4-12) modules
- understand and extend
medium-sized (500+ lines) programs
- read, write, use, and
document (own and others') software components
Precondition Skills:
- programming
experience at an introductory level (e.g., C, Java, etc.)
- familiarity with a PC
environment
Postcondition Concepts
- combinational logic
- basic gates
- Boolean algebra
- two-level/multi-level
logic
- optimization
- regular logic
structures
- sequential logic
- latches and flip-flops
- synchronous
methodology
- registers and counters
- finite-state machines
- specification
- implementation
- optimization
- programmable logic devices
- combinational elements
- sequential elements
- implementation of
finite-state machines
- limitations on mapping
- elements of computers
- data-path and control
- arithmetic/logic units
- registers and busses
- controllers
Postcondition Abilities
- map a problem statement to a
digital logic solution including combinational and sequential (FSM) logic
- map the implementation to
programmable logic devices
- optimize the implementation
- verify the implementation
Postcondition Skills
- use of a hardware description
language
- use of synthesis tools to
generate and map logic to programmable logic devices
- simulation of digital logic