欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载
     

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

    • 资源ID:5448834       资源大小:873.50KB        全文页数:27页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    SOPC开发流程及开发平台简介,主要内容,详细介绍了SOPC开发的基本流程,然后通过实际操作,详细的讲述了一个简单的SOPC系统的设计过程,包括使用Quartus II、SOPC Builder定制Nios II系统以及利用Nios II IDE进行应用程序开发.力求以实例的途径让大家以最快的方式了解SOPC开发以及各软件的使用.,目录,2.1 SOPC开发流程2.2 简单SOPC实例开发任务及步骤2.3 分析系统需求2.4 使用Quartus II建立工程2.5 使用SOPC Builder创建Nios II系统2.6 集成Nios II系统到Quartus II顶层模块2.7 设置编译选项并编译硬件系统2.8 下载硬件设计到目标FPGA2.9 使用Nios II IDE建立用户程序2.10 调试/运行程序,目录,2.1 SOPC开发流程2.2 简单SOPC实例开发任务及步骤2.3 分析系统需求2.4 使用Quartus II建立工程2.5 使用SOPC Builder创建Nios II系统2.6 集成Nios II系统到Quartus II顶层模块2.7 设置编译选项并编译硬件系统2.8 下载硬件设计到目标FPGA2.9 使用Nios II IDE建立用户程序2.10 调试/运行程序,2.1 SOPC开发流程,SOPC设计包括以Nios II软核处理器为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、IDE环境的软件设计、软件调试等。SOPC的开发流程通常包括2个方面:基于Quartus II、SOPC Builder的硬件设计、基于NiosII IDE的软件设计。对于比较简单的NiosII系统,一个人便可执行所有设计。对于比较复杂的系统,硬件和软件设计可以分开进行。SOPC的开发过程中要使用到Quartus II、SOPC Builder以及Nios II IDE,三者之间关系如下所示:,2.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 GUI,Quartus II,GNU Tools,Nios II IDE,2.1 SOPC开发流程,硬件开发,硬件开发使用Quartus II和SOPC Builder,配置Nios II处理器,选择并配置外设.IP,连接各外设模块,分配外设地址和中断,生成系统,SOPC Builder GUI,自定义命令,IP,模块,处理器库,外设模块库,硬件开发,Nios II IDE,软件开发,Quartus II,GNU Tools,用SOPC Builder软件从NiosII处理器内核和NiosII开发套件提供的外设列表中选取合适的CPU、存储器以及各外围器件,并定制和配置它们的功能;,分配外设地址及中断号;设定复位地址;,最后生成系统。,用户也可以添加用户自身定制指令逻辑到NiosII内核以加速CPU性能;,添加用户自己设计的IP模块。,2.1 SOPC开发流程,硬件开发,硬件开发使用Quartus II和SOPC Builder,配置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文件,管脚连接分配,2.1 SOPC开发流程,硬件开发,硬件开发使用Quartus II和SOPC Builder,配置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),Altera GPGA,用下载电缆(如 ByteBlaster II),将配置文件下载到目标板上。硬件校验完成后,可将新的硬件配置文件下载到目标板上的非易失存储器(如EPCS器件)。,2.1 SOPC开发流程,软件开发软件开发使用Nios II IDE,它是一个基于Eclipse IDE架构的集成开发环境,它包括:GNU开发工具(标准GCC编译器,连接器,汇编器和makefile工具等);基于GDB的调试器,包括软件仿真和硬件调试;提供用户一个硬件抽象层HAL;提供嵌入式操作系统MicroC/OS-II和LwTCP/IP协议栈的支持;提供帮助用户快速入门的软件模板;提供Flash下载支持(Flash Progrmmer 和QuartusII Programmer),2.1 SOPC开发流程,软件开发,配置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),Altera GPGA,C头文件 用户库函数 外设驱动,除了应用代码,用户还可以在Nios II IDE 工程中设计和重新使用定制库。,用户代码 库函数 操作系统(RTOS),硬件开发使用Quartus II和SOPC Builder,2.1 SOPC开发流程,软件开发,硬件开发使用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),Altera GPGA,C头文件 用户库函数 外设驱动,用户代码 库函数 操作系统(RTOS),即使在没有软件开发的目标板的情况下,也可以经过编译、连接后通过Nios II指令仿真器(ISS)运行和调试代码。,编译、连接、调试,可执行代码,一旦有一个目标板,用户救可以使用下载电缆下载软件到目标板进行调试/运行。,2.1 SOPC开发流程,SOPC基本开发流程简介从“硬件开发”与“软件开发”两小节中,在我们的脑海里一定已经形成了一个大致的开发流程,下面我们仔细的对其进行梳理和理解。见SOPC开发流程简图。,SOPC开发流程简图,分析系统需求,NiosII内核,&标准外设,定制指令&定,制外设逻辑,硬件抽象层,(HAL)&外设,驱动程序,用户C/C+应,用程序代码,和定制的库,自定义的,功能模块,建立Quartus II工程,,建立顶层图*.bdf,打开SOPC Builder,定义和生成系统,集成SOPC生,成的系统到,Quartus II工程,使用Nios II,IDE开发软件,Altera的,LPM模块,连接各,功能模块,选择FPGA型号,并进行管脚分配,进行编译,选项设置,编译硬件系统,生成配置文件sof,编译软件,生成可执,行文件elf,在目标板上,下载可执行,软件到,Nios II系统,下载配置文件到,FPGA器件,在目标板上运,行/调试软件,调试好的,硬件和软件,在IDE中使用,ISS运行/调试,软件,设置软件运行,硬件环境属性,使用IDE编程工具,烧写配置文件和,软件代码,在进行SOPC开发之前,首先必须确定系统的需求,如应用系统需求的计算性能、需要的带宽和吞吐量、需求的接口类型以及是否需求多线程的软件等。,每个开发过程开始时都应建立一个工程,Quartus II是以工程的方式对设计过程进行管理。在工程中建立顶层模块文件.bdf相当于传统电路设计中的电路板(PCB)。,在SOPC Builder中添加需要的功能模块(Nios II及其标准外设模块),完成后生成一个系统模块。,如果需要,用户可以定制指令和外设逻辑。(可参考第8章),SOPC开发流程简图,分析系统需求,NiosII内核,&标准外设,定制指令&定,制外设逻辑,硬件抽象层,(HAL)&外设,驱动程序,用户C/C+应,用程序代码,和定制的库,自定义的,功能模块,建立Quartus II工程,,建立顶层图*.bdf,集成SOPC生,成的系统到,Quartus II工程,使用Nios II,IDE开发软件,Altera的,LPM模块,连接各,功能模块,选择FPGA型号,并进行管脚分配,进行编译,选项设置,编译硬件系统,生成配置文件sof,编译软件,生成可执,行文件elf,在目标板上,下载可执行,软件到,Nios II系统,下载配置文件到,FPGA器件,在目标板上运,行/调试软件,调试好的,硬件和软件,在IDE中使用,ISS运行/调试,软件,设置软件运行,硬件环境属性,在Quartus II软件中包含了大量的Altera公司提供的LPM功能模块,相当与传统设计中除处理器以外的逻辑芯片(如74系列);,当设计中现有模块不能满足设计要求时,可设计自己的功能模块。并在顶层模块中使用;,打开SOPC Builder,定义和生成系统,在顶层模块中,分别将SOPC Builder生成的系统模块、LPM功能模块以及用户自定义功能模块添加到顶层模块中;,然后将各个功能模块用连线连起来组成系统功能原理图。,这个两过程类似传统电路设计中,将所有要使用的芯片焊接到电路板上,然后通过PCB上的连线将各个芯片连接起来,组成电路系统。,使用IDE编程工具,烧写配置文件和,软件代码,SOPC开发流程简图,分析系统需求,NiosII内核,&标准外设,定制指令&定,制外设逻辑,硬件抽象层,(HAL)&外设,驱动程序,用户C/C+应,用程序代码,和定制的库,自定义的,功能模块,建立Quartus II工程,,建立顶层图*.bdf,集成SOPC生,成的系统到,Quartus II工程,使用Nios II,IDE开发软件,Altera的,LPM模块,连接各,功能模块,选择FPGA型号,并进行管脚分配,进行编译,选项设置,编译硬件系统,生成配置文件sof,编译软件,生成可执,行文件elf,在目标板上,下载可执行,软件到,Nios II系统,下载配置文件到,FPGA器件,在目标板上运,行/调试软件,调试好的,硬件和软件,在IDE中使用,ISS运行/调试,软件,设置软件运行,硬件环境属性,打开SOPC Builder,定义和生成系统,为系统功能原理图选择芯片载体并为各个输入输出信号分配芯片的管脚;,设置编译选项,从而让编译器按照用户设定来进行编译;,编译系统生成硬件系统的配置文件*.sof和*.pof。编译系统是一个非常复杂的过程,包括优化逻辑的组合、综合逻辑、适配FPGA、布线以及时序分析等步骤。,使用IDE编程工具,烧写配置文件和,软件代码,SOPC开发流程简图,分析系统需求,NiosII内核,&标准外设,定制指令&定,制外设逻辑,硬件抽象层,(HAL)&外设,驱动程序,用户C/C+应,用程序代码,和定制的库,自定义的,功能模块,建立Quartus II工程,,建立顶层图*.bdf,集成SOPC生,成的系统到,Quartus II工程,使用Nios II,IDE开发软件,Altera的,LPM模块,连接各,功能模块,选择FPGA型号,并进行管脚分配,进行编译,选项设置,编译硬件系统,生成配置文件sof,编译软件,生成可执,行文件elf,在目标板上,下载可执行,软件到,Nios II系统,下载配置文件到,FPGA器件,在目标板上运,行/调试软件,调试好的,硬件和软件,在IDE中使用,ISS运行/调试,软件,设置软件运行,硬件环境属性,打开SOPC Builder,定义和生成系统,软件开发也可以在SOPC Builder 生成系统模块后立即进行!与传统软件开发类似,唯一不同在于系统是自己定制的,所受局限小!,使用IDE编程工具,烧写配置文件和,软件代码,SOPC开发流程简图,分析系统需求,NiosII内核,&标准外设,定制指令&定,制外设逻辑,硬件抽象层,(HAL)&外设,驱动程序,用户C/C+应,用程序代码,和定制的库,自定义的,功能模块,建立Quartus II工程,,建立顶层图*.bdf,集成SOPC生,成的系统到,Quartus II工程,使用Nios II,IDE开发软件,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编程工具,烧写配置文件和,软件代码,目录,2.1 SOPC开发流程2.2 简单SOPC实例开发任务及步骤2.3 分析系统需求2.4 使用Quartus II建立工程2.5 使用SOPC Builder创建Nios II系统2.6 集成Nios II系统到Quartus II顶层模块2.7 设置编译选项并编译硬件系统2.8 下载硬件设计到目标FPGA2.9 使用Nios II IDE建立用户程序2.10 调试/运行程序,2.2 简单SOPC实例开发任务及步骤,在这一节中,我们通过实际操作的视频教程来体验一个简单的SOPC开发的整个过程。,任务,步骤,建立一个基于Nios II处理器的系统来控制一个LED灯闪烁。,分析系统需求。启动QuartusII软件和新建实例设计工程。启动新的SOPC Builder系统。在SOPC Builder中定义并生成系统。集成SOPC Builder系统到QuartusII工程。选择芯片型号并进行管脚分配。设置编译选项并编译硬件系统。下载硬件设计到目标FPGA。使用NiosII IDE开发用户程序。调试用户程序。运行程序。,目录,2.1 SOPC开发流程2.2 简单SOPC实例开发任务及步骤2.3 分析系统需求2.4 使用Quartus II建立工程2.5 使用SOPC Builder创建Nios II系统2.6 集成Nios II系统到Quartus II顶层模块2.7 设置编译选项并编译硬件系统2.8 下载硬件设计到目标FPGA2.9 使用Nios II IDE建立用户程序2.10 调试/运行程序,2.3 分析系统要求,每一个SOPC系统开发之前,都应该仔细分析系统需求,例如:,对所设计的系统运行性能有什么要求?,系统要处理的带宽有多大?,应用需求哪种类型的接口?,应用需求多线程的软件吗?,?,2.3 分析系统要求,每一个SOPC系统开发之前,都应该仔细分析系统需求,基于这些问题,用户可确定具体的系统要求,例如:使用哪种NiosII处理器内核:比较小的还是比较快的?设计要求什么外设及其数量?功耗要求?使用哪种实时操作系统(RTOS)?硬件加速逻辑在哪些方面可大大提高系统性能?例如:增加一个DMA外设能释放CPU在进行数据拷贝时所占用的资源?定制的指令能取代DSP算法吗?,2.3 分析系统要求,实例开发任务是:展示可用于控制LED闪烁的简单NiosII处理器系统。利用最通用和有效的方法来建立实际的定制NiosII系统。整个系统仅使用片内资源,且不依赖于目标板。分析任务可以知道FPGA内硬件系统组成应包含:带有2kBytes指令高速缓存的NiosII/s处理器核;2kBytes片内ROM存储器(Onchip_ROM)用于存储程序代码以及程序运行空间;1kBytes片内RAM存储器(Onchip_RAM)用于变量存储(R/W数据)、Heap、stack;7位输出I/O(PIO)管脚来控制LED;,2.3 分析系统要求,控制LED闪烁的系统框图,其他逻辑与Nios II系统一样可存在与FPGA中。并且可与其他的片内逻辑相互作用,这取决于整个系统的需要。,2.3 分析系统要求,计算机要求Altera Quartus II 9.0或更高的软件版本Nios II9.0或更高版本,无论是否拥有一块开发板,都可以在按照以上所述来建立实例设计。如果没有目标板,仍然可以使用以上内容,只是不能目睹实例设计在硬件上运行。取而代之,用户将可以在Nios II指令集仿真器(ISS)上仿真软件运行。如果读者拥有开发板以及ByteBlaster II下载电缆,则目睹实例设计在硬件上运行,LED灯的闪烁。,2.1 SOPC开发流程2.2 简单SOPC实例开发任务及步骤2.3 分析系统需求2.4 使用Quartus II建立工程2.5 使用SOPC Builder创建Nios II系统2.6 集成Nios II系统到Quartus II顶层模块2.7 设置编译选项并编译硬件系统2.8 下载硬件设计到目标FPGA2.9 使用Nios II IDE建立用户程序2.10 调试/运行程序,

    注意事项

    本文(SOPC开发流程及开发平台简介.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开