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

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

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:姚远,李辰编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2010
  • ISBN:9787115227409
  • 页数:427 页
图书介绍:本书全面讲解了FPGA系统设计的背景知识、硬件电路设计,硬件描述语言Verilog HDL的基本语法和常用语句
《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开发板上运行第一个FPGA程序 29

2.5.1 实例的内容及目标 29

2.5.2 平台简介 30

2.5.3 实例详解 30

2.5.4 小结 40

2.6 典型实例2:在Xilinx的FPGA开发板上运行第一个FPGA程序 40

2.6.1 实例的内容及目标 40

2.6.2 平台简介 41

2.6.3 实例详解 41

2.6.4 小结 65

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

3.1 Verilog HDL语言简介 66

3.1.1 Verilog HDL的历史和进展 66

3.1.2 VHDL和Verilog HDL语言对比 67

3.2 Verilog HDL程序基本结构 67

3.2.1 Verilog HDL程序入门 68

3.2.2 模块的框架 70

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

3.3.1 常用数据类型 71

3.3.2 常用运算符 76

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

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

3.4.2 块语句 84

3.4.3 关键词 87

3.5 Verilog HDL语言的条件语句 88

3.5.1 if语句 88

3.5.2 case语句 90

3.5.3 其他条件语句 93

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

3.6.1 循环语句 93

3.6.2 结构说明语句 96

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

3.7.1 assign语句实现组合逻辑 98

3.7.2 always块实现组合逻辑 99

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

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

3.10 VerilogHDL程序设计经验 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 可综合风格的Verilog HDL模块实例 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 II在线逻辑分析仪的使用方法 162

5.9.1 SignalTap II介绍 162

5.9.2 使用SignalTap II操作流程 163

5.9.3 设置触发器 163

5.10 典型实例9:SignalTap II功能演示 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 增量式设计(Incremental Design)技巧 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 Core Inserter简介 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 Inserter的实现流程 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 II解决方案 271

8.2.1 NIOS的主要特点 271

8.2.2 NIOS技术实现方式 272

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

8.3.1 硬件开发流程 274

8.3.2 软件开发流程 281

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

8.4.1 实例的内容及目标 287

8.4.2 实例详解 287

8.4.3 小结 295

8.5 典型实例15:基于NIOSII处理器的数字钟设计 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接口芯片的Slave FIFO传输模式 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

第11章 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 PCI9054工作模式 399

13.3.3 PCI设备空间配置 400

13.3.4 PCI9054与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 PLXAPI函数 413

13.5.3 API函数调用 416

13.5.4 PCI9054驱动程序安装 416

13.6 FPGA内部结构设计 416

13.6.1 构框图 416

13.6.2 设计方法 417

13.7 硬件系统实现 418

13.7.1 FPGA配置 418

13.7.2 PCI9054配置 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

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