大规模时间敏感网络异步门控的实现方法和系统与流程

文档序号:31344747发布日期:2022-08-31 11:29阅读:103来源:国知局
大规模时间敏感网络异步门控的实现方法和系统与流程

1.本发明涉及以太网时间敏感网络tsn集成电路实现范畴,具体涉及一种大规模时间敏感网络异步门控的实现方法和系统。


背景技术:

2.ieee 802.1 tsn任务组定义了时间敏感网络,通过一套协议规范构建超低时延和抖动、高可靠的确定性网络。其中在802.1as时间同步的基础上,802.1qci、802.1qbv等协议规范通过仿真时分复用(tdm)来实现时间确定性功能及周期性数据非周期性数据同时传输的功能。
3.802.1qci实现的基于流的异步门控和802.1qbv实现的基于端口的同步门控共同完成了时间敏感调度算法tas。基于流的异步门控主要完成tsn流保护和流阻断,在实际应用场景中,对于tsn网桥,需要管理的流的数量要远远大于接入终端设备的数量,比如在一个拥有0.5k(512)个talker终端设备和0.5k(512)个listener终端设备的tsn网络中,其流的数量可能会超过9k,因而对应的流门控也需要达到一定数量规模。
4.在实现异步门控时通常通过乒乓操作实现两个窗口,然后通过定时器或周期性的刷新来更新门控窗口。
5.以上现有技术中,使用定时器来实现门控更新方法适用于门控数量较少的情况。通过周期刷新来更新门控的方法其数量规模也会受到硬件性能的限制,若每个系统时钟更新一个门控(一次ram访问),则在一个系统时钟频率为250mhz的系统中,要实现门控精度为5us的门控,则刷新周期也需要为5us,而在一个刷新周期5us内,最大只能更新1250个门控,也即门控数量的上限为1250个或更少。而实际应用中在一些场景中需要更多的门控。


技术实现要素:

6.为了解决上述技术问题,本发明公开了一种大规模时间敏感网络异步门控的实现方法和系统,本发明在不改变系统时钟主频同时不降低门控精度的前提下能大幅度增加tsn交换芯片异步门控数量,以用于较大规模的tsn网络。
7.本发明的实施方式提供了一种大规模时间敏感网络异步门控的实现方法,其包括:通过报文处理管道内置两个双端口ram,将每个门控对应的两个时窗,即预备时窗和工作时窗,分别存储在两个不同的双端口ram中;将n个连续的门控时窗划分为一组访问门控,并按组访问门控时窗信息,其中,n=2n,n为大于0的自然数;通过门控更新模块对一组访问门控执行流水线处理且对一组访问门控的各个门控并行计算处理;其中,门控更新模块的执行流水线满足以下条件:对于同一个双端口ram的读写操作不能在同一个时钟周期内并行执行。
8.在进一步的技术方案中,门控更新模块周期性地以流水线的方式并行更新门控,首先按组同时读取两个双端口ram中一组访问门控对应的两个窗口组group1和group2,然后按n路并行检查、计算更新一组访问门控内的各门控时窗信息,最后将门控窗口组group1
和group2同时写回双端口ram。
9.在进一步的技术方案中,在更新门控时,若本轮门控刷新周期的开始时间curts、当前刷新门控的工作时窗的结束时间tswin(end)与门控刷新周期t满足条件curts+2*t》=tswin(end),则更新预备窗口,否则本轮刷新不更新该门控信息。
10.在进一步的技术方案中,报文处理管道接收带有时戳的报文,并读取该报文对应的门控时窗a和时窗b,通过比较窗口边界,确定所属时窗,从而执行对应时窗的门控操作集合。
11.本发明的实施方式还提供了一种大规模时间敏感网络异步门控的实现系统,其包括:报文处理管道,内置有两个双端口ram,以将每个门控对应的两个时窗,即预备时窗和工作时窗,分别存储在两个不同的双端口ram中;门控分组模块,将n个连续的门控时窗划分为一组访问门控,以按组访问门控时窗信息,其中,n=2n,n为大于0的自然数;门控更新模块,对一组访问门控执行流水线处理且对一组访问门控的各个门控并行计算处理;其中,门控更新模块的执行流水线满足以下条件:对于同一个双端口ram的读写操作不能在同一个时钟周期内并行执行。
12.在进一步的技术方案中,门控更新模块周期性地以流水线的方式并行更新门控,首先按组同时读取两个双端口ram中一组访问门控对应的两个窗口组group1和group2,然后按n路并行检查、计算更新一组访问门控内的各门控时窗信息,最后将门控窗口组group1和group2同时写回双端口ram。
13.在进一步的技术方案中,在更新门控时,若本轮门控刷新周期的开始时间curts、当前刷新门控的工作时窗的结束时间tswin(end)与门控刷新周期t满足条件curts+2*t》=tswin(end),则更新预备窗口,否则本轮刷新不更新该门控信息。
14.在进一步的技术方案中,报文处理管道接收带有时戳的报文,并读取该报文对应的门控时窗a和时窗b,通过比较窗口边界,确定所属时窗,从而执行对应时窗的门控操作集合。
附图说明
15.图1是本发明的大规模时间敏感网络异步门控的实现系统的框图;
16.图2是本发明的门控时窗在某时刻的存储模型的示例图;
17.图3是本发明的门控更新模块流水线模型的示例图。
具体实施方式
18.下面结合具体实施例对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
19.本发明的设计要点如下:
20.(1)每个门控对应两个窗口,分别存储在两块ram中,报文处理管道模块以读取方式使用两个门控窗口。门控更新模块对门控窗口读写,完成对门控的更新操作。
21.(2)使用双端口ram存储门控窗口及行为信息。
22.(3)将门控窗口分组,按组访问门控,即一次双端口ram读取或写入操作包含n(n可为2,4,8,16等)个门控窗口信息,可参考图2所示的门控时窗在某时刻的存储模型。
23.(4)门控更新模块对门控分组执行流水线处理,并满足约束:在同一个系统时钟周期仅包含对同一ram的一次访问。
24.(5)门控更新模块对一组门控的各个门控并行计算处理。
25.在本发明的实施方式中,一种大规模时间敏感网络异步门控的实现方法包括:通过报文处理管道内置两个双端口ram,将每个门控对应的两个时窗,即预备时窗和工作时窗,分别存储在两个不同的双端口ram中;将n个连续的门控时窗划分为一组访问门控,并按组访问门控时窗信息,其中,n=2n,n为大于0的自然数;通过门控更新模块对一组访问门控执行流水线处理且对一组访问门控的各个门控并行计算处理;其中,门控更新模块的执行流水线满足以下条件:对于同一个双端口ram的读写操作不能在同一个时钟周期内并行执行。
26.在进一步的技术方案中,门控更新模块周期性地以流水线的方式并行更新门控,首先按组同时读取两个双端口ram中一组访问门控对应的两个窗口组group1和group2,然后按n路并行检查、计算更新一组访问门控内的各门控时窗信息,最后将门控窗口组group1和group2同时写回双端口ram。
27.在进一步的技术方案中,在更新门控时,若本轮门控刷新周期的开始时间curts、当前刷新门控的工作时窗的结束时间tswin(end)与门控刷新周期t满足条件curts+2*t》=tswin(end),则更新预备窗口,否则本轮刷新不更新该门控信息。
28.在进一步的技术方案中,报文处理管道接收带有时戳的报文,并读取该报文对应的门控时窗a和时窗b,通过比较窗口边界,确定所属时窗,从而执行对应时窗的门控操作集合。
29.在本发明的另一实施方式中,一种大规模时间敏感网络异步门控的实现系统包括:报文处理管道,内置有两个双端口ram,以将每个门控对应的两个时窗,即预备时窗和工作时窗,分别存储在两个不同的双端口ram中;门控分组模块,将n个连续的门控时窗划分为一组访问门控,以按组访问门控时窗信息,其中,n=2n,n为大于0的自然数;门控更新模块,对一组访问门控执行流水线处理且对一组访问门控的各个门控并行计算处理;其中,门控更新模块的执行流水线满足以下条件:对于同一个双端口ram的读写操作不能在同一个时钟周期内并行执行。
30.在进一步的技术方案中,门控更新模块周期性地以流水线的方式并行更新门控,首先按组同时读取两个双端口ram中一组访问门控对应的两个窗口组group1和group2,然后按n路并行检查、计算更新一组访问门控内的各门控时窗信息,最后将门控窗口组group1和group2同时写回双端口ram。
31.在进一步的技术方案中,在更新门控时,若本轮门控刷新周期的开始时间curts、当前刷新门控的工作时窗的结束时间tswin(end)与门控刷新周期t满足条件curts+2*t》=tswin(end),则更新预备窗口,否则本轮刷新不更新该门控信息。
32.在进一步的技术方案中,报文处理管道接收带有时戳的报文,并读取该报文对应的门控时窗a和时窗b,通过比较窗口边界,确定所属时窗,从而执行对应时窗的门控操作集合。
33.具体实施例
34.参见图1,本发明的系统包括报文处理管道和门控更新模块,报文处理管道内置两
块双端口ram用于存储门控信息,每个门控对应两个时窗a和b,分别为该门控的当前工作时窗和预备时窗,两个时窗分别存储在不同的双端口ram中,多个连续的门控窗口为一个访问组,即报文处理管道和门控更新模块一次可读或写n个门控时窗信息,为了便于存储器分配和地址计算,n可为2、4、8、16等。n个连续的门控窗口为一个访问组,n可为2、4、8、16等,报文处理管道和门控更新模块按组访问门控时窗信息。如图2门控窗口在某时刻的存储模型示例所示,门控0的工作时窗a存储于双端口ram1中的第0组,门控0的预备窗口b存储于双端口ram2中的第0组,门控1的工作时窗a存储于双端口ram1中的第0组,门控1的预备窗口b存储于双端口ram2中的第0组,并以此类推。
35.报文处理管道接收带有时戳的报文,并读取该报文对应的门控时窗a和时窗b,通过比较窗口边界,确定所属时窗,从而执行对应时窗的门控操作集合。
36.门控更新模块周期性地以流水线的方式并行更新门控,设门控的精度为t(比如5us),则门控更新模块在周期t内需要将所有的门控按组刷新一遍,首先按组同时读取双端口ram1和ram2中一组门控对应的两个窗口组group1和group2,如图2中的rd操作。然后按n路并行检查、计算更新一组内各门控时窗信息,如图2示例中的op2到op7中的操作。更新门控时,若本轮门控刷新周期的开始时间curts、当前刷新门控的工作时窗的结束时间tswin(end)与门控刷新周期t满足条件curts+2*t》=tswin(end),则更新预备窗口,否则本轮刷新不更新该门控信息。最后将门控窗口组group1和group2同时写回双端口ram,如图2中的wr操作。
37.门控更新模块的执行流水线要满足条件:对于同一个双端口ram的读写操作不能在同一个是时钟周期内并行执行。如图2示例中rd操作和wr操作应分开到不同的时钟周期中。
38.在具体实施例中,假设时窗信息都用4个字节来存储,一次存储器读写操作为32字节,则32字节包括8个门控窗口信息(n=8),在流水线的rd(读取)阶段,会同时读取双端口1的32字节和双口ram2的32字节,分别对应门控m、m+1、m+2

m+7(m为0、8、16

)共八个门控的时窗a和时窗b,最后的wr(写回)是同样的道理。
39.图3的实施例示出了一个8级流水线(rd,op2,op3

op7,wr),即完成一组门控更新需要rd,op2,op3

op7,wr这8个操作,依次在8个时钟周期内完成。整个逻辑为一次性读取一组门控信息(rd),然后按n路并行执行的方式完成门控时窗的计算处理(op2~op7),最后一次性写回(wr)。当然可以理解的,也有可能是9级流水线,中间有op2~op8这7个步骤。门控计算的复杂度会影响需要多个步骤。就是计算时窗需要多个步骤,每个步骤又能在一个是时钟周期内完成。
40.本发明的有益技术效果
41.本发明在不用提高系统时钟频率的情况下可大幅度提高时间敏感网络的异步门控的规模数量。根据上述技术方案如果每次读写16个门控(n=16),门控更新流水线每2个系统时钟周期完成一组门控刷新操作,则完成8k规模的门控刷新,需要1k(8k/16*2)个系统时钟周期。若系统时钟频率为250mhz,则5us内(含1250个系统时钟周期)可以完成8k规模的高精度门控刷新。
42.本发明以低成本方式提高了时间敏感网络异步门控的规模数量,同时又能保持门控的高精度。
43.以上所述的仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1