ECE 573. FULL COLLECTION OF LECTURES ON 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 2006
Updated March 3, 2006

THIS IS A COMPLETE SET OF SLIDES THAT I USE. MATERIAL FOR THIS YEAR ARE IN ANOTHER DIRECTORY.

PLEASE READ THIS WEB PAGE REGULARLY FOR NEW 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.


SOME READING MATERIAL.


Mandatory book for this class is Hachtel/Somenzi. Below I list here all useful materials.
  1. FSM State Minimization: Micheli, Roth, Kohavi, Somenzi, my paper about state minimization, Midwest 1985..
  2. Zvi Kohavi, "Switching and Finite Automata Theory." Chapters 9 - 16.
  3. P. Ashar, S. Devadas, R. Newton, "Sequential Logic Synthesis". Chapters 3 - 5.
  4. Marek Perkowski, "Design, Test and Verification of Sequential Circuits." available from the author. Whole book.
    your remarks will help me to improve this book.
  5. G. DeMicheli, same book as in EE 572, for reference.
  6. Hachtel and Somenzi, same book as in EE 572.


HOMEWORK 1.
  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.

    If you want to program in LISP, make links to interesting LISP links on WWW.
  2. PROJECT. Read project descriptions and related links. Start thinking what will be your project for this class. Talk to me about project.
  3. Review your C, Pascal, Lisp, or any other language skills, and programming recursion and backtracking for your project.



HOMEWORK 2. State Minimization problem.

CHAPTER 1. BASIC SEQUENTIAL MACHINE THEORY AND SYNCHRONOUS FINITE STATE MACHINES.



    TOPICS COVERED.

  1. Class organization. Projects. Grading. Exams.
  2. Short discussion of class projects for this quarter, and creation of project groups.
  3. The concept of a Finite State Machine.
  4. Review on logic and sequential blocks. Use of logic blocks in sequential machines. Shifters, counters.
  5. Deterministic, non-deterministic, Mealy, Moore, Rabin-Scott.
  6. Probabilistic Finite State Machines.
  7. Structural and behavioral theories of state machines.
  8. Realization of state machines with Flip-flops.
  9. The concept of a sequential circuit, models of finite state machines.
  10. Synthesis of FSMs.
  11. Various notations for FSMs.
  12. Minimization of completely specified FSMs.
  13. Graphs algorithms for FSM traversal.
  14. Discussion of various FSM state assignment algorithms.
  15. Partition Pairs. Hypercubes. MV-encoding types.
  16. State Assignment. Partition Pairs. Exact State Assignment based on Partitions.
  17. State Assignment. Continuation on Multi-line Method based on Partition Pairs. Hypercube Embedding.
  18. Other algorithms for State Assignment.
  19. Structural Theory of machines based on partitions.
  20. Decomposition of FSMs.
  21. Input-Output Encoding of FSMs and combinational logic.
  22. Design of state machines in FPGAs.
  23. Realization of non-deterministic machines.
  24. Linear Sequential Machines.
  25. Theory of cellular logic and automata.


MANDATORY READING.
  1. All mandatory slides.
  2. Chapter 7 in Hachtel/Somenzi.
  3. Chapter 8 from Hachtel.
  4. If you lack background, read chapter 10 in Kohavi, and if necessary, previous chapter(s).


AUXILIARY READING.
  1. Review chapters 1 - 5 in Kohavi's textbook if you feel that you need it.
  2. Read or review chapters in Kohavi and Hachtel/Somenzi about state assignment and structural design of FSMs.
  3. Read or review state assignment methods from my book.
  4. Read state assignment method from Kohavi.
  5. Review on regular layout and design for submicron technologies.
  6. Review on logic blocks.
  7. Read the Kohavi and Hachtel/Somenzi textbooks on basic material.
  8. Chapter 8 from Hachtel/Somenzi.


MANDATORY SLIDES.

  1. Informal and intuitive Introduction to Finite State machines. Design Flow of Sequential Circuits. Combinational versus Sequential. Abstraction of State Elements. Forms of sequential logic. Counters. Common design procedures. State Machine Models. Ant Brain Machine. Machine versus behavior. Graphs and tables in design. Synthesis method. Circuit implementation. Don't cares. State Minimization. Comparison of Mealy and Moore machines. Traffic Light Controller machine. FSM Optimization.

  2. Lecture 1. Introduction to Sequential Machine Theory. Why Sequential Theory, software/hardware. Formal Languages. Finite State Machines: Mealy, Moore, Rabin-Scott. Automata. Mathematics. Artificial Intelligence. Set Theory formulation. Turing Machines. Sets. Relations and Functions.

  3. Lecture 2. Equivalence. Deterministic and Non-Deterministic Finite Automata. Equivalence Relations. Examples. Inclusion Relation. Partitions and orderings. Partial Orderings. Total Orderings. POSETs. Languages and automata. Kleene Star. Kleene Closure. Strings. Recognizers. Graphic Notation for recognizers. Rabin-Scott automata. Non-deterministic automata. Transformation from NDFA to DFA. Tabular specifications. Examples.

  4. Lecture 3. Regular Languages. Languages and Formal Languages. Strings and substrings. Kleene Closure. Concatenation operator. Classes of Languages. Rule-Based Languages. Recursive Language Definition. Mathematical Induction. Induction examples. Regular Languages. Examples. Regular Expressions.

  5. Lecture 4. Deterministic FA/PDA. Numerical Acceptor. Languages accepted by FA. Union of languages. Concatenation. Kleene Star. Other operations. Languages versus automata. Context Free Languages. Non-regular languages. Context Free Grammars. Pushdown Automata. PDA recognizers. Notations. Examples. Equivalence.

  6. Lecture 6. (Lecture 5 is missing. It is advanced and it will be covered later on.) Regular Expression Manipulation FSM model. Null Machine. State Diagram Manipulation. The Complement Machine. Language Decidability. Language Overlap. De Morgan Theorem for Languages. Regular Expression Equivalence. Examples. Product Machines. Equivalence and Reduction. Mealy and Moore Machines. FSM design approaches. Clocks. Synchronous versus asynchronous. Examples of detectors. Stable states and races. Asynchronous FSM problems and properties. Sequential circuits design problems. Set Theoretical Descriptions.

  7. Lecture 7. Behavioral Equivalence. Examples. Verifying behavioral equivalence of FSMs. Equivalence of Mealy vs Moore machines. Mealy/Moore conversions.

  8. Lecture 8. Morphisms of State Machines. Free semi-groups. Concatenation. Types of relations. Grupoids and semi-groups. Closed Binary Operations. Monoids and groups. Morphisms. Homomorphisms. Endomorphisms. Monoid Homomorphisms. Isomorphisms. Isomorphism of semi-groups. Machine isomorphisms. Various isomorphisms. Equivalences. Machine homomorphisms. Equivalence.

  9. Introduction to Finite State Machine Minimization. In PDF format. Algorithmic State Minimization. Definitions. Classical State Minimization. Basic principle of state minimization, regardless representation. Minimization of completely specified Machine in KISS format. Method of successive partitions. Examples. Intro to Triangular Chart method. Ad-hoc fast procedures.

  10. Advanced FSM minimization. In PDF format. Examples of application of methods based on compatibles, graphical methods, coverings and closures.

  11. Introduction to state assignment (encoding) of Finite State Machines. Main assignment strategies. One-hot state assignment. Heuristics for state assignment. Output based encoding. Current State Assignment Approaches. Hypercube embedding. State Group Identification. Representation of Symbolic Implicants. Minimization of Multi-Valued Logic for state assignment. Hyper-Cube Embedding vs mv logic. Adjacency-based state assignment. Assigning weights. Fan-out and Fan-in oriented assignment methods. Comparison of methods and CAD tools.

  12. Rule Based State Assignment. In PDF format. Flip-flops. FSM equations. Complete example of encoding. Discussion of heuristics. Method based on graph of state machine. Design flow.

  13. State assignment using multiline and partitions. In PDF format. Partition pairs. Finding pairs from successor. From predecessor. Operation on multi-lines. Basic theorem of encoding based on partitions. Application of the method for D-type flip-flops. Full example. Selecting partitions from multiline. Adaptation of the multi-line method to JK flip-flops.

  14. Example of using state assignment based on rules. In PDF format. One particular example of this approach analyzed in full detail.



AUXILIARY SLIDES.


  1. PDF format. Latches and Flip-Flops.

  2. PDF. Memory Devices for Sequential Circuits. Types of Flip-Flops. Excitation functions.

  3. PDF. Synchronous Sequential Machines. State sequences. Models. Mealy and Moore machines. Features of state diagrams. Simple examples of designing FSMs.

  4. PDF. Design Examples of Simple State Machines. A sequencer.

  5. Additional material from U.C. Berkeley about FSM minimization. In PDF format.

  6. Additional material about state assignment based on hypercubes and multiple-valued logic. In PDF format.

  7. Additional lectures from U.C. Berkeley about state assignment. In PDF format.

  8. Additional lecture about FSM minimization, some state assignment also.

  9. Overview paper about state assignment and related FSM topics. In PDF format.

  10. Paper about Two Dimensional State Minimization and Assignment. In PDF format.

  11. Cooperating FSMs. Part 1. In PDF format.

  12. Cooperating FSMs. Part 2. In PDF format.



TOPICS TO BE COVERED BY THE FIRST EXAM.

  1. Performance Optimization of Finite State Machines.
  2. State Minimization Problem of FSMs.
  3. Review of Finite State Machine Minimization.
  4. Covered and Closed groups of compatibles.
  5. Algorithms for One-Dimensional Minimization of State Machines.
  6. Equivalence and Isomorphism of state machines.
  7. Relations of compatibility and equivalence of states.
  8. State Minimization of Completely Specified Machines.
  9. State Minimization Algorithms for Incompletely Specified Machines
    Maximum Cliques, Maximum Independent Sets.
    Covering and Closure.
  10. Two-Dimensional Minimization of State Machines. Inputs and States.
  11. Asynchronous Machines. Hazards. Creation of machine table.
  12. Asynchronous Machines. Minimization, Assignment, Realization.
  13. Asynchronous Machines realized in PLDs.
    CY7C361 chip from Cypress.
  14. State Assignment. Partition Pairs. Exact State Assignment based on Partitions.
  15. State Assignment: Multi-line Method based on Partition Pairs. Hypercube Embedding.
  16. Other algorithms for State Assignment.
  17. Use of differentiation elements and Flip-Flops for Asynchronous Machines.


QUESTIONS TO FIRST EXAM.

  1. Midterm questoins example.



CHAPTER 2. DIGITAL BLOCKS, SYSTEMS AND ARCHITECTURES.



To be added. MANDATORY LECTURES AND READING.
  1. Multiplexers, Decoders, ROMs. Use in design.

  2. PAL, PLA, EPLD, FPGA. Complex PLD (CPLD).

  3. Arithmetic Circuits. Full adder. Adder/Subtractor. Ripple Carry Chain. Carry Look-Ahead adder. Carry Select Adder. Generalization of these Principles.

  4. Arithmetic Circuits. Serial Adder. ALU, Parity. Comparators. Multiplier.


AUXILIARY READING.
  1. Four-Level PLA.

  2. Realization Technologies.

  3. Modern Tools for VLSI.

  4. Pass Transistor circuits.

  5. Design Methodologies in VLSI.

CHAPTER 3. ASYNCHRONOUS FINITE STATE MACHINES AND SYSTEMS.



    TOPICS TO BE COVERED AND INCLUDED IN EXAMS.

  1. Asynchronous Machines. Hazards. Creation of machine table.
  2. Asynchronous Machines. Minimization, Assignment, Realization.
  3. Asynchronous Machines realized in PLDs.
    CY7C361 chip from Cypress.
  4. State Assignment methods for asynchronous machines. Hypercube Embedding.
  5. Other algorithms for realization of Asynchronous Machines.
  6. Use of differentiation elements and Flip-Flops for Asynchronous Machines.


SOURCES OF INFORMATION.

  1. Assume knowledge from Chapter 8 from Hachtel/Somenzi.
  2. Kohavi, chapter about asynchronous FSMs.
    My book in writing. Here is my text on asynchronous machines without figures and with bugs.
    In postscript.
    In PDF.
ADDITIONAL PAPERS:
  1. PAPER: S. Devadas, H.K.Ma, R.Newton, and A. Sangiovanni-Vincentelli, MUSTANG: State Assignment of Finite State Machines Targeting Multilevel Logic Implementations.

  2. PAPER: A. Ghosh, S. Devadas, K. Keutzer, J. White, Estimation of Average Switching Activity in Combinational and Sequential Circuits.


ADDITIONAL SLIDES:






CHAPTER 4. OPTIMIZATION METHODS. EVOLUTIONARY AND OTHER.



SECTION 4.1. MANDATORY LECTURES AND READING.

  1. Lecture on evolutionary programming approaches. Related to the project. Part 1. PPT format. Genetic algorithms and other approaches for similar applications. Optimization techniques. Genetic Algorithm. Example of convergence. Basic principles of evolutionary algorithms. Coding. Crossover and mutation. One-point crossover. Two-point crossover. Uniform crossover. Other. Problems with crossover. Parent/survivor selection. Example of coding the Travelling Salesman Problem. Roulette wheel. Tournament. Problems with fitness range. Fitness function. Fitness scaling. Fitness windowing. Fitness ranking. Fitness Evaluation. Multi-Criteria Fitness. Other parameters of GA. Simulated Annealing. Annealing Process. Metropolis loop. Metropolis criterion. Algorithm. Control parameters. Examples. Tabu search algorithms. Problems and examples. Combined methods. Hill climbing.
    The same slides in PDF Format.


    Lecture on evolutionary programming approaches. Especially genetic programming. Related to the class project. PPT format. Evolutionary methods. Genetic programming. Genotype and Phenotype. General architecture of Evolutionary algorithms. Background and history of Genetic Programming. Works of Koza. What is a Genetic Program. Computer Programs and Trees. Breeding computer programs. The Fitness Test. Mutation and Crossover. Examples.


    New Lecture on Evolutionary Algorithms. PDF format. Links of evolutionary algorithms to other topics of this class. Natural Computing. From Darwin to GA. Concepts from Genetics. GA structures. Bibliography. Taxonomy of Evolutionary Algorithms. History. Metaphores. Genetic Algorithm for MAXONE problem. Inspiration by natural evolution. Discrete representations of various types of data in GAs. Codes of GAs. Link between GA and the problem. Coding. Examples of problem formulation. Crossover. Mutation. Diversity. Parents selection. Fitness Proportionate Selection. Examples. Roulette wheel. Parent selection. Tournament selection methods. Mixed Parent/Survivor Selection Strategies. Fitness function. Problems with Fitness range. Solutions. Fitness scaling, windowing, etc. Examples of fitness landscapes. Multi-Criterion fitness. Other parameters of GA. Applications of Evolutionary Algorithms. Advantages and disadvantages of EAs. Evolutionary Programming: individuals, fitness, etc. Evolution strategies. Function Optimization. Representation of a real number. Conversion.


    Lecture on Evolutionary-algorithms. Continued. In PDF format. Evolutionary Algorithm Variants,Theory and Ideas. Theoretical Background. Events and stochastic processes. Markov chains. Abstract EAs. Convergence to optimum. Introduction to GA theory. Schemata. Counting Schemata. Implicit parallelism of EAs. How schema affect solutions. Fitness of schema. The Schema Theorem. The Building Block hypothesis. Deceptions and remedies to it. Alternative Selection Methods. Greedy Overselection. Alternative Crossover methods. Constrained Crossover. Shuffle Crossover. Arithmetical Crossover. Selective Crossover. Alternative mutations. Non-uniform mutation. Inversion of bit order as mutation. Alternative GA structures. CHC Adaptive Search Algorithm. Heterogeneous Recombination. Diversity. HUX Crossover. Class projects.

  2. Evolving Quantum Circuits with Genetic Algorithms and through Exhaustive Space Search. Technology for Quantum Computing. NMR processors. Qubits and quantum layout problem. Molecule-driven layout and logic synthesis. The role of swap gates and their avoidance. Swap from Feynman and transformation tricks. Examples of cascades from elementary and non-elementary quantum gates. Encoding of quantum circuits for GA. Genetic operators. Fitness function. Transformations collaborate with GA to find the cheapest quantum gates. Exhaustive search approaches to minimal quantum circuits. Examples of synthesis with our programs. What can be improved and future student projects. Generalized gates. Future ideas. Baldwinian and Lamarckian learning. General directions for future projects. Statistical analysis of non-linearity in synthesized circuits. Evolving Fitness Function for QC synthesis. Pareto Optimality GA and QC synthesis. Exploring GA for QC by modifying parameters and settings.
    PPT format. With animations. Not for print.


    PDF format. Print format.



SECTION 4.2. AUXILIARY READING.

  1. General project requirements. Please contact Mr. Martin Lukac if you have any questions or difficulties.
    word format
    PDF Format.
  2. M. Perkowski, M. Lukac, M. Pivtoraiko, P. Kerntopf, M. Folgheraiter, D. Lee, H. Kim, W. Hwangbo, J-W. Kim, Y-W. Choi, "A Hierarchical Approach to Computer-Aided Design of QUantum Circuits."
    The paper written with the 2002/2003 KAIST class.
    It was published in the Proceedings of the 6th International Symposium on Representations and Methodology of Future Computing Technology, March 10- 11 2003, Trier, Germany.
    We should improve on these results in the new paper to be published.
    PDF Format.
  3. SOFTWARE FOR PROJECT TWO-1.
    ZIP file for Project 1.


  4. SOFTWARE FOR PROJECT TWO-2.
    ZIP file for Project 2.

  5. SOFTWARE FOR PROJECT TWO-3.
    ZIP file for Project 3.

  6. SOFTWARE FOR PROJECT TWO-4.
    ZIP file for Project 4.

  7. SOFTWARE FOR PROJECT TWO-5.
    ZIP file for Project 5.

  8. Report of Yong Duk Kim. Word format.

  9. Report of Hilton Goi and Kyusik Chung. Word format.

  10. Final Project Report Group 5. Report of Byung-guk Kim and Changhyo Yu. Word format.





CHAPTER 5. QUANTUM DOT CELLULAR AUTOMATA AND REGULAR STRUCTURES.





SECTION 5.1. MANDATORY LECTURES AND READING.
  1. Lecture slides. Logic of Quantum Dot Cellular Automata.
    PDF format What are quantum dots? Why are quantum dots important? Mass production of quantum dots? Patterning of quantum dots. QCA - the four dot device. Quantum dots operate as cellular automata. Five dot model of Lent and Porod. Quantum Dot Wire. Four dot model. Example of complete geometrical-logical system for QD. Inverters. Majority gates. Wires. How Majority works. QCADesigner. Rules for layout.

  2. Slides with Quantum Dot Cellular Automata Homework explanation. In PPT format. See below for more materials useful to solve the homework.


SECTION 5.2. AUXILIARY LECTURES AND READING USEFUL FOR HOMEWORKS AND PROJECTS.

  1. Basic Quantum Dot Paper.
    Paper about realizing computer architecture using quantum dot technology.
    M. Niemier, M. Kontz, P. Kogge. A Design and Design Tools for a Novel Quantum Dot Based Microprocessor. In PDF format.

  2. Paper about Lattice Diagrams. M.Perkowski, M. Chrzanowska-Jeske and Y.Xu, "Lattice Diagrams Using Reed-Muller Logic", PDF Format. This paper explains how arbitrary combinational function can be mapped to lattice structures. The method can be extended to multi-output functions, finite state machines and cellular automata.

  3. Paper about Lattice Diagrams and generalized symmetries. B. Drucker, C. Files, M. Perkowski, M. Chrzanowska-Jeske, "Polarized, Pseudo-Kronecker Symmetry and Synthesis of 2*2 Lattice Diagrams." PDF Format. Paper to read about expansion to lattices to be used in reversible cellular computing.

  4. M. Perkowski and A. Mishchenko. Logic Synthesis for Regular Fabric realized in Quantum Dot Cellular Automata. Paper in writing about QDCA. This is useful for homework. Paper is not completed and you can contribute to it.

  5. Gary Bernstein. (Notre Dame University). Quantum Dot Cellular Automata: Computing by Field Polarization. Paper in PDF format about QD CA, background material.

  6. Tim Bentley. Useful notes in PDF format with discussion about QDCA technology.
  7. Slides by Tim Bentley.pdf Useful slides on design of QDCA circuits.

  8. M. Niemier, A. F. Rodriques, and P.M. Kogge. (Notre Dame). A Potentially Implementable FPGA for Quantum Dot Cellular Automata. In PDF format. Another useful paper.

  9. Another set of slides on QDCA. In PDF format.

  10. Introductory paper by Fredkin about "Digital Philosophy" and "Digital Mechanics". This is your starting point.
  11. DP Publications Webpage
  12. Wolfram's book. Do not read it. Only find relevant examples. This is a great book but to thick to read in one quarter.

  13. G. Snider et al. Quantum Dot Cellular Automata: Line and Majority Logic Gate. Fundamental paper.

  14. Snider et al. Quantum Dot Cellular Automata. Review and Recent Experiments. Overview paper from 1999.

  15. A. Vetteh, K. Walus, V. Dimitrov and G. Jullien. Quantum-Dot Cellular Automata Carry-Look-Ahead Adder and Barrel Shifter. Useful paper with examples. Useful for projects and homeworks.

  16. K. Walus, T. Dysart, G. Jullien, A. Budiman. QCADesigner: A Rapid Design and Simulation Tool for Quantum-Dot Cellular Automata. Description of CAD tool for QDCAs. In PDF format.

  17. Wei Wang, Konrad Walus and G.A. Jullien. Quantum-Dot Cellular Automata Adders.

  18. Niemier et al. A Potentially Implementable FPGA for Quantum Dot Cellular Automata. A set of slides.

  19. M. Tahoori et al. Defects and Faults in Quantum Dot Cellular Automata at Nano Scale. Paper how to detect faults in QDCAs. In PDF format.

  20. M. Baradaran Tahoori and F. Lombardi. Testing of Quantum Dot Cellular Automata Based Designs. DATE-2004. In PDF format.

  21. K. Walus, G.A. Jullien, and V.S. Dimitrov. Computer Arithmetic Structures for Quantum Cellular Automata. Asilomar2003. In PDF format.

  22. K. Walus, G.A. Jullien, and V.S. Dimitrov. Poster.

  23. National-nanotechnology-initiative.pdf This last papers shows where the technology and funding is going.

CHAPTER 6. CELLULAR AUTOMATA AND ARTIFICIAL LIFE.


Often, cellular automata are build using FPGAs and programmed using Evolutionary Algorithms. Reversible Cellular Automata use concepts of reversible logic. So now you are prepared for more complex projects in reversible cellular automata and their realizations in various technologies. The same refers to pipelined, systolic, etc. processors.

SECTION 6.1. MANDATORY LECTURES AND READING.

  1. Lecture Introduction to Cellular Automata and Artificial Life Cellular Automata. Life - the game. History of Cellular Automata: Conway. Variants of game of life rules. Types of patterns. Importance of Cellular Automata as models of Universe. Simulation using CAs. Neighbourhoods. States and patterns. Dynamics. Global and local. Classification of Cellular Automata. Automata Theory. Cellular Automata formalism. Classification by Wolfram. Complexity. Universal Machines - Stanislaw Ulam. Von Neumann Machines. Reproduction. Chaos Theory and dynamical systems. Chaotic Dynamics. Cellular Automata as Dynamical Systems. New research areas. Possible homeworks and projects.

  2. Lecture 6.1. Three-Dimensional Cellular Logic Illustration.
  3. PDF format

  4. Lecture 6.3. Cellular morphogenesis.
    PDF format. Dynamical Systems and Cellular Automata. Morphogenetic modeling. Space and geometry. Discretization for Cellular Automata has many aspects. Wolfram Rules and Temporal Evolution. CA as a metaphor for morphogenesis. CA rule mutations. Prediction and predictability. Examples. Patterns and morphology. Genotype and Phenotype.

  5. Lecture 6.4. Cellular Automata. Analysis and Examples.
    PDF format. Review. Analysis of one-dimensional CA. Homeworks. 2D CA. Examples. Links between GA and CA. Density classification tasks.

  6. Lecture 6.5. About CA-based Random Number Generation, Cryptography and Cellular Reversible Automata
    PDF format Current Random Number Generators. Linear Feedback Shift Register. A CA Random Number Generator. Hybrid Cellular Automata. CA-Based Cipher Systems. Ciphers. Cipher classification. Block ciphers. CA Block Cipher. CA Cycles. Hybrid CA. Examples. Key space. Stream Cipher. Stream Cipher key. Computations with CAs. Signal Pathways. Signal Propagation Rules. Logic Operation Rules. Reversible Cellular Automata. Blocking. Reverse behavior. A Billiard Ball model of computation as a CA.

  7. Lecture 6.6. Lecture by Norm Margolus about Physical Reversible Models
    PDF format Physics becomes the computer. Emulating physics. Reversibility and other conservations. Adding conservations. Diffusion rule. TM Gas rule. Lattice gas refraction. Lattice gas hydrodynamics. Dynamical Ising rule. Bennett's 1D rule. 3D Ising with heat bath. 2D "Same" rule. Reversible aggregation rule. Adding forces irreversibly. Conservations summary.

  8. Lecture 6.7. Lecture 2 by Norm Margolus
    PDF format Review: why emulate physics. Physical Worlds. Computation Universality. What's wrong with Life? Billiard Ball Logic reminder. A BBM CA rule. The Critters rule. Critters is universal. UCA with momentum conservation. SSM collisions on other lattices. Getting rid of mirrors. The rest particle. Signal Complement. Macroscopic universality. Relativistic conservation. Can we add macroscopic forces?

  9. Lecture 6.8. Lecture 3 by Norm Margolus
    PDF format Spatial computers. CAM 1- to 6. CAM-8 Programming model. CAM-8 node. Lattice example. Materials simulation. Logic simulation. Porous flow. Image Processing. FPGA node design. Embedded DRAM. SPACERAM: A general purpose crystalline lattice computer. Mapping a lattice into hardware.

  10. Lecture 6.9. Lecture by Michael Frank about reversible processors from MIT
    PDF format Reversible architectures: why? All known reversible architectures. Reversible Programmable Gate Array Architectures. FlatTop reversible mesh processor. Examples and rules. BBMCA update rule. Grid of FlatTop processing elements. Layout and logic. Analysis.

  11. Lecture 6.10. Lecture about Von Neumann self-reproducing automata
    PPT format General question. Von Neumann Neighborhood. States in Von Neumann Automaton. Ordinary Transmission States. Quiescent State. Confluent States. Pulsers. Decoder. Repeater. Special Transmission states. The Destruction Process. Sensitive States. The Sensitized tree. The Construction Process. Periodic Pulser. Coded Channel. Transition and Output Table. Automata. Constructing Arm. Horizontal Advance. Vertical Advance of Constructing Arm. Horizontal Retreat of Constructing Arm. Vertical Retreat of Constructing Arm. Injection of Starting Stimulus. Reading Loop. Constructing Arm. Universal Computer. Universal Constructor. Automata Self-reproduction. Cellular Automata as Viruses. Virus types and categories. Computer versus Biology. Virus versus Artificial Life.

  12. Example: Hexagonal. An interesting example of hexagonal systolic architecture - different than those from the class.
    PDF format.



SECTION 6.2. AUXILIARY MATERIALS ABOUT REGULAR STRUCTURES AND CELLULAR AUTOMATA

  1. CA versus RL. A. Buller and M. Perkowski, "Cellular Automata Realization of Regular Logic." PDF Format. Paper about reversible cellular structures. TO be published soon, you may contribute to extensions and improvements of these ideas.

  2. Evolving for CAM brain. A. Buller and M. Perkowski, "Evolved Reversible Cascades Realized on the CAM-Brain Machine (CBM)". PDF Format. Paper from NASA 2003 Conference on Evolvable Hardware about cellular automata realization of elementary reversible circuits. Easy to understand. New research. For projects and homeworks.
    Word format
    PDF format



This is only the introduction to cellular automata, necessary to start working on projects. We will learn more about cellular automata after first learning about the FPGAs and how they can be realized.




SECTION 6.3. STUDENT PRESENTATIONS OF THEIR PROJECTS.
  1. STUDENT PRESENTATIONS 1. Presentation of student Hilton Tamanaha Goi about "Newton Generalized Game of Life".
    Goi's Game of Life, PPT format
    Hilton Game of Life, PPT format


    Hilton Game of Life, Natural Disaster. Matlab format


    Hilton Game of Life, Population Control. Matlab format


    Hilton Game of Life, Stable Oscillator. Matlab format



  2. PRESENTATIONS 2. Presentation of student Yong Duk Kim about generalization of "Game of Life" using genetic algorithm.
    Zipped files Look here for all software and data files
    Generalized Game of Life presentation. PDF Format.



  3. PRESENTATIONS 3. Presentation of student Byung-guk Kim about finding good parameters for generalized Game of Life.
    His webpage with class material.

    TAR formatted files
    Generalized Game of Life presentation. PDF Format.



  4. PRESENTATIONS 4. Presentation of student Hyunkoo Jee in your "Emerging Computer Technologies" class.
    His webpage with class material.
    ZIP files of his work
    Finding Sorting Algorithm Using Genetic Programming. PDF Format.



  5. PRESENTATIONS 5. Presentation of student Changhyo Yu of his work on Cellular Automaton for Generalized Game of Life.
    PPT format
    ZIP files



  6. PRESENTATIONS 6. Presentation of student Kyusik Chung of his work on Cellular Automaton for Generalized Game of Life.
    ZIP files
    Game of Life for the 21-st Century. Presentation in Class. PDF Format.



  7. PRESENTATIONS 7. Report of Hilton Goi on A New Method of Edge Detection Based on a Cellular Automaton.
    Word format. (.doc).

CHAPTER 7. EVOLVABLE HARDWARE.



MANDATORY LECTURES.

AUXILIARY READING MATERIAL FOR EVOLUTIONARY ALGORITHMS AND EVOLVABLE HARDWARE

CHAPTER 8. VALIDATION, TESTING AND VERIFICATION OF SEQUENTIAL SYSTEMS.



To be added. MANDATORY LECTURES AND READING.
BDD

AUXILIARY READING.
  • Homework about BDDs and MV BDDs.

    CHAPTER 9. FIELD PROGRAMMABLE GATE ARRAYS (FPGAs) AND RECONFIGURABLE COMPUTERS.



    MANDATORY LECTURES AND READING.

    AUXILIARY READING MATERIAL FOR REGULAR LOGIC AND CELLULAR AUTOMATA

    CHAPTER 10. PROGRAMMING LANGUAGE LISP.



    This is only auxiliary material for those who want to learn programming quickly.
  • 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.

  • INFO IS IN KCL FAQ

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

  • Here are some additional resources about this language.

    link2
  • 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.

    CHAPTER 11. DNA COMPUTING



    SECTION 11.1. MANDATORY LECTURES AND READING.

    1. Lecture 11.1. First Lecture on DNA Computing.
      PDF format What is molecular computing? Biocomputing versus Bioinformatics. Artificial Intelligence and biology. Nanotechnology. Introduction to Molecular Biology. Broad Generalization: Proteins versus DNA. Protein Molecules. DNA Action. Enzymes. Mass Parallel operation on Enzymes. Genetic Code. Cells and DNA as Computers and Memories. Myoglobin gene. What is Biological Computing. Approach 1: Construct logic gates within Cells. Molecular Electronics: AND gate and OR gate. First Approach: results. Approach 2: Use DNA to perform calculations. What is molecular computing. What is DNA computing? DNA computing is a different approach. What are the advantages of DNA computing? What is DNA? History. The Double Helix. DNA structure. Single Strand. Double Strand. Nitrogenous Bases. Inter-Strand Hydrogen Bonding. DNA as a data structure. Using enzymes for DNA manipulations. DNA computing takes advantage of these. Operations with DNA. Physical Operations. The bio-lab technology: DNA process. Separating DNA strands. Completing Sticky Ends. Strand Hybridization. DNA replication. DNA Ligation. Polymerase Chain Reaction. Using primers. Complete PCR process. Filtering. Separation by length. Reading. Gel Electrophoresis. Affinity Separation. Restriction Endonucleases.

    2. Lecture 11.2. Second Lecture on DNA Computing.
      PDF format Adleman's DNA algorithm for Hamiltonian path. The Travelling Salesman Problem. Hamiltonian Graph. Brief History. The Hamiltonian Path Problem. Adelman's DNA Algorithm for Hamiltonian Path. Step 1: Generate all routes using Ligase. Graph Encoding with DNA. DNA computer for this problem. Generating Routes. Use PCR to remove bad starts and ends. Affinity purification. Step 2. Step 3: Gel Electrophoresis. Step 4. Affinity Purification. Magnetized Balls. Step 5. PCR amplify. Adleman experiment: results. Problems with Adleman's Approach to DNA computing. New generation of computing? Sticker Model. Operations on a sticker machine. Future Sticker Machines. Why try DNA computing? Known CMOS limitations. Future Technology Enablers. Historical Timeline of DNA Computing. DNA computers versus Conventional Computers. Practial Issues. Reliability. Is biological computing practical? DNA versus silicon. DES example. Implementation. Minimal Set Cover example. Pros and Cons DNA Computing. Future of DNA computing. The OLYMPUS DNA Computer.


    SECTION 11.2. AUXILIARY MATERIALS ABOUT DNA COMPUTING

    1. DNA 11.1. A survey of Bio-Molecular Technologies
      PDF Format John H. Reif. The Emergence of the Discipline of Biomolecular Computation in US.

    2. DNA 11.2. Review of DNA Technology.
      PDF Format Carlo C. Maley. DNA Computation: Theory, Practice, and Prospects.