ETT-11-7
遅延デジタルフィルタの分散型積和
演算回路を用いたFPGA実装の検討
易 茹* 立岩武徳(群馬大学)
浅見幸司(株式会社アドバンテスト)
小林春夫(群馬大学)
第2回電気学会東京支部栃木・群馬支所合同研究発表会発表内容
• 研究の背景・目的
• 分散型積和演算回路
• 実装の検討
発表内容
• 研究の背景・目的
• 分散型積和演算回路
• 実装の検討
研究の背景・目的
LSIテスタ・電子計測器では
タイミングスキューの影響
が問題
デジタル誤差補正
が必要
デジタルフィルタ
を適用
従来の線形位相フィルタ
群遅延:
一定(T
s
/2)
遅延デジタルフィルタ
群遅延:
任意( Δt )
線形位相
を保つ
研究の背景・目的
インパルス応答 フーリエ変換 周波数応答 1.0 2 S 2 S 2 S 2 S ) (j H ) (j H :サンプリング周波数 S S T 2 S T S T ) ( j G ) (j G 1 2 3 4 5 -5 -4 -3 -2 -1 TS t 1 2 3 4 5 -5 -4 -3 -2 -1 S T t 従来の線形位相フィルタ 遅延デジタルフィルタ フーリエ変換 遅延理想フィルタ研究の背景・目的
(a) FIRフィルタ (b) 遅延理想フィルタ (c) 遅延デジタルフィルタ 畳み込み積分t
t
t
遅延デジタルフィルタの設計方法
窓関数Koji Asami, Hiroyuki Miyajima, Tsuyoshi Kurosawa, Takenori Tateiwa, Haruo Kobayashi, “Timing Skew Compensation
発表内容
• 研究の背景・目的
• 分散型積和演算回路
• 実装の検討
分散型積和演算回路
• 分散型積和演算回路(Distributed Arithmetic)
定係数の積和演算を
LUT
( Look-Up Table )と
ビットシフト
と
加算器
で効率的に実現する
乗算器を使用しない
分散型積和演算回路の式
1 1 1 1 0)
2
(
N n n K k kn k K k k kb
A
b
A
y
項目Kの係数ベクトルA=[A1, A2,…, AK] 項目KのNビット変数ベクトルx=[x1, x2,…, xK] xを固定小数点形の2の補数表示で と表される。ただしbk0は符号ビットである。 例:
1 1 0 2 N n n kn k k b b x375
.
0
125
.
0
25
.
0
2
1
2
1
2
0
0
1
2
3
kx
0.375(10) 0.0011(2)分散型積和演算回路 動作原理
γ β
α
y
0 0 0 0 0 0 1 h0 0 1 0 h1 0 1 1 h0+h1 1 0 0 h0 1 0 1 2×h0 1 1 0 h0+h1 1 1 1 2×h0+h12
0
1
1
0
h
x
k
h
x
k
h
x
k
y
Look-Up Table
1101
0110
1010
2
1
0
x
x
x
α
β
γ
MSB LSB分散型積和演算回路 動作原理
REG <<1LUT
Look-Up TableAdder
γ β
α
y
0 0 0 0 0 0 1 h0 0 1 0 h1 0 1 1 h0+h1 1 0 0 h0 1 0 1 2×h0110
1010
1
0
x
x
2 1 0x
x
x
… ... … ..y
2 0 1 1 0
h
x
kh
x
kh
x
ky
分散型積和演算回路 動作原理
REG <<1LUT
Look-Up TableAdder
γ β
α
y
0 0 0 0 0 0 1 h0 0 1 0 h1 0 1 1 h0+h1 1 0 0 h0 1 0 1 2×h0 1 1 0 h0+h1 1 1 1 2×h0+h11101
0110
1010
2
1
0
x
x
x
… ... … .. 2 1 0x
x
x
1
0
1
2×h
02×h
0(2×h
0)×2
2 0 1 1 0
h
x
kh
x
kh
x
ky
MSB LSB分散型積和演算回路 動作原理
REG <<1LUT
Look-Up TableAdder
γ β
α
y
0 0 0 0 0 0 1 h0 0 1 0 h1 0 1 1 h0+h1 1 0 0 h0 1 0 1 2×h0110
1010
1
0
x
x
… ... … .. 2 1 0x
x
x
0
1
1
(2×h
0)×2
h0+h1
(h0+h1+(2×h
0)×2)×2
h0+h1+(2×h
0)×2
2 0 1 1 0
h
x
kh
x
kh
x
ky
分散型積和演算回路 動作原理
REG <<1LUT
Look-Up TableAdder
γ β
α
y
0 0 0 0 0 0 1 h0 0 1 0 h1 0 1 1 h0+h1 1 0 0 h0 1 0 1 2×h0 1 1 0 h0+h1 1 1 1 2×h0+h11101
0110
1010
2
1
0
x
x
x
… ... … .. 2 1 0x
x
x
1
1
0
h0+h1+(h0+h1+(2×h
0)×2)×2
(h0+h1+(2×h
0)×2)×2
h0+h1
(h0+h1+(h0+h1+(2×h
0)×2)×2 )×2
2 0 1 1 0
h
x
kh
x
kh
x
ky
MSB LSB分散型積和演算回路 動作原理
REG <<1LUT
Look-Up TableAdder
γ β
α
y
0 0 0 0 0 0 1 h0 0 1 0 h1 0 1 1 h0+h1 1 0 0 h0 1 0 1 2×h0110
1010
1
0
x
x
… ... … .. 2 1 0x
x
x
0
0
1
h
0(h
0+(h0+h1+(h0+h1+(2×h
0)×2)×2 )×2)×2
(h0+h1+(h0+h1+(2×h
0)×2)×2 )×2
h
0+(h0+h1+(h0+h1+(2×h
0)×2)×2 )×2
y
2 0 1 1 0
h
x
kh
x
kh
x
ky
発表内容
• 研究の背景・目的
• 分散型積和演算回路
• 実装の検討
実装のためのSimlinkモデルの検討
MATLABおよびSystem GeneratorでSimlinkモデルを作成入力信号:8ビット
出力信号:30ビット
<<1 scaling accumLUT
Look-Up Table … … X0[8] … X0[1] X0[0] X1[8] … X1[1] X1[0] X11[8] … X11[1] X11[0] MSB LSBLUTの検討
K k kn k b A 1LUTの内容:
の全ての結果
LUTのサイズ:
2
kワード
指数関数的に
増大
LUTのサイズを
縮小
する必要がある
LUTの本質と分割法
LUT
Look-Up Table A1 A2 A3 A4 …LUTA
A1 A2 A3 A4 …LUTB
LUTのサイズ
S
(
k
)
2
k2分割の場合
2 2 ( ) 22 2 2 1 kは偶数の場合 k k kLUTを最適な分割
演算スピード ROMサイズ トレード・オフLUT
211 ワードLUT
25 ワード 211=2048ワード 25 +26 =96ワード サイクル+1LUT
26 ワード … … … Adder LUTの分割例 11タップの場合ではトレード・オフを考慮して2分割が最適 2つに分割 3つに分割 ROMサイズ 95%削減 98%削減 サイクル 12.5%増加 25%増加0.2 0.4 0.6 0.8 1 1.2 -5 -4 -3 -2 -1 0 1 2 3 4 5 -0.2 0 0.2 0.4 0.6 0.8 1 1.2
Simlinkモデルに使用したフィルタ係数
遅延量 なし 遅延量 0.3 sampling points 11タップでブラックマン窓を 掛けた場合のインパルス応答 Δt=0.3 sampling points0 0.05 0.1 0.15 0.2 0.25 0.3 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1