You are previewing Synchronization and Arbitration in Digital Systems.
O'Reilly logo
Synchronization and Arbitration in Digital Systems

Book Description

Today's networks of processors on and off chip, operating with independent clocks, need effective synchronization of the data passing between them for reliability. When two or more processors request access to a common resource, such as a memory, an arbiter has to decide which request to deal with first. Current developments in integrated circuit processing are leading to an increase in the numbers of independent digital processing elements in a single system. With this comes faster communications, more networks on chip, and the demand for more reliable, more complex, and higher performance synchronizers and arbiters. Written by one of the foremost researchers in this area of digital design, this authoritative text provides in-depth theory and practical design solutions for the reliable working of synchronization and arbitration hardware in digital systems.

The book provides methods for making real reliability measurements both on and off chip, evaluating some of the common difficulties and detailing circuit solutions at both circuit and system levels. Synchronization and Arbitration in Digital Systems also presents:

  • mathematical models used to estimate mean time between failures in digital systems;

  • a summary of serial and parallel communication techniques for on-chip data transmission;

  • explanations on how to design a wrapper for a locally synchronous cell, highlighting the issues associated with stoppable clocks;

  • an examination of various types of priority arbiters, using signal transition graphs to show the specification of different designs (from the simplest to more complex multi-way arbiters) including ways of solving problems encountered in a wide range of applications;

  • essential information on systems composed of independently timed regions, including a discussion on the problem of choice and the factors affecting the time taken to make choices in electronics.

With its logical approach to design methodology, this will prove an invaluable guide for electronic and computer engineers and researchers working on the design of digital electronic hardware. Postgraduates and senior undergraduate students studying digital systems design as part of their electronic engineering course will struggle to find a resource that better details the information given inside this book

Table of Contents

  1. Cover Page
  2. Title Page
  3. Copyright
  4. Contents
  5. Preface
  6. List of Contributors
  7. Acknowledgements
  8. Chapter 1: Synchronization, Arbitration and Choice
    1. 1.1 INTRODUCTION
    2. 1.2 THE PROBLEM OF CHOICE
    3. 1.3 CHOICE IN ELECTRONICS
    4. 1.4 ARBITRATION
    5. 1.5 CONTINUOUS AND DISCRETE QUANTITIES
    6. 1.6 TIMING
    7. 1.7 BOOK STRUCTURE
  9. Part I
    1. Chapter 2: Modelling Metastability
      1. 2.1 THE SYNCHRONIZER
      2. 2.2 LATCH MODEL
      3. 2.3 FAILURE RATES
      4. 2.4 LATCHES AND FLIP-FLOPS
      5. 2.5 CLOCK BACK EDGE
    2. Chapter 3: Circuits
      1. 3.1 LATCHES AND METASTABILITY FILTERS
      2. 3.2 EFFECTS OF FILTERING
      3. 3.3 THE JAMB LATCH
      4. 3.4 LOW COUPLING LATCH
      5. 3.5 THE Q-FLOP
      6. 3.6 THE MUTEX
      7. 3.7 ROBUST SYNCHRONIZER
      8. 3.8 THE TRI-FLOP
    3. Chapter 4: Noise and its Effects
      1. 4.1 NOISE
      2. 4.2 EFFECT OF NOISE ON A SYNCHRONIZER
      3. 4.3 MALICIOUS INPUTS
    4. Chapter 5: Metastability Measurements
      1. 5.1 CIRCUIT SIMULATION
      2. 5.2 SYNCHRONIZER FLIP-FLOP TESTING
      3. 5.3 RISING AND FALLING EDGES
      4. 5.4 DELAY-BASED MEASUREMENT
      5. 5.5 DEEP METASTABILITY
      6. 5.6 BACK EDGE MEASUREMENT
      7. 5.7 MEASURE AND SELECT
    5. Chapter 6: Conclusions Part I
  10. Part II
    1. Chapter 7: Synchronizers in Systems
      1. 7.1 LATENCY AND THROUGHPUT
      2. 7.2 FIFO SYNCHRONIZER
      3. 7.3 AVOIDING SYNCHRONIZATION
      4. 7.4 PREDICTIVE SYNCHRONIZERS
      5. 7.5 OTHER LOW-LATENCY SYNCHRONIZERS
      6. 7.6 ASYNCHRONOUS COMMUNICATION MECHANISMS (ACM)
      7. 7.7 SOME COMMON SYNCHRONIZER DESIGN ISSUES
    2. Chapter 8: Networks and Interconnects
      1. 8.1 COMMUNICATION ON CHIP
      2. 8.2 INTERCONNECT LINKS
      3. 8.3 SERIAL LINKS
      4. 8.4 DIFFERENTIAL SIGNALLING
      5. 8.5 PARALLEL LINKS
      6. 8.6 PARALLEL SERIAL LINKS
    3. Chapter 9: Pausible and Stoppable Clocks in GALS
      1. 9.1 GALS CLOCK GENERATORS
      2. 9.2 CLOCK TREE DELAYS
      3. 9.3 A GALS WRAPPER
    4. Chapter 10: Conclusions Part II
  11. Part III
    1. Chapter 11: Arbitration
      1. 11.1 INTRODUCTION
      2. 11.2 ARBITER DEFINITION
      3. 11.3 ARBITER APPLICATIONS, RESOURCE ALLOCATION POLICIES AND COMMON ARCHITECTURES
      4. 11.4 SIGNAL TRANSITION GRAPHS, OUR MAIN MODELLING LANGUAGE
    2. Chapter 12: Simple Two-way Arbiters
      1. 12.1 BASIC CONCEPTS AND CONVENTIONS
      2. 12.2 SIMPLE ARBITRATION BETWEEN TWO ASYNCHRONOUS REQUESTS
      3. 12.3 SAMPLING THE LOGIC LEVEL OF AN ASYNCHRONOUS REQUEST
      4. 12.4 SUMMARY OF TWO-WAY ARBITERS
    3. Chapter 13: Multi-way Arbiters
      1. 13.1 MULTI-WAY MUTEX USING A MESH
      2. 13.2 CASCADED TREE ARBITERS
      3. 13.3 RING-BASED ARBITERS
    4. Chapter 14: Priority Arbiters
      1. 14.1 INTRODUCTION
      2. 14.2 PRIORITY DISCIPLINE
      3. 14.3 DAISY-CHAIN ARBITER
      4. 14.4 ORDERED ARBITER
      5. 14.5 CANONICAL STRUCTURE OF PRIORITY ARBITERS
      6. 14.6 STATIC PRIORITY ARBITER
      7. 14.7 DYNAMIC PRIORITY ARBITER
    5. Chapter 15: Conclusions Part III
  12. References
  13. Index