다음 코드가 래치를 유추하지 않는 이유는 무엇입니까?다음 논리에 대해 래치가 유추되지 않는 이유는 무엇입니까?
d와 rst가 모두 "0"이면 "e"에 할당 할 항목을 도구에서 어떻게 알 수 있습니까?
module tmp(input d,
input clk,
input rst,
output reg o,
output reg e);
[email protected](posedge clk)
if(rst) begin
o <=0;
e <= 1;
end
else if(d) begin
o<=1;
e<=0;
end
else
o <=1;
endmodule
if/else가 우선 순위 논리입니다. rst = 0이고 d = 1이면 e는 0으로 지정됩니다. rst = 0이고 d = 0이면 e는 마지막 값을 유지합니다. 이는 래치가 아닌 플립 플롭을 설명합니다. – toolic
'e'는 마지막 값을 유지합니다. 그리고 레벨에 민감하지 않은 가장자리에 민감한 디자인이 있기 때문에 래치가 아닌 FF가 유추됩니다. –