diff --git a/bin/verilator b/bin/verilator index a94b7fe56..8bdff0d52 100755 --- a/bin/verilator +++ b/bin/verilator @@ -345,6 +345,7 @@ detailed descriptions of these arguments. -CFLAGS C++ compiler arguments for makefile --compiler Tune for specified C++ compiler --compiler-include Include additional header in the precompiled one + --constraint-array-limit Maximum array size for constraint array reduction --converge-limit Tune convergence settle time --coverage Enable all coverage --coverage-expr Enable expression coverage diff --git a/docs/guide/exe_verilator.rst b/docs/guide/exe_verilator.rst index 7c21ae284..901918f77 100644 --- a/docs/guide/exe_verilator.rst +++ b/docs/guide/exe_verilator.rst @@ -262,6 +262,17 @@ Summary: limitation that allow only one precompiled header per compilation. Use this instead of ::vlopt:`-CFLAGS` with `-include `. +.. option:: --constraint-array-limit + + Specifies the maximum array size for which array reduction methods + (sum, product, and, or, xor) in constraint expressions will be + expanded. Arrays larger than this limit will have their reduction + constraints ignored with a `CONSTRAINTIGN` warning. This prevents + excessive code generation for very large arrays. + + Defaults to 64. Setting to 0 disables all array reduction constraint + expansion. + .. option:: --converge-limit Rarely needed. Specifies the maximum number of runtime iterations before