NiosII系统高级开发技术.ppt_第1页
NiosII系统高级开发技术.ppt_第2页
NiosII系统高级开发技术.ppt_第3页
NiosII系统高级开发技术.ppt_第4页
NiosII系统高级开发技术.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章 Nios II系统高级开发技术,本章是有关SOPC的深入设计,C2H、定制用户逻辑外设和定制用户指令是使用Nios II嵌入式软核处理器的SOPC系统的重要特性,用户还可以通过C2H、定制用户逻辑外设和定制用户指令来实现各种应用要求。,主要内容,第8章 目录,8.1 定制Nios II用户指令 8.2 定制基于Avalon的用户外设 8.3 C2H编译器的使用,8.1 .1 用户定制指令 对时间要求严格的算法可定制指令,提高性能(如:FFT) 可扩展CPU指令集。 软件中比较费时间的运算(比如浮点乘除法,循环迭代等),通 过定制指令由硬件来实现,加速运算速度 。,扩展接口用户指令的结构框图,8.1 定制Nios II用户指令,8.1.2 定制指令体系结构的类型 1. 组合逻辑; 2. 多周期; 3. 扩展的: 4. 内部寄存器文件; 5. 外部接口;,8.1 定制Nios II用户指令,8.1.2 定制指令体系结构的类型,多周期指令结构框图,组合逻辑指令结构框图,8.1 定制Nios II用户指令,扩展指令结构框图,带内部寄存器的乘加指令结构框图,8.1.2 定制指令体系结构的类型,8.1 定制Nios II用户指令,扩展接口用户指令的结构框图,8.1.2 定制指令体系结构的类型,8.1 定制Nios II用户指令,8.1.3 定制指令实现方式 定制指令支持多种设计文件,包括:Verilog HDL, VHDL, EDIF netlist file, Quartus II Block Design File (.bdf), 和Verilog Quartus Mapping File (.vqm)。 具体实现方法有: 1导入HDL文件实现定制指令; 2通过DSP Builder实现定制指令加速模块; 3直接使用SOPC Builder中自带的定制指令。,8.1 定制Nios II用户指令,定制指令设计示例 在定制指令前,首先要正确的实现硬件逻辑功能,包括编写HDL文件和验证用户逻辑。 1.编写HDL文件 D:altera80nios2edsexamplesverilogc ustom_instruction_templates 2.验证用户逻辑功能 3.在SOPC Builder中添加HDL文件,int main (void) _attribute_ (weak, alias (“alt_main“); #pragma no_custom_fmuls #pragma no_custom_fadds #pragma no_custom_fsubs #pragma no_custom_fdivs void delay (void) float a, b, z; alt_u32 i; a = 2008.620; b = 123.45678; z = 0; for (i=0;i5000;i+) z += a*146.134761f/b; a+; return; ,8.3 Nios II C语言至硬件加速编译器(C2H)简介,NIOS II C-to-Hardware(C2H)加速编译器使得用户可以直接从ANSI C 源代码创建定制外设加速器。硬件加速器是在硬件中实现C函数的逻辑模块,通常可以将执行效率提高到一个数量级。使用C2H编译器,用户可以在以NIOS II 处理器为目标处理器的C程序中开发和调试一个算法,然后将C代码转化成在FPGA中实现的硬件加速器。,类似CPU+GPU。 专用硬件加速器,作为FPGA的定制协处理器,协助CPU同时处理多个数据。SOPC Builder含有一个向导,将加速逻辑和DMA通道引入系统。,C2H的特点 1. 简单和易于使用 2. 快速的反复设计以找到最优的软硬件分配比例 3. 加速对性能影响大的代码 4. C2H编译器工作在函数级 5. 从C语法到硬件结构的一对一映射 6. 性能依赖存储器访问时间,8.3 Nios II C语言至硬件加速编译器(C2H)简介,适合C2H的C代码 包含相对小而简单的循环或是包含嵌套的循环; 对一组数据反复操作; 不适合C2H的C代码 不能形成一个循环的代码; 包含C2H编译器不支持的语法,如浮点运算和递 归函数,8.3 Nios II C语言至硬件加速编译器(C2H)简介,8.3 Nios II C语言至硬件加速编译器(C2H)简介,C2H是能够提升对时间性能要求较高的ANSI C函数的工具,它将这些函数转换为FPGA中的硬件加速器。 C2H支持标准ANSI C代码,可加速实现多种应用程序,提高其运行效率,包括访问片内、外部存储器和外设等。 C2H帮助Nios II用户以最少的资源占用来达到提高系统性能的目的。 Nios II C2H编译器设计流程非常简单,编写好应用程序后,用户需要做的工作首先是分析软件代码,确定出现性能瓶颈的函数,然后在Nios II IDE中高亮显示所需的函数,右键单击加速便可以生成自动链接至软件流程的硬件加速器。,int main (void) _attribute_ (weak, alias (“alt_main“); void delay (void) alt_u32 i=0, j=0; while (i200000) i+; while (j200000) j+; return; ,8.2 定制基于Avalon的用户外设,定制用户外设简介 一个典型元件定制的步骤如下: 1规划元件的硬件功能。 2如将采用微控制器来控制该元件,则规划访问该硬件的应用程序接口(API)。 3在硬件和软件要求的基础上,定义一个恰当的Avalon接口。 4使用Verilog或VHDL来描述硬件逻辑。 5单独验证元件的硬件功能。 6写用于描述寄存器的C头文件来为软件定义硬件寄存器映像。 7使用元件编辑器来封装硬件HDL和软件文件,得到一个元件。 8将该元件集成到一个简单的NiosII系统中。,8.2 定制基于Avalon的用户外设,定制用户外设简介 一个典型元件定制的步骤如下: 9使用NiosII来测试寄存器级的访问是否正确。 10如果以后将使用微控制器来访问该元件,就要写元件的驱动软件。 11反复改进元件的硬件设计和软件驱,并使用元件编辑器来更新所做的修改。 12建立一个完整的SOPC Builder system,里面含有一个或多个该元件。 13执行系统级的验证,如果需要再进行改进。 14完成元件定制,并分发给其它设计者。,8.2 定制基于Avalon的用户外设,定制用户外设简介,带Avalon Slave端口的典型元件组成框图,8.2 定制基于Avalon的用户外设,PWM设计说明 PWM输出一个占空比可调的方波。当一个周期11个时钟,高电平输出7个时钟时的PWM输出波形如下图所示。,PWM输出波形,8.2 定制基于Avalon的用户外设,PWM设计说明 本实例的PWM是按下列要求设计的: 1任务逻辑按一个简单时钟进行同步操作。 2任务逻辑使用32位计数器为PWM提供一个一定范围的周期和占空比,最大周期可设为232个clk。 3可以使用微控制器(Nios II)来设置PWM的周期和占空比的值。因此要提供一个可对PWM寄存器进行读写的接口和控制逻辑。 4定义寄存器来存储PWM周期和占空比的值。 5微控制器可以通过控制寄存器的禁止位来关闭PWM输出。,8.2 定制基于Avalon的用户外设,PWM设计说明,任务逻辑结构图,8.2 定制基于Avalon的用户外设,PWM设计说明,表8.2 HAL数据类型定义,8.2 定制基于Avalon的用户外设,PWM设计说明,表8.3 HAL数据类型定义,8.2 定制基于Avalon的用户外设,将PWM设计封装为SOPC Builder元件 将PWM设计文件封装为SOPC Builder元件执行以下步骤: 1将下载得到的PWM设计文件拷贝到硬盘任意目录中,但是文件夹名称不能为中文。本实例拷贝到F:sopcexample。 2打开一个Quartus II工程,本例为SmartSOPC_standard_1c6_pwm。这里,打开工程的目的只是为了打开SOPC Builder而已。 3在Quartus II中,从【Tools】【SOPC Builder】打开SOPC Builder。,8.2 定制基于Avalon的用户外设,4在SOPC Builder中,点击Creat New Component或选择【File】【New Component】打开创建新元件向导,定制元件的介绍,8.2 定制基于Avalon的用户外设,5选择HDL Files选项卡,点击 按钮打开添加文件窗口,将路径指向PWM设计文件所在的目录,如图8.5所示。逐一添加各文件,或按住键盘上的Ctrl键同时选中3个文件,然后按 一次完成添加。,添加硬件描述文件,8.2 定制基于Avalon的用户外设,6添加完硬件文件后,HDL Files栏中可看到刚添加的3个文件。,添加完硬件文件后的窗口,8.2 定制基于Avalon的用户外设,7. 选择Signals选项卡,进行信号的设置。 8.选择Interfaces选项卡,修改Avalon Slave的名称为control_slave. 9.选择SW Files选项卡打开添加文件对话框,将路径指向软件文件所在的文件夹。 10.选择Component Wizard选项卡。 11.可以单击Preview the Wizard 按钮进行预览。 12.关闭预览窗口,单击Finish按钮,弹出一个消息框,告诉设计者元件存放的路径,创建了哪些文件等。 13、在SOPC Builder中左边的可用元件列表中,将产生一个User Logic的新组,在下面出现刚才创建的元件pwm_avalon_interface。,8.2 定制基于Avalon

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论