在VHDL中,创建信号或矢量时是否需要初始化?
如果忘记初始化信号或整数值会怎样?
最佳答案
在模拟中,如果不设置初始值,则向量的每个元素都将获得默认值(由VHDL语言规范定义)。对于枚举类型,这是在枚举类型中定义的第一个元素: bool 值将为false
,std_logic将为“U”(未定义)。注意,“U”在电路中没有意义。这只是对验证工程师的提示,您不知道触发器在加电时具有哪个值。
合成之后:如果目标技术支持,FPGA合成器将使用您设置为触发器和存储器的“上电”值的初始值!如果该技术不支持强制初始值(对于ASIC),则不知道加电时的初始值。它可以是1或0。(例如,参见http://quartushelp.altera.com/11.0/mergedProjects/hdl/vhdl/vhdl_pro_power_up_state.htm)
两种可能的样式:
如果您选择第一种,请确保检查您的目标技术是否支持这种样式!
关于vhdl - 是否需要初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6897143/