System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及芯片领域,具体而言本申请实施例涉及一种循环冗余校验的方法及芯片。
技术介绍
1、在硬件实现中,crc电路可以设计成集成电路(芯片)中的模块,crc模块通常包含了硬件电路,专门用于执行crc算法。但是集成到芯片中的模块通常会增加芯片的物理面积。因为每个模块都需要一定数量的晶体管和其他电子元件来实现其功能,这些元件占据了芯片的面积。因此,将crc模块或其他功能模块集成到芯片中会导致芯片的总面积增加。
2、芯片的制造成本主要取决于芯片的大小,以及制造过程中所使用的硅片的面积。因此增加芯片的物理面积通常会导致增加制造成本。所以在芯片中增加crc模块会导致制造成本的升高。
技术实现思路
1、本申请实施例的目的在于提供一种循环冗余校验的方法及芯片,采用本申请实施例通过新定义的校验指令实现循环冗余校验,由于指令本身并不直接占据芯片的物理面积(这是由于指令是计算机程序的基本操作单元,通常存储在内存中,而不是直接在芯片上占用空间),指令的执行是由芯片上的控制单元和运算单元等硬件组件完成的,因此采用本申请的实施例实现循环冗余校验时不会增加芯片制造成本且减小了芯片的面积。
2、第一方面,本申请实施例提供一种循环冗余校验的方法,所述方法包括:设置状态控制寄存器的值,其中,所述状态控制寄存器的值用于表征本次校验是否需要对输入数据包括的被检验字节进行反序;对所述输入数据的第i被校验字节分别执行如下操作,得到校验结果:加载与第i被校验字节对应的多位输入数据;根据校验指令对所述第
3、在一些实施例中,所述设置状态控制寄存器的值,包括:将所述状态控制寄存器的值设置为第一数值,其中,所述第一数值用于表征本次校验是从相应被校验字节的最高位到最低位进行crc校验;或者,将所述状态控制寄存器的值设置为第二数值,其中,所述第二数值用于表征本次校验是从对相应被校验字节进行反序并从反序得到的被校验字节的最高位到最低位进行crc校验。
4、在一些实施例中,所述根据校验指令对所述第i被检验字节进行校验运算,得到第i校验结果,包括:在所述第一操作数寄存器中存储初始值或者校验过程中的结果值;根据所述状态控制寄存器中的值将所述第i被校验字节存入所述第二操作数寄存器中;将所述第一操作数寄存器中的值与所述第二操作数寄存器中的值按位进行逻辑运算得到计算结果并将所述计算结果赋值给中间变量n,直至循环结束将所述中间变量的值存入所述第一操作数寄存器中。
5、在一些实施例中,所述逻辑运算为按位异或运算。
6、在一些实施例中,所述第i被验证字节包括n位二进制位,则所述将所述第一操作数寄存器中的值与所述第二操作数寄存器中的值按位进行逻辑运算得到计算结果并将所述计算结果赋值给中间变量n,直至循环结束将所述中间变量的值存入所述第一操作数寄存器中,包括:按位循环n次以下的计算:若确认第k次循环中中间变量n的值与第一设置数值的按位与运算的结果等于1,则第k+1次循环中中间变量n的值等于将所述第k次循环中中间变量n的值左移一位再与第二设置数值按位异或后的值;若确认第k次循环中中间变量n的值与第一设置数值的按位与运算的结果不等于1,则第k+1次循环中中间变量n的值等于将所述第k次循环中中间变量n的值左移1位后的值;其中,k为大于1小于或等于n-1的整数。
7、在一些实施例中,若n的值为8,则所述第一设置数值为于0x80,所述第二设置数值为0x07。
8、在一些实施例中,所述根据所述状态控制寄存器中的值将所述第i被校验字节存入所述第二操作数寄存器中,包括:读取所述状态控制寄存器中的值,得到反序属性值;若确认所述反序属性值为所述第一数值,则将所述第i被校验字节正序输入所述第二操作数寄存器中。
9、在一些实施例中,所述根据所述状态控制寄存器中的值将所述第i被校验字节存入所述第二操作数寄存器中,包括:读取所述状态控制寄存器中的值,得到反序属性值;若确认所述反序属性值为所述第二数值,则将所述第i被校验字节反序后输入所述第二操作数寄存器中。
10、在一些实施例中,所述第一数值为数字0且所述第二数值为数字1。
11、第二方面,本申请的一些实施例提供一种芯片,所述芯片包括处理器以及存储器,其中,所述处理器从所述存储器中读取数据或指令并执行以实现如第一方面中任意一个实施例所述方法。
本文档来自技高网...【技术保护点】
1.一种循环冗余校验的方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述设置状态控制寄存器的值,包括:
3.如权利要求2所述的方法,其特征在于,所述根据校验指令对所述第i被检验字节进行校验运算,得到第i校验结果,包括:
4.如权利要求3所述的方法,其特征在于,所述逻辑运算为按位异或运算。
5.如权利要求3所述的方法,其特征在于,所述第i被验证字节包括n位二进制位,则所述将所述第一操作数寄存器中的值与所述第二操作数寄存器中的值按位进行逻辑运算得到计算结果并将所述计算结果赋值给中间变量n,直至循环结束将所述中间变量的值存入所述第一操作数寄存器中,包括:
6.如权利要求5所述的方法,其特征在于,若n的值为8,则所述第一设置数值为于0x80,所述第二设置数值为0x07。
7.如权利要求3所述的方法,其特征在于,
8.如权利要求3所述的方法,其特征在于,
9.如权利要求7或8所述的方法,其特征在于,所述第一数值为数字0且所述第二数值为数字1。
10.一种芯
...【技术特征摘要】
1.一种循环冗余校验的方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述设置状态控制寄存器的值,包括:
3.如权利要求2所述的方法,其特征在于,所述根据校验指令对所述第i被检验字节进行校验运算,得到第i校验结果,包括:
4.如权利要求3所述的方法,其特征在于,所述逻辑运算为按位异或运算。
5.如权利要求3所述的方法,其特征在于,所述第i被验证字节包括n位二进制位,则所述将所述第一操作数寄存器中的值与所述第二操作数寄存器中的值按位进行逻辑运算得到计算结果并将所述计算结果赋值给中间变量n,...
【专利技术属性】
技术研发人员:常新,吴军宁,
申请(专利权)人:北京中科昊芯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。