首页> 中国专利> 多芯片总线实施方案中的数据的串行化

多芯片总线实施方案中的数据的串行化

摘要

本发明描述用于芯片上系统的组件的总线通信。在本发明的一个方面中,用于在总线系统中介接用于从属装置或来自主装置的总线通信的串行器包含一个或一个以上移位寄存器,其将信息串行化以经由通信总线发送,并将从所述通信总线接收到的信息并行化。在本发明的一个方面中,包含对从属装置的总线通信的系统包含桥接器,所述桥接器操作以将第一总线协议介接到使用第二总线协议的总线矩阵。在第一装置上提供的第一串行器将从所述矩阵或桥接器接收到的信息串行化,并经由通信总线发送所述经串行化的信息。在第二装置上提供的第二串行器接收所述经串行化的信息,并将所述经串行化的信息并行化,其中将所述经并行化的信息提供到在所述第二装置上提供的外围设备。在一方面中,一机构将来自总线矩阵或来自主装置的并行总线信息提供到所述移位寄存器以进行串行化并传送到所述从属装置或传送到所述主装置,且其中所述机构将从所述移位寄存器接收到的经并行化的信息提供到总线矩阵或所述主装置。所述机构在所述串行化和并行化期间将一个或一个以上等待循环插入与所述矩阵或所述主装置的通信中。

著录项

  • 公开/公告号CN101669102A

    专利类型发明专利

  • 公开/公告日2010-03-10

    原文格式PDF

  • 申请/专利权人 爱特梅尔公司;

    申请/专利号CN200880013855.0

  • 发明设计人 罗森多·布拉卡蒙特斯德尔托罗;

    申请日2008-04-23

  • 分类号G06F13/38;

  • 代理机构北京律盟知识产权代理有限责任公司;

  • 代理人孟锐

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 23:35:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-06-10

    未缴年费专利权终止 IPC(主分类):G06F13/38 授权公告日:20130320 终止日期:20140423 申请日:20080423

    专利权的终止

  • 2013-03-20

    授权

    授权

  • 2010-05-26

    实质审查的生效 IPC(主分类):G06F13/38 申请日:20080423

    实质审查的生效

  • 2010-03-10

    公开

    公开

说明书

主张优先权

在此主张2007年4月27日申请的标题为“多芯片总线实施方案中与从属装置的通信的数据的串行化”(“SERIALIZATION OF DATA FOR COMMUNICATION WITHSLAVE IN MULTI-CHIP BUS IMPLEMENTATION”)的第11/741,250号美国专利申请案、2007年4月27日申请的标题为“多芯片总线实施方案中与主装置的通信的数据的串行化”(“SERIALIZATION OF DATA FOR COMMUNICATION WITH MASTER INMULTI-CHIP BUS IMPLEMENTATION”)的第11/741,156号美国专利申请案、2007年4月27日申请的标题为“多芯片总线实施方案中与不同协议的从属装置的通信的数据的串行化”(“SERIALIZATION OF DATA FOR COMMUNICATION WITHDIFFERENT-PROTOCOL SLAVE IN MULTI-CHIP BUS IMPLEMENTATION”)的第11/741,328号美国专利申请案及2007年4月27日申请的标题为“多芯片总线实施方案的数据的串行化”(“SERIALIZATION OF DATA FOR MULTI-CHIP BUSIMPLEMENTATION”)的第11/741,352号美国专利申请案的优先权权益,所述专利申请案的全文以引用的方式并入本文中。

技术领域

本发明涉及集成电路系统,且更确切地说,涉及集成电路系统的总线架构。

背景技术

芯片上系统(SoC)设计将计算机或其它电子装置或系统的许多或所有组件集成到集成电路芯片上,且通常用来合并组件以实现系统性能的提高并易于制造。典型的SoC包含一个或一个以上微控制器(例如,微处理器或DSP核心)、存储器、外围设备、接口、时序源、电压调节器和功率管理电路及外部接口。

SoC的组件通过专有或工业标准芯片上总线连接,这允许SoC的组件彼此介接。一种此工业标准总线是ARM公司出品的高级微控制器总线架构(AMBATM),其是用于嵌入式CPU的普通32位架构。AMBA芯片上总线是一个开放式规范,其用作SoC设计的框架。使用AMBA规范可将库核心绑定在一起,且能帮助实现库组件的再使用。通过根据标准AMBA接口来设计,可在不事先知道组件最终将被集成到的系统的情况下实施和测试模块。

AMBA总线包含两种不同的协议:高级高性能总线(AHB)和高级外围设备总线(APB)。AHB总线的速度比APB总线高,且通常充当高性能系统骨干总线。

图1是典型AMBA系统10的框图,且展示AMBA AHB和APB总线使用多层互连矩阵的集成。所述多层包含将AHB-Lite主装置14连接到AHB-Lite从属装置16的AHB矩阵12,以及将APB从属装置20连接到AHB矩阵12的AHB/APB桥接器18。总线主装置能够通过提供地址和控制信息来起始读取和写入操作。通常,任何一次只允许一个主装置有效地使用总线。总线从属装置对给定地址空间范围内的读取或写入操作作出响应。从属装置发信号返回有效主装置,通知其传送成功、失败或等待。

系统10中使用的主装置和从属装置可为标准AMBAAHB组件或“AHB-Lite”组件(如图1所示)。AHB-Lite是完整AHB规范的子集,且可在使用单总线主装置的设计(简单的单个主装置系统或其中每层仅一个AHB主装置的多层AHB系统)中使用。AHB-Lite通过移除多总线主装置所需的协议来简化AHB规范,从而使得针对AHB-Lite接口规范设计的主装置在接口设计方面与完整AHB主装置相比可更简单。

图2是说明包含两个集成电路芯片的AMBA总线系统40的框图。常用的方法是将SoC的组件分到两个或两个以上芯片(例如芯片42和44)上,所述芯片使用例如AMBA等标准接口彼此通信。通常,使AHB和APB总线接口在每一主装置和从属装置的每一芯片外部可用,以允许介接到其它芯片。在图2中,AHB总线46和APB总线48将两个芯片42和44互连,其中芯片44为系统40提供12个额外主装置和从属装置。

图2所示的系统的缺点是系统的复杂性和总成本基于整个系统中的所有芯片上需要的AHB和APB接口总线的数目而以指数方式增长。平均每一AHB和APB总线需要的线路的数目在100左右或以上,此数目取决于从属装置需要的地址的数目。当所需要的AHB和APB接口总线的数目达到可用的I/O引脚的极限时,此方法的实现变得不现实。换句话说,AHB和APB接口总线的最大数目直接取决于可用的I/O引脚的数目。

因此,例如在图2的实例中,如果每个总线的线路的平均数目是100,且将此线路数目乘以主装置和从属装置的数目(12),那么至少需要1,200个I/O引脚才能满足接口需要。因此,如果系统中包含多个主装置和从属装置(情况通常如此),则所需要的通信线路的数目可能大幅增长,这可不现实且/或因对I/O引脚的高需求而使SoC的复杂性和费用大幅增长。

因此,在许多应用中将需要一种无需许多通信线路和随之的复杂性而将芯片上系统的组件与总线架构连接的方法和系统。

发明内容

本申请案的发明涉及芯片上系统的组件的总线通信。在本发明的一个方面中,用于在总线系统中介接用于从属装置的总线通信的串行器包含一个或一个以上移位寄存器,其将信息串行化以经由通信总线发送,并将从通信总线接收到的信息并行化。一种机构将来自总线矩阵的并行总线信息提供到移位寄存器以进行串行化并传送到从属装置,其中所述机构将从移位寄存器接收到的经并行化的信息提供到总线矩阵。所述机构在串行化和并行化期间将一个或一个以上等待循环插入与矩阵的通信中。在另一方面中,其中机构将从移位寄存器接收到的经并行化的信息提供到主装置,且其中所述机构在串行化和并行化期间将一个或一个以上等待循环插入与主装置的通信中。

在本发明的另一方面中,一种用于在总线系统中介接从属装置的总线通信的方法包含:从总线矩阵接收并行总线信息,所述并行总线信息寻址到从属装置;以及将所述并行总线信息串行化并在通信总线上发送串行信息。在将并行总线信息串行化和发送串行信息期间将等待循环插入到总线矩阵。针对计算机可读媒体提供本发明的类似的方面,所述计算机可读媒体包含用于实施类似特征的程序指令。

在本发明的另一方面中,一种用于在总线系统中介接用于主装置的总线通信的方法包含:从主装置接收并行总线信息,所述并行总线信息寻址到从属装置;以及将所述并行总线信息串行化并在通信总线上发送串行信息。在将并行总线信息串行化和发送串行信息期间将等待循环插入到主装置。针对计算机可读媒体提供本发明的类似的方面,所述计算机可读媒体包含用于实施类似特征的程序指令。

在本发明的另一方面中,一种用于在总线系统中介接用于从属装置的总线通信的方法包含在通信总线上接收串行信息,所述串行信息是从总线矩阵提供的信息导出的,且寻址到从属装置。总线矩阵提供的信息是从来自主装置的信息导出的。将所述串行信息并行化以获得并行信息,且将所述并行信息提供到从属装置。接收来自从属装置的对并行信息的响应,并将所述响应串行化以将所述响应在通信总线上提供到总线矩阵。针对计算机可读媒体提供本发明的类似的方面,所述计算机可读媒体包含用于实施类似特征的程序指令。

在本发明的另一方面中,一种包含对主装置的总线通信的系统包含操作以读取信息和将信息写入到系统的从属装置的主装置,其中所述主装置提供在第一装置上。第一串行器耦合到主装置且提供在第一装置上,且将从主装置接收到的信息串行化并经由通信总线发送经串行化的信息。第二串行器提供在第二装置上且耦合到通信总线,且接收所述经串行化的信息并将所述经串行化的信息并行化。在第二装置上提供的总线矩阵耦合到第二串行器,且为连接到总线矩阵的多个总线上的信息选择目的地,其中经并行化的信息被提供到总线矩阵以待路由到从属装置。

在本发明的另一方面中,一种包含对从属装置的总线通信的系统包含操作以使用系统的总线传送信息的总线矩阵,其中所述总线矩阵提供在第一装置上。第一串行器耦合到总线矩阵且提供在第一装置上,且将从总线矩阵接收到的信息串行化并经由通信总线发送经串行化的信息。在第二装置上提供的第二串行器耦合到通信总线,且接收经串行化的信息并将经串行化的信息并行化。第二装置上的从属装置耦合到第二串行器,且提供对来自总线矩阵的信息的响应,其中所述经并行化的信息被提供到从属装置。

在本发明的一个方面中,一种包含总线通信的系统包含操作以为连接到矩阵的总线上的信息选择目的地的矩阵。在第一装置上提供的第一串行器将从矩阵接收到的信息串行化,且经由通信总线发送经串行化的信息。在第二装置上提供的第二串行器接收所述经串行化的信息且将所述经串行化的信息并行化,其中经并行化的信息被提供到在第二装置上提供的外围设备。

在本发明的另一方面中,一种用于提供总线通信的方法包含:使用在第一装置上提供的第一串行器将从矩阵接收到的总线信息串行化;以及经由通信总线发送经串行化的总线信息。接收来自通信总线的经串行化的总线信息,并使用在第二装置上提供的第二串行器将所述经串行化的总线信息并行化,其中将经并行化的信息提供到在第二装置上提供的外围设备。针对计算机可读媒体提供本发明的类似的方面,所述计算机可读媒体包含用于实施类似特征的程序指令。

在本发明的另一方面中,一种包含总线通信的系统包含操作以为连接到矩阵的多个总线上的信息选择目的地的矩阵,其中所述矩阵提供在第一芯片上。在第一芯片上提供的第一串行器将从矩阵接收到的信息串行化,且经由通信总线发送经串行化的信息。在第二芯片上提供的第二串行器接收经串行化的信息,并将所述经串行化的信息并行化。在第二芯片上提供的外围设备从第二串行器接收经并行化的信息。第一和第二串行器将自动等待循环引入用于通信总线的通信协议中,以允许信息的串行化。

本申请案的发明涉及芯片上系统的组件的总线通信。在本发明的一个方面中,一种包含对从属装置的总线通信的系统包含操作以将第一总线协议介接到使用第二总线协议的总线矩阵的桥接器。耦合到所述桥接器的第一串行器将从桥接器接收到的信息串行化,且经由通信总线发送经串行化的信息。耦合到所述通信总线的第二串行器接收经串行化的信息,且将所述经串行化的信息并行化。从属装置使用第一协议且耦合到第二串行器,其中经并行化的信息被提供到从属装置,且所述从属装置提供对来自所述桥接器的信息的响应。

在本发明的另一方面中,一种用于在总线系统中介接用于从属装置的总线通信的方法包含从桥接器接收并行总线信息,所述并行总线信息寻址到所述从属装置,其中所述桥接器操作以将第一总线协议介接到使用不同于第一协议的第二总线协议的总线矩阵,且其中所述从属装置使用所述第一总线矩阵。将并行总线信息串行化,且在通信总线上发送并行总线信息。在将并行总线信息串行化和发送串行信息期间将等待循环插入到桥接器。针对计算机可读媒体提供本发明的类似的方面,所述计算机可读媒体包含用于实施类似特征的程序指令。

在本发明的另一方面中,一种用于介接从属装置的总线通信的方法包含向所述从属装置提供选择信号和启用信号以实现与从属装置的通信,由操作以在总线系统中介接两个不同总线协议的桥接器提供所述选择信号和启用信号。接收等待信号,这导致桥接器中的等待状态,直到与从属装置的串行通信已完成为止。针对计算机可读媒体提供本发明的类似的方面,所述计算机可读媒体包含用于实施类似特征的程序指令。

本发明减少了当跨例如芯片等多个装置提供例如AMBA系统等总线系统时的互连复杂性和费用。允许芯片间主装置和从属装置在系统中通信所需要的线路的数目减少一数量级。此外,由于对I/O引脚的昂贵的高需求减少,所以整个系统的成本降低。

附图说明

图1是现有技术的芯片上标准系统和总线架构的框图;

图2是现有技术的芯片上多芯片系统的框图;

图3是本发明的多芯片系统的框图;

图4是说明本发明的串行器系统的框图;

图5A是说明标准现有技术AHB主装置及其接口的框图;

图5B是展示图5A的主装置接口中提供的信号的时序的时序图;

图6是展示现有技术的SoC中的AHB主装置的标准芯片布局的框图;

图7是本发明的SoC中的芯片间AHB主装置的芯片布局系统的框图;

图8是说明主装置与矩阵之间的接口中的本发明的主串行器的实例实施例的框图;

图9是说明主装置的芯片上的主串行器的左有限状态机的实例方法或操作状态的流程图;

图10是说明串行器的同步移位寄存器的实例实施例的示意图;

图11是说明矩阵的芯片上主串行器的右有限状态机的实例方法或操作状态的流程图;

图12是展示包含本发明的串行化的主装置与矩阵之间的传递的时序的时序图;

图13A是说明标准AHB从属装置及其接口的框图;

图13B是说明标准AHB从属装置及其接口的时序图;

图14是现有技术的标准SoC中的AHB从属装置的标准芯片布局的框图;

图15是本发明的SoC中的芯片间AHB从属装置的芯片布局系统的框图;

图16是说明AHB从属装置与矩阵之间的接口中的本发明的从属串行器的实例实施例的框图;

图17是说明矩阵的芯片上从属串行器的左有限状态机的实例方法或操作状态的流程图;

图18是说明从属装置的芯片上从属串行器的右有限状态机的实例方法或操作状态的流程图;

图19是展示包含本发明的串行化的矩阵与AHB从属装置之间的传递的时序的时序图;

图20A是说明标准APB从属装置及其接口的框图;

图20B是说明针对写入传递的标准APB从属装置及其接口的时序图;

图20C是说明针对读取传递的标准APB从属装置及其接口的时序图;

图21是展示现有技术的SoC中的APB从属装置的标准芯片布局的框图;

图22是本发明的SoC中的芯片间从属装置的实例芯片布局系统的框图,其中从属装置使用不同于总线系统的矩阵的协议;

图23是说明APB从属装置与增强型AHB/APB桥接器之间的接口中的本发明的从属串行器的实例实施例的框图;

图24是说明增强型桥接器的芯片上从属串行器的左有限状态机的实例方法或操作状态的流程图;

图25是说明现有技术的AHB/APB桥接器中包含的标准有限状态机的流程图;

图26是说明本发明的增强型AHB/APB桥接器的方法或操作状态的流程图;

图27是说明在APB从属装置的芯片上提供的APB从属串行器的右有限状态机的实例方法或操作状态的流程图;

图28A是展示包含本发明的串行化的增强型桥接器与APB从属装置之间的读取传递的时序的时序图;

图28B是展示包含本发明的串行化的增强型桥接器与APB从属装置之间的写入传递的时序的时序图;以及

图29是说明本发明的多芯片总线架构系统的不同实施例的框图。

具体实施方式

本发明涉及集成电路系统,且更确切地说,涉及集成电路系统的总线架构。提供以下描述是为了使所属领域的技术人员能够制作和使用本发明,且所述描述是在专利申请案及其要求的背景下提供的。所属领域的技术人员将容易明白对于本文中描述的优选实施例和一般原理及特征的各种修改。因此,本发明并不希望限于所示的实施例,而是将符合与本文中描述的原理和特征一致的最广范围。

主要就在特定实施方案中提供的特定电路描述本发明。然而,所属领域的技术人员将容易认识到此电路将在其它实施方案和应用中有效操作。也将在具有特定步骤或状态的特定方法的背景下描述本发明。然而,所述方法及系统针对与本发明一致的具有不同和/或额外步骤的其它方法有效操作。

为了更具体地描述本发明的特征,请配合以下论述参看图3到图29。

图3是本发明的芯片上多芯片系统(SoC)100的框图。可在任何可容纳多个装置(例如集成电路芯片或类似装置等装置)及其之间的连接的合适板、平台或衬底上提供系统100。在图3的实例实施例中,系统100包含两个芯片——芯片102及芯片103,系统100分布在其上且经由多个通信总线连接。举例来说,本发明可用来使用基础系统芯片(图3的实例中的芯片102)作为参考在开发板上原型化AMBA总线系统,所述基础系统芯片包含主要组件,且在一个或一个以上不同装置(图3的实例中的芯片103)中添加额外主和/或从属外围设备。系统100的其它实施例可以不同方式在不同装置上分布组件,且/或包含所要的应用所需的额外装置。

系统100包含处理器104和矩阵106。处理器104可为任何合适的控制器,例如一个或一个以上微处理器、专用集成电路(ASIC)、数字信号处理器(DSP)等。处理器104耦合到矩阵106,矩阵106提供使SoC系统的各种从属装置和主装置彼此连接的通信架构,从而允许其通信。矩阵106基于操纵协议时序(例如所示的实例中的AHB协议时序)产生控制信号。矩阵106通常包含并联提供的多个总线,其每一者可支持高带宽信息流。矩阵106可处置通信,包含保持用于接收从属装置和产生针对从属装置的选择信号的传入传递。矩阵106可选择将来自主装置的哪些信号发送到从属装置,以及将来自从属装置的哪些信号发送到主装置。矩阵106可通过选择将存取特定从属装置的主装置来处置来自多个主装置的对所述从属装置的同时请求。

矩阵106连接到各种多个主装置和从属装置。这些主装置和从属装置可为各种电子装置和组件。本文中,主装置和从属装置统称为“外围设备”。在图3的实例中,在与处理器104和矩阵106相同的芯片102上包含若干主装置和从属装置,从而允许芯片102上有完整的系统。这些装置包含AHB主装置110,其通过AHB总线112连接到矩阵106。芯片102上还包含AHB从属装置114,其通过AHB总线112连接到矩阵。

在芯片102上可包含AHB/APB桥接器116,以允许从AHB矩阵介接到APB装置。桥接器116通过AHB总线112耦合到矩阵106,且通过APB总线120连接到芯片102上的APB从属装置118。

在芯片102上提供若干其它总线及其连接,其既定彼此连接,连接到其它芯片(例如芯片103)上的额外主装置和从属装置。芯片103包含额外外围设备,其可与系统的其它外围设备(包含额外主装置和从属装置)通信。根据本发明,芯片102与103之间的连接总线具备位于芯片102和芯片103上的串行器,以便大幅减少所需要的总线连接的数目,进而降低系统100的复杂性和成本。本发明的串行器和解串行器在与其它芯片上的主装置和从属装置的通信中取代了数百条连接线路。

芯片102上的串行器针对不同装置具有不同类型,且包含连接到AHB总线112且用于与AHB主装置110一起使用的主串行器(MS)126、连接到AHB总线112且用于与AHB从属装置114一起使用的从属串行器(SS)128以及连接到APB总线120且用于与APB从属装置118一起使用的APB从属串行器(APBS)130。每一类型的串行器具有特定接口和用以控制用于其相关联的总线和装置的适当时序的组件。大体上相对于图4详细地描述所述串行器。

将从串行器126、128或130发送的经串行化的信息经由芯片间通信总线传输到其它芯片103上的串行器。针对主串行器126使用总线132,针对从属串行器128使用总线134,且针对APB从属串行器130使用总线136。在实例中将这些总线展示为各具有仅11或12条线路,这与标准的现有实施方案中使用的逾100条线路相比在线路数目方面显著减少。使用串行时钟124来操纵经由总线132、134和136提供的串行通信。

在芯片103上,类似的串行器经由总线132、134和136发送和接收信息。主串行器138在总线132上发送和接收信号,从属串行器140在总线134上发送和接收信号,且APBS串行器在总线136上发送和接收信号。这些串行器将接收到的信号并行化,且将经并行化的信号提供到芯片103上的连接到串行器的相关联的主装置或从属装置。举例来说,串行器138在总线145上将信号提供到额外AHB主装置144,串行器140在总线147上将信号提供到额外AHB从属装置146,且串行器142在总线149上将信号提供到额外APB从属装置148。

当芯片103上的外围设备经由总线132、134和136将信息发送回到在芯片102上提供的组件时,执行类似于上述通信但在相反方向上的通信。

可通过软件的程序指令来实施串行器以及系统的其它组件的功能,所述程序指令可存储在例如存储器、硬盘驱动器、其它磁盘、光盘(CD-ROM、DVD-ROM)等计算机可读媒体上。或者,可使用硬件(逻辑门等)或软件与硬件的组合来实施一些或所有所述功能。

图4是说明本发明的串行器系统150的框图。所述串行器需要谨慎地符合所使用的总线协议时序(例如,AMBA总线时序),以便不违反所述协议。串行器系统150包含串行器152和串行器154,其可在通信总线156上通信。在所示的实例中,在芯片102上提供串行器152且在芯片103上提供串行器154,使得总线156在两个芯片之间耦合。在其它实施例中可使用其它配置。

在图4的实例中,串行器152从“前串行”AHB或APB总线158接收并行信息,其中信息将被发送到其它芯片103。串行器152包含有限状态机(FSM)控制块160,其用来控制串行通信以及将自动等待循环引入信息传送中。在串行化过程期间执行这些等待循环,且一直持续到已从所寻址的主装置或从属装置接收回响应为止。

插入的自动等待循环的数目取决于串行时钟与HCLK频率之间的比率。如果串行时钟与HCLK频率的比率增加,则自动等待循环的数目减少。在一个实例实施例中,自动HCLK等待循环的数目可使用以下关系来近似:

WaitCycles=Tsyncl+Treq+Pr+Tres+Tsync2

其中Treq是需要8个串行时钟的传递请求,Tres是需要8个串行时钟的传递响应,Pr是基于特定外围设备而具有可变数目的时钟的外围设备响应,且Tsync1和Tsync2分别是使串行时钟与HCLK_left及HCLK_right同步所花费的时间,其通常是一个HCLK循环。

举例来说,如果串行时钟具有200MHz的频率,且HCLK具有50MHz的频率,且外围设备响应Pr是1个HCLK循环,那么Treq等于8/(200/50),其是2个HCLK循环,且Tres等于8(200/50),其是2个HCLK循环。因此,总等待循环将为1+2+1+2+1或7个HCLK循环。

FSM控制块160将并行信息提供到移位器162,且从移位器162接收并行信息。所述移位器用于将并行信息移位成串行形式以供传输,或将串行信息移位成并行形式以供接收。经由双向I/O块164将所传输的串行信息或所接收的串行信息从移位器162传送或传送到移位器162,所述双向I/O块164连接到通信总线156。FSM控制块160还可经由双向I/O块164直接发送和接收一些信号。

将由串行器152串行化的信息在总线156上发送到串行器154,串行器154在此实例中充当解串行器。串行器154在双向I/O块166处接收所述信息,且将经串行化的信息提供到移位器168(且/或到FSM控制170)。移位器168将经并行化的(并行)信息提供到FSM控制块170,FSM控制块170将信息提供到后串行AHB或APB总线(在传输的前串行末端上使用的相同类型的总线协议)。所述总线将所述信息提供到所寻址的连接到总线的外围设备。类似地,将来自芯片103上的外围设备的信息串行化、传输且在芯片102处并行化。

除了串行器组件以外,本发明对AHB/APB桥接器116的增强还允许桥接器支持系统的APB侧处的等待循环。下文相对于图26详细描述对AHB/APB桥接器116的修改。

串行器152和154中的每一者具有特定接口和用以针对其应用控制适当时序的FSM控制块。举例来说,主串行器126可为经设计以介接AHB(或AHB-Lite)主装置的AHB主串行器。在信号到达总线矩阵106之前俘获来自主装置的所有信号,且串行器状态机插入自动等待循环,以便使主装置一直等待到从所寻址的从属装置发生适当响应为止。从属串行器128可为经设计以介接AHB(或AHB-Lite)从属装置的AHB从属串行器。在信号到达AHB从属装置之前俘获来自总线矩阵106的所有信号,且串行器状态机插入自动等待循环,以便使矩阵一直等待到从所寻址的从属装置发生适当响应为止。APBS串行器130经设计以介接APB从属装置。来自AHB/APB桥接器116的所有信号在其到达APB从属装置之前被俘获,且串行器状态机插入自动等待循环,以便使桥接器116一直等待到从所寻址的从属装置发生适当响应为止。下文与不同应用相关联地描述每一特定类型的串行器的细节,其中参看图5A到图12描述主串行器,参看图13A到图19描述从属串行器,且参看图20A到图28B描述APB从属串行器。

图5A是说明标准现有技术AHB主装置14及其接口的框图。在图5A中,将AHB-Lite主装置展示为主装置14。AHB主装置14开始对AHB矩阵12的所有传递。AHB-Lite主装置所需的接口包含HCLK信号180和HRESETN信号182。主装置将信号184提供到AHB-Lite总线,且因此提供到矩阵12。信号184包含总线HADDR上的地址和总线HWDATA上的数据。AHB-Lite主装置14从AHB-Lite总线接收输入信号186,包含来自从属装置或其它外围设备的总线HRDATA上的数据。图5B是展示在图5A的主接口中提供的信号的时序的时序图190。

图6是展示现有技术的SoC中的AHB主装置的标准芯片布局200的框图。第一芯片202包含AHB矩阵12和AHB及APB外围设备206,所述外围设备可与所述矩阵通信。第二芯片204包含多个AHB主装置208。如图所示,现有技术布置在每条总线46中需要113条通信线路,所述总线在芯片204与芯片202之间连接单个AHB主装置。如果多个主装置以此方式连接(如图所示,且情况通常如此),则所需要的通信线路的总数大幅增加,这又使SoC的复杂性和费用增加。

图7是本发明的SoC中的芯片间AHB主装置的芯片布局系统220的框图。举例来说,可在板222或其它合适衬底或平台上提供芯片布局系统220。

板222包含第一芯片102和与第一芯片102通信的第二芯片103。第一芯片102包含矩阵106和AHB及APB外围设备228。外围设备228可包含任何使用AHB和APB协议的组件,包含AHB/APB桥接器116、芯片102上的主装置和从属装置、一个或一个以上合适的控制器(微处理器、专用集成电路(ASIC)、数字信号处理器(DSP)等)以及其它合适组件。

根据本发明,经由待连接到在不同芯片上提供的主装置的矩阵106提供的每一总线连接到主串行器(MS)126。如上所述,在适当时,主串行器126将从芯片发送出的信息串行化,且将正从不同芯片接收到的信息并行化。

还在板222上提供芯片103,且包含N个主装置144以用于与芯片102的总线架构和矩阵106一起使用。在适当时,主装置144可如以上在图3中所示为额外主装置,或为系统的所需主装置。每一主装置144具有一总线145,其将连接到其它芯片102。在本发明的系统中,每一总线145连接到主串行器138,其类似于在芯片102上提供的主串行器126。每一主串行器138通过通信总线132耦合到相关联的主串行器126。在所示的实例中,由于串行化,每个总线只需要12条线路,这与其它系统和方法相比在所需的总线线路方面显著减少。在所述的实施例中,有些通信通道是双向的,且因此允许使芯片102与103之间的线路数目最小化。

本发明的方法是基于在信号到达矩阵106之前俘获来自主装置144的所有信号。串行器使用简单的完全同步的高速移位寄存器将主装置144与矩阵106之间的信息串行化。为了在AHB-Lite主装置144与矩阵106之间实现串行化并维持同步,使用状态机来负责俘获和再现所有的主装置传递以及适当的控制和等待状态。串行器138中的状态机将插入自动等待循环,以便使主装置144一直等待到经由适当的连接总线132从所寻址的从属装置发生适当的响应为止。下文关于图8更详细地描述这些操作。

图8是说明主装置144与矩阵106之间的接口中的本发明的主串行器126及138的实例实施例240的框图。在所示的实例中,串行器138包含左有限状态机(FSM)242、两个32位移位寄存器244和246以及一16位移位寄存器248。FSM 242控制串行器的操作,且将等待循环引入到主装置144。这在下文中关于图9更详细地描述。在其它实施例中,除有限状态机以外还可使用其它控制器。所述两个32位移位寄存器244和246用于将用于地址总线和数据总线的信息串行化和并行化。所述16位移位寄存器248用于将协议中使用的控制信号串行化和并行化。(不存在用于移位寄存器244(及下述实例中的其它类似移位寄存器)的缓冲器,因为在所述实施例中其是单向的。)适当时可在其它实施例中使用其它位宽的移位寄存器。关于图10更详细地描述移位寄存器244、246和248的组件和操作。

类似地,串行器126包含右有限状态机(FSM)250、两个32位移位寄存器252和254以及一16位移位寄存器256。FSM 250控制串行器126的操作,如下文关于图11更详细地描述。所述两个32位移位寄存器252和254用于将用于地址总线和数据总线的信息并行化和串行化,且所述16位移位寄存器256用于将协议中使用的控制信号并行化和串行化。适当时可在其它实施例中使用其它位宽的移位寄存器。关于图10更详细地描述移位寄存器252、254和256的组件和操作。

移位寄存器244通过地址总线260连接到移位寄存器252,地址总线260在所述实施例中是4位宽,且可为单向的,以允许主装置144对从属装置进行寻址(主装置144无需接收地址)。移位寄存器246通过双向数据总线262连接到移位寄存器254,双向数据总线262在所述实施例中是4位宽,且移位寄存器248通过双向控制总线264连接到移位寄存器256,双向控制总线264在所述实施例中是2位宽。此外,左FSM 242使用start_left_transfer信号266来选择从主装置到矩阵的信息传递,且右FSM 250使用start_right_transfer信号268来选择从矩阵到主装置的信息传递。可经由专用线路在串行器之间发送这些信号。左FSM 242还可选择性地设置HREADY信号269,其被发送回到主装置144以引入等待状态。向串行器138和126两者提供串行时钟信号124以协调其串行通信的功能。关于图9和图11更详细地描述这些信号的使用。

分别向串行器138和126提供HCLK信号272和274,且所述信号是用于在其上提供串行器的芯片102或103的芯片时钟。HCLK_left及HCLK_right信号可为不同或相同频率,这取决于所述芯片的所需频率。在所述实施例中,考虑其具有相同频率。由于对移位寄存器的控制由FSM 242和250提供,所以需要经再同步的时钟HCLK来执行所有操作。(串行时钟操纵移位寄存器的移位和串行通信,而HCLK信号操纵对主装置、从属装置或矩阵的通信。)串行时钟124在频率方面必须大于所述HCLK信号中的每一者,以便保持HCLK与串行时钟域两者之间的良好同步。

图9是说明在主装置144的芯片103上提供的主串行器138的左FSM 242的实例方法300或操作状态的流程图。左FSM 242控制信息的串行化和并行化,且还插入自动等待循环,从而允许在遵照总线协议的同时执行串行化程序。FSM控制所有时序,且基于HCLK_Left将信息再同步到串行时钟域“serial_clk”以供串行传输。此同步应在串行通信总线的两侧(左和右)发生,以提供同步高速串行传递。

如步骤302处所示,FSM 242一直等待到从主装置144发生有效传递为止。如果不存在有效传递,则FSM继续等待。如果由外部源(例如芯片上的复位控制器或芯片外部的源)断言对主装置144的主要系统复位信号HRESETN,则此迫使FSM 242进入等待状态步骤302。在此状态下由FSM将HREADY信号269设置成高。

通过HTRANS信号不闲置或忙来指示有效传递。一旦发生此情况且从主装置144提供有效传递,则FSM进入步骤304,其中俘获来自主装置的地址和控制信号。此外,将到主装置144的HREADY信号269设置成低以将等待循环引入到主装置144。此HREADY信号由FSM起始,且模仿从从属装置或矩阵提供的普通HREADY信号(其将致使主装置等待从属装置对请求作出响应)。如果HWRITE信号为低,那么主装置已起始读取操作且尚未发送数据信号,因此如下所述FSM进入步骤308。如果HWRITE信号为1,那么其为写入操作,且在步骤306处,FSM俘获主装置想要写入的数据信息,然后前进到步骤308。

在步骤308处,FSM 242根据串行时钟信号124使串行信息的移出再同步,根据操作类型(读取或写入)来加载适当的移位寄存器244、246和248,且开始经由适当的总线260、262和/或264进行信息传递。左FSM 242还将信号266(start_left_transfer)设置成高,这允许右FSM 250开始俘获同步传入信息。左FSM 242还使HREADY信号269保持为低,这致使主装置144等待;以此方式,FSM 242插入自动等待循环。

一旦移位完成,过程在步骤310处继续,其中将start_left_transfer信号266设置成零。FSM接着在步骤312处在start_right_transfer信号268为零时等待来自处于“HOLD”状态的矩阵106的响应。右FSM在其想要向左FSM发送响应信号时将start_right_transfer信号268设置成高。当信号268变为高时,过程继续到步骤314,其中左FSM 242将从串行总线接收到的串行信息移入成并行形式,且继续移位,直到信息全部被接收为止。FSM 242将来自高速移位寄存器的传入信息再同步到HCLK_left时钟域。FSM 242还对来自矩阵106的HRESP信号进行分析以确定操作是否成功或是否发生错误。如果HRESP信号指示信息成功发送,那么在步骤316中,将HREADY信号269设置成高,这通知主装置144操作完成且退出等待循环。过程接着返回到步骤302以等待来自主装置的另一有效传递。

如果HRESP信号在步骤314中指示接收到的信息中的错误,则此在步骤317中指示(例如,可起始标准错误程序),且在步骤318中FSM 242向主装置144释放HREADY信号(与步骤316中类似)以致使主装置退出等待循环。过程接着继续回到步骤302以等待来自主装置的另一有效传递。

因此在串行化正在进行时(例如,步骤304到314),HREADY信号269被保持为低,这将等待状态引入到主装置144。在响应之后,释放HREADY信号使其变为高,从而提供从矩阵106回到主装置的响应。(如果所寻址的从属装置需要更多时间对主装置作出响应,则HREADY信号269(或单独的HREADY信号,如果以此方式实施的话)可在请求操作期间被所寻址的从属装置再次设置成低或保持低。)

图10是说明同步移位寄存器244、246、248、252、254和256的实例实施例330的示意图。串行器的同步移位寄存器包含触发器阵列和若干多路复用器,以确定其间的信息流。为了支持双向通信,移位寄存器246、248、254和256(不是244和252,因为其在所述实施例中是单向的)支持串行信息移出、串行信息移入、并行信息加载和具有启用的触发器(以停止移位)的特征。FSM 242或250提供所有控制和时序以实现AHB-Lite主装置信息的串行化和并行化。

实例32位移位寄存器330包含触发器332和多路复用器334。在图10的所述实施例中,32位移位寄存器244、246、252和254各自在位7、15、23和31中具有一分接头334(即,影响移位寄存器的下一状态的位位置),如图所示。16位移位寄存器248和256各自在位7和15中具有一分接头。移位寄存器中的每一分接头包含一双向缓冲器336,且类似缓冲器通过板上的通信通道(在实例32位移位寄存器330中,通道338被展示为4位)连接在总线260、262或264的另一端。在所示的实例中,由于分接头334处于8个寄存器的群组中,所以只需要8个串行时钟循环来传递所有信息,这与移位寄存器是16位宽还是32位宽无关。

32位寄存器的移出程序如下操作。一旦已在并行模式下从加载并行总线340加载信息,那么在接下来的8个循环中,所有信息将以串行形式移出。举例来说,线路s位0将位[7:0]移出,s位1将位[15:8]移出,s位3将位[23:16]移出,且s位4将位[31:24]移出。对于移入程序,当信息开始被接收和俘获时,线路s位0馈送位0,且一直移位到接收到位7为止;s位1馈送位8,且一直移位到接收到位15为止;s位2馈送位16,且一直移位到接收到位23为止;且s位3馈送位24,且一直移位到接收到位31为止;在读取并行总线342上提供经移位的位。除了只使用两个s位线路以外,16位移位寄存器以相同方式操作。

图11是说明在矩阵106的芯片102上提供的主串行器126的右FSM 250的实例方法350或操作状态。右FSM 250是系统的补充,且控制所有时序和与矩阵106对讲的信号。

如步骤352处所示,右FSM 250在start_left_transfer信号266为零时等待。如果由外部源断言HRESETN信号,则此迫使FSM 250进入等待状态步骤352。当FSM 250检测到start_left_transfer信号266已被左FSM 242设置成1时,FSM 250进入步骤354,其中右FSM使用移位寄存器移入接收到的经串行化的信息,直到移位完成且信息为并行形式为止。在下一步骤356中,将接收到的地址和控制信号释放到矩阵106。如果来自矩阵106的HWRITE信号为高,那么其是具有数据的写入操作,且FSM在步骤358中向矩阵106释放俘获到的数据,且继续到步骤360。如果来自矩阵的HWRITE信号为零,则其是没有数据信号的读取操作,且过程直接从步骤356继续到步骤360。

在步骤360中,当来自所寻址的外围设备(此处来自矩阵106)的HREADY信号为零时,FSM 250在保持状态中等待。当HREADY信号变为高时,所寻址的外围设备准备好发送其响应,且过程在步骤362中俘获从属装置的响应(经由矩阵106而路由)。在下一步骤364中,FSM将start_right_transfer信号268设置成1,以向左FSM 242指示响应即将到来,且将响应移出回到其它串行器138,使得主装置将接收所述响应。(例如,如果低HREADY信号先前被所寻址的从属装置发送到主装置144,则来自矩阵/从属装置的高HREADY信号也可在控制位中经由串行通信总线被发送到串行器138,且串行器138将所述高HREADY信号发送到所述主装置以指示所述从属装置准备好发送其响应。)过程接着返回到步骤352以将start_right_transfer 268设置成低,且等待另一传递(只在例如串行通信的左侧将插入的自动等待循环提供到主装置144。)

图12是展示包含本发明的串行化的AHB-Lite主装置144与矩阵106之间的传递的时序的时序图370。在图中,时间t1是标准传递的时间。时间t2是俘获经串行化的信息且将其发送到矩阵的时间。时间t3是恢复串行信息且在矩阵侧再现所述操作的时间。时间t4是传递和恢复从矩阵对主装置的响应的时间。时间t5是再现将呈现给主装置的响应的时间。时间t6是可在其间自动插入等待循环的时间。

自动插入的等待循环的数目取决于串行时钟124与HCLK信号272和274的比率(在这些所描述的实例中,假设HCLK_left和HCLK_right是相同频率)。当所述比率增加时,所需要的等待循环的数目减少。

图13A是说明标准AHB从属装置16及其接口的框图。在图13A的实例中,将AHB-Lite从属装置展示为从属装置16。AHB-Lite从属装置16对由连接到AHB矩阵12的总线传递起始的传递作出响应。从属装置16所需的接口包含从AHB-Lite总线32提供的控制信号382,其由遵循AHB协议时序的矩阵产生,但从属装置16将HSEL信号380用作选择信号以确定其应何时对总线传递作出响应。AHB-Lite从属装置16将输出信号384提供回到AHB-Lite总线,其中其被提供到AHB矩阵12。图13B是展示用于从属装置16的基本传递的信号时序的时序图386。

图14是展示现有技术的SoC中的AHB从属装置的标准芯片布局390的框图。在开发板391上,第一芯片392包含AHB矩阵12和ARM处理器393,其可与矩阵通信。第二芯片394包含若干AHB-Lite从属装置396。如图所示,现有技术布置在每条AHB总线46中需要109条通信线路(排除HRESETN和HCLK信号),AHB总线46在芯片392与芯片394之间连接单个AHB从属装置。如果以此方式连接多个从属装置(如图所示且情况通常如此),则所需要的通信线路的总数大幅增加,这又增加SoC的复杂性和费用。

图15是本发明的SoC中的芯片间AHB从属装置的芯片布局系统400的框图。举例来说,可在板402或其它合适衬底或平台上提供芯片布局系统400。

板402包含第一芯片102和与第一芯片102通信的第二芯片103。第一芯片102包含处理器104和矩阵106。处理器104可为关于图3所述的任何合适控制器。处理器104连接到矩阵106,所述矩阵106如上所述连接系统的从属装置和主装置。允许AHB-Lite从属装置与系统中的一个或一个以上主装置通信。矩阵106可产生针对从属装置的选择信号,且选择将来自从属装置的哪些信号发送到主装置,且还选择待发送到从属装置的信息。

根据本发明,经由矩阵106提供的待连接到在不同芯片上提供的从属装置的每一总线连接到从属串行器(SS)128。如上所述,适当时,从属串行器将从芯片发送出的信息串行化,或将正从不同芯片接收到的信息并行化。

还在板402上提供芯片103,且包含用于与芯片102的总线架构和矩阵106一起使用的N个AHB从属装置146。适当时,从属装置146可如上在图3中所示为额外从属装置,或系统的所需从属装置。每一从属装置146具有待连接到其它芯片102的总线147。在本发明的系统中,每一总线147连接到一从属串行器140,其类似于在芯片102上提供的从属串行器128。每一从属串行器140通过通信总线134耦合到相关联的从属串行器128。在所示的实例中,由于串行化,每条总线只需要12条线路,这与其它系统和方法相比在所需的总线线路方面显著减少。在所述实施例中,有些通信通道是双向的,且因此允许将芯片102与103之间的线路数目最小化。

本发明的方法是基于以下操作:俘获既定发送到AHB从属装置的信号,且插入等待状态以便遵守AHB协议,直到另一端的从属装置146接收到所述信号为止。接着以适当的响应从从属装置发送回回复。串行器使用完全同步的高速移位寄存器以使从属装置146与矩阵106之间的信息串行化。为了在AHB从属装置与矩阵之间实现串行化且维持同步,使用状态机来负责俘获和再现所有从属装置通信以及适当的控制、时序和等待状态。下文关于图16更详细地描述这些操作。

图16是说明AHB从属装置146与矩阵106之间的接口中的本发明的从属串行器128及140的实例实施例410的框图。在所示的实例中,串行器128包含左有限状态机(FSM)412、两个32位移位寄存器414和416以及一16位移位寄存器418。FSM 412控制串行器的操作,且将等待循环引入到矩阵106。这在下文中关于图17更详细地描述。在其它实施例中,除有限状态机以外还可使用其它控制器。所述两个32位移位寄存器414和416用于将用于地址总线和数据总线的信息串行化和并行化。所述16位移位寄存器418用于将协议中使用的控制信号串行化和并行化。适当时可在其它实施例中使用其它位宽的移位寄存器。

类似地,串行器140包含右有限状态机(FSM)422、两个32位移位寄存器424和426以及一16位移位寄存器428。FSM 422控制串行器140的操作,如下文关于图18更详细地描述。所述两个32位移位寄存器424和426用于将用于地址总线和数据总线的信息并行化和串行化,且所述16位移位寄存器428用于将协议中使用的控制信号并行化和串行化。串行器的同步移位寄存器包含触发器阵列和若干多路复用器以确定其间的信息流,以及总线上的缓冲器。移位寄存器414、416、418、424、426和428的同步移位寄存器的一个实施例分别包含类似于如上文参看图8和图10所述的移位寄存器244、246、248、252、254和256的操作的组件和操作。在寄存器414和424的输出和输入上未提供缓冲器,因为在所述实施例中这些寄存器是单向的。

移位寄存器414通过地址总线432连接到移位寄存器424,地址总线432在所示实例中是4位宽,且可为单向的,以允许矩阵106对从属装置146进行寻址(从属装置146无需发送地址)。移位寄存器416通过双向数据总线434连接到移位寄存器426,双向数据总线434在所示实例中是4位宽,且移位寄存器418通过双向控制总线436连接到移位寄存器428,双向控制总线436在所示实例中是2位宽。左FSM 412使用start_left_transfer信号438来选择从矩阵到从属装置的信息传递,且右FSM 422使用start_right_transfer信号440来选择从从属装置到矩阵的信息传递。可经由专用线路在串行器之间发送这些信号。向串行器128和140两者提供串行时钟信号124,以便协调其串行通信的功能。左FSM 412还可选择性地将HREADY信号439设置回到矩阵106以引入等待状态。关于图17和图18更详细地描述这些信号的使用。

分别向串行器128和140提供HCLK信号442和444,且所述信号是用于在其上提供串行器的芯片102和103的芯片时钟。由于由FSM 412和422提供对移位寄存器的控制,所以需要经再同步的时钟HCLK执行所有操作。串行时钟124在频率方面必须大于所述HCLK信号中的每一者,以便保持HCLK与串行时钟域两者之间的良好同步。

图17是说明在矩阵106的芯片102上提供的从属串行器128的左FSM 412的实例方法450或操作状态的流程图。左FSM 412控制来自AHB总线的所有传入信息且使其同步,且插入自动等待状态,以使得AHB协议在串行化过程正在进行时不会受到损坏。左FSM 412控制所有时序,且将从HCLK_left传入的信息再同步到串行时钟124的域。这允许两侧(左和右)具有同步的高速串行传递。

在步骤452处,左FSM 412闲置,等待来自矩阵106的传递。在此状态下将HREADY信号439设置成高。如果由外部源(例如,芯片上的控制器或芯片外部的源)断言复位信号HRESETN,则这迫使FSM 412进入闲置状态452。一旦将HSEL信号断言为1(此选择从属装置146以用于主装置的传递),那么所述过程继续到步骤454,其中FSM 412从矩阵俘获地址和控制信息。此外,将发送到矩阵106的HREADY信号439(由FSM起始)设置成低,以在矩阵中引入自动等待循环。如果将HWRITE信号设置成高,那么其是写入操作,且所述过程继续到步骤456以从矩阵俘获数据信号。如果HWRITE为低,则其是读取操作,且不从矩阵俘获数据信号,且所述过程从步骤454前进到步骤458。

在步骤458处,FSM 412基于串行时钟信号124将移出再同步,加载适当的移位寄存器414、416和418且在适当的串行总线432、434和436上将经串行化的形式的信息移出到其它串行器140。左FSM 412还将start_left_transfer信号438设置成高,这允许右FSM 422开始俘获同步传入串行信息。左FSM 412还将HREADY信号保持成低,这致使在矩阵106中插入自动等待循环。

当移出完成时,所述过程在步骤460处继续,其中将start_left_transfer信号438设置成零。在步骤462处,FSM 412等待来自从属装置和右侧的响应,这将通过右侧将start_right_transfer设置成1来指示,从而指示右侧想向左FSM 412发送回从属装置响应。一旦发生此情况,所述过程便继续到步骤464,其中FSM 412将从串行总线接收到的串行信息移入成并行形式,且继续移位直到接收到所有信息为止。FSM 412将来自高速移位寄存器的传入信息再同步到HCLK_left时钟域。FSM 412还分析来自从属装置146的HRESP信号以确定操作是否成功或是否发生错误。如果HRESP信号指示信息的成功发送,那么在步骤466中将HREADY信号439设置成高,从而通知矩阵106操作完成且退出等待循环。所述过程接着返回到步骤302以等待来自矩阵的另一有效传递。

如果在步骤464中HRESP信号指示接收到的信息中的错误,则此在步骤468中指示(例如,可起始标准错误程序),且在步骤470中FSM 412向主装置144释放HREADY信号(类似于步骤316中),以致使主装置退出等待循环。所述过程接着继续返回到步骤452以等待来自矩阵的另一有效传递。

因此,当串行化正在进行(例如,步骤454到464)时,从左FSM 412到矩阵106的HREADY信号439被设置成低,这将等待状态引入到矩阵106。在响应之后,将此HREADY信号释放以变成高,从而提供从从属装置回到矩阵的答复。(如果所寻址的从属装置需要更多时间对主装置作出响应,则HREADY信号439(或单独的HREADY信号,如果以此方式实施的话)可在请求操作期间被所寻址的从属装置再次设置成低或保持低。)

图18是说明在从属装置146的芯片103上提供的从属串行器140的右FSM 422的实例操作方法480的流程图。右FSM 422是系统的补充,且控制所有时序和与从属装置146对讲的信号。操作类似于如上文参看图11描述的右侧FSM 126的操作。

如步骤482处所示,FSM 442一直等待到start_left_transfer信号440为一。HRESETN信号还迫使FSM 442进入等待状态步骤482。当左FSM 412将start_left_transfer信号设置成1时,右FSM 422进入步骤484,其中FSM 422使用移位寄存器移入来自串行总线的经串行化的信息,直到完成且信息呈并行形式为止。在下一步骤486中,将接收到的地址和控制信号释放到从属装置。如果来自矩阵146的HWRITE信号为高,那么其是具有数据的写入操作,且FSM 422在步骤488中向从属装置146释放数据信号,且所述过程继续到步骤490。如果来自从属装置的HWRITE信号为零,那么其是没有数据信号的读取操作,且过程直接从步骤486继续到步骤490。

在步骤490中,当来自从属装置的HREADY信号为零时,FSM 422在保持状态中等待。当所述HREADY信号变为高时,从属装置准备好发送其响应,且过程在步骤492中俘获从属装置的响应。在下一步骤494中,FSM 422将start_right_transfer信号438设置成1,以指示来自从属装置的响应即将到来,且将响应移出回到其它串行器128,使得矩阵将接收所述响应(且其可接着被发送到发起的主装置)。过程接着返回到步骤482以将start_right_transfer设置成低,且等待另一传递。(类似于上文的图11的图,也将来自从属装置的高HREADY信号在控制位中经由串行通信总线发送到串行器128,且串行器128将所述高HREADY信号发送到矩阵,且请求主装置指示从属装置准备好发送其响应。)

图19是展示包含本发明的串行化的矩阵106与AHB-Lite从属装置146之间的传递的时序的时序图496。在图中,时间t1是标准的两个循环的传递的时间。时间t2是俘获经串行化的信息且将其发送到从属装置的时间。时间t3是恢复串行信息且用适当的传递将其提供到从属装置的时间。时间t4是接收从属装置响应且在串行模式下将其发回到其它芯片的时间。时间t5是在其它串行器处再现来自从属装置的响应且将其呈现给矩阵的时间。时间t6是可在其间自动插入等待循环的时间。

自动插入的等待循环的数目取决于串行时钟124与HCLK信号442和444的比率。当所述比率增加时,等待循环的数目减少。

图20A是说明标准APB从属装置20及其接口的框图。APB从属装置20响应于由连接到AHB矩阵12的AHB/APB桥接器18起始且通常从主装置发起的传递。从属装置20所需的接口包含控制信号500,其从AHB/APB桥接器18通过APB总线提供,且由桥接器18根据APB协议时序产生,但从属装置20将PSEL信号502用作选择信号以确定其应何时对总线传递作出响应。APB从属装置20将输出信号504(HRDATA)提供回到APB总线,其中其被提供到AHB/APB桥接器18。图20B和图20C是展示APB从属装置20的基本传递的时序的时序图506和508,其中时序图506展示写入传递的时序,且时序图508展示读取传递的时序。

图21是展示现有技术的SoC中的APB从属装置的标准芯片布局510的框图。第一芯片512包含AHB矩阵12、可与矩阵通信的ARM处理器393以及用于允许AHB与APB协议外围设备之间的介接的AHB/APB桥接器18。第二芯片514包含若干APB从属装置516。如图所示,现有技术布置在每条总线48中需要99条通信线路(排除PRESETN和PCLK信号),总线48在芯片512与芯片514之间连接单个APB从属装置。如果以此方式连接多个APB从属装置(如图所示且情况通常如此),则所需要的通信线路的总数大幅增加,这又增加SoC的复杂性和费用。

图22是本发明的SoC中的芯片间从属装置的实例芯片布局系统520的框图,其中从属装置使用不同于总线系统的矩阵的协议。举例来说,可在板522或其它合适衬底或平台上提供芯片布局系统520。

板522包含第一芯片102和与第一芯片102通信的第二芯片103。第一芯片102包含处理器104、AHB矩阵106以及增强型AHB/APB桥接器116。如上文关于图3所述,处理器104可为任何合适的控制器。处理器104连接到矩阵106,所述矩阵106如上所述连接系统的从属装置和主装置。允许APB从属装置与系统中的一个或一个以上主装置通信。矩阵106可产生对从属装置的选择信号,且选择将来自从属装置的哪些输入发送到主装置,且还选择待发送到从属装置的信息。

AHB/APB桥接器116将APB外围设备(例如本实施例的APB从属装置)与AHB矩阵106介接。AMBA-APB协议不指定APB总线中的等待循环,但如果串行时钟并非快得足以在单个PCLK循环中完成传递,则在本发明中为了适当的串行化还是需要等待循环。因此,桥接器116经过增强以允许串行器中止总线传输,因此允许AHB-APB桥接器116在APB总线传递中插入等待循环。其它实施例可使用不同类型的桥接器以将使用一种协议的外围设备与使用不同协议的矩阵介接。

根据本发明,经由待连接到在不同芯片上提供的从属装置的桥接器116提供的每一总线连接到APB从属串行器130。适当时,APB从属串行器130将从芯片发送出的信息串行化,或将正从不同芯片接收到的信息并行化。

还在板520上提供芯片103,且包含用于与芯片102的APB总线架构一起使用的N个APB从属装置148。适当时,从属装置148可如上在图3中所示为额外从属装置,或系统的所需从属装置。每一APB从属装置148具有待连接到其它芯片102的总线149。在本发明的系统中,每一总线149连接到一APB从属串行器142,其类似于在芯片102上提供的从属串行器130。每一APB从属串行器142通过总线136耦合到相关联的APB从属串行器130。在所示的实例中,由于串行化,每条总线只需要11条线路,这与其它系统和方法相比在所需的总线线路方面显著减少。在所述实施例中,有些通信通道是双向的,且因此允许将芯片102与103之间的线路数目最小化。

本发明的方法是基于以下操作:从AHB/APB桥接器俘获APB从属装置信号,且插入自动等待状态以便遵守APB协议,且允许串行化程序完成对特定从属装置的传递。串行器方法使用简单的完全同步的高速移位寄存器以将APB从属装置148与桥接器116之间的信息串行化而允许板上需要的信号数目的量值减小。为了实现串行化,使用状态机来提供控制和APB协议。下文关于图23更详细地描述这些操作。

图23是说明APB从属装置148与增强型AHB/APB桥接器116之间的接口中的本发明的从属串行器130及142的实例实施例530的框图。在所示的实例中,串行器130包含左有限状态机(FSM)532、两个32位移位寄存器534和536以及一8位移位寄存器538。左FSM 532控制串行器的操作,且将等待状态引入到桥接器116。这在下文中关于图24更详细地描述。在其它实施例中,除有限状态机以外还可使用其它控制器。所述两个32位移位寄存器534和536用于将用于地址总线和数据总线的信息串行化和并行化。所述8位移位寄存器538用于将协议中使用的控制信号串行化和并行化。适当时可在其它实施例中使用其它位宽的移位寄存器。

类似地,串行器142包含右有限状态机(FSM)540、两个32位移位寄存器542和544以及一8位移位寄存器546。FSM 540控制串行器142的操作,如下文关于图27更详细地描述。所述两个32位移位寄存器542和544用于将用于地址总线和数据总线的信息并行化和串行化,且所述8位移位寄存器546用于将协议中使用的控制信号并行化和串行化。串行器的同步移位寄存器包含触发器阵列和若干多路复用器以确定其间的信息流,以及总线上的缓冲器。移位寄存器534、536、542和544的同步移位寄存器的一个实施例分别包含类似于如上文参看图10所述的移位寄存器244、246、252、254的操作的组件和操作。8位寄存器538和546以类似方式操作,但其只使用一个s位线路。在寄存器534和542的输出和输入上未提供缓冲器,因为在所述实施例中这些寄存器是单向的。

移位寄存器534通过地址总线550连接到移位寄存器542,地址总线550在所示实例中是4位宽,且可为单向的,以允许桥接器116对APB从属装置148进行寻址(APB从属装置148无需发送地址)。移位寄存器536通过双向数据总线552连接到移位寄存器544,双向数据总线552在所示实例中是4位宽,且移位寄存器538通过双向控制总线554连接到移位寄存器546,双向控制总线554在所示实例中是一位宽。此外,左FSM532使用start_left_transfer信号556来选择从桥接器到APB从属装置的信息传递,且右FSM 540使用start_right_transfer信号558来选择从APB从属装置到桥接器116的信息传递。可经由专用线路在串行器之间发送这些信号。使用从串行器130到桥接器116的等待信号563将等待循环引入到桥接器116。向串行器130和142两者提供串行时钟信号124以协调其串行通信的功能。关于图24、图26和图27更详细地描述这些信号的使用。

分别向串行器130和142提供PCLK信号560和562,且所述信号是用于在其上提供有串行器的芯片102和103的APB总线时钟。本文中,假设PCLK_left及PCLK_right信号为相同频率,但在其它实施例中可为不同频率。由于由FSM 532和540提供对移位寄存器的控制,所以需要经再同步的时钟PCLK执行所有操作。串行时钟124在频率上必须大于所述PCLK信号中的每一者,以便保持PCLK与串行时钟域两者之间的良好同步。

图24是说明在桥接器116的芯片102上提供的从属串行器130的左FSM 532的实例方法570或操作状态的流程图。FSM 532控制来自增强型AHB/APB桥接器116的所有传入信息且使其同步,且向桥接器发送回等待信号以插入等待循环且允许执行串行化程序。左FSM 532控制所有时序且将从PCLK_left传入的信息再同步到串行时钟124的域。这允许两侧(左和右)具有同步高速串行传递。

在步骤572处,左FSM 532闲置,等待来自桥接器116的传递。在此状态下将等待信号563设置成零。如果由外部源(例如,芯片上的控制器或芯片外部的源)断言PRESETN信号,则这迫使FSM 532进入闲置状态572。一旦将PSEL信号断言为1(这选择APB从属装置以用于来自桥接器的传递),那么所述过程继续到步骤574,其中FSM532从桥接器116俘获地址和控制信息。此外,将等待信号设置成1以引入自动等待循环。如果将PWRITE信号设置成高,那么其是写入操作,且所述过程继续到步骤576以从桥接器116俘获数据信号,且前进到步骤578。如果PWRITE为低,则其是读取操作,且不从桥接器俘获数据信号,且所述过程从步骤574前进到步骤578。

在步骤578处,FSM 532基于串行时钟信号124将移出再同步,加载适当的移位寄存器534、536和538且在适当的串行总线550、552和554上将呈经串行化的形式的信息移出到其它串行器142。左FSM 532还将start_left_transfer信号556设置成高,这允许右FSM 540开始俘获同步传入串行信息。将等待信号563维持为高,从而允许增强型桥接器116插入自动AHB等待循环。

当移出完成时,所述过程在步骤580处,其中将start_left_transfer信号556设置成零。如果检测到PWRITE信号为零,则其是写入操作,且预期没有来自从属装置的数据,且过程返回到步骤572,使得FSM 532进入闲置状态,且将等待信号563设置成零。如果PWRITE信号不为零,则其是读取操作,且在步骤582处,FSM 532等待来自右侧的响应,这将由右侧将start_right_transfer设置成1来指示。一旦发生此情况,所述过程便继续到步骤584,其中左FSM 532将从串行总线接收到的信息再同步并移入成并行形式,且继续移位直到接收到所有信息为止。FSM 532将来自高速移位寄存器的传入信息再同步到PCLK_left时钟域。在步骤586中,将接收到的信息传递到增强型桥接器116,且将等待信号设置成零。所述过程接着返回到步骤572以等待来自桥接器116的另一操作。

因此,当串行化正在进行(例如,步骤574到586)时,将来自增强型桥接器116的等待信号保持为低,这引入APB等待状态。在左FSM 532释放等待信号之后,桥接器116将来自APB从属装置的回复发送回到桥接器116。

图25是说明现有技术的AHB/APB桥接器18中包含的标准有限状态机590的流程图。在步骤592中,桥接器FSM处于闲置状态,其中PSEL和PENABLE信号为零。当发生传递时,设置状态594将PSEL信号设置成高以选择所寻址的从属装置来作出响应。在下一启用状态596中,将PENABLE设置成高以启用从属装置以进行通信,接着可发生通信。如果存在另一传递,则FSM返回到状态594,且如果不存在传递,则FSM返回到状态592。AHB/APB桥接器的标准规范包含支持桥接器的AHB侧的等待循环,但不包含支持APB侧的等待循环。

图26是说明本发明的增强型AHB/APB桥接器116的方法600或操作状态的流程图。对桥接器116的增强允许如上所述支持APB串行化。所述增强包含AHB/APB有效性外围设备总线机中的额外状态。

在步骤602中,桥接器116的有效性外围设备总线机处于闲置状态,且PSEL和PENABLE信号被设置成低。当桥接器未接收到传递时,闲置状态持续。当接收到传递时,执行设置步骤604以将PSEL信号设置成1以选择所寻址的从属装置。在启用步骤606中,将PENABLE信号设置成高以启用从属装置以进行通信,接着开始通信。本发明的等待步骤608致使桥接器116的机器按照来自串行器中的左FSM 532的等待信号563的指令而等待,在此期间串行化且发送对从属装置的通信,且串行化并返回任何响应。在左FSM将等待信号563断言为高之后,当串行通信完成时,如果接收到另一传递则机器返回到步骤604,或如果没有发生额外传递,则返回到步骤602。

图27是说明在APB从属装置148的芯片103上提供的APB从属装置串行器142的右FSM 540的实例方法620或操作状态的流程图。右FSM 540是系统的补充,且控制所有时序和与APB从属装置148对讲的信号。

如步骤622处所示,FSM 540一直等待到start_left_transfer信号556为一为止。(PRESETN信号迫使FSM 540进入闲置状态步骤622。)当左FSM 532将start_left_transfer信号设置成1时,右FSM 540进入步骤624,其中FSM 540移入串行信息直到完整为止,以提供呈并行形式的信息。在下一步骤626中,将并行地址和控制信息释放到APB从属装置。如果来自桥接器116的PWRITE信号为高(指示写入操作),那么FSM 540在步骤628中还将接收到的数据信息释放到APB从属装置148,且过程返回到步骤622以将start_right_transfer信号558设置成低,且进入闲置状态(因为预期没有对写入操作的APB从属装置响应)。如果来自从属装置的PWRITE信号为零,那么其是没有数据信息的读取操作,且过程从步骤626继续到步骤630。

在步骤630中,过程在必要时等待且俘获APB从属装置的响应。在下一步骤632中,FSM 540将start_right_transfer信号设置成1,且将从属装置的响应经由通信总线移出回到其它串行器130,使得桥接器116将接收所述响应。所述过程接着返回到步骤622以将start_right_transfer信号设置成低且等待下一传递。

图28A是展示包含本发明的串行化的增强型桥接器116与APB从属外围设备148之间的读取传递的时序的时序图640。在图中,时间t1是标准读取传递的时间。时间t2是俘获串行信息且将其发送到APB从属装置的时间。时间t3是恢复串行信息且在APB从属装置中再现所述操作的时间。时间t4是恢复响应信息并将其传递回到增强型桥接器116的时间。时间t6是可在其间自动插入等待循环的时间。

自动插入的等待循环的数目取决于串行时钟124与PCLK信号560和562的比率。当所述比率增加时,等待循环的数目减小。

图28B是展示包含本发明的串行化的增强型桥接器116与APB从属外围设备148之间的写入传递的时序的时序图642。在图中,时间t1是用于标准写入传递的时间。时间t2是俘获经串行化的信息且将其发送到APB从属装置的时间。时间t3是在其它芯片处恢复串行信息且在APB从属装置中再现所述操作的时间。

图29是说明本发明的多芯片总线架构系统的不同实施例650的框图。系统650包含四个不同芯片:芯片652、654、656和658。系统的额外主装置和从属装置中的若干装置在多个芯片上散布开来。

归因于串行器的性质,可将系统划分成若干时钟域。AHB时钟HCLK可在每一芯片上制造成独立的,且与系统的其它芯片上的其它HCLK信号无任何关系。因此,并非所有HCLK信号都需要彼此平衡或具有相同频率。串行时钟中的主要要求是:这应在通信总线的末端处的两个串行器之间平衡。

在图29的所述实施例中,HCLK信号彼此独立,且串行时钟660、662和664也彼此独立。举例来说,串行时钟660可不同于串行时钟662和串行时钟664。然而,每一串行时钟在其自身的串行器之间平衡;否则,串行通信将不会正确操作,且信息可丢失。

虽然已根据所示的实施例描述了本发明,但所属领域的技术人员将容易认识到可存在对所述实施例的变动,且所述变动将在本发明的精神和范围内。因此,所属领域的技术人员在不偏离所附权利要求书的精神和范围的情况下可进行许多修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号