微信扫一扫,移动浏览光盘
简介
Verilog SOPC 高级实验教程是为学习Verilog语言之后,想在FPGA上设
计并实现嵌入式数字系统的人们而专门编写的。本实验教程是《Verilog数
字系统设计教程》(第2版)的后续课程,是姊妹篇。本书通过由浅入深的10
个实验,详细地介绍了ModelSim 6.0和Quartus Ⅱ 8.1的操作步骤,扼要地
介绍了Quartus Ⅱ 8.1的主要设计资源和SOPCBuilder等工具的应用方法,
并阐述了如何配合自己设计的Verilog模块和FPGA中的内嵌处理器Nios Ⅱ
等现成IP资源,设计并实现高性能嵌入式硬件/软件系统。本实验教程也可
以作为集成电路设计专业系统芯片(SoC)前端逻辑设计和验证课程的实验教
材。为了使阐述的内容更加具体,本教程中的每个实验均选用Altera FPGA
(型号为Cyclone Ⅱ EP2C35F672C8)实现,并在革新科技公司专业级实验平
台GXSOC/SOPC运行通过。
本书可作为电子信息、自动控制、计算机工程类大学本科高年级学生和
研究生的教学用书,亦可供其他工程技术人员自学与参考。
目录
第1讲 ModelSim SE 6.0的操作1
1.1 创建设计文件的目录2
1.2 编写RTL代码3
1.3 编写测试代码3
1.4 开始RTL仿真前的准备工作4
1.5 编译前的准备、编译和加载5
1.6 波形观察器的设置5
1.7 仿真的运行控制5
总结6
思考题6
第2讲 Quartus 8.1入门8
2.1 Quartus Ⅱ的基本操作知识8
2.2 Quartus Ⅱ的在线帮助9
2.3 建立新的设计项目9
2.4 用线路原理图为输入设计电路 12
2.4.1 图块编辑器的使用12
2.4.2 线路原理图文件与Verilog 文件之间的转换16
2.5 编译器的使用16
2.6 对已设计的电路进行仿真19
2.7 对已布局布线的电路进行时序仿真20
总结21
思考题21
第3讲 用Altera器件实现电路23
3.1 用Cyclone ⅡFPGA实现电路 23
3.2 芯片的选择24
3.3 项目的编译26
3.4 在FPGA中实现设计的电路27
总结35
思考题35
第4讲 参数化模块库的使用37
4.1 在Quartus Ⅱ下建立引用参数化模块的目录和设计项目37
4.2 在Quartus Ⅱ下进入设计资源引用环境37
4.3 参数化加法-减法器的配置和确认38
4.4 参数化加法器的编译和时序分析43
4.5 复杂算术运算的硬件逻辑实现43
总结44
思考题45
第5讲 锁相环模块和SignalTap的使用48
5.1 在Quartus Ⅱ下建立引用参数化模块的目录和设计项目48
5.2 在Quartus Ⅱ下进入设计资源引用环境49
5.3 参数化锁相环的配置和确认49
5.4 参数化锁相环配置后生成的Verilog代码53
5.5 参数化PLL的实例引用57
5.6 设计模块电路引脚的分配59
5.7 用ModelSim对设计电路进行布局布线后仿真图60
5.8 Signal Tap Ⅱ的使用62
5.8.1 Signal Tap Ⅱ和其他逻辑电路调试工具的原理63
5.8.2 调用Signal Tap Ⅱ的方法63
5.8.3 Signal Tap Ⅱ的配置64
总结70
思考题71
第6讲 Quartus ⅡSOPCBuilder的使用73
6.1 Quartus ⅡSOPCBuilder的总体介绍73
6.2 SOPCBuilder人机界面的介绍73
6.3 将Nios Ⅱ处理器核添加到系统75
6.4 部件之间连接的确定76
6.5 系统内存部件的确定及其在系统中的添加77
6.6 系统构成部件的重新命名和系统的标识符78
6.7 基地址和中断请求优先级别的指定78
6.8 Nios Ⅱ复位和异常地址的设置79
6.9 Nios Ⅱ系统的生成79
6.10 将配置好的 Nios Ⅱ核集成到MyNiosSystem项目81
6.11 用 Nios Ⅱ软件集成开发环境IDE建立用户程序83
6.12 软件代码解释87
总结88
思考题和实验88
第7讲 在Nios Ⅱ系统中融入IP91
7.1 Avalon总线概况91
7.2 设计模块和信号输入电路简介92
7.2.1 LED阵列显示接口的设计( leds_matrix.v )92
7.2.2 按钮信号的输入(button.v)98
7.3 硬件设计步骤100
7.3.1 建一个目录放置设计文件100
7.3.2 创建设计的组件101
7.3.3 Nios Ⅱ系统的构成105
7.3.4 对Verilog 文件的归纳和编写设计项目的顶层文件108
7.3.5 用.tcl文件对FPGA引脚的定义110
7.3.6 对项目的编译113
7.3.7 把编译生成的电路配置代码下载到FPGA114
7.4 软件设计步骤114
7.4.1 建立软件程序目录并调用Nios ⅡIDE114
7.4.2 程序的运行118
总结118
思考题119
第8讲 LCD显示控制器IP的设计121
8.1 LCD显示的相关概念介绍121
8.1.1 位图的基础知识121
8.1.2 位图的尺寸122
8.1.3 位图颜色122
8.1.4 地址的线性、矩形选择122
8.1.5 alpha混合122
8.1.6 TFT-LCD彩色显示控制时序图123
8.1.7 显示器控制接口(IP)知识产权核介绍124
8.2 显示控制器IP核总体结构及其与嵌入式Nios Ⅱ处理器核的关系125
8.3 端口信号的说明127
8.4 显示控制器IP核的基本操作128
8.5 显示控制器IP寄存器的说明128
8.5.1 寄存器总体介绍128
8.5.2 控制寄存器组129
8.5.3 时序寄存器组130
8.5.4 背景层相关寄存器组131
8.6 模块划分及模块功能简介132
8.7 LCD IP模块的测试137
8.8 在SOPC系统中应用LCD显示控制器IP核137
8.9 构建SOPC系统145
8.10 引脚分配151
8.11 软件开发153
8.12 软件代码解释158
总结158
思考题159
第9讲 BitBLT控制器IP161
9.1 图形加速及BitBLT相关概念介绍161
9.1.1 位图和BitBLT162
9.1.2 调色板162
9.1.3 颜色扩展163
9.1.4 颜色键控163
9.1.5 光栅操作163
9.2 BitBLT控制器IP介绍164
9.2.1 BitBLT控制器IP结构和系统结构框图164
9.2.2 BitBLT控制器IP寄存器说明166
9.2.3 BitBLT控制器IP模块说明167
9.3 BitBLT控制器IP使用示例169
9.3.1 构建SOPC系统169
9.3.2 引脚分配173
9.3.3 软件开发176
9.3.4 软件源程序182
9.3.5 软件代码解释189
总结190
思考题191
第10讲 复杂SOPC系统的设计192
10.1 本讲使用的主要组件简介193
10.1.1 LCD控制器193
10.1.2 BitBLT控制器 193
10.2 硬件设计步骤193
10.2.1 Quartus Ⅱ工程的建立193
10.2.2 在工程中加入LCD控制器和BitBLT控制器194
10.2.3 Nios Ⅱ系统的构成194
10.2.4 编写设计项目顶层文件194
10.2.5 FPGA引脚定义194
10.2.6 编译和下载项目194
10.3 软件开发194
10.3.1 软件程序介绍194
10.3.2 软件结构195
10.3.3 软件源程序195
10.3.4 软件代码解释203
总结203
思考题205
本书的结束语206
附录 GX-SOC/ SOPC 专业级创新开发实验平台207
附录1 GX-SOC/SOPC-DEV-LAB Platform开发实验平台概述207
附录2 GX-SOC/SOPC-DEV-LAB Platform 创新开发实验平台简介209
附录3 GX-SOC/SOPC-DEV-LAB Platform创新开发实验平台的组成和结构210
附录4 GX-SOPC-EP2C35-M672 Cyclone Ⅱ核心板硬件资源介绍253
参考文献259
1.1 创建设计文件的目录2
1.2 编写RTL代码3
1.3 编写测试代码3
1.4 开始RTL仿真前的准备工作4
1.5 编译前的准备、编译和加载5
1.6 波形观察器的设置5
1.7 仿真的运行控制5
总结6
思考题6
第2讲 Quartus 8.1入门8
2.1 Quartus Ⅱ的基本操作知识8
2.2 Quartus Ⅱ的在线帮助9
2.3 建立新的设计项目9
2.4 用线路原理图为输入设计电路 12
2.4.1 图块编辑器的使用12
2.4.2 线路原理图文件与Verilog 文件之间的转换16
2.5 编译器的使用16
2.6 对已设计的电路进行仿真19
2.7 对已布局布线的电路进行时序仿真20
总结21
思考题21
第3讲 用Altera器件实现电路23
3.1 用Cyclone ⅡFPGA实现电路 23
3.2 芯片的选择24
3.3 项目的编译26
3.4 在FPGA中实现设计的电路27
总结35
思考题35
第4讲 参数化模块库的使用37
4.1 在Quartus Ⅱ下建立引用参数化模块的目录和设计项目37
4.2 在Quartus Ⅱ下进入设计资源引用环境37
4.3 参数化加法-减法器的配置和确认38
4.4 参数化加法器的编译和时序分析43
4.5 复杂算术运算的硬件逻辑实现43
总结44
思考题45
第5讲 锁相环模块和SignalTap的使用48
5.1 在Quartus Ⅱ下建立引用参数化模块的目录和设计项目48
5.2 在Quartus Ⅱ下进入设计资源引用环境49
5.3 参数化锁相环的配置和确认49
5.4 参数化锁相环配置后生成的Verilog代码53
5.5 参数化PLL的实例引用57
5.6 设计模块电路引脚的分配59
5.7 用ModelSim对设计电路进行布局布线后仿真图60
5.8 Signal Tap Ⅱ的使用62
5.8.1 Signal Tap Ⅱ和其他逻辑电路调试工具的原理63
5.8.2 调用Signal Tap Ⅱ的方法63
5.8.3 Signal Tap Ⅱ的配置64
总结70
思考题71
第6讲 Quartus ⅡSOPCBuilder的使用73
6.1 Quartus ⅡSOPCBuilder的总体介绍73
6.2 SOPCBuilder人机界面的介绍73
6.3 将Nios Ⅱ处理器核添加到系统75
6.4 部件之间连接的确定76
6.5 系统内存部件的确定及其在系统中的添加77
6.6 系统构成部件的重新命名和系统的标识符78
6.7 基地址和中断请求优先级别的指定78
6.8 Nios Ⅱ复位和异常地址的设置79
6.9 Nios Ⅱ系统的生成79
6.10 将配置好的 Nios Ⅱ核集成到MyNiosSystem项目81
6.11 用 Nios Ⅱ软件集成开发环境IDE建立用户程序83
6.12 软件代码解释87
总结88
思考题和实验88
第7讲 在Nios Ⅱ系统中融入IP91
7.1 Avalon总线概况91
7.2 设计模块和信号输入电路简介92
7.2.1 LED阵列显示接口的设计( leds_matrix.v )92
7.2.2 按钮信号的输入(button.v)98
7.3 硬件设计步骤100
7.3.1 建一个目录放置设计文件100
7.3.2 创建设计的组件101
7.3.3 Nios Ⅱ系统的构成105
7.3.4 对Verilog 文件的归纳和编写设计项目的顶层文件108
7.3.5 用.tcl文件对FPGA引脚的定义110
7.3.6 对项目的编译113
7.3.7 把编译生成的电路配置代码下载到FPGA114
7.4 软件设计步骤114
7.4.1 建立软件程序目录并调用Nios ⅡIDE114
7.4.2 程序的运行118
总结118
思考题119
第8讲 LCD显示控制器IP的设计121
8.1 LCD显示的相关概念介绍121
8.1.1 位图的基础知识121
8.1.2 位图的尺寸122
8.1.3 位图颜色122
8.1.4 地址的线性、矩形选择122
8.1.5 alpha混合122
8.1.6 TFT-LCD彩色显示控制时序图123
8.1.7 显示器控制接口(IP)知识产权核介绍124
8.2 显示控制器IP核总体结构及其与嵌入式Nios Ⅱ处理器核的关系125
8.3 端口信号的说明127
8.4 显示控制器IP核的基本操作128
8.5 显示控制器IP寄存器的说明128
8.5.1 寄存器总体介绍128
8.5.2 控制寄存器组129
8.5.3 时序寄存器组130
8.5.4 背景层相关寄存器组131
8.6 模块划分及模块功能简介132
8.7 LCD IP模块的测试137
8.8 在SOPC系统中应用LCD显示控制器IP核137
8.9 构建SOPC系统145
8.10 引脚分配151
8.11 软件开发153
8.12 软件代码解释158
总结158
思考题159
第9讲 BitBLT控制器IP161
9.1 图形加速及BitBLT相关概念介绍161
9.1.1 位图和BitBLT162
9.1.2 调色板162
9.1.3 颜色扩展163
9.1.4 颜色键控163
9.1.5 光栅操作163
9.2 BitBLT控制器IP介绍164
9.2.1 BitBLT控制器IP结构和系统结构框图164
9.2.2 BitBLT控制器IP寄存器说明166
9.2.3 BitBLT控制器IP模块说明167
9.3 BitBLT控制器IP使用示例169
9.3.1 构建SOPC系统169
9.3.2 引脚分配173
9.3.3 软件开发176
9.3.4 软件源程序182
9.3.5 软件代码解释189
总结190
思考题191
第10讲 复杂SOPC系统的设计192
10.1 本讲使用的主要组件简介193
10.1.1 LCD控制器193
10.1.2 BitBLT控制器 193
10.2 硬件设计步骤193
10.2.1 Quartus Ⅱ工程的建立193
10.2.2 在工程中加入LCD控制器和BitBLT控制器194
10.2.3 Nios Ⅱ系统的构成194
10.2.4 编写设计项目顶层文件194
10.2.5 FPGA引脚定义194
10.2.6 编译和下载项目194
10.3 软件开发194
10.3.1 软件程序介绍194
10.3.2 软件结构195
10.3.3 软件源程序195
10.3.4 软件代码解释203
总结203
思考题205
本书的结束语206
附录 GX-SOC/ SOPC 专业级创新开发实验平台207
附录1 GX-SOC/SOPC-DEV-LAB Platform开发实验平台概述207
附录2 GX-SOC/SOPC-DEV-LAB Platform 创新开发实验平台简介209
附录3 GX-SOC/SOPC-DEV-LAB Platform创新开发实验平台的组成和结构210
附录4 GX-SOPC-EP2C35-M672 Cyclone Ⅱ核心板硬件资源介绍253
参考文献259
Verilog SOPC 高级实验教程
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!