IF
Zustand. Sie können beispielsweise die folgende Beispielstruktur geschrieben haben, um ein DFF-Primitives zu modellisieren, das durch zwei Signale, rst1 oder rst2, zurückgesetzt werden kann:always @ (posedge clk or posedge rst1 or posedge rst2)
begin
if (rst1 == 1'b1 || rst2 == 1'b1)
q <= 1'b0;
else
q <= d;
end
Um dies zu korrigieren, bearbeiten Sie das Design, um pro Bedingung nur einen Rand anzugeben. Wenn Sie beispielsweise das vorherige Beispiel bearbeiten würden, um pro if-Bedingung nur einen Rand anzugeben, würde die Quartus II Software das DFF-Primitive erfolgreich erkennen. Der Beispielcode würde dann wie folgt angezeigt:
always @ (posedge clk or posedge rst1 or posedge rst2)
begin
if (rst1 == 1'b1)
q <= 1'b0;
else if (rst2 == 1'b1)
q <= 1'b0;
else
q <= d;
end
Alternativ können Sie den OR
von rst1 und rst2 außerhalb des Konstrukts Always
generieren.
Diese Einschränkung wird in einer zukünftigen Version der Quartus II Software behoben.