在 VHDL 中如何检查 UNSIGNED(8 downto 0) 是 UNINITIALIZED 还是 UNDEFINED?
in VHDL how to check if UNSIGNED(8 downto 0) is UNINITIALIZED or UNDEFINED?
我无法检查无符号(8 到 0)数据类型是“XXXXXXXX”还是“UUUUUUUU”
在进程内部作为变量或什至检查输入我都无法让它工作。
有什么解决办法吗?
这是因为 numeric_std
包重载了 "="
函数,因此任何“UUUU”或“XXXX”值都会导致结果始终为假。请记住 numeric_std 是算术运算,因此非数值会导致此行为。
要进行有效比较,请先将无符号数转换为 std_logic_vector:
if std_logic_vector(some_unsiged) = "XXXXXXXXX" then
我无法检查无符号(8 到 0)数据类型是“XXXXXXXX”还是“UUUUUUUU”
在进程内部作为变量或什至检查输入我都无法让它工作。
有什么解决办法吗?
这是因为 numeric_std
包重载了 "="
函数,因此任何“UUUU”或“XXXX”值都会导致结果始终为假。请记住 numeric_std 是算术运算,因此非数值会导致此行为。
要进行有效比较,请先将无符号数转换为 std_logic_vector:
if std_logic_vector(some_unsiged) = "XXXXXXXXX" then