Dual Port RAM Systemブロックから生成したVerilog HDLコードが、Quartusのforループ制限でコンパイルできないのを回避できませんか?
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
MathWorks Support Team
il 26 Set 2023
Modificato: MathWorks Support Team
il 27 Ott 2023
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"
Risposta accettata
MathWorks Support Team
il 27 Ott 2023
Modificato: MathWorks Support Team
il 27 Ott 2023
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 Commenti
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!