MATLAB HDL CODER
をテンプレートにして作成
トップ
新規
一覧
単語検索
ヘルプ
開始行:
[[&ref(home.gif);:http://jaco.ec.t.kanazawa-u.ac.jp/kitag...
~
Visitor No. &counter(total);
MATLABのモデルからHDLを生成する手順のメモです。詳しくは、...
~
----
*Filter DesignerによるHDL生成 [#p7201cc2]
***Half-Band Filterの例 [#rcbbe5f0]
-MATLABのアプリメニューから、信号処理と通信 - フィルター...
--または、コマンドプロンプトから、filterDesignerと入力
-フィルターデザイナフォームに下記のように設定(入力サンプ...
--(注)ハーフバンドフィルターは、出力のサンプリングレー...
#ref(HBF.png,,50%)
-フィルターデザイナーの左下アイコンから。量子化パラメータ...
--浮動小数点(実数、複素数)を使ったHDLも生成できるが、論...
-フィルターデザイナーの左下アイコンから、フィルター設計(...
-フィルターデザイナーのメニューから、ターゲット - HDLを生...
-HDL生成フォームで下記のように設定
--ここでは、言語としてVerilogHDLを使用
--名前には、設計を行うトップ階層モジュールの名前を設定
--必要ならテストベンチのタブで、テストベンチ(シミュレー...
--クロック入力(clk)、リセット入力(reset)は、自動的に作成...
#ref(HBF-HDL.png,,50%)
-生成ボタン(フォーム右下)をクリックすると、指定したフォ...
***逆SinCフィルタの例 [#o54fe5cc]
-フィルターデザイナフォームに下記のように設定(入力サンプ...
--(注)逆SinCフィルターは、fc < fs/2 とする
#ref(SINCI.png,,50%)
-フィルターデザイナーの左下アイコンから。量子化パラメータ...
-フィルターデザイナーの左下アイコンから、フィルター設計(...
-フィルターデザイナーのメニューから、ターゲット - HDLを生...
-HDL生成フォームで下記のように設定
--名前には、設計を行うトップ階層モジュールの名前を設定
--必要ならテストベンチのタブで、テストベンチ(シミュレー...
--クロック入力(clk)、リセット入力(reset)は、自動的に作成...
#ref(SINCI-HDL.png,,50%)
-生成ボタン(フォーム右下)をクリックすると、指定したフォ...
*SimulinkによるHDL生成 [#sc089000]
***高速フーリエ変換の例 [#led7ed7f]
-MATLABのホームニューで、Simulinkアイコンをクリック
--または、MATLABのプロンプトから、simulinkと入力
-Simulinkスタートページが表示されるので、テンプレートのリ...
-Simulinkのシミュレーションメニューで、保存 - 名前を付け...
--緑色のブロックが、これから設計を行うトップモジュールと...
#ref(empty.png,,50%)
-緑色のブロックをダブルクリックして、ブロック内部を下記の...
--部品の呼び出しは、Simulinkのシミュレーションメニューか...
---FFT: DSP HDL Toolbox - Transform, 入出力ポート: HDL Co...
#ref(FFT.png,,50%)
-トップ階層に戻って、下記のように修正する
--階層は、図面上部のタブまたは矢印ボタンで移動する
--部品の呼び出しは、Simulinkのシミュレーションメニューか...
---Sine Wave: Simulink - Source(Amplitude 32767, Frequen...
---浮動小数点演算を使用しない場合は、入出力信号を整数かBo...
#ref(TOP.png,,50%)
-Simulinkのシミュレーションメニューで、終了時間を256に設...
-シミュレーションが成功したら、図面中のScope(右端の部品...
--Scopeウインドウのツールボックスで、X軸Y軸のスケールのボ...
---虚数(SINE成分)が出ているのが観測できる
#ref(simulation.png,,50%)
-SimulinkのHDLコードメニューで、設定アイコンをクリック
-コンフィギュレーションパラメータのフォームで下記のように...
--clk, resetは自動的に追加される、詳しい設定を行う場合は...
#ref(config.png,,50%)
-HDL生成可チェックボタンをクリックして、エラーまたは警告...
-生成ボタンをクリックしてHDLを生成
-HDLの生成に成功すると、SimulinkウインドウにHDLコードが表...
#ref(code-gen.png,,50%)
*Qualtusによる論理合成例 [#e31a47a5]
MATLABで出力したHDLコードは、論理合成可能なRTL記述になっ...
-Quartus Prime Liteを起動
-New Project Wizardをクリック
--作業ディレクトリ、プロジェクト名を指定、Project TypeはE...
--Add Filesフォームで、作成しておいたHDLファイルを指定(...
--Family, Devices & Board Settingsでは、適当にdeviceを選...
#ref(Quartus_New.png,,50%)
#ref(Quartus_Main.png,,50%)
-メニューより、Processing - Start Compilation を選択
--または、ツールバーの青三角をクリック
-メニューの Tools - Netlist Viewers より RTL Viewer を選...
-メニューの Tools - Netlist Viewers より Technology Map V...
-- Technology Map Viewer には、Post Mapping(論理合成後の...
#ref(Quartus_Viewer.png,,50%)
*HDLシミュレーションについて [#p88fc4fd]
Quartus本体には、論理シミュレータが含まれていない。論理シ...
-Intelのサイトに登録したユーザアカウントでログインし、FPG...
-メニューから、コンピュータとライセンスファイル - 全ての...
-新規ボタンで、ライセンスをインストールするコンピュータを...
-ライセンスファイルがメールで送られてくるので、登録したコ...
--Windows11の環境変数は、設定 - システム - バージョン情報...
終了行:
[[&ref(home.gif);:http://jaco.ec.t.kanazawa-u.ac.jp/kitag...
~
Visitor No. &counter(total);
MATLABのモデルからHDLを生成する手順のメモです。詳しくは、...
~
----
*Filter DesignerによるHDL生成 [#p7201cc2]
***Half-Band Filterの例 [#rcbbe5f0]
-MATLABのアプリメニューから、信号処理と通信 - フィルター...
--または、コマンドプロンプトから、filterDesignerと入力
-フィルターデザイナフォームに下記のように設定(入力サンプ...
--(注)ハーフバンドフィルターは、出力のサンプリングレー...
#ref(HBF.png,,50%)
-フィルターデザイナーの左下アイコンから。量子化パラメータ...
--浮動小数点(実数、複素数)を使ったHDLも生成できるが、論...
-フィルターデザイナーの左下アイコンから、フィルター設計(...
-フィルターデザイナーのメニューから、ターゲット - HDLを生...
-HDL生成フォームで下記のように設定
--ここでは、言語としてVerilogHDLを使用
--名前には、設計を行うトップ階層モジュールの名前を設定
--必要ならテストベンチのタブで、テストベンチ(シミュレー...
--クロック入力(clk)、リセット入力(reset)は、自動的に作成...
#ref(HBF-HDL.png,,50%)
-生成ボタン(フォーム右下)をクリックすると、指定したフォ...
***逆SinCフィルタの例 [#o54fe5cc]
-フィルターデザイナフォームに下記のように設定(入力サンプ...
--(注)逆SinCフィルターは、fc < fs/2 とする
#ref(SINCI.png,,50%)
-フィルターデザイナーの左下アイコンから。量子化パラメータ...
-フィルターデザイナーの左下アイコンから、フィルター設計(...
-フィルターデザイナーのメニューから、ターゲット - HDLを生...
-HDL生成フォームで下記のように設定
--名前には、設計を行うトップ階層モジュールの名前を設定
--必要ならテストベンチのタブで、テストベンチ(シミュレー...
--クロック入力(clk)、リセット入力(reset)は、自動的に作成...
#ref(SINCI-HDL.png,,50%)
-生成ボタン(フォーム右下)をクリックすると、指定したフォ...
*SimulinkによるHDL生成 [#sc089000]
***高速フーリエ変換の例 [#led7ed7f]
-MATLABのホームニューで、Simulinkアイコンをクリック
--または、MATLABのプロンプトから、simulinkと入力
-Simulinkスタートページが表示されるので、テンプレートのリ...
-Simulinkのシミュレーションメニューで、保存 - 名前を付け...
--緑色のブロックが、これから設計を行うトップモジュールと...
#ref(empty.png,,50%)
-緑色のブロックをダブルクリックして、ブロック内部を下記の...
--部品の呼び出しは、Simulinkのシミュレーションメニューか...
---FFT: DSP HDL Toolbox - Transform, 入出力ポート: HDL Co...
#ref(FFT.png,,50%)
-トップ階層に戻って、下記のように修正する
--階層は、図面上部のタブまたは矢印ボタンで移動する
--部品の呼び出しは、Simulinkのシミュレーションメニューか...
---Sine Wave: Simulink - Source(Amplitude 32767, Frequen...
---浮動小数点演算を使用しない場合は、入出力信号を整数かBo...
#ref(TOP.png,,50%)
-Simulinkのシミュレーションメニューで、終了時間を256に設...
-シミュレーションが成功したら、図面中のScope(右端の部品...
--Scopeウインドウのツールボックスで、X軸Y軸のスケールのボ...
---虚数(SINE成分)が出ているのが観測できる
#ref(simulation.png,,50%)
-SimulinkのHDLコードメニューで、設定アイコンをクリック
-コンフィギュレーションパラメータのフォームで下記のように...
--clk, resetは自動的に追加される、詳しい設定を行う場合は...
#ref(config.png,,50%)
-HDL生成可チェックボタンをクリックして、エラーまたは警告...
-生成ボタンをクリックしてHDLを生成
-HDLの生成に成功すると、SimulinkウインドウにHDLコードが表...
#ref(code-gen.png,,50%)
*Qualtusによる論理合成例 [#e31a47a5]
MATLABで出力したHDLコードは、論理合成可能なRTL記述になっ...
-Quartus Prime Liteを起動
-New Project Wizardをクリック
--作業ディレクトリ、プロジェクト名を指定、Project TypeはE...
--Add Filesフォームで、作成しておいたHDLファイルを指定(...
--Family, Devices & Board Settingsでは、適当にdeviceを選...
#ref(Quartus_New.png,,50%)
#ref(Quartus_Main.png,,50%)
-メニューより、Processing - Start Compilation を選択
--または、ツールバーの青三角をクリック
-メニューの Tools - Netlist Viewers より RTL Viewer を選...
-メニューの Tools - Netlist Viewers より Technology Map V...
-- Technology Map Viewer には、Post Mapping(論理合成後の...
#ref(Quartus_Viewer.png,,50%)
*HDLシミュレーションについて [#p88fc4fd]
Quartus本体には、論理シミュレータが含まれていない。論理シ...
-Intelのサイトに登録したユーザアカウントでログインし、FPG...
-メニューから、コンピュータとライセンスファイル - 全ての...
-新規ボタンで、ライセンスをインストールするコンピュータを...
-ライセンスファイルがメールで送られてくるので、登録したコ...
--Windows11の環境変数は、設定 - システム - バージョン情報...
ページ名: