230 likes | 788 Views
OCP 简介. 关于 SOCKET (套接口) IP 互连接口标准 OCP 与 AMBA 的区别和优势 OCP. 1 关于 SOCKET (套接口). 为了缩短 SoC 设计时间,首先想到的是并行设计单独的 SoC 内核和最终的 SoC 产品 。 然而,由于内核只执行自身功能,而无系统信息,并行设计需要定义分割的每个内核和共享的 SoC 资源。 可用 分层法 来解决此问题 。
E N D
OCP简介 关于SOCKET(套接口) IP 互连接口标准 OCP与AMBA的区别和优势 OCP
1关于SOCKET(套接口) • 为了缩短SoC设计时间,首先想到的是并行设计单独的SoC内核和最终的SoC产品 。 • 然而,由于内核只执行自身功能,而无系统信息,并行设计需要定义分割的每个内核和共享的SoC资源。 • 可用分层法来解决此问题 。 • 采用分层法方法,其他的系统资源只需考虑其他的设计要求,而不需考虑单个内核的功能。如果用正确的内核接口设计,内核只在支持接口的子系统内不用改变的被重用。通过选择工业级标准接口,不需要增加额外的时间实现重用,因为所有内核都需要这样的接口。但是,什么是内核接口呢?这个问题的答案就是套接口socket 。
分层法 • 分层法已成功地被运用在网络上,在每一层定义了不同的功能和与相连层之间的接口。在软件上也一样,每个功能和任务都定义自身的功能和接口。分层法已经在不同的领域被证明是很有效的。 • 分层法自然地将系统处理的部件分离出来,部件可以是大软件程序的一个软件模块,或SoC中的半导体内核,这对SoC设计者更为重要,两者的原理是相同的。分层法的优势有: • 减少设计时间 • 更简单的验证 • 增加IP 复用
1 关于SOCKET(套接口) • 对于真正内核复用,SoC 集成者将内核集成在SoC 时,不会修改被复用内核的信息。所以当总线位宽、总线频率和总线电气负载改变时不需要对内核进行修改。换句话说,一个真正的套接口使内核与SoC互连机制隔离开。Socket 支持工具、间接地支持协议、检查器、模型、测试向量和测试生成器。这允许独立的内核设计,设计出不需考虑内核互连的即插即用的模块,也使得能并行设计模块,这样能节省大量的设计时间。
理想的SoC socket • 理想的SoC socket 必须是传输执行未知的。SoC 内核通过接口连接核内传输机制,但不需了解具体的传输机制(计算机总线、纵横交叉、可配置片上网络)。 • 由于带宽要求的多样性,理想的接口应该允许设计者从不同的方面配置不同的接口方式。不同的方面包括接口数据位宽、交换握手协议、交换反馈等等。这使得SoC 设计者精简SoC 内核设计,在满足内核和SoC设计要求的前提下,使芯片复杂度和面积最小化。 OCP (Open Core Protocol)正是这种与总线独立的协议,。特别的是,它能完全满足IP 内核通信机制的所有要求。作为一可配置的接口,OCP 有一系列能共享公用定义的协议组成。
OCP • OCP 协议在 2001 年正式推出,并由开放式内核协议国际联盟(OCP-IP)负责支持维护和发展。 • OCP-IP 是一个独立、非营利的半导体工业联盟,致力于扶持、促进和提高开放式内核协议的管理。OCP-IP 的使命是为 SoC产品设计常见的 IP 复用问题提供设计、验证和测试。 • OCP-IP 通过在系统级集成中提倡 IP核重用,为 SoC设计减少设计时间、风险和制造成本 OCP-IP 由会员年费支持,会员包括知识产权公司、集成设备制造商、系统公司、EDA 供应商和设计公司。
OCP • OCP 协议是第一个开放授权面向内核的协议,是为了在 SoC 设计中实现 IP 核的即插即用而制订的开放式内核协议。 • 该协议使得 IP 核不需要依赖于特定处理器内核,只要 IP接口符合 OCP 协议,即使更换处理器内核和总线,也不需要重新设计 IP 核,应用非常灵活。 • 通过 OCP 协议,IP内核设计者不仅能保证 IP 核可方便的重用于自己公司设计的 SoC,也可以通过 IP 授权协议让 IP 核可重用于其他公司设计的 SoC中,从而在 SoC设计中极大地促进第 三方IP 的授权和合作,具有广阔的应用背景。
IP 互连接口标准 • IP 互连接口的标准主要有 IBM 公司的 CoreConnect 总线。 • ARM 公司的AMBA(Advanced Microcontroller Bus Architecture) 总线。 • Silicore 的 Wishbone 。 • OCP-IP(Open Core Protocol International Partnership)设计的 OCP 协议。
OCP与AMBA的区别和优势 (1) • 1) OCP是一个套接口,而AMBA是总线接口。 • 套接口是通用的,面向任何应用。这个过程是自动化的。基于套接口的IP模块的真正意义在于多应用设计时的可重用性。这样能极大的提高设计重用率,也又有助于验证。 • 而总线接口(如AMBA)面向单一应用,仲裁逻辑和接口电路都是为某个应用专门设计的,对新的应用所有的仲裁逻辑和接口电路都需要重新设计。
OCP与AMBA的区别和优势(2) • 2)片上总线(AMBA总线、CoreConnect总线、Wishbone总线)是通过仲裁和译码的方式来完成不同主、从部件的互连及总线复用。 • 而OCP-IP的OCP(Open Core Protocol)协议将IP核和互连总线通过 OCP界面(interface)分开来,已经具备了层次化互连的理念,因此将OCP纳入到 NoC(片上网络)的技术范畴。 • 3)OCP 将地址周期和数据周期分开。主设备不必等待每个命令的响应,即可发布下一个命令。这使总线命令的流水线操作成为可能,避免延迟。相比于传统 AMBA 方法中的延迟,OCP 系统中的延迟会相应减少。
OCP特性 • OCP定义两个通信实体间点到点的接口。其中一个实体作为通信的主体(MASTER),另一个作为从体(Slave)。 • 只有MASTER可以发命令,Slave响应MASTER的命令,接收或发送数据。 • 封装接口模块必须担当每个连接实体的对应端,当连接实体是MASTER时,封装接口模块就作为对应的Slave;当连接实体是Slave时,封装接口模块作MASTER。 • 每一个OCP接口都是可根据连接实体的要求进行配置的(通过选择信号或选择某一位信号的位宽),也是互相独立的。
OCP特性 • 具体过程: • 源IP核作为OCP Master,发出请求给连接的Slave端-封装接口模块(bus wrapper). • 总线接口模块在片上总线系统(on-chip bus system)处理模块。OCP并不指定片内互联总线的功能,而是把OCP请求转换成片内总线传输。 • 接收方的封装接口模块再作为OCP Master 把内部总线操作转换成合法的OCP指令。 • 目标核(作为OCP Slave)接受命令并执行所要求操作。
该 SoC 内核通过 AMBA 总线互连,具有高速缓冲存储器和局部 RAM 的存储容量可变、支持多种存储设备、与 DSP 兼容等特性。 • 在性能上,使用 OCP 协议能确保 CPU的带宽和避免延迟,提高 SoC系统的性能。 • OCP 将地址周期与数据周期分开,可以利用流水线操作避免延迟。
解释 • 假设CPU内核和峰值操作的同步DRAM占用的带宽为130-150MByte/sec。由于同步DRAM为 CPU 内核和 SoC 的其他模块所共享,当其他模块访问同步 DRAM 的频率提高时,系统将会推迟 CPU 内核访问 DRAM 的操作。由于 CPU 内核控制着整个 SoC 系统,CPU 的操作被推迟会影响整个 SoC系统的工作。而使用OCP 协议后,当 OCP 的参数确定后,系统会保留最大负载时的带宽,使得在峰值工作时 CPU内核的操作不会被推迟。并且也会保留其他模块必须的带宽,以防峰值操作时的瓶颈。
解释 • 设定对 SDRAM 发布控制命令与接受到数据之间的延迟为 100 个系统时钟周期。如果主设备SDRAM 执行峰值读取,然后执行峰值写入,再执行峰值读取。在 OCP 中,通过流水线技术执行三个访问命令,时间滞后可以缩短为 100 个时钟周期。此外,如果主设备知道延迟为 100 个时钟周期,则可以提前 100 个时钟周期启动流水线操作命令,从而完全弥补系统延迟造成的影响。