第8章-系统高级开发技术课件

上传人:29 文档编号:242772456 上传时间:2024-09-03 格式:PPT 页数:51 大小:2.40MB
返回 下载 相关 举报
第8章-系统高级开发技术课件_第1页
第1页 / 共51页
第8章-系统高级开发技术课件_第2页
第2页 / 共51页
第8章-系统高级开发技术课件_第3页
第3页 / 共51页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,计算机控制教研室,黑龙江科技学院,嵌入式技术概述, NIOSII系统高级开发技术,孔庆臣,9/3/2024,嵌入式技术概述 NIOSII系统高级开发技术9/9,NIOSII系统高级开发技术,NIOSII软核处理器:,可定制性,、,性能可配置性,可定制性,:,三种类型内核,、,参数化的可配置的外围设备,性能可配置性,:,多CPU结构,、,Avalon交换架构,、,用户定制指令,、,硬件加速,(,用户定制外设,、,C2H编译器,),9/3/2024,2,NIOSII系统高级开发技术NIOSII软核处理器:可定,用户定制指令,1)概述,用户定制指令:,将,一个包含多条标准指令的指令序列,减少为,硬件实现的一条指令,1)NIOSII处理器配置向导提供了图形化界面添加封装用户定制指令;,2)NIOSII支持256条定制指令;,3)NIOSII IDE在system.h中为每条定制指令产生一个宏,用户在应用程序中通过调用宏访问定制指令。,9/3/2024,3,用户定制指令1)概述用户定制指令:将一个包含多条标准指令的,用户定制指令,2)定制指令的体系结构,单时钟周期组合逻辑结构,9/3/2024,4,用户定制指令2)定制指令的体系结构单时钟周期组合逻辑结构9,用户定制指令,2)定制指令的体系结构,多时钟周期时序逻辑结构,固定或可变的执行时间,9/3/2024,5,用户定制指令2)定制指令的体系结构多时钟周期时序逻辑结构,,用户定制指令,2)定制指令的体系结构,多时钟周期时序逻辑结构,固定或可变的执行时间,扩展结构,能执行多个操作,9/3/2024,6,用户定制指令2)定制指令的体系结构多时钟周期时序逻辑结构,,用户定制指令,2)定制指令的体系结构,多时钟周期时序逻辑结构,固定或可变的执行时间,扩展结构,能执行多个操作,可访问内部寄存器文件结构,9/3/2024,7,用户定制指令2)定制指令的体系结构多时钟周期时序逻辑结构,,用户定制指令,2-1,)组合逻辑定制指令,能够在一个时钟周期内完成的定制指令,不需要控制端口,dataa和datab是可选的;,result是必需的,9/3/2024,8,用户定制指令2-1)组合逻辑定制指令dataa和datab是,用户定制指令,2-2,)多时钟周期定制指令,能够在多个时钟周期内完成的定制指令,需要控制端口。,固定时钟周期数,:系统生成时指定,可变时钟周期数,:使用start、done握手信号,clk、clk_en、reset是必需的,9/3/2024,9,用户定制指令2-2)多时钟周期定制指令clk、clk_en、,用户定制指令,2-2,)多时钟周期定制指令,固定时钟周期数,:START信号有效后,等待指定的周期数,读RESULT,可变时钟周期数,:START信号有效后,处理器一直等到DONE信号有效,9/3/2024,10,用户定制指令2-2)多时钟周期定制指令固定时钟周期数:STA,用户定制指令,2-3,)扩展定制指令,扩展定制指令允许一个定制指令实现多个不同的操作,NIOSII处理器通过一个8位的N域来实现指令扩展,整个NIOSII系统支持256个指令索引,9/3/2024,11,用户定制指令2-3)扩展定制指令NIOSII处理器通过一个8,用户定制指令,2-4,)可访问内部寄存器文件定制指令,可访问内部寄存器文件定制指令允许一个定制指令访问,其自身的内部寄存器文件,,从而提供了用户定制指令访问,NIOSII处理器寄存器文件,和,自身寄存器文件,的灵活性,9/3/2024,12,用户定制指令2-4)可访问内部寄存器文件定制指令9/9/20,用户定制指令,2-4,)可访问内部寄存器文件定制指令,9/3/2024,13,用户定制指令2-4)可访问内部寄存器文件定制指令9/9/20,fc,9/3/2024,14,fc9/9/202314,用户定制指令,2-5,)具有外部接口的定制指令,多时钟周期定制指令、扩展定制指令、可访问内部寄存器文件定制指令均可支持外部接口:,提供了一个数据流入、流出处理器的专用接口,9/3/2024,15,用户定制指令2-5)具有外部接口的定制指令9/9/20231,用户定制指令,3)用户定制指令的软件接口(软件访问方式),NIOSII IDE 在,system.h,中为用户定制指令生成允许应用程序访问的,宏,。,用户定制指令索引,用户定制指令参数,NIOSII IDE 默认生成的宏中只使用了C的整数类型,,其他数据类型需通过用户自定制宏定义,9/3/2024,16,用户定制指令3)用户定制指令的软件接口(软件访问方式)用户,用户定制指令编程,/高低位交换,#include “system.h”,Int main(viod),Int a=0x12345678;,Int a_swap=0;,a_swap=ALT_CI_BSWAP(a);,retun 0;,9/3/2024,17,用户定制指令编程/高低位交换9/9/202317,用户定制指令,3)用户定制指令的软件接口(软件访问方式),用户定制指令的,自定制宏,9/3/2024,18,用户定制指令3)用户定制指令的软件接口(软件访问方式)9/,用户定制指令,3)用户定制指令的软件接口(软件访问方式),9/3/2024,19,用户定制指令3)用户定制指令的软件接口(软件访问方式)9/,用户定制指令,4)实现用户定制指令的相关软件操作,(1)打开NIOSII CPU的定制指令设置页,点击该按钮,9/3/2024,20,用户定制指令4)实现用户定制指令的相关软件操作点击该按钮9/,用户定制指令,4)实现用户定制指令的相关软件操作,(2)添加用户定制指令设计文件,9/3/2024,21,用户定制指令4)实现用户定制指令的相关软件操作9/9/202,用户定制指令,4)实现用户定制指令的相关软件操作,(2)添加用户定制指令设计文件,自动识别顶层模块,9/3/2024,22,用户定制指令4)实现用户定制指令的相关软件操作自动识别顶层模,用户定制指令,4)实现用户定制指令的相关软件操作,(2)添加用户定制指令设计文件,9/3/2024,23,用户定制指令4)实现用户定制指令的相关软件操作9/9/202,用户定制指令,4)实现用户定制指令的相关软件操作,(3)发布用户定制指令,输入元件名,输入元件组名,点击,9/3/2024,24,用户定制指令4)实现用户定制指令的相关软件操作输入元件名输入,用户定制指令,4)实现用户定制指令的相关软件操作,(4)将定制指令加入系统,完成定制指令添加。,点击该按钮,将定制指令加入系统中,9/3/2024,25,用户定制指令4)实现用户定制指令的相关软件操作点击该按钮,将,用户定制外设,用户定制外设:开发一个定制的SOPC Builder元件,SOPC Builder元件的构成:,1)硬件文件:,描述元件硬件的HDL描述文件,2)软件文件:,定义元件寄存器映射的C语言头文件和元 件驱动程序,3)元件描述文件(class.ptf):定义元件的结构,由元件编辑器根据,硬件文件、软件文件及用户在元件编辑器的图形用户界面中指定的参数,自动产生该文件。,9/3/2024,26,用户定制外设用户定制外设:开发一个定制的SOPC Buil,用户定制外设,1)用户定制SOPC Builder元件的开发流程,(1)指定硬件功能,(2)指定微处理器访问和控制该硬件的应用程序接口,(3),定义一个AVALON接口:提供正确的控制机制、足够 的吞吐性能,(4),采用VHDL或Verilog编写硬件设计,(5)单独测试硬件设计,(6),编写C头文件,定义寄存器映射,(7),使用元件编辑器将硬件和软件文件打包成一个元件,(8)例化元件为SOPC系统的一个模块,9/3/2024,27,用户定制外设1)用户定制SOPC Builder元件的开发,用户定制外设,1)用户定制SOPC Builder元件的开发流程,(9)使用NIOSII处理器测试元件的寄存器级访问,(10)编写元件的驱动程序,(11)反复改进元件的设计:硬件、软件、元件更新,(12)编译完整的包含一个或多个该元件的SOPC系统,(13)执行系统级的验证,若必要,进行反复设计,(14)完成元件设计,,发布共享元件,9/3/2024,28,用户定制外设1)用户定制SOPC Builder元件的开发,用户定制外设,2)用户定制SOPC Builder元件的硬件设计,任务逻辑:实现元件的基本功能,寄存器文件:任务逻辑内部信号同外部通信的通路,AVALON接口:提供访问寄存器文件的传输,9/3/2024,29,用户定制外设2)用户定制SOPC Builder元件的硬件,用户定制外设,3)用户定制SOPC Builder元件的软件设计,软件文件:定义了元件的软件视图,最小化的软件设计,:定义元件的寄存器映射C头文件,软件驱动程序,:抽象了元件的硬件细节,使应用程序可 以在一个高层次上访问元件,元件编辑器可以方便的将C头文件和驱动程序打包到HAL库中,9/3/2024,30,用户定制外设3)用户定制SOPC Builder元件的软件,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作,(1)启动元件编辑器,9/3/2024,31,用户定制外设4)打包硬件文件、软件文件为SOPC Buil,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作,(2)HDL Files 选项卡,手动指定顶层文件,9/3/2024,32,用户定制外设4)打包硬件文件、软件文件为SOPC Buil,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作,(3)Signals 选项卡,9/3/2024,33,用户定制外设4)打包硬件文件、软件文件为SOPC Buil,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作,(4)interfaces 选项卡,9/3/2024,34,用户定制外设4)打包硬件文件、软件文件为SOPC Buil,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作,(5)SW Files 选项卡,添加软件文件,设置文件类型,9/3/2024,35,用户定制外设4)打包硬件文件、软件文件为SOPC Buil,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作,(6)Component Wizard 选项卡,9/3/2024,36,用户定制外设4)打包硬件文件、软件文件为SOPC Buil,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作,(7)完成元件封装,9/3/2024,37,用户定制外设4)打包硬件文件、软件文件为SOPC Buil,用户定制外设,5)共享元件,使设计的元件可以在不同工程中使用,将设计的元件目录转移到一个特定目录,,目录路径名中不能有空格,,在SOPC Builder中选择,File-SOPC Builder Setup,添加包含元件目录的目录,用“+”分隔多个路径,9/3/2024,38,用户定制外设5)共享元件添加包含元件目录的目录,用“+”分,如何添加已设计成功的外设,1.复制外设文件夹,2.粘贴到,C:,altera61quartussopc_buildercomponents,3.启动sopc builder,自定义外设便出现在左侧对应的库中。,9/3/2024,39,如何添加已设计成功的外设1.复制外设文件夹9/9/20233,C2H技术,1)概述,C2H: 用户可以直接从,ANSI C 源代码,创建,定制外设加速器,C2H编译器可以将特定C函数实现为硬件加速器以改善NIOSII程序的性能,,但C2H不是将C作为设计语言产生任意硬件系统的工具。,C2H编译器的使用前提:,(1)ANSI C语法足以描述计算密集或存储器访问频繁的任务,(2)C2H工具不能打乱已有的软件和硬件开发流程,9/3/2024,40,C2H技术1)概述9/9/202340,C2H技术,1)概述,C2H编译器提供的特性:,(1)兼容ANSI C,:支持大部分C构造,包括指针、数组、结构、全局变 量、局部变量、循环、子函数调用,(2)直接的C到硬件的映射,(3)同NIOSII IDE集成,:操作简单,(,4)基于SOPC Builder和Avalon交换架构,:C2H加速器是NIOSII系统的 一个元件,(5)详细的编译报告,:硬件结构、资源使用,9/3/2024,41,C2H技术1)概述9/9/202341,C2H技术,2)C2H相关的重要概念,(1),C2H编译器工作在函数级,用户想要加速的代码必须为一个独立的函数,9/3/2024,42,C2H技术2)C2H相关的重要概念9/9/202342,C2H技术,2)C2H相关的重要概念,(2),包含C2H加速器的NIOSII的系统结构,SOPC Builder自动将C2H加速器以元件的形式集成到系统中;,C2H加速器与NIOSII处理器是分离的,可以访问处理器访问的存储器;,用户能够在SOPC Builder中手动配置C2H加速器与系统的连接,9/3/2024,43,C2H技术2)C2H相关的重要概念SOPC Builder,C2H技术,2)C2H相关的重要概念,(3),C2H中C语法到硬件结构的一对一映射,9/3/2024,44,C2H技术2)C2H相关的重要概念9/9/202344,C2H技术,2)C2H相关的重要概念,(4),系统性能瓶颈的转化,依靠处理器运行的应用,的性能瓶颈是处理器执行指令的速度,高速缓存降低了系统性能对存储器访问时间的依赖,采用C2H加速器,,系统性能的瓶颈主要取决于存储器访问的时间和带宽,9/3/2024,45,C2H技术2)C2H相关的重要概念9/9/202345,C2H技术,3)C2H的C代码选择,(1)理想的加速C代码,包含相对小而简单的循环或包含嵌套的循环;,对一组数据反复操作,每次对数据进行一个或多个操作,然后存储结果。,(2)不理想的加速C代码,包含很多顺序操作,不能形成一个循环的代码;,代码包含C2H不支持的语法的C代码,如浮点运算和递归函数;,调用系统和运行时库函数的C代码,如printf()。,9/3/2024,46,C2H技术3)C2H的C代码选择9/9/202346,C2H技术,4)C2H编译器使用的相关操作,(1)创建C2H硬件加速器,9/3/2024,47,C2H技术4)C2H编译器使用的相关操作9/9/20234,C2H技术,4)C2H编译器使用的相关操作,(2)设置C2H硬件加速器的编译选项,9/3/2024,48,C2H技术4)C2H编译器使用的相关操作9/9/20234,C2H技术,4)C2H编译器使用的相关操作,(3)C2H视图中的详细编译报告,9/3/2024,49,C2H技术4)C2H编译器使用的相关操作9/9/20234,C2H技术,4)C2H编译器使用的相关操作,(4)用户可以在SOPC Builder中查看C2H加速器,,但不能修改C2H加速器,更不能删除C2H加速器,;当在NIOSII IDE中编译C2H编译工程时,,必须要关闭SOPC Builder,。,(5)移除C2H硬件加速器:必须在NIOSII IDE中使用,Remove C2H Accelerator命令,移除C2H加速器。,9/3/2024,50,C2H技术4)C2H编译器使用的相关操作9/9/20235,本章总结,用户定制指令,用户定制外设(SOPC Builder元件),C2H技术,9/3/2024,51,本章总结9/9/202351,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!