Digital System Design using FSMs. Peter D. Minns
Table of Contents
1 Cover
4 Preface
7 Guide to Supplementary Resources
8 1 Introduction to Finite State Machines 1.1 SOME NOTES ON STYLE
9 2 Using FSMs to Control External Devices 2.1 INTRODUCTION
10 3 Introduction to FSM Synthesis 3.1 INTRODUCTION 3.2 TUTORIALS COVERING CHAPTERS 1, 2, AND 3
11 4 Asynchronous FSM Methods 4.1 INTRODUCTION TO ASYNCHRONOUS FSM 4.2 SUMMARY 4.3 TUTORIALS
12 5 Clocked One Hot Method of FSM Design 5.1 INTRODUCTION 5.2 TUTORIALS ON THE CLOCKED ONE HOT FSM METHOD
13 6 Further Event‐Driven FSM Design 6.1 INTRODUCTION 6.2 CONCLUSIONS
14 7 Petri Net FSM Design 7.1 INTRODUCTION 7.2 TUTORIALS USING PETRI NET FSM 7.3 CONCLUSIONS
15 Appendix A1: Boolean Algebra A1.1 BASIC GATE SYMBOLS A1.2 THE EXCLUSIVE OR AND EXCLUSIVE NOR A1.3 LAWS OF BOOLEAN ALGEBRA A1.4 EXAMPLES OF APPLYING THE LAWS OF BOOLEAN ALGEBRA A1.5 SUMMARY
16 Appendix A2: Use of Verilog HDL and Logisim to FSM A2.1 THE SINGLE‐PULSE GENERATOR WITH MEMORY CLOCK‐DRIVEN FSM A2.2 TEST BENCH MODULE AND ITS PURPOSE A2.3 USING SYNAPTICAD SOFTWARE A2.4 MORE DIRECT METHOD A2.5 A VERY SIMPLE GUIDE TO USING THE LOGISIM SIMULATOR A2.6 USING FLIP‐FLOPS IN A CIRCUIT A2.7 EXAMPLE SINGLE‐PULSE FSM A2.8 HOW TO USE THE SIMULATOR TO SIMULATE THE SINGLE‐PULSE FSM A2.9 USING LOGISIM WITH THE TRUTH TABLE APPROACH A2.10 SUMMARY
17 Appendix A3: Counters, Shift Registers, Input, and Output with an FSM A3.1 BASIC DOWN SYNCHRONOUS BINARY COUNTER DEVELOPMENT A3.2 EXAMPLE OF A FOUR‐BIT SYNCHRONOUS UP COUNTER WITH T TYPE FLIP‐FLOPS A3.3 PARALLEL LOADING COUNTERS – USING T FLIP‐FLOPS A3.4 USING D FLIP‐FLOPS TO BUILD PARALLEL LOADING COUNTERS A3.5 SIMPLE BINARY UP COUNTER WITH PARALLEL INPUTS A3.6 CLOCK CIRCUIT TO DRIVE THE COUNTER (AND FSM) A3.7 COUNTER DESIGN USING DON’T CARE STATES A3.8 SHIFT REGISTERS A3.9 DEALING WITH INPUT AND OUTPUT SIGNALS USING FSM A3.10 USING LOGISIM TO WORK WITH LARGER FSM SYSTEMS A3.11 SUMMARY
18 Appendix A4: Finite State Machines Using Verilog Behavioural Mode A4.1 INTRODUCTION A4.2 THE SINGLE‐PULSE/MULTIPLE‐PULSE GENERATOR WITH MEMORY FSM A4.3 THE MEMORY TESTER FSM REVISITED A4.4 SUMMARY
19
Appendix A5: Programming a Finite State Machine
A5.1 INTRODUCTION
A5.2 THE PARALLEL LOADING COUNTER
A5.3 THE MULTIPLEXER
A5.4 THE MICRO INSTRUCTION
A5.5 THE MEMORY
A5.6 THE INSTRUCTION SET
A5.7 SIMPLE EXAMPLE: SINGLE‐PULSE FSM
A5.8