std_logic 中的信号可以有除 0 和 1 之外的其他值吗?
Can signal in std_logic have other value than 0 and 1?
我在学习期间一直在学习 VHDL(主要是自学)。我听说我应该始终在 case 或 if 语句中涵盖所有可能的情况。我的问题是: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':未知,多个驱动程序
我在学习期间一直在学习 VHDL(主要是自学)。我听说我应该始终在 case 或 if 语句中涵盖所有可能的情况。我的问题是: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':未知,多个驱动程序