第2章 Quartus II开发环境的使用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进行编译 选项设置
编译硬件系统 生成配置文件sof 在目标板上 下载可执行 软件到 Nios II系统
下载配置文件到 FPGA器件
使用IDE编程工具 烧写配置文件和 软件代码
调试好的 硬件和软件
在目标板上运 行/调试软件
SOPC开发流程简图
分析系统需求
建立Quartus II工程, 建立顶层图*.bdf
编译硬件系统 生成配置文件sof 在目标板上 下载可执行 软件到 Nios II系统
下载配置文件到 FPGA器件
这个两过程类似传统电路设计中,将所有要使 用的芯片焊接到电路板上,然后通过PCB上的 连线将各个芯片连接起来,组成电路系统。
使用IDE编程工具 烧写配置文件和 软件代码
调试好的 硬件和软件
第 2章 SOPC开发流程及 Quartus II的使用
2.1 SOPC开发流程和开发工具
SOPC设计包括硬件和软件两部分。
硬件设计:主要基于Quartus II和 SOPC Builder。 软件设计:基于Nios II IDE。
•在进行SOPC开发之前,首先必 须确定系统的需求,如应用系统 •每个开发过程开始时都应建立 需求的计算性能、需要的带宽和 一个工程,Quartus II是以工程 吞吐量、需求的接口类型以及是 的方式对设计过程进行管理。在 否需求多线程的软件等。 工程中建立顶层模块文件 .bdf相 当于传统电路设计中的 电路板 NiosII内核 &标准外设 (PCB)。 •在 SOPC Builder 中添加需要的功能 模块(Nios II及其 标准外设模块), 完成后生成一个系 统模块。
处理器库
SOPC Builder GUI
配置Nios II处理器 选择并配置外设.IP 连接各外设模块 自定义命令
外设模块库
IP 模块
软件开发
硬件开发
• HDL 源文件 • 测试台
硬件配置 文件
分配外设地址和中断 生成系统
Nios II IDE
编译(分析与综合、布 局布线、时序分析等) 管脚连接分配
软 件 开 发 也 可 以 在 SOPC Builder 生成系统模块后立 即进行!与传统软件开发类 似,唯一不同在于系统是自 己定制的,所受局限小!
NiosII内核 &标准外设
打开SOPC Builder 定义和生成系统
定制指令&定 制外设逻辑
自定义的 功能模块
集成SOPC生 成的系统到 Quartus II工程
选择FPGA型号 并进行管脚分配
编译软件 生成可执 行文件elf 在IDE中使用 ISS运行/调试 软件
进行编译 选项设置
编译硬件系统 生成配置文件sof
• 最后利用 IDE 的编程 工具将配置文件烧写到 FPGA 的 配 置 芯 片 或 Flash ,将可执行文件 *.elf编程到Flash中。
• 将配置文件 .sof 下载到 ,将 • 直FPGA 到硬件 和 可执行文件 .elf 下 软件设计都达 载到 RAM。 到设计要求。
使用IDE编程工具 烧写配置文件和 软件代码
调试好的 硬件和软件
在目标板上运 行/调试软件
SOPC开发流程简图
2.1 SOPC开发流程和开发工具
硬件开发
• 用 SOPC Builder 软 件 从 NiosII 处 理 器 内 核 和 NiosII 开发套件提供的外设列表中 选取合适的 CPU、存储器以 及各外围器件,并定制和配置 它们的功能; • 分配外设地址及中断号; • 设定复位地址; • 最后生成系统。 • 用户也可以添加用户自身 定制指令逻辑到 NiosII 内核 以加速CPU性能; • 添加用户自己设计的IP模块。
• 用户代码 • 库函数 • 操作系统(RTOS)
Quartus II
片上调试 (软件跟踪、硬件断点 SignalTap II)
GNU Tools
硬件开发使用Quartus II和SOPC Builder
2.2 SOPC硬件开发实例
第一步是要进行需求分析,根据这个要求来建立硬件系统。 电子钟的设计要求: 在液晶屏上显示日期、时间; 可以设置日期、时间;
集成SOPC生 成的系统到 Quartus II工程
分析系统需求
建立Quartus II工程, 建立顶层图*.bdf
打开SOPC Builder 定义和生成系统
定制指令&定 制外设逻辑
自定义的 功能模块
Altera的 LPM模块
硬件抽象层 (HAL)&外设 驱动程序
使用Nios II IDE开发软件
编译硬件系统 生成配置文件sof 在目标板上 下载可执行 软件到 Nios II系统
下载配置文件到 FPGA器件
使用IDE编程工具 烧写配置文件和 软件代码
调试好的 硬件和软件
在目标板上运 行/调试软件
SOPC开发流程简图
分析系统需求
建立Quartus II工程, 建立顶层图*.bdf
NiosII内核 &标准外设
软件开发
软件开发使用Nios II IDE,它是一个基于Eclipse IDE架构的集成 开发环境,它包括: GNU开发工具(标准GCC编译器,连接器,汇编器和 makefile工具等); 基于GDB的调试器,包括软件仿真和硬件调试; 提供用户一个硬件抽象层HAL; 提供嵌入式操作系统MicroC/OS-II和LwTCP/IP协议栈的支持; 提供帮助用户快速入门的软件模板; 提供Flash下载支持(Flash Progrmmer 和QuartusII Programmer)
根据系统要求实现的功能,电子钟的设计要用到的外围器件有: LCD:电子钟显示屏幕; 按键:电子钟设置功能键; Flash存储器:存储软、硬件程序; SRAM存储器:程序运行时将其导入SRAM。 根据所要用到的外设、要实现的功能以及开发板的配置,在SOPC Builder中建立系统要添加的模块包括:Nios II CPU、定时器、按键 PIO、LCD控制器、AVALON三态桥、外部RAM接口、外部Flash接口。
外设模块库
IP 模块
软件开发
硬件开发
• HDL 源文件 • 测试台
硬件配置 文件
分配外设地址和中断 生成系统
Nios II IDE
• C头文件 • 用户库函数 • 外设驱动
编译(分析与综合、布 局布线、时序分析等) 管脚连接分配
验证调试
JTAG
串口、以太网
Altera GPGA • 用户逻辑设计 • 其它的IP模块 • SOPC Builder的 顶层.bdf文件
下载配置文件到 FPGA器件
使用IDE编程工具 烧写配置文件和 软件代码
调试好的 硬件和软件
在目标板上运 行/调试软件
SOPC开发流程简图
分析系统需求
建立Quartus II工程, 建立顶层图*.bdf
NiosII内核 &标准外设
打开SOPC Builder 定义和生成系统
定制指令&定 制外设逻辑
处理器库
SOPC Builder GUI
配置Nios II处理器 选择并配置外设.IP 连接各外设模块 自定义命令
外设模块库
IP 模块
软件开发
硬件开发
分配外设地址和中断 生成系统
Nios II IDE
Quartus II
GNU Tools
硬件开发使用Quartus II和SOPC Builder
2.1 SOPC开发流程和开发工具
自定义的 功能模块
集成SOPC生 成的系统到 Quartus II工程
Altera的 LPM模块
硬件抽象层 (HAL)&外设 驱动程序
使用Nios II IDE开发软件
用户C/C++应 用程序代码 和定制的库
连接各 功能模块
设置软件运行 硬件环境属性
•当 设 计 中 现 有 模块不能满足设 •在顶层模块中,分别 将 SOPC Builder生成 计要求时,可设 的系统 模 块 、 LPM 功 计自己的功能模 块。并在顶层模 能模块 以及用户自定 块中使用; 义功能 模块添加到顶 层模块中;
打开SOPC Builder 定义和生成系统
定制指令&定 制外设逻辑
自定义的 功能模块
集成SOPC生 成的系统到 Quartus II工程
Altera的 LPM模块
硬件抽象层 (HAL)&外设 驱动程序
使用Nios II IDE开发软件
用户C/C++应 用程序代码 和定制的库
连接各 功能模块
设置软件运行 硬件环境属性
硬件开发
• 编 译 Quartus II 工 程 , 对 HDL文件进行布局布线,从 HDL源文件综合生成一个适 合目标器件网表,生成 FPGA配置文件(.sof); •用 下 载 电 缆 ( 如 ByteBlaster II), 将配置文件 下载到目标板上。硬件校验 完成后,可将新的硬件配置 文件下载到目标板上的非易 失存储器(如EPCS器件)。
硬件抽象层 (HAL)&外设 驱动程序
使用Nios II IDE开发软件
用户C/C++应 用程序代码 和定制的库
连接各 功能模块
设置软件运行 硬件环境属性
选择FPGA型号 并进行管脚分配
编译软件 生成可执 行文件elf 在IDE中使用 ISS运行/调试 软件
•为系统功能原理 图选择芯片载体 并 为各个输入输 • 设置编译选项, 出信号分配芯片 从而让编译器按照 的管脚; •编译系统生成硬件系统的 用户设定来进行编 配置文件 *.sof和*.pof。编 译; 译系统是一个非常复杂的过 程,包括优化逻辑的组合、 综合逻辑、适配 FPGA 、布 线以及时序分析等步骤。
验证调试
JTAG
串口、以太网
Altera GPGA • 用户逻辑设计 • 其它的IP模块 • SOPC Builder的 顶层.bdf文件
Quartus II
片上调试 (软件跟踪、硬件断点 SignalTap II)
GNU Tools
硬件开发使用Quartus II和SOPC Builder
2.1 SOPC开发流程和开发工具
• 设置好软件运行 的硬件环境属性后, 便可进行编译、链 接和调试、运行程 •对用户程序进行 序。 编译,生成可执 行文件*.elf。 • 接 下 来 在 IDE 的 指令集仿真器 (ISS) 上仿真软件和运行/ 调试软件。 • 在目标板上反 复调试软件。
下载配置文件到 FPGA器件
在目标板上 下载可执行 软件到 Nios II系统
在目标板上运 行/调试软件
SOPC开发流程简图
分析系统需求
建立Quartus II工程, 建立顶层图*.bdf
NiosII内核 &标准外设
打开SOPC Builder 定义和生成系统
定制指令&定 制外设逻辑
自定义的 功能模块
集成SOPC生 成的系统到 Quartus II工程
Altera的 LPM模块
Altera的 LPM模块
硬件抽象层 (HAL)&外设 驱动程序
使用Nios II IDE开发软件
用户C/C++应 用程序代码 和定制的库
连接各 功能模块
设置软件运行 硬件环境属性
选择FPGA型号 并进行管脚分配
编译软件 生成可执 行文件elf 在IDE中使用 ISS运行/调试 软件
进行编译 选项设置
用户C/C++应 用程序代码 和定制的库
连接各 功能模块
设置软件运行 硬件环境属性
•如果需要,用 户可以定制指 令和外设逻辑。 (可参考第8章)
选择FPGA型号 并进行管脚分配
编译软件 生成可执 行文件elf 在IDE中使用 ISS运行/调试 软件
பைடு நூலகம்
进行编译 选项设置
编译硬件系统 生成配置文件sof 在目标板上 下载可执行 软件到 Nios II系统
2.1 SOPC开发流程和开发工具
软件开发
处理器库
SOPC Builder GUI
配置Nios II处理器 选择并配置外设.IP 连接各外设模块 自定义命令
• 使用 SOPC Builder 生成 系统后,可以直接使用 Nios II IDE开始设计 C/C++应 用程序代码。 Altera 提供外 设驱动程序和硬件抽象层 (HAL), 使 用 户 能 够 快 速 编 写与低级硬件细节无关的 Nios II程序; • 除了应用代码,用户还可 以在 Nios II IDE 工程中 设计和重新使用定制库。
选择FPGA型号 并进行管脚分配
进行编译 选项设置
•在 Quartus II 软 件 中 编译软件 包含了 大量的 Altera 公 生成可执 • 然后将各个 行文件elf 司提供的 LPM 功能模块, 功能模块用 相当与传统设计中除处 在IDE中使用 连 线连起来 ISS运行/调试 理器以外的逻辑芯片 (如 软件 组 成系统功 74系列); 能原理图。