技术 FAQs

概要 | OCP和其他技术的关系 | 突发模式 | 仿真&测试 | 线程&互连

概要

1. 什么是内核的定义?
2. 什么是OCP?
3. OCP由什么组成?
4. OCP的灵活性怎样?
5. OCP可用于哪些接口?
6. OCP如何处理模拟信号?
7. OCP支持其他语言吗(SystemC, C++,Fortran等等)?
8. OCP连接是点对点连接吗?
9. 如何实现两个内核间的点与点平行通信?
10. 两个OCP接口是否占用很多硅片尺寸?
11. 是否任何两个内置OCP接口的内核就可以通信?
12. 两个内核具有相似而不完全相同的OCP接口又怎样?
13. OCP是否仅仅是另外一种总线?
14. 什么是OCP的字长大小?
15. OCP的字长有多大?
16. OCP是高位在前,还是低位在前
17. 如何通过
18. 哪些OCP兼容内核可以提供?
19. 什么是OCP桥?
20. OCP规格说明书包含高速缓存RAM吗?
21. OCP规格说明书支持事务处理协议吗?
22. OCP规范提供常见接口的模板吗?
23. 目前有哪些OCP 设定组合 ?
24. OCP是如何解决安全问题的?
25. OCP支持分立的时钟吗?


1: 什么是内核的定义?
A: 内核是具有处理功能的半导体组件,一个内核可以包含多个子组件。但是这些子组件内核不能直接使用,只有通过大内核的其他子组件才能被使用。最终,这个内核也可能成为连接像PCI和AMBA总线的逻辑桥。.

2: 什么是OCP?
A: 开放式内核协议是一个有效的、简练的、内核连接标准,用于单集成电路芯片上两个半导体内核的互连,使得内核之间在综合和制造后都能可靠的通信。.

3: OCP由什么组成?
A: OCP定义了在一系列片上内核接口上的信号交换协议,OCP支持多种不同配置的体系结构,所以它是一个接口系列的协议。.

4: OCP的灵活性怎样?
A: OCP非常灵活,很多OCP信号组可以完全随意选择,像数据信号组允许不同的位宽让设计者选择。这样SoC设计者可以设计一个结构化的但可灵活配置的接口。.

5: OCP可用于哪些接口?
A: OCP可用于任何接口。它不仅仅适用于用户可见的接口,事实上,对于专用接口,使用OCP接口也有许多好处。首先,标准的使用使接口的设计和升级变得更容易。另外,OCP接口的内在的面向内核的特性使得你在设计某个特殊IP内核时,只需利用OCP的特性。.

6: OCP如何处理模拟信号?
A: OCP是一个数字虚拟组件的标准协议,所以它只能处理数字信号。.

7: OCP支持其他语言吗(SystemC, C++, Fortran等等)?
A: OCP-IP认识到在SystemC中为会员代表OCP标准插座的重要性,所以在系统级设计工作组中积极活动。OCP-IP已经发出超过数千份的TLMs,而且联合OSCI一起为TIMs建立一系列的工业模型。SystemCOCP模型和例子可从OCP-IP的网站获得。另外,OCP-IP的GSC会员,Sonics公司在不用SystemC的情况下为OCP接口设计了一些C++模型。但是,据我们所知,这些产品都不是商用的。但这至少说明了为OCP设计C语言级接口的各种可能性。.

8: OCP连接是点对点连接吗?
A: 不是。OCP在两个内核间建立主机/从机(master/slave)连接,一个内核叫做发起内核,有一主机接口用于产生一个类似读、写的OCP请求和接受读响应信号。另一个叫做目标内核,有一从机接口用于接受和响应主机的请求。这样OCP就建立了主从式架构模型,主机等同于客户机,从机等同于服务器。.

9: 如何实现两个内核间的点与点平行通信?
A: 这样情况下,两个内核都需要两个OCP接口,主接口和从接口。一个核的主接口连接另一个核的从接口。.

10: 两个OCP接口是否占用很多硅片尺寸?
A: 不是。因为OCP很紧凑,在相同的两个内核有两个OCP接口,实际上不会产生任何问题。.

11: 是否任何两个内置OCP接口的内核就可以通信?
A: 不是。首先主接口只可以与从接口通信,从接口只可以与主接口通信。第二,主接口和从接口为了互相兼容必须有相似的OCP接口。在OCP规格说明书里有关于相似详细准确的定义。.

12: 两个内核具有相似而不完全相同的OCP接口又怎样?
A: OCP列举了不同信号连接-断开 (tie-off)规则和协议行为,使得相似的内核可以互连尽管它们的OCP接口不是完全一致。.

13: OCP是否仅仅是另外一种总线?
A: 不是。总线(bus)通常是两个以上内核间的互连。OCP是两个内核之间的互连。另外,OCP具有高度的可配置性,而总线没有。有OCP的内核相对其他的总线如PCI或者AMBA是一个逻辑桥,这样,如果你需要,你可以在设计中加一个特殊的总线。.

14: 什么是OCP的字长大小?
A: OCP接口在一个单操作中能够传输的最大

数据位数(bit)叫做这个OCP接口的字长大小。.

15: OCP的字长有多大?
A: 支持不同的、可选择位宽的数据传输方式。目前支持的字长有8,16,32,和64位。这些字长的限制将在OCP2.0版中被去除,这样OCP的字长配置可以不受任何限制。.

16: OCP是高位在前,还是低位在前?
A: OCP在位编号上是低位在前,但在寻址方面是排序中立的(不分高位在前还是低位在前的)是以整个字作为地址的。一个字(word)里每个字节(byte)都有一个存取使能标志(bytelaneenables),所以地址位不是直接和存取使能标志位关联的,这样增强了内核在选择高位在前还是地位在前的灵活性。新的OCP2.0版扩展了排序中立的特性。接口可声明为高位在前,或者声明低位在前,或是类似Memory的排序未知(endian-agnostic),或者可编程排序(类似可位交换逻辑的内核)。.

17: 如何通过OCP来连接高位在前的内核?
A: 你可以建立一个小的逻辑桥,将内核原本的高位在前的传输逻辑转化为OCP的地位在前传输模式。.

18: 哪些OCP兼容内核可以提供?
A: 兼容性内核的数量正在逐步的增加,新的内核是以OCP为本机(核)接口。先于OCP的旧内核可以用桥接逻辑构成一个OCP接口。.

19: 什么是OCP桥?
A: 为旧继承内核提供OCP接口的桥逻辑称为OCP桥。.

20: OCP规格说明书包含高速缓存RAM吗?
A: 在高速缓存的情况下,你可以使用非常简单的OCP接口,包含OCP的基本特性和使能位的选择。你需要相应地设置好高速缓存的地址位宽度和数据位宽度。这样,高速缓存的OCP接口变得很简单,而且在设计时间和硬件上都不会增加太多的开销。.

21: OCP规格说明书支持事务处理协议吗?
A: OCP本身就是一个全功能,完整的事务处理协议,通过使用地址和数据总线和全兼容可配置控制/握手信号来实现所有类型的点对点数据传输。OCP不仅仅是一个数据协议,它定义了整个套接口,能够捕捉所有源自内核的信号集。所有的信号、数据协议、测试、控制、状态都包含在OCP套接口的定义中。这在工业界是唯一的。.

22: OCP规范提供常见接口的模板吗?
A: 是的,OCP2.1规范提供了一系列不同类型IP核的OCP界面的模板。这是通过使用OCP 设定组合实现的。每一个设定组合包含了预先确定的OCP界面,并且给出了各种OCP参数的设置。此外,我们还提供了每一个OCP设定组合的使用指南。

23: 目前有哪些OCP 设定组合 ?
A: 在OCP2.1规范中,提供了两组OCP设定组合:使用本机 OCP界面的新IP核的新设定组合,和连接OCP和其它总线协议的桥设定组合。新的OCP设定组合系列包括块数据流模型,未定义长度的序列数据流模型,和寄存器访问模型的设定组合。桥OCP设定组合系列包括简单的H总线(用于Amba)和X总线读写包的设定组合(用于AXI)。


24: OCP是如何解决安全问题的?
A: OCP界面可以用于在系统中创建安全领域。这些领域可能包括一个处理器,共享存储器或者I/O子系统。OCP主机通过使用MSecure信号定义安全访问模式,来决定一个请求的安全级别,同时使用MConnID鉴别此请求在系统中的特定的目标。这个MSecure信号是使用者定义的MReqInfo信号的子网络。


25: OCP支持分立的时钟吗?
A: 是的,使用EnableClk时钟信号可以直接处理分立时钟。EnableClk信号用来指示哪一个时钟信号的上升沿是OCP时钟的上升沿。这个动态时钟频率控制可以很容易地解决OCP界面的分立时钟问题。


概要 | OCP和其他技术的关系 | 突发模式 | 仿真&测试 | 线程&互连