EDN China > 技术文章 > EDA工具与服务 > PCB设计 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) SOPC中自定义外设和自定义指令性能分析

来源:单片机与嵌入式系统应用 / 作者:东北电力大学 王玉峰?? 2007年11月20日 ?? 收藏1

?????? 引言

?????? NiosII是一个嵌入式软核处理器,除了可以根据需要任意添加已经提供的各种外设以外,用户还可以通过定制自定义外设和自定义指令的方式来满足各种应用需求。定制用户外设和用户指令是使用NiosII嵌入式软核处理器的重要特征。定制的用户外设能够以“硬件加速器”的形式实现各种各样用户要求的功能;同时定制的用户指令,可以把一个复杂的标准指令序列简化为一条用硬件实现的单个指令,以增强对实时软件算法的处理能力。近来,随着国内SOPC开发的逐步深入,这两者的性能开始成为一个关注的焦点。本文通过CRC32对SOPC系统中的自定义外设和自定义指令的实现以及对性能差异所作的详细分析,给广大SOPC开发人员提供参考。

?????? 1? CRC自定义外设的实现

?????? 1.1? SOPC系统中自定义外设的组成和结构


&nb

sp;????? 自定义外设作为NiosII软核处理器超强灵活性的体现,其开发遵循一定的规律。一个用户自定义外设必须进行硬件设计,也就是说,必须用硬件描述语言来描述出硬件的逻辑组成。一般来说,一个自定义外设主要由下列部分组成:

?????? ①? 描述自定义外设逻辑的硬件描述文件部分(主要是HDL程序)。
?????? ②? 软件文件,一个用来定义外设寄存器的C语言头文件,以及让程序员控制这个元件的软件驱动程序。
?????? ③? 元件的描述文件(class.ptf)。该文件定义了元件的架构,提供了SOPC。

?????? Builder将该元件集成到一个系统的各种信息。该文件由元件编辑器根据用户提供的硬件和软件文件以及在图形用户界面中设置的各个选项和参数自动生成。图1给出了带Avalon从端口的自定义外设组成框图。

带Avalon从端口的自定义外设组成框图

?????? 从图中可以看出,一个典型的自定义外设主要由下列功能模块组成:
??????
?????? ①? 任务逻辑。任务逻辑实现外设的基本功能,是必不可少的组成部分。
?????? ②??寄存器文件。寄存器文件部分提供任务逻辑和外界交换信息的桥梁。有了寄存器文件,用户就可以通过Avalon接口采用“基地址+地址偏移量”的方法来访问外设内部的各个寄存器。
?????? ③??Avalon接口。Avalon接口为寄存器文件提供了一个标准的Avalon前端。该模块使用Avalon规定的信号来访问寄存器文件,并且支持任务逻辑的传输类型。

?????? 1.2? CRC32自定义外设的实现

??????
CRC32校验可以由软件或硬件来实现。现多采用超大规模集成电路芯片以硬件方式实现。例如:

SOPC中自定义外设和自定义指令性能分析公式

?????? 其硬件实现原理如图2所示。

CRC硬件实现原理

?????? 编码运算过程如下:

?????? 开关关闭,k位数据移入寄存器,同时送到外部。当k位信息全部送到外部时,除法运算也正好进行完毕,寄存器中的r位数据就构成了余项的系数序列,即形成了校验码。然后切断除法反馈电路,将移位寄存器的每一位逐次输出到信道中。这些校验码与原来的数据位一起构成了完整的码字。

?????? 采用HDL语言来描述出CRC32的硬件实现,命名为crc.v。在SOPC Builder元件编辑器中加入该元件,其中自定义外设的接口信号和Avalon信号类型的一一对应关系如表1所列。

CRC接口信号和Avalon信号类型大对应关系


上一页1234下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

EDA? SOC? 指令?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈