Nios II 嵌入式软核SOPC设计原理及应用PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:李兰英等编著(哈尔滨理工计算机学院)
- 出 版 社:北京:北京航空航天大学出版社
- 出版年份:2006
- ISBN:7810779001
- 页数:564 页
第1章 概述 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 Ⅱ简介 14
1.2 Nios Ⅱ软核SOPC系统及组件 26
1.2.1 Nios Ⅱ软核嵌入式处理器 29
1.2.2 Avalon Switch Fabric 30
1.2.3 外围设备 32
1.3 Nios Ⅱ软核SOPC系统开发环境 32
1.3.1 硬件开发环境 32
1.3.2 软件开发环境 33
第2章 Nios Ⅱ嵌入式软核处理器体系结构 35
2.1 Nios Ⅱ处理器的实现 35
2.2 Nios Ⅱ的内部寄存器 37
2.2.1 通用寄存器 37
2.2.2 控制寄存器 38
2.3 Nios Ⅱ的操作模式 39
2.3.1 管理模式 39
2.3.2 用户模式 40
2.3.3 调试模式 40
2.3.4 模式之间的切换 40
2.4 Nios Ⅱ的异常处理 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总线规范 57
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 Ⅱ外围设备 111
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 JTAG UART核 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核的API 184
第5章 简单SOPC硬件系统开发 187
5.1 基于Nios Ⅱ的SOPC硬件系统开发流程 187
5.2 SOPC Builder硬件开发环境介绍 189
5.2.1 建立系统 189
5.2.2 生成系统 190
5.3 简单SOPC实例开发系统需求及任务 190
5.4 创建Quartus Ⅱ工程 191
5.5 使用SOPC Builder创建Nios Ⅱ系统模块 194
5.5.1 启动SOPC Builder进行Nios Ⅱ系统硬件设计 195
5.5.2 设置目标FPGA及时钟 196
5.5.3 添加CPU和IP模块 198
5.5.4 指定基地址和中断 213
5.5.5 配置Nios Ⅱ系统 214
5.5.6 生成Nios Ⅱ系统 216
5.6 集成Nios Ⅱ系统到Quartus Ⅱ工程 217
5.6.1 创建顶层模块 218
5.6.2 添加Nios Ⅱ系统模块到Quartus Ⅱ顶层模块 218
5.6.3 添加引脚和其他基本单元 218
5.6.4 命名引脚及引脚连接 220
5.6.5 选择器件及分配FPGA引脚 221
5.6.6 器件和引脚的其他设置 224
5.7 Quartus Ⅱ工程编译 227
5.7.1 创建编译器设置 227
5.7.2 编译硬件系统 228
5.8 编程下载 229
第6章 SOPC软件开发 233
6.1 SOPC软件开发环境综述 233
6.1.1 SOPC软件开发流程 234
6.1.2 Nios Ⅱ 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 Ⅱ 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编程 272
7.1 FPGA配置概述 272
7.2 Cyclone Ⅱ系列FPGA配置 276
7.2.1 Cyclone Ⅱ系列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 Ⅱ系列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 Ⅱ中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 Ⅱ 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 Ⅱ Flash Programmer 342
7.9 板子描述编辑器 343
7.9.1 简介 343
7.9.2 板子描述的创建 344
7.9.3 Flash Memory标签 346
7.9.4 Files标签 347
第8章 Nios Ⅱ系统深入设计 349
8.1 异常处理程序的开发 349
8.1.1 Nios Ⅱ异常分类 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 Ⅱ系统 364
8.3 μC/OS-Ⅱ实时操作系统 371
8.3.1 μC/OS-Ⅱ实时操作系统简介 371
8.3.2 μC/OS-Ⅱ在Nios Ⅱ上的移植 372
8.3.3 Nios Ⅱ IDE中μC/OS-Ⅱ工程的实现 375
8.3.4 设计实例的软硬件要求 380
8.3.5 在Nios Ⅱ中建立μC/OS-Ⅱ工程 380
8.4 以太网与轻量IP 385
8.4.1 轻量IP概述 385
8.4.2 轻量IP协议栈的使用 386
8.4.3 Nios Ⅱ 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 Ⅱ多处理器系统 408
8.5.1 多处理器系统设计概述 408
8.5.2 多处理器系统的优势 408
8.5.3 Nios Ⅱ多处理器系统硬件设计 408
8.5.4 Nios Ⅱ多处理器系统的资源共享 409
8.5.5 Nios Ⅱ多处理器系统软件设计 413
8.5.6 Nios Ⅱ多处理器系统设计实例 415
8.6 定制Nios Ⅱ用户指令 427
8.6.1 Nios Ⅱ定制指令综述 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 Ⅱ开发板的SOPC系统开发实例 460
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章 仿真与调试 496
10.1 使用Quartus Ⅱ Simulator进行仿真设计 496
10.1.1 Quartus Ⅱ Simulator仿真 496
10.1.2 Quartus Ⅱ支持的EDA仿真 506
10.1.3 Quartus Ⅱ的延时分析 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 Ⅱ实时测试 542
10.3.1 SignalTap Ⅱ逻辑分析仪用户界面 543
10.3.2 应用SignalTap Ⅱ逻辑分析仪测试信号 544
附录A Altera Cyclone Ⅱ Nios Ⅱ实验开发套件 548
附录B Cyclone Ⅱ EP2C35实验开发板 550
附录C Cyclone Ⅱ EP2C35引脚表 560
参考文献 564
- 《第一性原理方法及应用》李青坤著 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《高等院校保险学专业系列教材 保险学原理与实务》林佳依责任编辑;(中国)牟晓伟,李彤宇 2019
- 《刑法归责原理的规范化展开》陈璇著 2019
- 《教师教育系列教材 心理学原理与应用 第2版 视频版》郑红,倪嘉波,刘亨荣编;陈冬梅责编 2020
- 《物联网与嵌入式技术及其在农业上的应用》马德新 2019
- 《单片机原理及应用》庄友谊 2020
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《计算机组成原理 第2版》任国林 2018
- 《化工原理课程设计》刘建周主编 2018
- 《断陷湖盆比较沉积学与油气储层》赵永胜等著 1996
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019