Altera_Forum
Honored Contributor
12 years agoInitial value priority
I often use initial values on my vhdl signals (instead or in addition to reset) to ease simulation or to just initially specify signals or inferred memory content at power up. Now, if these signals are inputs optionally sourced by some other vhdl code, or even assigned to another signal with a different initial value, things still synth on quartus (no warnings?) and Im left being insecure of what initial value really got used..
Is there any guides on how this works/should work? Plain logic tells me the top level initialization should override any local, but Id like to see that documented. The reason I ask is first because this always made me wonder, and second that I just cooked some code with dual port mem, where the access ports are in different vhdl code blocks, and the full array is passed between them, and even if I initialize on both sides, it seems to end up with all 0's at power up. It does infer as dual port mem as expected, but Im not sure what I need to do to initialize this. (I havent tried the .mif way, but I'd like to avoid it if I can).