Skip to:Content
|
Bottom
Cover image for Reconfigurable computing : accelerating computation with field-programmable gate arrays
Title:
Reconfigurable computing : accelerating computation with field-programmable gate arrays
Personal Author:
Publication Information:
Dordrecht : Springer, 2005
ISBN:
9780387261058
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010099248 QA76.9.A3 G64 2005 Open Access Book Book
Searching...

On Order

Summary

Summary

A one-of-a-kind survey of the field of Reconfigurable Computing

Gives a comprehensive introduction to a discipline that offers a 10X-100X acceleration of algorithms over microprocessors

Discusses the impact of reconfigurable hardware on a wide range of applications: signal and image processing, network security, bioinformatics, and supercomputing

Includes the history of the field as well as recent advances

Includes an extensive bibliography of primary sources


Table of Contents

1 An Introduction to Reconfigurable Computingp. 1
1.1 What is RC?p. 1
1.2 RC Architecturesp. 3
1.3 How did RC originate?p. 4
1.4 Inside the FPGAp. 6
1.5 Mapping Algorithms to Hardwarep. 7
1.6 RC Applicationsp. 8
1.7 Example: Dot Productp. 9
1.8 Further Readingp. 10
2 Reconfigurable Logic Devicesp. 11
2.1 Field-Programmable Gate Arraysp. 12
2.1.1 Basic Architecturep. 12
2.1.2 Specialized Function Blocksp. 22
2.1.3 Programming Architecturep. 26
2.2 Coarse-Grained Reconfigurable Arraysp. 28
2.2.1 Rawp. 29
2.2.2 PipeRenchp. 30
2.2.3 RaPiDp. 32
2.2.4 PACT XPPp. 33
2.2.5 MathStarp. 35
2.3 Summaryp. 36
3 Reconfigurable Computing Systemsp. 37
3.1 Parallel Processing on Reconfigurable Computersp. 37
3.1.1 Instruction Level Parallelismp. 37
3.1.2 Task Level Parallelismp. 39
3.2 A Survey of Reconfigurable Computing Systemsp. 41
3.2.1 I/O Bus Acceleratorp. 43
3.2.2 Massively Parallel FPGA arrayp. 45
3.2.3 Reconfigurable Supercomputerp. 45
3.2.4 Reconfigurable Logic Co-processorp. 47
3.3 Summaryp. 49
4 Language and Compilationp. 51
4.1 Design Cyclep. 51
4.2 Languagesp. 54
4.2.1 Algorithmic RC Languagesp. 55
4.2.2 Hardware Description Languages (HDL)p. 57
4.3 High Level Compilationp. 60
4.3.1 Compiler Phasesp. 65
4.3.2 Analysis and Optimizationsp. 66
4.3.3 Schedulingp. 67
4.4 Low Level Design Flowp. 68
4.4.1 Logic Synthesisp. 69
4.4.2 Technology Mappingp. 70
4.4.3 Logic Placementp. 71
4.4.4 Signal Routingp. 72
4.4.5 Configuration Bitstreamsp. 73
4.5 Debugging Reconfigurable Computing Applicationsp. 74
4.5.1 Basic Needs for Debuggingp. 74
4.5.2 Debugging Facilitiesp. 75
4.5.3 Challenges for RC Application Debuggingp. 84
4.6 Summaryp. 85
5 Signal Processing Applicationsp. 87
5.1 What is Digital Signal Processing?p. 87
5.2 Why Use Reconfigurable Computing for DSP?p. 89
5.2.1 Reconfigurable Computing's Suitability for DSPp. 89
5.2.2 Comparing DSP Implementation Technologiesp. 92
5.3 DSP Application Building Blocksp. 96
5.3.1 Basic Operations and Elementsp. 97
5.3.2 Filteringp. 102
5.3.3 Transformsp. 103
5.4 Example DSP Applicationsp. 108
5.4.1 Beamformingp. 108
5.4.2 Software Radiop. 112
5.5 Summaryp. 117
6 Image Processingp. 119
6.1 RC for Image and Video Processingp. 119
6.2 Local Neighborhood Functionsp. 121
6.2.1 Cellular Arrays for Pixel Parallelismp. 123
6.2.2 Image Pipelines for Instruction-Level Parallelismp. 123
6.3 Convolutionp. 124
6.4 Morphologyp. 125
6.5 Feature Extractionp. 127
6.6 Automatic Target Recognitionp. 129
6.7 Image Matchingp. 131
6.8 Evolutionary Image Processingp. 134
6.9 Summaryp. 139
7 Network Securityp. 141
7.1 Cryptographic Applicationsp. 141
7.1.1 Cryptography Basicsp. 142
7.1.2 RC Cryptographic Algorithm Implementationsp. 146
7.2 Network Protocol Securityp. 148
7.2.1 RC Network Interfacep. 148
7.2.2 Security Protocolsp. 151
7.2.3 Network Defensep. 152
7.3 Summaryp. 155
8 Bioinformatics Applicationsp. 157
8.1 Introductionp. 157
8.2 Applicationsp. 159
8.2.1 Genome Assemblyp. 159
8.2.2 Content-Based Searchp. 160
8.2.3 Genome Comparisonp. 160
8.2.4 Molecular Phylogenyp. 161
8.2.5 Pattern Matchingp. 161
8.2.6 Protein Domain Databasesp. 162
8.3 Dynamic Programming Algorithmsp. 163
8.3.1 Alignmentsp. 163
8.3.2 Dynamic Programming Equationsp. 164
8.3.3 Gap Functionsp. 166
8.3.4 Systolic DP Computationp. 166
8.3.5 Backtrackingp. 167
8.3.6 Modulo Encodingp. 169
8.3.7 FPGA Implementationsp. 170
8.4 Seed-Based Heuristicsp. 170
8.4.1 Filtering, Heuristics, and Quality Valuesp. 171
8.4.2 BLAST : a 3-Stages Heuristicp. 171
8.4.3 Seed Indexingp. 172
8.4.4 FPGA Implementationsp. 174
8.5 Profiles, HMMs and Language Modelsp. 174
8.5.1 Position-Dependent Profilesp. 174
8.5.2 Hidden Markov Modelsp. 175
8.5.3 Language Modelsp. 176
8.6 Bioinformatics FPGA Acceleratorsp. 177
8.6.1 Splashp. 178
8.6.2 Perlep. 178
8.6.3 GenStormp. 178
8.6.4 RDiskp. 178
8.6.5 BioXL/Hp. 181
8.6.6 DeCypherp. 181
8.7 Summaryp. 181
9 Supercomputing Applicationsp. 183
9.1 Introductionp. 183
9.2 Monte Carlo Simulation of Radiative Heat Transferp. 184
9.2.1 Algorithm Descriptionp. 185
9.2.2 Hardware Implementationp. 187
9.2.3 Performancep. 188
9.3 Urban Road Traffic Simulationp. 192
9.3.1 CA Traffic Modelingp. 193
9.3.2 Intersections and Global Behaviorp. 194
9.3.3 Constructive Approachp. 196
9.3.4 Streaming Approachp. 198
9.4 Summaryp. 202
Referencesp. 205
Indexp. 233
Go to:Top of Page