Details

FSM-based Digital Design using Verilog HDL


FSM-based Digital Design using Verilog HDL


1. Aufl.

von: Peter D. Minns, Ian Elliott

123,99 €

Verlag: Wiley
Format: PDF
Veröffentl.: 30.04.2008
ISBN/EAN: 9780470987612
Sprache: englisch
Anzahl Seiten: 408

DRM-geschütztes eBook, Sie benötigen z.B. Adobe Digital Editions und eine Adobe ID zum Lesen.

Beschreibungen

As digital circuit elements decrease in physical size, resulting in increasingly complex systems, a basic logic model that can be used in the control and design of a range of semiconductor devices is vital. Finite State Machines (FSM) have numerous advantages; they can be applied to many areas (including motor control, and signal and serial data identification to name a few) and they use less logic than their alternatives, leading to the development of faster digital hardware systems.  <p>This clear and logical book presents a range of novel techniques for the rapid and reliable design of digital systems using FSMs, detailing exactly how and where they can be implemented.   With a practical approach, it covers synchronous and asynchronous FSMs in the design of both simple and complex systems, and Petri-Net design techniques for sequential/parallel control systems. Chapters on Hardware Description Language cover the widely-used and powerful Verilog HDL in sufficient detail to facilitate the description and verification of FSMs, and FSM based systems, at both the gate and behavioural levels. </p> <p>Throughout, the text incorporates many real-world examples that demonstrate designs such as data acquisition, a memory tester, and passive serial data monitoring and detection, among others. A useful accompanying CD offers working Verilog software tools for the capture and simulation of design solutions. </p> <p>With a linear programmed learning format, this book works as a concise guide for the practising digital designer. This book will also be of importance to senior students and postgraduates of electronic engineering, who require design skills for the embedded systems market.</p>
<b>CHAPTER 1 - THE BASICS</b> <p>Introduction</p> <p>What is a Finite State Machine</p> <p>Number of States</p> <p>Number required for State Diagram - Frame 1.3</p> <p>Mealy FSM</p> <p>Moore FSM</p> <p>Class C FSM</p> <p>Introduction to the State Diagram – States, Transitions & Inputs</p> <p>Input Signals - Frames 1.8 to 1.9,</p> <p>Output Signals - Frame 1.9</p> <p>Inputs and Outputs of FSM</p> <p>Inverted Inputs - Frame 1.11</p> <p>Active High Signals - Frames 1.11</p> <p>Assignment - Frame 1.11</p> <p>Non-Unit Distance Coding - Frame 1.11</p> <p>Secondary State Variables</p> <p>Unit Distance Coding - Frame 1.12 to Frame 1.14.</p> <p>Active Low Signals - Frame 1.14</p> <p>Mealy Outputs - Frame 1.16, 1.19, 1.20, 1.21, from</p> <p>Effect of clock on Mealy output signals</p> <p>Summary - Frame 1.22</p> <p><b>CHAPTER 2 - CONTROLLING OUTSIDE WORLD DEVICES</b></p> <p>Introduction</p> <p>Using Timer to Introduce Wait States - Frame 2.1 to 2.3</p> <p>Analogue to Digital Converters - Frame 2.4</p> <p>Data Acquisition System - Frame 2.4, Frame 2.9 & Frame 2.10 from</p> <p>Memory:</p> <p>How to Control in FSM’s - Frame 2.5 to 2.10</p> <p>Chip Select & Read and Write Sequences</p> <p>Frames 2.5 to 2.7 - (See also Chapter 4, Section 4.4,</p> <p>Chapter 5, Sections 5.2, 5.3, 5.4, 5.6, 5.8.)</p> <p>Monitoring Inputs for Changes - Frame 2.11 to 2.14</p> <p>Dealing with Incorrect Input States - Frame 2.14</p> <p>Summary</p> <p><b>CHAPTER 3 - SYNTHESISING FSMS</b></p> <p>Introduction</p> <p>Synthesising using T Type Flip Flops - Frame 3.1 to 3.7</p> <p>T Type Flip Flop</p> <p>T Flip Flop Example in a State Diagram</p> <p>Developing T Flip Flop Equations from the State Diagram</p> <p>Examples of Developing T Equations from a Number of State Diagrams</p> <p>Solutions to the Examples</p> <p>D Type Flip Flops</p> <p>Developing D Flip Flop Equations from a State Diagram</p> <p>Rule 1: Dealing with 1 to 0 with Input Terms</p> <p>Rule 2: Dealing with 1 to 1 Transitions</p> <p>Rule 3: Dealing with two-way Branches</p> <p>Using the Two-way Branch Rule</p> <p>Examples of Obtaining D Flip Flop Equations from a State Diagram</p> <p>State Diagram with Two-way Branch States: Obtaining D Type Equations</p> <p>Resetting the Flip Flop</p> <p>Examples of Developing D Equations from a Number of State Diagrams</p> <p>Solutions to the Examples</p> <p>Asynchronous and Synchronous Resetting of Flip Flops</p> <p>Complete Design of Circuit for a Particular Design</p> <p>Dealing with Multi-way Branch States using D Type Flip Flops</p> <p>Dealing with Active Low Output Signals in an FSM</p> <p>Dealing with Active Low Mealy Output Signals in an FSM</p> <p>Summary</p> <p><b>CHAPTER 4 - SYNCHRONOUS FSM DESIGNS</b></p> <p>4.1 Traditional FSM Design Method Verses Method used in this Book</p> <p>4.2 Dealing with Unused States</p> <p>4.3 High/Low Alarm Indicator System</p> <p>4.4 Simple Waveform Generator</p> <p>4.5 Dice Game</p> <p>4.6 Binary Data Serial Transmitter</p> <p>4.7 Development of a Serial Asynchronous Receiver</p> <p>4.8 Adding Parity Detection to the Serial Receiver System</p> <p>4.9 Asynchronous Serial Transmitter System</p> <p>4.10 Clocked Watchdog Timer</p> <p>4.11 Summary</p> <p><b>CHAPTER 5 -ONE HOT DESIGNS</b></p> <p>5.1 One Hot Technique of FSM Design</p> <p>5.2 Data Acquisition System (DAS)</p> <p>5.3 A Shared Memory System</p> <p>5.4 Fast Waveform Synthesiser</p> <p>5.5 Controlling the FSM from a Microprocessor</p> <p>5.6 Memory Chip Tester</p> <p>5.7 Comparing One Hot Solution with more Conventional Design</p> <p>Method of Chapter 4</p> <p>5.8 Dynamic Memory Access (DMA) Controller</p> <p>5.9 How to Control the DMA Controller from a Microprocessor</p> <p>5.10 Detecting Binary Sequences using an FSM</p> <p>5.11 Summary</p> <p><b>CHAPTER 6 - INTRODUCTION TO VERILOG-HDL</b></p> <ol> <li>A Brief Background to HDLs</li> <li>Hardware Modelling with Verilog-HDL - the Module</li> <li>Modules within Modules : Creating Hierarchy</li> <li>Verilog-HDL Simulation : A Complete Example</li> <li>References and Further Reading</li> </ol> <p><b>CHAPTER 7 - ELEMENTS OF VERILOG-HDL</b></p> <ol> <li>Built-in Primitives and Types<br /> 7.1.1 Verilog Types<br /> 7.1.2 Verilog Logic and Numeric Values<br /> 7.1.3 Specifying Values<br /> 7.1.4 Verilog-HDL Primitive Gates</li> <li>Operators and Expressions</li> <li>Example Illustrating the use of Verilog-HDL Operators -<br /> Hamming Code Encoder</li> <li>References and Further Reading</li> </ol> <p><b>CHAPTER 8 - DESCRIBING COMBINATIONAL AND SEQUENTIAL LOGIC USING VERILOG=HDL</b></p> <ol> <li>The Data Flow Style of Description - Review of the<br /> Continuous Assignment</li> <li>The Behavioural Style of Description - The Sequential Block</li> <li>Assignments within Sequential Blocks : Blocking and<br /> Non-Blocking</li> <li>Describing Combinational Logic using a Sequential Block</li> <li>Describing Sequential Logic using a Sequential Block</li> <li>Describing Memories</li> <li>Describing Finite State Machines:<br /> Example 1 Chess Clock Controller FSM<br /> Example 2 Combinational Lock FSM with Automatic<br /> Lock Feature</li> <li>References and Further Reading</li> </ol> <p><b>CHAPTER 9 - ASYNCHRONOUS FSM DESIGN</b></p> <p>9.1 Introduction</p> <p>9.2 Development of Event Driven Logic</p> <p>9.3 Using the Sequential Equations to Synthesise an Event FSM</p> <p>9.3.1 Short Cut Rule</p> <p>9.4 Implementing the Design using Sum of Product as PLD</p> <p>9.5 Development of an Event Version of the Single Pulse Generator</p> <p>with Memory FSM</p> <p>9.6 Another event FSM design through to simulation</p> <p>9.7 The Hover Mower FSM</p> <p>9.8 An Example with a Transition Without any Input</p> <p>9.9 Unusual Example responding to a Microprocessor</p> <p>Address Location</p> <p>9.10 Example that uses a Mealy Output</p> <p>9.11 Example using a Relay Circuit</p> <p>9.12 Race Conditions in Event FSMs</p> <p>9.13 Wait State Generator for a Microprocessor System</p> <p>9.14 Development of an Asynchronous FSM to Control a Clothes</p> <p>Spin System</p> <p>9.15 Summary</p> <p><b>CHAPTER 10 - PETRI-NETS</b></p> <p>10.1 Introduction to Simple Petri-Nets</p> <p>10.2 Sequential Petri-Net Example, the Pump Spin Motor Problem</p> <p>10.3 Parallel Petri-Nets</p> <p>10.4 Synchronising Flow in a Parallel Petri-Net</p> <p>10.5 Using Enabling/Disabling Arcs to Synchronise Flow between</p> <p>Two Petri-Nets</p> <p>10.6 Example - Control of Shared Resource</p> <p>10.7 A Serial Receiver of Binary Data using a Petri-Net Controller</p> <p>10.8 Summary</p> <p><b>APPENDIX INDEX</b></p> <p><b>APPENDIX A1 - LOGIC GATES AND BOOLEAN ALGEBRA IN THE BOOK</b></p> <p>Introduction</p> <p>A1.1 Basic Gate Symbols used in the Book</p> <p>A1.2 Exclusive OR and Exclusive NOR Symbols</p> <p>A1.3 Laws of Boolean Algebra:</p> <p>A1.3.1 Basic OR Rules</p> <p>A1.3.2 Basic AND Rules</p> <p>A1.3.3 Associative Laws and Commutative Laws</p> <p>A1.3.4 Distributive Laws</p> <p>A1.3.5 Auxiliary Law - For Static 1 Hazard Removal</p> <p>A1.3.5.1 Proof of the Auxiliary Law</p> <p>A1.3.6 The Consensus Theorem</p> <p>A1.3.7 Effect of Signal Delay on Logic Gates</p> <p>A1.3.8 De-Morgans Theorem</p> <p>A1.4 Examples of Applying the Laws of Boolean Algebra</p> <p>A1.4.1 Converting AND-OR to NAND</p> <p>A1.4.2 Converting AND-OR to NOR</p> <p>A1.4.3 Logical Adjacency Rule</p> <p>A1.5 Summary</p> <p><b>APPENDIX A2 - COUNTING & SHIFTING CIRCUIT TECHNIQUES</b></p> <p>Introduction</p> <p>A2.1 Basic Up Down Synchronous Binary Counter Development</p> <p>A2.2 Example of a Four Bit Synchronous up Counter using T Flip Flops</p> <p>A2.3 Parallel Loading Counters</p> <p>A2.4 Using D Flip Flops to Build Parallel Loading Counters</p> <p>A2.5 Simple Binary Up Counter</p> <p>A2.6 Clock Circuit to Drive the Counter (and FSMs)</p> <p>A2.7 Counter Design using Don’t Cares</p> <p>A2.8 Shift Registers</p> <p>A2.9 Asynchronous Receiver Details for Section 4.7 Chapter 4</p> <p>A2.9.1 Eleven Bit Shift Register for the Asynchronous</p> <p>Receiver Module</p> <p>A2.9.2 Divide by Eleven Counter</p> <p>A2.9.3 Complete Simulation of the Asynchronous</p> <p>Receiver System</p> <p>A2.10 Summary</p> <p><b>APPENDIX A3 - TUTORIAL ON THE USE OF VERILOG HDL</b></p> <p><b>TO SIMULATE AN FSM DESIGN</b></p> <p>A3.1 Introduction</p> <p>A3.2 Single Pulse with Memory Synchronous FSM Design</p> <p>A3.2.1 Specification</p> <p>A3.2.2 Block Diagram</p> <p>A3.2.3 State Diagram</p> <p>A3.2.4 Equations from the State Diagram</p> <p>A3.2.5 Translation into a Verilog Description</p> <p>A3.3 Test Bench Module and its Purpose</p> <p>A3.4 Using the Verilogger Simulator</p> <p>A3.4.1 Output from the Simulator</p> <p>A3.5 Summary</p> <p><b>APPENDIX A4 - IMPLEMENTING STATE MACHINES USING VERILOG BEHAVIOURAL MODE</b></p> <p>A4.1 Introduction</p> <p>A4.2 Example 1- The Single Pulse with Memory FSM Revisited</p> <p>A4.3 The Memory Tester in Chapter 5, Section 5.6 Revisited</p> <p>A4.4 Summary</p>
<p><strong>Peter D. Minns, Northumbria University, School of Computing, Engineering, and Information Sciences, Newcastle Upon Tyne</strong><br />Dr Peter Minns has been at Northumbria University since 1984, now holding the position of Senior Lecturer in the School of Computing, Engineering and Information Sciences. He teaches courses on electrical circuit theory, electronics, programming and embedded system design to both undergraduates and post graduates, and is also involved in teaching company schemes in industry. Previous to this, he has worked for many years as a practising engineer specializing in both the telecommunications and embedded microprocessor fields. His current research interest is in the development of finite state machines (FSMs). <p><strong>Ian David Elliott, Northumbria University, School of Computing, Engineering, and Information Sciences, Newcastle Upon Tyne</strong><br />Ian Elliott has been a lecturer in further and higher education for over 20 years, currently holding the position of Senior Lecturer in the School of Computing, Engineering and Information Sciences, at Northumbria University. He has taught a wide range of subjects in the field of electronics, as well as working as a consultant in industry, carrying out research into integrated circuit testing. He now specializes in hardware description languages, specifically Verilog-HDL and Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL). He was one of the first academics to introduce the topic of hardware description languages into the curriculum.
As digital circuit elements decrease in physical size, resulting in increasingly complex systems, a basic logic model that can be used in the control and design of a range of semiconductor device is vital. finite State Machines (FSM) have numerous advantages; they can be applied to many areas (including motor control, and signal and serial data identification to name a few) and they use less logic that their alternatives, leading to the development of faster digital hardware systems. <p>This clear and logical book presents a range of novel techniques for the rapid and reliable design of digital system using FSMs, detailing exactly how and where they can be implemented. with a practical approach, it covers synchronous and asynchronous FSMs in the design of both simple and complex systems, and Petri-Net design techniques for sequential/parallel control systems. Chapters on Hardware Description language (HDL) cover the widely-used and powerful Verilog HDL in sufficient detail to facilitate the description and verification of FSMs, and FSM based systems, at both the gage and behavioural levels.</p> <p>throughout, the text incorporates many real-world examples that demonstrate designs such as data acquisition, a memory tester, and passive serial data monitoring and detection, among others. A useful accompanying CD offers working Verilog software tools for the capture and simulation of design solutions.</p> <p>With a linear programmed learning format, this book works as a concise guide for the practising digital designer. this book will also be of importance to senior students and postgraduates of electronic engineering, who require design skills for the embedded systems market.</p>

Diese Produkte könnten Sie auch interessieren:

Bandwidth Efficient Coding
Bandwidth Efficient Coding
von: John B. Anderson
EPUB ebook
114,99 €
Digital Communications with Emphasis on Data Modems
Digital Communications with Emphasis on Data Modems
von: Richard W. Middlestead
PDF ebook
171,99 €
Bandwidth Efficient Coding
Bandwidth Efficient Coding
von: John B. Anderson
PDF ebook
114,99 €