新闻中心

EEPW首页>EDA/PCB>设计应用> 基于FPGA的多项式运算器设计

基于FPGA的多项式运算器设计

作者: 时间:2012-04-25 来源:网络 收藏

3设计
3.1 四则运算电路
文献中瞄述了各种无符号整数间的运算电路。虽然也可以进行用反码表示的符号数的运算,但不倾向于使用。因为需要做四则混合运算;反码易于做加、减法,但不易做乘、除法。而用非反码的带符号位的数据,符号位做单独计算,其余数据做无符号运算,整个计算结构是最简单的。另外即便是无符号数做除法也很复杂,不过考虑到有种特殊的除法运算除外,那就是对于二进制数去掉最末位就相当于除以2。所以运算时可以尽量避免除以非2倍数的数,以此来简化计算。
表示小数在计算中是必须的。文献中介绍了二进制定点小数,比如需要保留数的2位二进制小数位,可以将二进制小数“…b3b2b1.a1 a2”表示为:
b.jpg
运算中还是可以视为对整数的计算。这样用无符号的定点数进行计算,配合独立的符号位表示正负,就可以用简单的无符号进行复杂的运算。
3.2 多项式的变换
式(4)为一个3次多项式,以它为例来介绍设计方法:
y=a0+a1×x+a2×x2+a3×x3 (4)
首先将式(4)中所有的数都用一个符号位加无符号二进制形式表示。分别用N1,N2表示y和x中包含的小数位数,可以将式(4)写成:
c.jpg
式中:X,Y是x,y去掉小数点后的整数(注:这里和式(3)一样只是去掉小数点,不是去掉小数位)。A0,A1,A2,A3作为系统的常数也是一样;n0,n1,n2,n3分别是a0,a1,a2,a3二进制形式的小数位数。可以进一步变换式(5)为:
d.jpg
不难发现式(6)是很容易实现的。先进行各项符号位的计算,然后就只剩下无符号整形数据计算;而且除法全是除以2的倍数。最后各项之间根据符号位做加、减运算就得到输出Y,是带符号有N1位小数的定点数。


关键词:FPGA运算器

评论


相关推荐

技术专区

关闭