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
- 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.
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, Rabin-Scott 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: sorter-absorber, sorter of 2D cubes, sorter for symmetric functions.
Lecture 2. Finite State Machines and their minimization.
- Review of Finite State Machines.
Notation for machines. Mealy machine tables and graphs.
Moore machine description. Practical problem to solve. Flip-Flops 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. Partition-based minimization of complete machines in Kiss Format. Method of successive partitions. Implication chart method. Minimizing incompletely
What will be discussed on Friday?
- Shift registers. Mealy, Moore, Rabin-Scott 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.
- 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 "tic-tac-toe". Describe the problem as a state machine.
- Minimize a randomly generated state machine which has about 509% of don't cares in transitions and outputs.
Minimization, state assignment and realization of Finite State Machines.
- 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. One-Hot 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 Multiple-Valued Logic.
State groups and group faces. Examples of hyper-cube embedding.
Adjacency-Based State Assignment. Fan-out oriented rules.
Fan-in oriented rules. Comparison of methods and discussion. Tools.
- 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.
State Assignment of FSMs. Advanced methods and partition theory.
- Rule based state assignment.
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 using-multiline and partitions.
Definition of partition pair. Finding predecessor and successor partitions from maps and tables.
Multi-line 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 flip-flops.
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.
Design of FSM from Flowcharts and similar techniques.
Addition and Subtraction with Signed-Magnitude 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 Mealy-Moore and Moore-Mealy 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.
- Slides in PDF on Design using flow-charts.
Addition and subtraction, flowcharts.
Operations in Signed 2's complement.
Multiply Signed Magnitude. Multiply Signed-2's Complement.
Array multiplier. Divide Fixed-Point Signed-Mag.
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. Register-reference 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 flip-flop per state. Microprogrammed control.
- Slides in PPT. Instructions in microprocessor.
ISA. Instruction Set Architecture. LC-3 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
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. Flow-charts. 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 real-life design. Design methodologies and design specifications.
Design for testability. BIST. Virtex II, Xilinx MicroBlaze. Boards.
- Mano Chapter 8. Slides in PPT about flow-charting and control
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 Multi-cycle control.
The Multi-Cycle Implementation. The Five Cycles. Complete multi-cycle 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. R-type instructions. R-type execution.
R-type execution and write back. FSM states for R-type
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. Multi-cycle 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. Input-Output Programming.
- Midterm 1 from year 2006.
Decomposition of Finite State Machines. Serial and Parallel Decomposition. Links to Encoding.
Behavior, experiments, testing, and verification of FSMs.
- 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.
- 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.
Synchronizing sequence. Designing checking experiments. Initialization. Identification. Transition Verification.
Complete example. DFT for sequential circuits. Construct testing graph. Definitely diagnosable machines.
- Examples of homing and synchronizing experiments.
Homing sequence, to identify the final state. Synchronizing sequence.
- 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
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. Black-Box (data-driven, input-output) testing.
White box testing. Some testing principles. Inspections and walk-throughs. Code inspection.
Checklist for inspections. Walkthrough.
Selection of test cases (for white-box 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 data-flow 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. D-Algorithm. Singular cover.
D-Intersection. Primitive D-Cube of fault. Propagation D-Cube.
D-Algorithm steps. PDCF example. D-Drive 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.
- 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.
- Realization of asynchronous automata.
Design of asynchronous circuits. Reduction of pseudo-equivalent states and equivalent states.
Reduction of compatible and pseudo-equivalent
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.
Asynchronous Input example. Metastability. Why Metastability is a "special" problem.
Metastability in D FFs.
Analyzing metastability. Metastability test circuit. Application example.
- Self-timed asynchronous machines.
Self-timed 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 self-synchronized state machines.
Loc Bao Nguen, Marek Perkowski and Lech Jozwiak, Design of Self-Synchronized Component FSMs for Self-Timed
Systems. Paper in PDF.
- Scott Hauck. Asynchronous Design Methodologies: An Overview.
Paper in PDF.
Design of large asynchronous controllers.
- Slides in PPT. Lecture on Direct
synthesis of Large-scale asynchronous Controllers using a Petri-Net-based 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. Self-Timed Systems.
The Timing Mode Spectrum. GALS module with stoppable clock.
GALS: Petri Net model. Backend language: Petri Nets? New Design Flow; two-level control.
Direct mapping of Petri Nets; event-based and level-based. 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.
Cellular Automata Project.
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 1-Dimensional 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. Self-reproduction 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 FPGA-based 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 geometrical-logical 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. One-Dimensional 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
- 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.
- 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.
CA-based 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.
Toffoli-Margolus 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.
- 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.
- Part 3 of Physical Reversible Models of Cellular Automata.
Spatial Computers. CAM-8 programming model. Lattice example. Materials simulation. Logic simulation.
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. Long-term trends.
Variations of initial conditions. Very small populations. Parallel performance. Speed-up.
WEEK TEN. March 12 - 17.
Basic concepts of Sequential State Machine Theory. Non-deterministic and deterministic automata.
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. Rabin-Scott machines. Non-Deterministic FSMs.
DFA-NDFA 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.
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 Non-regular 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 Semi-Group. Strings. Partitions. Types of relations. Grupoids. Semigroup.
Closed Binary operation. Monoid. Group. Morphisms. Homomorphism. Homomorphism of groups. Endomorphism.
Semi-group homomorphism. Homomorphism of monoids. Isomorphism. Graphical illustrations of morphisms.
Machine Isomorphisms. State and Output Isomorphisms.
Homo- versus Iso-morphisms of machines. Output equivalence. Inverse Machine Isomorphism.
Machine Equivalence. Behavioral Equivalence of two state machines. Homeworks.
WEEK ELEVEN. WEEK OF FINALS. March 19 - 24.
- Overview of Design Automation for
Sequential Circuits and Systems.
Microelectronic Circuits. Microelectronic Design Styles. Standard Cells.
Array-Based Design. Semi-custom style trade-off.
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 Trade-off 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.
VHDL-AMS based genetic optimization of a fuzzy logic controller for automotive active suspension
Design of large controllers and spectral methods.
- Paper in PDF. The hardware implementation of real-time
SAR signal processor.
- Contents of DSP book. PDF.
- Embedded System architectures paper in Postscript.
- Shi. Ph.thesis in PDF.
Floating-point to fixed-point 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 Phase-Based Frequency Estimation Algorithm.
Matlab and Simulink to FPGA via Xilinx System Generator.
- Using Delayed Addition Techniques to Accelerate Integer
and Floating-Point Calculations in Configurable Hardwarea. Paper in PDF.
- Paper in PDF on Programmable Digital Signal Processor.
- Thesis in PDF. Orientation Filters for Real-time Computer Vision
- M.S. Thesis by Tyler Moeller in PDF.
Field Programmable Gate Arrays for Radar Front-End DSP.
- Vector Processors.mht
- M.S. Thesis by A. Walters in PDF.
A Scaleable FIR Filter Implementation Using 32-bit Floating Point Complex Arithmetic on a FPGA Based Custom
- M.S. Thesis in PDF by Belanovic. Library of Parametrized
Hardware Modules for Floating-Point 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
Front-End 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 Low-Power, High-Performance, 1024-Point
FFT Processor. Text in PDF.
- MS Thesis in PDF on Adaptive Computing in NASA
Multi-Spectral Image Processing.
- Postscript text on An Assesment of the Suitability of FPGA-based
Systems for use in DSP.
- Blair text in Postscript. A review of DFT.
- MS thesis by Ramirez Silva in PDF.
On Implementing Time-Frequency Representations on Hardware/Software Computational Structures for SAR
- Tom Curtis on Sonar Technology. Past and Current.
Text in PDF.
- Broadcast transmission. Slides from Xilinx. PDF format.
- Coric. Thesis on Parallel-Beam
Backpropagation: an FPGA Implementation Optimized for Medical Imaging.
This includes Radon Transform.
FAST FOURIER TRANSFORM - AUXILIARY MATERIALS FOR PROJECT.
- 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 Low-Power, High-Performance,
Fast Fourier Transform Processor Design.
- He and Torkelson. Design and Implementation
of a 1024-point 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 DWT-DFT Composite Watermarking Scheme Robust to Both
Affine Transform and JPEG Compression. Paper in PDF.
- Efficient Cordic Designs for Multi-Mode OFDM FFT.
Paper in PDF.
- A High-Performance Radix-2 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 Real-time 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 2-D 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
Shirazi Implementation of a 2-D 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.
- Literature in Word on applications of FFT.
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.
- 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 Chirp-Z RAG-n DFT. Text in PDF.