【发布时间】:2019-12-17 23:55:06
【问题描述】:
我开始学习 SystemVerilog。我被优先级编码器卡住了,无法获得这部分:
priority if (encoder_in == {{14{1'bx}},1'b1,{1{1'b0}}})
【问题讨论】:
-
这能回答你的问题吗? What do curly braces mean in Verilog?
标签: system-verilog
我开始学习 SystemVerilog。我被优先级编码器卡住了,无法获得这部分:
priority if (encoder_in == {{14{1'bx}},1'b1,{1{1'b0}}})
【问题讨论】:
标签: system-verilog
这实际上是 3 个常量的串联。
{ {14{1'bx}}, 1'b1, {1{1'b0}} }
1--^^^^^^^^^^
2--------------^^^^
3--------------------^^^^^^^^^
是一个复制操作符,它生成一个 14 位的“x”。
是一位1
是具有单次重复的复制运算符。我不知道为什么会这样使用它。
以下是等价的表达式:
{{14{1'bx}}, 1'b1, 1'b0}
或者这个
{{14{1'bx}}, 2'b10}
或者这个:
16'xxxxxxxxxxxxxx10
接下来,priority 是一个系统 verilog 修饰符,可以应用于 if 或 case 运算符。阅读系统 verilog 中的 unique end priority 修饰符。
【讨论】: