专利名称:一种性能统计方法及数字芯片的制作方法
技术领域:
本发明涉及通讯领域中的性能统计,尤其涉及通讯领域中数字芯片性能统计的方法与系统。
背景技术:
根据ITU-T建议,在同步数据体系(SDH)与数据通讯等领域均需要提供性能误码相关的统计工作。例如,在SDH协议中通过BIP-2、BIP-8、BIP-24的误码性能监视与误码的回告实现SDH端到端的性能监视,这些性能需要多帧累加,一定时间的累加结果作为设备启动相关机制的条件,实现SDH设备的保护与故障定位。对于数据通讯协议中,同样需要提供错误统计与正常的速率统计功能。在目前SDH和数据通讯芯片设计中,都会涉及性能统计,存在两种实现方式,一种独立分离的性能统计方法,另一种为电路共享的性能统计方法。
图1示出了独立分离的性能统计电路的示意图。在进行独立分离的性能统计时,需要对每一个需要统计的性能进行单独的累加、刷新、清零,因此每个性能都有自己的性能统计电路。以性能1为例,其性能统计电路包括累加电路101、刷新电路102以及存储与清零电路103。此种方法的设计简单、清楚,适用于较少的性能统计设计。一旦需要多个性能统计时,用此种方法设计的电路会浪费巨大的资源。
需要指出的是,虽然图中采用累加电路在前、刷新电路在后的方式绘制,但是应当理解,这只是为了便于说明SDH芯片的结构。在芯片的实际工作中,累加与刷新电路是协同操作的,并没有明确的位置先、后之分。
电路共享的性能统计方法是对上面方法的改进,如图1b所示,其中多个具有相同时钟域的性能以串行方式加到一个共用的性能统计电路上,从而实现了多个性能统计共用一套累加、刷新、清零电路。此种设计方法适用于性能较多的性能统计设计。用此种设计方法会节省数倍的逻辑资源,节省资源,节约成本。
电路共享的性能统计方法通常是在相同时钟域中采用共用累加器、刷新、清零的设计思路实现,这种方法在一定程度上节省了设计资源。但是,目前芯片或FPGA设计方向是SOC(系统单片集成,systemon a chip),通常在一个芯片中存在多个端口,多个时钟,于是这种电路共享的性能统计方法对于这种跨时钟域的性能统计就不合适。
发明内容
考虑到上述问题,本发明就提供一个适用于所有情况(同步、异步)的通用性能统计方法。
本发明根据电路复用的工作原理、采用抽取公共电路的办法以实现电路资源的节省。但是,在本发明的方法中,公共电路突破原有的电路提取思维,除了累加、刷新、清零是公共部分外,还提取异步电路同步化的部分,实现性能统计的跨时钟域共享。
本发明提供一种通用性能统计方法,所述方法包括如下步骤一个多路选择步骤,用于对具有至少一个时钟域的多个性能进行多路选择,其中每个所述性能都有一个用于标示所述性能属于某个帧的帧指示信号;一个同步处理步骤,用于使所述多路选择步骤选择出的具有至少一个时钟域的多个性能均工作在同步处理装置的时钟下,以实现同步;以及一个性能统计步骤,用于对同步后的性能进行统计。
本发明还提供一种用于性能统计的数字芯片,包括一个多路选择装置,用于对具有至少一个时钟域的多个性能进行多路选择,其中每个所述性能都有一个用于确保正确同步的帧指示信号;一个同步处理装置,用于使所述多路选择步骤选择出的具有至少一个时钟域的多个性能均工作在同步处理装置的时钟下,以实现同步,以及一个性能统计装置,用于对同步后的性能进行统计。
通过结合附图阅读本发明的详细说明,有关本发明的上述优点以及其他优点将便得更加清楚、明确。在附图中图1a是独立分离的性能统计电路结构的示意图;图1b是电路共享的性能统计电路结构的示意图;图2是根据本发明的通用性能统计电路结构的示意图;图3是通用性能统计方法的总体流程图;图4是根据本发明的优选实施方式的通用性能统计方法的流程图。
具体实施例方式
图2示出了根据本发明的一种优选实施方式的通用性能统计电路20的结构示意图。注意,为了便于说明,此处只给出了与本发明实施相关的那些电路部分,其余不相关部分被省略。
在图2中,具有不同时钟域的多个性能1...N被加到一个多路选择器21的输入端。所述多路选择器21每次将N个性能中的一个(例如,性能j)输出到同步处理装置22。所述同步处理装置22通过进行同步处理使所述性能j工作在所述同步处理装置22的时钟下。从同步处理装置22输出后的性能j’再输入到性能统计电路23来完成性能统计过程。
应当指出,根据本领域的通常作法,同步处理装置22所使用的时钟与最短帧指示标志的长度和性能个数有关,并与最短帧指示标志的长度成反比,与性能个数成正比。可以根据具体的实施方式选择满足上述两个指标的任意时钟频率,例如,在SDH领域中可为19M或77M。根据本发明的一种优选实施方式,同步处理装置22采用不高于77M的时钟。当时钟频率高于77M时,还可考虑通过PIPELINE方式解决。
所谓PIPELINE方式,就是对累加电路进行流水线处理。因为累加电路在77M的时钟周期内可以完成累加,而当时钟频率提高时,累加的电路延迟可能大于77M时钟周期,只能够通过多拍时钟的处理完成累加工作,这种方式称之为PIPELINE方式。
此外,所述同步处理装置22可通过采样方式来实现同步。对于性能统计复用的方法,需要对每个需要统计的性能提供帧跳变指示(即,帧指示信号),标示对应此帧的性能数据。由于帧跳变指示与性能统计时钟是不同时钟域的信号,而帧信号在跳变的过程中是一个缓慢上升的过程,对应的性能数据也处于缓慢上升过程。数据在此时间点是不稳定的,如果在此时间点采样会导致数据采样错误,性能累加也同样会出错,同步采样过程就是通过采样3个周期稳定跳变后的电平,取第2个周期的电平对应的数据作为采样的性能依据,确保采到稳定的数据。
但是,本领域技术人员可以理解,同步处理并不局限于采样的方式,有多种方式可用于实现所述同步处理操作,例如采用FIFO(先进先出)方式同样可以达到同步目的。
所述性能统计电路23可以与图1b中所示的性能统计电路相同,包括累加电路、刷新电路和存储与清零电路。所述性能统计电路具体怎样实现对本发明的实施没有影响。
以下参照图3说明本发明的方法的总体流程。
首先,在步骤S301中,通过所述多路选择器21进行性能源选择,从属于不同时钟域的N个性能中选择一个。假定性能j被选择出来,在步骤S302中,所述性能j被输入到同步处理装置22中进行同步处理,以使所述性能j工作在所述同步装置22的时钟频率上并得到同步后的性能j’。接下来在步骤S303中,经过同步后的性能j’被输入到性能统计电路以进行性能统计。
图4示出了根据本发明的一种实施方式的通用性能统计方法的流程图。
如图4所示,在步骤S401中通过多路选择器22,对N个需要统计的性能进行N选1,选出当前对应路的性能(假定为性能i)。应当理解,性能通常被表示为一些二进制位的组合。此外,在本发明中,还要对每个需要进行统计的性能,提供该性能的帧指示信号来标示对应某个帧的性能数据。此信号的作用是异步时钟同步处理的标志。对于相邻两帧,一定要区分开它们的指示信号。
在步骤S402中,例如通过采样对当前选出的性能j进行同步化处理,以使其工作在同步处理装置22的时钟下;同步化处理后的性能j表示为性能j’。应当指出,进行同步处理只是改变了性能的时钟域,其实际内容并不发生改变。本发明也适用于一帧采样几个周期的情况,但这时需要注意帧标志的处理。
接下来,同步后的性能j’被输入到刷新电路,以开始其统计过程。应当理解,这里所描述的性能统计过程只是示例性的,本发明并不局限于此。
在步骤S403中,刷新电路中包括的一个刷新判断机构判断所述性能j’是否要刷新。所谓判断是否刷新即是判断是否把内部寄存器累加的性能值刷新到CPU寄存器区域中。根据本发明的一种实施方式,通过对比寄存器与CPU写的刷新标志来确认当前帧是否需要刷新。如果步骤S403的判断结果为“否”(不刷新),则过程进入步骤S404,在其中由累加电路的一个累加判断机构判断当前帧的性能是否要累加(即,判断当前帧标志是否与寄存器中存储的帧标志相同。如果二者相同,则认为此帧性能已经被累加过,而不进行累加;否则,则需要累加)。如果步骤S404的判断结果为“是”(需要累加),则过程进入步骤S405,由累加电路将此帧性能与先前已累加的性能进行累加。然后,在步骤S406中通过存储与清零电路将累加结果存储到内部寄存器中。
本领域技术人员知道,SDH芯片的寄存器中包括内部寄存器和CPU寄存器区域。其中,内部寄存器用于存储帧标志(帧指示信号)、刷新标志等,而CPU寄存器区域是可由CPU访问以向软件读取信息的区域。
如果在步骤S404的判断结果为“否”,即不需要累加,则过程跳过步骤S405直接进入步骤S406,在内部寄存器中存储当前的帧性能。
如果在步骤S403中的判断结果为“是”(需要刷新),则过程进入步骤S407,在此仍然判断当前帧是否需要累加。如果判断结果为“是”,则在步骤S408中由累加电路将此帧性能与先前已累加的性能进行累加。然后在步骤S409中,由存储与清零电路将累加结果刷新到CPU寄存器区域中,并在内部存储器中清零(更新刷新标志)。接下来过程进入步骤S410,将内部存储器中的帧标志更新为与当前帧标志相同。
另一方面,如果在步骤S407中的判断结果为“否”(即,不需要累加),则过程跳过步骤S408直接执行S409、S410。
以上根据本发明的一种实施方式说明了对当前选出的一路性能进行统计的过程。以同样的方式对处于多路选择器22输入端的其他性能进行统计。
由以上的描述可以看出,本发明通过对具有不同时钟域的多个性能进行同步处理,从而突破了传统的电路共享性能统计中只能对具有相同时钟域的各个性能进行公共电路抽取的概念,从而实现了一种既可以用于同步、也可以用于异步的通用性能统计方法。
在SDH芯片中对于高阶光口进行协议处理时,需要统计多个光口的、几个时钟域的BIP-8(B1、B3误码)、BIP-24(B2误码)、RPREI回告误码、RLREI的回告误码。此种应用可以根据上面的实施步骤完成对SDH光口异步时钟的性能统计。在这种应用中,通常,每个性能是以帧不变的保持一个8K周期,采样的时钟可以为例如19M或77M时钟,从而实现很多个性能统计的累加与统计。
以上根据本发明的优选实施方式对本发明的原理进行了说明,但是,本领域技术人员应当理解,这里的说明只是示例性的,不应理解为对本发明的任何限制。例如,尽管结合SDH芯片来描述本发明,但本发明也同样适用于数据通讯领域的芯片设计,而且实现方式可以为ASIC或FPGA。
如果在FPGA中实现,对于内部存储器的性能累加于性能的CPU寄存可以通过BLOCKRAM实现,性能的帧指示信号(帧标志)通过对每帧取反完成,每次累加后要更新内部存储的帧标志,表示此性能已经被加过,防止多次累加此值,刷新通过CPU写反完成,每次刷新结束,都通过内部的寄存器寄存此次的刷新控制位。而在IC中,对与包相关的统计,复用的性能个数取决于最短包加包间隔的时间与性能统计的采样时钟,复用方法同样按上面的步骤实施。
本发明可以程序代码的形式实现,也可采用分立元件的形式实现,或者通过这二者的结合来实现。本领域技术人员可以根据说明书的描述获得有关本发明的任何变形和改进,但这些变形和改进都包括在由随附权利要求书所限定的本发明的范围和精神内。
权利要求
1.一种性能统计方法,所述方法包括如下步骤一个多路选择步骤,用于对具有至少一个时钟域的多个性能进行多路选择,其中每个所述性能都有一个用于标示所述性能属于某个帧的帧指示信号;一个同步处理步骤,用于使所述多路选择步骤选择出的具有至少一个时钟域的多个性能均工作在同步处理装置的时钟下,以实现同步;以及一个性能统计步骤,用于对同步后的性能进行统计。
2.根据权利要求1所述的性能统计方法,其中所述同步处理步骤可通过采样方式实现。
3.根据权利要求1所述的性能统计方法,其中所述同步处理步骤可通过先进先出(FIFO)方式实现。
4.根据权利要求1所述的性能统计方法,其中所述性能统计步骤包括如下步骤刷新判断步骤,用于判断是否对由多路选择步骤选择出的性能进行刷新处理;累加判断步骤,用于在刷新判断步骤决定不刷新时,判断是否对所述性能进行累加;累加步骤,用于在累加判断步骤决定进行累加时,将所述性能与先前已累加的性能进行累加;以及存储步骤,用于在累加判断步骤决定不进行累加时直接将所述性能存储到内部寄存器中并更新内部存储器中的帧指示信号;以及在进行累加后将性能累加结果存储到内部寄存器中并更新内部寄存器中的帧指示信号。
5.根据权利要求1所述的性能统计方法,其中所述性能统计步骤包括如下步骤刷新判断步骤,用于判断是否对由多路选择步骤选择出的性能进行刷新处理;累加判断步骤,用于在刷新判断步骤决定进行刷新时,判断是否对所述性能进行累加;累加步骤,用于在累加判断步骤决定进行累加时,将所述性能与先前已累加的性能进行累加;存储步骤,用于在累加判断步骤决定不进行累加时直接将所述性能存储到CPU寄存器区域中,将内部寄存器清零,并且更新内部存储器中的帧指示信号以与当前的帧指示信号相同;以及在进行累加后将性能累加结果存储到CPU寄存器区域中,将内部寄存器清零,并且更新内部存储器中的帧指示信号以与当前的帧指示信号相同。
6.一种用于性能统计的数字芯片,包括一个多路选择装置,用于对具有至少一个时钟域的多个性能进行多路选择,其中每个所述性能都有一个用于标示所述性能属于某个帧的帧指示信号;一个同步处理装置,用于使所述多路选择步骤选择出的具有至少一个时钟域的多个性能均工作在同步处理装置的时钟下,以实现同步,以及一个性能统计装置,用于对同步后的性能进行统计。
7.根据权利要求6所述的数字芯片,其中所述同步处理装置通过进行采样来实现同步。
8.根据权利要求6所述的数字芯片,其中所述同步处理装置通过先进先出(FIFO)方式来实现同步。
9.根据权利要求6所述的数字芯片,其中所述性能统计装置包括刷新判断装置,用于判断是否对由多路选择装置选择出的性能进行刷新处理;累加判断装置,用于在刷新判断装置决定不刷新时,判断是否对所述性能进行累加;累加装置,用于在累加判断装置决定进行累加时,将所述性能与先前已累加的性能进行累加;以及存储装置,用于在累加判断步骤决定不进行累加时直接将所述性能存储到内部寄存器中并更新内部存储器中的帧指示信号;以及在进行累加后将性能累加结果存储到内部寄存器中并更新内部存储器中的帧指示信号。
10.根据权利要求6所述的数字芯片,其中所述性能统计装置包括刷新判断装置,用于判断是否对由多路选择步骤选择出的性能进行刷新处理;累加判断装置,用于在刷新判断步骤决定进行刷新时,判断是否对所述性能进行累加;累加装置,用于在累加判断步骤决定进行累加时,将所述性能与先前已累加的性能进行累加;存储装置,用于在累加判断步骤决定不进行累加时直接将所述性能存储到CPU寄存器区域中,将内部寄存器清零,并且更新内部寄存器中的帧指示信号以与当前的帧指示信号相同;以及在进行累加后将性能累加结果存储到CPU寄存器区域中,将内部寄存器清零,并且更新内部寄存器中的帧指示信号以与当前的帧指示信号相同。
11.根据权利要求6所述的数字芯片可以是至少下列之一同步数据体系(SDH)芯片、ASIC或FPGA。
全文摘要
本发明公开了一种通用的性能统计方法。该方法通过抽取公共的异步时钟同步处理、性能加法、性能、性能清零的功能模块,把这些模块作为公共模块进行流水操作,顺序的完成多个性能的累加。此方法不仅适用于异步的性能统计,同样适用于同步的性能统计,最终达到节省IC设计面积与FPGA设计单元的目的。
文档编号G06F13/42GK1458558SQ0314109
公开日2003年11月26日 申请日期2003年6月23日 优先权日2003年6月23日
发明者张占龙 申请人:Ut斯达康(中国)有限公司