1.一种与数据流同步的数据检索电路,其特征在于,所述电路包括:
移位寄存器,用于在时钟信号作用下,每个时钟周期接收输入数据流中的一个数据单元,同时将前一个时钟周期存放的数据移动一个数据单元;
样本寄存器,用于预先设置样本数据,所述样本数据包括若干数据单元;所述移位寄存器与所述样本寄存器长度相同;而所述样本数据的长度小于或者等于所述样本寄存器的长度;
模2加运算电路,用于将所述移位寄存器中的数据和所述样本寄存器中的数据进行模
2加运算;
提取指示寄存器,用于指示所述模2加运算的运算结果中的有效位部分;
结果提取与判决电路,用于提取所述模2加运算的运算结果中的有效位部分;并根据所述有效位部分判决是否检索到与所述样本数据一致的数据;若判决为检索到与所述样本数据一致的数据,则产生匹配信号;
其中,所述模2加运算电路具体用于,
将所述移位寄存器中的数据单元和所述样本寄存器中相对应的数据单元分别进行模2加运算;将所述移位寄存器中数据的第i个数据单元和所述样本寄存器中相对应的第i个数据单元进行模2加运算为,Mi=Bi⊕Si=(bi0⊕si0)∨(bi1⊕si1)∨……∨(bi(N-1)⊕si(N-1))其中,Bi为所述移位寄存器中数据的第i个数据单元,Si为所述样本寄存器中第i个数据单元,N为所述数据单元的宽度,bij与sij分别为所述Bi与所述Si中第j个比特;Mi为将所述移位寄存器中数据的第i个数据单元和所述样本寄存器中相对应的第i个数据单元进行模2加运算的运算结果,Mi具体为一个比特的布尔数据。
2.如权利要求1所述的电路,其特征在于,所述数据单元的宽度大小为1、8或16位。
3.如权利要求1所述的电路,其特征在于,所述提取指示寄存器具体用于,预先设置指示所述模2加运算的运算结果的有效部分的指示数据;所述指示数据为,其中,所述样本数据的长度为m+1,所述移位寄存器的长度为n+1,且m≤n;fi为所述指示数据的第i个比特数据。
4.如权利要求3所述的电路,其特征在于,所述结果提取与判决电路具体用于,将所述模2加运算的运算结果和所述指示数据中相对应位的数据分别进行与运算,提取出所述模2加运算的运算结果中的有效位部分;将所述模2加运算的运算结果和所述指示数据中相对应的第i位数据进行与运算为,Ci=Mifi
将所述与运算的运算结果中每一位数据进行或非计算,根据所述或非计算的运算结果判断是否检索到与所述样本数据一致的数据;所述或非计算为,其中,Mi为将所述移位寄存器中数据的第i个数据单元和所述样本寄存器中相对应的第i个数据单元进行模2加运算的运算结果;Ci为将所述模2加运算的运算结果和所述指示数据中相对应的第i位数据进行与运算的运算结果;C0、C1、…、Cm、Cm+1、…、Cn分别为所述与运算的运算结果中第0、1、…、m、m+1、…、n位数据;o为所述或非计算的运算结果;
当o=1时,判断为检索到与所述样本数据一致的数据,产生匹配信号;
当o=0时,判断为未检索到与所述样本数据一致的数据,产生不匹配信号。
5.如权利要求1所述的电路,其特征在于,所述电路还包括计数器与结果缓存电路,所述计数器用于,对已输入所述移位寄存器的数据单元的个数进行计数,相应地,所述结果缓存电路用于,当所述结果提取与判决电路产生匹配信号时,缓存所述计数器的当前计数值。
6.如权利要求1所述的电路,其特征在于,所述电路还包括串并转换电路,所述串并转换电路用于,当所述输入数据流为串行数据流而所述数据单元的宽度为8位或者16位时,将所述串行数据流转变为与所述数据单元的宽度一致的并行数据流;并将所述并行数据流送入所述移位寄存器。
7.如权利要求5所述的电路,其特征在于,所述电路还包括时钟微调电路,所述时钟微调电路用于,在保存所述计数器的当前计数值的期间维持所述时钟信号状态不变。