发明名称 基于可编程逻辑器件的二进制移位除法的处理过程
摘要 一种基于可编程逻辑器件的二进制移位除法的处理过程,实现步骤如下:按精度要求,设二进制被除数A[]须有k位,则在可编程逻辑器件中的二进制被除数表示为A[k-1..0];第一步:可编程逻辑器件中的逻辑单元carry,完成数据移位过程;第二步:可编程逻辑器件中的逻辑单元GND为置0功能,完成N[k-1..0]、P[k-1..0]、Q[k-1..0]、……的高位置0过程;第三步:可编程逻辑器件中的模块LPM_ADD_SUB取其加法器功能,完成相加过程;本发明算法在空间占用上节约了资源;能实现精度要求;简单且容易实现;该实现方案和技术在可编程逻辑器件中运用,速度更有所提高。
申请公布号 CN101645001A 申请公布日期 2010.02.10
申请号 CN200910034728.5 申请日期 2009.09.07
申请人 中国电子科技集团公司第十四研究所 发明人 罗淮文
分类号 G06F7/535(2006.01)I 主分类号 G06F7/535(2006.01)I
代理机构 南京知识律师事务所 代理人 汪旭东
主权项 1、一种基于可编程逻辑器件的二进制移位除法的处理过程,其特征在于:实现步骤如下:按精度要求,设二进制被除数A[]须有k位,则在可编程逻辑器件中的二进制被除数表示为A[k-1..0];第一步:可编程逻辑器件中的逻辑单元carry,完成数据移位过程;·A[k-1..0]右移N位,变成二进制数N[k-1..0],其中0至k-1-N位为:A[N]值赋给N[0],A[N+1]值赋给N[1],……,A[k-1]值赋给N[k-1-N]·A[k-1..0]右移P位,变成二进制数P[k-1..0],其中0至k-1-P位为:A[P]值赋给P[0],A[P+1]值赋给P[1],……,A[k-1]值赋给P[k-1-P]·A[k-1..0]右移Q位,变成二进制数Q[k-1..0],其中0至k-1-Q位为:A[Q]值赋给Q[0],A[Q+1]值赋给Q[1],……,A[k-1]值赋给Q[k-1-Q]第二步:可编程逻辑器件中的逻辑单元GND为置0功能,完成N[k-1..0]、P[k-1..0]、Q[k-1..0]、……的高位置0过程;·N[k-N]、N[k-N+1]、……、N[k-1]置0;·P[k-P]、P[k-P+1]、……、P[k-1]置0;·Q[k-Q]、Q[k-Q+1]、……、Q[k-1]置0;……第三步:可编程逻辑器件中的模块LPM_ADD_SUB取其加法器功能,完成相加过程;·二进制数N[k-1..0]加上二进制数P[k-1..0],再加上二进制数Q[k-1..0],……q其和H[k-1..0]即是被除数A[k-1..0]除以除数m的商;其中,<img file="A2009100347280002C1.GIF" wi="43" he="57" />二进制数A[k-1..0]、二进制数N[k-1..0]、二进制数P[k-1..0]、二进制数Q[k-1..0]、……和二进制数H[k-1..0]均为k位的二进制数;<img file="A2009100347280002C2.GIF" wi="42" he="56" />N[k-1..0]=A[k-1..0]÷2<sup>N</sup><img file="A2009100347280002C3.GIF" wi="45" he="57" />P[k-1..0]=A[k-1..0]÷2<sup>P</sup><img file="A2009100347280002C4.GIF" wi="42" he="49" />Q[k-1..0]=A[k-1..0]÷2<sup>Q</sup><img file="A2009100347280002C5.GIF" wi="45" he="54" />H[k-1..0]=N[k-1..0]+P[k-1..0]+Q[k-1..0]+……=A[k-1..0]÷2<sup>N</sup>+A[k-1..0]÷2<sup>P</sup>+A[k-1..0]÷2<sup>Q</sup>+……≈A[k-1..0]÷m
地址 210000江苏省南京市1313信箱