std_logic 中的信号可以有除 0 和 1 之外的其他值吗?

Can signal in std_logic have other value than 0 and 1?

我在学习期间一直在学习 VHDL(主要是自学)。我听说我应该始终在 caseif 语句中涵盖所有可能的情况。我的问题是:std_logic 内部信号在技术上是否可能具有 0 或 1 以外的任何其他值?

例如,这可能吗:

signal or_gate : std_logic;

...
or_gate <= input1 or input2;
...
if(or_gate = '1') then
--led blinks fast
elsif(or_gate = '0') then
--led blinks slow
else
--led off
end if;

或者只能有led闪烁或led熄灭?

bit类型只有0和1,但是std_logic类型除了0和1,支持其他值。

因此 std_logic 类型可以具有以下值:

  • '1':逻辑 1
  • '0':逻辑 0
  • 'Z':高阻抗
  • 'W':信号弱,分不清是0还是1
  • 'L':弱0,下拉
  • 'H':弱1,上拉
  • '-' : 不关心
  • 'U':未初始化
  • 'X':未知,多个驱动程序