发明名称 实现数据排序的电路和方法
摘要 本发明公开一种实现数据排序的电路和方法,为解决现有软件排序时间长,不满足实时性要求问题而发明。本发明的电路和方法:根据要查找的极值个数n,确定寄存器组、比较器组、n选1的多路选择器组、第一组2选1的多路选择器和第二组多路选择器、极值指针寄存器的深度,及第一组2选1多路选择器和第二组多路选择器、极值指针寄存器组的宽度;根据数据源的个数m,确定电路的运行时间为m个时钟;根据查找数值类型,选择比较器的输出类型;复位寄存器组、极值指针寄存器组;每个时钟周期向电路输入一个采样数据;经过m个时钟后停止本电路,此时寄存器组中保存的即为n个极值。本发明电路和方法,电路实时处理性强,排序时间成倍减少。
申请公布号 CN101114215A 申请公布日期 2008.01.30
申请号 CN200610099538.8 申请日期 2006.07.28
申请人 中兴通讯股份有限公司 发明人 温子瑜
分类号 G06F5/06(2006.01) 主分类号 G06F5/06(2006.01)
代理机构 北京中博世达专利商标代理有限公司 代理人 申健
主权项 1.一种实现数据排序的电路,包括:至少一寄存器(A),至少一比较器(B),至少一n选1的多路选择器(C),至少一第一2选1的多路选择器(D),至少一第二2选1的多路选择器(E),至少一极值指针寄存器(F),一地址译码器(G),一与门阵列(H);其中,所述寄存器(A)用于存储排序过程中当前的极值,寄存器(A)的输出和本电路的数据输入作为比较器(B)的输入;所述比较器(B)输出的比较结果作为n选1的多路选择器(C)的输入;所述极值指针寄存器(F)用于记录当前极值所在寄存器(A)的存储位置及当前极值顺序,并作为n选1的多路选择器(C)的控制端;所述n选1的多路选择器(C)输出本电路输入的数据与当前极值比较的结果,作为第一2选1多路选择器(D)的控制端,极值指针寄存器(F)作为第一2选1多路选择器(D)的输入端;所述n选1的多路选择器(C)的输出作为第二2选1多路选择器(E)的控制端;所述第一2选1多路选择器(D)的输出和极值指针寄存器(F)作为第二2选1多路选择器(E)的输入;所述第二2选1多路选择器(E)的输出作为极值指针寄存器(F)的输入;所述极值指针寄存器(F)作为地址译码器(G)的输入端;所述n选1的多路选择器(C)和地址译码器(G)的输出作为与门阵列(H)的输入;所述与门阵列(H)的输出连接到寄存器(A)的输入使能端。
地址 518057广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦6层法律部