理論グループのミーティングの報告

第六回
日時: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);
を使用する。
ここに上記のソースのシミュレーション結果を示す。
  1. テストベンチのソース
  2. 16進の入力データ(AとBの値)
  3. 出力されたデータ
  4. 10進に変換されたデータ(A,Bとその積Cの値)

もどる。