Forums
New posts
Search forums
Members
Current visitors
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Menu
Log in
Register
Install the app
Install
Forums
Archive
Archive
VHDL
ModelSim ** Warning: <foo.vhd> Choice in CASE statement alternativemust be locally static.
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
[QUOTE="Andy, post: 5110299"] The idea is for the compiler to catch such errors at compile time, before elaboration has occurred. This allows a module to be compiled into a libraryand known to be good (WRT those things that had to be locally static) longbefore anyone had used it. Things like unconstrained ports, deferred constants and generics get defined during elaboration, which is often transparent in today's tools. Synthesis usually combines compilation ("analysis" per LRM) and elaboration in one step. Most simulators combine elaboration and execution in one step. Some of Cadence's older simulators (NC and Leapfrog) separated the analysis, elaboration and execution into separate steps (I have no exprience with their later tools). If an aspect of a module, such as the completeness and exclusiveness of a case statement, could be verified at compilation, then no matter how the module was instantiated or connected, it could not cause a future problem withthat aspect. This has been somewhat relaxed in 2008 with the allowance of the case expression (but not the target expressions!) to be globally static.. The resulting, reduced benefit of the target expressions being locally static is to ensure that no target expression values are repeated, whereas before they could also be ensured to be complete. Hope this helps, Andy [/QUOTE]
Verification
Post reply
Forums
Archive
Archive
VHDL
ModelSim ** Warning: <foo.vhd> Choice in CASE statement alternativemust be locally static.
Top