




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,SOPC开发流程及开发平台简介,.,2,主要内容,详细介绍了SOPC开发的基本流程,然后通过实际操作,详细的讲述了一个简单的SOPC系统的设计过程,包括使用QuartusII、SOPCBuilder定制NiosII系统以及利用NiosIIIDE进行应用程序开发.力求以实例的途径让大家以最快的方式了解SOPC开发以及各软件的使用.,.,3,目录,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调试/运行程序,.,4,目录,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调试/运行程序,.,5,2.1SOPC开发流程,SOPC设计包括以NiosII软核处理器为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、IDE环境的软件设计、软件调试等。SOPC的开发流程通常包括2个方面:基于QuartusII、SOPCBuilder的硬件设计、基于NiosIIIDE的软件设计。对于比较简单的NiosII系统,一个人便可执行所有设计。对于比较复杂的系统,硬件和软件设计可以分开进行。SOPC的开发过程中要使用到QuartusII、SOPCBuilder以及NiosIIIDE,三者之间关系如下所示:,.,6,2.1SOPC开发流程,QuartusII:用于完成NiosII系统的分析综合、硬件优化、适配、配置文件编程下载以及硬件系统测试等;,SOPCBuilder:它是NiosII软核处理器的开发包,用于实现NiosII系统配置、生成以及与NiosII系统相关的监控和软件调试平台的生成;,NiosIIIDE:用于完成基于NiosII系统的软件开发和调试,并可借助其自带的Flash编程器完成对Flash以及EPCS的编程操作。,QuartusII、SOPCBuilder以及NiosIIIDE三者之间关系,SOPCBuilderGUI,QuartusII,GNUTools,NiosIIIDE,.,7,2.1SOPC开发流程,硬件开发,硬件开发使用QuartusII和SOPCBuilder,配置NiosII处理器,选择并配置外设.IP,连接各外设模块,分配外设地址和中断,生成系统,SOPCBuilderGUI,自定义命令,IP,模块,处理器库,外设模块库,硬件开发,NiosIIIDE,软件开发,QuartusII,GNUTools,用SOPCBuilder软件从NiosII处理器内核和NiosII开发套件提供的外设列表中选取合适的CPU、存储器以及各外围器件,并定制和配置它们的功能;,分配外设地址及中断号;设定复位地址;,最后生成系统。,用户也可以添加用户自身定制指令逻辑到NiosII内核以加速CPU性能;,添加用户自己设计的IP模块。,.,8,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文件,管脚连接分配,.,9,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器件)。,.,10,2.1SOPC开发流程,软件开发软件开发使用NiosIIIDE,它是一个基于EclipseIDE架构的集成开发环境,它包括:GNU开发工具(标准GCC编译器,连接器,汇编器和makefile工具等);基于GDB的调试器,包括软件仿真和硬件调试;提供用户一个硬件抽象层HAL;提供嵌入式操作系统MicroC/OS-II和LwTCP/IP协议栈的支持;提供帮助用户快速入门的软件模板;提供Flash下载支持(FlashProgrmmer和QuartusIIProgrammer),.,11,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,.,12,2.1SOPC开发流程,软件开发,硬件开发使用QuartusII和SOPCBuilder,配置NiosII处理器,选择并配置外设.IP,连接各外设模块,分配外设地址和中断,生成系统,SOPCBuilderGUI,自定义命令,IP,模块,处理器库,外设模块库,硬件开发,NiosIIIDE,软件开发,QuartusII,GNUTools,HDL源文件测试台,用户逻辑设计其它的IP模块SOPCBuilder的顶层.bdf文件,管脚连接分配,编译(分析与综合、布局布线、时序分析等),验证调试,硬件配置文件,JTAG,串口、以太网,片上调试(软件跟踪、硬件断点SignalTapII),AlteraGPGA,C头文件用户库函数外设驱动,用户代码库函数操作系统(RTOS),即使在没有软件开发的目标板的情况下,也可以经过编译、连接后通过NiosII指令仿真器(ISS)运行和调试代码。,编译、连接、调试,可执行代码,一旦有一个目标板,用户救可以使用下载电缆下载软件到目标板进行调试/运行。,.,13,2.1SOPC开发流程,SOPC基本开发流程简介从“硬件开发”与“软件开发”两小节中,在我们的脑海里一定已经形成了一个大致的开发流程,下面我们仔细的对其进行梳理和理解。见SOPC开发流程简图。,.,14,SOPC开发流程简图,分析系统需求,NiosII内核,然后将各个功能模块用连线连起来组成系统功能原理图。,这个两过程类似传统电路设计中,将所有要使用的芯片焊接到电路板上,然后通过PCB上的连线将各个芯片连接起来,组成电路系统。,使用IDE编程工具,烧写配置文件和,软件代码,.,16,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编程工具,烧写配置文件和,软件代码,.,17,SOPC开发流程简图,分析系统需求,NiosII内核,&标准外设,定制指令&定,制外设逻辑,硬件抽象层,(HAL)&外设,驱动程序,用户C/C+应,用程序代码,和定制的库,自定义的,功能模块,建立QuartusII工程,,建立顶层图*.bdf,集成SOPC生,成的系统到,QuartusII工程,使用NiosII,IDE开发软件,Altera的,LPM模块,连接各,功能模块,选择FPGA型号,并进行管脚分配,进行编译,选项设置,编译硬件系统,生成配置文件sof,编译软件,生成可执,行文件elf,在目标板上,下载可执行,软件到,NiosII系统,下载配置文件到,FPGA器件,在目标板上运,行/调试软件,调试好的,硬件和软件,在IDE中使用,ISS运行/调试,软件,设置软件运行,硬件环境属性,打开SOPCBuilder,定义和生成系统,软件开发也可以在SOPCBuilder生成系统模块后立即进行!与传统软件开发类似,唯一不同在于系统是自己定制的,所受局限小!,使用IDE编程工具,烧写配置文件和,软件代码,.,18,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编程工具,烧写配置文件和,软件代码,.,19,目录,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调试/运行程序,.,20,2.2简单SOPC实例开发任务及步骤,在这一节中,我们通过实际操作的视频教程来体验一个简单的SOPC开发的整个过程。,任务,步骤,建立一个基于NiosII处理器的系统来控制一个LED灯闪烁。,分析系统需求。启动QuartusII软件和新建实例设计工程。启动新的SOPCBuilder系统。在SOPCBuilder中定义并生成系统。集成SOPCBuilder系统到QuartusII工程。选择芯片型号并进行管脚分配。设置编译选项并编译硬件系统。下载硬件设计到目标FPGA。使用NiosIIIDE开发用户程序。调试用户程序。运行程序。,.,21,目录,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调试/运行程序,.,22,2.3分析系统要求,每一个SOPC系统开发之前,都应该仔细分析系统需求,例如:,对所设计的系统运行性能有什么要求?,系统要处理的带宽有多大?,应用需求哪种类型的接口?,应用需求多线程的软件吗?,?,.,23,2.3分析系统要求,每一个SOPC系统开发之前,都应该仔细分析系统需求,基于这些问题,用户可确定具体的系统要求,例如:使用哪种NiosII处理器内核:比较小的还是比较快的?设计要求什么外设及其数量?功耗要求?使用哪种实时操作系统(RTOS)?硬件加速逻辑在哪些方面可大大提高系统性能?例如:增加一个DMA外设能释放CPU在进行数据拷贝时所占用的资源?定制的指令能取代DSP算法吗?,.,24,2.3分析系统要求,实例开发任务是:展示可用于控制LED闪烁的简单NiosII处理器系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届安徽省安庆一中、安师大附中、铜陵一中高二化学第一学期期中统考试题含解析
- 新型支付方式的出现和发展趋势
- 挑战自我长沙职场新潮流奇葩面试题目的解读
- 知识题库-水泥行业安全知识考试题目(附答案)
- 全职业面试试题精 编:行业特点与题目设计精粹
- 省级示范幼儿园迎检汇报
- 学前教育评估指南解读
- 用电作业类隐患风险识别与排查
- 甘肃省武威市六中2026届化学高一上期中质量检测试题含解析
- 农村集体资源汇报
- 2022水环式机械真空泵选型计算手册
- 2024-2030全球商业电子垃圾回收行业调研及趋势分析报告
- 会议活动风险管理研究-全面剖析
- 机械传动知识课件2
- 2025年度运输业安全生产知识竞赛试题(附答案)
- 从业人员培训管理制度
- 酒店前台礼貌礼节培训
- 幸福心理学-(彭凯平)
- 2025年中邮保险招聘笔试参考题库含答案解析
- 《中国老年糖尿病诊疗指南(2024版)》解读课件
- 《中国女性乳腺癌患者糖尿病和糖尿病前期管理专家共识》 (2024版)
评论
0/150
提交评论