Wiley.com
Print this page Share

FSM-based Digital Design using Verilog HDL

ISBN: 978-0-470-06070-4
Hardcover
408 pages
April 2008
List Price: US $176.75
Government Price: US $122.20
Enter Quantity:   Buy
FSM-based Digital Design using Verilog HDL (0470060700) cover image

CHAPTER 1 - THE BASICS

Introduction

What is a Finite State Machine

Number of States

Number required for State Diagram - Frame 1.3

Mealy FSM

Moore FSM

Class C FSM

Introduction to the State Diagram – States, Transitions & Inputs

Input Signals - Frames 1.8 to 1.9,

Output Signals - Frame 1.9

Inputs and Outputs of FSM

Inverted Inputs - Frame 1.11

Active High Signals - Frames 1.11

Assignment - Frame 1.11

Non-Unit Distance Coding - Frame 1.11

Secondary State Variables

Unit Distance Coding - Frame 1.12 to Frame 1.14.

Active Low Signals - Frame 1.14

Mealy Outputs - Frame 1.16, 1.19, 1.20, 1.21, from

Effect of clock on Mealy output signals

Summary - Frame 1.22

CHAPTER 2 - CONTROLLING OUTSIDE WORLD DEVICES

Introduction

Using Timer to Introduce Wait States - Frame 2.1 to 2.3

Analogue to Digital Converters - Frame 2.4

Data Acquisition System - Frame 2.4, Frame 2.9 & Frame 2.10 from

Memory:

How to Control in FSM’s - Frame 2.5 to 2.10

Chip Select & Read and Write Sequences

Frames 2.5 to 2.7 - (See also Chapter 4, Section 4.4,

Chapter 5, Sections 5.2, 5.3, 5.4, 5.6, 5.8.)

Monitoring Inputs for Changes - Frame 2.11 to 2.14

Dealing with Incorrect Input States - Frame 2.14

Summary

CHAPTER 3 - SYNTHESISING FSMS

Introduction

Synthesising using T Type Flip Flops - Frame 3.1 to 3.7

T Type Flip Flop

T Flip Flop Example in a State Diagram

Developing T Flip Flop Equations from the State Diagram

Examples of Developing T Equations from a Number of State Diagrams

Solutions to the Examples

D Type Flip Flops

Developing D Flip Flop Equations from a State Diagram

Rule 1: Dealing with 1 to 0 with Input Terms

Rule 2: Dealing with 1 to 1 Transitions

Rule 3: Dealing with two-way Branches

Using the Two-way Branch Rule

Examples of Obtaining D Flip Flop Equations from a State Diagram

State Diagram with Two-way Branch States: Obtaining D Type Equations

Resetting the Flip Flop

Examples of Developing D Equations from a Number of State Diagrams

Solutions to the Examples

Asynchronous and Synchronous Resetting of Flip Flops

Complete Design of Circuit for a Particular Design

Dealing with Multi-way Branch States using D Type Flip Flops

Dealing with Active Low Output Signals in an FSM

Dealing with Active Low Mealy Output Signals in an FSM

Summary

CHAPTER 4 - SYNCHRONOUS FSM DESIGNS

4.1 Traditional FSM Design Method Verses Method used in this Book

4.2 Dealing with Unused States

4.3 High/Low Alarm Indicator System

4.4 Simple Waveform Generator

4.5 Dice Game

4.6 Binary Data Serial Transmitter

4.7 Development of a Serial Asynchronous Receiver

4.8 Adding Parity Detection to the Serial Receiver System

4.9 Asynchronous Serial Transmitter System

4.10 Clocked Watchdog Timer

4.11 Summary

CHAPTER 5 -ONE HOT DESIGNS

5.1 One Hot Technique of FSM Design

5.2 Data Acquisition System (DAS)

5.3 A Shared Memory System

5.4 Fast Waveform Synthesiser

5.5 Controlling the FSM from a Microprocessor

5.6 Memory Chip Tester

5.7 Comparing One Hot Solution with more Conventional Design

Method of Chapter 4

5.8 Dynamic Memory Access (DMA) Controller

5.9 How to Control the DMA Controller from a Microprocessor

5.10 Detecting Binary Sequences using an FSM

5.11 Summary

CHAPTER 6 - INTRODUCTION TO VERILOG-HDL

  1. A Brief Background to HDLs
  2. Hardware Modelling with Verilog-HDL - the Module
  3. Modules within Modules : Creating Hierarchy
  4. Verilog-HDL Simulation : A Complete Example
  5. References and Further Reading

CHAPTER 7 - ELEMENTS OF VERILOG-HDL

  1. Built-in Primitives and Types
    7.1.1 Verilog Types
    7.1.2 Verilog Logic and Numeric Values
    7.1.3 Specifying Values
    7.1.4 Verilog-HDL Primitive Gates
  2. Operators and Expressions
  3. Example Illustrating the use of Verilog-HDL Operators -
    Hamming Code Encoder
  4. References and Further Reading

CHAPTER 8 - DESCRIBING COMBINATIONAL AND SEQUENTIAL LOGIC USING VERILOG=HDL

  1. The Data Flow Style of Description - Review of the
    Continuous Assignment
  2. The Behavioural Style of Description - The Sequential Block
  3. Assignments within Sequential Blocks : Blocking and
    Non-Blocking
  4. Describing Combinational Logic using a Sequential Block
  5. Describing Sequential Logic using a Sequential Block
  6. Describing Memories
  7. Describing Finite State Machines:
    Example 1 Chess Clock Controller FSM
    Example 2 Combinational Lock FSM with Automatic
    Lock Feature
  8. References and Further Reading

CHAPTER 9 - ASYNCHRONOUS FSM DESIGN

9.1 Introduction

9.2 Development of Event Driven Logic

9.3 Using the Sequential Equations to Synthesise an Event FSM

9.3.1 Short Cut Rule

9.4 Implementing the Design using Sum of Product as PLD

9.5 Development of an Event Version of the Single Pulse Generator

with Memory FSM

9.6 Another event FSM design through to simulation

9.7 The Hover Mower FSM

9.8 An Example with a Transition Without any Input

9.9 Unusual Example responding to a Microprocessor

Address Location

9.10 Example that uses a Mealy Output

9.11 Example using a Relay Circuit

9.12 Race Conditions in Event FSMs

9.13 Wait State Generator for a Microprocessor System

9.14 Development of an Asynchronous FSM to Control a Clothes

Spin System

9.15 Summary

CHAPTER 10 - PETRI-NETS

10.1 Introduction to Simple Petri-Nets

10.2 Sequential Petri-Net Example, the Pump Spin Motor Problem

10.3 Parallel Petri-Nets

10.4 Synchronising Flow in a Parallel Petri-Net

10.5 Using Enabling/Disabling Arcs to Synchronise Flow between

Two Petri-Nets

10.6 Example - Control of Shared Resource

10.7 A Serial Receiver of Binary Data using a Petri-Net Controller

10.8 Summary

APPENDIX INDEX

APPENDIX A1 - LOGIC GATES AND BOOLEAN ALGEBRA IN THE BOOK

Introduction

A1.1 Basic Gate Symbols used in the Book

A1.2 Exclusive OR and Exclusive NOR Symbols

A1.3 Laws of Boolean Algebra:

A1.3.1 Basic OR Rules

A1.3.2 Basic AND Rules

A1.3.3 Associative Laws and Commutative Laws

A1.3.4 Distributive Laws

A1.3.5 Auxiliary Law - For Static 1 Hazard Removal

A1.3.5.1 Proof of the Auxiliary Law

A1.3.6 The Consensus Theorem

A1.3.7 Effect of Signal Delay on Logic Gates

A1.3.8 De-Morgans Theorem

A1.4 Examples of Applying the Laws of Boolean Algebra

A1.4.1 Converting AND-OR to NAND

A1.4.2 Converting AND-OR to NOR

A1.4.3 Logical Adjacency Rule

A1.5 Summary

APPENDIX A2 - COUNTING & SHIFTING CIRCUIT TECHNIQUES

Introduction

A2.1 Basic Up Down Synchronous Binary Counter Development

A2.2 Example of a Four Bit Synchronous up Counter using T Flip Flops

A2.3 Parallel Loading Counters

A2.4 Using D Flip Flops to Build Parallel Loading Counters

A2.5 Simple Binary Up Counter

A2.6 Clock Circuit to Drive the Counter (and FSMs)

A2.7 Counter Design using Don’t Cares

A2.8 Shift Registers

A2.9 Asynchronous Receiver Details for Section 4.7 Chapter 4

A2.9.1 Eleven Bit Shift Register for the Asynchronous

Receiver Module

A2.9.2 Divide by Eleven Counter

A2.9.3 Complete Simulation of the Asynchronous

Receiver System

A2.10 Summary

APPENDIX A3 - TUTORIAL ON THE USE OF VERILOG HDL

TO SIMULATE AN FSM DESIGN

A3.1 Introduction

A3.2 Single Pulse with Memory Synchronous FSM Design

A3.2.1 Specification

A3.2.2 Block Diagram

A3.2.3 State Diagram

A3.2.4 Equations from the State Diagram

A3.2.5 Translation into a Verilog Description

A3.3 Test Bench Module and its Purpose

A3.4 Using the Verilogger Simulator

A3.4.1 Output from the Simulator

A3.5 Summary

APPENDIX A4 - IMPLEMENTING STATE MACHINES USING VERILOG BEHAVIOURAL MODE

A4.1 Introduction

A4.2 Example 1- The Single Pulse with Memory FSM Revisited

A4.3 The Memory Tester in Chapter 5, Section 5.6 Revisited

A4.4 Summary

Related Titles

General Circuit Theory & Design

by Ban P. Wong, Anurag Mittal, Greg W. Starr, Franz Zach, Victor Moroz, Andrew Kahng
by William F. Egan
by Richard C. Li
by Brent Keeth, R. Jacob Baker, Brian Johnson, Feng Lin
Back to Top