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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.