我想知道是否可以用三元运算符替换触发器重置以最小化行数并提高可读性。下面的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
同步复位的情况如何?
您应该期望您的代码的两个版本以相同的方式进行模拟。
综合结果可能取决于您使用的工具。第一个代码示例将映射到触发器的传统综合构造(如果
a
是常数,如parameter
)。综合工具可能不支持第二个代码示例。请参阅您的综合工具文档。