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

4 visualizzazioni (ultimi 30 giorni)
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
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

Più risposte (0)

Categorie

Scopri di più su Code Generation in Help Center e File Exchange

Tag

Non è stata ancora inserito alcun tag.

Prodotti


Release

R2023a

Community Treasure Hunt

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

Start Hunting!