




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1SOPC开发流程及开发平台简介开发流程及开发平台简介第1页/共27页第2页/共27页第3页/共27页v SOPC设计包括以Nios II软核处理器为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、IDE环境的软件设计、软件调试等。v SOPC的开发流程通常包括2个方面:基于Quartus II、SOPC Builder的硬件设计、基于NiosII IDE的软件设计。对于比较简单的NiosII系统,一个人便可执行所有设计。对于比较复杂的系统,硬件和软件设计可以分开进行。 v SOPC的开发过程中要使用到Quartus II、SOPC Builder以及Nios II IDE,三者之间关系
2、如下所示: 第4页/共27页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 ToolsNi
3、os II IDE第5页/共27页v 硬件开发配置Nios II处理器选择并配置外设.IP连接各外设模块分配外设地址和中断SOPC Builder GUI自定义命令IP 模块处理器库外设模块库硬件开发硬件开发Nios II IDE软件开发软件开发Quartus IIGNU Tools 用SOPC Builder软件从NiosII处理器内核和NiosII开发套件提供的外设列表中选取合适的CPU、存储器以及各外围器件,并定制和配置它们的功能; 分配外设地址及中断号; 设定复位地址; 最后生成系统。 用户也可以添加用户自身定制指令逻辑到NiosII内核以加速CPU性能; 添加用户自己设计的IP模块。
4、 第6页/共27页v 硬件开发配置Nios II处理器选择并配置外设.IP连接各外设模块分配外设地址和中断SOPC Builder GUI自定义命令IP 模块处理器库外设模块库硬件开发硬件开发Nios II IDE软件开发软件开发Quartus IIGNU Tools 将生成的Nios II系统集成到之前建立的Quartus II工程; Quartus II工程中可加入Nios II系统以外的逻辑。其可以是自身定制的硬件模块,也可以是从Altera或第3方IP供应商中得到的其它现成的知识产权设计模块。 Quartus II软件用来选取具体的Altera FPGA器件型号,然后为Nios II系
5、统上的各I/O口分配管脚。 HDL 源文件 测试台 用户逻辑设计 其它的IP模块 SOPC Builder的 顶层.bdf文件管脚连接分配第7页/共27页v 硬件开发配置Nios II处理器选择并配置外设.IP连接各外设模块分配外设地址和中断SOPC Builder GUI自定义命令IP 模块处理器库外设模块库硬件开发硬件开发Nios II IDE软件开发软件开发Quartus IIGNU Tools 编译Quartus II工程,对HDL文件进行布局布线,从HDL源文件综合生成一个适合目标器件网表,生成FPGA配置文件(.sof); HDL 源文件 测试台 用户逻辑设计 其它的IP模块 SO
6、PC Builder的 顶层.bdf文件管脚连接分配编译(分析与综合、布局布线、时序分析等)验证调试硬件配置文件JTAG串口、以太网片上调试(软件跟踪、硬件断点 SignalTap II) 用下载电缆(如 ByteBlaster II),将配置文件下载到目标板上。硬件校验完成后,可将新的硬件配置文件下载到目标板上的非易失存储器(如EPCS器件)。第8页/共27页v 软件开发软件开发使用Nios II IDE,它是一个基于Eclipse IDE架构的集成开发环境,它包括: GNU开发工具(标准GCC编译器,连接器,汇编器和makefile工具等); 基于GDB的调试器,包括软件仿真和硬件调试;
7、提供用户一个硬件抽象层HAL; 提供嵌入式操作系统MicroC/OS-II和LwTCP/IP协议栈的支持; 提供帮助用户快速入门的软件模板; 提供Flash下载支持(Flash Progrmmer 和QuartusII Programmer)第9页/共27页v 软件开发配置Nios II处理器选择并配置外设.IP连接各外设模块分配外设地址和中断SOPC Builder GUI自定义命令IP 模块处理器库外设模块库硬件开发硬件开发Nios II IDE软件开发软件开发Quartus IIGNU Tools 使用SOPC Builder生成系统后,可以直接使用Nios II IDE开始设计C/C+
8、应用程序代码。Altera提供外设驱动程序和硬件抽象层(HAL),使用户能够快速编写与低级硬件细节无关的Nios II程序; HDL 源文件 测试台 用户逻辑设计 其它的IP模块 SOPC Builder的 顶层.bdf文件管脚连接分配编译(分析与综合、布局布线、时序分析等)验证调试硬件配置文件JTAG串口、以太网片上调试(软件跟踪、硬件断点 SignalTap II) C头文件 用户库函数 外设驱动 除了应用代码,用户还可以在Nios II IDE 工程中设计和重新使用定制库。 用户代码 库函数 操作系统(RTOS)硬件开发使用Quartus II和SOPC Builder第10页/共27页
9、v 软件开发硬件开发使用Quartus II和SOPC Builder配置Nios II处理器选择并配置外设.IP连接各外设模块分配外设地址和中断SOPC Builder GUI自定义命令IP 模块处理器库外设模块库硬件开发硬件开发Nios II IDE软件开发软件开发Quartus IIGNU Tools HDL 源文件 测试台 用户逻辑设计 其它的IP模块 SOPC Builder的 顶层.bdf文件管脚连接分配编译(分析与综合、布局布线、时序分析等)验证调试硬件配置文件JTAG串口、以太网片上调试(软件跟踪、硬件断点 SignalTap II) C头文件 用户库函数 外设驱动 用户代码
10、库函数 操作系统(RTOS) 即使在没有软件开发的目标板的情况下,也可以经过编译、连接后通过Nios II指令仿真器(ISS)运行和调试代码。编译、连接、调试可执行代码 一旦有一个目标板,用户救可以使用下载电缆下载软件到目标板进行调试/运行。第11页/共27页v SOPC基本开发流程简介从“硬件开发”与“软件开发”两小节中,在我们的脑海里一定已经形成了一个大致的开发流程,下面我们仔细的对其进行梳理和理解。见SOPC开发流程简图。第12页/共27页分析系统需求NiosII内核&标准外设定制指令&定制外设逻辑硬件抽象层(HAL)&外设驱动程序用户C/C+应用程序代码和定制的库自定义的功能模块建立Q
11、uartus II工程,建立顶层图*.bdf打开SOPC Builder定义和生成系统集成SOPC生成的系统到Quartus II工程使用Nios IIIDE开发软件Altera的LPM模块连接各功能模块选择FPGA型号并进行管脚分配进行编译选项设置编译硬件系统生成配置文件sof编译软件生成可执行文件elf在目标板上下载可执行软件到Nios II系统下载配置文件到FPGA器件在目标板上运行/调试软件调试好的硬件和软件在IDE中使用ISS运行/调试软件设置软件运行硬件环境属性使用IDE编程工具烧写配置文件和软件代码在进行SOPC开发之前,首先必须确定系统的需求,如应用系统需求的计算性能、需要的带
12、宽和吞吐量、需求的接口类型以及是否需求多线程的软件等。每个开发过程开始时都应建立一个工程,Quartus II是以工程的方式对设计过程进行管理。在工程中建立顶层模块文件.bdf相当于传统电路设计中的电路板(PCB)。在SOPC Builder中添加需要的功能模块(Nios II及其标准外设模块),完成后生成一个系统模块。如 果 需 要 ,用户可以定制指令和外设逻辑。(可参考第8章)第13页/共27页分析系统需求NiosII内核&标准外设定制指令&定制外设逻辑硬件抽象层(HAL)&外设驱动程序用户C/C+应用程序代码和定制的库自定义的功能模块建立Quartus II工程,建立顶层图*.bdf集成
13、SOPC生成的系统到Quartus II工程使用Nios IIIDE开发软件Altera的LPM模块连接各功能模块选择FPGA型号并进行管脚分配进行编译选项设置编译硬件系统生成配置文件sof编译软件生成可执行文件elf在目标板上下载可执行软件到Nios II系统下载配置文件到FPGA器件在目标板上运行/调试软件调试好的硬件和软件在IDE中使用ISS运行/调试软件设置软件运行硬件环境属性在Quartus II软件中包含了大量的Altera公司提供的LPM功能模块,相当与传统设计中除处理器以外的逻辑芯片(如74系列);当设计中现有模块不能满足设计要求时,可设计自己的功能模块。并在顶层模块中使用;打
14、开SOPC Builder定义和生成系统在顶层模块中,分别将SOPC Builder生成的系统模块、LPM功能模块以及用户自定义功能模块添加到顶层模块中;然 后 将 各个功能模块用连线连起来组成系统功能原理图。这个两过程类似传统电路设计中,将所有要使用的芯片焊接到电路板上,然后通过PCB上的连线将各个芯片连接起来,组成电路系统。 使用IDE编程工具烧写配置文件和软件代码第14页/共27页分析系统需求NiosII内核&标准外设定制指令&定制外设逻辑硬件抽象层(HAL)&外设驱动程序用户C/C+应用程序代码和定制的库自定义的功能模块建立Quartus II工程,建立顶层图*.bdf集成SOPC生成
15、的系统到Quartus II工程使用Nios IIIDE开发软件Altera的LPM模块连接各功能模块选择FPGA型号并进行管脚分配进行编译选项设置编译硬件系统生成配置文件sof编译软件生成可执行文件elf在目标板上下载可执行软件到Nios II系统下载配置文件到FPGA器件在目标板上运行/调试软件调试好的硬件和软件在IDE中使用ISS运行/调试软件设置软件运行硬件环境属性打开SOPC Builder定义和生成系统为系统功能原理图选择芯片载体并为各个输入输出信号分配芯片的管脚;设置编译选项,从而让编译器按照用户设定来进行编译;编译系统生成硬件系统的配置文件*.sof和*.pof。编译系统是一个
16、非常复杂的过程,包括优化逻辑的组 合 、 综 合 逻 辑 、 适 配FPGA、布线以及时序分析等步骤。使用IDE编程工具烧写配置文件和软件代码第15页/共27页分析系统需求NiosII内核&标准外设定制指令&定制外设逻辑硬件抽象层(HAL)&外设驱动程序用户C/C+应用程序代码和定制的库自定义的功能模块建立Quartus II工程,建立顶层图*.bdf集成SOPC生成的系统到Quartus II工程使用Nios IIIDE开发软件Altera的LPM模块连接各功能模块选择FPGA型号并进行管脚分配进行编译选项设置编译硬件系统生成配置文件sof编译软件生成可执行文件elf在目标板上下载可执行软件
17、到Nios II系统下载配置文件到FPGA器件在目标板上运行/调试软件调试好的硬件和软件在IDE中使用ISS运行/调试软件设置软件运行硬件环境属性打开SOPC Builder定义和生成系统软件开发也可以在SOPC Builder 生成系统模块后立即进行!与传统软件开发类似,唯一不同在于系统是自己定制的,所受局限小!使用IDE编程工具烧写配置文件和软件代码第16页/共27页分析系统需求NiosII内核&标准外设定制指令&定制外设逻辑硬件抽象层(HAL)&外设驱动程序用户C/C+应用程序代码和定制的库自定义的功能模块建立Quartus II工程,建立顶层图*.bdf集成SOPC生成的系统到Quar
18、tus II工程使用Nios IIIDE开发软件Altera的LPM模块连接各功能模块选择FPGA型号并进行管脚分配进行编译选项设置编译硬件系统生成配置文件sof编译软件生成可执行文件elf在目标板上下载可执行软件到Nios II系统下载配置文件到FPGA器件在目标板上运行/调试软件调试好的硬件和软件在IDE中使用ISS运行/调试软件设置软件运行硬件环境属性打开SOPC Builder定义和生成系统 设置好软件运行的硬件环境属性后,便可进行编译、链接和调试、运行程序。对用户程序进行编译,生成可执行文件*.elf。 接下来在IDE的指 令 集 仿 真 器(ISS)上仿真软件和运行/调试软件。 将
19、 配 置 文 件. s o f 下 载 到FPGA,将可执行文件.elf下载到RAM。 在目标板上反复调试软件。 直到硬件和软 件 设 计 都达 到 设 计 要求。 最后利用IDE的编程工具将配置文件烧写到FPGA的配置芯片或Flash,将可执行文件*.elf编程到Flash中。使用IDE编程工具烧写配置文件和软件代码第17页/共27页第18页/共27页在这一节中,我们通过实际操作的视频教程来体验一个简单的SOPC开发的整个过程。任务步骤建立一个基于Nios II处理器的系统来控制一个LED灯闪烁。1.分析系统需求。2.启动QuartusII软件和新建实例设计工程。3.启动新的SOPC Bui
20、lder系统。4.在SOPC Builder中定义并生成系统。5.集成SOPC Builder系统到QuartusII工程。6.选择芯片型号并进行管脚分配。7.设置编译选项并编译硬件系统。8.下载硬件设计到目标FPGA。9.使用NiosII IDE开发用户程序。10. 调试用户程序。11. 运行程序。第19页/共27页第20页/共27页每一个SOPC系统开发之前,都应该仔细分析系统需求,例如:对所设计的系统运行性能有什么要求?系统要处理的带宽有多大?应用需求哪种类型的接口?应用需求多线程的软件吗??第21页/共27页每一个SOPC系统开发之前,都应该仔细分析系统需求,基于这些问题,用户可确定具体的系统要求,例如:1.使用哪种NiosII处理器内核:比较小的还是比较快的?2.设计要求什么外设及其数量?3.功耗要求?4.使用哪种实时操作系统(RTOS)?5.硬件加速逻辑在哪些方面可大大提高系统性能?例如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园防疫卫生管理制度
- 2024年射频消融治疗仪项目投资申请报告代可行性研究报告
- 会议接待人员岗位职责
- 多尺度群落组装机制-洞察及研究
- 实习期间工作表现与能力证明(5篇)
- 农村新能源开发与管理责任书
- 《基因工程基础知识:高中生物教学教案》
- 肿瘤免疫疗法-第2篇-洞察及研究
- 信息技术咨询服务合同书
- 高中物理力学基础:力学公式与解题技巧教学教案
- 人工肝治疗指南课件
- 2021年新教材人教A版高中数学必修第一册第五章三角函数 教学课件
- 掘进机整机出厂检验报告
- 最新版中小学校服选用自查整改报告
- 旅行社的导游管理制度
- DB4201∕T 645-2021 房地产经纪服务规范
- 拨叉综合课程设计
- 压铸件QC工程图
- 常用标准波导和法兰尺寸
- pH 值对柠檬酸缓凝效果影响的研究
- 705型试验台技术条件及说明书
评论
0/150
提交评论