


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Al 公司的Nios采用NiosNiosCPU的算术逻辑单元中,加快专项任务的执行,以达到优化目的。本文在阐述Nios定制指令设计的基础上,给出相应的设计例子具体说明。Nios软 引NiosAl公司推出的一个32/16令集处理器软核。在Al公司提供的软件SOPC中加载Nios核和相应的接口以及与定义相应的自定义指令,然后对设计进行综合,到FPGA中就可以方便地设计一个具有特定功能的嵌入式处理器。这种设计思路增加了系统设计的灵活性,加快系统运行速度,缩短产品研发和上市时间。由硬件实现复杂的算法通常比软件实现更高效。利用Al的Nios自定义的功能直接添加到NiosCPU的算术逻辑单元 &B图1目的。因此,设计者可以针对关键的 环和耗时算法创建Nios嵌入式处理器的定制指令,把复杂的顺序指令简化为硬件实现就能够大大提如,NiosCPU执行浮点乘法运2800浮点单元(FPU),执行只需19个时钟周期。
定制指令为Nios处理器的算术逻辑单元增加了定制逻辑,设计者通过定制指令,用快速高效的定制逻辑块替代复杂耗时的软件程序。在一个CPU中,可以运行多达五个组合或时序定制逻辑模块,还可以Nios系统模块外的器和/或逻辑。定制逻辑模块在两个寄存器RaRb内容的基础上执行用户定义的操作,结果存放在寄存器Ra中。这些定制逻辑模块的功能只受限于器件内逻辑单元(LE)和设计者的想象力。定制硬件模块能够通过Nios嵌入式处理器指令集中的五个用户定义操作码来。SOPCBuilder在生成系统期间会为任何定制指令创建宏,通过这些自动产生的C和汇编语言宏就可以方便地自定义指令操作码。Al的Nios2.0版嵌入式处理器为例实现定制指令,同时点击CustomInstructions创建或编辑NiosCPU2。CustomInstruction是系统设计者连接定制逻辑和NiosCPU的ALU的界面。首先,选择定制指令的操作码,有USR0~USR4五个操作码可供使用。然后,导入和扫描作为定制指令的HDL文件。DesignImportWizard扫描顶层模块的端口,进行合适连接。DesignImportWizard可以接受以下类型的文件:VerilogHDL、VHDL、EDIF、VQM和 令所需的CPU时钟周期数目和定制指令名。在系统生成期间,SOPCBuilder工具用作ALU一部分的定制逻辑来创建NiosCPU,受所选的操作码控制。软件开发包用定制指令名创建在C/C++和汇编语言中使用的软件宏。这些在定制软件开发包 下。NEWPRODUCT&MicrocontrolleMicrocontrollers&EmbeddedSystems图2设计者通过创建的软件宏定制指令。在C/C++中,宏就像函数调用一样使用。如果使用前缀端口,就要用前缀创建不同的宏。例如,为浮点单元(FPU)创建两个C/C++宏是:result=nm_fpu(data,datb); result=nm_fpu_pfx(prefix,data,data);//使用前缀USR操作码,按标准汇编指令一样使用。如果使用前缀,那么在宏之前必须有一个PFX(USR0~USR4)资料可参见NiosSoftwareDevelopmentReference。 APEXEP20K200E 3MP3系统设计框图。 32位Nios 图3MP3在大多数MP3器中,处理器是用来管理函数和传输数据的。MP3器ASIC可用于执行密集计算量的和传数据给音频器件。本例中,Al的Nios理器用于完成处理控制信号,传输数据和进行MP3。通常,MP3器流程如下:①通过IDE接口从C(CompactFlashcontroler)中MP3数据;
②将MP3数据存入SRAM③对MP3数据④将MP3边带合成到脉冲编码调制(PCM)数据;⑤把PCM数据传给脉宽调制器。此外,器采用MPEGAudioDe-coder(MAD)进行MP3,是基于以下方面:①100%定点(整数)②③在GNUGeneralPublic知道在执行MP3的过程中,大量时间花费在边带的合成上。因此,优化AlMP3的重点就落在函数mad_synth_frame上。 可通过使用定制指令f_mul和DCT32来优化该函数。f_mul和mad_f_mul是MAD使用的宏,用整数乘法来模拟浮点乘法。定义如下:这些函数完成的功能是一组易被硬件实现的操作,包括移位、加法、乘法和逻辑或运算。在Al MP3的优化设计中,用硬件定制指令f_mul执行原先用的软
22.3%的规模。该MP3是在Nios开发面板上设计并33MHz。在不增加时钟频率的情况下,宏;还可利用前缀选项,把两个宏合为一个单定制指令。所有性能符合指标。如果需进一步提高性能,以下就是用Al 的定制指令定义(f_mulmad_f_mul#definef_mul(x,y)nm_fmul((x),(y));DCT32在MP3中,DCT32完成离散余弦变换。MAD软件用优化过的DCT算法比起一般DCT对提高性能
实现。1 1279326293326f_mul和DCT32231430具有重大意义。因为标准DCT1024DCT只需80个乘法。DCT32定制指令所用硬件由Celoxica方案提供商,采用了基于Handel-C的设计工具。Al的DCT32定制指令按以下特点设计:①可以32位输入和32位输出;②在DCT
YY CPU工作;③因为定制指令可以轮询,在DCT输出前其它代码可DCT输出时,定制指令被查询,看是否已完成计算。如果完成,Nios处理器卸载输出数4给出了DCT32定制指令及mad_synth_frame的流程图。表1给出了三种情况下完成mad_synth_frame函数的比较结果。三种情况分别是只用硬件乘法指令,单用定制指令f_mul及f_mul和DCT32共用。从表1中可以看出,f_mul是最有效的定制指令,系377%的循环数目。规模增加很小是因为f_mul定制指令无需的硬件乘法器。DCT32f_mul21LE资源也只增加了189:把定制指令所需的额源和性能增加情况与只用硬件乘法的基准系统比较,用定制指令能减少执行mad_synth_frame函数时所需的80%循环数目而只增加:
图 DCT32与mad_synth_frame软件流 。采用Nios定制指令,系统设计者能够把一系列顺序执行的指令简化为通过硬件执行的单个指令,从而简化系统软件设计并且加快系统运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机器人机械臂工作原理
- 农机拖板转让合同样本
- 古建筑驳岸施工方案
- 树皮收购方案范本
- 内墙油漆合同样本
- 人工探管施工方案
- 京东店铺运营合同样本
- 保温门窗采购合同标准文本
- 伦敦就业合同标准文本
- 培养学生团队合作精神的活动计划
- 手术患者确认制度
- 高中历史选择性必修第3册试卷
- 深度学习及自动驾驶应用 课件 第5章 基于CNN的自动驾驶目标检测理论与实践
- 2023-2024学年广东省深圳市宝安区八年级(下)期末英语试卷
- 双碳全景系列培训第一章碳达峰、碳中和
- 山东淄博博山猕猴桃产业发展现状与对策建议
- 人教版大单元教学设计-小学四年级数学下册第五单元三角形
- 2024年矿山救护工(高级技师)技能鉴定理论考试题库(含答案)
- 2025年4月自考自考13013高级语言程序设计押题及答案
- 《菊次郎的夏天》电影赏析
- 鲁科版小学四年级下册综合实践活动教案(适合山东科学技术版教材)
评论
0/150
提交评论