sopc开发环境的使用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
集成SOPC生 成的系统到 Quartus II工程
分析系统需求
建立Quartus II工程, 建立顶层图*.bdf
打开SOPC Builder 定义和生成系统
定制指令&定 制外设逻辑
自定义的 功能模块
Altera的 LPM模块
硬件抽象层 (HAL)&外设 驱动程序
使用Nios II IDE开发软件
在目标板上运 行/调试软件
SOPC开发流程简图
分析系统需求
建立Quartus II工程, 建立顶层图*.bdf
NiosII内核 &标准外设
打开SOPC Builder 定义和生成系统
定制指令&定 制外设逻辑
自定义的 功能模块
集成SOPC生 成的系统到 Quartus II工程
Altera的 LPM模块
Altera的 LPM模块
硬件抽象层 (HAL)&外设 驱动程序
使用Nios II IDE开发软件
用户C/C++应 用程序代码 和定制的库
连接各 功能模块
设置软件运行 硬件环境属性
选择FPGA型号 并进行管脚分配
编译软件 生成可执 行文件elf 在IDE中使用 ISS运行/调试 软件
进行编译 选项设置
编译硬件系统 生成配置文件sof 在目标板上 下载可执行 软件到 Nios II系统
下载配置文件到 FPGA器件
这个两过程类似传统电路设计中,将所有要使 用的芯片焊接到电路板上,然后通过PCB上的 连线将各个芯片连接起来,组成电路系统。
使用IDE编程工具 烧写配置文件和 软件代码
调试好的 硬件和软件
选择FPGA型号 并进行管脚分配
进行编译 选项设置
•在 Quartus II 软 件 中 编译软件 包含了大量的Altera公 生成可执 •然后将各个 行文件elf 司提供的LPM功能模块, 功能模块用 相当与传统设计中除处 在IDE中使用 连线连起来 ISS运行/调试 理器以外的逻辑芯片(如 软件 组成系统功 74系列); 能原理图。
用户C/C++应 用程序代码 和定制的库
连接各 功能模块
设置软件运行 硬件环境属性
•如果需要,用 户可以定制指 令和外设逻辑。 (可参考第8章)
选择FPGA型号 并进行管脚分配
编译软件 生成可执 行文件elf 在IDE中使用 ISS运行/调试 软件
进行编译 选项设置
编译硬件系统 生成配置文件sof 在目标板上 下载可执行 软件到 Nios II系统
• 设置好软件运行 的硬件环境属性后, 便可进行编译、链 接和调试、运行程 •对用户程序进行 序。 编译,生成可执 行文件*.elf。 • 接 下 来 在 IDE 的 指令集仿真器(ISS) 上仿真软件和运行/ 调试软件。 • 在目标板上反 复调试软件。
下载配置文件到 FPGA器件
在目标板上 下载可执行 软件到 Nios II系统

在液晶屏上显示日期、时间; 可以设置日期、时间; LCD:电子钟显示屏幕; 按键:电子钟设置功能键; Flash存储器:存储软、硬件程序; SRAM存储器:程序运行时将其导入SRAM。 Nios II CPU、定时器、按键PIO、LCD控制器、 AVALON三态桥、 外部RAM接口、外部Flash接口。
软 件 开 发 也 可 以 在 SOPC Builder 生成系统模块后立 即进行!与传统软件开发类 似,唯一不同在于系统是自 己定制的,所受局限小!
NiosII内核 &标准外设
打开SOPC Builder 定义和生成系统
定制指令&定 制外设逻辑
自定义的 功能模块
集成SOPC生 成的系统到 Quartus II工程
SOPC开发流程和开发工具

软件开发
软件开发使用Nios II IDE,它是一个基于Eclipse IDE架构的集成 开发环境,它包括: GNU开发工具(标准GCC编译器,连接器,汇编器和 makefile工具等); 基于GDB的调试器,包括软件仿真和硬件调试; 提供用户一个硬件抽象层HAL; 提供嵌入式操作系统MicroC/OS-II和LwTCP/IP协议栈的支持; 提供帮助用户快速入门的软件模板; 提供Flash下载支持(Flash Progrmmer 和QuartusII Programmer)
编译硬件系统 生成配置文件sof 在目标板上 下载可执行 软件到 Nios II系统
下载Байду номын сангаас置文件到 FPGA器件
使用IDE编程工具 烧写配置文件和 软件代码
调试好的 硬件和软件
在目标板上运 行/调试软件
SOPC开发流程简图
分析系统需求
建立Quartus II工程, 建立顶层图*.bdf
NiosII内核 &标准外设
外设模块库
IP 模块
软件开发
硬件开发
分配外设地址和中断
Nios II IDE
• HDL 源文件 • 测试台 编译综合等 管脚连接分配
硬件配置 文件
生成系统
验证调试
JTAG
串口、以太网
Altera FPGA 用户逻辑设计 • 其它的IP模块

Quartus II
片上调试
GNU Tools
硬件开发使用Quartus II和SOPC Builder

创建工程
进行完需求分析之后,进行硬件系统的创 建。 步骤如下: 1.建立一个Quartus II 的工程

创建Nios II 系统模块

创建完成工程之后,需要创建顶层实体。 创建完顶层设计文件之后,使用SOPC Builder创建NIOS II 嵌入式处理器,添加、 配置系统的外设IP,组成Nios II系统模块。 Nios II 系统模块设计完成之后要加入到 该顶层实体中,然后进行其他片上逻辑的 开发。
管脚连接分配
• 用户逻辑设计
Altera FPGA
• 其它的IP模块 • SOPC Builder的 • 顶层.bdf文件 Quartus II 片上调试 (软件跟踪、硬件断点 SignalTap II)
用户代码 • 库函数 • 操作系统 (RTOS)

GNU Tools
SOPC硬件开发实例
第一步是要进行需求分析,根据这个要求来建立硬件系统。 电子钟的设计要求:
• 除了应用代码,用户还可 在Nios II IDE 工程中设 计和重新使用定制库。
软件开发 Nios II IDE • C头文件 • 用户库函数 • 外设驱动
硬件开发
• HDL 源文件 • 测试台
编译(分析与综合、布 局布线、时序分析等)
分配外设地址和中断 生成系统 硬件配置 文件
验证调试
JTAG 串口、以太网
处理器库 外设模块库 SOPC Builder GUI 配置Nios II 自定义命令
选择配置外设.IP
连接各外设模块 分配外设地址和中断 硬件开发 生成系统
IP模块
软件开发 Nios II IDE
Quartus II
GNU Tools
硬件开发使用Quartus II和SOPC Builder
2.1 SOPC开发流程和开发工具

硬件开发
处理器库
SOPC Builder GUI
配置Nios II处理器 选择并配置外设.IP 连接各外设模块 自定义命令
• 编 译 Quartus II 工 程 , 对 HDL文件进行布局布线,从 HDL源文件综合生成一个适 合目标器件网表,生成 FPGA配置文件(.sof); • 用下载电缆,将配置文件下 载到目标板上。 •硬 件 校 验 完 成 后 , 将 新 的 硬件配置文件下载到目标板 上的非易失存储器(如EPCS 器件)。
进行编译 选项设置
编译硬件系统 生成配置文件sof 在目标板上 下载可执行 软件到 Nios II系统
下载配置文件到 FPGA器件
使用IDE编程工具 烧写配置文件和 软件代码
调试好的 硬件和软件
在目标板上运 行/调试软件
SOPC开发流程简图
分析系统需求
建立Quartus II工程, 建立顶层图*.bdf
硬件抽象层 (HAL)&外设 驱动程序
使用Nios II IDE开发软件
用户C/C++应 用程序代码 和定制的库
连接各 功能模块
设置软件运行 硬件环境属性
选择FPGA型号 并进行管脚分配
编译软件 生成可执 行文件elf 在IDE中使用 ISS运行/调试 软件
•为系统功能原理 图选择芯片载体 并为各个输入输 •设置编译选项, 出信号分配芯片 从而让编译器按照 的管脚; •编译系统生成硬件系统的 用户设定来进行编 配置文件*.sof和*.pof。编 译; 译系统是一个非常复杂的过 程,包括优化逻辑的组合、 综合逻辑、适配FPGA、布 线以及时序分析等步骤。
下载配置文件到 FPGA器件
使用IDE编程工具 烧写配置文件和 软件代码
调试好的 硬件和软件
在目标板上运 行/调试软件
SOPC开发流程简图
分析系统需求
建立Quartus II工程, 建立顶层图*.bdf
NiosII内核 &标准外设
打开SOPC Builder 定义和生成系统
定制指令&定 制外设逻辑
SOPC开发流程和开发工具

软件开发
处理器库 外设模块库
SOPC Builder GUI
配置Nios II处理器 选择并配置外设.IP 连接各外设模块
自定义命令
IP 模块
• SOPC Builder生成系统 后 , 可 直 接 使 用 Nios II IDE 设 计 C/C++ 应 用 程 序 代码。 •Altera提供外 设 驱 动 程 序 和 硬 件 抽 象 层 (HAL), 用 户 能够快速编写与低级硬件细 节无关的Nios II程序;
选择FPGA型号 并进行管脚分配
编译软件 生成可执 行文件elf 在IDE中使用 ISS运行/调试 软件
进行编译 选项设置
编译硬件系统 生成配置文件sof
• 最后利用IDE的编程 工具将配置文件烧写到 FPGA 的 配 置 芯 片 或 Flash,将可执行文件 *.elf编程到Flash中。
• 将配置文件.sof 下载到FPGA,将 • 直到硬件和 可执行文件.elf下 软件设计都达 载到RAM。 到设计要求。
使用IDE编程工具 烧写配置文件和 软件代码
调试好的 硬件和软件
在目标板上运 行/调试软件
SOPC开发流程简图
SOPC开发流程和开发工具
硬件开发
从SOPC Builder软件 NiosII处理器内核和 NiosII开发套件的外设表 中选合适的CPU、存储器 及外围器件,定制和配置 功能; • 分配外设地址及中断号; 设定复位地址; 最后生成系统。 • 用户也可添加用户自定制 指令逻辑到NiosII内核以 加速CPU性能; 添加用户自己设计的IP模 块。
自定义的 功能模块
集成SOPC生 成的系统到 Quartus II工程
Altera的 LPM模块
硬件抽象层 (HAL)&外设 驱动程序
使用Nios II IDE开发软件
用户C/C++应 用程序代码 和定制的库
连接各 功能模块
设置软件运行 硬件环境属性
•当 设 计 中 现 有 模块不能满足设 •在顶层模块中,分别 将SOPC Builder生成 计要求时,可设 的 系 统 模 块 、 LPM 功 计自己的功能模 块。并在顶层模 能模块以及用户自定 块中使用; 义功能模块添加到顶 层模块中;
SOPC开发流程及Quartus II的使用
SOPC开发流程和开发工具

SOPC设计包括硬件和软件两部分。 硬件设计: 主要基于Quartus II和SOPC Builder。
软件设计: 基于Nios II IDE。
•在进行SOPC开发之前,首先必 须确定系统的需求,如应用系统 •每个开发过程开始时都应建立 需求的计算性能、需要的带宽和 一个工程,Quartus II是以工程 吞吐量、需求的接口类型以及是 的方式对设计过程进行管理。在 否需求多线程的软件等。 工程中建立顶层模块文件.bdf相 当于传统电路设计中的电路板 NiosII内核 &标准外设 (PCB)。 •在 SOPC Builder 中添加需要的功能 模块(Nios II及其 标准外设模块), 完成后生成一个系 统模块。
打开SOPC Builder 定义和生成系统
定制指令&定 制外设逻辑
自定义的 功能模块
集成SOPC生 成的系统到 Quartus II工程
Altera的 LPM模块
硬件抽象层 (HAL)&外设 驱动程序
使用Nios II IDE开发软件
用户C/C++应 用程序代码 和定制的库
连接各 功能模块
设置软件运行 硬件环境属性
根据系统要求实现的功能,电子钟的设计要用到的外围器件有:

在SOPC Builder中建立系统要添加的模块包括:

SOPC硬件开发实例
使用的开发环境如下: WinXP操作系统 Nios II 6.0嵌入式处理器 Quartus II 6.0 基于Cyclone II 的SOPC开发板
相关文档
最新文档