面向SoC的开放式IP核接口协议(OCP)研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向SoC的开放式IP核接口协议(OCP)研究
饶云华,鄢媛媛,朱小虎,周宇,曹阳
武汉大学 电子信息学院,湖北武汉 430079
摘要:本文讨论了以IP(Intellectual Property)内核为中心的开放式IP核接口协议(OCP Open Core Protocol),包括协议特性以及基于OCP协议的SoC(System on Chip)中设计与验证等,并在此基础上提出了基于OCP协议的采样SoC设计方案。研究表明,使用OCP协议可避免在SoC集成时去适应每个内核,系统集成者可以集中解决SoC设计上的问题,从而极大的减小SoC开发时间和风险。
关键词: SoC;OCP;OCP2.1e VC;乱序传输
Research of Open Core Protocol(OCP)
Abstract: In this paper, we talk about the Open Core Protocol(OCP) based on IP core, including the character of the protocol,the design and verification based on OCP protocol in SoC system, and so on. Basing on these, we advance the design method of sampling SOC system on OCP protocol. Researchs show that using OCP protocol can avoid adapting the IP core in SoC integrating, and the system integrator can else concentrate more on designing. Therefore, it decreases the time and risk of exploiting SoC system.
Keywords: SoC; OCP; OCP2.1e VC; out-of-order transfer
1.引言
近几年来,由于半导体工艺的改进和日益增加的市场压力,片上系统SoC已经成为IC 业界的焦点,基于IP核集成的可复用设计技术受到了高度重视。由于IP核的设计千差万别,IP核的连接就成为构造SoC的关键。使用标准的接口协议是实现SoC中IP核连接最常用的技术手段。
目前,IP互连接口的标准主要有IBM公司的CoreConnect总线、ARM公司的AMBA(Advanced Microcontroller Bus Architecture)总线、Silicore的Wishbone、OCP-IP(Open Core Protocol International Partnership)设计的OCP协议。
OCP协议[1]在2001年正式推出,并由开放式内核协议国际联盟(OCP-IP)负责支持、维护和发展。OCP-IP是一个独立、非营利的半导体工业联盟,致力于扶持、促进和提高开放式内核协议的管理。OCP-IP的使命是为SoC产品设计常见的IP复用问题提供设计、验证和测试。OCP-IP通过在系统级集成中提倡IP核重用,为SoC设计减少设计时间、风险和制造成本。OCP-IP由会员年费支持,会员包括知识产权公司、集成设备制造商、系统公司、EDA供应商和设计公司。
OCP协议是第一个开放授权,面向内核的协议,是为了在SoC设计中实现IP核的即插即用而制订的开放式内核协议。该协议使得IP核不需要依赖于特定处理器内核,只要IP 接口符合OCP协议,即使更换处理器内核和总线,也不需要重新设计IP核,应用非常灵活。通过OCP协议,IP内核设计者不仅能保证IP核可方便的重用于自己公司设计的SoC,也可以通过IP授权协议让IP核可重用于其他公司设计的SoC中,从而在SoC设计中极大地促进第三方IP的授权和合作,具有广阔的应用背景。
2. OCP协议
2.1. OCP协议的特性
OCP是与总线独立、以IP核为中心的免费协议,能满足IP核通信机制的所有要求。OCP支持从简单的请求-响应到流水线以及多线程对象的高性能数据传输模型。OCP信号具有同步和单向的特征,简化了核的实现、综合和时序分析,适用于多种形式的片上通信: 端到端的通信,如MPEG2译码中的很多流水信号处理应用;
简单的主从应用,如慢速外设接口;
高性能、延迟敏感、多线程的应用,如硬件视频编解码器。
OCP协议包括以下特性:
1) 具有点对点的同步接口
除clock和reset以外的信号严格限制在点对点,且在OCP时钟上升沿驱动和抽样。这样简化了核的实现、综合和时序分析。
2) 与总线独立
OCP可接驳任何总线架构或片上网络,使得开发IP核时不需要考虑IP核的系统环境。
3) 地址周期和数据周期分开,支持流水线操作
OCP将地址周期和数据周期分开。主设备不必等待每个命令的响应,即可发布下一个命令。这使总线命令的流水线操作成为可能,避免延迟。相比于传统AMBA方法中的延迟,OCP系统中的延迟会相应减少。
4) 突发传输
OCP支持更高效率的可选择的突发传输。有三种突发传输方式:不精确的突发传输、精确的突发传输、一次请求/多次数据传输的突发传输。
5) 支持乱序传输
OCP通过标识符(tags)或者线程标记号(thread identifiers)实现乱序传输。
2.2. OCP协议的读写操作及时序
OCP协议是简单的请求/应答协议,所有的传输和信号与OCP时钟的上升沿同步。OCP 互连有主设备(Master)和从设备(Slave)。主设备发出的信号以首字母M开始,从设备发出的信号以首字母S开始。只有主设备才能发起传输,其读写传输时序如图1所示。
图1 简单的读/写传输时序
当主设备准备向从设备写数据时,主设备把主机命令信号MCmd置为写状态(WR),同时把主机地址信号MAddr和主机数据MData传送给从设备。从设备接受来自主设备的数据,并置从机命令接受信号SCmdAccept为高电平,表示从设备接受本次主设备的写传输。
当主设备准备向从设备读数据时,主设备把主机命令信号MCmd置为读状态(RD),同时把主机地址信号MAddr传送给从设备,如果从设备准备好数据,就将SCmdAccept置为高电平,表示从设备接受本次读传输;否则,将SCmdAccept置为低电平,推迟读传输。如果从设备接受本次读传输,在下一个时钟的上升沿,从设备向主设备传送从机数据SData,