Dual Port RAM Systemブロックから生成したVerilog HDLコードが、Quartusのforループ制限でコンパイルできないのを回避できませんか?
4 ビュー (過去 30 日間)
古いコメントを表示
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
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 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!