sopc中自定义外设和自定义指令性能分析

sopc中自定义外设和自定义指令性能分析

ID:11199093

大小:32.50 KB

页数:12页

时间:2018-07-10

sopc中自定义外设和自定义指令性能分析_第1页
sopc中自定义外设和自定义指令性能分析_第2页
sopc中自定义外设和自定义指令性能分析_第3页
sopc中自定义外设和自定义指令性能分析_第4页
sopc中自定义外设和自定义指令性能分析_第5页
资源描述:

《sopc中自定义外设和自定义指令性能分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SOPC中自定义外设和自定义指令性能分析SOPC中自定义外设和自定义指令性能分析一东北电力大学一聊城工业学校王玉峰郭春凤关键词自定义外设自定义指令CRC校验性能分析SOPC引言NiosII是一个嵌入式软核处理器,除了可以根据需要任意添加已经提供的各种外设以外,用户还可以通过定制自定义外设和自定义指令的方式来满足各种应用需求.定制用户外设和用户指令是使用NiosII嵌入式软核处理器的重要特征.定制的用户外设能够以"硬件加速器"的形式实现各种各样用户要求的功能;同时定制的用户指令,可以把一个复杂的标准指令序列简化为一条用硬件实现的单个指令,

2、以增强对实时软件算法的处理能力.近来,随着国内SOPC开发的逐步深入,这两者的性能开始成为一个关注的焦点.本文通过CRC一32对SOPC系统中的自定义外设和自定义指令的实现以及对性能差异所作的详细分析,给广大SOPC开发人员提供参考.1CRC自定义外设的实现1.1SOPC系统中自定义外设的组成和结构自定义外设作为NiosII软核处理器超强灵活性的体现,其开发遵循一定的规律.一个用户自定义外设必须进行硬件设计,也就是说,必须用硬件描述语言来描述出硬件的逻辑组成.一般来说,一个自定义外设主要由下列部分组成:①描述自定义外设逻辑的硬件描述文件

3、部分(主要是HDL程序).②软件文件,一个用来定义外设寄存器的C语言头文件,以及让程序员控制这个元件的软件驱动程序.③元件的描述文件(class.ptf).该文件定义了元件的架构,提供了SOPCBuilder将该元件集成到一个系统的各种信息.该文件由元件编辑器根据用户提供的硬件和软件文件以及在图形用户界面中设置的各个选项和参数自动生成.图1给出了带Avalon从端口的自定义外设组成框图.应用接口信号寄存器文件状态寄存器控制寄存器1控制寄存器2Avalon任务逻辑数据寄存器1从接口数据寄存器2数据寄存器3其他寄存器Avalon从端口信号图

4、1带Avalon从端口的自定义外设组成框图从图中可以看出,一个典型的自定义外设主要由下列功能模块组成:①任务逻辑.任务逻辑实现外设的基本功能,是必不可少的组成部分.②寄存器文件.寄存器文件部分提供任务逻辑和外界交换信息的桥梁.有了寄存器文件,用户就可以通过Avalon接口采用"基地址+地址偏移量"的方法来访问外设内部的各个寄存器.③Avalon接口.Avalon接口为寄存器文件提供了《聋扎J;盛入工:蠢0刍阁,-Iv国…nptnrr'-县寺田,一个标准的Avalon前端.该模块使用Avalon规定的信号来访问寄存器文件,并且支持任务逻辑

5、的传输类型.1.2CRC一32自定义外设的实现CRC一32校验可以由软件或硬件来实现.现多采用超大规模集成电路芯片以硬件方式实现.例如:G()一+g一l一+…+g2+g1+1其硬件实现原理如图2所示.图2CRC硬件实现原理编码运算过程如下:开关关闭,是位数据移入寄存器,同时送到外部.当是位信息全部送到外部时,除法运算也正好进行完毕,寄存器中的r位数据就构成了余项的系数序列,即形成了校验码.然后切断除法反馈电路,将移位寄存器的每一位逐次输出到信道中.这些校验码与原来的数据位一起构成了完整的码字.采用HDL语言来描述出CRC一32的硬件实现

6、,命名为ere.v.在SOPCBuilder元件编辑器中加入该元件,其中自定义外设的接口信号和Avalon信号类型的一一对应关系如表1所列.表1CRC接口信号和Avalon信号类型的对应关系信号名称Avalon信号类型宽度方向elkclk1输入resetreset1输入addressaddress3输入writedatawritedata32输入byteenablebyteenable4输入wr!tewrlte1输入readread1输入chipselectchipselect1输入readdatareaddata32输入当把自定义外设

7、加入到SOPC系统中时,系统自动生成一个system.h文件.在system.h中生成的CRC自定义外设的相关信息如下:#defineCRc_NAME"/dev/crc"#defineCR(,-TYPE"avalon_crc"#defineCRC—BASE0x06210880根据system.h中的信息,可以建立名称为altera—avalon_erc_regs.h的寄存器头文件.在这个C头文件中,用清晰的宏符号描述出设备的寄存器集合,并且给出其访问方法.lie#ifndef—ALTERA—AVALON—CRc_REGS—H一#defi

8、ne—ALTERA—AVAL0N_CRC—REGS—H一#include<iO.h>#defineCR(INIT—REG0#defineCRC—WRITE._REG4#defineCR(READ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。