記事 ID: 000085704 コンテンツタイプ: トラブルシューティング 最終改訂日: 2012/09/11

Quartus® II ソフトウェア・バージョン 4.1 および 4.1 SP1 でカウンターの制御ロジックが正しく生成されないのはなぜですか?

環境

  • リセット
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    詳細

    インテル® Quartus® II ソフトウェア・バージョン 4.1 および 4.1 SP1 で以下の条件が満たされた場合に問題が生じたため、コントロール・ロジックが正しく生成されない場合:

    • 合成中に HDL コードから推論されるlpm_counterメガファンクションまたはlpm_counterメガファンクションをインスタンス化する
    • デザインのカウンターは、非同期プリセットと同期クリア信号の両方を使用します。
    • Stratix®、STRATIXGX、Cyclone®、MAX®II、またはHardcopyStratixデバイスをターゲットにしたデザインをコンパイルします。

    この不正な動作は、lpm_counterメガファンクションのクリアボックス実装に問題があるためです。デザインに非同期プリセット信号と同期クリア信号の両方を使用するカウンターがある場合に問題を回避するには、<Quartus® II インストール・ディレクトリーから\libraries\megafunctionsディレクトリー>lpm_counter.tdf ファイルをプロジェクト・ディレクトリーにコピーします。

    この問題は、Quartus® II ソフトウェア・バージョン 4.2 から修正されています。

    以下は、Quartus® II ソフトウェア・バージョン 4.1 および 4.1 SP1 で正しく実装されていないコードの例です。この例では、 clr 最終的な実装では信号が削除されます。

    process (clk, clr, preset) is
    
    begin
    
      if (preset = '0') then
    
       counter <= (others => '1');
    
      elsif rising_edge(clk) then
    
       if (clr = '1') then
    
         counter <= (others => '0');
    
       else
    
       counter <= counter  1;
    
       end if;
    
      end if;
    
    end process;
    
    

    関連製品

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

    Stratix® FPGAs

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