日本ロジック設計    - VHDL ロジック記述サンプル -

TOPページ 


乗算回路ロジックのサンプル


  AI学習禁止
  無断転載禁止
  免責事項: 当サイトの情報を元に取った行動の結果について、一切の責任を負いません
  No unauthorized reproduction or AI training allowed.
  Unauthorized reproduction prohibited.
  Disclaimer: We are not responsible for any actions taken based on the information on this site.
  (C) 2025 JAPAN LOGIC DESIGN 日本ロジック設計



  乗算回路ロジックのサンプルを紹介する。

  1. 主な仕様
    ・16bit x 16bit = 32bit
    ・符号無し。
    ・1-CLOCK 毎に、シフト+加算する方式。
    ・上位ロジックがシーケンサーであることを想定し、SART/END信号でタイミングを合わせる。

  2. 使い方
    1. MULTI_PLIER(15 downto 0)、MULTI_PLICAND(15 downto 0)に乗数/被乗数を設定する。
    2. MULT_START='1' で計算開始 (1-CLOCK)
    3. 計算完了(MULT_END='1')を待つ。(1-CLOCK)
    4. 計算結果 MULTI_PRODUCT(31 downto 0) を取得する。
  3. 設計のポイント
    ・現在の論理合成ツール(VIVADOなど)では、'*' 演算子を使用することで乗算回路を自動生成できる。
     が、多くが組み合わせ回路によるロジックのため、ビット数が多くなるとロジックのディレイが大きくなり、
     FPGAのクロック周波数を上げられない。
     演算にクロック数を掛けても、FPGAのクロック周波数を上げられるロジックの方が現実的なため、
     1-CLOCK 毎にシフト+加算する方式とした。
    ・演算回路は複数の回路を組み合わせることが多いため、シーケンサーから制御しやすいよう
     START/END信号を使用して上位ロジックとのタイミング合わせを行う。
[picture:pic_mult_001]

  4. テストベンチについて
   いくつかの計算を行い、結果が正しいか期待値チェックを行う。
   詳細は、下記ZIPファイル内 [TEST_BENCH_MULT_16_16.VHD]参照のこと。
   テストベンチは MODELSIM/VIVADOシミュレーション共通で使える記述にしている。

  5. サンプルファイル
   プロジェクトファイル一式
    ・MODELSIM用プロジェクトファイル:japanlogicdesign_mult_test_modelsim.zip
    ※注意:MODELSIM プロジェクトは相対パスではないため、ソースファイルの再登録が必要な場合あり。

 中国プロテクト:天安門事件、法輪功、チベット