异步桥电路、总线装置和片上系统的制作方法

未命名 09-09 阅读:130 评论:0


1.本公开涉及电子电路技术领域,具体而言,涉及一种异步桥电路、总线装置和片上系统。


背景技术:

2.出于简化芯片设计、降低运行功耗等方面的考虑,片上系统(system on chip,soc)可以被划分成多个固化域(hardening block),不同的固化域可以被单独设计,且可以分别属于不同的电源域或时钟域,以实现固化域中独立的上下电控制或时钟控制。然而,在不同的固化域之间进行数据通信时,固化域中不同的时钟频率将带来时序方面的问题。


技术实现要素:

3.本公开的目的之一在于提出一种异步桥电路、总线装置和片上系统,以解决具有不同的时钟频率的固化域之间的数据通信问题。
4.根据本公开的第一方面,提供了一种异步桥电路,包括:第一异步子模块,所述第一异步子模块用于设置在第一固化域中,且所述第一异步子模块被配置为基于所述第一固化域中的第一时钟频率运行;以及,第二异步子模块,所述第二异步子模块与所述第一异步子模块以异步通信的方式相连接,所述第二异步子模块用于设置在第二固化域中,且所述第二异步子模块被配置为基于所述第二固化域中的不同于第一时钟频率的第二时钟频率运行。
5.在一些实施例中,所述第一异步子模块和所述第二异步子模块中的一者包括缓存组件,所述缓存组件被配置为基于所述缓存组件所在的固化域中的时钟频率缓存待传数据;以及,所述第一异步子模块和所述第二异步子模块中的另一者包括读取组件,所述读取组件被配置为基于所述读取组件所在的固化域中的时钟频率读取待传数据;其中,所述缓存组件的缓存空间的大小大于每次读取的数据所占的空间的大小。
6.在一些实施例中,所述异步桥电路包括先进先出fifo异步桥,其中,所述fifo异步桥包括写入子模块和读取子模块,所述写入子模块和所述读取子模块中的一者作为所述第一异步子模块,且所述写入子模块和所述读取子模块中的另一者作为所述第二异步子模块。
7.在一些实施例中,所述写入子模块包括写入同步器、写入控制器和fifo存储器,其中:所述写入同步器与所述读取子模块通信地连接,且所述写入同步器被配置为接收来自所述读取子模块的读取指针,并将读取指针与所述写入子模块所在的固化域中的时钟频率同步;所述写入控制器与所述写入同步器通信地连接,且所述写入控制器被配置为根据所同步的读取指针、写入指针和写入请求信号,产生相应的写入控制信号;和,
所述fifo存储器与所述写入控制器通信地连接,且所述fifo存储器被配置为响应于所述写入控制信号指示写入数据,接收并存储待传数据。
8.在一些实施例中,所述写入控制器还被配置为将二进制码形式的写入指针转换为格雷码形式的写入指针。
9.在一些实施例中,所述写入控制器被配置为根据所同步的读取指针、写入指针和写入请求信号,产生相应的写入控制信号包括:所述写入控制器被配置为根据所同步的读取指针和写入指针,产生第一存储状态指示信号;和,所述写入控制器被配置为根据所述第一存储状态指示信号和所述写入请求信号,产生所述写入控制信号;其中,在所述第一存储状态指示信号指示所述fifo存储器处于非满状态且所述写入请求信号指示存在写入请求的情况下,所述写入控制信号指示写入数据,否则,所述写入控制信号指示不写入数据。
10.在一些实施例中,所述读取子模块包括读取同步器、读取控制器和选择器,其中:所述读取同步器与所述写入子模块通信地连接,且所述读取同步器被配置为接收来自所述写入子模块的写入指针,并将写入指针与所述读取子模块所在的固化域中的时钟频率同步;所述读取控制器与所述读取同步器通信地连接,且所述读取控制器被配置为根据所同步的写入指针、读取指针和读取请求信号,产生相应的读取控制信号;和,所述选择器与所述读取控制器和所述写入子模块中的fifo存储器通信地连接,且所述选择器被配置为响应于所述读取控制信号指示读取数据,选择并接收所述fifo存储器中的待传数据。
11.在一些实施例中,所述读取控制器还被配置为将二进制码形式的读取指针转换为格雷码形式的读取指针。
12.在一些实施例中,所述读取控制器被配置为根据所同步的写入指针、读取指针和读取请求信号,产生相应的读取控制信号包括:所述读取控制器被配置为根据所同步的写入指针和读取指针,产生第二存储状态指示信号;和,所述读取控制器被配置为根据所述第二存储状态指示信号和所述读取请求信号,产生所述读取控制信号;其中,在所述第二存储状态指示信号指示所述fifo存储器处于非空状态且所述读取请求信号指示存在读取请求的情况下,所述读取控制信号指示读取数据,否则,所述读取控制信号指示不读取数据。
13.在一些实施例中,所述读取同步器与所述写入子模块中的写入控制器通信地连接,且所述读取同步器被配置为从所述写入控制器接收写入指针;和,所述读取控制器与所述写入子模块中的写入同步器通信地连接,且所述读取控制器被配置为将读取指针传输给所述写入同步器。
14.在一些实施例中,所述写入同步器和所述读取同步器中的每一者包括彼此串联连接的两个或更多个同步寄存器。
15.在一些实施例中,从所述写入子模块向所述读取子模块传输待传数据的传输时间小于或等于所述写入同步器和所述读取同步器中的任一者的同步时间。
16.根据本公开的第二方面,提供了一种总线装置,包括:一个或多个桥接通道,其中,所述一个或多个桥接通道中的至少一个桥接通道包括如上所述的异步桥电路。
17.在一些实施例中,所述总线装置还包括:第一总线,所述第一总线连接在所述一个或多个桥接通道的第一端处,且所述第一总线用于设置在所述第一固化域中;以及,第二总线,所述第二总线连接在所述一个或多个桥接通道的不同于第一端的第二端处,且所述第二总线用于设置在所述第二固化域中;其中,所述第一总线和所述第二总线为相同类型的总线或不同类型的总线。
18.在一些实施例中,所述第一总线和所述第二总线中的任一者包括axi总线或ahb总线。
19.根据本公开的第三方面,提供了一种片上系统,包括:多个固化域,其中,所述多个固化域中的至少两个固化域分别被配置为基于不同的时钟频率运行;以及,如上所述的异步桥电路或总线装置。
20.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
21.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
22.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:图1示出了一种片上系统中异步桥电路的结构示意图;图2示出了图1的片上系统中的时钟路径示意图;图3示出了根据本公开的一示例性实施例的片上系统中跨固化域的异步桥电路的结构示意图;图4示出了根据本公开的一具体实施例中的异步桥电路的结构示意图;图5示出了根据本公开的一示例性实施例的总线装置的结构示意图;图6示出了根据本公开的一具体实施例中的axi2axi总线装置的结构示意图。
23.注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在本说明书中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
24.为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,所公开的发明并不限于附图等所公开的位置、尺寸及范围等。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
具体实施方式
25.现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
26.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的各种技术、方法和设备是以示例性的方式示出,来说明本公开中的不同实施例,而并非意图限制。本领域的技术人员将会理解,它们仅仅说明可以用来实施本发明的示例性方式,而不是穷尽的方式。
27.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
28.通常,片上系统可以被划分成多个固化域,每个固化域可以被单独地设计,以简化设计难度,提升设计效率。其中,不同的固化域可以分别处于不同的电源域或时钟域中,因而可以实现独立的上下电控制或时钟控制,从而帮助降低整个片上系统的功耗。然而,由于不同固化域中的总线可能使用不同的时钟频率,这将导致在这样的两个固化域之间进行数据传输、尤其是进行高速数据传输时存在问题。
29.为了解决上述问题,在一种片上系统中,可以采用如图1所示的方式,当需要在第一固化域110’和第二固化域120’之间进行数据传输时,使第一固化域110’的第一总线111’穿过第一固化域110’和第二固化域120’的域边界,进入第二固化域120’中,并通过第二固化域120’中设置的异步桥电路300’转接到第二固化域120’的第二总线121’。在图1所示的具体示例中,第一总线111’对应于主端(master port,mp),用于发送数据,而第二总线121’对应于从端(slave port,sp),用于接收数据。然而可以理解的是,在其他情况下,主端和从端也可以互换。其中,第一固化域110’处于第一时钟域210’中,第二固化域120’的包含第一总线111’和部分异步桥电路300’的一部分也处于第一时钟域210’中,而第二固化域120’的其他部分处于第二时钟域220’中。
30.但是,在采用图1所示的方式进行跨固化域的数据传输的情况下,可能存在以下问题:第一,如图2所示,第一固化域110’中可以设置有第一片上时钟(on chip clock,occ)112’,处于第一时钟域210’的第一固化域110’可以基于该第一片上时钟112’进行时钟树综合。然而,由于第二固化域120’的一部分也处于第一时钟域210’中,因此后端需要同时在第一固化域110’和第二固化域120’中关于第一片上时钟112’进行时钟树综合(clock tree synthesis,cts),即第二固化域120’中的至少部分时钟是依赖于第一固化域110’中的第一片上时钟112’的。这样,一旦对第一固化域110’和第二固化域120’中的任一个固化域重新进行时钟树综合,如果对应的时钟树长度或时钟偏斜(skew)有所变化,就需要对另一个固化域中的时钟树也做相应调整,而这将导致芯片设计难度的增加和设计效率的下降。
31.第二,由于第一固化域110’和第二固化域120’之间的温度、供电电压等方面的差异,两个固化域中时钟的恶化系数可能存在差别,为了满足静态时序分析(static timing analysis,sta)中保持时间(holding time)的要求(即,延时不能小于保持时间),可能需要在固化域中增加相应的延时单元。然而,随着延时单元的增加,又可能导致无法满足静态时
序分析中建立时间(setup time)的要求(即,延时不能大于建立时间)。具体而言,如图2所示,当第一片上时钟112’的时钟树长度超过一定的阈值后,其中的数据延时(data delay)、第一时钟树延时(clk dealy 1)和第二时钟树延时(clk delay 2)可能无法同时满足建立时间和保持时间的要求。
32.如上所述的时序方面的冲突将导致芯片后端验证(signoff)频率的降低,直接影响了芯片的性能参数。
33.为了解决上述问题,本公开提出了一种异步桥电路,通过将异步桥电路按照时钟域拆分为两个异步子模块并将两个异步子模块分别设置在两个固化域中,避免了跨固化域的时钟树综合,从而能够轻松地实现时序收敛。
34.在本公开的一示例性实施例中,如图3所示,异步桥电路可以包括第一异步子模块310和第二异步子模块320。其中,第一异步子模块310用于设置在第一固化域110中,且第一异步子模块310可以被配置为基于第一固化域110中的第一时钟频率(即,第一片上时钟112)运行;第二异步子模块320用于设置在第二固化域120中,且第二异步子模块320可以被配置为基于第二固化域120中的不同于第一时钟频率的第二时钟频率(即,第二片上时钟122)运行。换句话说,异步桥电路被按照时钟域拆分成了两个异步子模块,其中,第一异步子模块310设于第一时钟域210中,而第二异步子模块320设于第二时钟域220中。通过将异步桥电路按照时钟域拆分成两个不同的异步子模块,并分别设置在相应的固化域或时钟域中,这样,在每个固化域中的异步子模块可以按照该固化域中的时钟频率运行。由此可见,不再需要如图1中所示的基于其中一个固化域中的片上时钟对另一个固化域进行时钟树综合。一方面,两个固化域中的时钟树可以彼此独立,不再存在依赖关系,对其中一个固化域中的时钟树重新综合时,也就不会影响另一个固化域中的时钟树,从而有助于降低设计难度,提升设计效率。另一方面,由于不再涉及两个固化域之间的建立时间路径和保持时间路径,因此只要在两个固化域之间的数据传输延时小于或等于一定的最大延时,就可以轻松地实现时序收敛,避免了建立时间和保持时间相冲突的情况发生,而这种据传输延时的控制可以通过片上系统中的综合约束和布局规划(floorplan)来简单地实现。
35.进一步地,在第二异步子模块320与第一异步子模块310之间,可以以异步通信的方式相连接,从而实现待传数据的异步传输。在一些实施例中,第一异步子模块310和第二异步子模块320中的一者可以包括缓存组件,另一者可以包括读取组件。其中,缓存组件可以被配置为基于该缓存组件所在的固化域中的时钟频率来接收和缓存待传数据,而读取组件可以被配置为基于该读取组件所在的固化域中的时钟频率来从缓存组件中读取出所需的待传数据。可以理解的是,缓存组件的缓存空间的大小可以大于每次读取的数据所占的空间的大小,以利用缓存组件的缓存特性来实现数据的异步传输。可以采用多种方式来设置缓存组件和读取组件,在此不作限制。另外,在其他一些实施例中,也可以采用其他可能的方式来实现第一异步子模块310和第二异步子模块320之间的异步通信,在此不作限制。
36.在一具体实施例中,可以基于先进先出(fifo)的方式来实现第一异步子模块310和第二异步子模块320之间的异步通信。如图4所示,异步桥电路可以包括fifo异步桥。其中,fifo异步桥可以包括写入子模块410(或者说fifo写入域,fifo push domain)和读取子模块420(或者说fifo读取域,fifo pop domain),根据数据传输的方向,写入子模块410和读取子模块420中的一者可以作为第一异步子模块310,且写入子模块410和读取子模块420
中的另一者可以作为第二异步子模块320。
37.进一步地,如图4所示,在一些实施例中,写入子模块410可以包括写入同步器411、写入控制器412和fifo存储器413。如上文所述的缓存组件至少可以包括写入子模块410中的fifo存储器413。
38.写入同步器411可以与读取子模块420通信地连接,例如可以与读取子模块420中的读取控制器422通信地连接,且写入同步器411可以被配置为从读取子模块420(或读取控制器422)接收读取指针,并将读取指针与写入子模块412所在的固化域中的时钟频率同步,以便后续比较读取指针和写入指针。
39.在一些实施例中,为了简化同步过程,写入同步器411接收到的读取指针可以是格雷码形式的,该格雷码形式的读取指针(pop ptr_g)可以是由读取子模块420中的读取控制器422对二进制编码形式的读取指针进行转换而产生的。然而可以理解的是,也可以将二进制编码形式的读取指针转换为其他编码的形式,只要其便于被写入同步器411同步即可,在此不作限制。在一些实施例中,写入同步器411可以包括彼此串联连接的两个同步寄存器,以将格雷码形式的读取指针同步到写入子模块410所在的时钟域中,避免仅使用单个同步寄存器同步时可能产生的亚稳态。然而在其他一些实施例中,根据需要,写入同步器411也可以包括更多的同步寄存器,以便提供足够的传输延时等(后文还将详细阐述),在此不作限制。
40.写入控制器412可以与写入同步器411通信地连接,且写入控制器412可以被配置为根据所同步的读取指针、写入指针和写入请求信号,产生相应的写入控制信号。在一些实施例中,写入控制器412还可以被配置为将二进制码形式的写入指针转换为格雷码形式的写入指针(push ptr_g),一方面该格雷码形式的写入指针可以被传输至读取子模块420中便于同步,另一方面也可以方便地比较写入指针和读取指针。当然,在一些实施例中,写入控制器412也可以比较二进制编码形式的写入指针和读取指针,在此不作限制。
41.在一些实施例中,各种信号可以具有高电平和低电平,以分别指示不同的状态。例如,写入控制器412可以被配置为根据所同步的读取指针和写入指针,产生第一存储状态指示信号(ready_m)。在一具体示例中,当写入指针比读取指针大一个fifo_depth(即,fifo存储器413的深度)时,可以判定当前写入子模块410中的fifo存储器413的存储状态为满状态,此时可以将第一存储状态指示信号置于低电平;否则,可以判定当前写入子模块410中的fifo存储器413的存储状态为非满状态,此时可以将第一存储状态指示信号置于高电平。相应地,在第一存储状态指示信号处于低电平的情况下,不能向fifo存储器413中继续写入数据;而在第一存储状态指示信号处于高电平的情况下,可以向fifo存储器413中写入数据。进一步地,写入控制器412还可以被配置为根据第一存储状态指示信号(ready_m)和写入请求信号(valid_m),产生写入控制信号(we_addr)。在一具体示例中,在当前存在写入请求的情况下,可以将写入请求信号置于高电平;否则,可以将写入请求信号置于低电平。进一步地,在第一存储状态指示信号指示fifo存储器413处于非满状态(即,ready_m处于高电平)且写入请求信号指示存在写入请求(即,valid_m处于高电平)的情况下,写入控制信号(we_addr)可以指示写入数据,此时fifo存储器413可以接收并存储待传数据(图4中所示的输入数据(source payload));否则,写入控制信号指示不写入数据,此时fifo存储器413不接收和存储待传数据。可以理解的是,在其他一些具体示例中,也可以采用其他方式来判断
fifo存储器413的存储状态,或设置各种信号及其电平以指示相应的状态,在此不作限制。
42.fifo存储器413可以与写入控制器412通信地连接,且fifo存储器413可以被配置为响应于写入控制信号指示写入数据,接收并存储待传数据。fifo存储器413的存储空间的大小可以根据其位宽和深度来得到,根据先进先出的原理,每次写入到fifo存储器413中的数据位于其最上一层空存储单元中。
43.如图4所示,读取子模块420可以包括读取同步器421、读取控制器422和选择器423。如上文所述的读取组件至少可以包括读取子模块420中的选择器423。
44.读取同步器421可以与写入子模块410通信地连接,例如可以与写入子模块410中的写入控制器412通信地连接,且读取同步器421可以被配置为从写入子模块410(或写入控制器412)接收写入指针,并将写入指针与读取子模块420所在的固化域中的时钟频率同步,以便后续比较写入指针和读取指针。
45.在一些实施例中,为了简化同步过程,读取同步器421接收到的写入指针可以是格雷码形式的,该格雷码形式的写入指针可以是由写入子模块410中的写入控制器412对二进制编码形式的写入指针进行转换而产生的。然而可以理解的是,也可以将二进制编码形式的写入指针转换为其他编码的形式,只要其便于被读取同步器421同步即可,在此不作限制。在一些实施例中,读取同步器421可以包括彼此串联连接的两个同步寄存器,以将格雷码形式的写入指针同步到读取子模块420所在的时钟域中,避免仅使用单个同步寄存器同步时可能产生的亚稳态。然而在其他一些实施例中,根据需要,读取同步器421也可以包括更多的同步寄存器,以便提供足够的传输延时等(后文还将详细阐述),在此不作限制。
46.读取控制器422可以与读取同步器421通信地连接,且读取控制器422可以被配置为根据所同步的写入指针、读取指针和读取请求信号,产生相应的读取控制信号。在一些实施例中,读取控制器422还可以被配置为将二进制码形式的读取指针转换为格雷码形式的读取指针,一方面该格雷码形式的读取指针可以被传输至写入子模块410中便于同步,另一方面也可以方便地比较读取指针和写入指针。当然,在一些实施例中,读取控制器422也可以比较二进制编码形式的读取指针和写入指针,在此不作限制。
47.如上文所述,各种信号可以具有高电平和低电平,以分别指示不同的状态。例如,读取控制器422可以被配置为根据所同步的写入指针和读取指针,产生第二存储状态指示信号(valid_s)。在一具体示例中,当读取指针和写入指针相同时,可以判定当前写入子模块410中的fifo存储器413的存储状态为空状态,此时可以将第二存储状态指示信号置于低电平;否则,可以判定当前写入子模块410中的fifo存储器413的存储状态为非空状态,此时可以将第二存储状态指示信号置于高电平。相应地,在第二存储状态指示信号处于低电平的情况下,不能从fifo存储器413中读取数据;而在第二存储状态指示信号处于高电平的情况下,可以从fifo存储器413中读取数据。进一步地,读取控制器422还可以被配置为根据第二存储状态指示信号(valid_s)和读取请求信号(ready_s),产生读取控制信号(rd_addr)。在一具体示例中,在当前存在读取请求的情况下,可以将读取请求信号置于高电平;否则,可以将读取请求信号置于低电平。进一步地,在第二存储状态指示信号指示fifo存储器413处于非空状态(即,valid_s处于高电平)且读取请求信号指示存在读取请求(即,ready_s处于高电平)的情况下,读取控制信号(rd_addr)可以指示读取数据,此时可以通过选择器423从fifo存储器413中读取相应的待传数据(图4中所示的输出数据(sink payload)或图6中
所示的fifo_mem);否则,读取控制信号指示不读取数据。可以理解的是,在其他一些具体示例中,也可以采用其他方式来确定fifo存储器413的存储状态,或设置各种信号及其电平以指示相应的状态,在此不作限制。
48.选择器423可以与读取控制器422和写入子模块410中的fifo存储器413通信地连接,且选择器423可以被配置为响应于读取控制信号指示读取数据,选择并接收fifo存储器413中的待传数据。在一些实施例中,选择器423可以包括多路选择器(mux)。相应地,读取控制信号可以被传输给多路选择器的控制端,以实现对fifo存储器413中存储的数据的选择。然而可以理解的是,在其他一些实施例中,也可以采用其他的选择电路来选取相应的待传数据,在此不作限制。此外,根据先进先出的原理,每次读取的数据可以是fifo存储器413中的位于其最下一层满存储单元中的数据,且每次所读取的数据仅占据fifo存储器413的一部分存储空间,从而实现数据的异步传输。
49.基于图4所示的异步桥电路,为了保证片上系统中的正确时序,只需要使从写入子模块410向读取子模块420传输待传数据的传输时间小于或等于写入同步器412和读取同步器422中的任一者的同步时间即可。也就是说,只要选择器423从fifo存储器413中读取出相应的待传数据所需的时间小于或等于写入同步器412和读取同步器422中的任一者的同步时间,而这可以通过片上系统中的综合约束和布局规划简单地实现。
50.根据本公开的另一方面,还提出了一种总线装置。如图5所示,在一示例性实施例中,该总线装置可以包括一个或多个桥接通道530,其中,一个或多个桥接通道530中的至少一个桥接通道530可以包括如上所述的异步桥电路。也就是说,桥接通道530可以按照时钟域被拆分成两个部分,其中的第一异步子模块和第二异步子模块分别在相应的固化域中基于相应的时钟频率运行,而不相互影响,从而有助于简单地实现异步运行的各个固化块中的时序收敛。
51.在一些实施例中,总线可以被包含在总线装置中。例如,如图5所示,总线装置还可以包括第一总线510和第二总线520,第一总线510连接在一个或多个桥接通道530的第一端处,且第一总线510用于设置在第一固化域中,第二总线520连接在一个或多个桥接通道530的不同于第一端的第二端处,且第二总线520用于设置在第二固化域中。在一些实施例中,第一总线510和第二总线520可以是相同类型的总线。在另一些实施例中,第一总线510和第二总线520也可以是不同类型的总线,在此不作限制。其中,总线装置中桥接通道530的数目可以根据所桥接的第一总线510和第二总线520的具体类型决定。
52.在一具体示例中,如图6所示,异步桥电路300可以用于桥接在axi(高级可扩展接口)总线和axi总线之间,两条axi总线可以分别用在不同的固化域或电源域中,且具有不同的时钟频率,即该异步桥电路300可以作为电源域异步桥(power domain bridge,pdb)。在图6所示的具体示例中,总线装置可以包括共五个桥接通道,每个桥接通道可以用于桥接一条axi总线中的一个通道和另一条axi总线中的相应通道,包括读地址通道(ar channel)、读数据通道(r channel)、写地址通道(aw channel)、写数据通道(w channel)和写响应通道(b channel)。其中,每个桥接通道可以包括如上文所述的异步桥电路。如图6所示,在读地址通道(ar channel)中,异步桥电路的写入子模块可以设于主端(axi2axi_pdb_mp),读取子模块可以设于从端(axi2axi_pdb_sp);在读数据通道(r channel)中,异步桥电路的写入子模块可以设于从端(axi2axi_pdb_sp),读取子模块可以设于主端(axi2axi_pdb_mp);
在写地址通道(aw channel)中,异步桥电路的写入子模块可以设于主端(axi2axi_pdb_mp),读取子模块可以设于从端(axi2axi_pdb_sp);在写数据通道(w channel)中,异步桥电路的写入子模块可以设于主端(axi2axi_pdb_mp),读取子模块可以设于从端(axi2axi_pdb_sp);以及在写响应通道(b channel)中,异步桥电路的写入子模块可以设于从端(axi2axi_pdb_sp),读取子模块可以设于主端(axi2axi_pdb_mp)。这里,主端可以处于一个固化域或时钟域中,而从端处于另一个固化域或时钟域中。可以理解的是,在其他一些实施例中,总线装置也可以用于桥接其他类型的总线,包括ahb总线等,例如可以用于实现axi总线与ahb总线之间的桥接,或用于实现两条ahb总线之间的桥接等,在此不作限制。
53.根据本公开的又一方面,还提出了一种片上系统。在一示例性实施例中,如图3所示,该片上系统可以包括多个固化域(例如,第一固化域110和第二固化域120)和如上所述的异步桥电路或总线装置。其中,多个固化域中的至少两个固化域分别被配置为基于不同的时钟频率运行。
54.在一些实施例中,随着异步桥电路中的fifo存储器的深度的增加,为了保持片上系统中电压的正确性,还可以相应地增加用于偏转电压的电平偏转单元(level shift cell)和用于隔离电压的隔离单元(isolation cell)等,在此不作限制。
55.本公开的技术方案提供了不同的固化域之间的总线连接方式,通过将异步桥电路按照时钟域拆分成不同的子模块,并将这些子模块分别设置在相应的固化域中,可以在保证总线连接带宽的同时,避免不同时钟的固化域之间进行数据传输时所带来的时序问题。由于每个子模块只需要按照其所在的固化域中的时钟信号运行,不同子模块之间采用异步通信方式连接,因此后端只需要在各个固化域内部基于其相应的时钟信号进行时钟树综合,不同固化域之间解耦,不存在时钟树上的依赖关系,从而能够有效地降低设计难度和提升设计效率。而且,由于不存在任何不同的固化域之间的建立时间和保持时间路径,因此可以轻松地实现时序收敛。跨时钟域之间的时序路径只需要满足一定的最大延时就可以保证时序的正确性,而该最大延时可以基于片上系统的综合约束和布局规划来简单地实现。
56.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
57.在说明书及权利要求中的词语“前”、“后”、“顶”、“底”、“之上”、“之下”等,如果存在的话,用于描述性的目的而并不一定用于描述不变的相对位置。应当理解,这样使用的词语在适当的情况下是可互换的,使得在此所描述的本公开的实施例,例如,能够在与在此所示出的或另外描述的那些取向不同的其他取向上操作。
58.如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
59.如在此所使用的,词语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。词语“基本上”还允许由寄生效应、噪音以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。
60.上述描述可以指示被“连接”或“耦合”在一起的元件或节点或特征。如在此所使用
的,除非另外明确说明,“连接”意指一个元件/节点/特征与另一种元件/节点/特征在电学上、机械上、逻辑上或以其它方式直接地连接(或者直接通信)。类似地,除非另外明确说明,“耦合”意指一个元件/节点/特征可以与另一元件/节点/特征以直接的或间接的方式在机械上、电学上、逻辑上或以其它方式连结以允许相互作用,即使这两个特征可能并没有直接连接也是如此。也就是说,“耦合”意图包含元件或其它特征的直接连结和间接连结,包括利用一个或多个中间元件的连接。
61.还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
62.本领域技术人员应当意识到,在上述操作之间的边界仅仅是说明性的。多个操作可以结合成单个操作,单个操作可以分布于附加的操作中,并且操作可以在时间上至少部分重叠地执行。而且,另选的实施例可以包括特定操作的多个实例,并且在其他各种实施例中可以改变操作顺序。但是,其它的修改、变化和替换同样是可能的。因此,本说明书和附图应当被看作是说明性的,而非限制性的。
63.虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。

技术特征:
1. 一种异步桥电路,其特征在于,所述异步桥电路包括:第一异步子模块,所述第一异步子模块用于设置在第一固化域中,且所述第一异步子模块被配置为基于所述第一固化域中的第一时钟频率运行;以及第二异步子模块,所述第二异步子模块与所述第一异步子模块以异步通信的方式相连接,所述第二异步子模块用于设置在第二固化域中,且所述第二异步子模块被配置为基于所述第二固化域中的不同于第一时钟频率的第二时钟频率运行。2.根据权利要求1所述的异步桥电路,其特征在于,所述第一异步子模块和所述第二异步子模块中的一者包括缓存组件,所述缓存组件被配置为基于所述缓存组件所在的固化域中的时钟频率缓存待传数据;以及所述第一异步子模块和所述第二异步子模块中的另一者包括读取组件,所述读取组件被配置为基于所述读取组件所在的固化域中的时钟频率读取待传数据;其中,所述缓存组件的缓存空间的大小大于每次读取的数据所占的空间的大小。3.根据权利要求1所述的异步桥电路,其特征在于,所述异步桥电路包括先进先出fifo异步桥,其中,所述fifo异步桥包括写入子模块和读取子模块,所述写入子模块和所述读取子模块中的一者作为所述第一异步子模块,且所述写入子模块和所述读取子模块中的另一者作为所述第二异步子模块。4.根据权利要求3所述的异步桥电路,其特征在于,所述写入子模块包括写入同步器、写入控制器和fifo存储器,其中:所述写入同步器与所述读取子模块通信地连接,且所述写入同步器被配置为接收来自所述读取子模块的读取指针,并将读取指针与所述写入子模块所在的固化域中的时钟频率同步;所述写入控制器与所述写入同步器通信地连接,且所述写入控制器被配置为根据所同步的读取指针、写入指针和写入请求信号,产生相应的写入控制信号;和所述fifo存储器与所述写入控制器通信地连接,且所述fifo存储器被配置为响应于所述写入控制信号指示写入数据,接收并存储待传数据。5.根据权利要求4所述的异步桥电路,其特征在于,所述写入控制器还被配置为将二进制码形式的写入指针转换为格雷码形式的写入指针。6. 根据权利要求4所述的异步桥电路,其特征在于,所述写入控制器被配置为根据所同步的读取指针、写入指针和写入请求信号,产生相应的写入控制信号包括:所述写入控制器被配置为根据所同步的读取指针和写入指针,产生第一存储状态指示信号;和所述写入控制器被配置为根据所述第一存储状态指示信号和所述写入请求信号,产生所述写入控制信号;其中,在所述第一存储状态指示信号指示所述fifo存储器处于非满状态且所述写入请求信号指示存在写入请求的情况下,所述写入控制信号指示写入数据,否则,所述写入控制信号指示不写入数据。7.根据权利要求3所述的异步桥电路,其特征在于,所述读取子模块包括读取同步器、读取控制器和选择器,其中:所述读取同步器与所述写入子模块通信地连接,且所述读取同步器被配置为接收来自
所述写入子模块的写入指针,并将写入指针与所述读取子模块所在的固化域中的时钟频率同步;所述读取控制器与所述读取同步器通信地连接,且所述读取控制器被配置为根据所同步的写入指针、读取指针和读取请求信号,产生相应的读取控制信号;和所述选择器与所述读取控制器和所述写入子模块中的fifo存储器通信地连接,且所述选择器被配置为响应于所述读取控制信号指示读取数据,选择并接收所述fifo存储器中的待传数据。8.根据权利要求7所述的异步桥电路,其特征在于,所述读取控制器还被配置为将二进制码形式的读取指针转换为格雷码形式的读取指针。9. 根据权利要求7所述的异步桥电路,其特征在于,所述读取控制器被配置为根据所同步的写入指针、读取指针和读取请求信号,产生相应的读取控制信号包括:所述读取控制器被配置为根据所同步的写入指针和读取指针,产生第二存储状态指示信号;和所述读取控制器被配置为根据所述第二存储状态指示信号和所述读取请求信号,产生所述读取控制信号;其中,在所述第二存储状态指示信号指示所述fifo存储器处于非空状态且所述读取请求信号指示存在读取请求的情况下,所述读取控制信号指示读取数据,否则,所述读取控制信号指示不读取数据。10.根据权利要求7所述的异步桥电路,其特征在于,所述读取同步器与所述写入子模块中的写入控制器通信地连接,且所述读取同步器被配置为从所述写入控制器接收写入指针;和所述读取控制器与所述写入子模块中的写入同步器通信地连接,且所述读取控制器被配置为将读取指针传输给所述写入同步器。11.根据权利要求10所述的异步桥电路,其特征在于,所述写入同步器和所述读取同步器中的每一者包括彼此串联连接的两个或更多个同步寄存器。12.根据权利要求10所述的异步桥电路,其特征在于,从所述写入子模块向所述读取子模块传输待传数据的传输时间小于或等于所述写入同步器和所述读取同步器中的任一者的同步时间。13.一种总线装置,其特征在于,所述总线装置包括:一个或多个桥接通道,其中,所述一个或多个桥接通道中的至少一个桥接通道包括根据权利要求1至12中任一项所述的异步桥电路。14. 根据权利要求13所述的总线装置,其特征在于,所述总线装置还包括:第一总线,所述第一总线连接在所述一个或多个桥接通道的第一端处,且所述第一总线用于设置在所述第一固化域中;以及第二总线,所述第二总线连接在所述一个或多个桥接通道的不同于第一端的第二端处,且所述第二总线用于设置在所述第二固化域中;其中,所述第一总线和所述第二总线为相同类型的总线或不同类型的总线。15.根据权利要求14所述的总线装置,其特征在于,所述第一总线和所述第二总线中的任一者包括axi总线或ahb总线。
16. 一种片上系统,其特征在于,所述片上系统包括:多个固化域,其中,所述多个固化域中的至少两个固化域分别被配置为基于不同的时钟频率运行;以及根据权利要求1至12中任一项所述的异步桥电路或根据权利要求13至15中任一项所述的总线装置。

技术总结
本公开涉及一种异步桥电路、总线装置和片上系统。该异步桥电路包括:第一异步子模块,所述第一异步子模块用于设置在第一固化域中,且所述第一异步子模块被配置为基于所述第一固化域中的第一时钟频率运行;以及第二异步子模块,所述第二异步子模块与所述第一异步子模块以异步通信的方式相连接,所述第二异步子模块用于设置在第二固化域中,且所述第二异步子模块被配置为基于所述第二固化域中的不同于第一时钟频率的第二时钟频率运行。一时钟频率的第二时钟频率运行。一时钟频率的第二时钟频率运行。


技术研发人员:寿建能 万红星 杨作兴
受保护的技术使用者:深圳比特微电子科技有限公司
技术研发日:2023.08.08
技术公布日:2023/9/7
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐