From 91f2123f5cd69b6cef3b677ccc0aedd7bb14c47f Mon Sep 17 00:00:00 2001 From: umarcor Date: Sun, 19 Apr 2020 00:59:48 +0200 Subject: [PATCH] doc(vhpidirect/mistakes): add info about size limits --- doc/vhpidirect/mistakes.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/doc/vhpidirect/mistakes.rst b/doc/vhpidirect/mistakes.rst index ed85f29f..48a3f44d 100644 --- a/doc/vhpidirect/mistakes.rst +++ b/doc/vhpidirect/mistakes.rst @@ -13,3 +13,12 @@ Common mistakes subprogram **must** be defined (linked) for elaboration to succeed. This is required even when it is not used in the design. In context where conditional inclusion of VHPIDIRECT features is required, it is suggested to provide alternative (dummy) sources for either VHDL packages or C sources (see :ghdlsharp:`793`). + +* There are some corner cases when using large variables/signals. When you try to allocate a single object which is too + large, GHDL will complain. That can be fixed with :option:`--max-stack-alloc`. However, when you allocate multiple + objects which are smaller than the limit, but the last one overflows, GHDL will not complain, it will crash instead. + In this case, ``ulimit`` needs to be modified/increased. To remove the limit, set ``ulimit -s unlimited``. + See :ghdlsharp:`1112`. + +* The size of objects is supposed to be 4GB. However, users finding the limit might get different constraints, depending + on the backend. See :ghdlsharp:`822`.