条件运算符又称三元运算符,应为右关联运算符,使用三个操作数,由两个运算符分隔,格式如语法下所示:
条件运算符的运算应从expression1的真假判断开始,称为条件。如果条件求值为 false (0),则应求值expression3并将其作为条件表达式的结果。如果条件求值为 true (1),则对expression2进行求值并将其作为结果使用。如果条件求值为模糊值(x 或 z),则同时求值表达式2和表达式3,并使用下表1逐位合并它们的结果,计算最终结果,除非表达式2 或表达式3为实数,在这种情况下,结果应为0。如果表达式2和表达式3的长度不同,较短的操作数位宽将被加长以匹配较长的操作数,并从左侧(高阶端)开始填充零。
表1:条件运算符的模糊条件结果
例如:下面的三态输出总线示例说明了条件运算符的常见用法:
当drive_busa为1时,数据的总线被驱动到busa上。如果drive_busa未知,则将未知值驱动到 busa 上。否则,总线不会被驱动。
点赞加关注博主(ID:FPGA小飞)的博文,咱们一起系统学习verilog最终标准IEEE Std 1364-2005吧!