系统高级开发技术课件

上传人:F****n 文档编号:88249126 上传时间:2019-04-22 格式:PPT 页数:51 大小:2.31MB
返回 下载 相关 举报
系统高级开发技术课件_第1页
第1页 / 共51页
系统高级开发技术课件_第2页
第2页 / 共51页
系统高级开发技术课件_第3页
第3页 / 共51页
系统高级开发技术课件_第4页
第4页 / 共51页
系统高级开发技术课件_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《系统高级开发技术课件》由会员分享,可在线阅读,更多相关《系统高级开发技术课件(51页珍藏版)》请在金锄头文库上搜索。

1、2019/4/22,嵌入式技术概述 NIOSII系统高级开发技术,孔庆臣,2019/4/22,2,NIOSII系统高级开发技术,NIOSII软核处理器:可定制性、性能可配置性 可定制性: 三种类型内核、参数化的可配置的外围设备 性能可配置性: 多CPU结构、Avalon交换架构、用户定制指令、 硬件加速(用户定制外设、C2H编译器),2019/4/22,3,用户定制指令,1)概述,用户定制指令:将一个包含多条标准指令的指令序列减少为硬件实现的一条指令 1)NIOSII处理器配置向导提供了图形化界面添加封装用户定制指令; 2)NIOSII支持256条定制指令; 3)NIOSII IDE在syst

2、em.h中为每条定制指令产生一个宏,用户在应用程序中通过调用宏访问定制指令。,2019/4/22,4,用户定制指令,2)定制指令的体系结构,单时钟周期组合逻辑结构,2019/4/22,5,用户定制指令,2)定制指令的体系结构,多时钟周期时序逻辑结构,固定或可变的执行时间,2019/4/22,6,用户定制指令,2)定制指令的体系结构,多时钟周期时序逻辑结构,固定或可变的执行时间 扩展结构,能执行多个操作,2019/4/22,7,用户定制指令,2)定制指令的体系结构,多时钟周期时序逻辑结构,固定或可变的执行时间 扩展结构,能执行多个操作 可访问内部寄存器文件结构,2019/4/22,8,用户定制指

3、令,2-1)组合逻辑定制指令 能够在一个时钟周期内完成的定制指令,不需要控制端口,dataa和datab是可选的; result是必需的,2019/4/22,9,用户定制指令,2-2)多时钟周期定制指令 能够在多个时钟周期内完成的定制指令,需要控制端口。 固定时钟周期数:系统生成时指定 可变时钟周期数:使用start、done握手信号,clk、clk_en、reset是必需的,2019/4/22,10,用户定制指令,2-2)多时钟周期定制指令,固定时钟周期数:START信号有效后, 等待指定的周期数,读RESULT 可变时钟周期数:START信号有效后, 处理器一直等到DONE信号有效,201

4、9/4/22,11,用户定制指令,2-3)扩展定制指令 扩展定制指令允许一个定制指令实现多个不同的操作,NIOSII处理器通过一个8位的N域来实现指令扩展,整个NIOSII系统支持256个指令索引,2019/4/22,12,用户定制指令,2-4)可访问内部寄存器文件定制指令 可访问内部寄存器文件定制指令允许一个定制指令访问其自身的内部寄存器文件,从而提供了用户定制指令访问NIOSII处理器寄存器文件和自身寄存器文件的灵活性,2019/4/22,13,用户定制指令,2-4)可访问内部寄存器文件定制指令,2019/4/22,14,fc,2019/4/22,15,用户定制指令,2-5)具有外部接口的

5、定制指令 多时钟周期定制指令、扩展定制指令、可访问内部寄存器文件定制指令均可支持外部接口:提供了一个数据流入、流出处理器的专用接口,2019/4/22,16,用户定制指令,3)用户定制指令的软件接口(软件访问方式) NIOSII IDE 在system.h中为用户定制指令生成允许应用程序访问的宏。,用户定制指令索引,用户定制指令参数,NIOSII IDE 默认生成的宏中只使用了C的整数类型,其他数据类型需通过用户自定制宏定义,2019/4/22,17,用户定制指令编程,/高低位交换 #include “system.h” Int main(viod) Int a=0x12345678; Int

6、 a_swap=0; a_swap=ALT_CI_BSWAP(a); retun 0; ,2019/4/22,18,用户定制指令,3)用户定制指令的软件接口(软件访问方式) 用户定制指令的自定制宏,2019/4/22,19,用户定制指令,3)用户定制指令的软件接口(软件访问方式),2019/4/22,20,用户定制指令,4)实现用户定制指令的相关软件操作 (1)打开NIOSII CPU的定制指令设置页,点击该按钮,2019/4/22,21,用户定制指令,4)实现用户定制指令的相关软件操作 (2)添加用户定制指令设计文件,2019/4/22,22,用户定制指令,4)实现用户定制指令的相关软件操作

7、 (2)添加用户定制指令设计文件,自动识别顶层模块,2019/4/22,23,用户定制指令,4)实现用户定制指令的相关软件操作 (2)添加用户定制指令设计文件,2019/4/22,24,用户定制指令,4)实现用户定制指令的相关软件操作 (3)发布用户定制指令,输入元件名,输入元件组名,点击,2019/4/22,25,用户定制指令,4)实现用户定制指令的相关软件操作 (4)将定制指令加入系统,完成定制指令添加。,点击该按钮,将定制指令加入系统中,2019/4/22,26,用户定制外设,用户定制外设:开发一个定制的SOPC Builder元件 SOPC Builder元件的构成: 1)硬件文件:描

8、述元件硬件的HDL描述文件 2)软件文件:定义元件寄存器映射的C语言头文件和元 件驱动程序 3)元件描述文件(class.ptf):定义元件的结构,由元件编辑器根据硬件文件、软件文件及用户在元件编辑器的图形用户界面中指定的参数自动产生该文件。,2019/4/22,27,用户定制外设,1)用户定制SOPC Builder元件的开发流程 (1)指定硬件功能 (2)指定微处理器访问和控制该硬件的应用程序接口 (3)定义一个AVALON接口:提供正确的控制机制、足够 的吞吐性能 (4)采用VHDL或Verilog编写硬件设计 (5)单独测试硬件设计 (6)编写C头文件,定义寄存器映射 (7)使用元件编

9、辑器将硬件和软件文件打包成一个元件 (8)例化元件为SOPC系统的一个模块,2019/4/22,28,用户定制外设,1)用户定制SOPC Builder元件的开发流程 (9)使用NIOSII处理器测试元件的寄存器级访问 (10)编写元件的驱动程序 (11)反复改进元件的设计:硬件、软件、元件更新 (12)编译完整的包含一个或多个该元件的SOPC系统 (13)执行系统级的验证,若必要,进行反复设计 (14)完成元件设计,发布共享元件,2019/4/22,29,用户定制外设,2)用户定制SOPC Builder元件的硬件设计,任务逻辑:实现元件的基本功能,寄存器文件:任务逻辑内部信号同外部通信的通

10、路,AVALON接口:提供访问寄存器文件的传输,2019/4/22,30,用户定制外设,3)用户定制SOPC Builder元件的软件设计 软件文件:定义了元件的软件视图 最小化的软件设计:定义元件的寄存器映射C头文件 软件驱动程序:抽象了元件的硬件细节,使应用程序可 以在一个高层次上访问元件 元件编辑器可以方便的将C头文件和驱动程序打包到HAL库中,2019/4/22,31,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作 (1)启动元件编辑器,2019/4/22,32,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作 (2)H

11、DL Files 选项卡,手动指定顶层文件,2019/4/22,33,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作 (3)Signals 选项卡,2019/4/22,34,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作 (4)interfaces 选项卡,2019/4/22,35,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作 (5)SW Files 选项卡,添加软件文件,设置文件类型,2019/4/22,36,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作

12、 (6)Component Wizard 选项卡,2019/4/22,37,用户定制外设,4)打包硬件文件、软件文件为SOPC Builder元件的相关操作 (7)完成元件封装,2019/4/22,38,用户定制外设,5)共享元件 使设计的元件可以在不同工程中使用 将设计的元件目录转移到一个特定目录,目录路径名中不能有空格,在SOPC Builder中选择File-SOPC Builder Setup,添加包含元件目录的目录,用“+”分隔多个路径,2019/4/22,39,如何添加已设计成功的外设,1.复制外设文件夹 2.粘贴到C:altera61quartussopc_buildercomp

13、onents 3.启动sopc builder,自定义外设便出现在左侧对应的库中。,2019/4/22,40,C2H技术,1)概述 C2H: 用户可以直接从 ANSI C 源代码创建定制外设加速器 C2H编译器可以将特定C函数实现为硬件加速器以改善NIOSII程序的性能,但C2H不是将C作为设计语言产生任意硬件系统的工具。 C2H编译器的使用前提: (1)ANSI C语法足以描述计算密集或存储器访问频繁的任务 (2)C2H工具不能打乱已有的软件和硬件开发流程,2019/4/22,41,C2H技术,1)概述 C2H编译器提供的特性: (1)兼容ANSI C:支持大部分C构造,包括指针、数组、结构

14、、全局变 量、局部变量、循环、子函数调用 (2)直接的C到硬件的映射 (3)同NIOSII IDE集成:操作简单 (4)基于SOPC Builder和Avalon交换架构:C2H加速器是NIOSII系统的 一个元件 (5)详细的编译报告:硬件结构、资源使用,2019/4/22,42,C2H技术,2)C2H相关的重要概念 (1)C2H编译器工作在函数级 用户想要加速的代码必须为一个独立的函数,2019/4/22,43,C2H技术,2)C2H相关的重要概念 (2)包含C2H加速器的NIOSII的系统结构,SOPC Builder自动将C2H加速器以元件的形式集成到系统中; C2H加速器与NIOSI

15、I处理器是分离的,可以访问处理器访问的存储器; 用户能够在SOPC Builder中手动配置C2H加速器与系统的连接,2019/4/22,44,C2H技术,2)C2H相关的重要概念 (3)C2H中C语法到硬件结构的一对一映射,2019/4/22,45,C2H技术,2)C2H相关的重要概念 (4)系统性能瓶颈的转化 依靠处理器运行的应用的性能瓶颈是处理器执行指令的速度,高速缓存降低了系统性能对存储器访问时间的依赖 采用C2H加速器,系统性能的瓶颈主要取决于存储器访问的时间和带宽,2019/4/22,46,C2H技术,3)C2H的C代码选择 (1)理想的加速C代码 包含相对小而简单的循环或包含嵌套

16、的循环; 对一组数据反复操作,每次对数据进行一个或多个操作,然后存储 结果。 (2)不理想的加速C代码 包含很多顺序操作,不能形成一个循环的代码; 代码包含C2H不支持的语法的C代码,如浮点运算和递归函数; 调用系统和运行时库函数的C代码,如printf()。,2019/4/22,47,C2H技术,4)C2H编译器使用的相关操作 (1)创建C2H硬件加速器,2019/4/22,48,C2H技术,4)C2H编译器使用的相关操作 (2)设置C2H硬件加速器的编译选项,2019/4/22,49,C2H技术,4)C2H编译器使用的相关操作 (3)C2H视图中的详细编译报告,2019/4/22,50,C2H技术,4)C2H编译器使用的相关操作 (4)用户可以在SOPC Builder中查看C2H加速器,但不能修改C2H加速器,更不能删除C2H加速器;当在NIOSII IDE中编译C2H编译工程时,必须要关闭SOPC Builder。

展开阅读全文
相关资源
相关搜索

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

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号