Main Content

コンフィギュレーション パラメーターを使用した Simulink モデルからの HDL コードの生成

HDL コードの生成に影響を与えるオプションとパラメーターは [コンフィギュレーション パラメーター] ダイアログ ボックスまたはモデル エクスプローラーで表示および編集できます。この例では、[コンフィギュレーション パラメーター] ダイアログ ボックスを使用して対称 FIR フィルター モデルの HDL コードを生成する方法を説明します。

FIR フィルター モデル

HDL コードを生成する前に、モデルは HDL コード生成と互換性がなければなりません。HDL 互換性についてモデルのチェックと更新を行うには、HDL コード アドバイザーを使用した Simulink モデルの HDL 互換性のチェックを参照してください。

この例では、HDL コード生成と互換性のある対称 FIR フィルター モデルを使用します。このモデルをコマンド ラインで開くには、次を入力します。

sfir_fixed

モデルは、HDL 設計に適した作業分担を使用します。

  • フィルターのアルゴリズムを実装する symmetric_fir サブシステムがテスト対象デバイス (DUT) です。HDL エンティティはこのサブシステムから生成されます。

  • サブシステムを駆動する最上位のモデル コンポーネントはテスト ベンチとして機能します。

最上位モデルは symmetric_fir サブシステムに対して 16 ビットの固定小数点入力信号を生成します。Signal From Workspace ブロックはフィルターに対するテスト入力 (スティミュラス) 信号を生成します。4 つの Constant ブロックがフィルター係数を示しています。Scope ブロックはシミュレーションに使用され、HDL コード生成には使用されません。

symmetric_fir サブシステムに移動するには、次を入力します。

open_system('sfir_fixed/symmetric_fir')

Symmetric FIR filter algorithm.

フォルダーの作成と関連ファイルのコピー

MATLAB® で、以下を実行します。

  1. sl_hdlcoder_work という名前のフォルダーを作成します。たとえば、次のようにします。

    mkdir C:\work\sl_hdlcoder_work
    

    sl_hdlcoder_work は、モデル例とフォルダーのローカル コピーおよび生成された HDL コードを保存します。MATLAB フォルダー ツリー内にないフォルダーの場所を使用します。

  2. sl_hdlcoder_work を作業フォルダーにします。たとえば、次のようにします。

    cd C:\work\sl_hdlcoder_work
  3. sfir_fixed モデルのローカル コピーを現在の作業フォルダーに保存します。モデルを開いたままにしておきます。

[コンフィギュレーション パラメーター] ダイアログ ボックスの [HDL コード生成] ペインを開く

[コンフィギュレーション パラメーター] ダイアログ ボックスの [HDL コード生成] ペインを開くには、アプリ ギャラリーで [HDL Coder] をクリックします。[HDL コード] タブが表示されます。[準備] セクションで、[設定] をクリックします。

[HDL コード生成] ペインは、コードを作成する DUT、ターゲット言語、およびフォルダー設定を指定する基本的なオプションで構成されます。[HDL を生成] 設定は、[HDL コード] タブの [次のコード] メニューと同期しています。このペインにあるボタンを使用して、コード生成を開始し、互換性チェックを実行することもできます。[HDL コード生成] ペインは、クロック信号およびリセット信号に関係するさまざまな設定をレポート設定と最適化設定に指定するために使用できるさまざまなサブペインで構成されます。

[HDL コード生成] ペイン

  • [HDL を生成] フィールドではコード生成に sfir_fixed/symmetric_fir サブシステムが指定されています。

  • [言語] フィールドでは、VHDL コードの生成が指定されています。

  • [フォルダー] フィールドでは生成されるコード ファイルとスクリプトを格納するターゲット フォルダーが指定されています。

HDL コードの生成

コードを生成するには、[生成] ボタンをクリックします。既定では、HDL Coder™ はターゲット hdlsrc フォルダーに VHDL コードを生成します。

モデル用の Verilog コードを生成するには、次の手順を実行します。

  1. [HDL コード] タブで、[設定] をクリックします。

  2. [HDL コード生成] ペインで、[言語] に対して [Verilog] を選択します。その他の設定は既定のままにします。[適用] をクリックし、[生成] をクリックします。

HDL Coder は、コードの生成前にモデルをコンパイルします。端子のデータ型などのモデルの表示オプションによっては、コードの生成後にモデルの外観が変わることがあります。コードの生成が進むにつれて、HDL Coder によって MATLAB コマンド ラインに次のリンクを備えた進行状況を示すメッセージが表示されます。

  • コンフィギュレーション パラメーターが適用されたモデルを示すコンフィギュレーション セットへのリンク。

  • 生成されたファイルへのリンク。MATLAB エディターでファイルを表示するには、リンクをクリックします。

    • symmetric_fir.vhd:VHDL コード。このファイルには symmetric_fir.vhd フィルターを実装する RTL アーキテクチャとエンティティ定義が含まれています。

    • symmetric_fir_compile.do: 生成された VHDL コードをコンパイルする Mentor Graphics® ModelSim® コンパイル スクリプト (vcom コマンド)。

    • symmetric_fir_synplify.tcl: Synplify® 合成スクリプト。

    • symmetric_fir_map.txt:このレポートは、生成されたエンティティをエンティティを生成したサブシステムにマッピングします。マッピング ファイルを使用したコードのトレースを参照してください。

プロセスが終了すると次のメッセージが表示されます。

### HDL Code Generation Complete.

参考

|

関連するトピック