理論グループのミーティングの報告
第六回
日時:97/06/17
場所:斉藤理一郎助教授教官室西5-517
VHDLで設計した浮動小数点数乗算器
ソースはここにある
-
シミュレーションと論理合成する時間
-
シミュレーションは32ビットの場合も64ビットの場合も数分で終わる。
論理合成は、32ビットの場合は数分で終了するが、64ビットの場合は
非常に時間がかかる。実行中パソコンが止まったりするので正確な
時間は分からないが数十分か数時間とみてよい。パソコンのメモリーを
増やせば論理合成時間を短縮できる可能性がある。
-
回路規模(セル数)
-
32ビットの乗算器 : optimize すれば若干小さくなる。おおよそ1800〜1700
64ビットの乗算器 : おおよそ 8200
デバイスによって異るが、1セルは数十ゲートから構成される。
研究室にあるFLEX8000は5000のゲート(260セル)があるから64ビットの乗算器を
実装するためにFLEX8000の30倍くらいのゲート数を持つデバイスが必要。
-
テキストファイルによるシミュレーション用のデータの入力とシミュレーションの出力
-
2進、16進または10進で入出力出来る。
- 出力
-
write(line,variable,flag,columns);
line にvariableの値をアスキーデータとして追加する。flagは右詰めかまたは
左詰めを指定するためのパラメータで、rightとleftの値がとれる。columnsは最小幅を
指定する。変数 variableの型によって出力される結果が異る。bit_vectorなら
2進数(0と1の列)、integerなら10進数で出力される。
writeline(file,line);
lineの内容をテキストファイルfileに1行として追加した後、lineを空白の
状態に戻す。
hwriteは変数を16進で出力する点を除いて、writeと同じ。
- 入力
-
readline(file,line);
read(line,variable);
hread(line,variable);
を使用する。
ここに上記のソースのシミュレーション結果を示す。
- テストベンチのソース
- 16進の入力データ(AとBの値)
- 出力されたデータ
- 10進に変換されたデータ(A,Bとその積Cの値)
もどる。