home.gif
Visitor No. 1202

MATLABのモデルからHDLを生成する手順のメモです。詳しくは、MATLABのヘルプセンターを読みましょう。


Filter DesignerによるHDL生成

Half-Band Filterの例

  • MATLABのアプリメニューから、信号処理と通信 - フィルタデザイナーを選択
    • または、コマンドプロンプトから、filterDesignerと入力
  • フィルタデザイナフォームに下記のように設定(入力サンプリング周波数192kHz、通過帯域44kHz、34次のLPFの例)
    • (注)ハーフバンドフィルタは、出力のサンプリングレートが入力のサンプリングレートの1/2となるため fpass < fs/4 とする
HBF.png
  • フィルタデザイナーの左下アイコンから。量子化パラメータの設定(上から3番目のアイコン)を選択し、フィルター演算を固定小数点に設定
    • 浮動小数点を使ってもHDLを生成できるが、論理合成の際に浮動小数点演算器が必要になるので、回路を小さくしたい場合は固定小数点を選ぶ。ただし、演算誤差が増加する。
  • フィルタデザイナーの左下アイコンから、フィルター設計(一番下のアイコン)を選択して、フィルタ設計画面に戻り、フィルター設計ボタン(画面下部)をクリック
  • フィルタデザイナーのメニューから、ターゲット - HDLを生成... を選択
  • HDL生成フォームで下記のように設定
    • ここでは、言語としてVerilogHDLを使用
    • 名前には、設計を行うトップ階層モジュールの名前を設定
    • 必要ならテストベンチのタブで、テストベンチ(シミュレーション用のHDLコード)も設定する
    • クロック入力(clk)、リセット入力(reset)は、自動的に作成される。名称を変更する場合は、フィルタデザイナーのグローバル設定で信号名を指定する。
HBF-HDL.png
  • 生成ボタン(フォーム右下)をクリックすると、指定したフォルダにHDLコードが出力される

逆SinCフィルタの例

  • フィルタデザイナフォームに下記のように設定(入力サンプリング周波数96kHz、遮断周波数22kHz、186次のLPFの例)
    • (注)逆SinCフィルタは、fc < fs/2 とする
SINCI.png
  • フィルタデザイナーの左下アイコンから。量子化パラメータの設定(上から3番目のアイコン)を選択し、フィルター演算を固定小数点に設定
  • フィルタデザイナーの左下アイコンから、フィルター設計(一番下のアイコン)を選択して、フィルタ設計画面に戻り、フィルター設計ボタン(画面下部)をクリック
  • フィルタデザイナーのメニューから、ターゲット - HDLを生成... を選択
  • HDL生成フォームで下記のように設定
SINCI-HDL.png
  • 生成ボタン(フォーム右下)をクリックすると、指定したフォルダにHDLコードが出力される

SimlinkkによるHDL生成

Qualtusによる論理合成例

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS