記事 ID: 000077157 コンテンツタイプ: エラーメッセージ 最終改訂日: 2021/08/28

エラー: Verilog HDL コンディショナル・ステートメントのエラー at <location>: If-Else ステートメントがセンシティビティー・リストのエッジと一致しない</location>

環境

BUILT IN - ARTICLE INTRO SECOND COMPONENT
詳細 このエラーは、複数のコントロール信号を使用して DFF をモデリングしようとしている場合に発生する可能性があります。インテル® Quartus®®II ソフトウェアは、1 つのセカンダリー信号から 1 つのセカンダリー信号のみを推論します。 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 ソフトウェアで対処される予定です。

関連製品

本記事の適用対象: 1 製品

インテル® プログラマブル・デバイス

1

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。