CN107544819B - 一种用于可编程器件的业务实现方法、装置和通信终端 - Google Patents
一种用于可编程器件的业务实现方法、装置和通信终端 Download PDFInfo
- Publication number
- CN107544819B CN107544819B CN201610493635.9A CN201610493635A CN107544819B CN 107544819 B CN107544819 B CN 107544819B CN 201610493635 A CN201610493635 A CN 201610493635A CN 107544819 B CN107544819 B CN 107544819B
- Authority
- CN
- China
- Prior art keywords
- service
- reconfiguration
- services
- area
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Abstract
本发明实施例提供一种用于可编程器件的业务实现方法、装置和通信终端,通过将至少一个待实现业务的实现电路划分为可配置电路及重配电路;根据划分结果,选择可编程器件的静态区域及重配区域;将重配电路的位流文件写入重配区域,将可配置电路的配置参数写入静态区域;采用上述方案,合理划分可编程器件的静态区域及重配区域,采用重配区域来节约配置空间;为了使静态区域能适应不同速率的业务,采用将可配置电路的配置参数写入静态区域的方式,来实现在重配区域接入不同速率的业务时,使得静态区域的速率与重配区域的速率匹配,实现对接入速率不一致的业务进行动态的切换,实现业务接入的多样性,使得在节约配置空间的同时,实现业务的灵活配置。
Description
技术领域
本发明涉及通信领域,尤其涉及一种用于可编程器件的业务实现方法、装置和通信终端。
背景技术
随着Pre5G及5G(5th-Generation,第五代移动通信技术)技术的发展,大数据及4K视频业务需求也在不断增长,由此便对承载网业务提出了新的要求,要求提高单板接入业务的能力,现有技术中采用FPGA(Field-Programmable Gate Array,现场可编程门阵列)来处理单板接入的业务,例如图1,FPGA分为静态区域和重配区域,Flash中存储有三种业务的配置文件RM_1、RM_2、RM_3,根据不同配置需求,选择其中一种业务的配置文件对重配区域进行加载,此种方案由于静态区域是不变的,使得静态区域只能适应一种速率,同时也要求能在重配区域加载的三种业务的速率应与静态区域的速率相同,这就对接入的业务有所限制,缺少灵活性。
发明内容
本发明实施例主要解决的技术问题是,提供一种用于可编程器件的业务实现方法、装置和通信终端,解决现有技术中,由FPGA来处理单板接入的业务时,由于FPGA的静态区域是不变的,使得静态区域只能适应一种速率,同时也要求FPGA的重配区域加载的各种业务的速率也需是相同的,由此造成对接入的业务有所限制,缺少灵活性的问题。
为解决上述技术问题,本发明实施例提供一种用于可编程器件的业务实现方法,包括:
将至少一个待实现业务的实现电路划分为可配置电路及重配电路;
根据划分结果,选择可编程器件的静态区域及重配区域;
将重配电路的位流文件写入重配区域,将可配置电路的配置参数写入静态区域。
为解决上述技术问题,本发明实施例提供一种用于可编程器件的业务实现装置,包括:
业务划分模块及业务实现模块,其中,
业务划分模块用于将至少一个待实现业务的实现电路划分为可配置电路及重配电路,根据划分结果,选择可编程器件的静态区域及重配区域;
业务实现模块用于将重配电路的位流文件写入重配区域,将可配置电路的配置参数写入静态区域。
为解决上述技术问题,本发明实施例还提供一种通信终端,包括:可编程器件及处理器,其中,
处理器用于获取通信终端需要实现的通信业务,作为待实现业务,将至少一个待实现业务的实现电路划分为可配置电路及重配电路,根据划分结果,选择可编程器件的静态区域及重配区域,将重配电路的位流文件写入重配区域,将可配置电路的配置参数写入静态区域;
可编程器件用于在处理器的控制下实现通信业务。
为解决上述技术问题,本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于执行前述的用于可编程器件的业务实现方法。
本发明的有益效果是:
根据本发明实施例提供的用于可编程器件的业务实现方法、装置和通信终端,通过将至少一个待实现业务的实现电路划分为可配置电路及重配电路;根据划分结果,选择可编程器件的静态区域及重配区域;将重配电路的位流文件写入重配区域,将可配置电路的配置参数写入静态区域;采用上述方案,合理划分可编程器件的静态区域及重配区域,采用重配区域来减小位流文件的大小,节约配置空间;同时为了使静态区域能适应不同速率的业务,采用将可配置电路的配置参数写入静态区域的方式,来实现在重配区域接入不同速率的业务时,使得静态区域的速率与重配区域的速率相匹配,由此实现对静态区域的动态配置,这样就可以解决对接入速率不一致的业务进行动态的切换,实现业务接入的多样性,大大提高了业务配置的灵活性,使得在节约配置空间的同时,实现业务的灵活配置。
附图说明
图1为现有技术中对业务进行配置的示意图;
图2为本发明实施例一提供的一种用于可编程器件的业务实现方法的流程图;
图3为本发明实施例一提供的一种对业务进行配置的示意图;
图4为本发明实施例一提供的一种对业务进行配置的示意图;
图5为本发明实施例二提供的一种用于可编程器件的业务实现装置的结构示意图;
图6为本发明实施例二提供的一种通信终端的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。
实施例一
由可编程器件来处理单板接入的业务时,为了节约配置空间,同时为了实现业务接入的多样性,下面以可编程器件为FPGA为例,对本实施例做说明,本实施例提供一种用于可编程器件的业务实现方法,请参见图2,包括以下步骤:
S101:将至少一个待实现业务的实现电路划分为可配置电路及重配电路。
具体的,获取各待实现业务的处理流程;比对各待实现业务的处理流程,将处理流程相似度大于阈值的待实现业务,划分为同一类型的可重配业务;将可重配业务中各待实现业务的共用电路划分为可配置电路,其余电路划分为重配电路。其中,可配置电路是可重配业务中各待实现业务的共用电路,各待实现业务都使用该共用电路,共用电路中模块之间的连接关系不会变化;重配电路在实现各待实现业务时,不同业务其对应的重配电路是有变化的,重配电路中的模块之间的连接关系会根据业务的不同而发生变化。
其中,不同的待实现业务,其处理流程可能会有很大不同,对于处理流程相差很大的待实现业务,可以将其分配到不同的FPGA芯片中进行处理,同一FPGA芯片中处理处理流程类似的待实现业务。例如100G业务,包括100GE业务和OTU4业务,100GE业务的速率为103.125GHz,OTU4业务的速率为111.810GHz,100GE业务和OTU4业务的速率相近,且都处于同一预设速率范围,对100GE业务的处理流程和对OTU4业务的处理流程比较类似,所以将100GE业务和OTU4业务划分为同一类型的可重配业务,100GE业务和OTU4业务交由同一个FPGA芯片进行处理。例如低速OTN业务,包括STM1/4、STM16、OTU0、OTU1业务等,STM1/4、STM16、OTU0、OTU1业务的速率相近,且都处于同一预设速率范围,对STM1/4、STM16、OTU0、OTU1业务的处理流程比较类似,所以将STM1/4、STM16、OTU0、OTU1业务划分为同一类型的可重配业务,STM1/4、STM16、OTU0、OTU1业务交由同一个FPGA芯片进行处理。
S102:根据划分结果,选择可编程器件的静态区域及重配区域。
具体的,根据所有待实现业务归属的可重配业务的总数量,选择对应数量的重配区域;为各可重配业务的重配电路分配重配区域;根据各可重配业务的可配置电路选择对应模块结构的静态区域。
例如当待实现业务包括100GE业务、OTU4业务、STM1/4业务、STM16业务、OTU0业务、OTU1业务时,100GE业务、OTU4业务为同一类型的可重配业务,STM1/4业务、STM16业务、OTU0业务、OTU1业务为同一类型的可重配业务,100GE业务和OTU4业务由第一FPGA芯片进行处理,STM1/4、STM16、OTU0、OTU1业务由第二FPGA芯片进行处理;第一FPGA芯片包含第一静态区域及第一重配区域,第二FPGA芯片包含第二静态区域及第二重配区域;由于所有待实现业务归属的可重配业务的总数量为2,所以选择出的重配区域为2,即选择出第一重配区域和第二重配区域这两个重配区域;为100GE业务、OTU4业务的重配电路分配的是第一重配区域,为STM1/4、STM16、OTU0、OTU1业务的重配电路分配的是第二重配区域;根据100GE业务、OTU4业务的可配置电路选择的是与第一重配区域对应的第一静态区域,根据STM1/4、STM16、OTU0、OTU1业务的可配置电路选择的是与第二重配区域对应的第二静态区域。
S103:将重配电路的位流文件写入重配区域,将可配置电路的配置参数写入静态区域。
具体的,从Flash中读取需要实现的目标业务的位流文件,将位流文件写入目标业务的重配区域,节约了配置空间;获取目标业务的运行参数,作为配置参数,写入静态区域。其中,通过静态区域的动态配置接口,将配置参数写入静态区域。
其中,需要实现的目标业务在接入上可能与之前加载在该重配区域的业务有所差别,比如在速率上不同,所以需要改变静态区域的配置参数以适应不同速率的要求,例如可以通过改写静态区域中寄存器的值来实现静态区域与重配区域在速率上相匹配。改变静态区域中的配置参数不会改变静态区域的模块结构,而是通过相关模块的动态配置接口,改变模块内部的配置。
为了更好的理解本实施例的方案,下面例举两个具体的例子进行说明。
参见图3,第一个例子具体如下:
以100G业务接入为例,需要接入的业务为100GE业务和OTU4业务,两者业务速率分别为103.125GHz和111.810GHz。将100GE业务和OTU4业务的实现电路划分为可配置电路及重配电路,其中,可配置电路是100GE业务和OTU4业务的共用电路,重配电路为其余的电路。100GE业务和OTU4业务为同一类型的可重配业务。选用一个Xilinx Ultrascale xcvu095FPGA芯片进行处理。由于所有待实现业务归属的可重配业务的总数量为1,所以选择出的重配区域为1,即为Xilinx Ultrascale xcvu095 FPGA芯片的重配区域。为100GE业务、OTU4业务的重配电路分配的是FPGA芯片的重配区域,根据100GE业务、OTU4业务的可配置电路选择的是与重配区域对应的静态区域。
图3中所示的GTY接入和Interlaken为FPGA芯片的静态区域,GTY实现接入功能,Interlaken的功能为将业务打包。由于需接入100GE业务和OTU4业务,所以Flash中会存储有RM_100GE和RM_OTU4两种配置的位流文件,由CPU根据配置场景选择重配区域加载何种位流文件。比如先加载RM_100GE来实现100GE业务接入,再加载RM_OTU4来实现OTU4业务接入;或者先加载RM_OTU4来实现OTU4业务接入,再加载RM_100GE来实现100GE业务接入。
对于静态区域,由于两种业务速率有所差别,所以GTY的接入速率会有所不同,此时就要根据配置的业务进行GTY时钟的配置,该工作由CPU通过动态配置接口改写GTY中的寄存器值来实现。同时,Interlaken的GT速率也同样可以根据需要进行改变,以适应背板速率。比如在接入100GE业务时,由CPU通过动态配置接口改写GTY中的寄存器值,使GTY接入速率为103.125GHz,使得静态区域的速率与重配区域的速率相匹配;当在接入OTU4业务时,由CPU通过动态配置接口改写GTY中的寄存器值,使GTY接入速率为111.810GHz,使得静态区域的速率与重配区域的速率相匹配。该方案实现了在FPGA不掉电的情况下,单独实现100GE业务、OTU4业务的灵活改变。重点是对静态部分的动态配置,使得静态区域具有了动态特性。
为了使静态区域能适应不同业务的速率,采用改写GTY中寄存器值的方式,来实现在重配区域接入不同速率的业务时,使得静态区域的速率与重配区域的速率相匹配,由此实现对静态区域的动态配置,这样就可以解决对接入速率不一致的业务进行动态的切换,实现业务接入的多样性,大大提高了业务配置的灵活性,使得在节约配置空间的同时,实现业务的灵活配置。
参见图4,第二个例子具体如下:
以100G业务接入和低速率业务接入为例,100G业务包括100GE业务和OTU4业务,100GE业务和OTU4业务为同一类型的可重配业务,低速率业务包括STM1/4业务、STM16业务、OTU0业务和OTU1业务,STM1/4业务、STM16业务、OTU0业务和OTU1业务为同一类型的可重配业务,100GE业务和OTU4业务由第一FPGA芯片进行处理,STM1/4、STM16、OTU0、OTU1业务由第二FPGA芯片进行处理。由于所有待实现业务归属的可重配业务的总数量为2,所以选择出的重配区域为2,即选择出第一FPGA芯片的第一重配区域和第二FPGA芯片的第二重配区域。为100GE业务、OTU4业务的重配电路分配的是第一重配区域,为STM1/4、STM16、OTU0、OTU1业务的重配电路分配的是第二重配区域;根据100GE业务、OTU4业务的可配置电路选择的是与第一重配区域对应的第一FPGA芯片的第一静态区域,根据STM1/4、STM16、OTU0、OTU1业务的可配置电路选择的是与第二重配区域对应的第二FPGA芯片的第二静态区域。
图4中所示的GTY接入和Interlaken为第一FPGA芯片的第一静态区域,GTY实现接入功能,Interlaken的功能为将业务打包。图4中所示的GTH接入和ODUa为第二FPGA芯片的第二静态区域,GTH实现接入功能,ODUa的功能为将业务封装成帧格式。
Flash中存储有RM_100GE、RM_OTU4、RM_OTU1、RM_OTU0、RM_STM1/4、RM_STM16六种配置的位流文件。CPU根据配置场景来加载对应的每一路位流文件,在第一重配区域中加载RM_100GE、RM_OTU4中的任意一个,再加载剩下的一个;在第二重配区域中选择加载RM_OTU1、RM_OTU0、RM_STM1/4、RM_STM16中的任意一个,然后再加载剩下三个中的任意一个,再加载剩下两个中的任意一个,最后加载剩下的一个。
比如在第一重配区域中先加载RM_100GE来实现100GE业务接入,再加载RM_OTU4来实现OTU4业务接入;或者在第一重配区域中先加载RM_OTU4来实现OTU4业务接入,再加载RM_100GE来实现100GE业务接入。比如可以在第二重配区域中先加载RM_OTU1来实现OTU1业务接入,然后加载RM_OTU0来实现OTU0业务接入,再加载RM_STM1/4来实现STM1/4业务接入,最后加载RM_STM16来实现RM_STM16业务接入。
对于第一静态区域,由于100GE业务、OTU4业务这两种业务速率有所差别,所以GTY的接入速率会有所不同,此时就要根据配置的业务进行GTY时钟的配置,该工作由CPU通过动态配置接口改写GTY中的寄存器值来实现。同时,Interlaken的GT速率也同样可以根据需要进行改变,以适应背板速率。比如在接入100GE业务时,由CPU通过动态配置接口改写GTY中的寄存器值,使GTY接入速率为103.125GHz,使得第一静态区域的速率与第一重配区域的速率相匹配;当在接入OTU4业务时,由CPU通过动态配置接口改写GTY中的寄存器值,使GTY接入速率为111.810GHz,使得第一静态区域的速率与第一重配区域的速率相匹配。
对于第二静态区域,由于STM1/4、STM16、OTU0、OTU1业务这四种业务速率有所差别,所以GTH的接入速率会有所不同,此时就要根据配置的业务进行GTH时钟的配置,该工作由CPU通过动态配置接口改写GTH中的寄存器值来实现。ODUa可以自适应速率,不用通过CPU进行改写。比如在接入OTU1业务时,由CPU通过动态配置接口改写GTH中的寄存器值,使GTH接入速率与第二重配区域的速率相匹配,而ODUa可以自适应速率,所以第二静态区域与第二重配区域的速率能匹配;当在接入OTU0业务时,由CPU通过动态配置接口改写GTH中的寄存器值,使GTH接入速率与第二重配区域的速率相匹配,而ODUa可以自适应速率,所以第二静态区域与第二重配区域的速率能匹配;当接入STM1/4业务时,由CPU通过动态配置接口改写GTH中的寄存器值,使GTH接入速率与第二重配区域的速率相匹配,而ODUa可以自适应速率,所以第二静态区域与第二重配区域的速率能匹配;当接入STM16业务时,由CPU通过动态配置接口改写GTH中的寄存器值,使GTH接入速率与第二重配区域的速率相匹配,而ODUa可以自适应速率,所以第二静态区域与第二重配区域的速率能匹配。
为了使静态区域能适应不同业务的速率,采用改写GTY、GTH中寄存器值的方式,来实现在重配区域接入不同速率的业务时,使得静态区域的速率与重配区域的速率相匹配,由此实现对静态区域的动态配置,这样就可以解决对接入速率不一致的业务进行动态的切换,实现业务接入的多样性,大大提高了业务配置的灵活性,使得在节约配置空间的同时,实现业务的灵活配置。
根据本实施例提供的用于可编程器件的业务实现方法,通过将至少一个待实现业务的实现电路划分为可配置电路及重配电路;根据划分结果,选择可编程器件的静态区域及重配区域;将重配电路的位流文件写入重配区域,将可配置电路的配置参数写入静态区域;采用上述方案,合理划分可编程器件的静态区域及重配区域,采用重配区域来减小位流文件的大小,节约配置空间;同时为了使静态区域能适应不同速率的业务,采用将可配置电路的配置参数写入静态区域的方式,来实现在重配区域接入不同速率的业务时,使得静态区域的速率与重配区域的速率相匹配,由此实现对静态区域的动态配置,这样就可以解决对接入速率不一致的业务进行动态的切换,实现业务接入的多样性,大大提高了业务配置的灵活性,使得在节约配置空间的同时,实现业务的灵活配置。
实施例二
由可编程器件来处理单板接入的业务时,为了节约配置空间,同时为了实现业务接入的多样性,下面以可编程器件为FPGA为例,对本实施例做说明,本实施例提供一种用于可编程器件的业务实现装置,请参见图5,包括:业务划分模块201及业务实现模块202,其中,
业务划分模块201用于将至少一个待实现业务的实现电路划分为可配置电路及重配电路,根据划分结果,选择可编程器件的静态区域及重配区域。
具体的,业务划分模块201用于获取各待实现业务的处理流程,比对各待实现业务的处理流程,将处理流程相似度大于阈值的待实现业务,划分为同一类型的可重配业务,将可重配业务中各待实现业务的共用电路划分为可配置电路,其余电路划分为重配电路。其中,可配置电路是可重配业务中各待实现业务的共用电路,各待实现业务都使用该共用电路,共用电路中模块之间的连接关系不会变化;重配电路在实现各待实现业务时,不同业务其对应的重配电路是有变化的,重配电路中的模块之间的连接关系会根据业务的不同而发生变化。
其中,不同的待实现业务,其处理流程可能会有很大不同,对于处理流程相差很大的待实现业务,可以将其分配到不同的FPGA芯片中进行处理,同一FPGA芯片中处理处理流程类似的待实现业务。例如100G业务,包括100GE业务和OTU4业务,100GE业务的速率为103.125GHz,OTU4业务的速率为111.810GHz,100GE业务和OTU4业务的速率相近,且都处于同一预设速率范围,对100GE业务的处理流程和对OTU4业务的处理流程比较类似,所以业务划分模块201将100GE业务和OTU4业务划分为同一类型的可重配业务,100GE业务和OTU4业务交由同一个FPGA芯片进行处理。例如低速OTN业务,包括STM1/4、STM16、OTU0、OTU1业务等,STM1/4、STM16、OTU0、OTU1业务的速率相近,且都处于同一预设速率范围,对STM1/4、STM16、OTU0、OTU1业务的处理流程比较类似,所以业务划分模块201将STM1/4、STM16、OTU0、OTU1业务划分为同一类型的可重配业务,STM1/4、STM16、OTU0、OTU1业务交由同一个FPGA芯片进行处理。
具体的,业务划分模块201根据所有待实现业务归属的可重配业务的总数量,选择对应数量的重配区域;为各可重配业务的重配电路分配重配区域;根据各可重配业务的可配置电路选择对应模块结构的静态区域。
例如当待实现业务包括100GE业务、OTU4业务、STM1/4业务、STM16业务、OTU0业务、OTU1业务时,100GE业务、OTU4业务为同一类型的可重配业务,STM1/4业务、STM16业务、OTU0业务、OTU1业务为同一类型的可重配业务,100GE业务和OTU4业务由第一FPGA芯片进行处理,STM1/4、STM16、OTU0、OTU1业务由第二FPGA芯片进行处理;第一FPGA芯片包含第一静态区域及第一重配区域,第二FPGA芯片包含第二静态区域及第二重配区域;由于所有待实现业务归属的可重配业务的总数量为2,所以业务划分模块201选择出的重配区域为2,即选择出第一重配区域和第二重配区域这两个重配区域;为100GE业务、OTU4业务的重配电路分配的是第一重配区域,为STM1/4、STM16、OTU0、OTU1业务的重配电路分配的是第二重配区域;根据100GE业务、OTU4业务的可配置电路选择的是与第一重配区域对应的第一静态区域,根据STM1/4、STM16、OTU0、OTU1业务的可配置电路选择的是与第二重配区域对应的第二静态区域。
业务实现模块202用于将重配电路的位流文件写入重配区域,将可配置电路的配置参数写入静态区域。
具体的,业务实现模块202从Flash中读取需要实现的目标业务的位流文件,将位流文件写入目标业务的重配区域,节约了配置空间;获取目标业务的运行参数,作为配置参数,写入静态区域。其中,通过静态区域的动态配置接口,将配置参数写入静态区域。
其中,需要实现的目标业务在接入上可能与之前加载在该重配区域的业务有所差别,比如在速率上不同,所以需要改变静态区域的配置参数以适应不同速率的要求,例如可以通过改写静态区域中寄存器的值来实现静态区域与重配区域在速率上相匹配。改变静态区域中的配置参数不会改变静态区域的模块结构,而是通过相关模块的动态配置接口,改变模块内部的配置。
为了更好的理解本实施例的方案,下面例举两个具体的例子进行说明。
第一个例子具体如下:
以100G业务接入为例,需要接入的业务为100GE业务和OTU4业务,两者业务速率分别为103.125GHz和111.810GHz。将100GE业务和OTU4业务的实现电路划分为可配置电路及重配电路,其中,可配置电路是100GE业务和OTU4业务的共用电路,重配电路为其余的电路。100GE业务和OTU4业务为同一类型的可重配业务。选用一个Xilinx Ultrascale xcvu095FPGA芯片进行处理。由于所有待实现业务归属的可重配业务的总数量为1,所以业务划分模块201选择出的重配区域为1,即为Xilinx Ultrascale xcvu095 FPGA芯片的重配区域。业务划分模块201为100GE业务、OTU4业务的重配电路分配的是FPGA芯片的重配区域,根据100GE业务、OTU4业务的可配置电路选择的是与重配区域对应的静态区域。
其中,FPGA芯片的静态区域为GTY接入和Interlaken,GTY实现接入功能,Interlaken的功能为将业务打包。由于需接入100GE业务和OTU4业务,所以Flash中会存储有RM_100GE和RM_OTU4两种配置的位流文件,由业务实现模块202根据配置场景选择重配区域加载何种位流文件。比如先加载RM_100GE来实现100GE业务接入,再加载RM_OTU4来实现OTU4业务接入;或者先加载RM_OTU4来实现OTU4业务接入,再加载RM_100GE来实现100GE业务接入。
对于静态区域,由于两种业务速率有所差别,所以GTY的接入速率会有所不同,此时就要根据配置的业务进行GTY时钟的配置,该工作由业务实现模块202通过动态配置接口改写GTY中的寄存器值来实现。同时,Interlaken的GT速率也同样可以根据需要进行改变,以适应背板速率。比如在接入100GE业务时,由业务实现模块202通过动态配置接口改写GTY中的寄存器值,使GTY接入速率为103.125GHz,使得静态区域的速率与重配区域的速率相匹配;当在接入OTU4业务时,由业务实现模块202通过动态配置接口改写GTY中的寄存器值,使GTY接入速率为111.810GHz,使得静态区域的速率与重配区域的速率相匹配。该方案实现了在FPGA不掉电的情况下,单独实现100GE业务、OTU4业务的灵活改变。重点是对静态部分的动态配置,使得静态区域具有了动态特性。
为了使静态区域能适应不同业务的速率,采用改写GTY中寄存器值的方式,来实现在重配区域接入不同速率的业务时,使得静态区域的速率与重配区域的速率相匹配,由此实现对静态区域的动态配置,这样就可以解决对接入速率不一致的业务进行动态的切换,实现业务接入的多样性,大大提高了业务配置的灵活性,使得在节约配置空间的同时,实现业务的灵活配置。
第二个例子具体如下:
以100G业务接入和低速率业务接入为例,100G业务包括100GE业务和OTU4业务,业务划分模块201将100GE业务和OTU4业务划分为同一类型的可重配业务,低速率业务包括STM1/4业务、STM16业务、OTU0业务和OTU1业务,业务划分模块201将STM1/4业务、STM16业务、OTU0业务和OTU1业务划分为同一类型的可重配业务,100GE业务和OTU4业务由第一FPGA芯片进行处理,STM1/4、STM16、OTU0、OTU1业务由第二FPGA芯片进行处理。由于所有待实现业务归属的可重配业务的总数量为2,所以业务划分模块201选择出的重配区域为2,即选择出第一FPGA芯片的第一重配区域和第二FPGA芯片的第二重配区域。业务划分模块201为100GE业务、OTU4业务的重配电路分配的是第一重配区域,为STM1/4、STM16、OTU0、OTU1业务的重配电路分配的是第二重配区域;根据100GE业务、OTU4业务的可配置电路选择的是与第一重配区域对应的第一FPGA芯片的第一静态区域,根据STM1/4、STM16、OTU0、OTU1业务的可配置电路选择的是与第二重配区域对应的第二FPGA芯片的第二静态区域。
其中,第一FPGA芯片的第一静态区域为GTY接入和Interlaken,GTY实现接入功能,Interlaken的功能为将业务打包。第二FPGA芯片的第二静态区域为GTH接入和ODUa,GTH实现接入功能,ODUa的功能为将业务封装成帧格式。
Flash中存储有RM_100GE、RM_OTU4、RM_OTU1、RM_OTU0、RM_STM1/4、RM_STM16六种配置的位流文件。业务实现模块202根据配置场景来加载对应的每一路位流文件,在第一重配区域中加载RM_100GE、RM_OTU4中的任意一个,再加载剩下的一个;在第二重配区域中选择加载RM_OTU1、RM_OTU0、RM_STM1/4、RM_STM16中的任意一个,然后再加载剩下三个中的任意一个,再加载剩下两个中的任意一个,最后加载剩下的一个。
比如在第一重配区域中先加载RM_100GE来实现100GE业务接入,再加载RM_OTU4来实现OTU4业务接入;或者在第一重配区域中先加载RM_OTU4来实现OTU4业务接入,再加载RM_100GE来实现100GE业务接入。比如可以在第二重配区域中先加载RM_OTU1来实现OTU1业务接入,然后加载RM_OTU0来实现OTU0业务接入,再加载RM_STM1/4来实现STM1/4业务接入,最后加载RM_STM16来实现RM_STM16业务接入。
对于第一静态区域,由于100GE业务、OTU4业务这两种业务速率有所差别,所以GTY的接入速率会有所不同,此时就要根据配置的业务进行GTY时钟的配置,该工作由业务实现模块202通过动态配置接口改写GTY中的寄存器值来实现。同时,Interlaken的GT速率也同样可以根据需要进行改变,以适应背板速率。比如在接入100GE业务时,由业务实现模块202通过动态配置接口改写GTY中的寄存器值,使GTY接入速率为103.125GHz,使得第一静态区域的速率与第一重配区域的速率相匹配;当在接入OTU4业务时,由业务实现模块202通过动态配置接口改写GTY中的寄存器值,使GTY接入速率为111.810GHz,使得第一静态区域的速率与第一重配区域的速率相匹配。
对于第二静态区域,由于STM1/4、STM16、OTU0、OTU1业务这四种业务速率有所差别,所以GTH的接入速率会有所不同,此时就要根据配置的业务进行GTH时钟的配置,该工作由业务实现模块202通过动态配置接口改写GTH中的寄存器值来实现。ODUa可以自适应速率,不用通过业务实现模块202进行改写。比如在接入OTU1业务时,由业务实现模块202通过动态配置接口改写GTH中的寄存器值,使GTH接入速率与第二重配区域的速率相匹配,而ODUa可以自适应速率,所以第二静态区域与第二重配区域的速率能匹配;当在接入OTU0业务时,由业务实现模块202通过动态配置接口改写GTH中的寄存器值,使GTH接入速率与第二重配区域的速率相匹配,而ODUa可以自适应速率,所以第二静态区域与第二重配区域的速率能匹配;当接入STM1/4业务时,由业务实现模块202通过动态配置接口改写GTH中的寄存器值,使GTH接入速率与第二重配区域的速率相匹配,而ODUa可以自适应速率,所以第二静态区域与第二重配区域的速率能匹配;当接入STM16业务时,由业务实现模块202通过动态配置接口改写GTH中的寄存器值,使GTH接入速率与第二重配区域的速率相匹配,而ODUa可以自适应速率,所以第二静态区域与第二重配区域的速率能匹配。
为了使静态区域能适应不同业务的速率,采用改写GTY、GTH中寄存器值的方式,来实现在重配区域接入不同速率的业务时,使得静态区域的速率与重配区域的速率相匹配,由此实现对静态区域的动态配置,这样就可以解决对接入速率不一致的业务进行动态的切换,实现业务接入的多样性,大大提高了业务配置的灵活性,使得在节约配置空间的同时,实现业务的灵活配置。
根据本实施例提供的用于可编程器件的业务实现装置,通过业务划分模块201将至少一个待实现业务的实现电路划分为可配置电路及重配电路;根据划分结果,选择可编程器件的静态区域及重配区域;业务实现模块202将重配电路的位流文件写入重配区域,将可配置电路的配置参数写入静态区域;采用上述方案,合理划分可编程器件的静态区域及重配区域,采用重配区域来减小位流文件的大小,节约配置空间;同时为了使静态区域能适应不同速率的业务,采用将可配置电路的配置参数写入静态区域的方式,来实现在重配区域接入不同速率的业务时,使得静态区域的速率与重配区域的速率相匹配,由此实现对静态区域的动态配置,这样就可以解决对接入速率不一致的业务进行动态的切换,实现业务接入的多样性,大大提高了业务配置的灵活性,使得在节约配置空间的同时,实现业务的灵活配置。
本实施例还提供一种通信终端,参见图6,该通信终端包括:可编程器件301及处理器302,其中,处理器302用于获取通信终端需要实现的通信业务,作为待实现业务,将至少一个待实现业务的实现电路划分为可配置电路及重配电路,根据划分结果,选择可编程器件301的静态区域及重配区域,将重配电路的位流文件写入重配区域,将可配置电路的配置参数写入静态区域;
可编程器件301用于在处理器302的控制下实现通信业务。
在另一实施例中还提供一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于执行实施例一中任一项的用于可编程器件的业务实现方法。
显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (6)
1.一种用于可编程器件的业务实现方法,包括:
将至少一个待实现业务的实现电路划分为可配置电路及重配电路;
根据划分结果,选择可编程器件的静态区域及重配区域;
将所述重配电路的位流文件写入所述重配区域,将所述可配置电路的配置参数写入所述静态区域;
所述将至少一个待实现业务的实现电路划分为可配置电路及重配电路包括:
获取各待实现业务的处理流程;
比对所述各待实现业务的处理流程,将处理流程相似度大于阈值的待实现业务,划分为同一类型的可重配业务;
将可重配业务中各待实现业务的共用电路划分为可配置电路,其余电路划分为重配电路;
所述根据划分结果,选择可编程器件的静态区域及重配区域包括:
根据所有待实现业务归属的可重配业务的总数量,选择对应数量的重配区域;
为各可重配业务的重配电路分配重配区域;
根据各可重配业务的可配置电路选择对应模块结构的静态区域。
2.如权利要求1所述的业务实现方法,其特征在于,将所述重配电路的位流文件写入所述重配区域,将所述可配置电路的配置参数写入所述静态区域包括:
读取需要实现的目标业务的位流文件,将所述位流文件写入所述目标业务的重配区域;
获取所述目标业务的运行参数,作为所述配置参数,写入所述静态区域。
3.如权利要求2所述的业务实现方法,其特征在于,所述写入所述静态区域包括:通过所述静态区域的动态配置接口,将所述配置参数写入所述静态区域。
4.一种用于可编程器件的业务实现装置,包括:业务划分模块及业务实现模块,其中,
所述业务划分模块用于将至少一个待实现业务的实现电路划分为可配置电路及重配电路,根据划分结果,选择可编程器件的静态区域及重配区域;
所述业务实现模块用于将所述重配电路的位流文件写入所述重配区域,将所述可配置电路的配置参数写入所述静态区域;
所述业务划分模块用于获取各待实现业务的处理流程,比对所述各待实现业务的处理流程,将处理流程相似度大于阈值的待实现业务,划分为同一类型的可重配业务,将可重配业务中各待实现业务的共用电路划分为可配置电路,其余电路划分为重配电路;
所述业务划分模块用于根据所有待实现业务归属的可重配业务的总数量,选择对应数量的重配区域,为各可重配业务的重配电路分配重配区域,根据各可重配业务的可配置电路选择对应模块结构的静态区域。
5.如权利要求4所述的业务实现装置,其特征在于,所述业务实现模块用于读取需要实现的目标业务的位流文件,将所述位流文件写入所述目标业务的重配区域,获取所述目标业务的运行参数,作为所述配置参数,通过所述静态区域的动态配置接口,将所述配置参数写入所述静态区域。
6.一种通信终端,包括:可编程器件及处理器,其中,
所述处理器用于获取所述通信终端需要实现的通信业务,作为待实现业务,将至少一个待实现业务的实现电路划分为可配置电路及重配电路,根据划分结果,选择所述可编程器件的静态区域及重配区域,将所述重配电路的位流文件写入所述重配区域,将所述可配置电路的配置参数写入所述静态区域;
所述可编程器件用于在所述处理器的控制下实现通信业务;
所述处理器具体用于获取各待实现业务的处理流程;
比对所述各待实现业务的处理流程,将处理流程相似度大于阈值的待实现业务,划分为同一类型的可重配业务;
将可重配业务中各待实现业务的共用电路划分为可配置电路,其余电路划分为重配电路;
根据所有待实现业务归属的可重配业务的总数量,选择对应数量的重配区域;
为各可重配业务的重配电路分配重配区域;
根据各可重配业务的可配置电路选择对应模块结构的静态区域。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610493635.9A CN107544819B (zh) | 2016-06-29 | 2016-06-29 | 一种用于可编程器件的业务实现方法、装置和通信终端 |
PCT/CN2017/090881 WO2018001329A1 (zh) | 2016-06-29 | 2017-06-29 | 用于可编程器件的业务实现方法、装置和通信终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610493635.9A CN107544819B (zh) | 2016-06-29 | 2016-06-29 | 一种用于可编程器件的业务实现方法、装置和通信终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107544819A CN107544819A (zh) | 2018-01-05 |
CN107544819B true CN107544819B (zh) | 2022-04-19 |
Family
ID=60785877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610493635.9A Active CN107544819B (zh) | 2016-06-29 | 2016-06-29 | 一种用于可编程器件的业务实现方法、装置和通信终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107544819B (zh) |
WO (1) | WO2018001329A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708513B (zh) * | 2019-10-18 | 2021-06-01 | 中国科学院长春光学精密机械与物理研究所 | 一种8k视频多核异构处理装置 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5600845A (en) * | 1994-07-27 | 1997-02-04 | Metalithic Systems Incorporated | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
CN101009645A (zh) * | 2006-12-22 | 2007-08-01 | 清华大学 | 基于cam的宽带网络业务流按每流排队的可扩展的装置 |
CN101031876A (zh) * | 2004-08-24 | 2007-09-05 | 华盛顿大学 | 用可重新配置硬件进行内容检测的方法和系统 |
CN101441674A (zh) * | 2008-12-15 | 2009-05-27 | 浙江大学 | 基于fpga的动态可重构系统的分片配置方法 |
CN101741593A (zh) * | 2008-11-19 | 2010-06-16 | 华为技术有限公司 | 一种动态加载业务板的方法和动态加载系统 |
CN101788931A (zh) * | 2010-01-29 | 2010-07-28 | 杭州电子科技大学 | 一种硬件实时容错的动态局部可重构系统 |
CN102147735A (zh) * | 2010-02-10 | 2011-08-10 | 华为技术有限公司 | 接口单板和业务逻辑加载的方法 |
CN102281477A (zh) * | 2011-08-18 | 2011-12-14 | 中兴通讯股份有限公司 | 一种实现otn业务映射及解映射的方法和装置 |
CN103019947A (zh) * | 2012-11-28 | 2013-04-03 | 复旦大学 | 一种fpga芯片配置信息模型的层出化构建方法 |
CN103259733A (zh) * | 2013-05-15 | 2013-08-21 | 杭州华三通信技术有限公司 | 一种子卡单元动态适配方法和线卡板 |
CN203204615U (zh) * | 2013-03-15 | 2013-09-18 | 上海安路信息科技有限公司 | 可适应多种数据流计算模式的动态可重构系统 |
CN103677916A (zh) * | 2013-12-10 | 2014-03-26 | 中国航空工业集团公司第六三一研究所 | 一种基于fpga的在线重配置系统及方法 |
CN104536755A (zh) * | 2014-12-29 | 2015-04-22 | 深圳市国微电子有限公司 | 可编程逻辑器件重构方法及装置 |
CN104580409A (zh) * | 2014-12-24 | 2015-04-29 | 广州酷狗计算机科技有限公司 | 业务请求处理方法、服务器及终端 |
CN104956328A (zh) * | 2014-01-28 | 2015-09-30 | 华为技术有限公司 | 一种可重入资源调度方法、设备及系统 |
CN105282768A (zh) * | 2014-07-25 | 2016-01-27 | 中兴通讯股份有限公司 | 重配置方法及装置 |
US9299396B1 (en) * | 2014-07-15 | 2016-03-29 | Altera Corporation | Programmable integrated circuits with in-operation reconfiguration capability |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8299833B2 (en) * | 2010-06-09 | 2012-10-30 | International Business Machines Corporation | Programmable control clock circuit including scan mode |
US9286952B2 (en) * | 2014-06-30 | 2016-03-15 | Lattice Semiconductor Corporation | SRAM with two-level voltage regulator |
-
2016
- 2016-06-29 CN CN201610493635.9A patent/CN107544819B/zh active Active
-
2017
- 2017-06-29 WO PCT/CN2017/090881 patent/WO2018001329A1/zh active Application Filing
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5600845A (en) * | 1994-07-27 | 1997-02-04 | Metalithic Systems Incorporated | Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor |
CN101031876A (zh) * | 2004-08-24 | 2007-09-05 | 华盛顿大学 | 用可重新配置硬件进行内容检测的方法和系统 |
CN101009645A (zh) * | 2006-12-22 | 2007-08-01 | 清华大学 | 基于cam的宽带网络业务流按每流排队的可扩展的装置 |
CN101741593A (zh) * | 2008-11-19 | 2010-06-16 | 华为技术有限公司 | 一种动态加载业务板的方法和动态加载系统 |
CN101441674A (zh) * | 2008-12-15 | 2009-05-27 | 浙江大学 | 基于fpga的动态可重构系统的分片配置方法 |
CN101788931A (zh) * | 2010-01-29 | 2010-07-28 | 杭州电子科技大学 | 一种硬件实时容错的动态局部可重构系统 |
CN102147735A (zh) * | 2010-02-10 | 2011-08-10 | 华为技术有限公司 | 接口单板和业务逻辑加载的方法 |
CN102281477A (zh) * | 2011-08-18 | 2011-12-14 | 中兴通讯股份有限公司 | 一种实现otn业务映射及解映射的方法和装置 |
CN103019947A (zh) * | 2012-11-28 | 2013-04-03 | 复旦大学 | 一种fpga芯片配置信息模型的层出化构建方法 |
CN203204615U (zh) * | 2013-03-15 | 2013-09-18 | 上海安路信息科技有限公司 | 可适应多种数据流计算模式的动态可重构系统 |
CN103259733A (zh) * | 2013-05-15 | 2013-08-21 | 杭州华三通信技术有限公司 | 一种子卡单元动态适配方法和线卡板 |
CN103677916A (zh) * | 2013-12-10 | 2014-03-26 | 中国航空工业集团公司第六三一研究所 | 一种基于fpga的在线重配置系统及方法 |
CN104956328A (zh) * | 2014-01-28 | 2015-09-30 | 华为技术有限公司 | 一种可重入资源调度方法、设备及系统 |
US9299396B1 (en) * | 2014-07-15 | 2016-03-29 | Altera Corporation | Programmable integrated circuits with in-operation reconfiguration capability |
CN105282768A (zh) * | 2014-07-25 | 2016-01-27 | 中兴通讯股份有限公司 | 重配置方法及装置 |
CN104580409A (zh) * | 2014-12-24 | 2015-04-29 | 广州酷狗计算机科技有限公司 | 业务请求处理方法、服务器及终端 |
CN104536755A (zh) * | 2014-12-29 | 2015-04-22 | 深圳市国微电子有限公司 | 可编程逻辑器件重构方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于ARM+FPGA的终端重配置硬件平台实现;李霄潇等;《中国新通信》;20080305(第05期);第53-56页 * |
基于FPGA的可重构硬件实现技术研究;陈一骄等;《信息工程大学学报》;20090315(第01期);第94-97页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107544819A (zh) | 2018-01-05 |
WO2018001329A1 (zh) | 2018-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105703765B (zh) | 基于dram的可重构装置 | |
US10013212B2 (en) | System architecture with memory channel DRAM FPGA module | |
CA2918091C (en) | System and method for memory channel interleaving with selective power or performance optimization | |
JP6378325B2 (ja) | 非対称な記憶容量を有する複数チャネルメモリアーキテクチャにわたってデータを均一にインターリーブするためのシステムおよび方法 | |
US10886218B2 (en) | Fabric die to fabric die interconnect for modularized integrated circuit devices | |
EP3611625B1 (en) | Inter-die communication of programmable logic devices | |
CN105808328A (zh) | 任务调度的方法、装置和系统 | |
KR20170042121A (ko) | 파워-업 시퀀스를 제어하는 반도체 장치 | |
US10564858B2 (en) | Data storage device with selective connection to non-volatile memories | |
US11144085B2 (en) | Dynamic maximum frequency limit for processing core groups | |
US11893475B2 (en) | Neural network accelerator writable memory | |
CN111324461B (zh) | 内存分配方法、装置、计算机设备和存储介质 | |
CN107544819B (zh) | 一种用于可编程器件的业务实现方法、装置和通信终端 | |
US8868879B2 (en) | System on chip with reconfigurable SRAM | |
US9503096B1 (en) | Multiple-layer configuration storage for runtime reconfigurable systems | |
CN115408328A (zh) | 众核系统、处理方法及处理单元 | |
CN110825667B (zh) | 一种低速io设备控制器的设计方法和结构 | |
US9853644B2 (en) | Multiple-layer configuration storage for runtime reconfigurable systems | |
KR101610697B1 (ko) | 공유 구성 가능 물리적 계층 | |
US20220244867A1 (en) | Fabric Memory Network-On-Chip Extension to ALM Registers and LUTRAM | |
CN113094118B (zh) | 数据处理系统、方法、装置、计算机设备和存储介质 | |
Kettelhoit et al. | A layer model for systematically designing dynamically reconfigurable systems | |
CN115495392A (zh) | 多级启动中内存复用方法、装置、存储介质和处理器 | |
CN111459874A (zh) | 一种现场可编程门阵列配置闪存的复用方法 | |
CN117295052A (zh) | 频段组合的激活方法及装置、可读存储介质、终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |