我想知道如何在verilog中使用unique语句。
例如
if (in0) se1 = 2'b00;
else if (in1) se1 = 2'b00;
else if (in2) se1 = 2'b00;
else if (in3) se1 = 2'b00;
如果 in0 和 in1 为真,则选择 in0。
unique if (in0) se1 = 2'b00;
else if (in1) se1 = 2'b00;
else if (in2) se1 = 2'b00;
else if (in3) se1 = 2'b00;
如果 in0、in1 为 true 那么如何处理?
最佳答案
添加到 if
或 case
语句中的 unique
关键字有两个作用:
- 它添加了一个断言以确保只有一个分支条件为真。在模拟过程中或通过正式工具检查断言,以确保不可能有多个条件为真。
- 它告诉综合工具生成优化逻辑,并假设一次只能有一个分支条件为真。
如果事实证明 in0 和 in1 都为真,模拟仍将采用第一个分支,但您会收到一条错误消息。实际的硬件会产生不可预测的结果。
关于verilog - 如何在verilog中使用独特的语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36146721/