always @ (posedge clock or negedge reset_l) //Active low asyn reset
begin
if(!reset_l)
begin
if(enable)
begin
status <= 1'b0;
end
end
else
begin
if(enable)
begin
status <= 1'b1;
end
end
end
我正在使用Synopsis Design Compiler运行综合。我在第5行收到警告,表示已启用,但未在敏感列表中提及。
我怀疑是否可以重置if-loop是否可以嵌套if?
答案 0 :(得分:1)
不要这样做 - 如果reset_l
处于活动状态且enable
未激活,则即使设备未被重置,也会忽略时钟。这不应该合成,如果确实如此,你的门级和RTL sims将不匹配。这个重新编码怎么样:
assign rst2 = !reset_l & enable;
always @(posedge clock or posedge rst2)
if(rst2)
status <= 0;
else if(enable)
status <= 1;