开放核协议—IP核在SoC设计中的接口技术

出处:维库电子市场网 发布于:2023-07-25 17:11:04

  摘 要:本文介绍了IP核的概念及其在SoC设计中的应用,讨论了为提高IP核的复用能力而采用的IP核与系统的接口技术。
  关键词:SoC;IP核;OCP
  引言
  随着半导体技术的发展,深亚微米工艺加工技术允许开发上百万门级的单芯片,已能够将系统级设计集成到单个芯片中即实现片上系统SoC。IP核的复用是SoC设计的关键,但困难在于缺乏IP核与系统的接口标准,因此,开发统一的IP核接口标准对提高IP核的复用意义重大。本文简单介绍IP核概念,然后从接口标准的角度讨论在SoC设计中提高IP核的复用度,从而简化系统设计和验证的方法,主要讨论OCP(开放核协议)。
  OCP简介
  基于IP核复用技术的SoC 设计使芯片的设计从以硬件为中心转向以软件为中心,芯片设计不再是门级的设计,而是IP核和接口及其复用设计。IP核集成到系统所要考虑的问题包括:同步,例如全局执行、数据交换和协议方面的同步操作;协议转换,不同模块间不兼容的协议的转换,封装可用来解决这个问题,但需要考虑时序约束;I/O缓存,为满足系统行为和时序约束可能需要缓存数据。另外,出于对核设计的保护会故意隐藏一些信息,而这些信息在集成时可能需要。为解决这些问题需要一个好的接口标准,一些大公司现在已有自己的IP核接口标准,比如Altera的Avalon,Atlantic、IBM的CoreConnect、ARM的AMBA等。因为核的多样性,使用完全相同的接口是不现实的,OCP将软件中的分层概念应用到IP核接口,提供一种具有通用结构定义、可扩展的接口协议,方便了IP核与系统的集成。
  OCP协议使IP核与系统的接口与IP核的功能无关,设计人员不需要了解核内部也能利用它进行系统设计。OCP接口允许设计者根据不同的目的配置接口,包括接口的数据宽度、交换的握手协议等,在SoC设计中可以裁剪核的功能,降低设计复杂性,减小面积,同时满足SoC的要求;OCP接口还保持核在集成到系统的过程中自身完全不被改变,就是说在总线宽度、总线频率或电气负载有变化时核保持不变。使用OCP接口的设计可以交付即插即用的模块,同时支持核的开发与系统设计并行,节省设计时间。
  OCP接口运行机制
  OCP定义两个通信实体间点到点的接口。其中一个实体作为通信的主体(Master),另一个作为从体(Slave)。只有Master可以发命令,Slave响应Master的命令,接收或发送数据。封装接口模块必须担当每个连接实体的对应端,当连接实体是Master时,封装接口模块就作为对应的Slave;当连接实体是Slave时,封装接口模块作Master。
  OCP的工作原理所示。图中有三个IP核,其中左边标有Initiator的IP核是通信的发起方,作Master;右边标有Target的是通信的目标方,作Slave;中间的既可作Master又可作Slave;下面的框图代表封装接口模块;从Master出来并进入Slave的箭头表示请求命令,从Slave出来并进入Master的箭头表示响应;加黑的线段代表片上互连总线。两个IP核通过接口通信的过程是:作为Master的 IP核发出请求命令给对应的Slave端(总线封装接口模块);封装接口模块通过片上总线将请求命令(OCP并不指定片上互连总线的工作机制,而是把OCP命令转换成总线上的传送)传送给接收方的总线封装模块;接收方的总线封装模块再作为Master把这种内部总线传输转换成合法的OCP命令传送给目标IP核;其作为Slave方接收命令并执行所要求的操作。
  每一个OCP接口都是可根据连接实体的要求进行配置的(通过选择需要的信号或某一信号的位宽),也是互相独立的,例如系统中通信发起者总是会需要比目标方更多的地址位数用来选择发起者所要求的目标。
  OCP接口信号
  OCP通过命令完成实体间的通信操作,在接口为选择的命令配置相应信号,所有的信号都是在时钟上升沿采样,是完全的同步设计。OCP接口信号包括数据信号、边带信号和测试信号。数据信号又分为基本信号、简单扩展信号、猝发信号和多线程扩展信号。所有IP核都需要基本数据信号中的一组信号,其他可选信号用于支持通信需要,实现可配置和可扩展性。
  基本数据信号包括:Clk、MAddr、MCmd、MData、MDataValid、MRespAccept、SCmdAccept、SData、SDataAccept、SResp。其中只有CLK和MCmd是必须的,其他可选。Mcmd是传输命令,指出主方OCP传输类型,包括读、写和广播类型的八种命令。简单扩展信号增加了OCP接口地址空间、字节使能和核在不同阶段的特征信息。猝发式扩展信号允许猝发传输,可设置不同猝发传输模式的参数。多线程扩展信号支持OCP接口的多线程处理。边带信号传送诸如复位、中断、错误和核特性标志等控制信息,也是IP核与系统间交换控制和状态信息的手段,可以同请求/响应信号异步,但与时钟上升沿同步。测试信号支持扫描、时钟控制和JTAG。
  OCP接口时序及接口状态机
  以简单读写操作的时序为例说明OCP接口时序要求。
  在上升沿1处OCP Master方通过将MCmd由Idle变为Wr开始进入请求状态,在此周期内把地址A1和数据D1分别送到MAddr和MData信号线上,Slave必须在同一个周期内发出SCmdAccept有效信号;Slave在上升沿2处开始接收地址和数据并进行内部写操作;在上升沿4处MCmd赋值为Rd,OCP进入读请求状态,在这个周期内Master方将地址放在MAddr信号线上,在同周期Slave发出SCmdAccept有效信号;在上升沿5处Slave方置SResp为DVA从而开始响应阶段,请求阶段结束,根据从MAddr获得的地址读取数据并放到SData信号线上;在上升沿6处开始Master方收到Slave的响应信号并开始读数据,响应阶段完成。
  在读、写操作中请求阶段和响应阶段主、从两方的状态机。
  Master和Slave都是从IDLE状态开始,当检测到MCmd变为读或写时Master转为请求阶段,Slave转到读或写状态。如果是读操作,Master的请求状态持续到SCmdAccept有效,Slave在完成读操作后发出SCmdAccept有效信号并置SResp为DVA,Slave变为响应状态,Master进入IDLE状态;SResp是NULL时,Slave没有进入响应状态Master进入Wait Resp状态,等待Slave进入响应状态。如果是写操作,没有响应信号,当SCmdAccept有效时Master的请求阶段结束进入IDLE状态,Slave处理写操作,完成后进入IDLE状态。
  结语
  OCP是基于核的开放的接口协议,可以根据不同IP核的通信要求进行配置和扩展,能够实现硬件集成真正的即插即用,允许系统集成根据应用需要选择的IP核和互联机制。OCP为IP核设计提供了解决可配置性和接口的较好办法,实现了IP核与系统集成的Socket接口,能够做到核的模块化和即插即用特性。

关键词:开放核协议—IP核在SoC设计中的接口技术ALTERA2001  MASTERINTEGRATED

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

双利(香港)电子有限公司是一家独立电子元器件分销商。专营分销 XILINX .ALTERA.TI.ADI.ST各系列IC,。
广告
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站客服电话

0571-85317606

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!