• 検索結果がありません。

遅延デジタルフィルタの分散型積和演算回路を用いたFPGA実装の検討

N/A
N/A
Protected

Academic year: 2021

シェア "遅延デジタルフィルタの分散型積和演算回路を用いたFPGA実装の検討"

Copied!
26
0
0

読み込み中.... (全文を見る)

全文

(1)

ETT-11-7

遅延デジタルフィルタの分散型積和

演算回路を用いたFPGA実装の検討

易 茹* 立岩武徳(群馬大学)

浅見幸司(株式会社アドバンテスト)

小林春夫(群馬大学)

第2回電気学会東京支部栃木・群馬支所合同研究発表会

(2)

発表内容

• 研究の背景・目的

• 分散型積和演算回路

• 実装の検討

(3)

発表内容

• 研究の背景・目的

• 分散型積和演算回路

• 実装の検討

(4)

研究の背景・目的

LSIテスタ・電子計測器では

タイミングスキューの影響

が問題

デジタル誤差補正

が必要

デジタルフィルタ

を適用

従来の線形位相フィルタ

群遅延:

一定(T

s

/2)

遅延デジタルフィルタ

群遅延:

任意( Δt )

線形位相

を保つ

(5)

研究の背景・目的

インパルス応答 フーリエ変換 周波数応答 1.0 2 S   2 S  2 S   2 S  ) (jH  ) (jH   :サンプリング周波数 S S T    2 S T   S T  ) ( jG  ) (jG    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 従来の線形位相フィルタ 遅延デジタルフィルタ フーリエ変換 遅延理想フィルタ

(6)

研究の背景・目的

(a) FIRフィルタ (b) 遅延理想フィルタ (c) 遅延デジタルフィルタ 畳み込み積分

t

t

t

遅延デジタルフィルタの設計方法

窓関数

Koji Asami, Hiroyuki Miyajima, Tsuyoshi Kurosawa, Takenori Tateiwa, Haruo Kobayashi, “Timing Skew Compensation

(7)

発表内容

• 研究の背景・目的

• 分散型積和演算回路

• 実装の検討

(8)

分散型積和演算回路

• 分散型積和演算回路(Distributed Arithmetic)

定係数の積和演算を

LUT

( Look-Up Table )と

ビットシフト

加算器

で効率的に実現する

乗算器を使用しない

(9)

分散型積和演算回路の式

 

    

1 1 1 1 0

)

2

(

N n n K k kn k K k k k

b

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 x

375

.

0

125

.

0

25

.

0

2

1

2

1

2

0

0

1

2

3

   k

x

0.375(10) 0.0011(2)

(10)

分散型積和演算回路 動作原理

γ β

α

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+h1

2

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

(11)

分散型積和演算回路 動作原理

REG <<1

LUT

Look-Up Table

Adder

γ β

α

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×h

0110

1010

1

0

x

x

2 1 0

x

x

x

… ... … ..

y

2 0 1 1 0

h

x

k

h

x

k

h

x

k

y

(12)

分散型積和演算回路 動作原理

REG <<1

LUT

Look-Up Table

Adder

γ β

α

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+h1

1101

0110

1010

2

1

0

x

x

x

… ... … .. 2 1 0

x

x

x

1

0

1

2×h

0

2×h

0

(2×h

0

)×2

2 0 1 1 0

h

x

k

h

x

k

h

x

k

y

MSB LSB

(13)

分散型積和演算回路 動作原理

REG <<1

LUT

Look-Up Table

Adder

γ β

α

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×h

0110

1010

1

0

x

x

… ... … .. 2 1 0

x

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

k

h

x

k

h

x

k

y

(14)

分散型積和演算回路 動作原理

REG <<1

LUT

Look-Up Table

Adder

γ β

α

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+h1

1101

0110

1010

2

1

0

x

x

x

… ... … .. 2 1 0

x

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

k

h

x

k

h

x

k

y

MSB LSB

(15)

分散型積和演算回路 動作原理

REG <<1

LUT

Look-Up Table

Adder

γ β

α

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×h

0110

1010

1

0

x

x

… ... … .. 2 1 0

x

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

k

h

x

k

h

x

k

y

(16)

発表内容

• 研究の背景・目的

• 分散型積和演算回路

• 実装の検討

(17)

実装のためのSimlinkモデルの検討

MATLABおよびSystem GeneratorでSimlinkモデルを作成

入力信号:8ビット

出力信号:30ビット

<<1 scaling accum

LUT

Look-Up Table … … X0[8] … X0[1] X0[0] X1[8] … X1[1] X1[0] X11[8] … X11[1] X11[0] MSB LSB

(18)

LUTの検討

  K k kn k b A 1

LUTの内容:

の全ての結果

LUTのサイズ:

2

k

ワード

指数関数的に

増大

LUTのサイズを

縮小

する必要がある

(19)

LUTの本質と分割法

LUT

Look-Up Table A1 A2 A3 A4

LUTA

A1 A2 A3 A4

LUTB

LUTのサイズ

S

(

k

)

2

k

2分割の場合

   2 2  ( ) 22 2 2 1    kは偶数の場合 k k k

(20)

LUTを最適な分割

演算スピード ROMサイズ トレード・オフ

LUT

211 ワード

LUT

25 ワード 211=2048ワード 25 +26 =96ワード サイクル+1

LUT

26 ワード … … … Adder LUTの分割例 11タップの場合ではトレード・オフを考慮して2分割が最適 2つに分割 3つに分割 ROMサイズ 95%削減 98%削減 サイクル 12.5%増加 25%増加

(21)

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 points

(22)

0 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

正弦波を入力した場合のSimlinkモデルの有効性確認

0 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

入力波形

Simlinkモデルの有効性を確認

出力波形

0 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 Δt=0.3 sampling points 遅延量 なし 遅延量 0.3 sampling points

(23)

発表内容

• 研究の背景・目的

• 分散型積和演算回路

• 実装の検討

(24)

まとめ・今後の課題

まとめ

• 分散型積和演算回路を用いた遅延デジタル

フィルタのMATLABモデルを作成した

• 係数を入れてモデルの有効性を確認した

今後の課題

• 作成したプログラムをFPGAに実装する

• 評価を行う

(25)

付録

LUT

Look-Up Table A1 A2 A3 A4 b1n b2n b3n b4n 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

  4 1 k kn k b A

k=4のときのLUTの内容

LUT

(26)

付録

LUTA

LUTB

A1 A2 A3 A4

2分割したLUTの内容

b1n b2n 0 0 0 0 1 A1 1 0 A2 1 1 A1+ A2

  4 1 k kn k b A b3n b4n 0 0 0 0 1 A3 1 0 A4 1 1 A3+ A4

  4 1 k kn k b A LUTA LUTB

参照

関連したドキュメント

繊維フィルターの実用上の要求特性は、従来から検討が行われてきたフィルター基本特

◼ 自社で営む事業が複数ある場合は、経済的指標 (※1) や区分計測 (※2)

絡み目を平面に射影し,線が交差しているところに上下 の情報をつけたものを絡み目の 図式 という..

累積誤差の無い上限と 下限を設ける あいまいな変化点を除 外し、要求される平面 部分で管理を行う 出来形計測の評価範

わが国の障害者雇用制度は「直接雇用限定主義」のもとでの「法定雇用率」の適用と いう形態で一貫されていますが、昭和

目的の温度測定は達成できたが、水蒸気量が多く、水滴や放射線によるノイズの影