您好,欢迎来到欧得旅游网。
搜索
您的当前位置:首页AMBA总线SoC系统IP核的即插即用研究

AMBA总线SoC系统IP核的即插即用研究

来源:欧得旅游网
AMBA总线SoC系统IP核的即插即用研究

■电子科技大学  周小练

王忆文 李平

 摘 要

提出一种按照OCP2IP协议将IP自动封装的方法。被OCP2IP协议封装的IP可以直接集成到带有OCP2

IP接口的各种总线上。同时,设计了最常用的AMBA总线的OCP2IP接口,进而实现AMBA总线上OCP2IP核的即插即用功能,加快SoC系统的设计和验证。OCP2IP

AMBA总线

 关键词即插即用 OCP协议引言

SoC设计的快速发展是以IP核复用为基础的。IP核

IP核复用及其接口的设计。IP核要集成到一个SoC系

的复用极大地提高了SoC系统设计的开发效率,SoC片上总线的选择是IP核间集成与互连的关键技术之一。目前片上总线的标准协议众多,如ARM公司提出的AMBA总线、OPENCORES组织提出的WishBone总线、IBM公司提出的CoreConnect总线等。SoC片上总线的多样性对IP核的封装规范提出了要求。标准的IP核封装规范有助于提高IP核的复用甚至实现核的即插即用。基于提高IP核复用以及即插即用目的,OCP2IP组织提出了OCP2IP标准。

1 OCP2IP标准介绍

1.1 OCP协议

OCP(OpenCoreProtocol)标准是OCP2IP组织制定

的一种以提高IP核的复用及实现IP核的即插即用为目的的IP核标准。SoC芯片设计不再是门级的设计,而是技术发展的影响很大———降低了成本,鼓励了多样化,很多以前不敢想的东西都梦想成真了。现在不是不敢去做,而是我们是否有这个想象力。消费产品的数字化才刚刚开始,我们家里还有很多产品在节能和人机界面等方面还有很多上升的空间。

很多报告都提到了软件复杂度,这是未来很大的挑战。公司不但要成功研发产品,还要帮助客户使用那

80%的软件。Google作为一个网络公司,认识到如果越

统中,要考虑很多问题,例如:模块间的同步,如全局执

行、数据交换的同步操作等;协议转换匹配,不同IP核模块间可能使用不同的协议,这样必须考虑协议转换的问题。这些问题给IP复用带来了一定的难度,并使SoC芯片的time2to2market(上市时间)延长。为解决这些问题,一些大公司提出了自己的总线接口标准,如ARM的AMBA总线、IBM的CoreConnect总线、Altera的Avalon总线等。因为核的多样性,使用完全相同的总线接口是不现实的。这就意味着,如果总线A上的一个IP核要移植到另一系统的总线B上,就需要更改此IP的接口以及数据交换的方式。如果设计者不了解总线B的数据交换协议,这样就对SoC系统的开发带来一系列困难。OCP2IP正是针对这些问题提出的。OCP协议是免费的,独立于具体的总线。它将软件中的分层概念应用到IP核接口,提供一种具有通用结构定义、可扩展的接口协议,能完全满足IP内核通信机制的所有要求,方便了IP核与系统的集成。

软件,如果把软件集成好并提供免费使用,用户自然而然会用这样的软件来上网。软件复杂度越来越高,所以平台化开发是必然的:怎么能够重复使用你的工具、你的团队、你的软件。

未来的硬件将逐渐同质化,真正想要成功很可能还是得依靠软件创新,软件创新能够使硬件差异化。PC时代已经过去了,下面是嵌入式时代!

编者注:本文系根据谭军先生在嵌入式系统联谊会

3月份主题讨论会上的发言而整理。

(收稿日期:2009203230)

来越多的手机上网,那就应该让这些手机用户上Google的后台服务。Google也知道手机公司最大的挑战是集成

 paper@mesnet.com.cn(投稿专用) 

2009年第7期

Microcontrollers&EmbeddedSystems 

 7

© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net

  OCP协议使IP核的功能与系统的接口无关,设计人员不需要了解IP核的功能也能利用它进行系统设计。

OCP接口允许设计者根据不同的目的配置接口,包括接

信的过程是:功能为Master的IP核发出请求命令给对应的Slave端(总线封装接口模块);封装接口模块将请求命令转换成对应的总线命令传送给接收方的总线封装模块;接收方的总线封装模块再作为Master,把对应的内部总线传输转换成标准的OCP命令传送给目标IP核,目标IP核接收到命令并响应命令和返回读写的数据。

口的数据宽度、交换的握手协议等,并且在SoC设计中可以裁剪核的功能,降低设计复杂性,减小面积,同时满足

SoC的要求;OCP接口还保持核在集成到系统的过程中

完全不被改变(即在总线宽度、总线频率或电气负载有变化时核保持不变)。使用OCP接口的设计可以交付即插即用的模块,同时支持核的开发与系统设计并行,节省设计时间。

OCP采用套接口(socket)的

2 基于AMBA总线的OCP接口设计

AMBA(AdvancedMicrocontrollerBusArchitecture)

总线规范是ARM公司设计的一种用于高性能嵌入式系统的总线标准。AMBA总线规范是开放标准,通过ARM公司的授权就可以免费获得。它独立于处理器和制造工艺技术,增强了各种应用中的外设和系统IP核单元的可重用性。2.0版AMBA标准定义了3组总线:AHB(AM2

BA高性能总线)、ASB(AMBA系统总线)、和APB(AM2BA外设总线)。AHB总线应用于要求高速度高带宽的系

方法实现IP核的即插即用,如图1所示。TargetBusA表示总线A,

TargetBusB表示总线B。不论总线A或者总线B是哪一类总线协议,只要总线上提供了OCP的接口,那么符合OCP协议的IP核就可以随意集成到任意总线上去,不需要重新设计IP核的接口。

图1 OCP套接口

统。本文以AHB总线为例,说明OCP2IP如何集成到

SoC系统总线上。AMBA总线基本传输时序如图3所

示。HCLK表示AMBA系统时钟,HADDR[31∶0]表示

32位地址总线,HWDATA[31∶0]表示32位写操作时的

1.2 OCP通信方式

OCP协议定义了两个通信实体间点到点的接口。其

数据总线,HREADY是AMBA总线的读写状态信号(状态为低电平时,表示一次读写操作完成),HRDATA[31∶

0]表示读操作时的数据总线。

中一个实体作为通信的主体(Master),另一个作为从体

(Slave)。只有Master可以发命令,Slave响应Master的

命令,接收或发送数据。封装接口模块必须担当每个连接实体的对应端,当连接实体是Master时,封装接口模块就作为对应的Slave;当连接实体是Slave时,封装接口模块作Master。

OCP的系统架构如图2所示。图中有3个IP核,其

中左边标有主控的IP核是通信的发起方或者主控方,称为Master;最右边标有目标的是通信的目标对象,称为

Slave;中间的IP核既可作为Master又可作Slave;下面的

框代表OCP2IP封装接口模块;从Master出来并进入

Slave的箭头表示OCP请求命令,从Slave出来并进入Master的箭头表示OCP的响应。2个IP核通过接口通

图3 AMBA总线基本传输时序

OCP2IP核的功能是可裁剪的,即OCP2IP的大部分

信号都是可选择的。根据核的功能,选择使用不同的信号。OCP协议中共有三大类型号:数据流信号(dataflow

signals)、边带信号(sideband)、测试信号(testsignals)。数

据流信号主要包括:基本信号(basicsignals)、简单扩展信号(simpleextensionssignals)、突发扩展信号(burstexten2

sionssignals)和线程扩展信号(threadextensionssignals)。

边带信号主要包括:复位(Reset)、中断(Interrupt)、错误

图2 OCP系统架构

(Error)等信号。测试信号主要包括用于支持扫描

 8

2009年第7期

adv@mesnet.com.cn(广告专用) 

© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net

(Scan)、时钟控制和IEEE1149.1(JTAG)的信号。此处此指令存储起来,等OCP命令执行结束立即将此存储的指令转换成OCP命令。这时如果AMBA总线上再次发出第3条指令,则状态机进入H_CTRL_PHASE1状态,并存储此指令。

用到的OCP信号包括:Reset(复位)、Clk(时钟)、En2

ableClk(时钟使能)、MAddr(地址)、MCmd(命令)、MData(数据)、SCmdAccept(命令接受)、SData(Slave数据)、SResp(操作成功标志)。简单的OCP读写时序如图4所

示。RequestPhase表示请求阶段,ResponsePhase表示响应阶段。A处由系统Master发出1个WR写命令,并给出地址A1和数据D1。随即Slave发出命令接受响应

ScmdAccept,此处一个周期完成了一个写周期操作,不需

要Slave给出写操作成功响应。C处系统Master发出一个RD读命令,并给出要读取的地址A2。Slave随即给出命令接受响应信号SCmdAccept,在下一个时钟周期D处Slave给出要读取的数据D2并在Slave响应信号SResp图5 状态转移图发送接收到的数据的状态机编码如下:

parameter  OCP_IDLE=5’b00001;parameter  WRITE1=5’b00010;parameter  WRITE2=5’b00100;parameter  READ1parameter  READ2

=5’b01000;=5’b10000;

上给出读操作成功标志DVA。此处读操作用了2个时钟周期。

状态转移图如图6所示。当接收数据的状态机接收到AMBA总线上的命令时,状态机让OCP接口进入第1个读写操作状态,即READ1状态或者WRITE1状态。如果AMBA总线上有持续的流水操作命令,状态机进入

READ2状态或者WRITE2状态,即在AMBA流水操作

的条件下,以1结尾的状态的下一个状态一定是以2结尾的状态,反之以2结尾的状态的下一个状态一定是以1结尾的状态。

图4 OCP读写时序

OCP2IP跟AMBA总线的通信通过设计2个状态机

来实现,1个用于接收AMBA总线上的流水数据,1个用于发送接收的数据并以OCP标准的方式发送。接收数据的状态机编码如下:

parameterparameterparameter

H_IDLE=2’b00;

H_CTRL_PHASE1=2’b01;H_CTRL_PHASE2=2’b10;

图6 发送接收数据的状态机

3 OCP2IP标准封装软件设计

OCP是一种IP的标准,但不仅仅是IP的接口和数据

H_CTRL_PHASE1用于存储第1级流水指令,H_CTRL_PHASE2用于存储第2级流水指令,其状态转移

的交换方式,还规定了IP的配置、端口等信息,即所谓的

OCP配置文件。读取OCP配置文件中的内容,就可以知

图如图5所示。当AMBA总线上发出第1个读写指令,状态机进入H_CTRL_PHASE1状态,并将第1个读写指令转换成OCP命令。因为AMBA总线是基于流水的操作,所以第2条指令的发出不需要等第1条指令执行结束。这时候,状态机进入H_CTRL_PHASE2状态,并将

道此IP对应的OCP接口的性能,从而对总线上的接口进行配置,进而实现IP的即插即用。虽然IP的功能是多样的,总线的数据交互方式也是多样的,但OCP接口的时序是固定的。这样就可以通过设计软件提取IP的端口信

 paper@mesnet.com.cn(投稿专用) 

2009年第7期

Microcontrollers&EmbeddedSystems 

 9

© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net

息,并自动生成相应的OCP接口模块。该封装软件运行流程如图7所示。用户的IP可以直接挂在该SoC

平台上进行验证,同时也可以直接集成到其他带有OCP接口的SoC系统中去,加快IP的验证和系统的设计。

封装软件采用MFC(微软基础类库)来编写。通过设计用户界面,用户只要输入IP的时钟、地址、数据、读写控制信号等,就可以自动生成1个OCP的接口,以及标准的配置文件,从而实现IP的即插即用以及IP的统一管理。

图7 OCP2IP封装操作流程

可重配置以及可扩展性很强,可以实现真正意义上的IP核即插即用,减少SoC系统设计的时间。本文讨论了

OCP2IP的协议与特点,设计了基于AMBA总线的OCP2IP接口,提出了一种IP自动封装的方法,为IP核的集成

和管理带来极大的方便。

参考文献

[1]张丽媛,章军,陈新华.三种SoC片上总线的分析与比较[J].

山东科技大学学报:自然科学版,2005(2).

[2]饶云华,鄢媛媛,朱小虎,等.面向SoC的开放式IP核接口协

议OCP研究[J].中国集成电路,2007(2).

[3]OCP2IP.OCPSpecificationRev2.1.http://www.ocpip.

org.[4]ARM.AMBASpecificationRev2.0.http://www.arm.com.周小练(硕士研究生),研究方向为数字集成电路ASIC设计。

(收稿日期:2009202225)

结语

OCP是免费的基于点对点传输的IP核的标准协议,

IPCorePlug2and2PlayinSoCSystemBasedonAMBABus

UniversityofElectronicScienceandTechnologyofChina  ZhouXiaolian,WangYiwen,LiPing  Abstract AmethodofpackagingIPcoresbasedonOCP2IPstandardispresented.IPcorespackagedwithOCP2IPstandardcan

beintegratedintoanysystembuswithOCP2IPinterfaceimmediately.Also,anOCP2IPinterfaceonthemostcommonlyusedAMBAsystembusisdesigned,andtheOCP2IPcore’splug2and2playfunctionisrealizedonAMBAsystembus.DesignandverificationofSoCsystemistherebyaccelerated.

Keywords OCP2IP;AMBAbus;plug2and2play

首届“时代民芯”杯电子设计大赛拉开帷幕

为鼓励中国微电子设计工程师们提高和强化开发、应用能力,提高创新积极性,加强勇于实践的科学精神,北京时代民芯科技

)组织有限公司(以下简称“时代民芯公司”“时代民芯”杯电子设计大赛。大赛以公司提供的产品为设计基础,进一步挖掘设计工程

师们的创造力和潜力。

本次大赛是面向从事电子开发与应用的专业和业余人员(包括高等院校在校师生)的科技型竞赛活动,旨在为国内电子设计工程师提供创新设计平台的同时,拓展时代民芯公司自主研发的MXT8051和MXT5611两款民族芯片的应用,进一步推动中国微电子行业的发展。为了保证大赛有更好的效果和意义,时代民芯公司不仅设立了丰厚的奖项,还为在大赛中获奖的在校生提供与北京时代民芯科技有限公司优先签约的工作机会。

时代民芯公司成立于2005年,凭借雄厚的航天微电子技术基础,致力于中高端微电子产品的设计开发,已形成以北京为中心,西安分部为依托,以长江三角洲、珠江三角洲为重点,覆盖全国的市场体系,已推出十余大系列、上百种产品,为我国民族工业的发展做出了巨大贡献。

10 

2009年第7期

adv@mesnet.com.cn(广告专用) 

© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务