当前位置:首页 > 工业技术
FPGA应用开发入门与典型实例
FPGA应用开发入门与典型实例

FPGA应用开发入门与典型实例PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:华清远见嵌入式培训中心编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2008
  • ISBN:9787115180025
  • 页数:427 页
图书介绍:FPGA(现场可编程逻辑器件)以其体积小、功耗低、稳定性高等优点广泛应用于各类电子产品的设计中。本书全面讲解了FPGA系统设计的背景知识,硬件电路设计,硬件描述语言Verilog HDL的基本语法和常用语句,FPGA的开发工具软件的使用,基于FPGA的软核嵌入式系统,FPGA设计的基本原则、技巧、IP核,FPGA在接口设计领域的典型应用,FPGA+DSP的系统设计与调试,以及数字变焦系统和PCI数据采集系统这两个完整的系统设计案例。本书内容全面、实例丰富。适合FPGA系统设计初学者,大专院校通信工程、电子工程、计算机、微电子和半导体相关专业师生,硬件系统工程师和IC设计工程师学习使用。
《FPGA应用开发入门与典型实例》目录

第1章FPGA系统设计基础 1

1.1 FPGA技术的发展历史和动向 1

1.1.1 FPGA技术的发展历史 1

1.1.2 FPGA技术的发展动向 2

1.2 FPGA的典型应用领域 3

1.2.1数据采集和接口逻辑领域 3

1.2.2高性能数字信号处理领域 4

1.2.3其他应用领域 4

1.3 FPGA的工艺结构 5

1.3.1基于SRAM结构的FPGA 5

1.3.2基于反融丝结构的FPGA 5

1.3.3基于Flash结构的FPGA 6

1.4主流的FPGA芯片厂家及其代表产品 6

1.4.1 Xilinx公司的代表产品 6

1.4.2 Altera公司的代表产品 7

1.5工程项目中FPGA芯片选择策略和原则 8

1.5.1尽量选择成熟的产品系列 8

1.5.2尽量选择兼容性好的封装 8

1.5.3尽量选择一个公司的产品 9

第2章 从零开始设计FPGA最小系统 10

2.1 FPGA最小系统的概念 10

2.2 FPGA最小系统电路分析 11

2.2.1 FPGA管脚设计 11

2.2.2下载配置与调试接口电路设计 14

2.2.3高速SDRAM存储器接口电路设计 14

2.2.4异步SRAM (ASRAM )存储器接口电路设计 16

2.2.5 Flash存储器接口电路设计 16

2.2.6开关、按键与发光LED电路设计 18

2.2.7 VGA接口电路设计 19

2.2.8 PS/2鼠标及键盘接口电路设计 20

2.2.9 RS-232串口 20

2.2.10字符型液晶显示器接口电路设计 21

2.2.11 USB 2.0接口芯片CY7C68013电路设计 22

2.2.12电源电路设计 25

2.2.13复位电路设计 26

2.2.14时钟电路设计 27

2.3 FPGA硬件系统的设计技巧 27

2.3.1管脚兼容性设计 27

2.3.2根据电路布局来分配管脚功能 28

2.3.3预留测试点 28

2.4 FPGA硬件系统的调试方法 28

2.5典型实例1:在Altera的FPGA 29

开发板上运行第一个FPGA程序 29

2.5.1实例的内容及目标 29

2.5.2平台简介 30

2.5.3实例详解 30

2.5.4小结 40

2.6典型实例2:在Xilinx的FPGA 40

开发板上运行第一个FPGA程序 40

2.6.1实例的内容及目标 40

2.6.2平台简介 41

2.6.3实例详解 41

2.6.4小结 65

第3章 硬件描述语言Verilog HDL基础 66

3.1 Verilog HDL语言简介 66

3.1.1 Verilog HDL的历史和进展 66

3.1.2 VHDL和Velog HDL语言对比 67

3.2 Velog HDL程序基本结构 67

3.2.1 Velog HDL程序入门 68

3.2.2模块的框架 70

3.3 Velog HDL语言的数据类型和运算符 71

3.3.1常用数据类型 71

3.3.2常用运算符 76

3.4 Velog HDL语言的赋值语句和块语句 83

3.4.1非阻塞赋值和阻塞赋值 83

3.4.2块语句 84

3.4.3关键词 87

3.5 Velog HDL语言的条件语句 88

3.5.1 if语句 88

3.5.2 case语句 90

3.5.3其他条件语句 93

3.6 Velog HDL语言的其他常用语句 93

3.6.1循环语句 93

3.6.2结构说明语句 96

3.7 Velog HDL语言实现组合逻辑电路 98

3.7.1 assi语句实现组合逻辑 98

3.7.2 always块实现组合逻辑 99

3.8 Velog HDL语言实现时序逻辑电路 100

3.9 Velog HDL语言与C语言的区别与联系 101

3.10 Velog HDL程序设计经验 104

3.11典型实例3:数字跑表 105

3.11.1实例的内容及目标 105

3.11.2原理简介 105

3.11.3代码分析 106

3.11.4参考设计 107

3.12典型实例4: PS/2接口控制 107

3.12.1实例的内容及目标 107

3.12.2原理简介 108

3.12.3实例详解 109

3.12.4参考设计 109

3.13典型实例5:交通灯控制器 109

3.13.1实例的内容及目标 109

3.13.2原理简介 110

3.13.3代码分析 111

3.13.4参考设计 113

第4章 硬件描述语言Verilog HDL设计进阶 114

4.1 task和function说明语句的区别 114

4.2 Verilog HDL高级语法结构——任务(TASK) 115

4.3 Verilog HDL高级语法结构——任务(function ) 116

4.4有限状态机的设计原理及其代码风格 118

4.4.1有限状态机(FSM)设计原理 118

4.4.2 FSM设计实例 123

4.4.3设计可综合状态机的指导原则 124

4.5逻辑综合的原则以及可综合的代码设计风格 125

4.5.1 always块语言指导原则 125

4.5.2可综合风格的VerilogHDL模块实例 126

4.6典型实例6:状态机应用 132

4.6.1实例的内容及目标 132

4.6.2实例详解 133

4.6.3参考设计 140

4.7典型实例7:自动转换量程频率计控制器 140

4.7.1实例内容及目标 140

4.7.2原理简介 140

4.7.3代码分析 141

4.7.4参考设计 143

4.8典型实例8:使用函数实现简单的处理器 143

4.8.1实例的内容及目标 143

4.8.2原理简介 143

4.8.3代码分析 143

第5章FPGA设计开发软件Quartus II的使用技巧 145

5.1 Quartus II软件简介 145

5.2 Quartus II软件新特性 145

5.3 Quartus II软件的安装与启动 147

5.4 Quartus II软件设计流程 148

5.5创建工程设计文件 149

5.5.1创建工程 149

5.5.2添加设计文件 151

5.6编译及仿真工程 153

5.6.1编译 153

5.6.2仿真 154

5.7约束及配置工程 156

5.7.1器件选择 157

5.7.2管脚分配 158

5.7.3时序约束 158

5.7.4配置工程 159

5.8 LogicLock逻辑锁定工具使用技巧 160

5.8.1逻辑锁定方法学 160

5.8.2逻辑锁定优势 160

5.8.3逻辑锁定参数设置 161

5.8.4逻辑锁定流程 161

5.9 SignalTap 在线逻辑分析仪的使用方法 162

5.9.1 SignalTap 介绍 162

5.9.2使用SignalTap操作流程 163

5.9.3设置触发器 163

5.10典型实例9: SignalTap 功能演示 164

5.10.1实例的内容及目标 164

5.10.2实例详解 165

5.10.3小结 177

5.11典型实例10: LogicLock功能演示 177

5.11.1实例的内容及目标 177

5.11.2实例详解 178

第6章FPGA设计开发软件ISE使用技巧 184

6.1 ISE软件简介 184

6.1.1 ISE软件简介 184

6.1.2 ISE 7.1i特点 185

6.2 ISE软件的安装与启动 186

6.2.1 ISE软件的安装 186

6.2.2 ISE软件的启动 188

6.3 ISE软件的设计流程 189

6.4创建设计工程 193

6.5编译与仿真设计工程 197

6.6增量式设计(IncrementalDesign)技巧 203

6.6.1增量式设计的必要性 203

6.6.2增量设计流程 204

6.6.3小结 207

6.7片上逻辑分析仪(ChipScope Pro)使用技巧 208

6.7.1 ChipScope Pro概述 208

6.7.2 ChipScope Pro设计流程 209

6.7.3 ChipScope Pro CoreInseer简介 209

6.7.4 ChipScope Pro Analyzer 简介 215

6.7.5小结 219

6.8典型实例11:ChipScope功能演示 220

6.8.1实例的内容及目标 220

6.8.2基于ChipScope Pro Core Generator的实现流程 221

6.8.3基于ChipScope Pro Core Inseer的实现流程 230

6.8.4小结 234

6.9典型实例12:增量式设计(Incremental Design)演示 234

6.9.1实例的内容及目标 234

6.9.2实例详解 234

6.9.3小结 240

第7章FPGA系统设计的仿真验证 241

7.1 FPGA设计仿真验证的原理和方法 241

7.1.1 FPGA设计仿真验证 241

7.1.2 FPGA设计仿真的切入点 241

7.2 ModelSim仿真工具简介 243

7.2.1标题栏 244

7.2.2菜单栏 244

7.2.3工具栏 249

7.2.4工作区 249

7.2.5状态栏 249

7.3 ModelSim的仿真流程 249

7.3.1 ModelSim的安装 249

7.3.2使用ModelSim进行功能仿真 250

7.4功能仿真和时序仿真的区别和实现方法 253

7.4.1功能仿真 253

7.4.2时序仿真 256

7.5仿真测试文件(Testbench)的设计方法 257

7.5.1测试文件的用途 257

7.5.2测试文件设计方法 258

7.5.3测试常用语句 260

7.6典型实例13: SDRAM读写控制的实现与Modelsim仿真 262

7.6.1实例的内容及目标 262

7.6.2 SDRAM简介 262

7.6.3 SDRAM控制器的Modelsim仿真 265

7.6.4小结 267

第8章 基于FPGA的片上可编程系统(SOPC)设计 269

8.1基于FPGA的SOPC系统组成原理和典型方案 269

8.1.1 SoC及SOPC简介 269

8.1.2 Xilinx的SOPC解决方案 270

8.2 Altera公司的NIOS解决方案 271

8.2.1 NIOS的主要特点 271

8.2.2 NIOS技术实现方式 272

8.3基于NIOS的开发设计流程 274

8.3.1硬件开发流程 274

8.3.2软件开发流程 281

8.4典型实例14:基于NIOS处理器的“Hello LED”程序设计 287

8.4.1实例的内容及目标 287

8.4.2实例详解 287

8.4.3小结 295

8.5典型实例15:基于NIOS处理器的数字钟设计 296

8.5.1实例的内容及目标 296

8.5.2软件规划 296

8.5.3实例步骤 296

8.5.4小结 297

第9章FPGA系统设计原则和技巧 298

9.1 FPGA系统设计的3个基本原则 298

9.1.1面积与速度的平衡互换原则 298

9.1.2硬件可实现原则 300

9.1.3同步设计原则 301

9.2 FPGA系统设计的3种常用技巧 302

9.2.1乒乓操作技巧 302

9.2.2串并/并串转换技巧 303

9.2.3硬件流水线操作技巧 304

9.3 FPGA系统设计的3种常用IP模块 305

9.3.1片上存储器的使用方法 305

9.3.2锁相环的使用方法 316

9.3.3高速串行收发器的使用方法 321

第10章 利用FPGA实现外设通信接口 326

10.1 FPGA在外设接口实现方面的优势 326

10.1.1充足的用户I/O资源 326

10.1.2灵活的可编程逻辑 327

10.1.3支持多种电平接口标准 327

10.2利用FPGA实现RS-232C串行接口 327

10.2.1 RS-232C接口概述 327

10.2.2 RS-232C接口的电气标准 327

10.2.3 RS-232C的通信协议 328

10.2.4 RS-232C接口的典型应用 329

10.3利用FPGA实现USB 2.0通信接口 329

10.3.1 USB 2.0接口的实现方式 329

10.3.2 FX2接口芯片的SlaveFIFO传输模式 330

10.3.3 Slave FIFO模式的典型操作时序 331

10.3.4 FX2的固件程序设计 333

10.3.5 USB 2.0接口的典型应用 334

10.4利用FPGA实现常用显示接口(Display Interface) 334

10.4.1七段数码显示接口的设计与实现 334

10.4.2字符型LCD显示接口的设计与实现 336

10.4.3 VGA显示接口的设计与实现 337

10.5利用FPGA实现A/D、 D/A转换器接口 339

10.5.1 A/D、 D/A转换器接口的特点 339

10.5.2 A/D、D/A转换器接口的实现方法 339

10.5.3 AD/DA转换器接口的注意事项 340

10.6典型实例16: RS-232C (UART)接口的设计与实现 341

10.6.1实例内容及目标 341

10.6.2实例详解 341

10.6.3 BlockRAM的实现方法 342

10.6.4 FPGA代码的设计实现 343

10.6.5波特率的设定 345

10.6.6 ModelSim仿真验证 345

10.6.7小结 345

10.7典型实例17: USB 2.0接口的设计与实现 346

10.7.1实例的内容及目标 346

10.7.2 USB接口通信实战步骤 346

10.7.3 USB接口通信实例结果 348

10.7.4 FPGA代码的设计实现 349

10.7.5小结 352

10.8典型实例18:字符LCD接口的设计与实现 353

10.8.1实例的内容及目标 353

10.8.2字符LCD接口实例内容 353

10.8.3 FPGA代码设计实现 353

10.8.4 ModelSim仿真验证 353

10.8.5小结 356

10.9典型实例19: VGA接口的设计与实现 357

10.9.1实例内容及目标 357

10.9.2 VGA接口实例内容 357

10.9.3 FPGA代码设计实现 357

10.9.4 ModelSim仿真验证 357

10.9.5小结 358

第10章FPGA与DSP协同处理系统设计 359

11.1基于FPGA+DSP协同处理平台的优势和适用领域 359

11.1.1基于FPGA的信号处理系统的特点 359

11.1.2基于DSP的信号处理系统的特点 360

11.1.3基于FPGA+DSP的信号处理系统优势和应用领域 360

11.2基于FPGA+DSP的协同处理平台的设计流程 361

11.2.1 FPGA与DSP的功能划分 361

11.2.2 FPGA+DSP的系统设计流程 362

11.3 FPGA与DSP的通信接口设计 363

11.3.1基于TMS320C64x系列的EMIF接口设计 363

11.3.2基于TMS320系列DSP的主机接口(HPI)设计 369

11.4 FPGA+DSP协同平台的调试技巧和注意事项 371

11.4.1 FPGA和DSP的隔离调试技术 371

11.4.2 FPGA测试点的设计 372

11.4.3借助FPGA的内部逻辑分析仪来辅助调试 372

11.5典型实例20: FPGA片上硬件乘法器的使用 372

11.5.1实例的内容及目标 372

11.5.2硬件乘法IP的使用方法 373

11.5.3小结 377

11.6典型实例21:整数DCT变换的设计与实现 378

11.6.1实例的内容及目标 378

11.6.2整数DCT变换的原理 378

11.6.3实例步骤 380

11.6.4小结 382

第12章 数字图像倍焦系统设计与实现综合实例 383

12.1设计需求分析与芯片选型 383

12.1.1需求分析 383

12.1.2芯片选型 384

12.2系统工作原理分析 385

12.3系统原理框图 387

12.4 FPGA内部结构设计 388

12.4.1 FPGA内部结构框图 388

12.4.2各个模块功能描述 389

12.5系统硬件配置方案 389

12.5.1 FPGA的配置 389

12.5.2 Video Decoder(SAA7113H)的配置 390

12.5.3 Video Encoder(SAA7128)的配置 390

12.5.4印刷电路板(PCB)设计 391

12.6 FPGA在其他视频和图像处理系统中的应用 392

第13章 高速PCI信号采集卡设计与实现综合实例 393

13.1设计需求分析与功能定义 393

13.1.1信号与信号采集系统 393

13.1.2设计需求分析 394

13.1.3选型及功能定义 395

13.2系统工作原理分析 395

13.2.1数据总线 396

13.2.2控制总线 397

13.2.3地址总线 397

13.2.4信号采集系统控制机制 398

13.3 PCI接口芯片PCI9054与FPGA的接口设计 398

13.3.1 PCI9054的特性 398

13.3.2 PC19054工作模式 399

13.3.3 PCI设备空间配置 400

13.3.4 PC19054与FPGA接口设计 401

13.4 PCI卡的驱动程序设计 405

13.4.1 WDM驱动程序模型 405

13.4.2设备和驱动程序的层次结构 406

13.4.3 PCI设备驱动程序例程 407

13.5主机应用程序和驱动程序的接口设计 412

13.5.1驱动程序例程的封装 412

13.5.2 PLX API函数 413

13.5.3 API函数调用 416

13.5.4 PC19054驱动程序安装 416

13.6 FPGA内部结构设计 416

13.6.1构框图 416

13.6.2设计方法 417

13.7硬件系统实现 418

13.7.1 FPGA配置 418

13.7.2 PC19054配置 419

13.7.3 PCI9054 PCI总线连接规范 420

13.7.4电源系统 421

13.8样机的调试方法和技巧 422

13.8.1没有PCI控制的跑马灯 422

13.8.2基于PCI控制的跑马灯 423

13.9产品稳定性和可靠性测试 425

13.10产品定型和设计文档备案 426

相关图书
作者其它书籍
返回顶部