嵌入式技术概述_NIOSII系统高级开发技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

工程学院自动化及测控系嵌入式技术概述——NIOSII系统高级开发技术刘兰军工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/142NIOSII系统高级开发技术NIOSII软核处理器:可定制性、性能可配置性可定制性:三种类型内核、参数化的可配置的外围设备性能可配置性:多CPU结构、Avalon交换架构、用户定制指令、硬件加速(用户定制外设、C2H编译器)工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/143用户定制指令1)概述用户定制指令:将一个包含多条标准指令的指令序列减少为硬件实现的一条指令;以指令形式实现定制功能1)NIOSII处理器配置向导提供了图形化界面添加封装用户定制指令;2)NIOSII支持256条定制指令;3)NIOSIIIDE在system.h中为每条定制指令产生一个宏,用户在应用程序中通过调用宏访问定制指令。工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/144用户定制指令2)定制指令的体系结构单时钟周期组合逻辑结构工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/145用户定制指令2)定制指令的体系结构多时钟周期时序逻辑结构,固定或可变的执行时间工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/146用户定制指令2)定制指令的体系结构多时钟周期时序逻辑结构,固定或可变的执行时间扩展结构,能执行多个操作工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/147用户定制指令2)定制指令的体系结构多时钟周期时序逻辑结构,固定或可变的执行时间扩展结构,能执行多个操作可访问内部寄存器文件结构工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/148用户定制指令2-1)组合逻辑定制指令能够在一个时钟周期内完成的定制指令,不需要控制端口dataa和datab是可选的;result是必需的工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/149用户定制指令2-2)多时钟周期定制指令能够在多个时钟周期内完成的定制指令,需要控制端口。固定时钟周期数:系统生成时指定可变时钟周期数:使用start、done握手信号clk、clk_en、reset是必需的工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1410用户定制指令2-2)多时钟周期定制指令固定时钟周期数:START信号有效后,等待指定的周期数,读RESULT可变时钟周期数:START信号有效后,处理器一直等到DONE信号有效工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1411用户定制指令2-3)扩展定制指令扩展定制指令允许一个定制指令实现多个不同的操作NIOSII处理器通过一个8位的N域来实现指令扩展;扩展定制指令占用多个定制指令索引工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1412用户定制指令2-4)可访问内部寄存器文件定制指令可访问内部寄存器文件定制指令允许一个定制指令访问其自身的内部寄存器文件,从而提供了用户定制指令访问NIOSII处理器寄存器文件和自身寄存器文件的灵活性工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1413用户定制指令2-4)可访问内部寄存器文件定制指令工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1414用户定制指令2-5)具有外部接口的定制指令多时钟周期定制指令、扩展定制指令、可访问内部寄存器文件定制指令均可支持外部接口:提供了一个数据流入、流出处理器的专用接口工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1415用户定制指令3)实现用户定制指令的相关软件操作(1)打开NIOSIICPU的定制指令设置页点击该按钮工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1416用户定制指令3)实现用户定制指令的相关软件操作(2)添加用户定制指令设计文件工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1417用户定制指令3)实现用户定制指令的相关软件操作(2)添加用户定制指令设计文件自动识别顶层模块点击该按钮工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1418用户定制指令3)实现用户定制指令的相关软件操作(2)添加用户定制指令设计文件点击该按钮工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1419用户定制指令3)实现用户定制指令的相关软件操作(3)发布用户定制指令输入元件名输入元件组名点击工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1420用户定制指令3)实现用户定制指令的相关软件操作(4)将定制指令加入系统,完成定制指令添加。点击该按钮,将定制指令加入系统中工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1421用户定制指令4)用户定制指令的软件接口(软件访问方式)NIOSIIIDE在system.h中为用户定制指令生成允许应用程序访问的宏。用户定制指令索引用户定制指令参数NIOSIIIDE默认生成的宏中只使用了C的整数类型,其他数据类型需通过用户自定制宏定义工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1422用户定制指令4)用户定制指令的软件接口(软件访问方式)用户定制指令的自定制宏工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1423用户定制指令4)用户定制指令的软件接口(软件访问方式)工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1424用户定制外设用户定制外设:开发一个定制的SOPCBuilder元件SOPCBuilder元件的构成:1)硬件文件:描述元件硬件的HDL描述文件2)软件文件:定义元件寄存器映射的C语言头文件和元件驱动程序3)元件描述文件(class.ptf):定义元件的结构。由元件编辑器根据硬件文件、软件文件及用户在元件编辑器的图形用户界面中指定的参数自动产生该文件。工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1425用户定制外设1)用户定制SOPCBuilder元件的开发流程(1)指定硬件功能(2)指定微处理器访问和控制该硬件的应用程序接口(3)定义一个AVALON接口:提供正确的控制机制、足够的吞吐性能(4)采用VHDL或Verilog编写硬件设计(5)单独测试硬件设计(6)编写C头文件,定义寄存器映射(7)使用元件编辑器将硬件和软件文件打包成一个元件(8)例化元件为SOPC系统的一个模块工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1426用户定制外设1)用户定制SOPCBuilder元件的开发流程(9)使用NIOSII处理器测试元件的寄存器级访问(10)编写元件的驱动程序(11)反复改进元件的设计:硬件、软件、元件更新(12)编译完整的包含一个或多个该元件的SOPC系统(13)执行系统级的验证,若必要,进行反复设计(14)完成元件设计,发布共享元件工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1427用户定制外设2)用户定制SOPCBuilder元件的硬件设计任务逻辑:实现元件的基本功能寄存器文件:任务逻辑内部信号同外部通信的通路AVALON接口:提供访问寄存器文件的传输用户接口:提供与外部逻辑或外设的接口工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1428用户定制外设3)用户定制SOPCBuilder元件的软件设计软件文件:定义了元件的软件视图最小化的软件设计:定义元件的寄存器映射C头文件软件驱动程序:抽象了元件的硬件细节,使应用程序可以在一个高层次上访问元件元件编辑器可以方便的将C头文件和驱动程序打包到HAL库中工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1429用户定制外设4)打包硬件文件、软件文件为SOPCBuilder元件的相关操作(1)启动元件编辑器工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1430用户定制外设4)打包硬件文件、软件文件为SOPCBuilder元件的相关操作(2)HDLFiles选项卡手动指定顶层文件工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1431用户定制外设4)打包硬件文件、软件文件为SOPCBuilder元件的相关操作(3)Signals选项卡工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1432用户定制外设4)打包硬件文件、软件文件为SOPCBuilder元件的相关操作(4)interfaces选项卡工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1433用户定制外设4)打包硬件文件、软件文件为SOPCBuilder元件的相关操作(5)SWFiles选项卡添加软件文件设置文件类型工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1434用户定制外设4)打包硬件文件、软件文件为SOPCBuilder元件的相关操作(6)ComponentWizard选项卡工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1435用户定制外设4)打包硬件文件、软件文件为SOPCBuilder元件的相关操作(7)完成元件封装工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1436用户定制外设5)共享元件使设计的元件可以在不同工程中使用将设计的元件目录转移到一个特定目录,目录路径名中不能有空格,在SOPCBuilder中选择File---SOPCBuilderSetup添加包含元件目录的目录,用“+”分隔多个路径工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1437C2H技术1)概述C2H:用户可以直接从ANSIC源代码创建定制外设加速器C2H编译器可以将特定C函数实现为硬件加速器以改善NIOSII程序的性能,但C2H不是将C作为设计语言产生任意硬件系统的工具。C2H编译器的使用前提:(1)ANSIC语法足以描述计算密集或存储器访问频繁的任务(2)C2H工具不能打乱已有的软件和硬件开发流程工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1438C2H技术1)概述C2H编译器提供的特性:(1)兼容ANSIC:支持大部分C构造,包括指针、数组、结构、全局变量、局部变量、循环、子函数调用(2)直接的C到硬件的映射(3)同NIOSIIIDE集成:操作简单(4)基于SOPCBuilder和Avalon交换架构:C2H加速器是NIOSII系统的一个元件(5)详细的编译报告:硬件结构、资源使用工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1439C2H技术2)C2H相关的重要概念(1)C2H编译器工作在函数级用户想要加速的代码必须为一个独立的函数工程学院自动化及测控系OCEANUNIVERSITYOFCHINA2020/3/1440C2H技术2)C2H相关的重要概念(2)包含C2H加速器的NIOSII的系统结构SOPCBuilder自动将C2H加速器以元件的形式集成到系统中;C2H加速

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功