IP核互连策略及规范
1 引 言
随着超深亚微米工艺的发展,IC设计能力与工艺能力极大提高,采用SoC(System on Chip)将微处理器、IP核、存储器及各种接口集成在单一芯片上,已成为目前IC设计及嵌入式系统发展的趋势和主流。为减少设计风险、缩短设计周期、更集中于应用实现,设计者越来越多的采用IP核复用。在此推动下,IP核互连技术及片上总线(On-Chip Bus)得到迅速发展,反过来它们又对IP核的设计、校验、重用及IP核有关标准的制定也产生了深远的影响。
2 IP核互连策略
就IP核互连的形式而言,主要有共享总线、点对点的连接及多总线几种方式,带宽、时延、数据吞吐率及功耗通常是几个需主要考虑的因素,但要求与板级的互连已不相同。
共享总线方式是通过不同地址的解码来完成不同主、从部件的互连及总线复用,这对多外设IC系统设计而言,对地址总线的扇出提出了较高的要求,同时过于复杂的解码逻辑会增加额外的时延。如果数据主要集中在一个主处理器与一个从外设交换数据,则其它的外设在此期间需处于IDEL 或高阻状态,而对于多处理器设计的系统,其他的数据传输不能同时进行,增加了时延及等待。
通过增加总线的宽度、提高总线的时钟、及采用多总线方案可以解决带宽、时延问题。但增加总线的宽度,只有外围设备能在一个时钟周期中能全部占有这些总线时才有效,否则总线的利用率就不高,而提高总线的时钟也会受到一定的限制,同时会产生功耗方面的问题。
一个有效的办法就是采用多总线方案。多总线的方案有多种实现形式,按不同速率对总线分段可以减少总线的竞争并且提高总线利用率;可采用独立的读写总线以进行同时的读写;可提供多个并行的总线,对主、从部件间进行点对点的连接,以实现一对主、从部件的高速互连;另外还有一些有效的方式,如采用分层总线构架,采用交换矩阵或互连网络,来实现多个主、从部件的同时互连,等等。
多种总线仲裁算法可以被采用。采用循环占用总线,实现最为简单;另外采用从部件仲裁(Slave-side arbitration)的方案,在从部件需要数据传送时占有总线,有利于提高总线的利用率。对于流水线传送较多的情况,如何保证读写的流水线执行以减少时延也是总线仲裁考虑的一个重要方面。
下面就目前一些互连规范及它们采用的方案作介绍。
3 主要的IP核互连规范
目前有较大影响的IP核互连规范有IBM的CoreConnect 总线、ARM的AMBA(Advanced Microcontroller Bus Architecture)、Silicore Corp的Wishbone、开放核心协议国际联合(OCP-IP)的OCP (Open Core Protocol)与虚拟插座接口连盟VSIA (Virtual Socket Interface Alliance)的VCI(Virtual Component Interface)、Altera的Avalon 总线, 以及PlamchIP的CoreFrame 、MIPS的EC(tm) Interface, Altera的Atlantic(tm) Interface、IDT的IPBus(tm) (IDT Peripheral Bus) 、Sonics的SiliconBackplane(tm) uNetwork等等,新的互连方案如基于PCI的方案也在积极发展中,下面就前面几种予以介绍。
3.1 IBM的CoreConnect总线
CoreConnect总线的逻辑结构如下:[2]
CoreConnect采用了总线分段的方式,提供了三种基本类型总线,即处理器内部总线PLB(Processor Local Bus)、片上外围总线OPB(On-Chip Peripheral Bus)和设备控制总线DCR(Device Control Register)。PLB提供了一个高带宽、低延迟、高性能的处理器内部总线;OPB则用于连接具有不同的总线宽度及时序要求的外设和内存;DCR用来在CPU通用寄存器与设备控制寄存器之间传输数据传输,以减少PLB的负荷,增加其带宽。
3.2 ARM的AMBA总线(Advanced Microcontroller Bus Architecture)
AMBA总线的逻辑结构如下:[2]
同CoreConnect相似,AMBA也采用分段多总线体系,定义了三种不同类型的总线:AHB、ASP和APB。AHB用于高性能、高数据吞吐部件,如CPU、DMA、DSP之间的互连,ASP用来作处理器与外设之间的互连,APB则为系统的低速外部设备提供低功耗的简易互连。系统总线和外设总线之间的桥接器提供AHB/ASP部件与APB部件间的访问代理与缓冲。
3.3 Silicore的Wishbone总线
Wishbone逻辑结构如下:[1]
Wishbone采用的是主/从的构架,主、从部件通过内连网络进行互连。Wishbone更着重了定义IP核的接口信号和总线周期标准以实现IP核的重用,而对主从部件互连的内连网络,它只是定义了点到点(point-to-point)、数据流(data flow)、共享总线(shared bus)、交叉开关(crossbar switch)四种不同形式,需由用户来灵活选择、生成、扩展,用户还可用两条Wishbone总线进行复杂系统的集成。
3.4 OCP -IP的OCP (Open Core Protocol)与VSIA的VCI(Virtual Component Interface)
OCP 的IP核互连结构图如下:[4]
OCP是基于定义一套完整通用IP核插座接口标准的互连方案,通过定义IP核与对应接口模块间点到点的接口信号协议,如数据信号、边带信号和测试信号等,来实现IP核的可重用、即插即用、认证及测试,及不同IP核接口的集成,点到点的接口方式简单且可完成数据的高速传输。对连接各接口模块的片上内连总线形式,OCP未作定义,由用户来扩展。
VSIA同OCP相仿,也通过定义IP核的接口及点对点的方式来实现不同IP核的互连。OCP对接口定义更为完整,并且兼容VSIA,可以认为VSIA是OCP的一个子集。两个VCI通过总线互连的逻辑结构示意如下:[10]
3.5 Altera的Avalon总线
Avalon总线是Altera 可编程片上系统SOPC(system-on-a-programmable chip)IP核互连解决方案,SOPC Builder 来完成整个系统模块(包括Avalon)的生成和集成。集成的系统示意图如下:
其中Avalon总线模块完成了整个可编程系统片上部件及外设之间互连,包括了控制、数据、地址信号及总线的仲裁。Avalon总线模块的一个逻辑示例如下:[3]
Avalon采用了开关结构及从部件仲裁方式提供多对主部件的同时互连,外部件与Avalon时钟同步操作,使用非三态总线,主、从部件间多种带宽互连,支持数据流传输。Avalon同时对总线信号的定时、主从部件传输的信号作了定义以便于不同IP核的集成。
4 总结
对于SoC集成而言,单一的标准似乎难以对于不同的SoC应用及性能要求提供最佳的解决方案。对于IP提供者与集成设计者而言,关注的重点与角度也是不一样的,前者趋向于一个IP 核的接口标准以便于IP核的重用,而后者着重于集成系统的性能考虑。对使用者而言,还要考虑到专利费用问题。Wishbone、OCP是免费的,CoreConnect、AMBA需经过授权后才能免费使用,Avalon、CoreFrame均需经过授权才可使用。
目前,有关IP核的有关标准尚在制定与发展中,IP集成互连方案也一样,尚未形成一个统一的规范。随着IP核相关标准的制定及各种片上系统集成互连方案的使用,互连规范也会进一步的发展。
片上系统SOC 片上总线(On-ChipBus) IP核 互连策略 互连规范 相关文章:
- μC/GUI在基于NiosⅡ嵌入式开发平台的环境智能监控系统中的移植与应用(01-14)
- 基于Zynq的OLED驱动设计(10-04)
- 如何仿真IP核(06-06)
- LabVIEW FPGA代码模块设计(IP核)(06-06)
- 如何实现IP核心网的QoS(06-06)
- 通信接口免费IP核的应用(06-05)