一种无减法器的快速除三电路的设计方法技术

技术编号:39810989 阅读:7 留言:0更新日期:2023-12-22 19:28
本发明专利技术涉及无减法器的快速除三电路设计领域,提出一种无减法器的快速除三电路的设计方法,该方法包括:构建基本除三运算单元,输入的被除数的位宽为4比特,输出为2比特位宽的商和2比特位宽的余数;对基本除三运算单元进行级联构建8比特数除三运算单元,输入的被除数的位宽为10比特,输出为8比特位宽的商和2比特位宽的余数;使用基本除三运算单元和8比特数除三运算单元构建多比特数除三运算单元,从最低位开始,被除数的最低2比特使用基本除三运算单元进行求解,之后每8比特使用8比特数除三运算单元进行求解,不足8比特则先对高位补0,然后使用8比特数除三运算单元进行求解;将被除数输入到多比特数除三运算单元中,得到商和余数。余数。余数。

【技术实现步骤摘要】
一种无减法器的快速除三电路的设计方法


[0001]本专利技术涉及无减法器的快速除三电路设计领域,特别涉及一种无减法器的快速除三电路的设计方法。

技术介绍

[0002]乘积码(Product Codes)也被称作AN码,使用乘积码进行运算可以保护算术运算免受电路故障的影响。使用乘积码进行容错的原理为将一个数N表示为乘积AN,其中A为校验模数常量,通过对运算结果进行关于A的整除性检查,可以确定本次运算过程中是否出现错误。乘积码是一种不可分编码(Nonseparate Codes),原始数据与用于检查的冗余信息是混杂在一起的,需要除以校验模数常量A得到最终的运算结果。
[0003]校验模数常量A为奇数的AN码可以检测出运算过程中出现的全部单比特错误,并且为了确保AN码编码过程易于实现,校验模数常量A常选用低成本乘积码(Low Cost Product Codes),其形式为A=2
a

1,因此AN码的编码过程可以通过对数N的移位和减法运算得到,常用的校验模数常量A的值为3,即A=22‑
1。
[0004]目前对AN码的运算结果进行关于A的整除性检查,都是使用除法器进行的,通过运算得到商和余数,商为最终的运算结果,余数用于对本次算术运算过程中是否出现错误进行判断。
[0005]目前除法器主要基于减法器进行实现,通过迭代减法运算得到商,每次迭代运算可以确定有限位数的商,因此对于多比特数的除法运算,需要多次迭代才能完成,导致使用乘积码进行容错的算术运算单元在执行结果检查时的时间开销大。

技术实现思路

[0006]本专利技术的目的是提供一种无减法器的快速除三电路的设计方法,通过构建基本除三运算单元,对基本除三运算单元进行级联实现多比特数的除三运算,可以快速得到商和余数,运算过程中无需任何减法器,解决了使用乘积码进行容错的算术运算单元在执行结果检查时的时间开销大的问题。
[0007]本专利技术解决其技术问题,采用的技术方案是:
[0008]本专利技术提出的是一种无减法器的快速除三电路的设计方法,包括如下步骤:
[0009]构建基本除三运算单元,输入的被除数的位宽为4比特,有效数据格式为00xx、01xx和10xx,有效数据格式均为二进制,x表示0或1,输出为2比特位宽的商和2比特位宽的余数;
[0010]对基本除三运算单元进行级联构建8比特数除三运算单元,输入的被除数的位宽为10比特,有效数据格式为00_xxxx_xxxx、01_xxxx_xxxx和10_xxxx_xxxx,有效数据格式均为二进制,x表示0或1,输出为8比特位宽的商和2比特位宽的余数;
[0011]使用基本除三运算单元和8比特数除三运算单元构建多比特数除三运算单元,多比特数除三运算单元中,从最低位开始,被除数的最低2比特使用基本除三运算单元进行求
解,之后每8比特使用8比特数除三运算单元进行求解,不足8比特则先对高位补0,然后使用8比特数除三运算单元进行求解;
[0012]将被除数输入到多比特数除三运算单元中,得到商和余数。
[0013]作为进一步优化,使用查表法构建所述基本除三运算单元。
[0014]作为进一步优化,所述基本除三运算单元包括商值查找表和余数查找表,输入的被除数被用作商值查找表和余数查找表的地址选择。
[0015]作为进一步优化,通过4个基本除三运算单元以串联方式级联构建所述8比特数除三运算单元。
[0016]作为进一步优化,所述基本除三运算单元输入的被除数和8比特数除三运算单元输入的被除数的最高2位的有效输入均为00、01或10,且均为二进制。
[0017]作为进一步优化,所述基本除三运算单元输出的余数和8比特数除三运算单元输出的余数的取值均为00、01或10,且均为二进制。
[0018]作为进一步优化,采用串联方式或并联方式级联构建所述多比特数除三运算单元。
[0019]本专利技术的有益效果是:通过上述一种无减法器的快速除三电路的设计方法,可以实现多比特数的除三运算,相比于常规除三运算电路,此方法在运算过程中不借助减法器,算术运算延时小,并且,避免了使用乘积码进行容错的算术运算单元在执行运算结果检查时的时间开销大的问题。
附图说明
[0020]图1为本专利技术实施例中提供的一种无减法器的快速除三电路的设计方法的流程图;
[0021]图2为本专利技术实施例中提供的无减法器的快速除三电路的整体结构框图;
[0022]图3为本专利技术实施例中提供的基本除三运算单元的结构框图;
[0023]图4为本专利技术实施例中提供的8比特数除三运算单元的结构框图;
[0024]图5为本专利技术实施例中提供的多比特数的除三运算单元的串联方式级联结构框图;
[0025]图6为本专利技术实施例中提供的多比特数的除三运算单元的并联方式级联结构框图。
[0026]其中,div3_w2表示构建基本除三运算单元,div3_w8表示构建8比特数除三运算单元,div3表示多比特数除三运算单元,qt表示商,rt表示余数,qt_rom表示商值的查找表,rt_rom表示余数的查找表。
具体实施方式
[0027]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。
[0028]实施例
[0029]本实施例提供的是一种无减法器的快速除三电路的设计方法,其流程图见图1,无减法器的快速除三电路的整体结构框图见图2,其中,该方法包括如下步骤:
[0030]S1.构建基本除三运算单元div3_w2,其结构框图见图3,输入的被除数的位宽为4比特,有效数据格式为00xx、01xx和10xx,有效数据格式均为二进制,x表示0或1,输出为2比特位宽的商qt和2比特位宽的余数rt;
[0031]S2.对基本除三运算单元进行级联构建8比特数除三运算单元div3_w8,其结框图见图4,输入的被除数的位宽为10比特,有效数据格式为00_xxxx_xxxx、01_xxxx_xxxx和10_xxxx_xxxx,有效数据格式均为二进制,x表示0或1,输出为8比特位宽的商qt和2比特位宽的余数rt;
[0032]S3.使用基本除三运算单元div3_w2和8比特数除三运算单元div3_w8构建多比特数除三运算单元div3,参见图5和图6,多比特数除三运算单元div3中,从最低位开始,被除数的最低2比特使用基本除三运算单元div3_w2进行求解,之后每8比特使用8比特数除三运算单元div3_w8进行求解,不足8比特则先对高位补0,然后使用8比特数除三运算单元div3_w8进行求解;
[0033]S4.将被除数输入到多比特数除三运算单元div3中,得到商qt和余数rt。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种无减法器的快速除三电路的设计方法,其特征在于,包括如下步骤:构建基本除三运算单元,输入的被除数的位宽为4比特,有效数据格式为00xx、01xx和10xx,有效数据格式均为二进制,x表示0或1,输出为2比特位宽的商和2比特位宽的余数;对基本除三运算单元进行级联构建8比特数除三运算单元,输入的被除数的位宽为10比特,有效数据格式为00_xxxx_xxxx、01_xxxx_xxxx和10_xxxx_xxxx,有效数据格式均为二进制,x表示0或1,输出为8比特位宽的商和2比特位宽的余数;使用基本除三运算单元和8比特数除三运算单元构建多比特数除三运算单元,多比特数除三运算单元中,从最低位开始,被除数的最低2比特使用基本除三运算单元进行求解,之后每8比特使用8比特数除三运算单元进行求解,不足8比特则先对高位补0,然后使用8比特数除三运算单元进行求解;将被除数输入到多比特数除三运算单元中,得到商和余数。2.根据权利要求1所述的一种无减法器的快速除三电路的设计方法,其特征在于,使用查表法构建...

【专利技术属性】
技术研发人员:梁宗南刘鸿瑾年嘉伟高鑫高嘉轩张绍林杨孟飞
申请(专利权)人:北京轩宇空间科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1