You are previewing Synthesis of Arithmetic Circuits: FPGA, ASIC and Embedded Systems.
O'Reilly logo
Synthesis of Arithmetic Circuits: FPGA, ASIC and Embedded Systems

Book Description

A new approach to the study of arithmetic circuits

In Synthesis of Arithmetic Circuits: FPGA, ASIC and Embedded Systems, the authors take a novel approach of presenting methods and examples for the synthesis of arithmetic circuits that better reflects the needs of today's computer system designers and engineers. Unlike other publications that limit discussion to arithmetic units for general-purpose computers, this text features a practical focus on embedded systems.

Following an introductory chapter, the publication is divided into two parts. The first part, Mathematical Aspects and Algorithms, includes mathematical background, number representation, addition and subtraction, multiplication, division, other arithmetic operations, and operations in finite fields. The second part, Synthesis of Arithmetic Circuits, includes hardware platforms, general principles of synthesis, adders and subtractors, multipliers, dividers, and other arithmetic primitives. In addition, the publication distinguishes itself with:

  • A separate treatment of algorithms and circuits-a more useful presentation for both software and hardware implementations

  • Complete executable and synthesizable VHDL models available on the book's companion Web site, allowing readers to generate synthesizable descriptions

  • Proposed FPGA implementation examples, namely synthesizable low-level VHDL models for the Spartan II and Virtex families

  • Two chapters dedicated to finite field operations

This publication is a must-have resource for students in computer science and embedded system designers, engineers, and researchers in the field of hardware and software computer system design and development.

An Instructor Support FTP site is available from the Wiley editorial department.

Note: The ebook version does not provide access to the companion files.

Table of Contents

  1. Cover Page
  2. Title Page
  3. Copyright
  4. Dedication
  5. CONTENTS
  6. PREFACE
  7. ABOUT THE AUTHORS
  8. CHAPTER 1: INTRODUCTION
    1. 1.1 NUMBER REPRESENTATION
    2. 1.2 ALGORITHMS
    3. 1.3 HARDWARE PLATFORMS
    4. 1.4 HARDWARE–SOFTWARE PARTITIONING
    5. 1.5 SOFTWARE GENERATION
    6. 1.6 SYNTHESIS
    7. 1.7 A FIRST EXAMPLE
    8. 1.8 BIBLIOGRAPHY
  9. CHAPTER 2: MATHEMATICAL BACKGROUND
    1. 2.1 NUMBER THEORY
    2. 2.2 ALGEBRA
    3. 2.3 FUNCTION APPROXIMATION
    4. 2.4 BIBLIOGRAPHY
  10. CHAPTER 3: NUMBER REPRESENTATION
    1. 3.1 NATURAL NUMBERS
    2. 3.2 INTEGERS
    3. 3.3 REAL NUMBERS
    4. 3.4 BIBLIOGRAPHY
  11. CHAPTER 4: ARITHMETIC OPERATIONS: ADDITION AND SUBTRACTION
    1. 4.1 ADDITION OF NATURAL NUMBERS
    2. 4.2 SUBTRACTION OF NATURAL NUMBERS
    3. 4.3 INTEGERS
    4. 4.4 BIBLIOGRAPHY
  12. CHAPTER 5: ARITHMETIC OPERATIONS: MULTIPLICATION
    1. 5.1 NATURAL NUMBERS MULTIPLICATION
    2. 5.2 INTEGERS
    3. 5.3 SQUARING
    4. 5.4 BIBLIOGRAPHY
  13. CHAPTER 6: ARITHMETIC OPERATIONS: DIVISION
    1. 6.1 NATURAL NUMBERS
    2. 6.2 INTEGERS
    3. 6.3 CONVERGENCE (FUNCTIONAL ITERATION) ALGORITHMS
    4. 6.4 BIBLIOGRAPHY
  14. CHAPTER 7: OTHER ARITHMETIC OPERATIONS
    1. 7.1 BASE CONVERSION
    2. 7.2 RESIDUE NUMBER SYSTEM CONVERSION
    3. 7.3 LOGARITHMIC, EXPONENTIAL, AND TRIGONOMETRIC FUNCTIONS
    4. 7.4 SQUARE ROOTING
    5. 7.5 BIBLIOGRAPHY
  15. CHAPTER 8: FINITE FIELD OPERATIONS
    1. 8.1 OPERATIONS IN Z m
    2. 8.2 OPERATIONS IN GF ( p )
    3. 8.3 OPERATIONS IN Z p [ x ]/ f ( x )
    4. 8.4 OPERATIONS IN GF ( p n )
    5. 8.5 BIBLIOGRAPHY
  16. CHAPTER 9: HARDWARE PLATFORMS
    1. 9.1 DESIGN METHODS FOR ELECTRONIC SYSTEMS
    2. 9.2 INSTRUCTION SET PROCESSORS
    3. 9.3 ASIC DESIGNS
    4. 9.4 PROGRAMMABLE LOGIC
    5. 9.5 HARDWARE DESCRIPTION LANGUAGES (HDLs)
    6. 9.6 FURTHER READINGS
    7. 9.7 BIBLIOGRAPHY
  17. CHAPTER 10: CIRCUIT SYNTHESIS: GENERAL PRINCIPLES
    1. 10.1 RESOURCES
    2. 10.2 PRECEDENCE RELATION AND SCHEDULING
    3. 10.3 PIPELINE
    4. 10.4 SELF-TIMED CIRCUITS
    5. 10.5 BIBLIOGRAPHY
  18. CHAPTER 11: ADDERS AND SUBTRACTORS
    1. 11.1 NATURAL NUMBERS
    2. 11.2 INTEGERS
    3. 11.3 BIBLIOGRAPHY
  19. CHAPTER 12: MULTIPLIERS
    1. 12.1 NATURAL NUMBERS
    2. 12.2 INTEGERS
    3. 12.3 BIBLIOGRAPHY
  20. CHAPTER 13: DIVIDERS
    1. 13.1 NATURAL NUMBERS
    2. 13.2 INTEGERS
    3. 13.3 BIBLIOGRAPHY
  21. CHAPTER 14: OTHER ARITHMETIC OPERATORS
    1. 14.1 BASE CONVERSION
    2. 14.2 POLYNOMIAL COMPUTATION CIRCUITS
    3. 14.3 LOGARITHM OPERATOR
    4. 14.4 EXPONENTIAL OPERATOR
    5. 14.5 SINE AND COSINE OPERATORS
    6. 14.6 SQUARE ROOTERS
    7. 14.7 BIBLIOGRAPHY
  22. CHAPTER 15: CIRCUITS FOR FINITE FIELD OPERATIONS
    1. 15.1 OPERATIONS IN Z m
    2. 15.2 INVERSION IN GF ( p )
    3. 15.3 OPERATIONS IN Z p [ x ]/ f ( x )
    4. 15.4 INVERSION IN GF ( p n )
    5. 15.5 BIBLIOGRAPHY
  23. CHAPTER 16: FLOATING-POINT UNIT
    1. 16.1 FLOATING-POINT SYSTEM DEFINITION
    2. 16.2 ARITHMETIC OPERATIONS
    3. 16.3 ROUNDING SCHEMES
    4. 16.4 GUARD DIGITS
    5. 16.5 ADDER-SUBTRACTOR
    6. 16.6 MULTIPLIER
    7. 16.7 DIVIDER
    8. 16.8 SQUARE ROOT
    9. 16.9 COMMENTS
    10. 16.10 BIBLIOGRAPHY
  24. INDEX