一种晶上系统配置管理的总线协议电路拓扑及方法、装置转让专利

申请号 : CN202310322677.6

文献号 : CN116049088B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张坤邓庆文胡守雷

申请人 : 之江实验室

摘要 :

本发明公开了一种晶上系统配置管理的总线协议电路拓扑及方法、装置,该方法包含协议报文格式、在晶上系统中的电路拓扑结构、协议的主从控制器电路逻辑功能。所述协议报文可以将配置信息通过目标芯粒附近的芯粒经由芯粒间通信总线进行配置,实现冗余配置。所述晶上系统的电路拓扑结构中,每个光罩范围内的所有处理器芯粒共享一条自定义总线,系统中不同光罩拥有各自独立的总线通道,实现了全局并行、局部串行的配置模式。本发明可节省晶上系统中硅基板与承载外围配套电路的PCB板间的互连密度、提升系统配置速度和效率、提升系统配置的稳定性和可靠性、实现配置通路的冗余。

权利要求 :

1.一种晶上系统配置管理的总线协议电路拓扑,其特征在于,该电路拓扑包括主控制器、物理连线和从控制器;

所述晶上系统上的配置管理总线拓扑采用多主多从架构,其系统中硅基板内的无源电路由多个重复的光罩区域组成,每个光罩范围内采用单主多从模式架构,包含一个主控制器、一条独立的通信通道和若干从控制器;

所述通信通道由一根时钟线和一根数据线组成,每个从设备都有一个唯一的地址,以总线的方式挂接在总线上;

所述从设备即从控制器所在的芯粒;

所述总线协议由起始位、目的地址、路由地址、寄存器地址、读写标志、数据字段、校验字段、停止位和应答位组成,用于负责配置管理的主控制设备与各个芯粒的数据通信;

所述主控制器位于晶上系统供电PCB载板上的主控制设备中,所述主控制器的数量与硅基板上光罩区的数量相同,用于与晶上系统的芯粒中的从控制器建立通信,写入或读取数据到从控制器;

所述从控制器位于晶上系统的芯粒中,每个芯粒中包含一个从控制器,用于接收主控制器下发的数据或根据主控制器下发的命令上传数据;

所述物理连线由PCB载板中的连线、支撑结构中的弹性连接器和硅基板中的金属线共同组成,连接多个主从控制器。

2.根据权利要求1所述的一种晶上系统配置管理的总线协议电路拓扑,其特征在于,该电路使用内部只有金属连线的无源硅基板,其电路拓扑为整体并行、局部串行结构,即整个晶上系统的硅基板中电路由一个光罩经多次重复曝光、刻蚀而成,每个光罩范围内的处理器芯粒使用串行总线接口连接,而不同光罩电路区域的处理器芯粒采用独立的接口进行配置。

3.根据权利要求1所述的一种晶上系统配置管理的总线协议电路拓扑,其特征在于,所述总线从控制器,主要由芯粒从控制器配置接口报文处理状态机和芯粒间通信接口配置报文处理状态机组成,包含报文解析、报文校验、报文路由功能;通过晶上系统配置管理的总线接口与协议与主控制器通信或通过芯粒间互连接口协议与其他处理器芯粒通信,实现配置管理报文的路由。

4.根据权利要求1所述的一种晶上系统配置管理的总线协议电路拓扑,其特征在于,所述的电路拓扑,为每个光罩范围内的处理器芯粒分配不同的从机地址并共享同一条总线,每个芯粒的所有地址IO内部设计了上拉电阻,在硅基板中将置1的地址IO做悬空处理,即硅基板中没有金属线与其连接,将置0的地址IO直接通过金属连线与硅基板中的GND平面或连线连接。

5.一种晶上系统配置管理的总线协议电路拓扑的运行方法,应用于权利要求1‑4中任意一项所述的总线协议电路拓扑,其特征在于,该方法包括以下步骤:(1)主控制设备接收外部管理服务器发送过来的配置报文,主控制设备内部的从控制器和报文解析逻辑将收到的报文进行解析,然后查找内部存储器中的通道地址映射表,找出需要配置的目的芯粒所对应的配置通道和目的地址,若目标配置芯粒所在的通道损坏,需要通过其他通道配置目标芯粒以及找出其路由地址;其整个晶上系统的配置装置包括若干配置通道,每个配置通道串接若干芯粒,对应若干个不同的目的地址;

(2)主控制设备中的报文解析模块将目标配置芯粒的目的地址、路由地址、目标寄存器地址、数据参数发送到目标芯粒对应的主控制器中,目标芯粒的主控制器将这些信息转换成自定义报文并发送;

(3)芯粒中的从控制器将从总线收到的自定义报文进行校验和解析,根据路由地址判断是否配置本芯粒,若配置本芯粒则提取目的寄存器地址和数据准备配置,若配置其他芯粒,则重新组成一个配置类型的报文,转发到路由地址对应方向的发送控制器中通过芯粒之间的高速通信总线进行配置报文发送;

(4)其他芯粒若接收到相邻芯粒路由过来的配置报文,则先校验和解析报文,提取其中路由地址,若发现目标芯粒为本芯粒,则提取其目的寄存器地址和数据对本芯粒进行配置;

若发现目标芯粒非本芯粒,则将路由跳数计数减1,重新计算校验值,然后封包并依据路由方向通过芯粒间通信控制器继续发送配置报文,直至找到目标芯粒并完成配置为止;

(5)完成对目标芯粒的配置后,目标芯粒反馈应答报文,应答报文沿着配置路由路径返回到主控制设备。

6.根据权利要求5所述的一种晶上系统配置管理的总线协议电路拓扑的运行方法,其特征在于,所述芯粒中的从控制器中还包含解析其他芯粒,其通过芯粒间通信通道传输的配置报文的具体步骤如下:(2.1)提取报文标识字段,若发现为配置报文,则校验并解析报文,否则,忽略此报文;

(2.2)若报文标识字段指示目的路由地址为本芯粒,则提取配置信息,对本芯粒寄存器进行配置;

(2.2)报文标识字段指示路由地址非本芯粒,则修改路由地址字段中的跳数、重新计算并修改校验字段,然后根据路由地址经由芯粒间通信通道发送到其他芯粒。

7.根据权利要求5所述的一种晶上系统配置管理的总线协议电路拓扑的运行方法,其特征在于,所述自定义报文包含起始位、目的地址、路由地址、寄存器地址、读写标志、数据字段、校验字段、停止位和应答位。

8.根据权利要求6所述的一种晶上系统配置管理的总线协议电路拓扑的运行方法,其特征在于,所述校验字段为主控制器或从控制器接收完报文中的校验数据后,对寄存器地址和数据内容进行校验,若校验结果正确,则之后返回正确的应答位,若校验结果错误,则之后返回错误的应答位,主控制器或从控制器接收到错误的应答位后启动重传机制,连续三次重传均校验失败后停止重传并上报错误。

9.根据权利要求6所述的一种晶上系统配置管理的总线协议电路拓扑的运行方法,其特征在于,所述配置报文中有8位路由字段,将8位路由地址字段的每两bit分配一个方向,所述方向为东、西、南或北;每个方向bit位中的数值代表路由跳数,处理器芯粒上的从控制器按照路由字段中的值将配置报文向对应方向进行路由,每个方向最多三跳,若路由地址字段为全0,则配置的目标为从控制器所在的处理器芯粒,不需要路由。

10.一种晶上系统配置管理的总线协议电路拓扑装置,应用于权利要求1‑4中任意一项所述的总线协议电路拓扑,其特征在于,该装置包括以下模块:报文解析模块:主控制设备接收外部管理服务器发送过来的配置报文,主控制设备内部的从控制器和报文解析逻辑将收到的报文进行解析,然后查找内部存储器中的通道地址映射表,找出需要配置的目的芯粒所对应的配置通道和目的地址,若目标配置芯粒所在的通道损坏,需要通过其他通道配置目标芯粒以及找出其路由地址;其整个晶上系统的配置装置包括若干配置通道,每个配置通道串接若干芯粒,对应若干个不同的目的地址;

报文转换模块:主控制设备中的报文解析模块将目标配置芯粒的目的地址、路由地址、目标寄存器地址、数据参数发送到目标芯粒对应的主控制器中,由目标芯粒的主控制器将这些信息转换成自定义报文并发送;

判断配置模块:芯粒中的从控制器将从总线收到的自定义报文进行校验和解析,根据路由地址判断是否配置本芯粒,若配置本芯粒则提取目的寄存器地址和数据准备配置,若配置其他芯粒,则重新组成一个配置类型的报文,转发到路由地址对应方向的发送控制器中通过芯粒之间的高速通信总线进行配置报文发送;其他芯粒若接收到相邻芯粒路由过来的配置报文,则先校验和解析报文,提取其中路由地址,若发现目标芯粒为本芯粒,则提取其目的寄存器地址和数据对本芯粒进行配置;若发现目标芯粒非本芯粒,则将路由跳数计数减1,重新计算校验值,然后封包并依据路由方向通过芯粒间通信控制器继续发送配置报文,直至找到目标芯粒并完成配置为止;

反馈应答模块:完成对目标芯粒的配置后,目标芯粒反馈应答报文,应答报文沿着配置路由路径返回到主控制设备。

说明书 :

一种晶上系统配置管理的总线协议电路拓扑及方法、装置

技术领域

[0001] 本发明涉及集成电路技术领域,尤其涉及一种晶上系统配置管理的总线协议电路拓扑及方法、装置。

背景技术

[0002] 随着深度学习、大规模数据交换等领域对处理器算力需求的不断提升,单一处理器已经无法满足所有用于大规模数据处理的场景。于是,晶圆级处理器以其极高的互联带宽和功率密度等优势被重新提出,通过将多个同构或异构的处理器芯粒集成在一块大尺寸晶圆或类似的高速介质上,由高速总线将各个芯粒彼此互联,进而实现一个超大规模的处理器集群。
[0003] 对于普通芯片或芯粒,其传统的配置方式一般采用JTAG、IIC、SPI、UART、PCIE等接口协议进行配置管理,而对于多芯粒或多芯片组成的系统,可以采用JTAG菊花链、IIC总线(一主多从)、SPI总线(一主多从)等拓扑结构连接并配置。
[0004] 晶上系统中一般含有几百个芯粒,其所有配置接口的时钟线、数据线、控制线需通过硅基板连接到负责供电和外围配套电路的PCB载板上,如采用传统的总线接口(如IIC或SPI)进行配置,则存在配置接口的总连线数量巨大、连线密度大、配置效率低等问题,对于IIC接口,若干从设备共享一条时钟线和一条数据线,每个从设备还需要若干条地址线为其分配不同的地址。对于SPI设备,若干从设备共享一条时钟线和两条数据线,每个从设备还需要一条片选线。对于包含大量芯粒的晶上系统,其配置信号线数量巨大。
[0005] 晶上系统中,大尺寸硅基板与负责供电及外围配套电路的大尺寸PCB载板之间的电路连接,包含所有供电、时钟、复位、配置等功能连线,而晶上系统中处理器芯粒之间的间隙非常小(一般为100um左右),无法将大量的连接线扇出,因此硅基板与PCB板之间的电路连接密度非常高。过高密度的电路连接对PCB及硅基板的加工精度提出了更高的要求,而且还会导致信号串扰问题,如果硅基板与PCB板之间采用弹性连接器进行连接,过高的弹性连接器密度不但增加了系统装配成本,还会挑战弹性连接器的加工极限,甚至工厂无法生产出合适伸缩率的小直径弹性连接器。如采用JTAG接口以菊花链的方式将处理器芯粒串联成若干条菊花链,可以有效减少硅基板与PCB板之间的电路连接数量,但晶上系统中,大尺寸PCB板与大尺寸硅基板都存在翘曲问题,硅基板内部电路也存在一定的故障率,菊花链的其中一个环节故障会影响整个链的通信,进而导致整个链上的所有处理器芯粒无法被配置和管理。
[0006] 同时,受限于晶圆制造厂的光罩尺寸的限制,对于大尺寸硅基板,其面积远超单个光罩的面积,因此无法对整个硅基板进行全局曝光,需要将其划分为若干个区域,每个区域的硅基板内电路完全相同,才能使用一个光罩对硅基板的各个区域进行逐个重复曝光才能覆盖整个硅基板,所以配置管理总线的电路结构需要保证每个光罩区域的一致性。
[0007] 此外,因为晶上系统配置电路的物理通路可能因为工艺问题而部分失效,需要在设计配置通路时,加入冗余设计,以便在某些处理器芯粒的直接配置通道出现故障时,使用冗余配置通路对其进行配置。
[0008] 因此,基于以上问题,目前成熟的总线协议无法满足晶上系统对配置总线占用PAD(硅基板的管脚,与外部PCB板对接)少、拓扑结构简单、具备冗余通路、通信高效可靠等特点,需要一个适用于晶上系统配置管理的总线协议及电路拓扑。

发明内容

[0009] 针对现有技术的不足,本发明提供一种适用于晶上系统配置管理的总线协议及电路拓扑。
[0010] 本发明采用的技术方案如下:
[0011] 一种晶上系统配置管理的总线协议电路拓扑,该电路拓扑包括:主控制器、物理连线和从控制器;
[0012] 所述晶上系统上的配置管理总线拓扑采用多主多从架构,其系统中硅基板内的无源电路由多个重复的光罩区域组成,每个光罩范围内采用单主多从模式架构,包含一个主控制器、一条独立的通信通道和若干从控制器;
[0013] 所述通信通道由一根时钟线和一根数据线组成,每个从设备都有一个唯一的地址,以总线的方式挂接在总线上;
[0014] 所述从设备即从控制器所在的芯粒;
[0015] 所述总线协议由起始位、目的地址、路由地址、寄存器地址、读写标志、数据字段、校验字段、停止位和应答位组成,用于负责配置管理的主控制设备与各个芯粒的数据通信。
[0016] 所述主控制器位于晶上系统供电PCB载板上的主控制设备中,所述主控制器的数量与硅基板上光罩区的数量相同,用于与晶上系统的芯粒中的从控制器建立通信,写入或读取数据到从控制器;
[0017] 所述从控制器位于晶上系统的芯粒中,每个芯粒中包含一个从控制器,用于接收主控制器下发的数据或根据主控制器下发的命令上传数据;
[0018] 所述物理连线由PCB载板中的连线、支撑结构中的弹性连接器和硅基板中的金属线共同组成,连接多个主从控制器。
[0019] 进一步地,该电路的使用内部只有金属连线的无源硅基板,其电路拓扑为整体并行、局部串行结构,即整个晶上系统的硅基板中电路由一个光罩经多次重复曝光、刻蚀而成,每个光罩范围内的处理器芯粒使用串行总线接口连接,而不同光罩电路区域的处理器芯粒采用独立的接口进行配置。
[0020] 进一步地,所述总线从控制器,主要由芯粒从控制器配置接口报文处理状态机和芯粒间通信接口配置报文处理状态机组成,包含报文解析、报文校验、报文路由功能;可以通过晶上系统配置管理的总线接口与协议与主控制器通信或通过芯粒间互连接口协议与其他处理器芯粒通信,实现配置管理报文的路由。
[0021] 进一步地,所述的电路拓扑,为每个光罩范围内的处理器芯粒分配不同的从机地址并共享同一条总线,每个芯粒的所有地址IO内部设计了上拉电阻,在硅基板中将置1的地址IO做悬空处理,即硅基板中没有金属线与其连接,将置0的地址IO直接通过金属连线与硅基板中的GND平面或连线连接。
[0022] 一种晶上系统配置管理的总线协议电路拓扑的运行方法,应用于所述的总线协议电路拓扑,该方法包括以下步骤:
[0023] (1)主控制设备接收外部管理服务器发送过来的配置报文,主控制设备内部的从控制器和报文解析逻辑将收到的报文进行解析,然后查找内部存储器中的通道地址映射表,找出需要配置的目的芯粒所对应的配置通道和目的地址,若目标配置芯粒所在的通道损坏,需要通过其他通道配置目标芯粒以及找出其路由地址;其整个晶上系统的配置装置包括若干配置通道,每个配置通道串接若干芯粒,对应若干个不同的目的地址;
[0024] (2)主控制设备中的报文解析模块将目标配置芯粒的目的地址、路由地址、目标寄存器地址、数据参数发送到目标芯粒对应的主控制器中,目标芯粒的主控制器将这些信息转换成自定义报文并发送;
[0025] (3)芯粒中的从控制器将从总线收到的自定义报文进行校验和解析,根据路由地址判断是否配置本芯粒,若配置本芯粒则提取目的寄存器地址和数据准备配置,若配置其他芯粒,则重新组成一个配置类型的报文,转发到路由地址对应方向的发送控制器中通过芯粒之间的高速通信总线进行配置报文发送;
[0026] (4)其他芯粒若接收到相邻芯粒路由过来的配置报文,则先校验和解析报文,提取其中路由地址,若发现目标芯粒为本芯粒,则提取其目的寄存器地址和数据对本芯粒进行配置。若发现目标芯粒非本芯粒,则将路由跳数计数减1,重新计算校验值,然后封包并依据路由方向通过芯粒间通信控制器继续发送配置报文,直至找到目标芯粒并完成配置为止;
[0027] (5)完成对目标芯粒的配置后,目标芯粒反馈应答报文,应答报文沿着配置路由路径返回到主控制设备。
[0028] 进一步地,所述芯粒中的从控制器中还包含解析其他芯粒,其通过芯粒间通信通道传输的配置报文的具体步骤如下:
[0029] (2.1)提取报文标识字段,若发现为配置报文,则校验并解析报文,否则,忽略此报文;
[0030] (2.2)若报文标识字段指示目的路由地址为本芯粒,则提取配置信息,对本芯粒寄存器进行配置;
[0031] (2.2)报文标识字段指示路由地址非本芯粒,则修改路由地址字段中的跳数、重新计算并修改校验字段,然后根据路由地址经由芯粒间通信通道发送到其他芯粒。
[0032] 具体地,所述自定义报文包含起始位、目的地址、路由地址、寄存器地址、读写标志、数据字段、校验字段、停止位和应答位。
[0033] 具体地,所述配置管理报文中的校验字段,所述主控制器或从控制器接收完报文中的校验数据后,对寄存器地址和数据内容进行校验,若校验结果正确,则之后返回正确的应答位,若校验结果错误,则之后返回错误的应答位,主控制器或从控制器接收到错误的应答位后启动重传机制,连续三次重传均校验失败后停止重传并上报错误。
[0034] 具体地,所述配置管理报文中有8位路由字段,将8位路由地址字段的每两bit分配一个方向,所述方向为东、西、南或北;每个方向bit位中的数值代表路由跳数,处理器芯粒上的从控制器按照路由字段中的值将配置报文向对应方向进行路由,每个方向最多三跳,若路由地址字段为全0,则配置的目标为从控制器所在的处理器芯粒,不需要路由。
[0035] 一种晶上系统配置管理的总线协议电路拓扑装置,应用于所述的总线协议电路拓扑,该装置包括以下模块:
[0036] 报文解析模块:主控制设备接收外部管理服务器发送过来的配置报文,主控制设备内部的从控制器和报文解析逻辑将收到的报文进行解析,然后查找内部存储器中的通道地址映射表,找出需要配置的目的芯粒所对应的配置通道和目的地址,若目标配置芯粒所在的通道损坏,需要通过其他通道配置目标芯粒以及找出其路由地址;其整个晶上系统的配置装置包括若干配置通道,每个配置通道串接若干芯粒,对应若干个不同的目的地址;
[0037] 报文转换模块:主控制设备中的报文解析模块将目标配置芯粒的目的地址、路由地址、目标寄存器地址、数据参数发送到目标芯粒对应的主控制器中,由目标芯粒的主控制器将这些信息转换成自定义报文并发送;
[0038] 判断配置模块:芯粒中的从控制器将从总线收到的自定义报文进行校验和解析,根据路由地址判断是否配置本芯粒,若配置本芯粒则提取目的寄存器地址和数据准备配置,若配置其他芯粒,则重新组成一个配置类型的报文,转发到路由地址对应方向的发送控制器中通过芯粒之间的高速通信总线进行配置报文发送;其他芯粒若接收到相邻芯粒路由过来的配置报文,则先校验和解析报文,提取其中路由地址,若发现目标芯粒为本芯粒,则提取其目的寄存器地址和数据对本芯粒进行配置;若发现目标芯粒非本芯粒,则将路由跳数计数减1,重新计算校验值,然后封包并依据路由方向通过芯粒间通信控制器继续发送配置报文,直至找到目标芯粒并完成配置为止;
[0039] 反馈应答模块:完成对目标芯粒的配置后,目标芯粒反馈应答报文,应答报文沿着配置路由路径返回到主控制设备。
[0040] 本发明的有益效果如下:
[0041] 实现了一种局部串行、全局并行的针对于晶上系统配置管理的总线电路拓扑,定义了总线上的报文格式,设计了总线主控制器和从控制器的电路功能。局部串行总线结构使每个光罩范围内的芯粒共享一条配置总线,即与PCB中的主控制器芯片之间只需要两根信号线即可完成单光罩范围内所有芯粒的配置,这极大缩减了由大量芯粒和硅基板所组成的晶圆处理器与外围配套的PCB板间的信号连接,降低了互连线密度,降低了晶圆处理器与PCB板间的连接装配精度,进而降低了装配难度,节省了装配成本。通过为每个光罩区域分配独立的配置通道,实现了整个系统的高速并行配置,也降低了整个晶上系统配置从设备的地址分配难度。当一个光罩区域的配置通道失效时,不会影响其他区域的配置通道,再配合配置报文中的路由地址,可以通过相邻配置通道经由芯粒间通信接口配置附近的芯粒,实现冗余配置,保证在任意芯粒配置通道因工艺问题失效的情况下,依然可以通过其他路径完成配置。此外,在自定义配置报文及总线主从控制器中,还加入了配置报文校验和重传机制,保证了配置报文传输的可靠性。

附图说明

[0042] 图1 为本发明的电路拓扑结构剖面示意图;
[0043] 图2 为本发明的晶上系统配置管理总线上报文的数据格式;
[0044] 图3为本发明的晶上系统芯粒排布及光罩(2×2)划分示意图;
[0045] 图4为本发明的晶上系统光罩(3×3)划分示意图;
[0046] 图5为本发明的芯粒从控制器配置接口报文处理状态机;
[0047] 图6为本发明的芯粒间通信接口配置报文处理状态机;
[0048] 图7为本发明的方法流程图。

具体实施方式

[0049] 以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0050] 一种适用于晶上系统配置管理的总线协议及电路拓扑,包括自定义晶上系统配置电路连接拓扑结构、自定义晶上系统配置总线报文格式、总线主控制器芯片及总线从控制器。
[0051] 如图7所示,一种晶上系统配置管理的总线协议电路拓扑的运行方法,该方法包括以下步骤:
[0052] (1)主控制设备接收外部管理服务器发送过来的配置报文,主控制设备内部的从控制器和报文解析逻辑将收到的报文进行解析,然后查找内部存储器中的通道地址映射表,找出需要配置的目的芯粒所对应的配置通道和目的地址,若目标配置芯粒所在的通道损坏,需要通过其他通道配置目标芯粒以及找出其路由地址;其整个晶上系统的配置装置包括若干配置通道,每个配置通道串接若干芯粒,对应若干个不同的目的地址;
[0053] (2)主控制设备中的报文解析模块将目标配置芯粒的目的地址、路由地址、目标寄存器地址、数据参数发送到目标芯粒对应的主控制器中,目标芯粒的主控制器将这些信息转换成自定义报文并发送;
[0054] (3)芯粒中的从控制器将从总线收到的自定义报文进行校验和解析,根据路由地址判断是否配置本芯粒,若配置本芯粒则提取目的寄存器地址和数据准备配置,若配置其他芯粒,则重新组成一个配置类型的报文,转发到路由地址对应方向的发送控制器中通过芯粒之间的高速通信总线进行配置报文发送;
[0055] (4)其他芯粒若接收到相邻芯粒路由过来的配置报文,则先校验和解析报文,提取其中路由地址,若发现目标芯粒为本芯粒,则提取其目的寄存器地址和数据对本芯粒进行配置。若发现目标芯粒非本芯粒,则将路由跳数计数减1,重新计算校验值,然后封包并依据路由方向通过芯粒间通信控制器继续发送配置报文,直至找到目标芯粒并完成配置为止;
[0056] (5)完成对目标芯粒的配置后,目标芯粒反馈应答报文,应答报文沿着配置路由路径返回到主控制设备。
[0057] 所述晶上系统配置管理的总线协议电路拓扑的结构,如图1所示,主控制器通过总线与芯粒1‑芯粒6连接,芯粒1‑芯粒6的配置管理总线包含一根时钟信号线(SCL)、一根数据信号线(SDA)和N根地址线(ADDR),按照芯粒的尺寸和晶圆代工厂允许光罩的大小,将由大尺寸无源硅基板(Wafer)及大量处理器芯粒(包含芯粒1、芯粒2、……、芯粒6)所组成的一整个晶圆级处理器划分为若干个相同的光罩区,如图3和图4所示。在一个光罩范围内,总线为一主多从结构,所有的从设备芯粒共享一个SCL和一个SDA,在硅基板中使用金属线将一个光罩内所有SCL和SDA信号线合并后引出到硅基板上表面的硅片的管脚(PAD)上,用于对接PCB板上的主控制器,N根地址线可以在一个光罩范围内为最多 个处理器芯粒提供不同的地址,且 ;因为无源硅基板中全是金属连线,内部制作上拉电阻难度大、成本高,所以在芯粒中所有地址IO内部设计有上拉电阻,在硅基板中将置1的地址IO做悬空处理,即硅基板中不做金属线与其连接,将置0的地址IO直接通过金属连线与硅基板中的GND平面或连线进行连接,这样在硅基板中就可以完成对铜光罩区域内不同芯粒配置地址的分配,而不需要占用与PCB板对接的PAD,同时也降低了系统中芯粒配置地址分配的难度。在整个晶上系统中,配置总线的拓扑为多主多从结构,任意两个光罩内的芯粒组之间拥有独立的配置通道,并行配置通道既保证了配置速度,又保证了系统配置的可靠性,其中一个物理配置通道的失效只会影响其所对应光罩内芯粒的配置,不会影响其他光罩内芯粒的配置。
[0058] 进一步的,所述晶上系统配置管理的总线协议电路拓扑的配置总线报文格式,如图2所示,包含一个起始位(S)、4位设备地址字段、8位路由地址字段、8位寄存器地址字段、一个读写标志位(R/W)、8×N位数据字段、4位校验字段、一个停止位(P)和若干应答位(A)。
[0059] 所述起始位:为总线通信起始标志,通过这个起始位通知从设备开始通信,在SCL为高电平的时候,SDA出现下降沿就表示为起始位;
[0060] 所述4位设备地址字段:代表报文所要到达的目的芯粒,每个光罩内最多可容纳16个芯粒,但目的地址所对应的芯粒并不一定是需要配置的芯粒,它可能只是一个中转芯粒,将配置信息通过芯粒间通信总线转发到其他芯粒,配置信息需要实际配置到哪个芯粒中,需要根据下面所述的路由地址来确定;
[0061] 所述8位路由地址字段:若一个光罩中的配置通道失效,或某一个芯粒的配置接口故障,则需要使用其他光罩对应的配置通道通过设置合适的路由地址,将配置数据通过其他芯粒经由芯粒间通信总线发送到目标配置芯粒中,以实现晶上系统中配置通道的冗余。路由地址字段中每两个bit分别代表东、西、南、北四个路由方向,两bit内的数值代表在此方向上路由的跳数,每个报文最多可以在一个方向上跳3次,若路由字段中所有bit全为0,则不需要路由跳转,目的地址对应的芯粒即为配置的目标芯粒;
[0062] 所述8位寄存器地址字段:标识着芯粒中所需配置的功能对应的寄存器地址;
[0063] 所述读写标志位:标志着报文的读写类型,若标识为写数据,则将相应的数据字段写入相应的芯粒的寄存器地址,若标识为读数据,则芯粒的从控制器返回相应寄存器地址中的数据;
[0064] 所述8×N位数据字段:可以读写一个字节,也可以一次连续读写多个字节的数据;
[0065] 所述4位校验字段:检验配置报文中的目的地址、路由地址、寄存器地址、配置数据的正确性和完整性,使用校验算法(CRC、SHA或MD5等),计算这些数据的校验结果,并将计算出的校验结果与校验字段中的数据进行比较,若校验结果正确,则随后反馈正确的应答位,反之,则反馈错误的应答位;
[0066] 所述停止位:为总线通信结束标志,通过这个停止位通知从机结束通信,在SCL为高电平的时候,SDA出现上升沿就表示为停止位;
[0067] 所述若干应答位:图2中的“A”字段表示应答位,从设备芯粒在收到一个字段的数据后,反馈正确应答,通知主控制器,若主控制器在规定时间内没有收到应答或收到错误应答,则主控制器启动重传机制,重复发送报文,若正确响应,则结束重传,若重传三次报文均无法得到正确响应,则主控制器上报错误的配置通道号,同时使用选取离目的芯粒最近的芯粒和通道对其进行路由配置,直至配置成功为止;
[0068] 所述总线主控制器芯片,如图1所示,位于晶圆处理器的配套电路的PCB载板上,内部包含多个总线主控制器、报文重传逻辑电路、校验算法电路等,可同时对多个光罩区域的芯粒组进行并行独立配置。
[0069] 所述总线从控制器,如图1所示,位于晶上系统中每个处理器芯粒内部,其逻辑功能主要由两个状态机组成,一个是配置接口报文处理状态机,如图5所示,另一个是芯粒间通信接口配置报文处理状态机,如图6所示。
[0070] 如图1‑4所示,一种适用于晶上系统配置管理的总线协议及电路拓扑,用于12寸晶上系统中,12寸硅基板上按照图3所示的排列结构搭载了308颗处理器芯粒(包括A型对外连接芯粒和X型内部连接芯粒),组成12寸晶圆级处理器,芯粒间的连接拓扑为二维网格(2D mesh)结构,每个芯粒尺寸为12×12mm,芯粒间的间隙为100um,硅基板使用中芯国际代工厂进行生产,其内部只包含金属连线,为无源硅基板,其光罩的最大尺寸为25.5mm×33mm,如图3所示划分光罩区域,每个光罩包含4个芯粒区域,四个芯粒的二进制地址分别为00、01、10、11,仅需使用两个地址bump(即芯粒上的微凸点),将置0的地址bump通过硅基板中的金属连线,统一连接到硅基板中的地平面上,将置1的地址bump不与硅基板上的任何金属线互连,晶上系统的硅基板和负责承载供电和配套电路的PCB载板之间使用弹性连接器连接,弹性连接器嵌入在由环氧树脂材料制作的支撑结构中,配置电路按照如图1所示结构进行连接,通信速率为5MHz,主控制器芯片中包含77个配置总线主控制器,从控制器位于处理器芯粒内部。所述光罩范围受限于晶圆制造厂的光罩尺寸的限制,对于大尺寸硅基板,其面积远超单个光罩的面积,因此无法对整个硅基板进行全局曝光,需要将其划分为若干个区域,每个区域的硅基板内电路完全相同,才能使用一个光罩对硅基板的各个区域进行逐个重复曝光才能覆盖整个硅基板,所以配置管理总线的电路结构需要保证每个光罩区域的一致性。
[0071] 实际工作时,配置命令由PCB载板上的主控制器发起,若想配置光罩范围内4个处理器芯粒中的第三个芯粒,则设备地址字段填写0010,路由地址填写00000000,其中路由地址字段中的数字代表路由方向和跳数,bit6‑bit7代表东面路由,内部的数字代表往东跳几个芯粒,bit4‑bit5代表西面路由,内部的数字代表往西跳几个芯粒,bit2‑bit3代表南面路由,内部的数字代表往南跳几个芯粒,bit0‑bit1代表北面路由,内部的数字代表往北跳几个芯粒。R/W字段为0,代表写寄存器操作,寄存器地址和数据字段再填写需要配置的地址和数据,校验选择循环冗余校验CRC算法,取其后四位填入校验字段,将各字段按照图2所示格式组装成报文。若此芯粒东边相邻的芯粒直接配置通道失效,可通过本芯粒经由芯粒间通信通道配置其芯粒,则路由地址变为01000000,01代表东边路由只有一跳,若此芯粒南边第三个芯粒直接配置通道失效而需要本芯粒进行配置,则路由地址变为00001100。
[0072] 所述图3每个光罩尺寸内包含的芯粒数量及排布方式是(2×2)划分和图4每个光罩尺寸内包含的芯粒数量及排布方式是(3×3)划分。
[0073] 如图5所示,当芯粒中的从控制器配置接口报文处理状态机接收到主控制器发送的配置报文时,首先在IDLE状态接收完地址、数据和校验字段后分别发出响应信号(A=0),主控制器接收到响应信号后才能继续发送下一个字段,当接收完报文中的数据后,使用内部CRC算法(循环冗余校验算法)开始对路由地址、寄存器地址和数据进行整体校验,若校验成功,则证明收到的数据具备完整性,转入S1状态进行处理,若校验失败,则反馈错误响应信号(A=1),主控制器接收到错误响应信号后,会启动重传机制,重传最多三次相同的配置报文,若每次应答都是错误或无应答,则主控制器上报配置错误的芯粒地址信息,用户根据错误芯粒地址,选择其他配置通道和芯粒对其进行路由配置。所述IDLE状态为空闲状态(状态机的起始状态)。
[0074] 所述配置接口报文处理状态机,包含空闲状态IDLE,即状态机的起始状态、S1、S2、S3、S4五个状态。
[0075] IDLE状态:负责监测是否收到配置报文、报文的应答和报文的校验;
[0076] S1状态:负责配置报文的拆包、存储和配置报文路由字段的提取;
[0077] S2状态:负责根据报文中的寄存器地址和数据进行本地配置;
[0078] S3状态:负责记录路由方位信息,更新路由表(路由地址),计算并更新校验值;
[0079] S4状态:负责提取路由方位信息,分配配置信息到路由方位信息对应的芯粒间通信的控制器中,具体为:
[0080] 芯粒中从控制器的S1状态处理逻辑中,首先将路由地址、寄存器地址、数据字段的内容提取,保存到缓存中,然后判断路由地址的值,若为00000000,则为本芯粒配置,则跳转到S2状态,否则,目的配置芯粒非本芯粒,跳转到S3状态。
[0081] S2状态中,提取缓存中的寄存器地址,然后将缓存中的配置数据写入此地址,成功后跳转到IDLE状态,若写入失败,则重新写入,写入成功则停止重写,写入失败则持续重写3次,若全部失败,则发送配置失败报文给主控制器,返回到IDLE状态。
[0082] S3状态首先用两个bit位标识路由方位,其次将路由地址由01000000修改为00000000,然后重新计算路由地址、寄存器地址、配置数据整体的校验值,修改校验字段,修改完成后跳转到S4状态。
[0083] S4状态首先查询两bit路由方位信息,识别其为东向路由,则将路由地址、寄存器地址、配置数据和校验值发送到本芯粒与东边芯粒间通信的控制器发送缓存,同时置位配置报文标识,发送完成后返回到IDLE状态,芯粒间通信控制器会将配置信息封装为区别于普通类型的配置类型报文并发送;
[0084] 当芯粒中的从控制器配置接口报文处理状态机接收到相邻芯粒传输的报文时,在IDLE状态中首先提取其报文标识字段,若识别为普通类型,则不做任何处理,返回到IDLE状态,继续检测,若识别为配置类型,则进行CRC校验并发出响应,若校验结果正确并且与对方芯粒的通信控制器握手正常,则跳转到S1状态,否则发出错误响应,让对方控制器进行重传。
[0085] S1状态首先解析配置报文中的路由地址、寄存器地址、配置数据,并将其放入缓存中,然后提取路由地址中的内容,若判断其路由终点是本芯粒(对应数值为00000000),则跳转到S2状态,若判断其路由终点为其他芯粒(非全0),则跳转到S3状态;
[0086] S2状态将配置数据写入到对应的寄存器地址中,或是将对应寄存器地址中的数据读出,若写入失败,则发送错误反馈报文,处理完成后跳转到IDLE状态。
[0087] S3状态代表路由终点不是本芯粒,本芯粒只是一个中间路由节点,需要继续进行路由,首先标识路由方位,其次将路由地址对应方位的数值减1,然后重新计算路由地址、寄存器地址、配置数据整体的校验值,修改校验字段,修改完成后跳转到S4状态。
[0088] S4状态首先查询S3中标识的路由方位信息,识别路由方向,再将路由地址、寄存器地址、配置数据和校验值发送到本芯粒对应路由方向的芯粒间通信控制器的发送缓存中,同时置位配置报文标识,发送完成后返回到IDLE状态,芯粒间通信控制器会将配置信息封装为区别于普通类型的配置类型报文并发送;
[0089] 另外,本发明另一方面:一种晶上系统配置管理的总线协议电路拓扑装置,该装置包括以下模块:
[0090] 报文解析模块:主控制设备接收外部管理服务器发送过来的配置报文,主控制设备内部的从控制器和报文解析逻辑将收到的报文进行解析,然后查找内部存储器中的通道地址映射表,找出需要配置的目的芯粒所对应的配置通道和目的地址,若目标配置芯粒所在的通道损坏,需要通过其他通道配置目标芯粒以及找出其路由地址;其整个晶上系统的配置装置包括若干配置通道,每个配置通道串接若干芯粒,对应若干个不同的目的地址;
[0091] 报文转换模块:主控制设备中的报文解析模块将目标配置芯粒的目的地址、路由地址、目标寄存器地址、数据参数发送到目标芯粒对应的主控制器中,由目标芯粒的主控制器将这些信息转换成自定义报文并发送;
[0092] 判断配置模块:芯粒中的从控制器将从总线收到的自定义报文进行校验和解析,根据路由地址判断是否配置本芯粒,若配置本芯粒则提取目的寄存器地址和数据准备配置,若配置其他芯粒,则重新组成一个配置类型的报文,转发到路由地址对应方向的发送控制器中通过芯粒之间的高速通信总线进行配置报文发送;其他芯粒若接收到相邻芯粒路由过来的配置报文,则先校验和解析报文,提取其中路由地址,若发现目标芯粒为本芯粒,则提取其目的寄存器地址和数据对本芯粒进行配置;若发现目标芯粒非本芯粒,则将路由跳数计数减1,重新计算校验值,然后封包并依据路由方向通过芯粒间通信控制器继续发送配置报文,直至找到目标芯粒并完成配置为止;
[0093] 反馈应答模块:完成对目标芯粒的配置后,目标芯粒反馈应答报文,应答报文沿着配置路由路径返回到主控制设备。
[0094] 本实施例中详细描述了本发明中晶上系统的配置管理总线的电路拓扑结构、协议报文格式、及主从控制器的功能和报文处理流程。对于拥有308个芯粒的晶上系统,本发明只需77个无源硅基板与承载外围配套电路的PCB载板之间的连接点(即需要77个硅基板上的PAD和77个弹性连接器),即可满足整个晶上系统的高速配置需求,极大降低了其互连密度。同时,在系统中部分处理器芯粒的配置通道失效时,亦可以通过冗余配置通道对其进行配置,总线主从控制器的重传机制更是增加了其配置通信的可靠性和稳定性。
[0095] 综上所述,本发明提供了一种适用于晶上系统配置管理的总线协议及电路拓扑,对比SPI、IIC、JTAG等普通配置接口,本发明可以使用在基于无源硅基板的晶上系统中,具备占用互连线数量少、配置效率高、配置可靠性高、具备强大的冗余性等特点。
[0096] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化,如可以选用更小尺寸的处理器芯粒或更大尺寸的光罩,使每个光罩区域包含9个芯粒,如图4所示,9个芯粒共享同一套配置总线,进一步减少占用硅基板PAD及用于与PCB载板连接的弹性连接器数量。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。