当前位置首页 > 高等教育 > 大学课件/教案
搜柄,搜必应! 快速导航 | 使用教程  [会员中心]

SOPC开发流程及开发平台简介

文档格式:PPT| 27 页|大小 3.04MB|积分 15|2021-04-27 发布|文档ID:21283942
第1页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 27
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • SOPC开 发 流 程 及 开 发 平 台 简 介 LOGO主 要 内 容 详 细 介 绍 了 SOPC开 发 的 基 本 流 程 ,然 后通 过 实 际 操 作 , 详 细 的 讲 述 了 一 个 简 单 的SOPC系 统 的 设 计 过 程 ,包 括 使 用 Quartus II、SOPC Builder定 制 Nios II系 统 以 及 利 用 Nios II IDE进 行 应 用 程 序 开 发 .力 求 以 实 例 的 途 径 让大 家 以 最 快 的 方 式 了 解 SOPC开 发 以 及 各 软件 的 使 用 . LOGO 目 录v2.1 SOPC开 发 流 程v2.2 简 单 SOPC实 例 开 发 任 务 及 步 骤v2.3 分 析 系 统 需 求v2.4 使 用 Quartus II建 立 工 程v2.5 使 用 SOPC Builder创 建 Nios II系 统v2.6 集 成 Nios II系 统 到 Quartus II顶 层 模 块v2.7 设 置 编 译 选 项 并 编 译 硬 件 系 统v2.8 下 载 硬 件 设 计 到 目 标 FPGAv2.9 使 用 Nios II IDE建 立 用 户 程 序v2.10 调 试 /运 行 程 序 LOGO 目 录v2.1 SOPC开 发 流 程v2.2 简 单 SOPC实 例 开 发 任 务 及 步 骤v2.3 分 析 系 统 需 求v2.4 使 用 Quartus II建 立 工 程v2.5 使 用 SOPC Builder创 建 Nios II系 统v2.6 集 成 Nios II系 统 到 Quartus II顶 层 模 块v2.7 设 置 编 译 选 项 并 编 译 硬 件 系 统v2.8 下 载 硬 件 设 计 到 目 标 FPGAv2.9 使 用 Nios II IDE建 立 用 户 程 序v2.10 调 试 /运 行 程 序 LOGO2.1 SOPC开 发 流 程vSOPC设 计 包 括 以 Nios II软 核 处 理 器 为 核 心 的嵌 入 式 系 统 的 硬 件 配 置 、 硬 件 设 计 、 硬 件 仿 真 、IDE环 境 的 软 件 设 计 、 软 件 调 试 等 。

    vSOPC的 开 发 流 程 通 常 包 括 2个 方 面 : 基 于Quartus II、 SOPC Builder的 硬 件 设 计 、 基 于NiosII IDE的 软 件 设 计 对 于 比 较 简 单 的 NiosII系 统 , 一 个 人 便 可 执 行 所 有 设 计 对 于 比 较 复杂 的 系 统 , 硬 件 和 软 件 设 计 可 以 分 开 进 行 vSOPC的 开 发 过 程 中 要 使 用 到 Quartus II、SOPC Builder以 及 Nios II IDE, 三 者 之 间 关 系如 下 所 示 : LOGO2.1 SOPC开 发 流 程QuartusII: 用 于 完 成 Nios II系 统 的分 析 综 合 、 硬 件 优 化 、适 配 、 配 置 文 件 编 程下 载 以 及 硬 件 系 统 测试 等 ; SOPC Builder:它 是 Nios II软 核 处 理 器 的 开发 包 , 用 于 实 现 Nios II系 统配 置 、 生 成 以 及 与 Nios II系统 相 关 的 监 控 和 软 件 调 试 平台 的 生 成 ; Nios II IDE:用 于 完 成 基 于 Nios II系 统 的 软 件 开 发 和 调试 , 并 可 借 助 其 自 带的 Flash编 程 器 完 成 对Flash以 及 EPCS的 编程 操 作 。

    Quartus II、 SOPC Builder以 及 Nios II IDE三 者 之 间 关 系SOPC Builder GUIQuartus II GNU ToolsNios II IDE LOGO2.1 SOPC开 发 流 程v硬 件 开 发 配 置 Nios II处 理 器 选 择 并 配 置 外 设 .IP连 接 各 外 设 模 块分 配 外 设 地 址 和 中 断SOPC Builder GUI 自 定 义 命 令IP 模 块处 理 器 库外 设 模 块 库硬 件 开 发 Nios II IDE软 件 开 发 Quartus II GNU Tools 用 SOPC Builder软 件 从NiosII处 理 器 内 核 和 NiosII开发 套 件 提 供 的 外 设 列 表 中 选取 合 适 的 CPU、 存 储 器 以 及各 外 围 器 件 ,并 定 制 和 配 置 它们 的 功 能 ; 分 配 外 设 地 址 及 中 断 号 ; 设 定 复 位 地 址 ; 最 后 生 成 系 统 用 户 也 可 以 添 加 用 户 自 身定 制 指 令 逻 辑 到 NiosII内 核以 加 速 CPU性 能 ; 添 加 用 户 自 己 设 计 的 IP模 块 。

    LOGO2.1 SOPC开 发 流 程v硬 件 开 发 配 置 Nios II处 理 器 选 择 并 配 置 外 设 .IP连 接 各 外 设 模 块分 配 外 设 地 址 和 中 断SOPC Builder GUI 自 定 义 命 令IP 模 块处 理 器 库外 设 模 块 库硬 件 开 发 Nios II IDE软 件 开 发 Quartus II GNU Tools 将 生 成 的 Nios II系 统 集 成到 之 前 建 立 的 Quartus II工 程 ; Quartus II工 程 中 可 加 入Nios II系 统 以 外 的 逻 辑 其可 以 是 自 身 定 制 的 硬 件 模 块 ,也 可 以 是 从 Altera或 第 3方 IP供 应 商 中 得 到 的 其 它 现 成 的知 识 产 权 设 计 模 块 Quartus II软 件 用 来 选 取 具体 的 Altera FPGA器 件 型 号 ,然 后 为 Nios II系 统 上 的 各 I/O口 分 配 管 脚 HDL 源 文 件 测 试 台 用 户 逻 辑 设 计 其 它 的 IP模 块 SOPC Builder的 顶 层 .bdf文 件管 脚 连 接 分 配 LOGO2.1 SOPC开 发 流 程v硬 件 开 发 配 置 Nios II处 理 器 选 择 并 配 置 外 设 .IP连 接 各 外 设 模 块分 配 外 设 地 址 和 中 断SOPC Builder GUI 自 定 义 命 令IP 模 块处 理 器 库外 设 模 块 库硬 件 开 发 Nios II IDE软 件 开 发 Quartus II GNU Tools 编 译 Quartus II工 程 , 对HDL文 件 进 行 布 局 布 线 , 从HDL源 文 件 综 合 生 成 一 个 适合 目 标 器 件 网 表 , 生 成FPGA配 置 文 件 (.sof); HDL 源 文 件 测 试 台 用 户 逻 辑 设 计 其 它 的 IP模 块 SOPC Builder的 顶 层 .bdf文 件管 脚 连 接 分 配编 译 (分 析 与 综 合 、 布局 布 线 、 时 序 分 析 等 ) 验 证 调 试硬 件 配 置文 件 JTAG 串 口 、 以 太 网片 上 调 试(软 件 跟 踪 、 硬 件 断 点 SignalTap II) 用 下 载 电 缆 (如 ByteBlaster II),将 配 置 文 件 下 载 到 目 标 板上 。

    硬 件 校 验 完 成 后 , 可 将新 的 硬 件 配 置 文 件 下 载 到 目标 板 上 的 非 易 失 存 储 器 (如EPCS器 件 ) LOGO2.1 SOPC开 发 流 程v软 件 开 发软 件 开 发 使 用 Nios II IDE, 它 是 一 个 基 于Eclipse IDE架 构 的 集 成 开 发 环 境 , 它 包 括 : GNU开 发 工 具 (标 准 GCC编 译 器 , 连 接 器 , 汇 编 器和 makefile工 具 等 ); 基 于 GDB的 调 试 器 , 包 括 软 件 仿 真 和 硬 件 调 试 ; 提 供 用 户 一 个 硬 件 抽 象 层 HAL; 提 供 嵌 入 式 操 作 系 统 MicroC/OS-II和 LwTCP/IP协 议栈 的 支 持 ; 提 供 帮 助 用 户 快 速 入 门 的 软 件 模 板 ; 提 供 Flash下 载 支 持 (Flash Progrmmer 和 QuartusII Programmer) LOGO2.1 SOPC开 发 流 程v软 件 开 发 配 置 Nios II处 理 器 选 择 并 配 置 外 设 .IP连 接 各 外 设 模 块分 配 外 设 地 址 和 中 断SOPC Builder GUI 自 定 义 命 令IP 模 块处 理 器 库外 设 模 块 库硬 件 开 发 Nios II IDE软 件 开 发 Quartus II GNU Tools 使用SOPC Builder生成系统后,可以直接使用Nios II IDE开始设计C/C+应用程序代码。

    Altera提供外设驱动程序和硬件抽象层(HAL),使用户能够快速编写与低级硬件细节无关的Nios II程序; HDL 源 文 件 测 试 台 用 户 逻 辑 设 计 其 它 的 IP模 块 SOPC Builder的 顶 层 .bdf文 件管 脚 连 接 分 配编 译 (分 析 与 综 合 、 布局 布 线 、 时 序 分 析 等 ) 验 证 调 试硬 件 配 置文 件 JTAG 串 口 、 以 太 网片 上 调 试(软 件 跟 踪 、 硬 件 断 点 SignalTap II) C头 文 件 用 户 库 函 数 外 设 驱 动 除了应用代码,用户还可以在Nios II IDE 工程中设计和重新使用定制库 用 户 代 码 库 函 数 操 作 系 统 (RTOS)硬 件 开 发 使 用 Quartus II和 SOPC Builder LOGO2.1 SOPC开 发 流 程v软 件 开 发 硬 件 开 发 使 用 Quartus II和 SOPC Builder 配 置 Nios II处 理 器选 择 并 配 置 外 设 .IP连 接 各 外 设 模 块分 配 外 设 地 址 和 中 断SOPC Builder GUI 自 定 义 命 令IP 模 块处 理 器 库外 设 模 块 库硬 件 开 发 Nios II IDE软 件 开 发 Quartus II GNU Tools HDL 源 文 件 测 试 台 用 户 逻 辑 设 计 其 它 的 IP模 块 SOPC Builder的 顶 层 .bdf文 件管 脚 连 接 分 配编 译 (分 析 与 综 合 、 布局 布 线 、 时 序 分 析 等 ) 验 证 调 试硬 件 配 置文 件 JTAG 串 口 、 以 太 网片 上 调 试(软 件 跟 踪 、 硬 件 断 点 SignalTap II) C头 文 件 用 户 库 函 数 外 设 驱 动 用 户 代 码 库 函 数 操 作 系 统 (RTOS) 即使在没有软件开发的目标板的情况下,也可以经过编译、连接后通过Nios II指令仿真器(ISS)运行和调试代码。

    编 译 、 连 接 、 调 试可 执 行 代 码 一旦有一个目标板,用户救可以使用下载电缆下载软件到目标板进行调试/运行 LOGO2.1 SOPC开 发 流 程vSOPC基 本 开 发 流 程 简 介从 “ 硬 件 开 发 ” 与 “ 软 件 开 发 ” 两 小 节 中 ,在 我 们 的 脑 海 里 一 定 已 经 形 成 了 一 个 大 致 的 开 发流 程 , 下 面 我 们 仔 细 的 对 其 进 行 梳 理 和 理 解 见SOPC开 发 流 程 简 图 LOGO SOPC开 发 流 程 简 图 分 析 系 统 需 求NiosII内 核 然后将各个功能模块用连线连起来组成系统功能原理图 这 个 两 过 程 类 似 传 统 电 路 设 计 中 , 将 所 有 要 使用 的 芯 片 焊 接 到 电 路 板 上 , 然 后 通 过 PCB上 的连 线 将 各 个 芯 片 连 接 起 来 , 组 成 电 路 系 统 使 用 IDE编 程 工 具烧 写 配 置 文 件 和软 件 代 码 LOGO SOPC开 发 流 程 简 图 分 析 系 统 需 求NiosII内 核&标 准 外 设 定 制 指 令 &定制 外 设 逻 辑 硬 件 抽 象 层(HAL)&外 设驱 动 程 序 用 户 C/C+应用 程 序 代 码和 定 制 的 库自 定 义 的功 能 模 块 建 立 Quartus II工 程 ,建 立 顶 层 图 *.bdf集 成 SOPC生成 的 系 统 到Quartus II工 程 使 用 Nios IIIDE开 发 软 件Altera的LPM模 块连 接 各功 能 模 块选 择 FPGA型 号并 进 行 管 脚 分 配进 行 编 译选 项 设 置 编 译 硬 件 系 统生 成 配 置 文 件 sof 编 译 软 件生 成 可 执行 文 件 elf在 目 标 板 上下 载 可 执 行软 件 到Nios II系 统下 载 配 置 文 件 到FPGA器 件 在 目 标 板 上 运行 /调 试 软 件调 试 好 的硬 件 和 软 件 在 IDE中 使 用ISS运 行 /调 试软 件设 置 软 件 运 行硬 件 环 境 属 性 打 开 SOPC Builder定 义 和 生 成 系 统为系统功能原理图选择芯片载体并为各个输入输出信号分配芯片 的管脚;设置编译选项,从而让编译器按照用户设定来进行编译;编译系统生成硬件系统的配置文件*.sof和*.pof。

    编译系统是一个非常复杂的过程,包括优化逻辑的组合、综合逻辑、适配FPGA、布线以及时序分析等步骤使 用 IDE编 程 工 具烧 写 配 置 文 件 和软 件 代 码 LOGO SOPC开 发 流 程 简 图 分 析 系 统 需 求NiosII内 核&标 准 外 设 定 制 指 令 &定制 外 设 逻 辑 硬 件 抽 象 层(HAL)&外 设驱 动 程 序 用 户 C/C+应用 程 序 代 码和 定 制 的 库自 定 义 的功 能 模 块 建 立 Quartus II工 程 ,建 立 顶 层 图 *.bdf集 成 SOPC生成 的 系 统 到Quartus II工 程 使 用 Nios IIIDE开 发 软 件Altera的LPM模 块连 接 各功 能 模 块选 择 FPGA型 号并 进 行 管 脚 分 配进 行 编 译选 项 设 置 编 译 硬 件 系 统生 成 配 置 文 件 sof 编 译 软 件生 成 可 执行 文 件 elf在 目 标 板 上下 载 可 执 行软 件 到Nios II系 统下 载 配 置 文 件 到FPGA器 件 在 目 标 板 上 运行 /调 试 软 件调 试 好 的硬 件 和 软 件 在 IDE中 使 用ISS运 行 /调 试软 件设 置 软 件 运 行硬 件 环 境 属 性 打 开 SOPC Builder定 义 和 生 成 系 统软件开发也可以在SOPC Builder 生成系统模块后立即进行!与传统软件开发类似,唯一不同在于系统是自己定制的,所受局限小! 使 用 IDE编 程 工 具烧 写 配 置 文 件 和软 件 代 码 LOGO SOPC开 发 流 程 简 图 分 析 系 统 需 求NiosII内 核&标 准 外 设 定 制 指 令 &定制 外 设 逻 辑 硬 件 抽 象 层(HAL)&外 设驱 动 程 序 用 户 C/C+应用 程 序 代 码和 定 制 的 库自 定 义 的功 能 模 块 建 立 Quartus II工 程 ,建 立 顶 层 图 *.bdf集 成 SOPC生成 的 系 统 到Quartus II工 程 使 用 Nios IIIDE开 发 软 件Altera的LPM模 块连 接 各功 能 模 块选 择 FPGA型 号并 进 行 管 脚 分 配进 行 编 译选 项 设 置 编 译 硬 件 系 统生 成 配 置 文 件 sof 编 译 软 件生 成 可 执行 文 件 elf在 目 标 板 上下 载 可 执 行软 件 到Nios II系 统下 载 配 置 文 件 到FPGA器 件 在 目 标 板 上 运行 /调 试 软 件调 试 好 的硬 件 和 软 件 在 IDE中 使 用ISS运 行 /调 试软 件设 置 软 件 运 行硬 件 环 境 属 性 打 开 SOPC Builder定 义 和 生 成 系 统 设置好软件运行的硬件环境属性后,便可进行编译、链接和调试、运行程序。

    对用户程序进行编译,生成可执行文件*.elf 接下来在IDE的 指令集仿真器(ISS)上仿真软件和运行/调试软件 将配置文件.sof下载到FPGA,将可执行文件.elf下载到RAM 在目标板上反复调试软件 直到硬件和软件设计都达到设计要求 最后利用IDE的编程工具将配置文件烧写到FPGA的配置芯片或Flash,将可执行文件*.elf编程到Flash中使 用 IDE编 程 工 具烧 写 配 置 文 件 和软 件 代 码 LOGO 目 录v2.1 SOPC开 发 流 程v2.2 简 单 SOPC实 例 开 发 任 务 及 步 骤v2.3 分 析 系 统 需 求v2.4 使 用 Quartus II建 立 工 程v2.5 使 用 SOPC Builder创 建 Nios II系 统v2.6 集 成 Nios II系 统 到 Quartus II顶 层 模 块v2.7 设 置 编 译 选 项 并 编 译 硬 件 系 统v2.8 下 载 硬 件 设 计 到 目 标 FPGAv2.9 使 用 Nios II IDE建 立 用 户 程 序v2.10 调 试 /运 行 程 序 LOGO2.2 简 单 SOPC实 例 开 发 任 务 及 步 骤在 这 一 节 中 , 我 们 通 过 实 际 操 作 的 视 频 教 程 来 体验 一 个 简 单 的 SOPC开 发 的 整 个 过 程 。

    任 务步 骤建立一个基于Nios II处理器的系统来控制一个LED灯闪烁1.分析系统需求2.启动QuartusII软件和新建实例设计工程3.启动新的SOPC Builder系统4.在SOPC Builder中定义并生成系统 5.集成SOPC Builder系统到QuartusII工程6.选择芯片型号并进行管脚分配7.设置编译选项并编译硬件系统8.下载硬件设计到目标FPGA9.使用NiosII IDE开发用户程序10.调试用户程序11.运行程序 LOGO目 录v2.1 SOPC开 发 流 程v2.2 简 单 SOPC实 例 开 发 任 务 及 步 骤v2.3 分 析 系 统 需 求v2.4 使 用 Quartus II建 立 工 程v2.5 使 用 SOPC Builder创 建 Nios II系 统v2.6 集 成 Nios II系 统 到 Quartus II顶 层 模 块v2.7 设 置 编 译 选 项 并 编 译 硬 件 系 统v2.8 下 载 硬 件 设 计 到 目 标 FPGAv2.9 使 用 Nios II IDE建 立 用 户 程 序v2.10 调 试 /运 行 程 序 LOGO2.3 分 析 系 统 要 求每 一 个 SOPC系 统 开 发 之 前 , 都 应 该 仔 细分 析 系 统 需 求 , 例 如 :对所设计的系统运行性能有什么要求? 系统要处理的带宽有多大?应用需求哪种类型的接口?应用需求多线程的软件吗?? LOGO2.3 分 析 系 统 要 求每 一 个 SOPC系 统 开 发 之 前 , 都 应 该 仔 细分 析 系 统 需 求 , 基 于 这 些 问 题 , 用 户 可 确 定具 体 的 系 统 要 求 , 例 如 :1. 使 用 哪 种 NiosII处 理 器 内 核 : 比 较 小 的 还 是 比 较 快 的 ?2. 设 计 要 求 什 么 外 设 及 其 数 量 ? 3. 功 耗 要 求 ?4. 使 用 哪 种 实 时 操 作 系 统 (RTOS)?5. 硬 件 加 速 逻 辑 在 哪 些 方 面 可 大 大 提 高 系 统 性 能 ? 例 如 : 增 加 一 个 DMA外 设能 释 放 CPU在 进 行 数 据 拷 贝 时 所 占 用 的 资 源 ? 定 制 的 指 令 能 取 代 DSP算 法 吗 ?对所设计的系统运行性能有什么要求? 系统要处理的带宽有多大?应用需求哪种类型的接口?应用需求多线程的软件吗?? LOGO2.3 分 析 系 统 要 求v实 例 开 发 任 务 是 : 展 示 可 用 于 控 制 LED闪 烁 的 简 单 NiosII处 理 器 系 统 。

    利 用 最 通 用 和 有 效 的 方 法 来 建 立 实 际 的 定 制 NiosII系 统 整 个 系 统 仅 使 用 片 内 资 源 , 且 不 依 赖 于 目 标 板 v分 析 任 务 可 以 知 道 FPGA内 硬 件 系 统 组 成 应 包 含 : 带 有 2kBytes指 令 高 速 缓 存 的 NiosII/s处 理 器 核 ; 2kBytes片 内 ROM存 储 器 (Onchip_ROM)用 于 存 储 程 序 代 码 以 及 程 序 运行 空 间 ; 1kBytes片 内 RAM存 储 器 (Onchip_RAM)用 于 变 量 存 储 (R/W数 据 )、 Heap、 stack; 7位 输 出 I/O (PIO)管 脚 来 控 制 LED; LOGO2.3 分 析 系 统 要 求v控 制 LED闪 烁 的 系 统 框 图 其 他 逻 辑 与 Nios II系 统 一 样 可 存 在 与FPGA中 并 且 可 与其 他 的 片 内 逻 辑 相 互作 用 , 这 取 决 于 整 个系 统 的 需 要 LOGO2.3 分 析 系 统 要 求v计 算 机 要 求 Altera Quartus II 9.0或 更 高 的 软 件 版 本 Nios II9.0或 更 高 版 本无论是否拥有一块开发板,都可以在按照以上所述来建立实例设计。

    如果没有目标板,仍然可以使用以上内容,只是不能目睹实例设计在硬件上运行取而代之,用户将可以在Nios II指令集仿真器(ISS)上仿真软件运行如果读 者拥有开发板以及ByteBlaster II下载电缆,则目睹实例设计在硬件上运行,LED灯的闪烁 LOGOv2.1 SOPC开 发 流 程v2.2 简 单 SOPC实 例 开 发 任 务 及 步 骤v2.3 分 析 系 统 需 求v2.4 使 用 Quartus II建 立 工 程v2.5 使 用 SOPC Builder创 建 Nios II系 统v2.6 集 成 Nios II系 统 到 Quartus II顶 层 模 块v2.7 设 置 编 译 选 项 并 编 译 硬 件 系 统v2.8 下 载 硬 件 设 计 到 目 标 FPGAv2.9 使 用 Nios II IDE建 立 用 户 程 序v2.10 调 试 /运 行 程 序 。

    点击阅读更多内容
    卖家[上传人]:sanyue2019
    资质:实名认证