当前位置: 首页 > 原创图书 >《FPGA应用开发入门与典型实例》(修订版) 图书介绍

《FPGA应用开发入门与典型实例》(修订版) 图书介绍
  • 图书名称 :    《FPGA应用开发入门与典型实例》(修订版)
  • 作       者 :    华清远见
  • 出版单位 :    人民邮电出版社
  • 丛书名称 :    嵌入式开发系列
  • 出版日期 :    2010年6月
编辑推荐

· 多年嵌入式人才培养及项目研发经验总结
· 数百家企业嵌入式研发岗位人才需求汇总
· 数十所嵌入式专业大学院校教学现状调研
· 侧重实践及案例分析并辅以代码加以讲解

图书简介

      fpga(现场可编程逻辑器件)以其体积小、功耗低、稳定性高等优点被广泛应用于各类电子产品的设计中。本书全面讲解了fpga系统设计的背景知识、硬件电路设计,硬件描述语言verilog hdl的基本语法和常用语句,fpga的开发工具软件的使用,基于fpga的软核嵌入式系统,fpga设计的基本原则、技巧、ip核, fpga在接口设计领域的典型应用,fpga+dsp的系统设计与调试,以及数字变焦系统和pci数据采集系统这两个完整的系统设计案例。
      本书内容全面、实例丰富,适合fpga系统设计初学者,大专院校通信工程、电子工程、计算机、微电子和半导体相关专业师生,硬件系统工程师和ic设计工程师学习使用。

图书目录

《FPGA应用开发入门与典型实例》(修订版)章节:
第1章 fpga系统设计基础
1.1 fpga技术的发展历史和动向
1.1.1 fpga技术的发展历史
1.1.2 fpga技术的发展动向
1.2 fpga的典型应用领域
1.2.1 数据采集和接口逻辑领域
1.2.2 高性能数字信号处理领域
1.2.3 其他应用领域
1.3 fpga的工艺结构
1.3.1 基于sram结构的fpga
1.3.2 基于反融丝结构的fpga
1.3.3 基于flash结构的fpga
1.4 主流的fpga芯片厂家及其代表产品
1.4.1 xilinx公司的代表产品
1.4.2 altera公司的代表产品
1.5 工程项目中fpga芯片选择策略和原则
1.5.1 尽量选择成熟的产品系列
1.5.2 尽量选择兼容性好的封装
1.5.3 尽量选择一个公司的产品
第2章 从零开始设计fpga最小系统
2.1 fpga最小系统的概念
2.2 fpga最小系统电路分析
2.2.1 fpga管脚设计
2.2.2 下载配置与调试接口电路设计
2.2.3 高速sdram存储器接口电路设计
2.2.4 异步sram(asram)存储器接口电路设计
2.2.5 flash存储器接口电路设计
2.2.6 开关、按键与发光led电路设计
2.2.7 vga接口电路设计
2.2.8 ps/2鼠标及键盘接口电路设计
2.2.9 rs-232串口
2.2.10 字符型液晶显示器接口电路设计
2.2.11 usb 2.0接口芯片cy7c68013电路设计
2.2.12 电源电路设计
2.2.13 复位电路设计
2.2.14 时钟电路设计
2.3 fpga硬件系统的设计技巧
2.3.1 管脚兼容性设计
2.3.2 根据电路布局来分配管脚功能
2.3.3 预留测试点
2.4 fpga硬件系统的调试方法
2.5 典型实例1:在altera的fpga开发板上运行第一个fpga程序
2.5.1 实例的内容及目标
2.5.2 平台简介
2.5.3 实例详解
2.5.4 小结
2.6 典型实例2:在xilinx的fpga开发板上运行第一个fpga程序
2.6.1 实例的内容及目标
2.6.2 平台简介
2.6.3 实例详解
2.6.4 小结
第3章 硬件描述语言verilog hdl基础
3.1 verilog hdl语言简介
3.1.1 verilog hdl的历史和进展
3.1.2 vhdl和verilog hdl语言对比
3.2 verilog hdl程序基本结构
3.2.1 verilog hdl程序入门
3.2.2 模块的框架
3.3 verilog hdl语言的数据类型和运算符
3.3.1 常用数据类型
3.3.2 常用运算符
3.4 verilog hdl语言的赋值语句和块语句
3.4.1 非阻塞赋值和阻塞赋值
3.4.2 块语句
3.4.3 关键词
3.5 verilog hdl语言的条件语句
3.5.1 if语句
3.5.2 case语句
3.5.3 其他条件语句
3.6 verilog hdl语言的其他常用语句
3.6.1 循环语句
3.6.2 结构说明语句
3.7 verilog hdl语言实现组合逻辑电路
3.7.1 assign语句实现组合逻辑
3.7.2 always块实现组合逻辑
3.8 verilog hdl语言实现时序逻辑电路
3.9 verilog hdl语言与c语言的区别与联系
3.10 verilog hdl程序设计经验
3.11 典型实例3:数字跑表
3.11.1 实例的内容及目标
3.11.2 原理简介
3.11.3 代码分析
3.11.4 参考设计
3.12 典型实例4:ps/2接口控制
3.12.1 实例的内容及目标
3.12.2 原理简介
3.12.3 实例详解
3.12.4 参考设计
3.13 典型实例5:交通灯控制器
3.13.1 实例的内容及目标
3.13.2 原理简介
3.13.3 代码分析
3.13.4 参考设计
第4章 硬件描述语言verilog hdl设计进阶
4.1 task和function说明语句的区别
4.2 verilog hdl高级语法结构——任务(task)
4.3 verilog hdl高级语法结构——任务(function)
4.4 有限状态机的设计原理及其代码风格
4.4.1 有限状态机(fsm)设计原理
4.4.2 fsm设计实例
4.4.3 设计可综合状态机的指导原则
4.5 逻辑综合的原则以及可综合的代码设计风格
4.5.1 always块语言指导原则
4.5.2 可综合风格的verilog hdl模块实例
4.6 典型实例6:状态机应用
4.6.1 实例的内容及目标
4.6.2 实例详解
4.6.3 参考设计
4.7 典型实例7:自动转换量程频率计控制器
4.7.1 实例内容及目标
4.7.2 原理简介
4.7.3 代码分析 
4.7.4 参考设计 
4.8 典型实例8:使用函数实现简单的处理器 
4.8.1  实例的内容及目标 
4.8.2 原理简介 
4.8.3 代码分析 
第5章 fpga设计开发软件quartus ii的使用技巧 
5.1 quartus ii软件简介 
5.2 quartus ii软件新特性 
5.3 quartus ii软件的安装与启动 
5.4 quartus ii软件设计流程 
5.5 创建工程设计文件 
5.5.1 创建工程 
5.5.2 添加设计文件 
5.6 编译及仿真工程 
5.6.1 编译 
5.6.2 仿真 
5.7 约束及配置工程 
5.7.1 器件选择 
5.7.2 管脚分配 
5.7.3 时序约束 
5.7.4 配置工程 
5.8 logiclock逻辑锁定工具使用技巧 
5.8.1 逻辑锁定方法学 
5.8.2 逻辑锁定优势 
5.8.3 逻辑锁定参数设置 
5.8.4 逻辑锁定流程 
5.9 signaltap ii在线逻辑分析仪的使用方法 
5.9.1 signaltap ii介绍 
5.9.2 使用signaltap ii操作流程 
5.9.3 设置触发器 
5.10 典型实例9:signaltap ii功能演示 
5.10.1 实例的内容及目标 
5.10.2 实例详解 
5.10.3 小结 
5.11 典型实例10:logiclock功能演示 
5.11.1 实例的内容及目标 
5.11.2 实例详解 
第6章 fpga设计开发软件ise使用技巧 
6.1 ise软件简介 
6.1.1 ise软件简介 
6.1.2 ise 7.1i特点 
6.2 ise软件的安装与启动 
6.2.1 ise软件的安装 
6.2.2 ise软件的启动 
6.3 ise软件的设计流程 
6.4 创建设计工程 
6.5 编译与仿真设计工程 
6.6 增量式设计(incremental design)技巧 
6.6.1 增量式设计的必要性 
6.6.2 增量设计流程 
6.6.3 小结 
6.7 片上逻辑分析仪(chipscope pro)使用技巧 
6.7.1 chipscope pro概述 
6.7.2 chipscope pro设计流程 
6.7.3 chipscope pro core inserter简介 
6.7.4 chipscope pro analyzer简介 
6.7.5 小结 
6.8 典型实例11:chipscope功能演示 
6.8.1 实例的内容及目标 
6.8.2 基于chipscope pro core generator的实现流程 
6.8.3 基于chipscope pro core inserter的实现流程 
6.8.4 小结 
6.9 典型实例12:增量式设计(incremental design)演示 
6.9.1 实例的内容及目标 
6.9.2 实例详解 
6.9.3 小结 
第7章 fpga系统设计的仿真验证 
7.1 fpga设计仿真验证的原理和方法 
7.1.1 fpga设计仿真验证 
7.1.2 fpga设计仿真的切入点 
7.2 modelsim仿真工具简介 
7.2.1 标题栏 
7.2.2 菜单栏 
7.2.3 工具栏 
7.2.4 工作区 
7.2.5 状态栏 
7.3 modelsim的仿真流程 
7.3.1 modelsim的安装 
7.3.2 使用modelsim进行功能仿真 
7.4 功能仿真和时序仿真的区别和实现方法 
7.4.1 功能仿真 
7.4.2 时序仿真 
7.5 仿真测试文件(testbench)的设计方法 
7.5.1 测试文件的用途 
7.5.2 测试文件设计方法 
7.5.3 测试常用语句 
7.6 典型实例13:sdram读写控制的实现与modelsim仿真 
7.6.1 实例的内容及目标 
7.6.2 sdram简介 
7.6.3 sdram控制器的modelsim仿真 
7.6.4 小结 
第8章 基于fpga的片上可编程系统(sopc)设计 
8.1 基于fpga的sopc系统组成原理和典型方案 
8.1.1 soc及sopc简介 
8.1.2 xilinx的sopc解决方案 
8.2 altera公司的nios ii解决方案 
8.2.1 nios的主要特点 
8.2.2 nios技术实现方式 
8.3 基于nios ii的开发设计流程 
8.3.1 硬件开发流程 
8.3.2 软件开发流程 
8.4 典型实例14:基于niosii处理器的“hello led”程序设计 
8.4.1 实例的内容及目标 
8.4.2 实例详解 
8.4.3 小结 
8.5 典型实例15:基于niosii处理器的数字钟设计 
8.5.1 实例的内容及目标 
8.5.2 软件规划 
8.5.3 实例步骤 
8.5.4 小结 
第9章 fpga系统设计原则和技巧 
9.1 fpga系统设计的3个基本原则 
9.1.1 面积与速度的平衡互换原则 
9.1.2 硬件可实现原则 
9.1.3 同步设计原则 
9.2 fpga系统设计的3种常用技巧 
9.2.1 乒乓操作技巧 
9.2.2 串并/并串转换技巧 
9.2.3 硬件流水线操作技巧 
9.3 fpga系统设计的3种常用ip模块 
9.3.1 片上存储器的使用方法 
9.3.2 锁相环的使用方法 
9.3.3 高速串行收发器的使用方法 
第10章 利用fpga实现外设通信接口 
10.1 fpga在外设接口实现方面的优势 
10.1.1 充足的用户i/o资源 
10.1.2 灵活的可编程逻辑 
10.1.3 支持多种电平接口标准 
10.2 利用fpga实现rs-232c串行接口 
10.2.1 rs-232c接口概述 
10.2.2 rs-232c接口的电气标准 
10.2.3 rs-232c的通信协议 
10.2.4 rs-232c接口的典型应用 
10.3 利用fpga实现usb 2.0通信接口 
10.3.1 usb 2.0接口的实现方式 
10.3.2 fx2接口芯片的slave fifo传输模式 
10.3.3 slave fifo模式的典型操作时序 
10.3.4 fx2的固件程序设计 
10.3.5 usb 2.0接口的典型应用 
10.4 利用fpga实现常用显示接口(display interface) 
10.4.1 七段数码显示接口的设计与实现 
10.4.2 字符型lcd显示接口的设计与实现 
10.4.3 vga显示接口的设计与实现 
10.5 利用fpga实现a/d、d/a转换器接口 
10.5.1 a/d、d/a转换器接口的特点 
10.5.2 a/d、d/a转换器接口的实现方法 
10.5.3 ad/da转换器接口的注意事项 
10.6 典型实例16:rs-232c(uart)接口的设计与实现 
10.6.1 实例内容及目标 
10.6.2 实例详解 
10.6.3 blockram的实现方法 
10.6.4 fpga代码的设计实现 
10.6.5 波特率的设定 
10.6.6 modelsim仿真验证 
10.6.7 小结 
10.7 典型实例17:usb 2.0接口的设计与实现 
10.7.1 实例的内容及目标 
10.7.2 usb接口通信实战步骤 
10.7.3 usb接口通信实例结果 
10.7.4 fpga代码的设计实现 
10.7.5 小结 
10.8 典型实例18:字符lcd接口的设计与实现 
10.8.1 实例的内容及目标 
10.8.2 字符lcd接口实例内容 
10.8.3 fpga代码设计实现 
10.8.4 modelsim仿真验证 
10.8.5 小结 
10.9 典型实例19:vga接口的设计与实现 
10.9.1 实例内容及目标 
10.9.2 vga接口实例内容 
10.9.3 fpga代码设计实现 
10.9.4 modelsim仿真验证 
10.9.5 小结 
第10章 fpga与dsp协同处理系统设计 
11.1 基于fpga+dsp协同处理平台的优势和适用领域 
11.1.1 基于fpga的信号处理系统的特点 
11.1.2 基于dsp的信号处理系统的特点 
11.1.3 基于fpga+dsp的信号处理系统优势和应用领域 
11.2 基于fpga+dsp的协同处理平台的设计流程 
11.2.1 fpga与dsp的功能划分 
11.2.2 fpga+dsp的系统设计流程 
11.3 fpga与dsp的通信接口设计 
11.3.1 基于tms320c64x系列的emif接口设计 
11.3.2 基于tms320系列dsp的主机接口(hpi)设计 
11.4 fpga+dsp协同平台的调试技巧和注意事项 
11.4.1 fpga和dsp的隔离调试技术 
11.4.2 fpga测试点的设计 
11.4.3 借助fpga的内部逻辑分析仪来辅助调试 
11.5 典型实例20:fpga片上硬件乘法器的使用 
11.5.1 实例的内容及目标 
11.5.2 硬件乘法ip的使用方法 
11.5.3 小结 
11.6 典型实例21:整数dct变换的设计与实现 
11.6.1 实例的内容及目标 
11.6.2 整数dct变换的原理 
11.6.3 实例步骤 
11.6.4 小结 
第12章 数字图像倍焦系统设计与实现综合实例 
12.1 设计需求分析与芯片选型 
12.1.1 需求分析 
12.1.2 芯片选型 
12.2 系统工作原理分析 
12.3 系统原理框图 
12.4 fpga内部结构设计 
12.4.1 fpga内部结构框图 
12.4.2 各个模块功能描述 
12.5 系统硬件配置方案 
12.5.1 fpga的配置 
12.5.2 video decoder(saa7113h)的配置 
12.5.3 video encoder(saa7128)的配置 
12.5.4 印刷电路板(pcb)设计 
12.6 fpga在其他视频和图像处理系统中的应用 
第13章 高速pci信号采集卡设计与实现综合实例 
13.1 设计需求分析与功能定义 
13.1.1 信号与信号采集系统 
13.1.2 设计需求分析 
13.1.3 选型及功能定义 
13.2 系统工作原理分析 
13.2.1 数据总线 
13.2.2 控制总线 
13.2.3 地址总线 
13.2.4 信号采集系统控制机制 
13.3 pci接口芯片pci9054与fpga的接口设计 
13.3.1 pci9054的特性 
13.3.2 pci9054工作模式 
13.3.3 pci设备空间配置 
13.3.4 pci9054与fpga接口设计 
13.4 pci卡的驱动程序设计 
13.4.1 wdm驱动程序模型 
13.4.2 设备和驱动程序的层次结构 
13.4.3 pci设备驱动程序例程 
13.5 主机应用程序和驱动程序的接口设计 
13.5.1 驱动程序例程的封装 
13.5.2 plx api函数 
13.5.3 api函数调用 
13.5.4 pci9054驱动程序安装 
13.6 fpga内部结构设计 
13.6.1 构框图 
13.6.2 设计方法 
13.7 硬件系统实现 
13.7.1 fpga配置 
13.7.2 pci9054配置 
13.7.3 pci9054 pci总线连接规范 
13.7.4 电源系统 
13.8 样机的调试方法和技巧 
13.8.1 没有pci控制的跑马灯 
13.8.2 基于pci控制的跑马灯 
13.9 产品稳定性和可靠性测试 
13.10 产品定型和设计文档备案