基于优先级对数据流中数据进行选择操作的方法以及系统的制作方法

文档序号:9200194阅读:292来源:国知局
基于优先级对数据流中数据进行选择操作的方法以及系统的制作方法
【技术领域】
[0001] 本发明涉及通讯技术领域,尤其涉及一种基于优先级对数据流中数据进行选择操 作的方法以及系统。
【背景技术】
[0002] 现有技术中,对于一串数据流中选择出需要的内容并确认出其对应索引位置的做 法,目前是采用遍历缩影的办法,即是通过if else不断索引,此种办法虽然可以解决问 题,但是在实际的硬件实现上,会导致复用器mux级数递增,时序上无法收敛,形成硬件高 速运彳丁的关键路径。

【发明内容】

[0003] 本发明要解决的技术问题之一,在于提供一种基于优先级对数据流中数据进行选 择操作的方法,能使系统中的硬件代码可扩展性容易实现,同时硬件级数减少,硬件频率极 限得到提高。
[0004] 本发明问题之一是这样实现的:一种基于优先级对数据流中数据进行选择操作的 方法,其特征在于:所述方法需提供N个加法器和一比较控制器;所述N为大于1的自然数; 所述方法具体为:使用N个加法器对输入的一串数据流中的每个比特位的数据从1到k进 行加法处理;k为数据流的个数且N>k,得到sum(k),预设要获得数据流中第M个为1的数 值,则利用比较控制器对Sum(O)到sum(k)进行比较判断获得数据流中第几比特位,该第几 比特位作为索引值,该索引值即为对应的数据流中第M个为1的数值。
[0005] 进一步地,所述利用比较控制器对sum(0)到sum(k)进行比较判断获得数据流中 第几比特位,具体为:利用比较控制器对sum (0)到sum (k)中相邻的两个sum值进行比较, 即比较sum(j)与sum(j-l),其中j = 1到k,在M数值范围内,如果sum(j) = i&&sum(j-l) =(i-1),那么输出j值,该j值即为要找的第几比特位;将j值作为索引值,从而完成选择 操作。
[0006] 本发明要解决的技术问题之二,在于提供一种基于优先级对数据流中数据进行选 择操作的系统,能使系统中的硬件代码可扩展性容易实现,同时硬件级数减少,硬件频率极 限得到提高。
[0007] 本发明问题之二是这样实现的:一种基于优先级对数据流中数据进行选择操作的 系统,所述系统包括N个加法器和一比较控制器,所述N为大于1的自然数,各个加法器与 所述比较控制器连接;使用N个加法器对输入的一串数据流中的每个比特位的数据从1到 k进行加法处理;k为数据流的个数且N>k,得到sum (k),预设要获得数据流中第M个为1的 数值,则利用比较控制器对Sum(O)到sum (k)进行比较判断获得数据流中第几比特位,该第 几比特位作为索引值,该索引值即为对应的数据流中第M个为1的数值。
[0008] 进一步地,所述利用比较控制器对Sum(O)到sum(k)进行比较判断获得数据流中 第几比特位,具体为:利用比较控制器对sum (0)到sum (k)中相邻的两个sum值进行比较, 即比较sum(j)与sum(j-l),其中j = 1到k,在M数值范围内,如果sum(j) = i&&sum(j-l) =(i-1),那么输出j值,该j值即为要找的第几比特位;将j值作为索引值,从而完成选择 操作。
[0009] 本发明具有如下优点:本发明采用了加法器和比较控制器,该比较控制器具有比 较和选择功能,通过加法器和比较控制器来实现可扩展的硬件N选M的硬件架构。从而快 速地对一串数据流中选择出需要的内容并确认出其对应索引位置。
【附图说明】
[0010] 图1为本发明方法流程示意图。
[0011] 图2为本发明应用于一实施例的原理框图。
[0012] 图3为本发明系统原理框图。
【具体实施方式】
[0013] 请参阅图1所示,本发明的一种基于优先级对数据流中数据进行选择操作的方 法,所述方法需提供N个加法器和一比较控制器;所述N为大于1的自然数;所述方法具体 为:使用N个加法器对输入的一串数据流中的每个比特位的数据从1到k进行加法处理;k 为数据流的个数且N>k,得到sum(k),预设要获得数据流中第M个为1的数值,则利用比较 控制器对Sum(O)到sum(k)进行比较判断获得数据流中第几比特位,该第几比特位作为索 引值,该索引值即为对应的数据流中第M个为1的数值。
[0014] 其中,所述利用比较控制器对SUm(O)到sum(k)进行比较判断获得数据流中第几 比特位,具体为:利用比较控制器对sum(O)到sum(k)中相邻的两个sum值进行比较,即比 较 sum(j)与 sum(j-l),其中 j = 1 到 k,在 M 数值范围内,如果 sum(j) = i&&sum(j-l)= (i-1),那么输出j值,该j值即为要找的第几比特位;将j值作为索引值,从而完成选择操 作。
[0015] 下面结合一具体实施例对本发明作进一步说明:
[0016] 假设M的值是2,即要得到数据流中第2个为1的数值;如输入的一串数据流为 00111,则k为数据流为5个数位;N可以为大于5的数据,如6,则利用6个加法器进行运 算;
[0017] 那么其实我们的目的就是在00111这串数据中找到第二个值为1对应的位置,这 个例子中00111倒数第二个1这个1就是要找的。则位置是第三bit。这样就找到了这个 我们需要索引的值3.
[0018] 做法:输入数据流00111
[0019] SUm(O)=O;
[0020] sum(l) = 0+0 ;
[0021] sum (2) = 0+0+1 = I ;
[0022] sum (3) = 0+0+1+1 = 2 ;
[0023] sum (4) = 0+0+1+1+1 = 3 ;
[0024] --判断:sum(0) sum(l) sum(2) sum(3) sum(4) sum(5)判断到 sum(3) = 2 (这里的 2是指定的需要找到的第二个I的位子)而且sum⑵=1。(即sum(j) = i&&sum(j-l)= α-1))这就表示我们已经找到需要的位子了,也就是3。
[0025] 请参阅图2所示,本发明应用于一实施例的原理框图。
[0026] 在实际专利实施例中的应用场景为:HEV
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1