使用三元运算符而不是 if-else 语句重置触发器

问题描述 投票:0回答:1

我想知道是否可以用三元运算符替换触发器重置以最小化行数并提高可读性。下面的RTL在仿真和综合中有同样的效果吗?

always_ff @(posedge clk, posedge ares) begin
   if (ares) begin
      signal <= a;
   end
   else begin
      signal <= b;
   end 
end

比较:

always_ff @(posedge clk, posedge ares) begin
   signal <= ares ? a : b;
end

同步复位的情况如何?

verilog system-verilog synthesis register-transfer-level
1个回答
0
投票

您应该期望您的代码的两个版本以相同的方式进行模拟。

综合结果可能取决于您使用的工具。第一个代码示例将映射到触发器的传统综合构造(如果

a
是常数,如
parameter
)。综合工具可能不支持第二个代码示例。请参阅您的综合工具文档。

© www.soinside.com 2019 - 2024. All rights reserved.