``Switching and Finite Automata Theory,''.

- Available from Smart Copy for charge.

This is an introductory class in state machines and sequential circuits.

Only sophomore-level knowledge of combinational logic and state machine design is assumed.

There will be individual projects (may be continuations) and homeworks.

The course presents the fundamental theory of finite state machines and modern CAD tools for them.

The aim is to give an introduction to the sequential circuits, enabling the participants to design integrated circuits of high quality, speed, testability and low power.

- Introductory Lecture. Books, WWW Pages, Information. Class schedule. Grading Policies.

- READ chapter 9 in Kohavi.
- READ chapter about state machines in Perkowski.
- Sequential circuits.
- Flip-flops.
- Iterative circuits.

- READ chapter 10 in Kohavi.
- READ chapter in Perkowski.
- Mealy <-> Moore transformations.
- Capabilities and Limitations of Finite State Machines.
- One dimensional State Minimization. Program STAMINA.
- Two dimensional State Minimization. Program 2DMINI.

- READ chapter 12, section 12.2 - 12.3 in Kohavi.
- READ chapter in Perkowski.
- Partition Calculus.
- State Assignment Using Partition Calculus.
- Using Multi-Valued Logic for State Assignment.
- State Assignment Programs: kiss, nova, hypercoder.

- READ remainder of chapter 12 in Kohavi.
- READ chapter about decomposition in Perkowski.
- Reduction of the Output Dependency.
- Input Dependence and Autonomous Clocks.
- Covers and Generation of Closed Partitions by State Splitting.
- Information Flow in Sequential Machines.
- Classical Decomposition Theory.
- Modern Decomposition Theory for input, output and state partitions.

- READ chapter 11 in Kohavi.

**Sequential Circuit Verification (PS 709K)**

(PDF 176K)

**Sequential Circuit Testing (PS 144K)**

(PDF 112K)

**Design Verification (PS 917K)**

(PDF 120K)