資料介紹
This book is designed to be a desktop reference for engineers, students
and researchers who use Field Programmable Gate Arrays
(FPGA) as their hardware platform of choice. This book has been
produced in the spirit of the ‘numerical recipe’ series of books for
various programing languages – where the intention is not to teach
the language per se, but rather the philosophy and techniques
required, making your application work. The rationale of this book
is similar in that the intention is to provide the methods and understanding
to make the reader able to develop practical, operational
VHDL that will run correctly on FPGAs.
It is important to stress that his book is not designed as a language
reference manual for VHDL. There are plenty of those
available and I have referenced them throughout the text. This
book is intended as a reference for design with VHDL and can be
seen as complementary to a conventional VHDL textbook.
Contents
Acknowledgements xvii
Preface xix
List of Figures xxi
Part 1 Overview 1
Chapter 1 Introduction 3
Why FPGAS? 3
Chapter 2 An FPGA Primer 5
Introduction 5
FPGA evolution 5
Programmable logic devices 6
Field programmable gate arrays 6
FPGA design techniques 10
Design constraints using FPGAs 10
Summary 10
Chapter 3 A VHDL Primer: The Essentials 11
Introduction 11
Entity: model interface 12
Entity definition 12
Ports 13
Generics 13
Constants 14
Entity examples 14
Architecture: model behavior 14
Basic definition of an architecture 14
Architecture declaration section 15
Architecture statement section 15
Process: basic functional unit in VHDL 16
Basic variable types and operators 17
Constants 17
Signals 17
Variables 18
Boolean operators 18
Arithmetic operators 18
Comparison operators 19
Shifting functions 19
Concatenation 19
Decisions and loops 20
If-then-else 20
Case 21
For 21
While and loop 22
Exit 22
Next 22
Hierarchical design 23
Functions 23
Packages 23
Components 24
Procedures 25
Debugging models 26
Assertions 26
Basic data types 26
Basic types 26
Data type: BIT 26
Data type: Boolean 27
Data type: integer 27
Integer subtypes: natural 27
Integer subtypes: positive 27
Data type: character 27
Data type: real 28
Data type: time 28
Summary 28
Chapter 4 Design Automation and Testing for FPGAs 30
Simulation 30
Test benches 30
Test bench goals 30
Simple test bench: instantiating components 31
Adding stimuli 32
Libraries 33
Introduction 33
Using libraries 34
Std_logic libraries 35
Std_logic type definition 35
Synthesis 36
Design flow for synthesis 36
Synthesis issues 38
RTL design flow 38
Physical design flow 39
Place and route 40
Recursive cut 40
Timing analysis 40
Design pitfalls 40
VHDL issues for FPGA design 41
Initialization 41
Floating point numbers and operations 41
Summary 41
Part 2 Applications 43
Chapter 5 Images and High-Speed Processing 45
Introduction 45
The camera link interface 46
Hardware interface 46
Data rates 47
The Bayer pattern 47
Memory requirements 48
Getting started 49
Specifying the interfaces 51
Defining the top level design 51
System block definitions and interfaces 52
Overall system decomposition 52
Mouse and keyboard interfaces 52
Memory interface 53
The display interface: VGA 53
The cameralink interface 54
The PC interface 55
Summary 56
Chapter 6 Embedded Processors 57
Introduction 57
A simple embedded processor 57
Embedded processor architecture 57
Basic instructions 59
Fetch execute cycle 61
Embedded processor register allocation 62
A basic instruction set 62
Structural or behavioral? 65
Machine code instruction set 65
Structural elements of the microprocessor 66
Processor functions package 67
The PC 68
The IR 69
The Arithmetic and Logic Unit 71
The memory 72
Microcontroller: controller 74
Summary of a simple microprocessor 78
Soft core processors on an FPGA 78
Summary 79
Part 3 Designer’s Toolbox 81
Chapter 7 Serial Communications 83
Introduction 83
Manchester encoding and decoding 83
NRZ coding and decoding 87
NRZI coding and decoding 87
RS-232 89
Introduction 89
RS-232 baud rate generator 89
RS-232 receiver 90
Universal Serial Bus 93
Summary 96
Chapter 8 Digital Filters 97
Introduction 97
Converting S-domain to Z-domain 98
Implementing Z-domain functions in VHDL 100
Introduction 100
Gain block 100
Sum and difference 101
Division model 102
Unit delay model 104
Basic low pass filter model 105
FIR filters 108
IIR filters 109
Summary 109
Chapter 9 Secure Systems 110
Introduction to block ciphers 110
Feistel lattice structures 110
The Data Encryption Standard 113
Introduction 113
DES VHDL implementation 115
Validation of DES 121
Advanced Encryption Standard 121
Implementing AES in VHDL 126
Summary 139
Chapter 10 Memory 140
Introduction 140
Modeling memory in VHDL 141
Read Only Memory 141
Random Access Memory 143
Synchronous RAM 145
FLASH memory 147
Summary 149
Chapter 11 PS/2 Mouse Interface 150
Introduction 150
PS/2 mouse basics 150
PS/2 mouse commands 151
PS/2 mouse data packets 151
PS/2 operation modes 151
PS/2 mouse with wheel 152
Basic PS/2 mouse handler VHDL 152
Modified PS/2 mouse handler VHDL 153
Summary 155
Chapter 12 PS/2 Keyboard Interface 156
Introduction 156
PS/2 keyboard basics 156
PS/2 keyboard commands 157
PS/2 keyboard data packets 157
PS/2 keyboard operation modes 157
Basic PS/2 keyboard handler VHDL 157
Modified PS/2 keyboard handler VHDL 158
Summary 160
Chapter 13 A Simple VGA Interface 161
Introduction 161
Basic pixel timing 162
Image handling 162
VGA interface VHDL 162
Horizontal sync 164
Vertical sync 165
Horizontal and vertical blanking pulses 166
Calculating the correct pixel data 167
Summary 168
Part 4 Optimizing Designs 169
Chapter 14 Synthesis 171
Introduction 171
VHDL supported in RTL synthesis 172
Initial conditions 172
Concurrent edges 172
Numeric types 173
Wait statements 173
Assertions 174
Loops 174
Some interesting cases where synthesis may fail 174
What is being synthesized? 175
Overall design structure 175
Controller 175
Data path 177
Summary 178
Chapter 15 Behavioral Modeling in VHDL 179
Introduction 179
How to go from RTL to behavioral VHDL 179
Summary 183
Chapter 16 Design Optimization 184
Introduction 184
Techniques for logic optimization 184
Improving performance 186
Critical path analysis 187
Summary 188
Chapter 17 VHDL-AMS 189
Introduction 189
Introduction to VHDL-AMS 190
Analog pins: TERMINALS 191
Mixed-domain modeling 192
Analog variables: quantities 193
Simultaneous equations in VHDL-AMS 194
A VHDL-AMS example 194
A DC voltage source 194
Resistor 195
Differential equations in VHDL-AMS 196
Mixed-signal modeling with VHDL-AMS 197
A basic switch model 201
Basic VHDL-AMS comparator model 202
Multiple domain modeling 204
Summary 205
Chapter 18 Design Optimization Example: DES 207
Introduction 207
The DES 207
Moods 208
Initial design 208
Introduction 208
Overall structure 208
Data transformations 211
Key transformations 213
Initial synthesis 214
Optimizing the data path 215
Optimizing the key transformations 217
Final optimization 218
Results 219
Triple DES 219
Introduction 219
Minimum area: iterative 220
Minimum latency: pipelined 222
Comparing the approaches 223
Summary 224
Part 5 Fundamental Techniques 225
Chapter 19 Counters 227
Introduction 227
Basic binary counter 227
Synthesized simple binary counter 230
Shift register 233
The Johnson counter 234
BCD counter 236
Summary 237
Chapter 20 Latches, Flip-Flops and Registers 238
Introduction 238
Latches 238
Flip-flops 240
Registers 243
Summary 244
Chapter 21 Serial to Parallel & Parallel to Serial Conversion 245
Serial to Parallel Conversion 245
Parallel to Serial Conversion 246
Summary 247
Chapter 22 ALU Functions 248
Introduction 248
Logic functions 248
1-bit adder 251
Structural n-bit addition 252
Configurable n-bit addition 253
Twos complement 254
Summary 257
Chapter 23 Decoders and Multiplexers 258
Decoders 258
Multiplexers 260
Summary 262
Chapter 24 Finite State Machines in VHDL 263
Introduction 263
State transition diagrams 263
Implementing FSM in VHDL 264
Summary 265
Chapter 25 Fixed Point Arithmetic in VHDL 266
Introduction 266
Basic fixed point types 268
Fixed point functions 269
Fixed-point to std_logic_vector functions 269
Fixed point to real conversion 271
Testing the fixed point function 272
Summary 274
Chapter 26 Binary Multiplication 275
Introduction 275
Basic binary multiplication 275
VHDL unsigned multiplier 276
Synthesis of the multiplication function 279
‘Simple’ multiplication 280
Summary 282
Chapter 27 Bibliography 283
Introduction 283
Useful texts for VHDL 283
Digital Systems Design 283
Designers Guide to VHDL 283
VHDL: Analysis and Modeling of Digital Systems 284
VHDL for Logic Synthesis 284
Useful Texts for FPGAs 284
Design Warriors Guide to FPGAs 284
General Digital Design Books 284
Digital Design 284
Index 287
- PyTorch Recipes.zip 0次下載
- HDLs設計FPGAs綜合與驗證設計 14次下載
- 基于FPGAs的DSP性能分析 1次下載
- 關于FPGAs中的DSP性能分析探究 0次下載
- Introduction_to_FPGA_Design 18次下載
- 32 bit FPGA Processor Design 0次下載
- Design_Recipes_for_FPGAs_全英版 0次下載
- 基于FPGAs的智能機器人導航系統 5次下載
- xilinx FPGAs在工業中的應用 26次下載
- FPGA設計重利用方法(Design Reuse Methodology) 27次下載
- CPLD和FPGA設計介紹 95次下載
- Spartan-3 Generation FPGAs應用資料
- Virtex-5, Spartan-DSP FPGAs Ap
- 介紹CPLD和FPGA設計
- Introduction to CPLD and FPGA
- fpga語言是什么?fpga語言與c語言的區別 723次閱讀
- fpga軟件是什么意思 809次閱讀
- fpga芯片工作原理 fpga芯片有哪些型號 1093次閱讀
- fpga是什么 fpga用什么編程語言 1330次閱讀
- FPGA是什么?FPGA的工作原理和應用 2614次閱讀
- FPGA加速圖數據庫查詢執行 408次閱讀
- FPGAs,Zynq和Zynq MPSoC器件的特點 2275次閱讀
- 圖形界面介紹:GUI上的按鍵是Design Browser 3349次閱讀
- FPGA是什么 2.3w次閱讀
- FPGA到底是什么?FPGA有哪些優勢 5371次閱讀
- 工業機器人常用的七種編程語言 1.5w次閱讀
- FPGA器件iCE40系列介紹 7415次閱讀
- fpga應用領域_fpga應用三個主要方向 5.8w次閱讀
- FPGA介紹及現狀分析_如何學習FPGA? 1.4w次閱讀
- Spartan-6 FPGA 的 ISE 工具快速入門視頻 6893次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1491次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 4次下載 | 免費
- 8基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537793次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多