ETT-11-7 遅延デジタルフィルタの分散型積和 演算回路を用いたFPGA

第2回電気学会東京支部栃木・群馬支所合同研究発表会
ETT-11-7
遅延デジタルフィルタの分散型積和
演算回路を用いたFPGA実装の検討
易 茹* 立岩武徳(群馬大学)
浅見幸司(株式会社アドバンテスト)
小林春夫(群馬大学)
2012/2/29
Kobayashi. Lab @ Gunma_University
1
発表内容
•
•
•
•
研究の背景・目的
分散型積和演算回路
実装の検討
まとめ・今後の課題
2012/2/29
Kobayashi. Lab @ Gunma_University
2
発表内容
•
•
•
•
研究の背景・目的
分散型積和演算回路
実装の検討
まとめ・今後の課題
2012/2/29
Kobayashi. Lab @ Gunma_University
3
研究の背景・目的
LSIテスタ・電子計測器では
タイミングスキューの影響が問題
デジタル誤差補正が必要
デジタルフィルタを適用
線形位相を保つ
従来の線形位相フィルタ 遅延デジタルフィルタ
群遅延:任意( Δt )
群遅延:一定(Ts/2)
2012/2/29
Kobayashi. Lab @ Gunma_University
4
研究の背景・目的
周波数応答
1.0 H ( j )
従来の線形位相フィルタ
インパルス応答
S

フーリエ変換

S
2
H ( j ) 2

S
S

2
2
S 
-5 -4 -3 -2 -1
2
:サンプリング周波数
TS
G( j )
遅延デジタルフィルタ
1 2 3 4 5
t
TS
遅延理想フィルタ

 フーリエ変換
t
G( j )

TS
TS
TS
-5 -4 -3 -2 -1 1 2 3 4 5



インパルス応答をΔt分シフトする

G( j )  t
TS
TS

振幅特性は変化しない、位相特性はΔt分傾く
2012/2/29
Kobayashi. Lab @ Gunma_University
5
研究の背景・目的
遅延デジタルフィルタの設計方法
畳み込み積分
t
t
(a) FIRフィルタ
(b) 遅延理想フィルタ
窓関数
t
(c) 遅延デジタルフィルタ
Koji Asami, Hiroyuki Miyajima, Tsuyoshi Kurosawa, Takenori Tateiwa, Haruo Kobayashi, “Timing Skew Compensation
Technique using Digital Filter with Novel Linear Phase Condition,” IEEE International Test Conference, Austin, TX (Nov.2010)
6
2012/2/29
Kobayashi. Lab @ Gunma_University
発表内容
•
•
•
•
研究の背景・目的
分散型積和演算回路
実装の検討
まとめ・今後の課題
2012/2/29
Kobayashi. Lab @ Gunma_University
7
分散型積和演算回路
• 分散型積和演算回路(Distributed Arithmetic)
定係数の積和演算をLUT( Look-Up Table )とビットシフト
と加算器で効率的に実現する
乗算器を使用しない
小規模回路・低消費電力
2012/2/29
Kobayashi. Lab @ Gunma_University
8
分散型積和演算回路の式
 n
y    Ak  (bk 0 )     Ak  bkn  2
k 1
n 1 k 1

K
N 1 K
項目Kの係数ベクトルA=[A1, A2,…, AK]
項目KのNビット変数ベクトルx=[x1, x2,…, xK]
N 1
xを固定小数点形の2の補数表示で xk  bk 0   bkn 2 n
n 1
と表される。ただしbk0は符号ビットである。
例:
0.375(10)
0.0011(2)
xk  0  0  2 1  1 2 2  1 2 3  0.25  0.125  0.375
2012/2/29
Kobayashi. Lab @ Gunma_University
9
分散型積和演算回路 動作原理
y  h0 xk  h1 xk 1  h0 xk 2
Look-Up Table
γ β α
y
x0  1010
x1  0110
x2  1101
MSB
2012/2/29
LSB
α
β
γ
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+h1
Kobayashi. Lab @ Gunma_University
10
分散型積和演算回路 動作原理
y  h0 xk  h1 xk 1  h0 xk 2
<<1
x0
LUT
x2
Look-Up
Table
…...…..
x1
Adder
y
REG
γ β α
y
0
0
0
0
x0  1010
0
0
1
h0
0
1
0
h1
x1  0110
0
1
1
h0+h1
1
0
0
h0
x2  1101
1
0
1
2×h0
1
1
0
h0+h1
LSB
1
1
1
2×h0+h1
MSB
2012/2/29
Kobayashi. Lab @ Gunma_University
11
分散型積和演算回路 動作原理
y  h0 xk  h1 xk 1  h0 xk 2
<<1
1
x1
0
x2
1
(2×h0)×2
LUT
Look-Up
Table
…...…..
x0
2×h0
Adder
REG
2×h0
γ β α
y
0
0
0
0
x0  1010
0
0
1
h0
0
1
0
h1
x1  0110
0
1
1
h0+h1
1
0
0
h0
x2  1101
1
0
1
2×h0
1
1
0
h0+h1
1
1
1
2×h0+h1
MSB
2012/2/29
LSB
Kobayashi. Lab @ Gunma_University
12
分散型積和演算回路 動作原理
0
x1
1
x2
1
(2×h0)×2
(h0+h1+(2×h0)×2)×2
LUT
…...…..
x0
y  h0 xk  h1 xk 1  h0 xk 2
<<1
h0+h1
Look-Up
Table
Adder
REG
h0+h1+(2×h0)×2
γ
β α
y
0
0
0
0
x0  1010
0
0
1
h0
0
1
0
h1
x1  0110
0
1
1
h0+h1
1
0
0
h0
x2  1101
1
0
1
2×h0
1
1
0
h0+h1
1
1
1
2×h0+h1
MSB
2012/2/29
LSB
Kobayashi. Lab @ Gunma_University
13
分散型積和演算回路 動作原理
(h0+h1+(2×h0)×2)×2
1
x1
1
x2
0
(h0+h1+(h0+h1+(2×h0)×2)×2 )×2
LUT
…...…..
x0
y  h0 xk  h1 xk 1  h0 xk 2
<<1
h0+h1
Look-Up
Table
Adder
REG
h0+h1+(h0+h1+(2×h
γ β0)×2)×2
α
y
0
0
0
0
x0  1010
0
0
1
h0
0
1
0
h1
x1  0110
0
1
1
h0+h1
1
0
0
h0
x2  1101
1
0
1
2×h0
1
1
0
h0+h1
1
1
1
2×h0+h1
MSB
2012/2/29
LSB
Kobayashi. Lab @ Gunma_University
14
分散型積和演算回路 動作原理
y  h0 xk  h1 xk 1  h0 xk 2
(h0+h1+(h0+h1+(2×h0)×2)×2 )×2<<1
0
x1
0
x2
1
(h0+(h0+h1+(h0+h1+(2×h0)×2)×2 )×2)×2
LUT
…...…..
x0
h0
Look-Up
Table
Adder
y
REG
h0+(h0+h1+(h0+h1+(2×h
γ β α 0)×2)×2
y )×2
0
0
0
0
x0  1010
0
0
1
h0
0
1
0
h1
x1  0110
0
1
1
h0+h1
1
0
0
h0
x2  1101
1
0
1
2×h0
1
1
0
h0+h1
1
1
1
2×h0+h1
MSB
2012/2/29
LSB
Kobayashi. Lab @ Gunma_University
15
発表内容
•
•
•
•
研究の背景・目的
分散型積和演算回路
実装の検討
まとめ・今後の課題
2012/2/29
Kobayashi. Lab @ Gunma_University
16
実装のためのSimlinkモデルの検討
MSB
LSB
…
X0[1]
X0[0]
X1[8]
…
X1[1]
X1[0]
LUT
…
Look-Up
Table
…
X0[8]
X11[8]
…
X11[1]
X11[0]
<<1
scaling accum
MATLABおよびSystem GeneratorでSimlinkモデルを作成
入力信号:8ビット
出力信号:30ビット
サンプリング周波数:1kHz
係数は18ビットに量子化
2012/2/29
Kobayashi. Lab @ Gunma_University
17
LUTの検討
K
LUTの内容:  Ak  bkn の全ての結果
k 1
LUTのサイズ:2kワード
指数関数的に増大
LUTのサイズを縮小する必要がある
2012/2/29
Kobayashi. Lab @ Gunma_University
18
LUTの本質と分割法
LUT
A1
A1
A2
A2
A3
A3
A4
A4
LUTA
…
LUTB
…
Look-Up Table
LUTのサイズS (k )  2k
2分割の場合
k
k
1
 k2
2
2
 2  2  2 (kは偶数の場合 )
S (k )   k 1
k 1
k 1
2
2
2  2  3  2 2 (kは奇数の場合 )

※LUT内容は付録を参照
2012/2/29
Kobayashi. Lab @ Gunma_University
19
LUTを最適な分割
…
LUT
LUTの分割例
…
211
ワード
…
211=2048ワード
ROMサイズ
トレード・オフ
演算スピード
ROMサイズ
サイクル
LUT
25
ワード
Adder
LUT
26
ワード
25 +26 =96ワード
サイクル+1
2つに分割
3つに分割
95%削減
98%削減
12.5%増加
25%増加
11タップの場合ではトレード・オフを考慮して2分割が最適
2012/2/29
Kobayashi. Lab @ Gunma_University
20
Simlinkモデルに使用したフィルタ係数
11タップでブラックマン窓を
掛けた場合のインパルス応答
1.2
1
0.8
遅延量
なし
0.6
0.4
0.2
0
-0.2
-5
-4
-3
-2
-1
0
-4
-3
-2
-1
0
1.2
1
2
3
4
5
1
2
3
4
5
Δt=0.3 sampling points
1
0.8
遅延量
0.3 sampling points
0.6
0.4
0.2
0
-0.2
-5
参考文献
2012/2/29
(3)浅見幸司, 立岩武徳, 黒沢烈士, 易茹, 荒川雄太,小林春夫:「線形位相遅延ディジタルフィルタの実装の
検討」,第13回DSPS教育者会議 ポスターセッション 東京都市大学,( 2011).
21
Kobayashi. Lab @ Gunma_University
正弦波を入力した場合のSimlinkモデルの有効性確認
出力波形
1
0.8
0.6
0.4
0.2
入力波形
遅延量
なし
1
0.8
0
-0.2
-0.4
0.6
-0.6
0.4
-0.8
0.2
-1
0
0
1
-0.2
0.8
-0.4
0.6
-0.6
0.4
-0.8
0.2
-1
0
0.05
0.1
0.15
0.2
0.25
0.3
遅延量
0.3 sampling points
0.05
0.1
0.15
0.2
0.25
0.3
0.05
0.1
0.15
0.2
0.25
0.3
0
-0.2
-0.4
-0.6
-0.8
-1
0
Δt=0.3 sampling points
Simlinkモデルの有効性を確認
2012/2/29
Kobayashi. Lab @ Gunma_University
22
発表内容
•
•
•
•
研究の背景・目的
分散型積和演算回路
実装の検討
まとめ・今後の課題
2012/2/29
Kobayashi. Lab @ Gunma_University
23
まとめ・今後の課題
まとめ
• 分散型積和演算回路を用いた遅延デジタル
フィルタのMATLABモデルを作成した
• 係数を入れてモデルの有効性を確認した
今後の課題
• 作成したプログラムをFPGAに実装する
• 評価を行う
2012/2/29
Kobayashi. Lab @ Gunma_University
24
付録
LUT
k=4のときのLUTの内容
A1
LUT
A2
A3
A4
Look-Up Table
2012/2/29
4
A
b1n b2n b3n b4n
k 1
k
 bkn
0
0
0
0
0
0
0
0
1
A4
0
0
1
0
A3
0
0
1
1
A3+ A4
0
1
0
0
A2
0
1
0
1
A2+ A4
0
1
1
0
A2+ A3
0
1
1
1
A2+ A3 + A4
1
0
0
0
A1
1
0
0
1
A1+ A4
1
0
1
0
A1+ A3
1
0
1
1
A1+ A3 + A4
1
1
0
0
A1+ A2
1
1
0
1
A1+ A2 + A4
1
1
1
0
A1+ A2 + A3
1
1
1
1
A1+ A2 + A3 + A4
Kobayashi. Lab @ Gunma_University
25
付録
2分割したLUTの内容
LUTA
4
A1
LUTA
A2
A
b1n b2n
k 1
0
0
0
0
1
A1
1
0
A2
1
1
A1+ A2
k
 bkn
A3
LUTB
A4
4
LUTB
2012/2/29
A
b3n b4n
k 1
0
0
0
0
1
A3
1
0
A4
1
1
A3+ A4
Kobayashi. Lab @ Gunma_University
k
 bkn
26