std_logic枚举类型的目的是什么?
'U': uninitialized. This signal hasn't been set yet.
'X': unknown. Impossible to determine this value/result.
'0': logic 0
'1': logic 1
'Z': High Impedance
'W': Weak signal, can't tell if it should be 0 or 1.
'L': Weak signal that should probably go to 0
'H': Weak signal that should probably go to 1
'-': Don't care.
Run Code Online (Sandbox Code Playgroud)
小智 7
std_logic基本上是单线或比特.您可以在它们上使用逻辑运算符(和,或,xor等).在模拟设计时,我相信我只看过'X','0'或'1'.显然你想要'0'或'1'."X"表示该值未知(可能未连接任何信号或信号中存在毛刺).此外,std_logic_vector可用于需要超过1位宽的信号.我不确定这是否能回答你的问题......
该std_logic类型由IEEE-1164标准引入,作为单个线或位的精确代表.VHDL语言本身不提供足够强大的单比特类型来表示"真实"逻辑.也就是说,表示现代可编程逻辑器件中可模拟和可合成逻辑的所有可能状态.
在VHDL历史的早期,不同的开发人员基本上是在编写他们自己的版本而不std_logic需要表示现实世界的信号.IEEE-1164引入了这种标准化逻辑类型,旨在增强不同开发人员针对不同体系结构编写的代码的互操作性.
该标准的维基百科文章提供了简洁的描述:
http://en.wikipedia.org/wiki/IEEE_1164