IF
条件。例えば、rst1 または rst2 の 2 つの信号でリセットできる DFF プリミティブをモデル化するために、次のサンプル構造を作成した可能性があります。always @ (posedge clk or posedge rst1 or posedge rst2)
begin
if (rst1 == 1'b1 || rst2 == 1'b1)
q <= 1'b0;
else
q <= d;
end
この問題を修正するには、デザインを編集して、if 条件ごとにエッジを 1 つだけ指定します。例えば、if 条件ごとにエッジを 1 つだけ指定するように前の例を編集する場合、Quartus® II ソフトウェアは DFF プリミティブを正常に認識します。次に、サンプルコードは次のように表示されます。
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
あるいは、 OR
構造の外側で rst1 と rst2 を生成することもできます Always
。
この制限は、将来のバージョンの Quartus® II ソフトウェアで対処される予定です。