Tech と Culture

テクノロジーとカルチャー

ハフマンデコードモジュール 7 シフター

シフターは、32bitならまじめにコーディングしても結構良いものができるような気もしますが、FPGAリソースに詳しくないので以下のように乗算器を用いて構成しようと思います。乗算器ハードを使ってくれれば高速になるかと思ってやっていますが、実際のところFPGAの特徴を理解してまじめにコーディングした方が速いかもしれません。
ここら辺はよく分かっていません。。。。。
うまくいかなったら、その時に考えます。。。

shifter.jpg


後記:実験の結果、結局単純なシフト記述の方が面積も小さく、速度も断然速いことが分かりましたので以下のような記述にしています。


library ieee;
use ieee.numeric_std.all;

シフタ出力 := std_logic_vector(shift_right(unsigned(r.fetch_reg), シフト数)));

shift_rightは numeric_stdパッケージに含まれるシフト記述です。