资料介绍
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次下载 | 免费
评论
查看更多