一种异步ahb互连矩阵接口装置的制作方法

文档序号:6558515阅读:408来源:国知局
专利名称:一种异步ahb互连矩阵接口装置的制作方法
技术领域
本发明涉及一种AMBA协议的AHB总线装置,尤其涉及的是一种异步AHB互连矩阵接口装置,用于多个处理器并行运行。
背景技术
AHB总线是很多嵌入式处理器(尤其是ARM)在系统级进行数据传送的高速总线,AHB互连矩阵,是由ARM公司提出的一种系统总线互连结构,如图1所示,而现有此装置的公司有synopsys公司,LSILOGIC公司的AHB互连矩阵。其优点是总线互传效率高,但应用在多处理器不同时钟域总线系统时,有两个缺点,一是各处理器子系统必须处于相同时钟域,二是由于存在时序(timing)差,会影响嵌入式处理器的系统总线速度。
如图2、图3所示,为现有技术模块的运行波形图,在其波形图中,AHB主器件的htrans信号的变化立即反映在AHB从器件的htrans信号上,这说明两者的htrans是存在直接的组合逻辑连接关系,须运行在同一时钟域,而AHB总线协议要求其它相应的控制信号也要与htrans同步变化,则这些AHB主器件上的其它信号,也必须与AHB从器件上对应信号存在直接的组合逻辑连接关系。
上述互连矩阵存在以下两个缺点第一,每个AHB主器件和每个AHB从器件必须处于同一时钟域,否则,AHB信号的传送会发生紊乱;第二,每个AHB主器件的控制信号要穿过输入阶段(input stage),但是这些信号本身还要与输入阶段的输出结果一起通过MUX选择,这些控制信号最终会传导到AHB从器件的控制端,这会导致这些信号的负载加重。包括每个AHB主器件的htrans[1:0],用于标识AHB主器件的传输类型,最终须传导到AHB从器件的htrans[1:0]端;每个AHB主器件的hburst[2:0],用于标识AHB主器件的传输节拍类型,最终须传导到AHB从器件的hburst[2:0]端;每个AHB主器件的hsize[2:0],用于标识AHB主器件的传输数据宽度,最终须传导到AHB从器件的hsize[2:0]端;每个AHB主器件的hprot[3:0],用于标识AHB主器件的传输保护级别,最终须传导到AHB从器件的hprot[3:0]端;每个AHB主器件的hsel,用于标识AHB主器件的片选信号,最终须传导到AHB从器件的hsel端;每个AHB主器件的haddr[31:0],用于标识AHB主器件的地址信号,最终须传导到AHB从器件的haddr[31:0]端;每个AHB主器件的hwdata[31:0],用于标识AHB主器件的地址信号,最终须传导到AHB从器件的hwdata[31:0]端;每条AHB主器件总线的hready,用于标识AHB主器件总线的准备信号,最终须传导到AHB主器件和AHB从器件的hready端;每个AHB从器件的hrdata[31:0],用于标识AHB从器件的读数据,最终须传导到AHB主器件的hrdata[31:0]端;每个AHB从器件的hresp[1:0],用于标识AHB从器件的读反馈信号,最终须传导到AHB主器件的hresp[1:0]端;每个AHB从器件的hready_resp,用于标识AHB从器件的准备信号,最终须传导到总线的hready端。
通过以上描述可以看出,大量控制信号必须传输导致AHB互连矩阵技术在高速多处理器多时钟域总线系统中无法得到应用。因此,现有技术还有待于改进和发展。

发明内容
本发明的目的在于提供一种异步AHB总线互连矩阵接口装置,以多个不同时钟域的AHB主器件(处理器)通过一个流线式的矩阵(matrix)到达另一时钟域的AHB从器件,实现多处理器不同时钟域总线间的高速高效,并行运作。
本发明的技术方案包括一种异步AHB互连矩阵接口装置,其中,其包括多个AHB主器件控制模块,一AHB请求仲裁模块,至少一AHB从器件控制模块;每一AHB主器件控制模块包含主器件控制器、第一异步锁存单元以及第二异步锁存单元;所述AHB从器件控制模块包含从器件控制器、寄存器组;所述AHB主器件控制模块用于在其时钟域内,以异步时钟锁存方式接收AHB主器件发过来的命令,将其信号转换为AHB从器件时钟域信号,并向AHB请求仲裁模块发出申请,以流水线方式进行操作,并在对接之后与AHB从器件控制模块进行参数与数据的异步时钟数据交换;所述AHB请求仲裁模块,用于工作于AHB从器件时钟域,记录每个AHB主器件控制模块发出的申请,并按配置要求进行仲裁,把仲裁结果传给AHB从器件控制模块;所述AHB从器件控制模块,用于从AHB请求仲裁模块获得仲裁信息,并与相应的AHB主器件控制模块对接。
所述的装置,其中,所述AHB主器件控制模块与所述AHB从器件控制模块的异步时钟数据交换包括控制信号和写数据信号。
所述的装置,其中,所述AHB主器件控制模块针对写操作,采用两级流水线控制。
所述的装置,其中,所述AHB主器件控制模块针对写操作,采用三级的流水线控制。
所述的装置,其中,所述AHB请求仲裁模块是一流水线构,一级为仲裁计算,另一级为仲裁输出。
所述的装置,其中,所述AHB请求仲裁模块运作模式为无时间一致性的配置模式,即用户配置每个AHB主器件控制模块的优先权,AHB请求仲裁模块按照配置进行仲裁。
所述的装置,其中,所述AHB请求仲裁模块运作模式为时间一致性的配置模式,即AHB请求仲裁模块0记下每个请求的时间发生顺序,按照时间顺序进行仲裁。
所述的装置,其中,所述AHB从器件控制模块在接到爆发式读操作时,采用虚拟操作。
所述的装置,其中,所述AHB从器件控制针对读操作加入动态cache功能,用于在读操作即将完成时所述AHB从器件控制模块检测当时是否空忙状态,如果繁忙状态,则执行申请,否则把此读操作结束之后,把相邻的地址的数据读回。
本发明所提供的一种异步AHB互连矩阵接口装置,使各AHB主器件和AHB从器件可以处于不同时钟域,AHB协议信号传输正确完整,并采用全寄存器锁存,隔离开AHB主器件与AHB从器件之间的组合逻辑关系,采用流水线,虚操作方式,来实现互连矩阵,使得两边的时序断开,并增加相应逻辑,提高了系统总线的速度及运作效率。


图1是现有技术的ARM公司提出的AHB互连矩阵示意图;图2是现有技术的synopsys公司的互连矩阵波型示意图;图3是现有技术的LSI logic公司的互连矩阵波型示意图;图4是本发明的AHB异步互连矩阵结构示意图;图5是本发明针对写操作,设计了简版(两级流水线)波型示意图;图6是本发明针对写操作,设计了增强版(三级流水线)波型示意图;图7是本发明虚拟读操作波型示意图;图8是本发明因虚拟读操作带来总线效率波型示意图;图9是本发明AHB从器件控制部分增强版(流水式)波型示意图;图10是本发明AHB从器件控制部分增强版(流水式)及动态cache功能波型示意图;图11是本发明AHB从器件控制部分简版及动态cache功能波型示意图。
具体实施例方式
以下结合附图将对本发明的各较佳实施例进行更为详细的说明。
本发明异步AHB互连矩阵接口装置,设计采用了异步时钟锁存方式,隔断AHB主器件与AHB从器件之间的组合逻辑,使得各AHB主器件与AHB从器件处于不同时钟域,使得系统总线的速度得以提升;同时采用流水线方式以及虚拟操作方式,以提高效率,比synopsys、LSI的设计方式多一些控制逻辑,以达到速度及效率的提升。
本发明所述异步AHB互连矩阵接口装置,包括AHB主器件控制模块A到AHB主器件控制模块N,AHB请求仲裁模块,AHB从器件控制模块。
所述的AHB主器件控制模块A包含主器件控制器A、异步锁存单元A1、异步锁存单元A2。
所述的AHB主器件控制模块B包含主器件控制器B、异步锁存单元B1、异步锁存单元B2。
同理,所述的AHB主器件控制模块N包含主器件控制器N、异步锁存单元N1、异步锁存单元N2。
所述AHB从器件控制模块包含从器件控制器、寄存器组。
所述AHB主器件控制模块A,工作于AHB主器件A时钟域,用于异步时钟锁存方式接收AHB主器件A发过来的命令,将AHB主器件A的信号转换为AHB从器件时钟域信号,并向AHB请求仲裁模块发出申请,以流水线方式进行操作,并在对接之后与AHB从器件控制模块进行参数与数据的异步时钟数据交换。
AHB主器件控制模块B到AHB主器件控制模块N的工作原理同AHB主器件控制模块A。
所述AHB请求仲裁模块,工作于AHB从器件时钟域,记录每个AHB主器件控制模块发出的申请,并按配置要求进行仲裁,把仲裁结果传给AHB从器件控制模块。
所述AHB从器件控制模块,从AHB请求仲裁模块获得仲裁信息,然后与相应的AHB主器件控制模块对接。
AHB主器件A的控制信号和写数据信号进入AHB主器件控制模块A的主器件控制器A,经过处理后进入异步锁存单元A1,然后进入请求仲裁模块。
同理,AHB主器件控制模块B到AHB主器件控制模块N与请求仲裁模块的连接方式同上。
请求仲裁模块将各个AHB主器件控制模块的信号经过处理后进入AHB从器件控制模块的从器件控制器,然后经过寄存器组输出到AHB从器件。
AHB从器件返回的信号经过AHB从器件控制模块的寄存器组后进入AHB主器件控制模块A的异步锁存单元A2,经过锁存处理后进入主器件控制器A,经过处理后与AHB主器件A连接。
同理,AHB从器件控制模块寄存器组输出的信号也输入到AHB主器件控制模块B到AHB主器件控制模块N,内部连接方式与AHB主器件控制模块A一致。
本发明的各AHB主器件控制模块工作在AHB主器件所在时钟域和AHB从器件所在时钟域。
对于每个AHB主器件信号,用AHB从器件所在时钟域时钟异步锁存htrans,hsel,haddr,hsize,hburst,hwata(实际上是通过寄存器建立的FIFO),hwrite,hmastlock,hprot,hready,hamster。而输出的信号hresp,hready_resp,hrdata(实际上是通过寄存器建立的FIFO),hsplit是通过AHB主器件所在时钟域时钟异步锁存,这样设计,是为了以异步时钟传输方式连接外部模块与内部模块之间的信号。
AHB主器件控制模块实时监视并控制AHB主器件的数据申请,发现数据申请,并向AHB请求仲裁模块产生操作申请。
与AHB从器件对接之后,传送相关的参数到AHB从器件控制部分,并在写操作时把写数据存在FIFO中,或者在读操作时,把数据从FIFO内取出。
与现有技术的AHB互连矩阵不一样,AHB主器件控制与AHB从器件控制之间没有直接的时序关系,AHB主器件控制部分的操作,是根据其看到的FIFO的状态而定。
AHB主器件控制针对写操作,设计了简版两级的流水线控制,可以保存两级的写操作,当两级流水都满了的时候,AHB主器件控制部分会控制下拉hready_resp(这也会反映在hready上),如图5所示(图中假定AHB从器件是一个响应慢的外设,并且假定在其中一个AHB主器件看到的AHB信号带前缀m0_,在AHB从器件看到的信号无前缀)。这样设计,当AHB主器件控制模块还没有与AHB从器件控制模块对接的时候,所有AHB主器件都可以事实上已经开始了写数据的操作,甚至可以完成整个数据操作。
AHB主器件控制针对写操作,设计了增强版三级的流水线控制,保存三级的写操作,当三级流水线都满了的时候,AHB主器件控制部分会控制下拉hready_resp,如图6所示(图中假定AHB从器件是一个响应慢的外设,并且假定在其中一个AHB主器件看到的AHB信号带前缀m0_,在AHB从器件看到的信号无前缀)。这样设计,当AHB主器件控制模块还没有与AHB从器件控制模块还没有对接的时候,所有AHB主器件都可以事实上已经开始了写数据的操作,甚至可以完成整个数据操作。二级流水与三级流水的区别在于对于每个AHB主器件来说,三级流水能允许完成更多的连续写操作。这样可以使得在AHB主器件的写运作效率更高。
本发明所述AHB请求仲裁模块工作在AHB从器件所在时钟域。按配置的要求,对来自AHB主器件控制的数据申请进行相应的仲裁。
此AHB请求仲裁模块是一个流水线构,一级为仲裁计算,另一级为仲裁输出,这样可以使得AHB从器件控制模块很快就得知下一个的操作申请,不用等待,提高效率。
AHB请求仲裁模块运作在两种模式中,一个模式为无时间一致性的配置模式,用户可以配置每个AHB主器件控制模块的优先权,AHB请求仲裁模块会按照配置进行仲裁。另外一个模式是时间一致性的配置模式,此模式下,AHB请求仲裁模块会记下每个请求的时间发生顺序,按照时间顺序进行仲裁。
对于本发明的AHB从器件控制模块,用寄存器锁存输出htrans,hsel,haddr,hsize,hburst,hwata(实际上是通过寄存器建立的FIFO),hwrite,hmastlock,hprot,hamster。而输入的信号hresp,hrdata(实际上是通过寄存器建立的FIFO),hsplit也是通过寄存器的,这样设计,是为了隔开外部模块与内部模块之间的时序(timing)关系。
与AHB主器件控制不同,输出的hready信号就是从AHB从器件输入的hready_resp,但是AHB从器件hready_resp与AHB主器件的hready没有组合逻辑上的直接相连,这也是这个AHB互连矩阵速度高的主要原因。
根据AHB请求仲裁模块给出的信息,以便到相应的AHB主器件控制获得参数,并进行操作。
与AHB主器件对接之后,从AHB主器件控制得到参数,并在写操作时把从FIFO中读出,或者在读操作时,把数据写入FIFO中。
与现有技术的AHB互连矩阵不一样,AHB从器件控制与AHB主器件控制之间没有直接的时序关系,AHB从器件控制部分的操作,是根据其看到的FIFO的状态而定。
AHB从器件控制实际上是在获得参数之后,以一个AHB主器件的方式对与其相连的器件进行操作。
AHB从器件控制模块对于写操作,一定是晚于AHB主器件两个,或者两个以上的时钟的,这是因为AHB总线的所有命令参数都是先于数据一个时钟的,则在操作过程中就会存在上一次的数据能及当前操作的命令两个不同时间的参数,所以在AHB从器件控制模块必须确认AHB主器件已经写入两个或者两个以上的数据,或者AHB主器件已经结束写操作。AHB从器件控制模块才可以开始发起操作。如图5,图6所示。
AHB从器件控制在接到爆发式读操作时(burst read),实际上是一种虚拟操作,因为事实上,虽然AHB从器件控制获得操作的参数,但是,它并不知道AHB主器件会不会半途放弃操作,这样的操作在AHB协议中是允许的。所以AHB从器件控制在爆发式读操作时,是根据当时的FIFO情况预先进行读操作,一旦发现AHB主器件放弃后续操作,AHB从器件控制就会放弃剩下的操作,而事实上,AHB从器件控制部分有可能已经多读了数据,如图7所示。
AHB从器件控制模块的虚拟预读操作,在一定条件下,可以提高其性能,比如在以下的条件中,有多个AHB主器件先后发起申请,而第一个AHB主器件读接收能力比较差,在现有技术的AHB互连矩阵中,必须等待其完成之后,才能进行下一个AHB主器件的申请操作,而在本发明的设计中,AHB从器件控制模块可以预先完成第一个AHB主器件操作,并且进入下一个AHB主器件的操作中;这样,总线的效率又提高了。如图8所示。
AHB从器件控制针对从器件特点,设计了从器件简版每一次操作都是等数据操作也结束之后,才开始进入新的操作中。这样设计是因为有部分的AHB从器件设计并没有完全按协议要求的那样,支持从一个操作直联下一个操作,如图8所示,从器件处的hrans在发完命令之后,回到IDLE状态,等数据完成之后才进行下一个操作。
AHB从器件控制针对从器件特点,设计了从器件增强版采用流水线的方式,AHB从器件控制不等数据操作是否完成,根据当时的请求仲裁模块给出的信息,以及协议的要求,直接进入下一个操作中,如图9所示。
在此基础上,AHB从器件控制针对读操作,又设计了读增强版非读增强版指的就是上述的从器件简版和从器件增强版,而读增强版是在这两个版本的基础上,有疹对读操作的进行了一些改进设计,即在读操作中,加入了动态cache功能(当然这个功能也可以配置关闭,及允许cache窗口空间),这个动态cache功能,与现有技术的操作方式不一样,在读操作即将完成的时候,AHB从器件控制模块会检测当时有没有新的操作申请(空忙状态),如果有操作申请(即繁忙状态),则执行申请,如果没有申请(即空闲状态),则把此读操作结束之后,把相邻的地址的数据读回,以此方式进行数据cache功能;当然,只有cache击中,并且再次满足上述的条件,cache功能才会再次发生。如图10,图11所示。
本发明采用异步时钟锁存方式切断AHB主器件的所有信号与AHB从器件的直接联系,信号包括(htrans,hsel,haddr,hsize,hburst,hwata(实际上是通过寄存器建立的FIFO),hwrite,hmastlock,hprot,hready,hamster,hresp,hready_resp,hrdata(实际上是通过寄存器建立的FIFO),使各AHB主器件与AHB从器件处于不同的时钟域。
同时,AHB主器件控制模块等部分采用流水线方式,就算AHB从器件控制模块没有真实与其中一个AHB主器件控制模块异步对接,但是对于AHB主器件看来,操作已经开始,甚至是已经结束,这样使得总线的效率得以提升;而且在AHB从器件部分采用虚拟预读操作方式,预先把数据准备好,这样也在一定程度上提升了总线的运作效率;还有此装置在针对不同的用户的不同需求,在一些设计细节上,对不同的性能要求做了不同版本的设计。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种异步AHB互连矩阵接口装置,其特征在于,其包括多个AHB主器件控制模块,一AHB请求仲裁模块,至少一AHB从器件控制模块;每一AHB主器件控制模块包含主器件控制器、第一异步锁存单元以及第二异步锁存单元;所述AHB从器件控制模块包含从器件控制器、寄存器组;所述AHB主器件控制模块用于在其时钟域内,以异步时钟锁存方式接收AHB主器件发过来的命令,将其信号转换为AHB从器件时钟域信号,并向AHB请求仲裁模块发出申请,以流水线方式进行操作,并在对接之后与AHB从器件控制模块进行参数与数据的异步时钟数据交换;所述AHB请求仲裁模块,用于工作于AHB从器件时钟域,记录每个AHB主器件控制模块发出的申请,并按配置要求进行仲裁,把仲裁结果传给AHB从器件控制模块;所述AHB从器件控制模块,用于从AHB请求仲裁模块获得仲裁信息,并与相应的AHB主器件控制模块对接。
2.根据权利要求1所述的装置,其特征在于,所述AHB主器件控制模块与所述AHB从器件控制模块的异步时钟数据交换包括控制信号和写数据信号。
3.根据权利要求1所述的装置,其特征在于,所述AHB主器件控制模块针对写操作,采用两级流水线控制。
4.根据权利要求1所述的装置,其特征在于,所述AHB主器件控制模块针对写操作,采用三级的流水线控制。
5.根据权利要求1所述的装置,其特征在于,所述AHB请求仲裁模块是一流水线构,一级为仲裁计算,另一级为仲裁输出。
6.根据权利要求5所述的装置,其特征在于,所述AHB请求仲裁模块运作模式为无时间一致性的配置模式,即用户配置每个AHB主器件控制模块的优先权,AHB请求仲裁模块按照配置进行仲裁。
7.根据权利要求5所述的装置,其特征在于,所述AHB请求仲裁模块运作模式为时间一致性的配置模式,即AHB请求仲裁模块0记下每个请求的时间发生顺序,按照时间顺序进行仲裁。
8.根据权利要求1所述的装置,其特征在于,所述AHB从器件控制模块在接到爆发式读操作时,采用虚拟操作。
9.根据权利要求1所述的装置,其特征在于,所述AHB从器件控制针对读操作加入动态cache功能,用于在读操作即将完成时所述AHB从器件控制模块检测当时是否空忙状态,如果繁忙状态,则执行申请,否则把此读操作结束之后,把相邻的地址的数据读回。
全文摘要
本发明公开了一种异步AHB互连矩阵接口装置,其包括多个AHB主器件控制模块,一AHB请求仲裁模块,至少一AHB从器件控制模块;每一AHB主器件控制模块包含主器件控制器、第一异步锁存单元以及第二异步锁存单元;所述AHB从器件控制模块包含从器件控制器、寄存器组;所述AHB主器件控制模块用于以异步时钟锁存方式接收AHB主器件发过来的命令,将其信号转换为AHB从器件时钟域信号,并在对接之后与AHB从器件控制模块进行参数与数据的异步时钟数据交换。本发明装置使各AHB主器件和AHB从器件可以处于不同时钟域,AHB协议信号传输正确完整,提高了系统总线的速度及运作效率。
文档编号G06F13/38GK101071405SQ20061007881
公开日2007年11月14日 申请日期2006年5月8日 优先权日2006年5月8日
发明者林晓涛, 陈家锦, 汪坚 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1