FC2カウンター FPGAの部屋 2009年11月14日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Spartan3Eの乗算器

このところ、乗算をしているので、私としては初めてSpartan3Eの乗算器をつかったはず。。。ということで確かめてみた。
まずは、”画像のエッジ検出5(2X2の画素の演算でやってみた)”の2X2演算器。下の演算をしているので、乗算器を使っているはず。

diff_cal_val <= "011"*(cam_ydata_2d) - ("000"&bram_data_1d) - ("000"&bram_data) - ("000"&y_data_1d);


Project NavigatorのDevice Utilization Summary を見ると、Number of MULT18X18SIOsが1になっていて、1個の乗算器を使用している。
MULT18X18_1_091114.png

つぎにFPGA Editor で見てみよう。
MULT18X18_2_091114.png

確かに乗算器を使っている。当たり前か?

次に、”画像のエッジ検出7(3X3演算のシミュレーション)”の3X3演算を見てみよう。演算式を下に示す。

Laplacian_cal_val <= "01000"*(XnYn) - ("00000"&Xnm1Ynm1) - ("00000"&XnYnm1) - ("00000"&Xnp1Ynm1) - ("00000"&Xnm1Yn) - ("00000"&Xnp1Yn) - ("00000"&Xnm1Ynp1) - ("00000"&XnYnp1) - ("00000"&Xnp1Ynp1) ;
-- マトリクスの絶対値


Project NavigatorのDevice Utilization Summary を見ると、Number of MULT18X18SIOsがない。
MULT18X18_3_091114.png

乗算器を使用していない。。。これは被乗数が8で3ビット左シフトすれば良いからか?
Project Navigator のProcesses ウインドウのSynthesize のView RTL Schematic で見てみたが、やはり乗算器は生成されていなかった。XSTは2のn乗の掛け算の時には乗算器を使わないのではないだろうか?
  1. 2009年11月14日 19:36 |
  2. FPGAチップ内の配線方法
  3. | トラックバック:0
  4. | コメント:0