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

4 次查看(过去 30 天)
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
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 CenterFile Exchange 中查找有关 Code Generation 的更多信息

标签

尚未输入任何标签。

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!