ECE 573. DESIGN OF SEQUENTIAL CIRCUITS.
By Marek Perkowski
Portland State University
College of Engineering and Computer Science
ECE 573 Design of Sequential Circuits.
Course Schedule, Winter 2007
Updated March 3, 2009
Important Information:
 This class no longer needs the ECE 572 as a prerequisite.
Some small material based on ECE 572 will be reviewed.
 The Friday meetings are recommended but not mandatory. I will always announce what will be covered on each Friday.
 There are two grading options: "homework/exam" and "project".
The second option is recommended to anybody who is interested in writing thesis and publishing in journals as well as
those that have interest in practical software implementation of the algorithms and methods introduced in the class.
 In the "homework/exam" option
the grade is based on homeworks, exams (2 midterms) and project. Project is 40% of grade.
 In the "project only" option the grade is based entirely on the project.
 Students who take the "project only option" may still take midterms and
solve homeworks to check their knowledge of material. This may improve their grade but is not mandatory.
This is a list of lectures that will be taught in Spring 2009.
If the student selects "homework/exam" grading all of them are required for exams.
WEEK ONE.
Lecture 1: What is this class about and review of sequential circuits.
 Class contents:
synchronous and asynchronous circuits and automata: minimization, encoding, decomposition, synthesis.
Cellular Automata and applications.
Test and verification of automata.
Timing and retiming.
Design of circuits and systems for image processing, DSP and robotics.
 Shift register. Generalized register.
Role of multiplexers. Analysis of shift registers. State graphs and state tables.
 Mealy, Moore, RabinScott and Autonomous State Machines.
 Cellular Automata  one and two dimensional.
 Example of data flow description  sorting circuit: realization as pipelined, realization as combinational butterfly, realization as sequential controller.
 Generalizations of sorter: sorterabsorber, sorter of 2D cubes, sorter for symmetric functions.
Lecture 2. Finite State Machines and their minimization.
Mandatory Slides
 Review of Finite State Machines.
Notation for machines. Mealy machine tables and graphs.
Moore machine description. Practical problem to solve. FlipFlops overview.

Introduction to Minimization of Finite State Machines. Completely Specified Machines.
The problem of state minimization. Algorithms and complexity.
Minimization using state graphs. Complete vs incomplete machines. Partitionbased minimization of complete machines in Kiss Format. Method of successive partitions. Implication chart method. Minimizing incompletely
specified machines.
What will be discussed on Friday?
 Shift registers. Mealy, Moore, RabinScott and autonomous machines. Descriptions.
 Design of generalized registers.
 Design of a complete simple controller from FSM control unit and data path.
 Variants of systems similar to sorter: pipelined, butterfly, controllers.
 Specification of FSMs.
 Minimization of FSMs.
Homework 1.
 Create a state graph for any state machine that has some practical meaning. It may be a game such as "missionaires and cannibals" or "wolf, sheep, cabbage and man", or "tictactoe". Describe the problem as a state machine.
Minimize it.
 Minimize a randomly generated state machine which has about 509% of don't cares in transitions and outputs.
WEEK TWO.
Minimization, state assignment and realization of Finite State Machines.
Mandatory Slides
 Minimization of FSMs.
Incomplete tables of machines. Basic concepts. Compatible states.
Inconsistent states. Incompatible states. Conditionally compatible states.
Triangular table. A method to calculate MCCs. Minimization Algorithm. Covering condition.
Closure Condition. Finding the final table. More examples.
Sequence detector circuit synthesis. Algebraic method to find all MCCs.

Advanced FSM minization and assignment.
Graphical method to find all MCCs. One more tabular method to find all MCCs.
Method based on Closure graphs to find best compatibles. Method based on maximum compatibles that
combines state assignment with state minimization. More examples. Typical homework problems that may be assigned.
 FSM State Encoding.
Models of sequential circuits. Methodologies. State Assignment Problem.
State Assignment Strategies. OneHot State Assignment.
Heuristics for state assignment. General approach to heuristic state assignment.
Output Based encoding. Kiss format example. Modern State Assignment approaches.
Hypercube embedding methods. State Group identification.
Representation of symbolic implicants. Minimization using MultipleValued Logic.
State groups and group faces. Examples of hypercube embedding.
AdjacencyBased State Assignment. Fanout oriented rules.
Fanin oriented rules. Comparison of methods and discussion. Tools.
Auxiliary Slides
 Rule Extraction from Recurrent Neural
Networks. Interesting application of FSM Minimization. Thesis in PDF.
There are many other applications of FSM minimization
in compiler writing, knowledge acquisition, testing and identification, and digital design.
WEEK THREE.
State Assignment of FSMs. Advanced methods and partition theory.
Mandatory Slides
 Rule based state assignment.
Synchronized FlipFlops.
FSM performance. FSM equations. Example of Modulo 5/3 Counter with hold. Derive equations directly
from the FSM graph. FSM state assignment. Methods that derive codes directly from graphs.
Rules. Explanation of rules.

State assignment usingmultiline and partitions.
Definition of partition pair. Finding predecessor and successor partitions from maps and tables.
Multiline method for state assignment. Graphical operations on partitions.
Main Theorem that links partitions from pairs to costs of excitation functions.
Creation of the partition pair graph  systematic method.
Finding best subsets of the graph. Role of partitions with substitution property (closed partitions)
and partitions based on inputs 1 > tau. Selected partitions. Generalization to JK flipflops.

Example of state assignment using rules. Comparison of methods on a simple example.
 Encoding based on partitions.
Encoding based on partitions.
Finding all or some closed partitions from a graph.
Intuitive encoding of a counter. Examples.
Relations between partitions and costs of logic functions.
Auxiliary Slides  more examples.
 Slides in PDF on FSM design.
WEEK FOUR.
Design of FSM from Flowcharts and similar techniques.
Mandatory Slides

Addition and Subtraction with SignedMagnitude Data. PPT slides from Mano. Use of flowcharts.
This is the very simple example illustrating use of flowcharts in design of data path and control unit.
 Ciesielski. RTL design. Slides in PDF.
Here you find more complicated examples, also based on Mano book.
 Slides in PDF. Control logic design by Ciesielski.
Here is a complete example without using invariants.
 Marek Perkowski et al. Automatic Design of Finite
State Machines with Electrically Programmable Devices. Paper in PDF.
This is a description of using invariants in FSM design. Also it includes
simple explanation of MealyMoore and MooreMealy convertions.
You do not have to learn stuff from this paper that was not discussed in the class.
 Marek Perkowski. Symbolic Analysis of Sequential
and Parallel Program Schemata in the Digital Design Automation System. Paper in PDF.
This paper has several good examples of controllers that
illustrate the usefulness of algorithmic transformations and calculating invariants.
You do not have to learn about formal verification aspects.
 FSM implementation in VHDL. PPT slides.
Importance of good versus bad documentation of code in VHDL.
Auxiliary Slides
 Slides in PDF on Design using flowcharts.
Addition and subtraction, flowcharts.
Operations in Signed 2's complement.
Multiply Signed Magnitude. Multiply Signed2's Complement.
Array multiplier. Divide FixedPoint SignedMag.
Flowcharts. Floating point operations and flowcharts. Division. Booth multiplication algorithm.
BCD adder. BCD subtraction. Decimal Arithmetic unit. Parallel Decimal Addition. Serial algorithms.
Decimal multiplication flowchart. Decimal Division Flowchart.
 Slides in PDF from Mano about basic design on RTL level using flowcharts.
Instruction Code. Stored Program Organization. Address Type. Basic Computer Registers.
Common Bus. Address register. Accumulator. Timing. Basic Instruction formats.
Completeness of instructions.
Control unit. Sequence Counter. Instruction Cycle. Fetch and decode.
Fetch phase. Instruction cycle flowchart. Instruction paths. Registerreference Instructions.
Memory reference instructions. Branching. Input and output registers and configurations.
Interrupts. Detailed control unit design example.
 Davis. State Machine Design methods.
Flowcharts. Slides in PDF>
ASM/Flow diagram based methods.
Components of FSM model. Moore machines. Mealy model. Example of traffic control FSM.
State graphs, state tables and flowcharts. Relations and timing.
ASMs and Sequence Diagrams. Reduction. Concurrency. Sequencing Patterns in FSM design.
Pipelining. Handshaking. Arbitration.
 Sequencing and Control. Slides in PPT. Fundamental.
Datapath and control. ASM. Timing in ASM. ASM examples. Binary Multiplier. Hardwired control.
Control Design methods. Sequence register and decoder.
One flipflop per state. Microprogrammed control.
 Slides in PPT. Instructions in microprocessor.
Addressing modes.
ISA. Instruction Set Architecture. LC3 overview. Memory and registers. Instruction set.
Graphic illustrations of data movement.
Relative addressing. Indirect Addressing. Base and offset addressing.
Control instructions. Branching. Jumps and traps.
Complete data path. Data Path components.
 Slides in PDF in control unit design using flowchart and
HDL.
On exploring algorithm performance between Von_Neumann and VLSI Custom_Logic
Computing architectures. Microprocessors versus Custom Logic Computing Systems.
General Microprocessor Architecture. Mapping Algorithms to VLSI Architecture.
VLSI Systems modeling.
ASM charts. Counting cycles in custom design. Benchmarking. Comparing cycle counts. Comparing complexity.
 Lectures on Assembly Language for Intel Based computers.
FSM. While Operator. Flowcharts. Slides in PPT.
Implementing FSM in assembly level code. MASM. Operations. Flowcharts.
 Slides in PDF> Special Topics in Advanced
Digital System Design. Boards and tools.
Design considerations and reallife design. Design methodologies and design specifications.
Design for testability. BIST. Virtex II, Xilinx MicroBlaze. Boards.
 Mano Chapter 8. Slides in PPT about flowcharting and control
design.
Microprogrammed control. Control of processor unit. Microprogram examples. Design Example: Binary Multiplier
by Hardwired Control. Hardwired Control for Multiplier.
Example of Simple Computer. Design of Simple Computer. Control Logic.
Typical Complete project.
 Slides in PPT about Multicycle control.
The MultiCycle Implementation. The Five Cycles. Complete multicycle datapath. Summary of execution steps.
Instruction fetch. Control for IF Cycle. Cycle 2: Instruction decode. Instruction decode cycle.
Control for first two cycles. Cycle 3:
Execute. FSM state for cycle 3 of beq. Rtype instructions. Rtype execution.
Rtype execution and write back. FSM states for Rtype
instructions. Load and store. Cycle 3 for lw and sw: address computation.
Cycle 4 for store: Memory access.
Cycle 4 for load: Memory access. Cycle 5 for Load: Write Back.
Memory Instruction states. Conditional Branches and Jumps.
Branch and Jump Addressing Modes. Cycle 3 for Jump. Control of multicycle implementation.
Complete FSM. Implementing the FSM in hardware. ROM implementation. Discussion. Multicycle CPU Key Points.
 Lecture on DSP processor fundamentals. PDF format.
DSP Processors. Embodiments. and Alternatives. The most important features.
DSP cores. DSP core based ASICs. Customizable DSP Processors. Alternatives to Commercial DSP Processors.
 Timing of FSM and FFs. Slides in Postscript.
 Mano. Slides in PDF on assembly leved processor design.
Programming the Basic Computer. Instructions and their formats. Binary and assembly languages.
Assembly Language. Asseblers. Program Loops. Programming arithmetic and Logic Operations.
Subroutines. InputOutput Programming.
FIRST MIDTERM
Midterm 1.
 Midterm 1 from year 2006.
WEEK FIVE.
Decomposition of Finite State Machines. Serial and Parallel Decomposition. Links to Encoding.
Mandatory Slides
 Introduction to FSM Decomposition.
Reminder of encoding. Partitions. Partitions with Substitution property.
Main theorem. Why decomposition? Serial Decomposition. Parallel decomposition. Detailed Example of
Serial Decomposition. Example of parallel decomposition. Other types of decomposition.
Behavior, experiments, testing, and verification of FSMs.
Mandatory Slides
 Introduction to experiments with Finite Automata.
Algorithms to generate Distinquishing, Homing, and Synchronizing Sequences.
State table verification for sequential circuit. Algorithm
to generate a distinquishing sequence. Transfer sequence.
Distinquishing sequence.
Synchronizing sequence. Designing checking experiments. Initialization. Identification. Transition Verification.
Complete example. DFT for sequential circuits. Construct testing graph. Definitely diagnosable machines.
Random testing.
 Examples of homing and synchronizing experiments.
Homing sequence, to identify the final state. Synchronizing sequence.
Auxiliary Slides
 Advanced FSM Decomposition Theory.
Ordering and bounds. Orderings on Inclusion Relations. Ordering on Inclusion Relations.
Partially Ordered Sets (POSETS). Hasse Diagram. POSET examples. Least Element.
Lower Bound. Lower Bound Example. Greates Lower bound. Example.
Upper Bound. Example. Least upper Bound. Example.
Bounds. Lattices. Properties of lattices. Partial Ordering of partitions. Trivial partitions.
Machine Lattice Example. Operations on Partitions. Meet and Join of two partitions. Partition Operation
Properties. Parallel Decomposition. Parallel decomposition theorem. Example.
 Lecture in PDF on Testing and Testable Design of Digital
Circuits.
Overview. Motivation and introduction. An example. Sequential Circuit model. Fault model.
Theory. Checking experiment design. Summary.
 Randomized Parallel Algorithms
for the Homing Problem. Paper in PDF.
Research paper by Ravikumar and Xiong. Randomized Parallel Algorithms for the Homing Sequence Problem.
 Homing and Synchronizing Sequences. Slides in PDF.
Motivations. Definitions and examples. Algorithms: current state uncertainty, computing homing sequences,
Computing synchronizing sequences. Variations.
Adaptive homing sequences. Computing shortest sequences. Parallel algorithms. Difficult related problems.
 Slides in PDF.
Principles and Methods of Testing FSM  A Survey.
Background. Five Fundamental problems. Problem 1: determining the final state after test.
Problem 2. Identify the unknown initial state. Problem 3: State Verification.
Problem 4: Conformance testing. Conclusion.
 State Identification; homing, synchronizing
and distinquishing sequences. Slides in PDF.
State Uncertainties. Homing Sequence. Example. Synchronizing Sequence.
 Slides in PPT on Algorithmic Testing.
Why Testing. Testing of black box FSM.
Why Deterministic Machines. Determinism. Preliminaries: Separating sequences.
A: separate to blocks of states with different output.
Repeat B: Separate blocks based on moving to different blocks.
Want to know the state of the machine. HOming sequence. Example of homing sequence.
Synchronizing sequence. State Identification. Sometimes cannot identify initial state.
Conformance testing. Check conformance with a given state machine.
Preparation: Construct a spanning tree. How the algorithm works. Combination lock automaton.
When only a bound on size of black box is known.
Conformance testing algorithm. Model Checking. Buchi automata. Examples.
System. Model Checking/Testing. Black Box checking. Experiments. Simpler problem: Deadlock.
Deadlock complexity. Modeling black box checking. Games of
incomplete information. Modeling BBC as games. A naive strategy for BBC.
On the fly strategy. Learning an automaton. A strategy based
on learning. Complexity. Some experiments. Part 2: software testing.
Some software testing stages. Some drawbacks of testing. BlackBox (datadriven, inputoutput) testing.
White box testing. Some testing principles. Inspections and walkthroughs. Code inspection.
Checklist for inspections. Walkthrough.
Selection of test cases (for whitebox testing). Cover all the path of the program.
How to cover the executions. Statement coverage. Execute every statement at least once.
Decision coverage. Each decision has a true and false outcome at least once.
Condition coverage. Multiple condition coverage. Relativizing assertions. Verification conditions.
How to find values for coverage. How to find a flow chart. Test cases based on dataflow analysis.
Test case design for black box testing. Equivalence partition. Example: a legal variable.
Boundary value analysis. Test case generation based on LTL specification. Goals. Divide and conquer. Spec. Example: GCD.
Why use Temporal specification. Potential explosion. Use of software: snapshots. Drivers and stubs.
 Testing of Digital Circuits. Slides in PPT.
Design approaches. Faults: sources and types. Fault models.
Combinational Circuits: Test Pattern Generation. Fault Simulation. Test Generation.
Limitations. Typical Circuit Enhancements. Parallel fault simulation. Example.
Deductive fault simulation. Example.
Boolean Difference. Example. DAlgorithm. Singular cover.
DIntersection. Primitive DCube of fault. Propagation DCube.
DAlgorithm steps. PDCF example. DDrive example. Consistency example.
Testing techniques. State Table Verification.
Homing and Distinguishing sequence. Example. Random testing. Transition count testing.
Scan based testing. Signature analysis. PRBS generator.
BIST example. BIST register modes. BIST steps: example.
WEEK SIX. February 12  February 17.
Asynchronous Automata.
Mandatory Slides
 Introduction to asynchronous Automata.
Feedback Model for asynchronous Sequential Networks.
Fundamental Mode Asynchronous FSM. Asynchronous Design Difficulties. Stable States. Races. Types of races.
Asynchronous FSM Benefits. Example. Next state variables. Asynchronous state tables.
Constraints on asynchronous networks. Many Examples. Race conditions. Examples.
Avoiding race. Hazards. Steady State hazards. Hazard example: Feedback sequential implementation.
Essential hazard.
 Realization of asynchronous automata.
Design of asynchronous circuits. Reduction of pseudoequivalent states and equivalent states.
Reduction of compatible and pseudoequivalent
states. Moore machine. Mealy Machine. Outputs in Moore and Mealy Machine.
Encoding an asynchronous machine. Races. Elimination of races by cyclic coding. Realization of memory and outputs.
Encoding. Realization with Ffs and feedback loops. Realization using logic gates. Use of tools. Mealy and Moore machines.
 Marek Perkowski. Basic Asynchronous circuit design.
File in PDF. This is my text with many problems solved and examples of problems from exams.
WEEK SEVEN. February 19  February 24.
Asynchronous Automata. Asynchronous Systems.
Mandatory Slides
 Metastability.
Asynchronous Input example. Metastability. Why Metastability is a "special" problem.
Metastability in D FFs.
Analyzing metastability. Metastability test circuit. Application example.
Synchronizer circuits.
 Selftimed asynchronous machines.
Selftimed circuits. Simple handshake example. How to apply to clocked systems.
Phased logic concepts. LEDR encoding. Phased Logic AND gate.
Phase logic Gate Timing with multiple outputs. Phased logic gate firing rules.
Correspondence between phases and tokens.
Example of token movement. Initial token Markings. Life and Safe Initial Token Marking.
Liveness and Safety Theorems. Phased Logic Synthesis.
 Design of selfsynchronized state machines.
Loc Bao Nguen, Marek Perkowski and Lech Jozwiak, Design of SelfSynchronized Component FSMs for SelfTimed
Systems. Paper in PDF.
AUXILIARY READING
 Scott Hauck. Asynchronous Design Methodologies: An Overview.
Paper in PDF.
Design of large asynchronous controllers.
 Slides in PPT. Lecture on Direct
synthesis of Largescale asynchronous Controllers using a PetriNetbased approach.
Motivation. Design Flow. Verilog VHDL specification. Petri Nets and Trace Expressions.
Synthesis Process. Conclusion.
 Slides in PPT. Advanced Tutorial Lecture on Hardware Design of Asynchronous
Systems and Petri Nets.
Introduction. Modeling Hardware with Petri Nets. Synthesis of Circuits from Petri Net specifications.
Circuit verification with Petri Nets. Performance analysis with Petri Nets.
 Yakovlev slides in PPT on Asynchronous Technology.
Design Productivity Gap. Design costs and time to market. Timing Problems. SelfTimed Systems.
The Timing Mode Spectrum. GALS module with stoppable clock.
GALS: Petri Net model. Backend language: Petri Nets? New Design Flow; twolevel control.
Direct mapping of Petri Nets; eventbased and levelbased. Direct mapping of STGs. Case Studies.
 M.S. Thesis on Design and Implementation of an Asynchronous
Pipelined Fast Fourier Transform Processor.
Thesis from Linkoeping by Jonas Claeson.
MIDTERM 2.
Mandatory Slides
 Midterm 2.
Cellular Automata.
Mandatory Slides

Introduction to Cellular Automata and Artificial Life.
Conway's Game of Life. Cellular Automata. Self Reproduction. Universal Machines. Artificial Life.
Idea of Cellular Automata. Simulation Goals using Cellular Automata. Various types of Arrays.
Rules for cells. Interaction is local. Neighborhood. States of Cellular Automata.
Simple 1Dimensional Cellular automata and patterns. Classification of CA.
Automata Theory and CA formalism. Local Dynamics. Global Dynamics. Links to dynamical systems.
Work of Wolfram. Classification of CA. Complexity of rules.
History of CA research. Selfreproduction and Von Neumann.
Examples of dynamical systems. Research questions. Homework questions and research problems for students.
 Cellular Logic Illustrations.
Here we give few snapshots of the 3D cellular automaton FPGAbased supercomputer realized in Japan  The Brain Machine.
 Quantum Dot Cellular Automata.
Quantum Dots. What are they? why are they important? Mass production and patterning of quantum dots.
The four dot device. Quantum Dots as Cellular Automata. Five dot model of Lent and Porod.
Quantum Dot Wire. Example of complete geometricallogical system for QD.
Quantum Dot Inverter. Quantum Dot Majority Gate. Special cases of majority.
Quantum Dot Logic Gates that use NOT. Layout of large QD circuits.
 Cellular Morphogenesis.
Morphogenetic modeling. Dynamical Systems. Spaces and geometries.
Aspects of Discretization. OneDimensional CA. Effects of simplification. Wolfram's 1D CA.
CA rules based on Symmetry. Rules encoding. Temporal Evolution. Metaphor for morphogenesis.
CA rule mutations. Predictability. Aspects of CA morphogenesis. Patterns and morphology.n
Cellular Automata Project.
Mandatory Slides
 Some project information on Cellular Automata.
Examples of past projects.
WEEK EIGHT. February 26  March 3.
Cellular Automata in Physics. Reversible Cellular Automata. Simulations in biology and social life.
Mandatory Slides
 Cellular Automata models in Engineering.
Cellular Automata versus Genetic Algorithms. Sipper rules for Cellular Automata.
Advantages of CAs. Applications of CAs. Possible homeworks on CAs.
How to study behavior of CAs. Typical rules and their analysis. GA for majority  example. Other examples.
 Reversible Cellular Automata.
Random Number generation. Comparison with LFSR. Hybrid Cellular Automata. Analysis and Comparison.
CAbased Cipher Systems. CA Block Ciphers. Computation with CA.
Reversible logic and Reversible cellular automata. Examples. Blocking. Reverse behavior.
A Billiar Ball Model of Computation. Modeling in CA. Possible homeworks and research.

Physical Reversible Models of Cellular Automata.
Physics becomes a computer. Emulating Physics. Conway's Game of Life in new perspective.
Reversibility and other conservations. Adding Convservations to CA model. Diffusion Rule.
ToffoliMargolus Gas rule. Lattice gas refraction.
Lattice gas hydrodynamics. Dynamical Ising Rule. Bennett's 1D rule. 3D Ising with heat bath.
2D "Same" rule. 3D Same rule. Reversible aggregation rule.
Adding forces irreversibly. Conservations summary.
WEEK NINE. March 5  10.
Reversible Cellular Automata. Artificial Life. Simulations in biology and social life.
Mandatory Slides
 Part 2 of Physical Reversible Models of Cellular Automata.
Review. CA with conservations.
Physical Worlds. Computational Universality. What's wrong with Life.
Billiar Ball model reminded. A BBM CA rule.
The Critters rule. "Critters" is universal. UCA with momentum conservation. SSM collisions on other lattices.
Getting rid of mirrors. Realization of Fredkin gate. Macroscopic Universality.
Relativistic conservation.
 Part 3 of Physical Reversible Models of Cellular Automata.
Spatial Computers. CAM8 programming model. Lattice example. Materials simulation. Logic simulation.
Porous flow.
Image Processing. FPGA and DRAM models. SPACERAM: a general purpose crystalline lattice computer.
Mapping lattices to hardware.
 Artificial Life.
Artificial life  Von Neumann's Automaton and Viruses.
States in Von Neumann Automaton. Ordinary Transmission States. Quiescent State. Confluent States.
Pulser. Decoder. Repeater. Special Transmission States. Sensitive States.
The Sensitized Tree. Periodic Pulser. Coded Channel.
Transition and Output Table. Finite Automaton. Constructing Arm.
Horizontal Advance. Constructing Arm. Reading Loop. Virus Categories.
Computers and Biology. Viruses and Life.
 Cellular Automata Model for Fish and Shark.
Simple rules for Predator/Prey Relationships.
Rules for an example of biological simulation. Initial Conditions. Breeding rules.
Fish Rules, Shark rules. Shark random death. Programming Logic.
Sample C++ code. Parallelism. Boundary values. Simulation of generations. Longterm trends.
Variations of initial conditions. Very small populations. Parallel performance. Speedup.
WEEK TEN. March 12  17.
Basic concepts of Sequential State Machine Theory. Nondeterministic and deterministic automata.
Mandatory Slides

Set Theory and Introduction to State Machine Theory.
Why Sequential Machine Theory.
Hardware/software. Formal Languages.
Finite State Machines. Goal of this set of lectures.
Turing machines and automata applications and role. Types of Machines.
Review of Set Theory. Special Sets, relations.
Domain and Range of a relation.
Functions and mappings.

Equivalence. Nondeterministic and Deterministic Finite Automata.
Equivalence relation. Examples. Inclusion Relation. Partition Notation.
Relations may be orderings.
Partial Orderings. Properties of partial orderints. Total Orderings. POSETs.
Finite Automata and Language Recognizers. Kleene Star. Kleene Closure.
Strings and recognizers. State transitions. Recognizer as a directed graph.
Examples of recognizers. RabinScott machines. NonDeterministic FSMs.
DFANDFA theorem. NDFA example. NDFA to DFA. Lambda strings and multiple transitions.
State equivalents. Creating new machines. Comparison of machines.
Regular Languages versus automata. Complete design procedure starting from regular expressions.
Mandatory Slides

Regular Languages and Regular Expressions.
Formal Languages. Regular Languages. Alphabets and strings. Kleene Closure.
Concatenation operator. Classes of Languages. Rule based Languages. Kleene Star.
Examples. Kleene Closure. Recursive Language definition. Examples.
Principle of Mathematical Induction. Examples. Regular Expressions. Notation.
Regular Languages. Typical homeworks and problems.

Deterministic and Nondeterministic Finite Automata.
Numerical Acceptor. Languages Accepted by FA.
Union and Concatenation on languages. Other operations.
Context Free Languages. Example of Nonregular language.
Context free grammars. Definitions of context free grammars.
Context free languages. Pushdown automata. Pushdown relation.
PDA properties and notation. PDA recognizer. Examples. Checking acceptance.
 Regular Expressions.
Regular Expression Manipulation model.
Null machine. Reachability Analysis. State Diagram Manipulation. The complement machine.
Language Decidability. Language Overlap. DeMorgan's theorems. Regular Expression equivalence.
Examples. Reduction. Mealy and Moore Machines. FSMs and clocks. Sequence detectors.
Sequential Machine Problems. Recursive Definitions of Delta and other functions.
Possible exam problems.

Behavoral Equivalence. Mealy and Moore Automata.
Behavioral equivalence. Examples. Equivalence of outputs. Verifying Morphisms.
How to check behavioral equivalence of Mealy and Moore.
Mealy to Moore conversion.

Morphisms of Machines. Homomorphisms, epimosphisms, isomorphisms.
Free SemiGroup. Strings. Partitions. Types of relations. Grupoids. Semigroup.
Closed Binary operation. Monoid. Group. Morphisms. Homomorphism. Homomorphism of groups. Endomorphism.
Semigroup homomorphism. Homomorphism of monoids. Isomorphism. Graphical illustrations of morphisms.
Machine Isomorphisms. State and Output Isomorphisms.
Homo versus Isomorphisms of machines. Output equivalence. Inverse Machine Isomorphism.
Machine Equivalence. Behavioral Equivalence of two state machines. Homeworks.
WEEK ELEVEN. WEEK OF FINALS. March 19  24.
Mandatory Slides
 Overview of Design Automation for
Sequential Circuits and Systems.
Moore's Law.
Microelectronic Circuits. Microelectronic Design Styles. Standard Cells.
ArrayBased Design. Semicustom style tradeoff.
How to deal with design complexity. Abstractions and abstraction levels.
Design Domains and Levels of abstractions. Design versus Synthesis.
Synthesis process. Architecture design.
Behavioral description and its Control Data Flow Graph (CDFG).
Design Space and Evaluation Space. Optimization Tradeoff in Sequential Circuits.
Architectural Design Space Example. Design Automation and design tools.
 Presentations of projects.
 Additional midterm exams 1 and 2 (you can improve your grade, but for not as many points as writing it right
the first time).
 Return complete report on project on March 25. Final date.
AUXILIARY MATERIALS FOR PROJECTS.
Design of fuzzy logic controllers.
 PDF slides. Wang and Kazmierski.
VHDLAMS based genetic optimization of a fuzzy logic controller for automotive active suspension
system.
Design of large controllers and spectral methods.
 Paper in PDF. The hardware implementation of realtime
SAR signal processor.
 Contents of DSP book. PDF.
 Embedded System architectures paper in Postscript.
 Shi. Ph.thesis in PDF.
Floatingpoint to fixedpoint conversion.
 Westerlund. Comparison of Synthesizable Processor Cores.
M.S. Thesis in PDF.
 Student Project in PDF. A System on a Chip for Audio Encoding.
 M.S. Thesis by Kishore Kotteri in PDF.
Optimal Multiplier Less Implementation of the Discrete Wavelet Transform for Image Compression Applications.
 MS Thesis Kurt Rogers in PDF.
Acceleration and Implementation of a DSP PhaseBased Frequency Estimation Algorithm.
Matlab and Simulink to FPGA via Xilinx System Generator.
 Using Delayed Addition Techniques to Accelerate Integer
and FloatingPoint Calculations in Configurable Hardwarea. Paper in PDF.
 Paper in PDF on Programmable Digital Signal Processor.
 Thesis in PDF. Orientation Filters for Realtime Computer Vision
Problems.
 M.S. Thesis by Tyler Moeller in PDF.
Field Programmable Gate Arrays for Radar FrontEnd DSP.
 Vector Processors.mht
 M.S. Thesis by A. Walters in PDF.
A Scaleable FIR Filter Implementation Using 32bit Floating Point Complex Arithmetic on a FPGA Based Custom
Computing Platform.
 M.S. Thesis in PDF by Belanovic. Library of Parametrized
Hardware Modules for FloatingPoint Arithmetic with An Example Application.
 Thesis by David Chui on Using FPGA engines in Physics.
 V. Arkesh. FPGA Implementation of a Low Power Doppler
Invariant BSK Receiver.
 DSP systems. Paper in PDF.
 Application of Reconfigurable Computing to a High Performance
FrontEnd Radar Signal Processor. Text in PDF.
 Peterson. Text in Postscript. An Assesment of the Suitability
of Reconfigurable Systems for DSP.
 High Performance DSP. Text in PDF.
 Bass. A LowPower, HighPerformance, 1024Point
FFT Processor. Text in PDF.
 MS Thesis in PDF on Adaptive Computing in NASA
MultiSpectral Image Processing.
 Postscript text on An Assesment of the Suitability of FPGAbased
Systems for use in DSP.
 Blair text in Postscript. A review of DFT.
 MS thesis by Ramirez Silva in PDF.
On Implementing TimeFrequency Representations on Hardware/Software Computational Structures for SAR
Applications.
 Tom Curtis on Sonar Technology. Past and Current.
Text in PDF.
 Broadcast transmission. Slides from Xilinx. PDF format.
Radon Transform.
 Coric. Thesis on ParallelBeam
Backpropagation: an FPGA Implementation Optimized for Medical Imaging.
This includes Radon Transform.
FAST FOURIER TRANSFORM  AUXILIARY MATERIALS FOR PROJECT.
FFT Processors.
 Literature in Word on applications of FFT.
 M.S. THESIS on
Development and Verification of Parametrized Digital Signal Processing Macros for Microelectronic
Systems. FFT related. PDF format.
 Slides in PPT on Sharpening Techniques for Sensor Feature
Enhancement. Applications of FFT etc. DSP methods.
 Patent by Sharp on FFT processor. PDF document.
 M.S. thesis in PDF on An Approach to LowPower, HighPerformance,
Fast Fourier Transform Processor Design.
 He and Torkelson. Design and Implementation
of a 1024point Pipeline FFT Processor. Paper in PDF.
 A Pipeline FFT Processor. Paper in PDF.
 A 2048 Complex Point FFT
Processor Using a Novel Data Scaling Approach. Paper in PDF.
 A DWTDFT Composite Watermarking Scheme Robust to Both
Affine Transform and JPEG Compression. Paper in PDF.
 Efficient Cordic Designs for MultiMode OFDM FFT.
Paper in PDF.
 A HighPerformance Radix2 FFT in ANSI C
for RTL Generation. Slides in PPT.
 Automation Techniques for Fast Implementation
of High Performance DSP Algorithms in FPGAs. Slides in PPT.
 Matlab Extensions for the Development, Testing, and
Verification of Realtime DSP Software. Slides in PPT.

Embedded Computing DSP. Slides in PDF.
 A Practical Example of DSP
System Design, ADSL Modem DMT Engine. Slides in PPT.
 DSP Microprocessors, Software and Applications. Slides in PPT.
 Unitary Transforms. Slides in PPT.
 Fast Fourier Transform Implementation
Using Field Programmable Gate Array Technology for Orthogonal Frequency Division Multiplexing Systems.
M.S. Thesis in PDF.

Generalized transforms for DSP generalized spectral analysis.mht
 The FFT on Graphics Hardware. Slides in PPT.
 Lecture. Introduction to FFT. Slides in PPT.
 Arvind. An Hardware Inspired Model for Parallel
Programming. Slides in PDF.
 Lecture in PPT on Some Properties of the 2D Fourier Transform.
 Slides in PPT on Image Pyramids.
 High Level VHDL modeling.
FFT. Thesis in PDF.
 Slides in PPT. Image Processing and Convolution.
 Slides in PDF. The Fourier Transform.
 Full Search Content Independent Block Matching Based on
the Fast Fourier Transform. Paper in PDF.
 A Single Chip Low Power Asynchronous
Implementation of an FFT Algorithm for Space Applications. Paper in PDF.
 Investigation of a phase only correlation technique
for anatomical alignment of portal images in radiation therapy. Paper in PDF.
This paper was referenced by a paper that presents quantum and classical matching based on FFT.
 Slides in PPT on Implementation of DFT on a Reconfigurable
Processor.

Shirazi Implementation of a 2D Fast Fourier Transform on a FPGA_based Custom Computing Machine.
Paper in PDF.
 Power Point Slides on Efficient FFT on VIRAM.
 Applications of Fourier Theory.
Template Matching. Slides in PDF.
 Optimized Implementation of Speech Processing Algorithms.
Applications of DSP and FFT. Paper in PDF.
Accuracy. Arithmetics.
 Literature in Word on applications of FFT.
 Automatic
VHDL Model Generation of Parametrized FIR Filters. Paper in PDF.
 Automating Transformations from
Floating Point to Fixed Point for Implementing DSP Algorithms. Slides in PPT.
 Data Smoothing. Slides in PPT.

Fixed Point Effects in Digital Filters. Slides in PDF

Wordlength Optimization with Complexity and Distortion Measure and Its Application
to Broadband Wireless Demodulator design. Slides in PPT.
Spectral Methods.
 Thesis in Postscript. Thornton.
Spectral Based Numerical Methods for Combinational Logic Synthesis.
 Farsi Handwritten Word Recognition Using Continuous
Hidden Markov Models and Structural Features. Thesis in PDF.
 Faster than FFT. The ChirpZ RAGn DFT. Text in PDF.
MATERIALS FOR MR. MANJITH KUMAR. SYNTHESIS OF QUANTUM ASYNCHRONOUS AUTOMATA.
State Minimization
 Robert Fuhrer. Sequential Optimization of Asynchronous
and Synchronous FSMs: Algorithms and Tools. Thesis in PS.
 Marek Perkowski. Digital Design Automation: Finite
State Machine Design. Paper in PDF.
 Richard Puri. An Efficient Algorithm
to Search for Minimal Closed Covers in Sequential Machines. Paper in PDF.
 Paper by Avedillo in PDF. A new method for state
reduction of incompletely specified FSM.
 Perkowski. Digital Design Automation: FSM design. Paper
in PDF.
 Rho, Hachtel and Somenzi.
Paper in PDF. Exact and Heuristic Algorithms for the Minimization of Incompletely Specified
State Machines.
 Avedillo, Quintana, Huertas, New Approach
to the State Reduction in Incompletely Specified Sequential Machines. Paper in PDF.
 Avedillo, Quintana, Huertas, Efficient
State Reduction methods for PLAbased sequential circuits. Paper in PDF.
Concurrent State Minimization and State Assignment
 Perkowski and Zhao. Concurrent
TwoDimensional State Minimization and State Assignment of Finite State Machines.
Paper in PDF.
 Avedillo, etc. A New Method for the state reduction of Incompletely
Specified Finite Sequential Machines. Paper in PDF.
 Avedillo, Quintana, Huertas,
State Merging and state splitting via state assignment: a New FSM synthesis algorithm.
Paper in PDF.
 Avedillo, Quintana, Huertas,
SMAS: A program for the Concurrent State Reduction and State Assignment of Finite State Machines.
Paper in PDF.
 Calazans under Davio. PHD.
State Minimization and State Assignment of Finite State Machines: their relationship and their
impact on the implementation. PHD Thesis in PDF.
 Calazans, paper in PDF.
Considering State Minimization during State Assignment.
Examples of Big Asynchronous State Machine Designs
 Kida and Perkowski. The Cube Calculus Machine.
A Ring of Asynchronous Automata to Process MultipleValued Boolean Functions. Paper in PDF.
Some Interesting FSM Design Ideas.
 Finite State Dynamical Systems and Finite
Automata. WWW page.
 Sequential Circuit Design for SpaceBorne
and Critical Electronics. Slides in PPT.
 State Machine Design. mht
 Random Thoughts on Abstract Machines.
Paper in PDF.
Quantum State Machines and Quantum Sequential Circuits
 Blind Encoding into Qubits. Paper in PDF.
 Quantum Walks, Quantum Gates and Quantum Computers.
Paper in PDF.
 Deutsch's Universal Quantum Turing Machine (Revisited).
Paper in PDF.
 Quantum Finite Automata and Weighted Automata. Paper in PDF.
 Quantum Multiplexing for Quantum Computer Networks.
Paper in PDF.
 Some Observations on TwoWay Finite Automata with Quantum
and classical states. Paper in PDF.
 Nuclear Spins as a Quantum Memory in Semiconductor Nanostructures.
Paper in PDF.
 Paper in PDF.
Operation of a 1bit Quantum Flux Parametron Shift Register.
 Rapid SingleFluxQuantum DualRail Logic
for Asynchronous Circuits. Paper in PDF.
 Cheng and Wang. Grammar Theory Based on Quantum Logic.
Paper in PDF.
 Quantum Neurons and their Fluctuations.
Paper in PDF.
 Tools for the ComputerAided Design
of Multigigahertz Superconducting Digital Circuits. Paper in PDF.
 A New Design Approach for RSFQ
Logic Circuits Based on the Binary Decision Diagram. Paper in PDF.
 SelfTimed Parallel Adders based on DI RSFQ
Primitives. Paper in PDF.
 Towards a Systematic Design Methodology
for Large Multigigahertz Rapid Flux Quantum Circuits. Paper in PDF.
 New BSFQ Circuit Designs with Wide Margins.
Paper in PDF.
 Tsai and Kuo, Quantum Boolean Circuit
Construction and Layout under Locality Constraint. Paper in PDF.
 Tsai, Kuo, Wei. Quantum Boolean Circuit
Approach for Searching an Unordered Database. Paper in PDF.
 A Novel Global SelfTiming Methodology for
BSFQ Circuits. Paper in PDF.
 Wang, Lu, Tsai, Kuo, Modified
Karnaugh Map for Quantum Boolean Circuit Construction. Paper in PDF.
 A Quantum Particle Swarm Optimization. Paper in PDF.
 Lu, Wang, Kuo. Quantum Boolean Circuits
Construction Using Tabulation Method. Paper in PDF.
 Wang, Lu, Kuo. An Efficient Functional Verification
Method for Quantum Boolean Circuits. Paper in PDF.
 Chang and Cheng. Automatic Synthesis of Composable
Sequential Quantum Boolean Circuits. Paper in PDF.
 Childs, Bacon, Wim Van Dam.
From Optimal State Estimation to Efficient Quantum Algorithms. Slides in PDF.
 Dimitri Petritis. Sequential and Asynchronous Processes
Driven by Stochastic or Quantum Grammars and their Application to Genomics: A Survey. Paper in PS.
 Slides in PDF.
Automatic Synthesis of Sequential Quantum Boolean Circuits Based on SelfTimed Specifications.
 Paper in PS. Tools and Applications II. The IF Toolset.
UML and other tools.
 Modeling the operation
of Margolus Quantum Cellular Automaton using highlevel Petri nets. Paper in Postscript.
 Paper in PDF by V. Pratt. Chu Spaces: Automata
with quantum aspects.
 Chu Spaces: Automata with Quantum Aspects. Paper in PS.
 Childs. Overview of adiabatic quantum computation.
Slides in PDF.
 Margolus. Parallel Quantum Computation. Paper in PDF.
 Margolus. Quantum Computation. Paper in PDF.
 Childs and Wim van Dam.
Quantum Algorithm for a Generalized Hidden Shift Problem. Slides in PDF.P
 Design and Implementation of a highspeed
bitserial SFQ adder based on the binary decision diagram. Paper in PDF.
 A Basic Circuit for asynchronous superconductive logic
using RSFQ gates. Paper in PDF.
 Design and Operation of a rapid single flux quantum
demultiplexer. Paper in PDF.
 Design and Experimentation of BSFQ logic devices.
Paper in PDF.
MultiValued Logic.
 Gao, Brayton, Mishchenko,
Optimization of MultiValued MultiLevel Networks. Paper in PDF.
 Perkowski et al.
Approaches to the InputOutput Encoding Problem in Boolean Decomposition. Paper in PS.
State Assignment and State assignment for Low Power.
 Ciesielski et al. A New State Assignment Technique
for Testing and Low Power. Paper in PDF.
 Huertas and Quintana. Efficiency of state
assignment methods for PLAbased sequential circuits. Paper in PDF.
 MultiCriterial State Assignment for Low
Power FSM Design. Paper in PDF.
 Patent on General base State Assignment
for optimal massive parallelism. mht
 Designing Genetic Algorithms for the State
Assignment Problem. Paper in PDF.
Asynchronous State Machines.
 Synthesis of MultipleInput Change Asynchronous
Finite State Machines. Paper in PDF.
 Asynchronous Logic. Paper in Word by Scott Mc Peak.
 Low Energy Asynchronous Adder. Paper in PDF.
 list of papers from conference.
 Marc RENAUDIN. Slides in PDF.
Asynchronous Circuits Design.
 Integrating Asynchronous Digital Design
into the Undergraduate Computer Engineering Curriculum. Paper in PDF.
 Locally Synchronous, Globally Asynchronous Design
for QuantumDot Cellular Automata. Paper in PDF.
 A Framework for Componentbased Construction
Extended Abstract. Paper in PDF.
 Nowick. Automatic Synthesis of BurstMode
Asynchronous Controllers. Paper in PDF.
 FSM ReEngineering for Low Power State Encoding.
Paper in PDF.
 Varshavsky  A Pioneer of Asynchronous World. Paper in PDF.
 Cheng and Pluna. Exact EssentialHazardFree
State Minimization of Incompletely Specified Asynchronous Sequential Machines. Paper in PDF.
 Causal Dependencies in Parallel Composition
of Stochastic Processes. Paper in PDF.
 R. Fuhrer, S. Nowick. Paper in Postscript.
OPTIMISTA: State Minimization of Asynchronous FSMs for Optimum Output Logic.
 Liu. A State Variable Assignment Method
For Asynchronous Sequential Switching Circuits. Paper in PDF.
 A CAD System for Automatic Synthesis of Generalized
Asynchronous Circuits. Paper in PDF.
 Yun and Dill. Automatic Synthesis of 3D Asynchronous
State Machines. Paper in PDF.
 Beni and Liang.
Pattern Recognition in Swarms  Convergence of a distributed Asynchronous and Bounded Iterative Algorithms.
Paper in PDF.
Asynchronous Cellular Automata.
 Asynchronous cellular automata and asynchronous
automata for pomsets. Paper in PDF.
 Laying out circuits on asynchronous cellular arrays:
a step towards feasible nanocomputers?. Paper in PDF.
Hazards.
 Hazard Detection by a Quinary Simulation
of Logic Devices with Bounded Propagation Delays. Paper in PDF.
 Brunvald, Critical Hazard Free Test Generation
for Asynchronous Circuits. Paper in PDF.
 MultiLevel Combinational Logic. Slides in PPT.
 Nowick. On the Existence of HazardFree MultiLevel Logic.
Paper in PDF.

Davis and Nowick. Paper in PDF. An Introduction to Asynchronous Circuit Design.
 Glitches and Hazards in Digital Circuits. Slides in PDF.
 Jacobson. M.S. Thesis in PDF. Asynchronous
Circuit Design.
Rapid Protyping of Large Asynchronous Processors.
 Erik Brunwald.
Tutorial Introduction to Asynchronous Circuits and Systems. Slides in PDF.
 Rapid prototyping Asynchronous Processor. Paper in PDF.
 Synthesis of Control Elements from Petri Net Models.
Paper in PDF.
 Steve Furber. Principles of Asynchronous
Circuit Design: A Systems Perspective. Paper in PDF.
 Scott Hauck et al. An FPGA for Implementing
Asynchronous Circuits. Paper in PDF.
 Curtis Nelson. Technology Mapping of Timed
Asynchronous Circuits. Paper in Postscript.
 L. Lavagno. Synthesis and Testing of Bounded
Wire Delay Asynchronous Circuits from Signal Transition Graphs. Thesis in Postscript.
 Villiger. Slides in PDF. A Globally Asynchronous
Locally Synchronous VLSI Circuit for the SAFER Cryptoalgorithm.
 Application of Synchronous Synthesis Tools for
HighLevel Asynchronous Design. Thesis in Postscript.
 Slides in PPT. Direct Synthesis of largescale
asynchronous controllers using a Petrinetbased approach.
 Asynchronous VLSI design chip. Thesis in PDF.
 Slides in PPT. Cortadella et al.
Introduction to asynchronous circuit design: specification and synthesis.
 Slides in PPT. Cortadella et al.
Introduction to asynchronous circuit design: specification and synthesis.
 Slides in PPT. Nelson. Technology Mapping of Timed
Asynchronous Circuits.
 Paper in PDF. Asynchronous Early Output and Early
Acknowledge DualRail Protocols.

Asynchronous Wrapper for Globally Asynchronous Locally Synchronous Systems. Thesis in PDF.
 Kondratyev. Logic Decomposition of SpeedIndependent
Circuits. Paper in PDF.
 Automatic Technology Mapping for Asynchronous Designs.
Thesis in PDF.
Use of Petri Nets.
 Yakovlev. Designing Control Logic for Counterflow Pipeline
Processor Using Petri Nets. Paper in PDF.
 Kondratyev, et al. The Use of Petri Nets
for the Design and Verification of Asynchronous Circuits and Systems. Paper in PS.
 Kondratyev. Paper in PDF.
Design of Asynchronous Circuits Using Synchronous CAD Tools.
Asynchronous Systems in FPGAS.
 Mocho. Paper in PDF. Asynchronous Circuit Design on Reconfigurable
Devices.
MATERIALS FOR MR. NAVIN ABOUT ABC SYSTEM.
 Mishchenko. Slides in PDF. DAGAware AIG
Rewriting. A Fresh Look at Combinational Logic Synthesis.
 Zhang. Mishchenko. Linear Cofactor Relationships in
Boolean Functions. Paper in PDF.
 FRAIG: A Unifying Representation for Logic
Synthesis and Verification. Slides in PDF.
 Introduction to Digital Circuits. Slides in PDF.
 Niklas. IWLS 2006.
Mishchenko. Improvements to Combinational Equivalence Checking. Paper in PDF.