ECE 573. DESIGN OF SEQUENTIAL CIRCUITS.



THIS IS A MANDATORY READING MATERIAL.


IF SOMETHING IS NOT CLEAR, PLEASE SEND ME AN EMAIL OR TALK TO ME AND I WILL UPDATE THE PDF FILES AND ADD MORE EXAMPLES.

You should be able to solve all problems given at the end of a file.



Here are the lectures from other classes that may be useful as a background.
  1. ECE 271. Digital System Design. Second class in digital design at PSU. State machines, digital systems, VHDL, intro to test.
  2. ECE 572. Advanced Logic Synthesis. Introductory graduate class. Logic synthesis theory, decomposition, multi-valued logic, Reed-Muller and Galois circuits.
  3. ECE 510DT. Test and Design for Test.
  4. ECE 510VH. Digital Design using VHDL.
  5. ECE 478. Intelligent Robotics 1.
Portland State University
College of Engineering and Computer Science
ECE 573 Design of Sequential Circuits.
Course Schedule, Spring 2002
Updated October 22, 2001


Wk 
Date 
Subject 
Required
Reading 
Additional
Reading 
Homeworks and Projects
REVIEW OF FINITE STATE MACHINES AND SEQUENTIAL CIRCUITS.
Tuesday
April 25
Class organization. Projects. Grading. Exams.
  1. The concept of a Finite State Machine.
  2. Deterministic, non-deterministic, Mealy, Moore, Rabin-Scott.
  3. Realization of state machines with Flip-flops.
  4. The concept of a sequential circuit, models of finite state machines.
  1. Chapter 7 in Hachtel/Somenzi.
    • Mealy and Moore models of Finite State Machines.
    • Synthesis of FSMs.
    • Various notations for FSMs.
    • Minimization of completely specified FSMs.
    • Graphs algorithms for FSM traversal.
  2. PDF. Latches and Flip-Flops.
  3. PDF. Memory Devices for Sequential Circuits. Types of Flip-Flops. Excitation functions.
  4. PDF. Synchronous Sequential Machines. State sequences. Models. Mealy and Moore machines. Features of state diagrams. Simple examples of designing FSMs.
  5. PDF. Design Examples of Simple State Machines. A sequencer.
  1. Review chapters 1 - 5 in Kohavi's textbook.
  2. LISP Readings. We will use Kyoto Common Lisp, available on PSU network. To call it, just type

    kcl

    The prompt will occur, and you can type

    (car '(a b c))

    to verify that it works.

  3. INFO IS IN KCL FAQ

  4. COMPLETE MANUAL IN REVERSE ORDER AS A POSTSCRIPT FILE IS HERE: KCL MANUAL,REVERSED.

  5. Here are some additional resources about this language.

    link1

    link2

    link3

    link4

    link5

    link6

    link7
  1. HOMEWORK 1.
    Create your own WWW Page for this class.

    Write about your interests in Finite State Machines, sequential circuits, design automation, EDA tools, ASIC design, computer architecture and related topics.

    Add links to the pages of your interest from the WWW.

    Make links to interesting LISP links on WWW.
  2. Review of Lisp and programming recursion and backtracking: for projects.
  3. Short discussion of class projects for this quarter, and creation of project groups.

  4. PROJECT. Read project descriptions and related links. Start thinking what will be your project for this class. Talk to me about project.
  5. GOOD WWW PAGE RESOURCES TO CREATE YOUR OWN PAGES.
  6. NTU INTRANET HOME PAGE --- Source of courses in Logic Synthesis.
Thursday,
September 27
  1. State Minimization Problem of FSMs.
  2. Review of Finite State Machine Minimization.
  3. Covered and Closed groups of compatibles.
  4. Algorithms for One-Dimensional Minimization of State Machines.
  5. Equivalence and Isomorphism of state machines.
  6. Relations of compatibility and equivalence of states.
  7. State Minimization of Completely Specified Machines.
  8. State Minimization Algorithms for Incompletely Specified Machines
    Maximum Cliques, Maximum Independent Sets.
    Covering and Closure.
  9. Two-Dimensional Minimization of State Machines. Inputs and States.
  1. SLIDES:
  2. Sources: my class notes.
  3. Sources: my paper about 2D state minimization, India 1992.
Continue reading the Kohavi and Hachtel/Somenzi textbooks on basic material.
  • Chapter 8 from Hachtel/Somenzi.
    • 8.1. Minimization of Incompletely Specified Machines.
    • 8.2. The Binate Covering Problem.
    • 8.3. State Encoding.
    • 8.4. Decomposition and Encoding.
  • Review of LISP, project discussion.
    Wk 
    Date 
    Subject 
    Required
    Reading 
    Additional
    Reading 
    Homeworks and Projects
    STATE ASSIGNMENT OF SYNCHRONOUS FINITE STATE MACHINES.
    Tuesday,
    October 2
    1. State Assignment. Partition Pairs. Exact State Assignment based on Partitions.
    2. State Assignment: Multi-line Method based on Partition Pairs. Hypercube Embedding.
    3. Other algorithms for State Assignment.
    4. PAPER: S. Devadas, H.K.Ma, R.Newton, and A. Sangiovanni-Vincentelli, MUSTANG: State Assignment of Finite State Machines Targeting Multilevel Logic Implementations.
    5. PAPER: A. Ghosh, S. Devadas, K. Keutzer, J. White, Estimation of Average Switching Activity in Combinational and Sequential Circuits.
    1. SLIDES: State Assignment. Flip-flops. Excitations. Rules leading to state assignment. Heuristic rules and their explanation.
    2. SLIDES: State Assignment based on Partition Pairs. Multi-Line Method.
    3. SLIDES: PS. Two-Dimensional Minimization of Finite State Machines. Based on the work of a student in this class.
    Complete reading slideas and chapters 7 and 8 from Hachtel. Read chapter 10 in Kohavi, and if necessary, previous chapter(s). HOMEWORK 2. State Minimization problem.
    Thursday,
    October 4
    Discussion of various FSM state assignment algorithms. Partition Pairs. Hypercubes. MV-encoding types.
      Nothing.
    Read or review chapters in Kohavi and Hachtel/Somenzi about state assignment and structural design of FSMs. Continue working on the project.
    STATE ASSIGNMENT CONTINUED.
    Tuesday,
    October 9
    Continue on state assignment ideas.
    1. State Assignment. Partition Pairs. Exact State Assignment based on Partitions.
    2. State Assignment. Continuation on Multi-line Method based on Partition Pairs. Hypercube Embedding.
    3. Other algorithms for State Assignment.
    1. Read or review state assignment methods from my book.
    2. Read state assignment method from Kohavi.
      none.
      none.
    Thursday,
    October 11
    Student presentations about projects.
    1. Read or review state assignment methods from my book.
    2. Read state assignment method from Kohavi.
      none.
      none.
    STRUCTURAL THEORY OF FINITE STATE MACHINES.
    Tuesday,
    October 16
    1. Review on regular layout and design for submicron technologies.
    2. Review on logic blocks.
    1. SLIDES: Four-Level PLA.
    2. SLIDES: Realization Technologies.
    3. SLIDES: Modern Tools for VLSI.
    4. SLIDES: Pass Transistor circuits.
    5. SLIDES: Design Methodologies in VLSI.
      Review on CAE tools and basic technologies in which FSMs are realized.
    HOMEWORK 4: Design an FSM using any of the presented technologies.
    Thursday,
    October 18
    1. Structural Theory of machines based on partitions.
    2. Decomposition of FSMs.
    3. Input-Output Encoding of FSMs and combinational logic.
    1. SLIDES: Multiplexers, Decoders, ROMs. Use in design.
    2. SLIDES: PAL, PLA, EPLD, FPGA. Complex PLD (CPLD).
    3. SLIDES: Arithmetic Circuits. Full adder. Adder/Subtractor. Ripple Carry Chain. Carry Look-Ahead adder. Carry Select Adder. Generalization of these Principles.
    4. SLIDES: Arithmetic Circuits. Serial Adder. ALU, Parity. Comparators. Multiplier.
    Review on logic and sequential blocks. Use of logic blocks in sequential machines. Shifters, counters. First presentations of student projects.
    STRUCTURAL THEORY OF FINITE STATE MACHINES.
    Tuesday, October 23
    1. Design of state machines in FPGAs.
    2. Realization of non-deterministic machines.
    3. Linear Sequential Machines.
    4. Theory of cellular logic and automata.
    SLIDES: Cellular automata.
    1. Book of indian authors about Cellular automata.
    2. Qihong Chen M.S. about Cube Calculus Machine (CCM).
    HOMEWORK 5: Conceptual Design and hardware Realization of a Cellular automaton.
    Thursday, October 25
    1. Regular sequential structures.
    2. Finite-state recognizers.
    3. Comprehensive systems for synthesis of programmable devices.
    4. Design automation for sequential circuits and Finite State Machines.
    5. Non-deterministic and Parallel FSMs.
      Nothing.
      Nothing.
    No homework. Continue work on project.
    DESIGN OF SPECIAL PURPOSE LOGIC MACHINES.
    Tuesday,
    October 30
    1. Pipelined machines.
    2. Systolic machines.
    3. Array machines.
    4. Stack machines.
    5. Machines for logic.
    1. SLIDES: pipelined machines.
    2. SLIDES: systolic machines.
    3. SLIDES: stack machines.
    None. None.
    Thursday,
    November 1
    Continuation on special purpose machines. None. None. None.
    MACHINES FOR LOGIC PROGRAMMING.
    Tuesday,
    November 6
    1. Logic Programming.
    2. Machines for Logic Programming.
      SLIDES.
      Papers of Ulug and Bowen.
      none.
    Thursday,
    November 8
    Continuation on logic machines.
      none.
    none. Project presentations. Project discussion. Additional meetings for projects demo and discussions.
    8  
    REGULAR EXPRESSIONS AND MICROPROGRAMMING.
    Tuesday, November 13
    1. Regular Expressions, Brzozowski's Algorithm for Generalized Regular Expressions.
    2. Microprogramming and systematic design of control units.
    3. Hardware scheduling and allocation.
      Sources: my book, Kohavi's book.
      none
      none
      none
    Thursday, November 15
    CELLULAR AUTOMATA AND CUBE CALCULUS MACHINE.
    November 22
    1. Cube Calculus Machine.
    2. Design for Test of Sequential Circuits.
    3. Automatic System Verification.
    4. Fuzzy, analog and probabilistic machines.
    5. Language processors (recursion,stacks,Lisp,Prolog).
      none.
      none.
      none.
    November 24
    1. Asynchronous Machines. Hazards. Creation of machine table.
    1. here is my text on asynchronous machines without figures and with bugs.
    1. Kohavi, chapter about asynchronous FSMs.
    1. none.
    10 
    ASYNCHRONOUS FINITE STATE MACHINES AND LOW POWER DESIGN.
    November 27 Continue on asynchronous FSMs.
    1. Asynchronous Machines. Hazards. Creation of machine table.
      Sources: my book, Kohavi. here is my text on asynchronous machines without figures and with bugs.
    2. Asynchronous Machines. Minimization, Assignment, Realization.
    3. Asynchronous Machines realized in PLDs.
      CY7C361 chip from Cypress.
    4. Use of differentiation elements and Flip-Flops for Asynchronous Machines.
    5. Performance Optimization of Finite State Machines.
      SLIDES.
      papers.
      none.
    November 29 Additional problems about complex machines with structures.
      .
      .
      .
    11 
    PROJECT PRESENTATIONS AND FINAL EXAM.
    December 4 Presentation and discussion of projects. links to student www pages with projects. links to student www pages with projects. This is the last week for presentations of projects.
    How to write the project report.
    no new reading. Please work on project report and slides.

    Everybody has to return at least 4 homeworks out of all those assigned.
    December 6 Final Examination. Written. Open Book. Whole material of lectures and readings is covered, project not covered. Review the material. No new reading. Review the material. No new reading. Project demonstrations. Complete past homeworks. Projects are due Sunday. The last day of finals week.

    Homeworks are due one week from their assignment, unless told otherwise.

    Homeworks 4 and 5 are accepted until the end of the term.





    BACK TO MAIN PAGE OF Professor Marek Perkowski.


    You can reach me at
    mperkows@ee.pdx.edu
    Lattice Diagrams program ideas - Mascarenhas Ryan Paschal. Demo of ORCAD-EXPRESS CAD Tools and discussion of industrial tools. Dave Matson's LISP-based Fault Simulator.
  • FSM State Minimization: Micheli, Roth, Kohavi, Somenzi, my paper about state minimization, Midwest 1985..
  • Zvi Kohavi, "Switching and Finite Automata Theory." Chapters 9 - 16. THIS IS THE MAIN TEXTBOOK.
  • P. Ashar, S. Devadas, R. Newton, "Sequential Logic Synthesis". Chapters 3 - 5.
  • Marek Perkowski, "Design, Test and Verification of Sequential Circuits." available from the author. Whole book.
    your remarks will help me to improve this book.
  • G. DeMicheli, same book as in EE 572, for reference.
  • Hachtel and Somenzi, same book as in EE 572, for reference.
  • Regular expressions and their transformation to graphs of FSMs.