SOPC涉及嵌入式系统、SOC、FPGA/CPLD、EDA、硬件描述语言等多种概念和技术,本书从嵌入式应用系统设计的角度,全面、系统、详细地介绍基于Altera公司的Nios Ⅱ嵌入式软核处理器的SOPC软硬件设计环境、原理、方法及应用技术。
本书可作为高等院校计算机、自动化等专业本科生、研究生嵌入式系统课程教材或参考资料。也可供嵌入式系统及SOPC应用系统开发工程技术人员参考。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | NiosII嵌入式软核SOPC设计原理及应用 |
分类 | |
作者 | 李兰英 |
出版社 | 北京航空航天大学出版社 |
下载 | ![]() |
简介 | 编辑推荐 SOPC涉及嵌入式系统、SOC、FPGA/CPLD、EDA、硬件描述语言等多种概念和技术,本书从嵌入式应用系统设计的角度,全面、系统、详细地介绍基于Altera公司的Nios Ⅱ嵌入式软核处理器的SOPC软硬件设计环境、原理、方法及应用技术。 本书可作为高等院校计算机、自动化等专业本科生、研究生嵌入式系统课程教材或参考资料。也可供嵌入式系统及SOPC应用系统开发工程技术人员参考。 内容推荐 SOPC涉及嵌入式系统、SOC、FPGA/CPLD、EDA、硬件描述语言等多种概念和技术,本书从嵌入式应用系统设计的角度,全面、系统、详细地介绍基于Altera公司的Nios Ⅱ嵌入式软核处理器的SOPC软硬件设计环境、原理、方法及应用技术。 主要内容包括:SOPC的概念、系统组成和开发环境;使用SOPC Builder开发硬件系统的流程和方法;使用Nios Ⅱ IDE开发应用程序的流程和方法;FPGA配置和Flash编程技术;SOPC系统设计中的高级技术;基于Cyclone Ⅱ开发板的SOPC系统开发实例;Quartus Ⅱ中集成的仿真工具Simulator及第三方仿真软件ModelsSim的功能、使用方法及在SOPC中的应用。 本书可作为高等院校计算机、自动化等专业本科生、研究生嵌入式系统课程教材或参考资料。也可供嵌入式系统及SOPC应用系统开发工程技术人员参考。 目录 第1章 概述 1.1 SOPC及其技术1 1.1.1 嵌入式系统简介1 1.1.2 SOC系统简介3 1.1.3 SOPC技术简介5 1.1.4 CPLD/FPGA简介9 1.1.5 新一代低成本FPGA——Cyclone II简介14 1.2 Nios II软核SOPC系统及组件26 1.2.1 Nios II软核嵌入式处理器29 1.2.2 Avalon Switch Fabric30 1.2.3 外围设备32 1.3 Nios II软核SOPC系统开发环境32 1.3.1 硬件开发环境32 1.3.2 软件开发环境33 第2章 Nios II嵌入式软核处理器体系结构 2.1 Nios II处理器的实现35 2.2 Nios II的内部寄存器37 2.2.1 通用寄存器37 2.2.2 控制寄存器38 2.3 Nios II的操作模式39 2.3.1 管理模式39 2.3.2 用户模式40 2.3.3 调试模式40 2.3.4 模式之间的切换40 2.4 Nios II的异常处理41 2.4.1 硬件中断41 2.4.2 软件陷阱42 2.4.3 未实现指令42 2.4.4 确定异常产生的原因42 2.4.5 异常嵌套与返回43 2.4.6 断点处理与返回43 2.5 存储器与外设44 2.5.1 指令和数据总线45 2.5.2 高速缓存47 2.5.3 紧耦合存储器47 2.5.4 地址映射48 2.5.5 存储器与外设的访问48 2.6 处理器复位状态49 2.7 寻址方式与指令集分类49 2.7.1 寻址方式49 2.7.2 数据传送指令50 2.7.3 算术和逻辑运算指令50 2.7.4 移位和循环移位指令52 2.7.5 程序控制指令52 2.7.6 定制指令53 2.7.7 未实现指令53 2.8 JTAG调试模块53 第3章 Avalon总线规范 3.1 Avalon总线概述57 3.1.1 功能57 3.1.2 术语和概念58 3.2 Avalon信号60 3.2.1 信号的列表61 3.2.2 信号的极性64 3.2.3 信号的命名64 3.2.4 信号的时序65 3.2.5 传输特性65 3.3 Avalon从端口传输66 3.3.1 从端口信号详述66 3.3.2 从端口的读传输68 3.3.3 从端口的写传输73 3.4 Avalon主端口传输77 3.4.1 主端口信号详述77 3.4.2 基本主端口的读传输78 3.4.3 基本主端口的写传输80 3.4.4 等待状态、建立和保持时间81 3.5 流水传输81 3.5.1 具有固定延迟的从端口流水读传输82 3.5.2 具有可变延迟的从端口流水读传输83 3.5.3 主端口流水读传输85 3.6 流传输模式87 3.6.1 流模式从端口传输87 3.6.2 流模式主端口传输91 3.7 三态传输92 3.7.1 三态从端口传输92 3.7.2 三态主端口传输99 3.8 突发传输100 3.8.1 限制100 3.8.2 主端口突发传输101 3.8.3 从端口突发传输104 3.9 与传输无关的信号107 3.9.1 中断请求信号107 3.9.2 复位控制信号108 3.10 地址对齐109 3.10.1 静态地址对齐109 3.10.2 动态地址对齐110 第4章 Nios II外围设备 4.1 SDRAM控制器111 4.1.1 SDRAM控制器核概述111 4.1.2 SOPC Builder中的SDRAM控制器核配置选项114 4.1.3 配置实例117 4.1.4 SDRAM软件编程模型118 4.1.5 时钟、PLL和时序118 4.2 CFI控制器122 4.2.1 CFI Flash控制器核概述122 4.2.2 SOPC Builder中CFI控制器核配置选项123 4.2.3 CFI软件编程模型124 4.3 EPCS设备控制器125 4.3.1 EPCS控制器核综述125 4.3.2 SOPC Builder中EPCS控制器核配置选项127 4.3.3 EPCS软件编程模型127 4.4 PIO控制器128 4.4.1 PIO控制器核综述128 4.4.2 SOPC Builder中PIO核配置选项130 4.4.3 PIO软件编程模型131 4.4.4 PIO寄存器描述与中断131 4.5 定时器控制器133 4.5.1 定时器控制器核综述133 4.5.2 SOPC Builder中定时器核配置选项135 4.5.3 定时器软件编程模型136 4.5.4 定时器寄存器描述与中断137 4.6 UART核139 4.6.1 UART核综述139 4.6.2 SOPC Builder中UART核配置选项142 4.6.3 UART软件编程模型145 4.6.4 UART寄存器描述与中断147 4.7 JTAGUART核152 4.7.1 JTAG UART核综述152 4.7.2 SOPC Builder中JTAG UART核配置选项154 4.7.3 JTAG UART的软件编程模型156 4.7.4 JTAG UART寄存器描述与中断159 4.8 SPI核161 4.8.1 SPI核综述161 4.8.2 SPI配置实例162 4.8.3 SOPC Builder中SPI核配置选项164 4.8.4 SPI软件编程模型166 4.8.5 SPI寄存器描述167 4.9 DMA控制器169 4.9.1 DMA控制器核综述169 4.9.2 SOPC Builder中DMA控制器核配置选项171 4.9.3 DMA软件编程模型172 4.9.4 DMA寄存器描述与中断173 4.10 系统ID核176 4.10.1 系统ID核综述176 4.10.2 SOPC中系统ID核配置选项177 4.10.3 系统ID软件编程模型177 4.11 PLL核177 4.11.1 PLL核综述177 4.11.2 SOPC Builder中PLL控制器核配置选项179 4.11.3 PLL寄存器描述180 4.12 mutex核182 4.12.1 概述182 4.12.2 功能描述182 4.12.3 在SOPC Builder中使用mutex核183 4.12.4 mutex软件编程模型183 4.12.5 mutex核的API184 第5章 简单SOPC硬件系统开发 5.1 基于Nios II的SOPC硬件系统开发流程187 5.2 SOPC Builder硬件开发环境介绍189 5.2.1 建立系统189 5.2.2 生成系统190 5.3 简单SOPC实例开发系统需求及任务190 5.4 创建Quartus II工程191 5.5 使用SOPC Builder创建Nios II系统模块194 5.5.1 启动SOPC Builder进行Nios II系统硬件设计195 5.5.2 设置目标FPGA及时钟196 5.5.3 添加CPU和IP模块198 5.5.4 指定基地址和中断213 5.5.5 配置Nios II系统214 5.5.6 生成Nios II系统216 5.6 集成Nios II系统到Quartus II工程217 5.6.1 创建顶层模块218 5.6.2 添加Nios II系统模块到Quartus II顶层模块218 5.6.3 添加引脚和其他基本单元218 5.6.4 命名引脚及引脚连接220 5.6.5 选择器件及分配FPGA引脚221 5.6.6 器件和引脚的其他设置224 5.7 Quartus II工程编译227 5.7.1 创建编译器设置227 5.7.2 编译硬件系统228 5.8 编程下载229 第6章 SOPC软件开发 6.1 SOPC软件开发环境综述233 6.1.1 SOPC软件开发流程234 6.1.2 Nios II IDE集成开发环境235 6.1.3 GNU工具链239 6.1.4 HAL系统库240 6.1.5 RTOS和TCP/IP协议栈240 6.2 HAL系统库240 6.2.1 HAL系统库结构240 6.2.2 使用HAL开发应用程序241 6.2.3 使用HAL开发设备驱动程序247 6.3 使用Nios II IDE建立用户应用程序251 6.3.1 创建一个新的C/C++应用工程252 6.3.2 设置C/C++应用工程系统属性256 6.3.3 编译链接工程258 6.3.4 调试程序260 6.3.5 运行程序261 6.3.6 使用ModelSim进行RTL级系统仿真263 第7章 FPGA配置和Flash编程 7.1 FPGA配置概述272 7.2 Cyclone II系列FPGA配置276 7.2.1 Cyclone II系列FPGA配置概述277 7.2.2 配置文件277 7.2.3 配置数据的压缩278 7.2.4 AS配置模式279 7.2.5 PS配置模式287 7.2.6 JTAG配置模式298 7.2.7 Cyclone II系列FPGA的配置引脚定义304 7.3 FPGA的配置器件308 7.3.1 串行配置器件功能描述309 7.3.2 AS模式下的FPGA配置312 7.3.3 AS模式下串行配置器件的存储器访问313 7.3.4 电源与操作320 7.3.5 串行配置器件的时序321 7.3.6 编程与配置文件323 7.3.7 串行配置器件的引脚描述323 7.4 Quartus II中FPGA配置的选项325 7.4.1 配置选项325 7.4.2 配置文件的格式329 7.5 FPGA配置调试技术335 7.5.1 板子布局335 7.5.2 调试技术335 7.6 IDE Flash Programmer介绍337 7.6.1 Nios II IDE Flash Programmer的编程过程338 7.6.2 Flash编程模式338 7.6.3 Flash Programmer目标设计338 7.6.4 Flash中的编程内容340 7.6.5 Flash文件340 7.7 用户程序引导341 7.7.1 从CFI Flash中引导用户程序341 7.7.2 从EPCS串行配置器件中引导用户程序341 7.7.3 引导复制程序341 7.8 在IDE模式下使用Nios II Flash Programmer342 7.9 板子描述编辑器343 7.9.1 简介343 7.9.2 板子描述的创建344 7.9.3 Flash Memory标签346 7.9.4 Files标签347 第8章 Nios II系统深入设计 8.1 异常处理程序的开发349 8.1.1 Nios II异常分类349 8.1.2 硬件抽象层的实现349 8.1.3 中断服务程序352 8.2 缓存和紧耦合存储器的编程357 8.2.1 复位后缓存的初始化358 8.2.2 设备驱动程序中缓存的编程359 8.2.3 装载程序或自更新程序的编写360 8.2.4 多主/多CPU系统中缓存的管理361 8.2.5 紧耦合存储器概述362 8.2.6 紧耦合存储器接口364 8.2.7 使用紧耦合存储器创建Nios II系统364 8.3 μC/OSII实时操作系统371 8.3.1 μC/OSII实时操作系统简介371 8.3.2 μC/OSII在Nios II上的移植372 8.3.3 Nios II IDE中μC/OSII工程的实现375 8.3.4 设计实例的软硬件要求380 8.3.5 在Nios II中建立μC/OSII工程380 8.4 以太网与轻量IP385 8.4.1 轻量IP概述385 8.4.2 轻量IP协议栈的使用386 8.4.3 Nios II IDE中轻量IP的配置391 8.4.4 设计实例的软硬件环境394 8.4.5 实例的设计文件394 8.4.6 软件开发流程395 8.4.7 Simple Socket Server设计概述400 8.5 Nios II多处理器系统408 8.5.1 多处理器系统设计概述408 8.5.2 多处理器系统的优势408 8.5.3 Nios II多处理器系统硬件设计408 8.5.4 Nios II多处理器系统的资源共享409 8.5.5 Nios II多处理器系统软件设计413 8.5.6 Nios II多处理器系统设计实例415 8.6 定制Nios II用户指令427 8.6.1 Nios II定制指令综述427 8.6.2 定制指令实现方式433 8.6.3 定制指令设计实例436 8.7 定制基于Avalon的用户外设445 8.7.1 设计概述445 8.7.2 组件开发流程446 8.7.3 设计实例——PWM从接口449 第9章 基于Cyclone II开发板的SOPC系统开发实例 9.1 全彩LED音乐景观灯控制系统总体设计方案460 9.1.1 系统需求分析460 9.1.2 硬件总体设计方案461 9.1.3 软件总体设计方案463 9.2 控制系统硬件设计与实现463 9.2.1 全彩LED灯控PWM IP核的设计与实现463 9.2.2 CF卡设计与实现470 9.2.3 MP3解码硬件电路设计与实现481 9.2.4 LED发光二极管控制与驱动电路设计483 9.3 控制系统软件设计485 9.3.1 读取CF卡软件设计485 9.3.2 全彩LED灯控制程序设计488 9.3.3 播放MP3音乐软件设计491 第10章 仿真与调试 10.1 使用Quartus II Simulator进行仿真设计496 10.1.1 Quartus II Simulator仿真496 10.1.2 Quartus II支持的 EDA仿真506 10.1.3 Quartus II的延时分析509 10.2 使用ModelSim进行仿真512 10.2.1 ModelSim仿真软件简介512 10.2.2 ModelSim软件的结构514 10.2.3 ModelSim运行方式514 10.2.4 ModelSim的功能仿真515 10.2.5 门级仿真与时序仿真522 10.2.6 初始化存储器529 10.2.7 测试平台535 10.3 SignalTap II 实时测试542 10.3.1 SignalTap II逻辑分析仪用户界面543 10.3.2 应用SignalTap II逻辑分析仪测试信号544 附录A Altera Cyclone II Nios II实验开发套件548 附录B Cyclone II EP2C35实验开发板550 附录C Cyclone II EP2C35引脚表560 参考文献564 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。