September 2006
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