基于FPGA的SOPC嵌入式系统设计与典型实例pdf下载

基于FPGA的SOPC嵌入式系统设计与典型实例百度网盘pdf下载

作者:
简介:基于FPGA的SOPC嵌入式系统设计与典型实例
出版社:电子工业出版社
出版时间:2009-01-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐


  特别说明:购买此电子书,暂无附赠光盘,敬请谅解。

内容简介
  基于FPGA 的SOPC设计技术是当前电子系统设计领域最前沿的技术之一。全书通过核心技术与典型实例的形式,全面系统、深入浅出地介绍了基于FPGA的嵌入式SOPC系统设计技术与应用实例。全书共分14章,第1~3章简要介绍了FPGA硬件结构知识、Verilog HDL编程基础、FPGA常用开发工具,引导读者入门;第4~7章重点对嵌入式SOPC系统设计技术进行了细致阐述,内容包括:SOPC硬件系统开发、SOPC软件系统开发、Avalon总线规范、Nios II外围设备及其编程;第8~14章通过7个典型实例,对基于FPGA的嵌入式SOPC系统设计过程进行实际演练,具体包括:七段数码管时钟显示实例、串口通信DMA传输实例、LED灯控PWM IP核的设计实例、通用TFT-LCD控制器及PS2鼠标设计实例、对对碰游戏设计实例、GPS信息接收系统设计实例以及基于Nios II的I2C总线传输应用设计。经过这些例子的学习,读者设计的能力将迅速提升,产生质的飞跃。
  本书语言通俗,结构清晰,基础知识和大量工程实例结合,实践性强。不但详细介绍了基于FPGA的嵌入式SOPC系统设计的构架与软硬件编程,同时提供了应用设计思路与方案,对实例的所有程序代码做了详细注释,利于读者理解和巩固知识点。
  本书配有光盘一张,包含了全书所有实例的硬件原理图和程序源代码,方便读者学习和使用。本书适合计算机、自动化、电子及硬件等相关专业的大学生,以及从事FPGA开发的科研人员使用。
目录
版权信息
丛书说明
光盘说明
前言
第一篇 FPGA基础
第1章 FPGA硬件结构知识
1.1 CPLD/FPGA概述
1.1.1 CPLD/FPGA的特点
1.1.2 CPLD/FPGA的发展方向
1.1.3 CPLD/FPGA的应用领域
1.2 FPGA体系结构
1.2.1 FPGA基本结构
1.2.2 FPGA的结构特点
1.2.3 FPGA的编程工艺
1.3 FPGA常用芯片与选用
1.3.1 FPGA常用芯片
1.3.2 FPGA器件的选用
1.4 本章小结
第2章 Verilog HDL语言编程基础
2.1 Verilog HDL语言特点
2.2 Verilog HDL程序的基本结构
2.2.1 模块
2.2.2 模块调用
2.3 程序格式
2.4 注释与间隔符
2.5 数值
2.6 字符串
2.7 标识符
2.8 系统任务和函数
2.9 编译指令
2.10 数据类型
2.10.1 线网(Net)和变量(Variable)
2.10.2 标量(Scalar)与矢量(Vector)
2.10.3 线网(Net)数据类型
2.10.4 变量(Variable)数据类型
2.10.5 数组(Array)类型
2.10.6 参数
2.10.7 名字空间
2.11 表达式
2.11.1 操作符
2.11.2 操作数
2.11.3 延迟表达式
2.11.4 表达式的位宽
2.11.5 有符号表达式
2.12 本章小结
第3章 FPGA常用开发工具
3.1 硬件开发工具Quartus II
3.1.1 Quartus II简介
3.1.2 Quartus II设计流程
3.1.3 Quartus II设计方法
3.1.4 Quartus II功能详解
3.1.5 时序约束与分析
3.1.6 设计优化
3.1.7 SignalTap II
3.2 ModelSim开发工具
3.2.1 ModelSim简介
3.2.2 基本仿真步骤
3.2.3 ModelSim各界面介绍
3.2.4 ModelSim调试功能
3.3 本章小结
第二篇 SOPC入门
第4章 SOPC硬件系统开发
4.1 SOPC系统特点与开发流程
4.2 SOPC Builder硬件开发环境介绍
4.2.1 SOPC Builder功能
4.2.2 SOPC Builder组成
4.2.3 SOPC Builder中包含的组件
4.3 使用SOPC Builder创建Nios II系统模块
4.3.1 创建Quartus II工程
4.3.2 启动并配置SOPC Builder
4.3.3 添加CPU及外设IP模块
4.3.4 生成Nios II系统
4.4 集成Nios II系统到Quartus II工程
4.4.1 创建包含Nios II系统的Quartus II顶层模块
4.4.2 FPGA引脚分配及其他设置
4.4.3 Quartus II工程的编译并下载
4.5 本章小结
第5章 SOPC软件系统开发
5.1 Nios II处理器结构
5.1.1 Nios II处理器概述
5.1.2 编程模型
5.1.3 JTAG调试模块
5.2 Nios II指令系统介绍
5.2.1 Nios II处理器的指令集
5.2.2 Nios II定制指令介绍
5.2.3 定制指令实现方式
5.2.4 定制指令设计实例——前导0检测器
5.3 Nios II IDE集成开发环境
5.3.1 Nios II IDE简介
5.3.2 HAL系统库
5.3.3 RTOS和TCP/IP协议栈
5.4 使用Nios II IDE建立应用程序
5.4.1 创建C/C++工程
5.4.2 配置工程的系统属性
5.4.3 编译及运行工程
5.4.4 调试模式
5.5 使用Flash Programmer下载
5.5.1 定制目标板
5.5.2 Flash Programmer配置及下载
5.6 本章小结
第6章 Avalon总线规范
6.1 Avalon总线概述
6.1.1 Avalon总线的特点
6.1.2 术语和概念
6.2 Avalon总线信号
6.2.1 Avalon信号类型列表
6.2.2 Avalon信号时序
6.2.3 Avalon总线传输特性
6.3 Avalon从端口传输
6.3.1 Avalon从端口信号介绍
6.3.2 Avalon从端口读传输
6.3.3 Avalon从端口写传输
6.4 Avalon主端口传输
6.4.1 Avalon主端口模块介绍
6.4.2 Avalon主端口读传输
6.4.3 Avalon主端口写传输
6.5 Avalon流水线传输模式
6.5.1 具有固定延迟的从端口流水线读传输
6.5.2 具有可变延迟的从端口流水线读传输
6.5.3 主端口流水线读传输
6.6 Avalon流传输模式
6.6.1 流模式从端口传输
6.6.2 流模式主端口传输
6.7 Avalon三态传输
6.7.1 三态从端口传输
6.7.2 三态主端口传输
6.8 Avalon突发传输
6.8.1 主端口突发传输
6.8.2 从端口突发传输
6.9 与传输无关的信号
6.9.1 中断请求信号
6.9.2 复位控制信号
6.10 Avalon总线地址对齐方式
6.10.1 本地地址对齐
6.10.2 动态地址对齐
6.11 本章小结
第7章 Nios II外围设备及其编程
7.1 并行输入/输出(PIO)
7.1.1 功能描述
7.1.2 配置选项
7.1.3 寄存器描述与中断
7.1.4 软件编程模型
7.2 通用异步收发器(UART)
7.2.1 功能描述
7.2.2 配置选项
7.2.3 寄存器描述与中断
7.2.4 软件编程模型
7.3 定时器(Timer)
7.3.1 功能描述
7.3.2 配置选项
7.3.3 寄存器描述与中断
7.3.4 软件编程模型
7.4 JTAG UART
7.4.1 功能描述
7.4.2 配置选项
7.4.3 寄存器描述与中断
7.4.4 软件编程模型
7.5 SDRAM控制器
7.5.1 功能描述
7.5.2 配置选项
7.5.3 SDRAM控制器配置实例
7.5.4 软件编程模型
7.6 CFI控制器
7.6.1 功能描述
7.6.2 配置选项
7.6.3 软件编程模型
7.7 EPCS设备控制器
7.7.1 功能描述
7.7.2 配置选项
7.7.3 软件编程模型
7.8 DMA控制器
7.8.1 功能描述
7.8.2 配置选项
7.8.3 寄存器描述与中断
7.8.4 软件编程模型
7.9 系统ID
7.9.1 功能描述
7.9.2 配置选项
7.9.3 软件编程模型
7.10 SPI
7.10.1 功能描述
7.10.2 配置选项
7.10.3 寄存器描述
7.10.4 软件编程模型
7.11 本章小结
第三篇 应用实战
第8章 基于FPGA的SOPC系统开发实例1——七段数码管时钟显示实例
8.1 实例内容说明
8.2 设计思路分析
8.3 硬件设计
8.4 软件设计与程序代码
8.5 实例小结
第9章 基于FPGA的 SOPC系统开发实例2——串口通信DMA传输实例
9.1 实例内容说明
9.2 设计思路分析
9.3 硬件设计
9.4 软件设计与程序代码
9.5 实例小结
第10章 基于FPGA的SOPC系统开发实例3——LED灯控PWM IP核设计
10.1 实例内容说明
10.2 设计思路分析
10.3 硬件设计
10.4 软件设计与程序代码
10.5 实例小结
第11章 基于FPGA的SOPC系统开发实例4——通用TFT-LCD控制器及PS2鼠标设计实例
11.1 实例内容说明
11.2 设计思路分析
11.3 硬件设计
11.4 软件设计与程序代码
11.5 实例小结
第12章 基于FPGA的SOPC系统开发实例5——对对碰游戏
12.1 实例内容说明
12.2 设计思路分析
12.3 硬件设计
12.4 软件设计与程序代码
12.5 实例小结
第13章 基于FPGA的SOPC系统开发实例6——GPS信息接收系统的设计
13.1 实例内容说明
13.2 设计思路分析
13.3 硬件设计
13.4 软件设计与程序代码
13.5 实例小结
第14章 基于FPGA的SOPC系统开发实例7——基于Nios‖的I2C总线传输应用设计
14.1 实例内容说明
14.2 设计思路分析
14.3 I2C总线介绍
14.3.1 I2C总线特点
14.3.2 I2C总线工作原理
14.4 AT24C02芯片介绍
14.4.1 AT24C02概述
14.4.2 AT24C02 读写时序
14.5 SOPC系统的创建
14.6 软件设计与程序代码
14.7 实例小结
附录A Nios II HAL中与PIO设计相关的API函数
前言
  基于FPGA的电子系统设计技术是21世纪电子应用工程师必备的基本技能之一,而基于FPGA的SOPC设计技术是当前电子系统设计领域最前沿的技术之一。Altera公司、Xilinx公司、Lattis公司、QuickLogic公司等全球最重要的FPGA及EDA公司都分别推出SOPC系统解决方案。SOC设计技术将是2l世纪的技术发展趋势,是现在高校和社会嵌入式培训班必需的内容和亮点。
  SOPC设计具体包括以32位Nios II为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、软件设计以及软件调试等。SOPC系统设计的基本软件工具包括:
  ·Quartus II:用于完成Nios II系统的综合、硬件优化、适配、编程下载以及硬件系统
  调试等;
  ·SOPC Builder:是Altera Nios II嵌入式处理器开发软件包,用于实现Nios II系统的配
  置、生成;
  ·ModelSim:用于对SOPC生成的NiosⅡ系统的HDL描述进行系统功能仿真;
  ·Nios II IDE:用于进行软件开发、调试以及向目标开发板进行Flash下载。
  目前市场上同类的SOPC书比较少,而且清一色地介绍编程语言和基础原理,对设计技术细节和实际工程案例涉及甚微,与SOPC设计技术现在的蓬勃发展与大量应用远远不符。本书的出版正可以填补这种空白。本书将以实用和应用为基本原则,根据作者多年积累的开发经验,通过讲练结合、循序渐进的形式来讲解,便于读者牢固深入学习,快速入门与提高。
精彩书摘
  第一篇 FPGA基础
  第1章 FPGA硬件结构知识
  随着信息技术革命和计算机技术的飞速发展,可编程逻辑技术已发展成一门关键的科学技术,而FPGA在工业界也已被广泛的应用。本书第1章,将首先介绍FPGA硬件结构知识。
  1.1 CPLD/FPGA概述
  CPLD是复杂可编程逻辑器件(Complex Programable Logic Device)的简称,FPGA是现场可编程门阵列(Field Programable Gage Array)的简称,两者的功能基本相同,只是实现原理略有不同,所以有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/FPGA。
  CPLD最早由Altera公司推出即MAX系列,多为Flash、EEPROM架构或乘积项(Product Term)架构,需外接配置用的EPROM下载。由于Altera的FLEX/ACEX/APEX系列也是ARAM架构,所以通常把Altera的FELX/ACEX/APEX系列芯片也叫做FPGA。