資料介紹
Copyright
Prentice Hall Modern Semiconductor Design Series
Foreword
Why is this book of interest to the hardware folks?
And what about the software guys and gals?
So what's the catch?
Preface
C Language for FPGA-Based Hardware Design?
Compelling Platforms for Software Acceleration
The Power to Experiment
How This Book Is Organized
Where This Book Came From
Acknowledgments
Chapter 1. The FPGA as a Computing Platform
Section 1.1. A Quick Introduction to FPGAs
Section 1.2. FPGA-Based Programmable Hardware Platforms
Section 1.3. Increasing Performance While Lowering Costs
Section 1.4. The Role of Tools
Section 1.5. The FPGA as an Embedded Software Platform
Section 1.6. The Importance of a Programming Abstraction
Section 1.7. When Is C Language Appropriate for FPGA Design?
Section 1.8. How to Use This Book
Chapter 2. A Brief History of Programmable Platforms
Section 2.1. The Origins of Programmable Logic
Section 2.2. Reprogrammability, HDLs, and the Rise of the FPGA
Section 2.3. Systems on a Programmable Chip
Section 2.4. FPGAs for Parallel Computing
Section 2.5. Summary
Chapter 3. A Programming Model for FPGA-Based Applications
Section 3.1. Parallel Processing Models
Section 3.2. FPGAs as Parallel Computing Machines
Section 3.3. Programming for Parallelism
Section 3.4. Communicating Process Programming Models
Section 3.5. The Impulse C Programming Model
Section 3.6. Summary
Chapter 4. An Introduction to Impulse C
Section 4.1. The Motivation Behind Impulse C
Section 4.2. The Impulse C Programming Model
Section 4.3. A Minimal Impulse C Program
Section 4.4. Processes Streams Signals, and Memory
Section 4.5. Impulse C Signed and Unsigned Datatypes
Section 4.6. Understanding Processes
Section 4.7. Understanding Streams
Section 4.8. Using Output Streams
Section 4.9. Using Input Streams
Section 4.10. Avoiding Stream Deadlocks
Section 4.11. Creading and Using Signals
Section 4.12. Understanting Registers
Section 4.13. Using Shared Memories
Section 4.14. Memory and Stream Performance Considerations
Section 4.15. Summary
Chapter 5. Describing a FIR Filter
Section 5.1. Design Overview
Section 5.2. The FIR Filter Hardware Process
Section 5.3. The Software Test Bench
Section 5.4. Desktop Simulation
Section 5.5. Application Monitoring
Section 5.6. Summary
Chapter 6. Generating FPGA Hardware
Section 6.1. The Hardware Generation Flow
Section 6.2. Understanding the Generated Structure
Section 6.3. Stream and Signal Interfaces
Section 6.4. Using HDL Simulation to Understand Stream Protocols
Section 6.5. Debugging the Generated Hardware
Section 6.6. Hardware Generation Notes
Section 6.7. Making Efficient Use of the Optimizers
Section 6.8. Language Constraints for Hardware Processes
Section 6.9. Summary
Chapter 7. Increasing Statement-Level Parallelism
Section 7.1. A Model of FPGA Computation
Section 7.2. C Language Semantics and Parallelism
Section 7.3. Exploiting Instruction-Level Parallelism
Section 7.4. Limiting Instruction Stages
Section 7.5. Unrolling Loops
Section 7.6. Pipelining Explained
Section 7.7. Summary
Chapter 8. Porting a Legacy Application to Impulse C
Section 8.1. The Triple-DES Algorithm
Section 8.2. Converting the Algorithm to a Streaming Model
Section 8.3. Performing Software Simulation
Section 8.4. Compiling To Hardware
Section 8.5. Preliminary Hardware Analysis
Section 8.6. Summary
Chapter 9. Creating an Embedded Test Bench
Section 9.1. A Mixed Hardware and Software Approach
Section 9.2. The Embedded Processor as a Test Generator
Section 9.3. The Role of Hardware Simulators
Section 9.4. Testing the Triple-DES Algorithm in Hardware
Section 9.5. Software Stream Macro Interfaces
Section 9.6. Building the Test System
Section 9.7. Summary
Chapter 10. Optimizing C for FPGA Performance
Section 10.1. Rethinking an Algorithm for Performance
Section 10.2. Refinement 1: Reducing Size by Introducing a Loop
Section 10.3. Refinement 2: Array Splitting
Section 10.4. Refinement 3: Improving Streaming Performance
Section 10.5. Refinement 4: Loop Unrolling
Section 10.6. Refinement 5: Pipelining the Main Loop
Section 10.7. Summary
Chapter 11. Describing System-Level Parallelism
Section 11.1. Design Overview
Section 11.2. Performing Desktop Simulation
Section 11.3. Refinement 1: Creating Parallel 8-Bit Filters
Section 11.4. Refinement 2: Creating a System-Level Pipeline
Section 11.5. Moving the Application to Hardware
Section 11.6. Summary
Chapter 12. Combining Impulse C with an Embedded Operating System
Section 12.1. The uClinux Operating System
Section 12.2. A uClinux Demonstration Project
Section 12.3. Summary
Chapter 13. Mandelbrot Image Generation
Section 13.1. Design Overview
Section 13.2. Expressing the Algorithm in C
Section 13.3. Creating a Fixed-Point Equivalent
Section 13.4. Creating a Streaming Version
Section 13.5. Parallelizing the Algorithm
Section 13.6. Future Refinements
Section 13.7. Summary
Chapter 14. The Future of FPGA Computing
Section 14.1. The FPGA as a High-Performance Computer
Section 14.2. The Future of FPGA Computing
Section 14.3. Summary
Appendix A. Getting the Most Out of Embedded FPGA Processors
Section A.1. FPGA Embedded Processor Overview
Section A.2. Peripherals and Memory Controllers
Section A.3. Increasing Processor Performance
Section A.4. Optimization Techniques That Are Not FPGA-Specific
Section A.5. FPGA-Specific Optimization Techniques
Section A.6. Summary
Appendix B. Creating a Custom Stream Interface
Section B.1. Application Overview
Section B.2. The DS92LV16 Serial Link for Data Streaming
Section B.3. Stream Interface State Machine Description
Section B.4. Data Transmission
Section B.5. Summary
Appendix C. Impulse C Function Reference
CO_ARCHITECTURE_CREATE
CO_BIT_EXTRACT
CO_BIT_EXTRACT_U
CO_BIT_INSERT
CO_BIT_INSERT_U
CO_EXECUTE
CO_INITIALIZE
CO_MEMORY_CREATE
CO_MEMORY_PTR
CO_MEMORY_READBLOCK
CO_MEMORY_WRITEBLOCK
CO_PAR_BREAK
CO_PROCESS_CONFIG
CO_PROCESS_CREATE
CO_REGISTER_CREATE
CO_REGISTER_GET
CO_REGISTER_PUT
CO_REGISTER_READ
CO_REGISTER_WRITE
CO_SIGNAL_CREATE
CO_SIGNAL_POST
CO_SIGNAL_WAIT
CO_STREAM_CLOSE
CO_STREAM_CREATE
CO_STREAM_EOS
CO_STREAM_OPEN
CO_STREAM_READ
CO_STREAM_READ_NB
CO_STREAM_WRITE
COSIM_LOGWINDOW_CREATE
COSIM_LOGWINDOW_FWRITE
COSIM_LOGWINDOW_INIT
COSIM_LOGWINDOW_WRITE
Appendix D. Triple-DES Source Listings
DES_HW.C
DES.C
DES_SW.C
DES.H
Appendix E. Image Filter Listings
IMG_HW.C
IMG_SW.C
IMG.H
Appendix F. Selected References
Index
Prentice Hall Modern Semiconductor Design Series
Foreword
Why is this book of interest to the hardware folks?
And what about the software guys and gals?
So what's the catch?
Preface
C Language for FPGA-Based Hardware Design?
Compelling Platforms for Software Acceleration
The Power to Experiment
How This Book Is Organized
Where This Book Came From
Acknowledgments
Chapter 1. The FPGA as a Computing Platform
Section 1.1. A Quick Introduction to FPGAs
Section 1.2. FPGA-Based Programmable Hardware Platforms
Section 1.3. Increasing Performance While Lowering Costs
Section 1.4. The Role of Tools
Section 1.5. The FPGA as an Embedded Software Platform
Section 1.6. The Importance of a Programming Abstraction
Section 1.7. When Is C Language Appropriate for FPGA Design?
Section 1.8. How to Use This Book
Chapter 2. A Brief History of Programmable Platforms
Section 2.1. The Origins of Programmable Logic
Section 2.2. Reprogrammability, HDLs, and the Rise of the FPGA
Section 2.3. Systems on a Programmable Chip
Section 2.4. FPGAs for Parallel Computing
Section 2.5. Summary
Chapter 3. A Programming Model for FPGA-Based Applications
Section 3.1. Parallel Processing Models
Section 3.2. FPGAs as Parallel Computing Machines
Section 3.3. Programming for Parallelism
Section 3.4. Communicating Process Programming Models
Section 3.5. The Impulse C Programming Model
Section 3.6. Summary
Chapter 4. An Introduction to Impulse C
Section 4.1. The Motivation Behind Impulse C
Section 4.2. The Impulse C Programming Model
Section 4.3. A Minimal Impulse C Program
Section 4.4. Processes Streams Signals, and Memory
Section 4.5. Impulse C Signed and Unsigned Datatypes
Section 4.6. Understanding Processes
Section 4.7. Understanding Streams
Section 4.8. Using Output Streams
Section 4.9. Using Input Streams
Section 4.10. Avoiding Stream Deadlocks
Section 4.11. Creading and Using Signals
Section 4.12. Understanting Registers
Section 4.13. Using Shared Memories
Section 4.14. Memory and Stream Performance Considerations
Section 4.15. Summary
Chapter 5. Describing a FIR Filter
Section 5.1. Design Overview
Section 5.2. The FIR Filter Hardware Process
Section 5.3. The Software Test Bench
Section 5.4. Desktop Simulation
Section 5.5. Application Monitoring
Section 5.6. Summary
Chapter 6. Generating FPGA Hardware
Section 6.1. The Hardware Generation Flow
Section 6.2. Understanding the Generated Structure
Section 6.3. Stream and Signal Interfaces
Section 6.4. Using HDL Simulation to Understand Stream Protocols
Section 6.5. Debugging the Generated Hardware
Section 6.6. Hardware Generation Notes
Section 6.7. Making Efficient Use of the Optimizers
Section 6.8. Language Constraints for Hardware Processes
Section 6.9. Summary
Chapter 7. Increasing Statement-Level Parallelism
Section 7.1. A Model of FPGA Computation
Section 7.2. C Language Semantics and Parallelism
Section 7.3. Exploiting Instruction-Level Parallelism
Section 7.4. Limiting Instruction Stages
Section 7.5. Unrolling Loops
Section 7.6. Pipelining Explained
Section 7.7. Summary
Chapter 8. Porting a Legacy Application to Impulse C
Section 8.1. The Triple-DES Algorithm
Section 8.2. Converting the Algorithm to a Streaming Model
Section 8.3. Performing Software Simulation
Section 8.4. Compiling To Hardware
Section 8.5. Preliminary Hardware Analysis
Section 8.6. Summary
Chapter 9. Creating an Embedded Test Bench
Section 9.1. A Mixed Hardware and Software Approach
Section 9.2. The Embedded Processor as a Test Generator
Section 9.3. The Role of Hardware Simulators
Section 9.4. Testing the Triple-DES Algorithm in Hardware
Section 9.5. Software Stream Macro Interfaces
Section 9.6. Building the Test System
Section 9.7. Summary
Chapter 10. Optimizing C for FPGA Performance
Section 10.1. Rethinking an Algorithm for Performance
Section 10.2. Refinement 1: Reducing Size by Introducing a Loop
Section 10.3. Refinement 2: Array Splitting
Section 10.4. Refinement 3: Improving Streaming Performance
Section 10.5. Refinement 4: Loop Unrolling
Section 10.6. Refinement 5: Pipelining the Main Loop
Section 10.7. Summary
Chapter 11. Describing System-Level Parallelism
Section 11.1. Design Overview
Section 11.2. Performing Desktop Simulation
Section 11.3. Refinement 1: Creating Parallel 8-Bit Filters
Section 11.4. Refinement 2: Creating a System-Level Pipeline
Section 11.5. Moving the Application to Hardware
Section 11.6. Summary
Chapter 12. Combining Impulse C with an Embedded Operating System
Section 12.1. The uClinux Operating System
Section 12.2. A uClinux Demonstration Project
Section 12.3. Summary
Chapter 13. Mandelbrot Image Generation
Section 13.1. Design Overview
Section 13.2. Expressing the Algorithm in C
Section 13.3. Creating a Fixed-Point Equivalent
Section 13.4. Creating a Streaming Version
Section 13.5. Parallelizing the Algorithm
Section 13.6. Future Refinements
Section 13.7. Summary
Chapter 14. The Future of FPGA Computing
Section 14.1. The FPGA as a High-Performance Computer
Section 14.2. The Future of FPGA Computing
Section 14.3. Summary
Appendix A. Getting the Most Out of Embedded FPGA Processors
Section A.1. FPGA Embedded Processor Overview
Section A.2. Peripherals and Memory Controllers
Section A.3. Increasing Processor Performance
Section A.4. Optimization Techniques That Are Not FPGA-Specific
Section A.5. FPGA-Specific Optimization Techniques
Section A.6. Summary
Appendix B. Creating a Custom Stream Interface
Section B.1. Application Overview
Section B.2. The DS92LV16 Serial Link for Data Streaming
Section B.3. Stream Interface State Machine Description
Section B.4. Data Transmission
Section B.5. Summary
Appendix C. Impulse C Function Reference
CO_ARCHITECTURE_CREATE
CO_BIT_EXTRACT
CO_BIT_EXTRACT_U
CO_BIT_INSERT
CO_BIT_INSERT_U
CO_EXECUTE
CO_INITIALIZE
CO_MEMORY_CREATE
CO_MEMORY_PTR
CO_MEMORY_READBLOCK
CO_MEMORY_WRITEBLOCK
CO_PAR_BREAK
CO_PROCESS_CONFIG
CO_PROCESS_CREATE
CO_REGISTER_CREATE
CO_REGISTER_GET
CO_REGISTER_PUT
CO_REGISTER_READ
CO_REGISTER_WRITE
CO_SIGNAL_CREATE
CO_SIGNAL_POST
CO_SIGNAL_WAIT
CO_STREAM_CLOSE
CO_STREAM_CREATE
CO_STREAM_EOS
CO_STREAM_OPEN
CO_STREAM_READ
CO_STREAM_READ_NB
CO_STREAM_WRITE
COSIM_LOGWINDOW_CREATE
COSIM_LOGWINDOW_FWRITE
COSIM_LOGWINDOW_INIT
COSIM_LOGWINDOW_WRITE
Appendix D. Triple-DES Source Listings
DES_HW.C
DES.C
DES_SW.C
DES.H
Appendix E. Image Filter Listings
IMG_HW.C
IMG_SW.C
IMG.H
Appendix F. Selected References
Index
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- Practical-Programming-on-Android-Introduction
- Practical Manual of Abdominal Organ Transplantatio
- 基于FPGA和DSP的機(jī)載圖形顯示系統(tǒng) 36次下載
- [android.開發(fā)書籍].Practical.Android 2次下載
- ISP1581 Programming 13次下載
- PLD Programming Using VHDL 0次下載
- Programming Teridian Meter ICs
- Practical Tips on HSDPA Measur
- Practical Power Application Is
- A PRACTICAL REVIEW OF Common M
- 模擬電路資料(Practical Analog Design
- Practical RF Architectures for
- In-circuit programming of the
- Object-Oriented Programming in
- Some Programming Methods for I
- fpga語言是什么?fpga語言與c語言的區(qū)別 723次閱讀
- fpga軟件是什么意思 809次閱讀
- fpga開發(fā)板是什么?fpga開發(fā)板有哪些? 1458次閱讀
- fpga芯片有哪些 847次閱讀
- fpga芯片工作原理 fpga芯片有哪些型號(hào) 1093次閱讀
- fpga是什么 fpga用什么編程語言 1330次閱讀
- FPGA是什么?FPGA的工作原理和應(yīng)用 2614次閱讀
- FPGA是什么 2.3w次閱讀
- FPGA到底是什么?FPGA有哪些優(yōu)勢(shì) 5371次閱讀
- 基于FPGA硬件平臺(tái)的可重構(gòu)系統(tǒng)調(diào)度算法詳解 1922次閱讀
- fpga應(yīng)用領(lǐng)域_fpga應(yīng)用三個(gè)主要方向 5.8w次閱讀
- 什么是FPGA?FPGA具備哪五大優(yōu)勢(shì)? 2.6w次閱讀
- FPGA介紹及現(xiàn)狀分析_如何學(xué)習(xí)FPGA? 1.4w次閱讀
- 添加FPGA終端的步驟方法 2347次閱讀
- FPGA設(shè)計(jì)小Tips:如何正確使用FPGA的時(shí)鐘資源 1.9w次閱讀
下載排行
本周
- 1開關(guān)電源設(shè)計(jì)原理手冊(cè)
- 1.83 MB | 4次下載 | 免費(fèi)
- 2PL4807單節(jié)鋰離子電池充電器中文手冊(cè)
- 1.36 MB | 2次下載 | 免費(fèi)
- 3智能小車proteus仿真+C源程序
- 0.02 MB | 1次下載 | 免費(fèi)
- 4TMR技術(shù)在電流傳感器中的應(yīng)用
- 616.47 KB | 1次下載 | 免費(fèi)
- 5BQ769142技術(shù)參考手冊(cè)
- 2.99MB | 1次下載 | 免費(fèi)
- 6CBM8605_8606_8608-運(yùn)算放大器【中文排版】-202406271735
- 2.70 MB | 1次下載 | 免費(fèi)
- 701-07-06-CBM8655_CBM8656精密運(yùn)算放大器
- 4.49 MB | 1次下載 | 免費(fèi)
- 8LLC 電路基本原理分析及公式推導(dǎo)
- 551.94 KB | 1次下載 | 免費(fèi)
本月
- 1XL4015+LM358恒壓恒流電路圖
- 0.38 MB | 155次下載 | 1 積分
- 2PCB布線和布局電路設(shè)計(jì)規(guī)則
- 0.40 MB | 45次下載 | 免費(fèi)
- 3GB/T4706.1-2024 家用和類似用途電器的安全第1部分:通用要求
- 7.43 MB | 14次下載 | 1 積分
- 4智能門鎖原理圖
- 0.39 MB | 13次下載 | 免費(fèi)
- 5JESD79-5C_v1.30-2024 內(nèi)存技術(shù)規(guī)范
- 2.71 MB | 10次下載 | 免費(fèi)
- 6elmo直線電機(jī)驅(qū)動(dòng)調(diào)試細(xì)則
- 4.76 MB | 9次下載 | 6 積分
- 7WIFI智能音箱原理圖完整版
- 0.09 MB | 7次下載 | 10 積分
- 8PC1013三合一快充數(shù)據(jù)線充電芯片介紹
- 1.03 MB | 7次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935115次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183333次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73806次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評(píng)論
查看更多