除了已经给出的答案之外,我认为值得一提的是,STD_LOGIC 是所谓的已解析类型,即信号有优先级。例如,1 和 0 对 H 或 L 具有更高的优先级,因此如果同时使用 L 和 1 驱动信号,则输出将为高电平(逻辑 1),因为 1 的优先级高于 L。
碰巧的是,您列出值的顺序,在您的问题中是优先级的顺序,需要注意的是某些值具有相同的优先级,因此如果您使用这两个信号驱动它们,则没有明确的“获胜者”,因此结果是层次结构中的下一个“未知”状态(“X”或“W”),一个简单的例子是,如果信号由“H”和“L”驱动,结果将是“ W'。
STD_LOGIC 的解析表如下所示:
-- ---------------------------------------------------------
-- | U X 0 1 Z W L H - | |
-- ---------------------------------------------------------
( 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U' ), -- | U |
( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ), -- | X |
( 'U', 'X', '0', 'X', '0', '0', '0', '0', 'X' ), -- | 0 |
( 'U', 'X', 'X', '1', '1', '1', '1', '1', 'X' ), -- | 1 |
( 'U', 'X', '0', '1', 'Z', 'W', 'L', 'H', 'X' ), -- | Z |
( 'U', 'X', '0', '1', 'W', 'W', 'W', 'W', 'X' ), -- | W |
( 'U', 'X', '0', '1', 'L', 'W', 'L', 'W', 'X' ), -- | L |
( 'U', 'X', '0', '1', 'H', 'W', 'W', 'H', 'X' ), -- | H |
( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ) -- | - |