verilog使用@符号来控制基于特定事件的执行流,SystemVerilog增强了@事件控制。

@标记的一个基本应用——>推断一个具有使能输入的锁存器。下面一个例子演示了一个锁存器建模的基本风格

always @(data or en)
    if(en) y<=data;

这种编码风格效率极其低下,即使在使能输入无效的情况下,数据输入的每次改变都会触发事件控制。

SystemVerilog在事件控制中加入了一个iff条件。只有当iff条件为真时,事件控制才会被触发,使得只有在锁存器输出能够改变的时候,事件控制才会被触发。

always @(a or en iff en == 1)
    y <= a;
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐