本发明涉及一种用于在片上网络(noc)与外部接口之间传送配置、管理、调试信息和异步事件的系统和方法,其中,被称为次级网络的系统包括多个配置总线(cbus)网络元件,诸如主网络元件和多个基本网络元件;由此次级网络能够传送诸如请求、确认断言或解除断言等事件,从而无需在诸如节点或路由器等主noc元件之间连接大量导线。
背景技术:
1、片上网络的主要功能性是将片上系统(soc)内的分组化信息,诸如携带写入请求和写入数据的分组化信息,从中央处理器(cpu)传输至内存存储装置。每个noc包括两个基本组件。第一基本组件是节点,它为知识产权(ip)块提供接口以访问片上网络(noc)。诸如高级微控制器总线架构高级可扩展接口(amba axi)等接口协议被转换成称为微片(flit)的更小noc包。然后将微片发送至noc网络中。noc的另一基本组件是路由器,它能够与其他路由器连接以建立更大的noc拓扑结构,诸如网状拓扑结构、环形拓扑结构等。每个路由器还能够连接至至少一个节点。路由器负责经由路由信息解密将微片路由至正确的路径。
2、srikant bharadwaj p等人在us10944693b2中公开了一种系统,该系统包括具有片上网络的集成电路芯片,该片上网络还包括耦合在每个路由器与拓扑中的多个路由器中的该路由器的一个或多个相邻路由器中的每个之间的单独边带信道,其中,每个路由器使用相应边带信道来将操作状态信息传达至该路由器的一个或多个相邻路由器。然而,现有技术的边带信道可能仅支持固定的拓扑结构或有限数量的不同拓扑结构。现有网络也有固定参数,这些参数不能在运行时改变(即不可实时配置)。
3、yang ping的cn112597075a公开了一种路由器、片上网络和电子设备的缓存分配方法。然而,所述现有技术会引入过多的开销、过于密集的区域或密集的路由,从而使其不可扩展。
4、因此,有利的是,通过拥有用于在noc与外部接口之间传送配置、管理、调试信息和异步事件的系统和方法来缓解缺点,无论在同一次级网络内还是跨多个集成电路(ic),该系统和方法都是可扩展且轻量的。
技术实现思路
1、因此,本发明的主要目的是提供一种用于在noc与外部接口之间传送配置、管理、调试信息和异步事件的系统和方法,所述系统和方法是轻量的,由此接口信号低至四个信号。
2、本发明的又一目的是提供一种用于在noc与外部接口之间传送配置、管理、调试信息和异步事件的系统和方法,所述系统和方法提供具有基于广播的包遍历的单主机拓扑,其中,路由信息不需要遍历网络。
3、本发明的又一目的是提供一种用于在noc与外部接口之间传送配置、管理、调试信息和异步事件的系统和方法,由此通过将有线事件封装在次级网络数据包中,所述次级网络系统可在主noc元件之间传递传统的有线事件,诸如请求、确认断言或解除断言,从而免去主noc元件之间的导线交叉。
4、本发明的又另一目的是提供一种用于在noc与外部接口之间传送配置、管理、调试信息和异步事件的系统和方法,所述系统和方法由于动态发现和存根机构的实现而是可扩展的,从而向所述次级网络添加或从所述次级网络去除新节点。
5、本发明的又一目的是提供一种用于在noc与外部接口之间传送配置、管理、调试信息和异步事件的系统和方法,所述系统和方法能够实现动态枚举机构以跨芯片的或芯片边界对整个节点集群进行寻址。
6、通过理解本发明的以下详细描述或在实际实践中使用本发明,本发明的附加目的将变得显而易见。
7、根据本发明的优选实施例,提供以下内容:
8、一种次级网络,包括:
9、主网络元件;
10、其特征在于
11、所述次级网络还包括多个基本网络元件;
12、其中,所述次级网络连接至少一个片上网络(noc)与外部接口。
13、在本发明的另一实施例中,提供:
14、一种在至少一个片上网络(noc)与外部接口之间传送配置、管理、调试信息和异步事件的方法,包括以下步骤:
15、i.至少一个次级网络的至少一个第二配置总线(cbus)网络元件通过至少一个传输信用信道(txcredit)以等效于所述第二cbus网络元件中可用的供所述第一cbus网络元件发送数据的位存储量的时钟周期向至少一个第一cbus网络元件发送传输信用信号
16、‘1’;
17、ii.所述第一cbus网络元件通过至少一个传输数据信道(txdata)向所述第二cbus网络元件传送数据;
18、iii.如果当所述第一cbus网络元件通过至少一个传输有效信道(tx valid)向所述第二cbus网络元件传输传输有效信号‘1’时所述数据通过所述传输数据信道(txdata)从所述第一cbus网络元件传送至所述第二cbus网络元件,则所述第二cbus网络元件接受所述数据为有效;
19、其中,所述步骤(i)至(iii)还针对相反方向的通信进行,由此所述第一cbus网络元件通过至少一个接收信用信道(rxcredit)向所述第二cbus网络元件发送传输信用信号‘1’,所述第二cbus网络元件通过至少一个接收数据信道(rxdata)向所述第一cbus网络元件传输数据,并且如果当所述第二cbus网络元件通过至少一个接收有效信道(rxvalid)向所述第一cbus网络元件传输接收有效信号‘1’时所述数据通过所述接收数据信道(rvdata)从所述第二cbus网络元件传送至所述第一cbus网络元件,则所述第一cbus网络元件接受所述数据为有效。
1.一种次级网络(101),包括:
2.根据权利要求1所述的次级网络(101),其中,所述基本网络元件(105)包括:
3.根据权利要求2所述的次级网络(101),其中,所述端口(401)包括面向所述主网络元件(103)的方向的上行端口(401a)。
4.根据权利要求3所述的次级网络(101),还包括连接至相邻基本网络元件(105)的所述上行端口(401a)的至少一个下行端口(401b)。
5.根据权利要求2所述的次级网络(101),其中,所述端口(401)包括连接至相邻基本网络元件(105)的所述上行端口(401a)的至少一个下行端口(401b)。
6.根据权利要求1所述的次级网络(101),其中,所述主网络元件(103)包括:
7.根据权利要求6所述的次级网络(101),其中,所述端口(401)包括连接至相邻基本网络元件(105)的所述上行端口(401a)的至少一个下行端口(401b)。
8.根据权利要求3至7中任一项所述的次级网络(101),其中,所述端口(401)的配置是动态分配的。
9.根据权利要求2或6所述的次级网络(101),其中,所述配置寄存器(405)能够对所述noc的基本元件(105)的路由表、服务质量(qos)仲裁权重、所述noc(107)中的启用或禁用信道或其组合进行配置。
10.根据权利要求1所述的次级网络(101),其中,第一基本网络元件(105a)与第二基本网络元件(105b)之间的接口包括:
11.根据权利要求1所述的次级网络(101),其中,所述主网络元件(103)与相邻基本网络元件(105b)之间的接口包括:
12.根据权利要求10或11所述的次级网络(101),其中,所述传输数据信道(txdata)和所述接收数据信道(rxdata)传输1位的串行数据。
13.根据权利要求10或11所述的次级网络(101),其中,所述传输数据信道(txdata)和所述接收数据信道(rxdata)能够传输或接收用于写入请求、读取请求、读取完成、消息或其组合的数据包。
14.根据权利要求1所述的次级网络(101),其中,所述第二网络(101)还包括第一cbus网络元件(201a)内部的至少一个第一时钟同步机构(1205a)和第二cbus网络元件(201b)内部的至少一个第二时钟同步机构(1205b),以用于一个次级网络(101)中的两个cbus网络元件(201a、201b)之间的异步时钟调整,或包括第一次级网络(101a)内部的所述第一时钟同步机构(1205a),同时包括所述第二次级网络(101b)内部的至少一个第二时钟同步机构(1205b),以用于跨多个集成电路(ic)
15.根据权利要求14所述的次级网络(101),其中,所述时钟同步是异步先进先出(fifo)缓冲器。
16.根据权利要求14所述的次级网络(101),其中,所述次级网络(101)还包括连接至少一个所述基本网络元件(105)与所述时钟同步机构(1205a、1205b)的至少一个邮箱寄存器。
17.根据权利要求1所述的次级网络(101),其中,所述noc(107)包括至少一个noc元件(111)。
18.根据权利要求17所述的次级网络(101),其中,所述noc元件(111)包括至少一个主路由器、至少一个请求节点(111a)、至少一个家庭节点(111b)或其组合。
19.一种在至少一个片上网络(noc)(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,包括以下步骤:
20.根据权利要求19所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,跨多个集成电路(ic)(1201、1203)的所述两个cbus网络元件(201)之间的所述传输信用信道(txcredit)、传输数据信道(txdata)、传输有效信道(txvalid)、接收信用信道(rxcredit)、接收数据信道(rxdata)和接收有效信道(rxvalid)由至少一个时钟同步机构(1205a、1205b)缓冲,其中,所述时钟同步机构(1205a、1205b)还包括将用于所述传输信用信道(txcredit)、传输数据信道(txdata)、传输有效信道(txvalid)、接收信用信道(rxcredit)、接收数据信道(rxdata)和接收有效信道(rxvalid)的信号同步至本地时钟的时钟信道(txclk)。
21.根据权利要求19所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,同一次级网络(101)中的所述两个cbus网络元件(201a、201b)之间的所述传输信用信道(txcredit)、传输数据信道(txdata)、传输有效信道(txvalid)、接收信用信道(rxcredit)、接收数据信道(rxdata)和接收有效信道(rxvalid)由至少一个时钟同步机构(1205a、1205b)缓冲,其中,所述时钟同步机构(1205a、1205b)还包括将用于所述传输信用信道(txcredit)、传输数据信道(txdata)、传输有效信道(txvalid)、接收信用信道(rxcredit)、接收数据信道(rxdata)和接收有效信道(rxvalid)的信号同步至本地时钟的时钟信道(txclk)。
22.根据权利要求20或21所述的在至少一个noc(107)与外部接口(109)
23.根据权利要求19所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,所述cbus网络元件(201a、201b)是主网络元件(103)或基本网络元件(105);并且所述noc(107)包括至少一个noc元件(111),所述至少一个noc元件(111)包括至少一个主路由器、至少一个请求节点(111a)、至少一个家庭节点(111b)或其组合。
24.根据权利要求19所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,跨多个集成电路(ic)(1201、1203)的所述两个cbus网络元件(201)之间的所述传输信用信道(txcredit)、传输数据信道(txdata)、传输有效信道(txvalid)、接收信用信道(rxcredit)、接收数据信道(rxdata)和接收有效信道(rxvalid)由所述noc(107)的至少一个部分缓冲,其中,用于所述传输信用信道(txcredit)、传输数据信道(txdata)、传输有效信道(txvalid)、接收信用信道(rxcredit)、接收数据信道(rxdata)和接收有效信道(rxvalid)的信号被封装至在多个noc元件(111)之间传送的至少一个数据包中。
25.根据权利要求20、21、23或24所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,所述基本网络元件(105)包括:
26.根据权利要求25所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,所述端口(401)包括面向所述主网络元件(103)的方向的上行端口(401a)。
27.根据权利要求26所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,还包括连接至相邻基本网络元件(105)的所述上行端口(401a)的至少一个下行端口(401b)。
28.根据权利要求20、21、23或24所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,所述主网络元件(103)包括:
29.根据权利要求25或28所述的在至少一个noc(107)与外部接口(109)
30.根据权利要求27或29所述的在至少一个noc(107)与外部接口(109)
31.根据权利要求30所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,所述cbus网络元件(201a、201b)将所述读取请求数据包或写入请求数据包分别转换成读取信号或写入信号,以触发所述cbus元件(201a、201b)外部的特定事件。
32.根据权利要求31所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,使用至少一个配置寄存器来完成所述转换。
33.根据权利要求30所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,所述写入请求数据包或读取请求数据包由所述下行端口(401b)传输。
34.根据权利要求33所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,当所述基本网络元件(105)接收到所述读取请求数据包或写入请求数据包时,所述基本网络元件(105)通过所述下行端口(401b)向至少一个相邻基本网络元件(105)传输所述读取请求数据包或写入请求数据包。
35.根据权利要求30所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,所述读取完成数据包由所述上行端口(401a)传输。
36.根据权利要求35所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,当所述基本网络元件(105)接收到所述读取完成数据包时,所述基本网络元件(105)通过所述上行端口(401a)向相邻基本网络元件(105)传输读取完成数据包,直至到达所述主网络元件(103)为止。
37.根据权利要求30所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,所述写入请求数据包是广播写入或定向写入请求数据包。
38.根据权利要求30所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,所述读取请求数据包是定向读取请求数据包。
39.根据权利要求34或36所述的在至少一个noc(107)与外部接口(109)
40.根据权利要求39所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,使用以下步骤来完成所述端口(401)的所述分配和存根:
41.根据权利要求39所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,使用以下步骤来完成所述端口(401)的所述分配和存根:
42.根据权利要求40所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,为了对跨多个ic(1201、1203)的多个次级网络(101)中的所述端口(401)进行分配和存根,由此所述多个次级网络(101)包括多个主网络元件(103),仅选择一个主网络元件(103)来执行所述分配和存根,而其他主网络元件(103)中的其他端口(401)由至少一个外部微控制器(109)存根。
43.根据权利要求34或36所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,所述noc(107)通过在‘系统一致性请求信号’(syscoreq)与‘系统一致性确认信号’(syscoack)之间建立握手来启用系统一致性,包括以下步骤:
44.根据权利要求34或36所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,所述noc(107)通过在‘系统一致性请求信号’(syscoreq)与‘系统一致性确认信号’(syscoack)之间建立握手来禁用系统一致性,包括以下步骤:
45.根据权利要求42所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,在对跨多个ic(1201、1203)的多个次级网络(101)中的所述端口(401)进行分配和存根之后,所述方法还包括对跨所述多个ic(1201、1203)的所述多个次级网络(101)中的cbus元件(201)的节点id进行动态分配的方法,包括步骤:
46.根据权利要求45所述的在至少一个noc(107)与外部接口(109)之间传送配置、管理、调试信息和异步事件的方法,其中,在多个ic(1201、1203)中的次级网络(101a、101b)之间传输数据通过以下步骤完成: