VLSI数字信号处理系统——第十四章冗余运算
Posted 夏风喃喃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VLSI数字信号处理系统——第十四章冗余运算相关的知识,希望对你有一定的参考价值。
VLSI数字信号处理系统——第十四章冗余运算
作者:夏风喃喃
参考:
(1) VLSI数字信号处理系统:设计与实现 (美)Keshab K.Parhi/著
(2) socvista https://wenku.baidu.com/u/socvista?from=wenku
文章目录
一. 引言
在普通的非冗余基r数字系统中,所有的数字都能够以唯一的方式表示。一个基r冗余有符号数位数字系统是允许任意数字可以有多种有符号格式表示,因此名为冗余。
冗余有符号数字系统的吸引人之处在于其“无进位”加法的性质。使得在除法和平方根操作的数位串行实现中非常有用,这些运算都是从最高数位(msd)开始计算的,最高数位优先冗余运算也被称为在线运算。
二. 冗余数表示
对称有符号数表示法:
使用数位集合
D
<
r
,
a
>
=
{
a
‾
,
.
.
.
,
1
‾
,
0
,
1
,
.
.
.
,
a
}
D_{<r,a>}=\\{\\overline{a},...,\\overline{1},0,1,...,a\\}
D<r,a>={a,...,1,0,1,...,a},其中r为基,a为数位集合中最大数位。一个使用这种表示法的数字可以写为:
数字的符号由最高的非零数位的符号给定。
冗余度:
有符号数位表示法的冗余度用冗余因子ρ来度量,ρ定义为:
ρ
=
α
r
−
1
ρ=\\frac{α}{r-1}
ρ=r−1α
可以用有符号表示法表示的数字范围是
[
−
ρ
(
r
−
r
−
W
+
1
)
,
ρ
(
r
−
r
−
W
+
1
)
]
[-ρ(r-r^{-W+1}),ρ(r-r^{-W+1})]
[−ρ(r−r−W+1),ρ(r−r−W+1)]。该范围取决于字长W和冗余因子ρ。
三. 无进位基2加法与减法
基2有符号数位数字用两个无符号二进制数字编码,一个为正一个为负, X = X + − X − X=X^+-X^- X=X+−X−。因此,每个有符号数位用两个位表示, x i = x i + − x i − x_i=x_i^+-x_i^- xi=xi+−xi−,其中 x i + , x i − ∈ { 0 , 1 } x_i^+,x_i^-\\in \\{0,1\\} xi+,xi−∈{0,1}且 x i ∈ { 1 ‾ , 0 , 1 } x_i\\in \\{\\overline{1},0,1\\} xi∈{1,0,1}。本节考虑基2混合的和有符号数位的加法和减法。在混合操作中,一个输入操作数以及输出操作数是用冗余有符号数位表示法表示的,第二个输入操作数是普通的无符号数字。一个有符号数位加法可以看做是一个混合加法和一个混合减法的串联。
3.1 混合基2加法
考虑一个基2有符号数位数字和一个无符号普通数字的加法
S
<
2
,
1
>
=
X
<
2
,
1
>
+
Y
S_{<2,1>}=X_{<2,1>}+Y
S<2,1>=X<2,1>+Y
其中
X
<
r
,
a
>
=
x
W
−
1
x
W
−
2
.
.
.
x
0
,
Y
<
b
,
a
>
=
y
W
−
1
y
W
−
2
.
.
.
y
0
X_{<r,a>}=x_{W-1}x_{W-2}...x_{0},Y_{<b,a>}=y_{W-1}y_{W-2}...y_{0}
X<r,a>=xW−1xW−2...x0,Y<b,a>=yW−1yW−2...y0,且
x
i
∈
{
1
‾
,
0
,
1
}
,
y
i
∈
{
0
,
1
}
x_i\\in \\{\\overline{1},0,1\\},y_i\\in \\{0,1\\}
xi∈{1,0,1},yi∈{0,1}。这个加法用两步完成。
- 第一步,以并行方式在所有位置
i
(
0
≤
i
≤
W
−
1
)
i(0≤i≤W-1)
i(0≤i≤W−1)上进行的。计算出中间和
p
i
=
x
i
+
y
i
p_i=x_i+y_i
pi=xi+yi,它的值在集合
{
1
‾
,
0
,
1
,
2
}
\\{\\overline{1},0,1,2\\}
{1,0,1,2}中。这个加法表示为
x i + y i = ( x i + − x i − + y i + ) = p i = ( 2 t i + − u i − ) = 2 t i + u i x_i+y_i=(x^+_i-x^-_i+y^+_i)=p_i=(2t^+_i-u^-_i)=2t_i+u_i xi+yi=(xi+−xi−+yi+)=pi=(2ti+−ui−)=2ti+ui
其中 t i t_i ti是转移数位,值为 0 0 0或 1 1 1,记作 t i + t^+_i ti+; u i u_i ui是临时和,值为 1 ‾ \\overline{1} 1或 0 0 0,记作 − u i − -u^-_i −ui−。最低的转移数位 t − 1 t_{-1} t−1和最高的临时和数位以上是关于VLSI数字信号处理系统——第十四章冗余运算的主要内容,如果未能解决你的问题,请参考以下文章