掌桥专利:专业的专利平台
掌桥专利
首页

异步桥、SOC、电子组件、电子设备及芯片设计方法

文献发布时间:2023-06-19 19:28:50


异步桥、SOC、电子组件、电子设备及芯片设计方法

技术领域

本公开涉及集成电路技术领域,尤其涉及一种异步桥、SOC、电子组件、电子设备及芯片设计方法。

背景技术

在现代SOC系统中,由于系统架构过于庞大,对整个系统进行综合和物理实现变得非常困难。常见的解决方案是根据功能将SOC划分为多个分区。每个分区独立进行综合或物理实现,最后会将多个分区拼接在一起。

分区与分区之间的接口分为同步时序和异步时序这两种类型,对于异步时序而言,其可能是由于两个分区的时钟域不同而导致的。当总线跨越两个分区的边界时,为了消除异步时序带来的影响,通常需要由异步桥连接两个不同的分区。异步桥中包括一个或多个数据通道,每个数据通道中设置有用于缓存数据的FIFO存储器。FIFO存储器的深度是两个分区之间的数据传输性能的重要影响因素,如果FIFO存储器的深度偏小,会影响两个分区之间的数据传输速度,但如果FIFO存储器的深度偏大,又会增大异步桥的物理实现面积。

发明内容

本公开的目的是提供一种异步桥、SOC、电子组件、电子设备及芯片设计方法,旨在不影响两个分区之间的数据传输速度的情况下,尽量减小FIFO存储器的所占面积。

根据本公开的一个方面,提供一种异步桥,该异步桥包括数据通道,数据通道包括设置在第一时钟域的FIFO存储器,FIFO存储器用于存储等待被搬运至第二时钟域的数据,FIFO存储器的深度大于等于D,D=Wd+Rd+Gd+1,Wd是设置在第一时钟域的第一同步器的拍数,Rd是设置在第二时钟域的第二同步器的拍数,Gd是设置在第一时钟域的用于缓存第一格雷码的第一寄存器的个数,第一格雷码是由写指针映射成的格雷码。

本公开一种可行的实现方式中,FIFO存储器的深度等于D。

本公开一种可行的实现方式中,第一时钟域的时钟频率与第二时钟域的时钟频率相等。

本公开一种可行的实现方式中,数据通道为AXI总线的写数据通道,或者数据通道为AXI总线的读数据通道。

本公开一种可行的实现方式中,异步桥还包括两个地址通道,每个地址通道的FIFO存储器的深度均小于数据通道的FIFO存储器的深度;两个地址通道分别是AXI总线的写地址通道和读地址通道。

本公开一种可行的实现方式中,异步桥还包括AXI总线的写响应通道,写响应通道的FIFO存储器的深度小于每个地址通道的FIFO存储器的深度。

本公开一种可行的实现方式中,数据通道还包括设置在第一时钟域的第一格雷码映射模块、第一寄存器、第一同步器和第一比较器,以及设置在第二时钟域的第二格雷码映射模块、第二寄存器、第二同步器和第二比较器;

第一格雷码映射模块用于将写指针映射成第一格雷码,第二格雷码映射模块用于将读指针映射成第二格雷码;

第一格雷码依次经过第一寄存器和第二同步器后输入第二比较器,第二格雷码经过第二寄存器后也输入第二比较器,第二比较器通过比较第一格雷码和第二格雷码,控制读空信号;

第一格雷码经过第一寄存器后还输入第一比较器,第二格雷码还依次经过第二寄存器和第一同步器后输入第一比较器,第一比较器通过比较第一格雷码和第二格雷码,控制写满信号。

本公开一种可行的实现方式中,数据通道还包括设置在第一时钟域的多路复用器,多路复用器用于根据第二格雷码从FIFO存储器中选择目标数据,并将选择的目标数据搬运至第二时钟域。

根据本公开的另一方面,还提供一种SOC,包括上述任一实施例中所述的异步桥。

根据本公开的另一方面,还提供一种电子组件,包括上述SOC。在一些使用场景下,该电子组件的产品形式体现为显卡;在另一些使用场景下,该电子组件的产品形式体现为CPU主板。

根据本公开的另一方面,还提供一种电子设备,该电子设备包括上述的电子组件。在一些使用场景下,该电子设备的产品形式是便携式电子设备,例如智能手机、平板电脑、VR设备等;在一些使用场景下,该电子设备的产品形式是个人电脑、游戏主机等。

根据本公开的另一方面,还提供一种芯片设计方法,该方法包括:

获取第一参数Wd、第二参数Rd及第三参数Gd,第一参数Wd是第一同步器的拍数,第二参数Rd是第二同步器的拍数,第三参数Gd是第一寄存器的个数;

对第一参数Wd、第二参数Rd、第三参数Gd及数据值1进行求和,并将求和结果作为FIFO存储器的最小深度;

其中,第一同步器和第一寄存器位于异步桥的数据通道的第一时钟域,第二同步器位于数据通道的第二时钟域,第一寄存器用于缓存第一格雷码,第一同步器用于对第二格雷码消除亚稳态,第二同步器用于对第一格雷码消除亚稳态,第一格雷码是由写指针映射成的格雷码,第二格雷码是由读指针映射成的格雷码。

本公开一种可行的实现方式中,该方法还包括:将FIFO存储器的最小深度确定为FIFO存储器的深度。

附图说明

图1是本公开一实施例提供的异步桥的结构示意图;

图2是将FIFO存储器的深度设置为1时各信号的波形示意图;

图3是将FIFO存储器的深度设置为2时各信号的波形示意图;

图4是将FIFO存储器的深度设置为6时各信号的波形示意图;

图5是将FIFO存储器的深度设置为7时各信号的波形示意图;

图6是将FIFO存储器的深度设置为8时各信号的波形示意图;

图7是本公开一实施例提供的芯片设计方法的流程示意图。

具体实施方式

在介绍本公开实施例之前,应当说明的是:

本公开部分实施例被描述为处理流程,虽然流程的各个操作步骤可能被冠以顺序的步骤编号,但是其中的操作步骤可以被并行地、并发地或者同时实施。

本公开实施例中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了将一个特征与另一个特征进行区分。

本公开实施例中可能使用了术语“和/或”,“和/或”包括其中一个或更多所列出的相关联特征的任意和所有组合。

应当理解的是,当描述两个部件的连接关系或通信关系时,除非明确指明两个部件之间直接连接或直接通信,否则,两个部件的连接或通信可以理解为直接连接或通信,也可以理解为通过中间部件间接连接或通信。

为了使本公开实施例中的技术方案及优点更加清楚明白,以下结合附图对本公开的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本公开的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。

本公开的目的是提供一种异步桥、SOC、电子组件、电子设备及芯片设计方法,旨在不影响两个分区之间的数据传输速度的情况下,尽量减小FIFO存储器的所占面积。

参考图1,图1是本公开一实施例提供的异步桥的结构示意图。图1中的虚线表示两个分区的分界线,虚线一侧的分区的时钟域是第一时钟域,虚线另一侧的分区的时钟域是第二时钟域。如图1所示,异步桥包括数据通道,数据通道包括设置在第一时钟域的FIFO存储器,FIFO存储器用于存储等待被搬运至第二时钟域的数据,FIFO存储器的深度大于等于D,D=Wd+Rd+Gd+1,Wd是设置在第一时钟域的第一同步器的拍数,Rd是设置在第二时钟域的第二同步器的拍数,Gd是设置在第一时钟域的用于缓存第一格雷码的第一寄存器的个数,第一格雷码是由写指针映射成的格雷码。

其中,第一同步器用于对第二时钟域传递至第一时钟域的第二格雷码消除亚稳态,第二格雷码是由读指针映射成的格雷码。第一同步器包括一个或多个寄存器,第一同步器的拍数Wd是指第一同步器包括的寄存器个数。

第二同步器用于对第一时钟域传递至第二时钟域的第一格雷码消除亚稳态,第一格雷码是由写指针映射成的格雷码。第二同步器包括一个或多个寄存器,第二同步器的拍数Rd是指第二同步器包括的寄存器个数。

本公开中,总线的反压信号READY与读写指针之间存在约束关系,当写指针与读指针的欧氏距离最远时,代表FIFO存储器无法继续装载数据,而写指针在更新以后会影响读指针的更新,最终经过同步后会再次影响写指针的更新,本公开的发明人根据异步桥的结构特点,即逻辑环路的延时取决于路径中的寄存器个数,推导出了确定FIFO存储器最小深度的公式,即D=Wd+Rd+Gd+1。通过将异步桥的数据通道的FIFO存储器的深度配置为大于等于Wd+Rd+Gd+1,可以在不影响两个分区之间的数据传输速度的情况下,尽量减小FIFO存储器的所占面积。

为了便于更直观地理解本公开的技术效果,本公开以Wd取值为3,Rd也取值为3,Gd取值为1进行说明。按照上述公式,FIFO存储器的深度应大于等于8。

参考图2,图2是将FIFO存储器的深度设置为1时,master侧时钟信号ACLKM、slave侧数据通道的使能信号WVALIDS、slave侧数据通道的数据输入信号WDATAS、slave侧数据通道的反压信号WREADYS、master侧数据通道的使能信号WVALIDM、master侧数据通道的数据输入信号WDATAM、master侧数据通道的反压信号WREADYM的波形示意图。其中,slave侧和master侧是分别对应第一时钟域和第二时钟域。图2中,数据输入信号WDATAS/WDATAM中的字符串08E04D68、509436D3等,是示例性的16进制数据。

如图2所示,在FIFO存储器的深度配置为1的情况下,由于VALID和READY的握手过程包含了6个ACLK的指针同步和一个ACLK的读指针缓存,因此在此配置下,master发出的命令存在7个ACLK的气泡,导致数据传输速度受到影响。

参考图3,图3是将FIFO存储器的深度设置为2时,各信号的波形示意图。如图3所示,在FIFO存储器的深度配置为2的情况下,master发出的命令也存在气泡,数据传输速度同样受到影响。

参考图4,图4是将FIFO存储器的深度设置为6时,各信号的波形示意图。如图4所示,由于FIFO存储器深度的增加,命令的气泡已经明显减少。

参考图5,图5是将FIFO存储器的深度设置为7时,各信号的波形示意图。如图5所示,在此配置下,maste发出的命令只出现单个ACLK的气泡。

参考图6,图6是将FIFO存储器的深度设置为8时,各信号的波形示意图。如图6所示,在此配置下的FIFO存储器己经可以完全覆盖所有的负载(payload)带宽,命令不再出现气泡,此时整个异步桥数据通道达到理论最大传输带宽。

在一些具体实施方式中,FIFO存储器的深度等于D,换言之,将FIFO存储器的深度配置为Wd+Rd+Gd+1。通过将FIFO存储器的深度配置为Wd+Rd+Gd+1,可以在不影响数据传输速度的情况下,使FIFO存储器的深度最小,从而使FIFO存储器的占用面积最小。

在一些具体实施方式中,第一时钟域的时钟频率与第二时钟域的时钟频率相等。本公开中将第一时钟域的时钟频率与第二时钟域的时钟频率设置为相等时,使得数据传输速度最终受到FIFO存储器深度的影响,从而可以通过合理配置FIFO存储器深度,达到兼顾数据传输速度和FIFO存储器深度的目标。

在一些具体实施方式中,数据通道为AXI总线的写数据通道,或者数据通道为AXI总线的读数据通道。或者,数据通道的数量为两个,两个数据通道分别是AXI总线的写数据通道和读数据通道。

在一些具体实施方式中,异步桥还包括两个地址通道,每个地址通道的FIFO存储器的深度均小于数据通道的FIFO存储器的深度;两个地址通道分别是AXI总线的写地址通道和读地址通道。本公开中,由于AXI总线的写地址通道和读地址通道各自的负载均小于AXI的写数据通道/读数据通道的负载,因此写地址通道和读地址通道的带宽需求小于写数据通道/读数据通道的带宽需求。所以为了进一步减少FIFO存储器所占面积,可以将地址通道的FIFO存储器的深度配置为小于数据通道的FIFO存储器的深度。

在一些具体实施方式中,异步桥还包括AXI总线的写响应通道,写响应通道的FIFO存储器的深度小于每个地址通道的FIFO存储器的深度。本公开中,由于AXI总线的写响应通道的负载小于写地址通道/读地址通道的负载,因此写响应通道的带宽需求小于写地址通道/读地址通道的带宽需求。所以为了进一步减少FIFO存储器所占面积,可以将写响应通道的FIFO存储器的深度配置为小于地址通道的FIFO存储器的深度。

在一些具体实施方式中,如图1所示,数据通道还包括设置在第一时钟域的第一格雷码映射模块、第一寄存器、第一同步器和第一比较器,以及设置在第二时钟域的第二格雷码映射模块、第二寄存器、第二同步器和第二比较器。

其中,第一格雷码映射模块用于将写指针映射成第一格雷码,第二格雷码映射模块用于将读指针映射成第二格雷码。具体实现时,第一格雷码映射模块可以通过查询预先配置的对应关系表,从该对应关系表中查询到当前写指正对应的格雷码,从而将查询到的格雷码作为第一格雷码。同样地,第二格雷码映射模块可以通过查询预先配置的对应关系表,从该对应关系表中查询到当前读指正对应的格雷码,从而将查询到的格雷码作为第二格雷码。第一寄存器用于缓存第一格雷码映射模块映射出的第一格雷码,第二寄存器用于缓存第二格雷码映射模块映射出的第二格雷码,第一寄存器的数量和第二寄存器的数量相等。当第二格雷码由第二时钟域被传递至第一时钟域后,第一同步器用于对第二格雷码消除亚稳态。同样地,当第一格雷码由第一时钟域被传递至第二时钟域后,第二同步器用于对第一格雷码消除亚稳态。

第一格雷码依次经过第一寄存器和第二同步器后输入第二比较器,第二格雷码经过第二寄存器后也输入第二比较器,第二比较器通过比较第一格雷码和第二格雷码,控制读空信号。其中,当第一格雷码和第二格雷码相等时,第二比较器控制读空信号抬升,例如控制读空信号保持为1,从而使得FIFO存储器不能继续被读出数据。

第一格雷码经过第一寄存器后还输入第一比较器,第二格雷码还依次经过第二寄存器和第一同步器后输入第一比较器,第一比较器通过比较第一格雷码和第二格雷码,控制写满信号。其中,当第一格雷码比第二格雷码多走了一个循环时,第一比较器控制写满信号抬升,例如控制写满信号保持为1,从而使得FIFO存储器不能继续被写入数据。

在一些具体实施方式中,如图1所示,数据通道还包括设置在第一时钟域的多路复用器Multiplexer,多路复用器用于根据第二格雷码从FIFO存储器中选择目标数据,并将选择的目标数据搬运至第二时钟域。如图1所示,目标数据被搬运至第二时钟域中的负载寄存器(payload寄存器)。本公开中,通过将多路复用器设置在第一时钟域,可以使跨越分区边界的信号不会随FIFO存储器深度而成倍增加,能有效降低信号线布线难度。

本公开实施例还提供一种SOC(System on Chip,系统级芯片),该SOC包括上述任一实施例中所述的异步桥。

本公开实施例还提供一种电子组件,该电子组件包括上述SOC。在一些使用场景下,该电子组件的产品形式体现为显卡;在另一些使用场景下,该电子组件的产品形式体现为CPU主板。

本公开实施例还提供一种电子设备,该电子设备包括上述电子组件。在一些使用场景下,该电子设备的产品形式是便携式电子设备,例如智能手机、平板电脑、VR设备等;在一些使用场景下,该电子设备的产品形式是个人电脑、游戏主机、工作站、服务器等。

基于同一发明构思,本公开实施例还提供一种芯片设计方法,该方法可应用于芯片设计辅助工具。参考图7,图7是本公开一实施例提供的芯片设计方法的流程示意图。如图7所示,该芯片设计方法包括一下步骤:

S710:获取第一参数Wd、第二参数Rd及第三参数Gd,第一参数是第一同步器的拍数,第二参数是第二同步器的拍数,第三参数是第一寄存器的个数。

在一些具体实施方式中,第一参数Wd、第二参数Rd及第三参数Gd中的一部分是用户手动设置的,另一部分是芯片设计辅助工具自动生成。或者第一参数Wd、第二参数Rd及第三参数Gd均是由用户手动设置的。或者第一参数Wd、第二参数Rd及第三参数Gd均是由芯片设计辅助工具自动生成。

在一些具体实施方式中,在执行步骤S710之前,第一参数Wd、第二参数Rd及第三参数Gd已经被设置完成或已经被生成,且已经被存储至存储模块中。在执行步骤S710时,芯片设计辅助工具通过访问存储模块,从而读取到第一参数Wd、第二参数Rd及第三参数Gd。

S720:对第一参数Wd、第二参数Rd、第三参数Gd及数据值1进行求和,并将求和结果作为FIFO存储器的最小深度。

具体地,FIFO存储器的最小深度D=Wd+Rd+Gd+1。

本公开中,第一同步器和第一寄存器位于异步桥的数据通道的第一时钟域,第二同步器位于数据通道的第二时钟域,第一寄存器用于缓存第一格雷码,第一同步器用于对第二格雷码消除亚稳态,第二同步器用于对第一格雷码消除亚稳态,第一格雷码是由写指针映射成的格雷码,第二格雷码是由读指针映射成的格雷码。

在一些具体实施方式中,该方法还包括:将FIFO存储器的最小深度确定为FIFO存储器的深度。换言之,将第一参数Wd、第二参数Rd、第三参数Gd及数据值1的求和结果直接作为FIFO存储器的深度。

在一些具体实施方式中,在执行步骤S710之前,该方法还包括:判断第一时钟域的时钟频率和第二时钟域的时钟频率是否相等,在两者相等的情况下,才通过步骤S710和S720的方式确定FIFO存储器的深度。

尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。

显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

相关技术
  • 显示组件、电子设备和电子设备的控制方法
  • 电子设备显示屏驱动芯片驱动方法、装置及电子设备
  • 卡托组件、电子设备和卡托组件控制方法
  • 电子设备、盖板组件和盖板组件的装配方法
  • 网页中拖拽组件定位方法、存储介质、电子设备及系统
  • 数据传输方法、装置、SOC芯片、电子组件及电子设备
  • SOC芯片、针对SOC芯片的数据备份方法及电子设备
技术分类

06120115920094