CONTENTS

Preface

About the Authors

1 Introduction

1.1 Number Representation

1.2 Algorithms

1.3 Hardware Platforms

1.4 Hardware–Software Partitioning

1.5 Software Generation

1.6 Synthesis

1.7 A First Example

1.7.1 Specification

1.7.2 Number Representation

1.7.3 Algorithms

1.7.4 Hardware Platform

1.7.5 Hardware–Software Partitioning

1.7.6 Program Generation

1.7.7 Synthesis

1.7.8 Prototype

1.8 Bibliography

2 Mathematical Background

2.1 Number Theory

2.1.1 Basic Definitions

2.1.2 Euclidean Algorithms

2.1.3 Congruences

2.2 Algebra

2.2.1 Groups

2.2.2 Rings

2.2.3 Fields

2.2.4 Polynomial Rings

2.2.5 Congruences of Polynomial

2.3 Function Approximation

2.4 Bibliography

3 Number Representation

3.1 Natural Numbers

3.1.1 Weighted Systems

3.1.2 Residue Number System

3.2 Integers

3.2.1 Sign-Magnitude Representation

3.2.2 Excess-E Representation

3.2.3 B's Complement Representation

3.2.4 Booth's Encoding

3.3 Real Numbers

3.4 Bibliography

4 Arithmetic Operations: Addition and Subtraction

4.1 Addition of Natural Numbers

4.1.1 Basic Algorithm

4.1.2 Faster Algorithms

4.1.3 Long-Operand Addition

4.1.4 Multioperand Addition

4.1.5 Long-Multioperand Addition

4.2 Subtraction of Natural Numbers

4.3 Integers

4.3.1 B's Complement Addition

4.3.2 B's Complement Sign Change

4.3.3 B's Complement Subtraction

4.3.4 B's Complement Overflow Detection

4.3.5 Excess-E Addition and Subtraction

4.3.6 Sign–Magnitude Addition and Subtraction

4.4 Bibliography

5 Arithmetic Operations: Multiplication

5.1 Natural Numbers Multiplication ...

Get Synthesis of Arithmetic Circuits: FPGA, ASIC and Embedded Systems now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.