本发明涉及航天电子,具体地,涉及一种片上交换开关架构及设计方法。
背景技术:
1、交换开关是构成网络化系统的重要部件,而片上交换开关架构是交换开关芯片的核心数字逻辑设计,为解决宇航电子产品的交换开关的数字逻辑设计问题,并通过现场可编程门阵列(field-programmable gate array,fpga)或数字集成电路(digitalintegrated circuit,ic)实现交换开关功能,需要一种支持组播的片上交换开关架构。
2、目前,航天电子技术领域尚无上述相关技术发表;工业领域则采用多个片上系统搭建了输入、输出控制器及多个交叉开关矩阵(crossbar)构成并行交换开关,资源开销较大。
技术实现思路
1、针对现有技术中的缺陷,本发明的目的是提供一种片上交换开关架构及设计方法,能够在单个片上系统中实现片上交换开关功能,同时支持组播功能和逻辑资源裁剪,适用于集约硬件资源条件下(如航天电子产品)交换开关部件的实现。
2、本发明提供一种片上交换开关架构,包括m个入口模块、m行n列共m×n个交点模块和n个出口模块,所述入口模块与所述交点模块之间、所述交点模块之间以及所述交点模块与所述出口模块之间分别通过流式接口互联,数据包从所述入口模块输入,传送至对应行的所述交点模块,再由所述交点模块传送至对应列的所述出口模块输出,实现所述数据包从m个输入到n个输出的传送。
3、进一步地,所述入口模块包括入口输入控制器、入口缓存寄存器和入口输出控制器,所述入口输入控制器和所述入口缓存寄存器电连接,所述入口缓存寄存器和所述入口输出控制器电连接;
4、所述入口输入控制器,用于接收所述数据包,并将所述数据包传送至所述入口缓存寄存器;
5、所述入口缓存寄存器,用于基于预设入口缓存规则将所述数据包进行缓存和传送;
6、所述入口输出控制器,用于从所述入口缓存寄存器接收所述数据包,并将所述数据包从所述入口模块输出传送至与所述入口模块对应行的所述交点模块。
7、进一步地,所述交点模块包括交点输入控制器、交点缓存寄存器、交点输出控制器和交点容量控制器,所述交点输入控制器和所述交点缓存寄存器电连接,所述交点缓存寄存器和所述交点输出控制器电连接,所述交点输入控制器和所述交点输出控制器分别与所述交点容量控制器电连接;
8、所述交点输入控制器,用于接收从与所述交点模块对应行的所述入口模块输出的所述数据包,并将所述数据包传送至所述交点缓存寄存器;
9、所述交点缓存寄存器,用于基于预设交点缓存规则将所述数据包进行缓存和传送;
10、所述交点输出控制器,用于从所述交点缓存寄存器接收所述数据包,并将所述数据包从所述交点模块输出传送至与所述交点模块对应列的所述出口模块;
11、所述交点容量控制器,用于实时记录所述交点模块的容量,并基于所述容量控制所述交点模块中所述数据包的输入和输出。
12、进一步地,所述出口模块包括出口输入控制器、出口缓存寄存器和出口输出控制器,所述出口输入控制器和所述出口缓存寄存器电连接,所述出口缓存寄存器和所述出口输出控制器电连接;
13、所述出口输入控制器,用于接收从与所述出口模块对应列的所述交点模块输出的所述数据包,并将所述数据包传送至所述出口缓存寄存器;
14、所述出口缓存寄存器,用于基于预设出口缓存规则将所述数据包进行缓存和传送;
15、所述出口输出控制器,用于从所述出口缓存寄存器接收所述数据包,并将所述数据包从所述出口模块输出。
16、进一步地,还包括仲裁器,所述交点模块通过所述仲裁器将所述数据包传送至所述出口模块。
17、本发明还提供一种片上交换开关设计方法,包括:
18、入口模块接收数据包;
19、所述入口模块将所述数据包传送至与所述入口模块对应行的交点模块;
20、所述交点模块接收从与所述交点模块对应行的所述入口模块输出的所述数据包;
21、所述交点模块将所述数据包传送至与所述交点模块对应列的出口模块;
22、所述出口模块接收从与所述出口模块对应列的所述交点模块输出的所述数据包;
23、所述出口模块将所述数据包输出。
24、进一步地,所述入口模块接收数据包;所述入口模块将所述数据包传送至与所述入口模块对应行的交点模块;包括:
25、所述入口模块中的入口输入控制器接收所述数据包,并将所述数据包传送至所述入口模块中的入口缓存寄存器;
26、所述入口缓存寄存器基于预设入口缓存规则将所述数据包进行缓存和传送;
27、所述入口模块中的入口输出控制器从所述入口缓存寄存器接收所述数据包,并将所述数据包从所述入口模块输出传送至与所述入口模块对应行的所述交点模块。
28、进一步地,所述交点模块接收从与所述交点模块对应行的所述入口模块输出的所述数据包;所述交点模块将所述数据包传送至与所述交点模块对应列的出口模块;包括:
29、在所述交点模块中的交点容量控制器指示所述交点模块的容量未溢出的情况下,所述交点模块中的交点输入控制器接收从与所述交点模块对应行的所述入口模块输出的所述数据包,并将所述数据包传送至所述交点模块中的交点缓存寄存器;
30、所述交点缓存寄存器基于预设交点缓存规则将所述数据包进行缓存和传送;
31、所述交点模块中的交点输出控制器从所述交点缓存寄存器接收所述数据包,并将所述数据包从所述交点模块输出传送至与所述交点模块对应列的所述出口模块。
32、进一步地,所述方法还包括:
33、在所述交点容量控制器指示所述容量溢出的情况下,所述交点输入控制器停止接收从与所述交点模块对应行的所述入口模块输出的所述数据包。
34、进一步地,所述出口模块接收从与所述出口模块对应列的所述交点模块输出的所述数据包;所述出口模块将所述数据包输出,包括:
35、所述出口模块中的出口输入控制器接收从与所述出口模块对应列的所述交点模块输出的所述数据包,并将所述数据包传送至所述出口模块中的出口缓存寄存器;
36、所述出口缓存寄存器基于预设出口缓存规则将所述数据包进行缓存和传送;
37、所述出口模块中的出口输出控制器从所述出口缓存寄存器接收所述数据包,并将所述数据包从所述出口模块输出。
38、与现有技术相比,本发明具有如下的有益效果:
39、本发明提供的片上交换开关架构及设计方法,该架构包括m个入口模块、m行n列共m×n个交点模块和n个出口模块,所述入口模块与所述交点模块之间、所述交点模块之间以及所述交点模块与所述出口模块之间分别通过流式接口互联,数据包从所述入口模块输入,传送至对应行的所述交点模块,再由所述交点模块传送至对应列的所述出口模块输出,实现所述数据包从m个输入到n个输出的传送。该技术方案能够在单个片上系统中实现片上交换开关功能,同时支持组播功能和逻辑资源裁剪,适用于集约硬件资源条件下(如航天电子产品)交换开关部件的实现。
40、该种片上交换开关设计方法通过上述片上交换开关架构实现,且该种片上交换开关设计方法因为包含了上述片上交换开关架构的技术方案,因此具有相应的技术效果。