[[ASAP Top]]

資料をもう一回掲載キボンヌです。

 『ディジタル数値演算回路の実用設計』を元にmoricyが色々作ってみた。
 固定小数点〜浮動小数点への変換モジュール。
#ref(fixToFloatTop.v)
#ref(fixToFloat.v)
#ref(float.h)
 IOBとモジュール前で一回ずつラッチしている。
 固定小数点は符号付きで、小数点桁数はFRACパラメータで指定可能。
 合成結果:
  SLICE: 178
  クリティカルパス: 23.665
 うーんそんなにパスが長くなることはしてないような気もするが…。
 続いて浮動小数点〜固定小数点へ。
#ref(floatToFixTop.v)
#ref(floatToFix.v)
#ref(float.h)
 合成結果:
  SLICE: 122
  クリティカルパス: 13.903
 変換する際の1を探す作業が無い分早いようすね。
 続いて乗算器。
#ref(fmult.v)
#ref(fmultTop.v)
#ref(float.h)
 ワンパスの単精度浮動小数点演算器で、非正規化数は扱わない。
 中の人を除くと仮数部の演算に"*"マークがいたりします。
 合成できるもんならしてみやがれ!って思いつつ小数変換モジュールと同条件で
 SPARTAN3ANスターターキットで論理合成結果: 
  Slice:124
  Critical Path: 26.731 (nsす、MHzじゃねっす)
 んでフロアプランナで確認してみると、MULT18X18なるプリミティブが
 使われていた。SPARTANにも乗算器ついてるんだね…。
 今度はこいつの使い方について学ぼう。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS