Contents

Preface

1 Digital Computer Basics

1.1 Data Encoding

1.1.1 Encoding Numbers

1.1.2 Code Conversions and More Codes

1.2 Algorithms and Algorithmic Notations

1.2.1 Functional Composition and the Data Flow

1.2.2 Composition by Cases and the Control Flow

1.2.3 Alternative Algorithms

1.3 Boolean Functions

1.3.1 Sets of Elementary Boolean Operations

1.3.2 Gate Complexity and Simplification of Boolean Algorithms

1.3.3 Combined and Universal Functions

1.4 Timing, Synchronization and Memory

1.4.1 Processing Time and Throughput of Composite Circuits

1.4.2 Serial and Parallel Processing

1.4.3 Synchronization

1.5 Aspects of System Design

1.5.1 Architectures for Digital Systems

1.5.2 Application Modeling

1.5.3 Design Metrics

1.6 Summary

Exercises

2 Hardware Elements

2.1 Transistors, Gates and Flip-Flops

2.1.1 Implementing Gates with Switches

2.1.2 Registers and Synchronization Signals

2.1.3 Power Consumption and Related Design Rules

2.1.4 Pulse Generation and Interfacing

2.2 Chip Technology

2.2.1 Memory Bus Interface

2.2.2 Semiconductor Memory Devices

2.2.3 Processors and Single-Chip Systems

2.2.4 Configurable Logic, FPGA

2.3 Chip Level and Circuit Board-Level Design

2.3.1 Chip Versus Board-Level Design

2.3.2 IP-Based Design

2.3.3 Configurable Boards and Interconnections

2.3.4 Testing

2.4 Summary

Exercises

3 Hardware Design Using VHDL

3.1 Hardware Design Languages

3.2 Entities and Signals

3.3 Functional Behavior of Building Blocks

3.4 Structural Architecture Definitions

3.5 Timing Behavior and Simulation

3.6 Test Benches

3.7 Synthesis Aspects

3.8 Summary

Exercises

4 Operations on Numbers

4.1 Single Bit Binary Adders and Multipliers

4.2 Fixed Point Add, Subtract, and Compare

4.3 Add and Subtract for Redundant Codes

4.4 Binary Multiplication

4.5 Sequential Adders, Multipliers and Multiply-Add Structures

4.6 Distributed Arithmetic

4.7 Division and Square Root

4.8 Floating Point Operations and Functions

4.9 Polynomial Arithmetic

4.10 Summary

Exercises

5 Sequential Control Circuits

5.1 Mealy and Moore Automata

5.2 Scheduling, Operand Selection and the Storage Automaton

5.3 Designing the Control Automaton

5.4 Sequencing with Counter and Shift Register Circuits

5.5 Implementing the Control Flow

5.6 Synchronization

5.7 Summary

Exercises

6 Sequential Processors

6.1 Designing for ALU Efficiency

6.1.1 Multifunction ALU Circuits

6.1.2 Pipelining

6.2 The Memory Subsystem

6.2.1 Pipelined Memory Accesses, Registers, and the Von Neumann Architecture

6.2.2 Instruction Set Architectures and Memory Requirements

6.2.3 Caches and Virtual Memory, Soft Caching

6.3 Simple Programmable Processor Designs

6.3.1 CPU1 – The Basic Control Function

6.3.2 CPU2 – An Efficient Processor for FPGA-based Systems

6.4 Interrupt Processing and Context Switching

6.5 Interfacing Techniques

6.5.1 Pipelining Input and Output

6.5.2 Parallel and Serial Interfaces, Counters and Timers

6.5.3 Input/Output Buses

6.5.4 Interfaces and Memory Expansion for the CPU2

6.6 Standard Processor Architectures

6.6.1 Evaluation of Processor Architectures

6.6.2 Micro Controllers

6.6.3 A High-Performance Processor Core for ASIC Designs

6.6.4 Super-Scalar and VLIW Processors

6.7 Summary

Exercises

7 System-Level Design

7.1 Scalable System Architectures

7.1.1 Architecture-Based Hardware Selection

7.1.2 Interfacing Component Processors

7.1.3 Architectures with Networking Building Blocks

7.2 Regular Processor Network Structures

7.3 Integrated Processor Networks

7.4 Static Application Mapping and Dynamic Resource Allocation

7.5 Resource Allocation on Crossbar Networks and FPGA Chips

7.6 Communicating Data and Control Information

7.7 The π-Nets Language for Heterogeneous Programmable Systems

7.7.1 Defining the Target System

7.7.2 Algorithms and Elementary Data Types

7.7.3 Application Processes and Communications

7.7.4 Configuration and Reconfiguration

7.7.5 Hardware Targets

7.7.6 Software Targets

7.7.7 Architectural Support for HLL Programming

7.8 Summary

Exercises

8 Digital Signal Processors

8.1 Digital Signal Processing

8.1.1 Analog-to-Digital Conversion

8.1.2 Signal Sampling

8.1.3 DSP System Structure

8.2 DSP Algorithms

8.2.1 FIR Filters

8.2.2 Fast Fourier Transform

8.2.3 Fast Convolution and Correlation

8.2.4 Building Blocks for DSP Algorithms

8.3 Integrated DSP Chips

8.4 Integer DSP Chips – Integrated Processors for FIR Filtering

8.4.1 The ADSP21xx Family

8.4.2 The TMS320C54x Family

8.4.3 Dual MAC Architectures

8.5 Floating Point Processors

8.5.1 The Sharc Family

8.5.2 The TMS320C67xx Family

8.6 DSP on FPGA

8.7 Applications to Underwater Sound

8.7.1 Echo Sounder Design

8.7.2 Beam Forming

8.7.3 Passive Sonar

8.8 Summary

Exercises

References

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.54.133