Dual Port RAM Systemブロックから生成したVerilog HDLコードが、Qu​artusのforル​ープ制限でコンパイル​できないのを回避でき​ませんか?

4 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2023 年 9 月 26 日
編集済み: MathWorks Support Team 2023 年 10 月 27 日
Quartus を使用して、Simple Dual Port RAM Systemブロックのみを含む Simulink モデルから生成したHDLを合成すると、次のエラー メッセージが表示されます。
HDL Coder側でこの問題を回避する方法を教えてください。
Quartus からの次のエラー メッセージ。
"Error (13356): Verilog HDL Loop error at SimpleDualPortRAM_generic.v(47): loop must terminate within 5000 iterations File: C:/Secret/MATLAB/support_request/20230926_c10gx_qproj_target_ram_for_loop/hdl_prj/hdlsrc/test_ram_model/SimpleDualPortRAM_generic.v Line: 47"

採用された回答

MathWorks Support Team
MathWorks Support Team 2023 年 10 月 27 日
編集済み: MathWorks Support Team 2023 年 10 月 27 日
Quartusでは、Verilogの初期化ループの反復制限が、デフォルトで 5000 に設定されています。
この値を制御するパラメータの名前は「Iteration limit for constant Verilog loops logic option」で、下記ページにて確認できます。
このパラメータをループ回数より大きな値に変更することをお試しください。
例えば、サブシステムにアドレス幅が16ビットのRAMブロックが含まれている場合、Verilog コードには RAM 内の値を初期化するループがあるため、RAM 内の 65536 個の値をループします。
Quartusでは、Iteration limit for constant Verilog loops logic option」パラメータは、下記になります。
Assignments -> Compiler Settings -> Advanced Settings (Synthesis)... -> Iteration limit for constant Verilog loops

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCode Generation についてさらに検索

タグ

タグが未入力です。

製品


リリース

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!