SOPC开发流程及开发平台简介.ppt_第1页
SOPC开发流程及开发平台简介.ppt_第2页
SOPC开发流程及开发平台简介.ppt_第3页
SOPC开发流程及开发平台简介.ppt_第4页
SOPC开发流程及开发平台简介.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SOPC开发流程及开发平台简介 主要内容 详细介绍了SOPC开发的基本流程 然后通过实际操作 详细的讲述了一个简单的SOPC系统的设计过程 包括使用QuartusII SOPCBuilder定制NiosII系统以及利用NiosIIIDE进行应用程序开发 力求以实例的途径让大家以最快的方式了解SOPC开发以及各软件的使用 目录 2 1SOPC开发流程2 2简单SOPC实例开发任务及步骤2 3分析系统需求2 4使用QuartusII建立工程2 5使用SOPCBuilder创建NiosII系统2 6集成NiosII系统到QuartusII顶层模块2 7设置编译选项并编译硬件系统2 8下载硬件设计到目标FPGA2 9使用NiosIIIDE建立用户程序2 10调试 运行程序 目录 2 1SOPC开发流程2 2简单SOPC实例开发任务及步骤2 3分析系统需求2 4使用QuartusII建立工程2 5使用SOPCBuilder创建NiosII系统2 6集成NiosII系统到QuartusII顶层模块2 7设置编译选项并编译硬件系统2 8下载硬件设计到目标FPGA2 9使用NiosIIIDE建立用户程序2 10调试 运行程序 2 1SOPC开发流程 SOPC设计包括以NiosII软核处理器为核心的嵌入式系统的硬件配置 硬件设计 硬件仿真 IDE环境的软件设计 软件调试等 SOPC的开发流程通常包括2个方面 基于QuartusII SOPCBuilder的硬件设计 基于NiosIIIDE的软件设计 对于比较简单的NiosII系统 一个人便可执行所有设计 对于比较复杂的系统 硬件和软件设计可以分开进行 SOPC的开发过程中要使用到QuartusII SOPCBuilder以及NiosIIIDE 三者之间关系如下所示 2 1SOPC开发流程 QuartusII 用于完成NiosII系统的分析综合 硬件优化 适配 配置文件编程下载以及硬件系统测试等 SOPCBuilder 它是NiosII软核处理器的开发包 用于实现NiosII系统配置 生成以及与NiosII系统相关的监控和软件调试平台的生成 NiosIIIDE 用于完成基于NiosII系统的软件开发和调试 并可借助其自带的Flash编程器完成对Flash以及EPCS的编程操作 QuartusII SOPCBuilder以及NiosIIIDE三者之间关系 SOPCBuilderGUI QuartusII GNUTools NiosIIIDE 2 1SOPC开发流程 硬件开发 硬件开发使用QuartusII和SOPCBuilder 配置NiosII处理器 选择并配置外设 IP 连接各外设模块 分配外设地址和中断 生成系统 SOPCBuilderGUI 自定义命令 IP 模块 处理器库 外设模块库 硬件开发 NiosIIIDE 软件开发 QuartusII GNUTools 用SOPCBuilder软件从NiosII处理器内核和NiosII开发套件提供的外设列表中选取合适的CPU 存储器以及各外围器件 并定制和配置它们的功能 分配外设地址及中断号 设定复位地址 最后生成系统 用户也可以添加用户自身定制指令逻辑到NiosII内核以加速CPU性能 添加用户自己设计的IP模块 2 1SOPC开发流程 硬件开发 硬件开发使用QuartusII和SOPCBuilder 配置NiosII处理器 选择并配置外设 IP 连接各外设模块 分配外设地址和中断 生成系统 SOPCBuilderGUI 自定义命令 IP 模块 处理器库 外设模块库 硬件开发 NiosIIIDE 软件开发 QuartusII GNUTools 将生成的NiosII系统集成到之前建立的QuartusII工程 QuartusII工程中可加入NiosII系统以外的逻辑 其可以是自身定制的硬件模块 也可以是从Altera或第3方IP供应商中得到的其它现成的知识产权设计模块 QuartusII软件用来选取具体的AlteraFPGA器件型号 然后为NiosII系统上的各I O口分配管脚 HDL源文件测试台 用户逻辑设计其它的IP模块SOPCBuilder的顶层 bdf文件 管脚连接分配 2 1SOPC开发流程 硬件开发 硬件开发使用QuartusII和SOPCBuilder 配置NiosII处理器 选择并配置外设 IP 连接各外设模块 分配外设地址和中断 生成系统 SOPCBuilderGUI 自定义命令 IP 模块 处理器库 外设模块库 硬件开发 NiosIIIDE 软件开发 QuartusII GNUTools 编译QuartusII工程 对HDL文件进行布局布线 从HDL源文件综合生成一个适合目标器件网表 生成FPGA配置文件 sof HDL源文件测试台 用户逻辑设计其它的IP模块SOPCBuilder的顶层 bdf文件 管脚连接分配 编译 分析与综合 布局布线 时序分析等 验证调试 硬件配置文件 JTAG 串口 以太网 片上调试 软件跟踪 硬件断点SignalTapII AlteraGPGA 用下载电缆 如ByteBlasterII 将配置文件下载到目标板上 硬件校验完成后 可将新的硬件配置文件下载到目标板上的非易失存储器 如EPCS器件 2 1SOPC开发流程 软件开发软件开发使用NiosIIIDE 它是一个基于EclipseIDE架构的集成开发环境 它包括 GNU开发工具 标准GCC编译器 连接器 汇编器和makefile工具等 基于GDB的调试器 包括软件仿真和硬件调试 提供用户一个硬件抽象层HAL 提供嵌入式操作系统MicroC OS II和LwTCP IP协议栈的支持 提供帮助用户快速入门的软件模板 提供Flash下载支持 FlashProgrmmer和QuartusIIProgrammer 2 1SOPC开发流程 软件开发 配置NiosII处理器 选择并配置外设 IP 连接各外设模块 分配外设地址和中断 生成系统 SOPCBuilderGUI 自定义命令 IP 模块 处理器库 外设模块库 硬件开发 NiosIIIDE 软件开发 QuartusII GNUTools 使用SOPCBuilder生成系统后 可以直接使用NiosIIIDE开始设计C C 应用程序代码 Altera提供外设驱动程序和硬件抽象层 HAL 使用户能够快速编写与低级硬件细节无关的NiosII程序 HDL源文件测试台 用户逻辑设计其它的IP模块SOPCBuilder的顶层 bdf文件 管脚连接分配 编译 分析与综合 布局布线 时序分析等 验证调试 硬件配置文件 JTAG 串口 以太网 片上调试 软件跟踪 硬件断点SignalTapII AlteraGPGA C头文件用户库函数外设驱动 除了应用代码 用户还可以在NiosIIIDE工程中设计和重新使用定制库 用户代码库函数操作系统 RTOS 硬件开发使用QuartusII和SOPCBuilder 2 1SOPC开发流程 软件开发 硬件开发使用QuartusII和SOPCBuilder 配置NiosII处理器 选择并配置外设 IP 连接各外设模块 分配外设地址和中断 生成系统 SOPCBuilderGUI 自定义命令 IP 模块 处理器库 外设模块库 硬件开发 NiosIIIDE 软件开发 QuartusII GNUTools HDL源文件测试台 用户逻辑设计其它的IP模块SOPCBuilder的顶层 bdf文件 管脚连接分配 编译 分析与综合 布局布线 时序分析等 验证调试 硬件配置文件 JTAG 串口 以太网 片上调试 软件跟踪 硬件断点SignalTapII AlteraGPGA C头文件用户库函数外设驱动 用户代码库函数操作系统 RTOS 即使在没有软件开发的目标板的情况下 也可以经过编译 连接后通过NiosII指令仿真器 ISS 运行和调试代码 编译 连接 调试 可执行代码 一旦有一个目标板 用户救可以使用下载电缆下载软件到目标板进行调试 运行 2 1SOPC开发流程 SOPC基本开发流程简介从 硬件开发 与 软件开发 两小节中 在我们的脑海里一定已经形成了一个大致的开发流程 下面我们仔细的对其进行梳理和理解 见SOPC开发流程简图 SOPC开发流程简图 分析系统需求 NiosII内核 标准外设 定制指令 定 制外设逻辑 硬件抽象层 HAL 外设 驱动程序 用户C C 应 用程序代码 和定制的库 自定义的 功能模块 建立QuartusII工程 建立顶层图 bdf 打开SOPCBuilder 定义和生成系统 集成SOPC生 成的系统到 QuartusII工程 使用NiosII IDE开发软件 Altera的 LPM模块 连接各 功能模块 选择FPGA型号 并进行管脚分配 进行编译 选项设置 编译硬件系统 生成配置文件sof 编译软件 生成可执 行文件elf 在目标板上 下载可执行 软件到 NiosII系统 下载配置文件到 FPGA器件 在目标板上运 行 调试软件 调试好的 硬件和软件 在IDE中使用 ISS运行 调试 软件 设置软件运行 硬件环境属性 使用IDE编程工具 烧写配置文件和 软件代码 在进行SOPC开发之前 首先必须确定系统的需求 如应用系统需求的计算性能 需要的带宽和吞吐量 需求的接口类型以及是否需求多线程的软件等 每个开发过程开始时都应建立一个工程 QuartusII是以工程的方式对设计过程进行管理 在工程中建立顶层模块文件 bdf相当于传统电路设计中的电路板 PCB 在SOPCBuilder中添加需要的功能模块 NiosII及其标准外设模块 完成后生成一个系统模块 如果需要 用户可以定制指令和外设逻辑 可参考第8章 SOPC开发流程简图 分析系统需求 NiosII内核 标准外设 定制指令 定 制外设逻辑 硬件抽象层 HAL 外设 驱动程序 用户C C 应 用程序代码 和定制的库 自定义的 功能模块 建立QuartusII工程 建立顶层图 bdf 集成SOPC生 成的系统到 QuartusII工程 使用NiosII IDE开发软件 Altera的 LPM模块 连接各 功能模块 选择FPGA型号 并进行管脚分配 进行编译 选项设置 编译硬件系统 生成配置文件sof 编译软件 生成可执 行文件elf 在目标板上 下载可执行 软件到 NiosII系统 下载配置文件到 FPGA器件 在目标板上运 行 调试软件 调试好的 硬件和软件 在IDE中使用 ISS运行 调试 软件 设置软件运行 硬件环境属性 在QuartusII软件中包含了大量的Altera公司提供的LPM功能模块 相当与传统设计中除处理器以外的逻辑芯片 如74系列 当设计中现有模块不能满足设计要求时 可设计自己的功能模块 并在顶层模块中使用 打开SOPCBuilder 定义和生成系统 在顶层模块中 分别将SOPCBuilder生成的系统模块 LPM功能模块以及用户自定义功能模块添加到顶层模块中 然后将各个功能模块用连线连起来组成系统功能原理图 这个两过程类似传统电路设计中 将所有要使用的芯片焊接到电路板上 然后通过PCB上的连线将各个芯片连接起来 组成电路系统 使用IDE编程工具 烧写配置文件和 软件代码 SOPC开发流程简图 分析系统需求 NiosII内核 标准外设 定制指令 定 制外设逻辑 硬件抽象层 HAL 外设 驱动程序 用户C C 应 用程序代码 和定制的库 自定义的 功能模块 建立QuartusII工程 建立顶层图 bdf 集成SOPC生 成的系统到 QuartusII工程 使用NiosII IDE开发软件 Altera的 LPM模块 连接各 功能模块 选择FPGA型号 并进行管脚分配 进行编译 选项设置 编译硬件系统 生成配置文件sof 编译软件 生成可执 行文件elf 在目标板上 下载可执行 软件到 NiosII系统 下载配置文件到 FPGA器件 在目标板上运 行 调试软件 调试好的 硬件和软件 在IDE中使用 ISS运行 调试 软件 设置软件运行 硬件环境属性 打开SOPCBuilder 定义和生成系统 为系统功能原理图选择芯片载体并为各个输入输出信号分配芯片的管脚 设置编译选项 从而让编译器按照用户设定来进行编译 编译系统生成硬件系统的配置文件 sof和 pof 编译系统是一个非常复杂的过程 包括优化逻辑的组合 综合逻辑 适配FPGA 布线以及时序分析等步骤 使用IDE编程工具 烧写配置文件和 软件代码 SOPC开发流程简图 分析系统需求 NiosII内核 标准外设 定制指令 定 制外设逻辑 硬件抽象层 HAL 外设 驱动程序 用户C C 应 用程序代码 和定制的库 自定义的 功能模块 建立QuartusII工程 建立顶层图 bdf 集成SOPC生 成的系统到 QuartusII工程 使用NiosII IDE开发软件 Altera的 LPM模块 连接各 功能模块 选择FPGA型号 并进行管脚分配 进行编译 选项设置 编译硬件系统 生成配置文件sof 编译软件 生成可执 行文件elf 在目标板上 下载可执行 软件到 NiosII系统 下载配置文件到 FPGA器件 在目标板上运 行 调试软件 调试好的 硬件和软件 在IDE中使用 ISS运行 调试 软件 设置软件运行 硬件环境属性 打开SOPCBuilder 定义和生成系统 软件开发也可以在SOPCBuilder生成系统模块后立即进行 与传统软件开发类似 唯一不同在于系统是自己定制的 所受局限小 使用IDE编程工具 烧写配置文件和 软件代码 SOPC开发流程简图 分析系统需求 NiosII内核 标准外设 定制指令 定 制外设逻辑 硬件抽象层 HAL 外设 驱动程序 用户C C 应 用程序代码 和定制的库 自定义的 功能模块 建立QuartusII工程 建立顶层图 bdf 集成SOPC生 成的系统到 QuartusII工程 使用NiosII IDE开发软件 Altera的 LPM模块 连接各 功能模块 选择FPGA型号 并进行管脚分配 进行编译 选项设置 编译硬件系统 生成配置文件sof 编译软件 生成可执 行文件elf 在目标板上 下载可执行 软件到 NiosII系统 下载配置文件到 FPGA器件 在目标板上运 行 调试软件 调试好的 硬件和软件 在IDE中使用 ISS运行 调试 软件 设置软件运行 硬件环境属性 打开SOPCBuilder 定义和生成系统 设置好软件运行的硬件环境属性后 便可进行编译 链接和调试 运行程序 对用户程序进行编译 生成可执行文件 elf 接下来在IDE的指令集仿真器 ISS 上仿真软件和运行 调试软件 将配置文件 sof下载到FPGA 将可执行文件 elf下载到RAM 在目标板上反复调试软件 直到硬件和软件设计都达到设计要求 最后利用IDE的编程工具将配置文件烧写到FPGA的配置芯片或Flash 将可执行文件 elf编程到Flash中 使用IDE编程工具 烧写配置文件和 软件代码 目录 2 1SOPC开发流程2 2简单SOPC实例开发任务及步骤2 3分析系统需求2 4使用QuartusII建立工程2 5使用SOPCBuilder创建NiosII系统2 6集成NiosII系统到QuartusII顶层模块2 7设置编译选项并编译硬件系统2 8下载硬件设计到目标FPGA2 9使用NiosIIIDE建立用户程序2 10调试 运行程序 2 2简单SOPC实例开发任务及步骤 在这一节中 我们通过实际操作的视频教程来体验一个简单的SOPC开发的整个过程 任务 步骤 建立一个基于NiosII处理器的系统来控制一个LED灯闪烁 分析系统需求 启动QuartusII软件和新建实例设计工程 启动新的SOPCBuilder系统 在SOPCBuilder中定义并生成系统 集成SOPCBuilder系统到QuartusII工程 选择芯片型号并进行管脚分配 设置编译选项并编译硬件系统 下载硬件设计到目标FPGA 使用NiosIIIDE开发用户程序 调试用户程序 运行程序 目录 2 1SOPC开发流程2 2简单SOPC实例开发任务及步骤2 3分析系统需求2 4使用QuartusII建立工程2 5使用SOPCBuilder创建NiosII系统2 6集成NiosII系统到QuartusII顶层模块2 7设置编译选项并编译硬件系统2 8下载硬件设计到目标FPGA2 9使用NiosIIIDE建立用户程序2 10调试 运行程序 2 3分析系统要求 每一个SOPC系统开发之前 都应该仔细分析系统需求 例如 对所设计的系统运行性能有什么要求 系统要处理的带宽有多大 应用需求哪种类型的接口 应用需求多线程的软件吗 2 3分析系统要求 每一个SOPC系统开发之前 都应该仔细分析系统需求 基于这些问题 用户可确定具体的系统要求 例如 使用哪种NiosII处理器内核 比较小的还是比较快的 设计要求什么外设及其数量 功耗要求 使用哪种实时操作系统 RTOS 硬件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论