記事 ID: 000086590 コンテンツタイプ: トラブルシューティング 最終改訂日: 2021/06/24

同じ OE 信号を共有する各 x4 DQ グループの制約上、I2C ピンを インテル Agilex® 7 デバイスに配置する際に考慮すべきものはありますか?

環境

    インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション
BUILT IN - ARTICLE INTRO SECOND COMPONENT
詳細

インテル Agilex 7 FPGA®汎用 I/O および LVDS SERDES ユーザーガイド のピン配置要件によると、各 x4 DQ グループは同じ OE、リセット、クロック・イネーブル信号を共有しているため、x4 DQ グループ内で OE、リセット、クロックイネーブル信号を分割することはできません。制約がある場合、I2C ピンを配置する際の考慮事項を以下に示します。

 


 

    解決方法

    1. FPGAは I2C マスターとして使用され、マルチマスター・モードが必要です。

    (i) I2C の一般的な実装は、以下に示すように、SCL と SDA の両方に OE を使用しています。したがって、同じ x4 DQ グループに SCL と SDA を配置することはできません。

    i2c_serial_scl_inを割り当てる = arduino_adc_scl;

    arduino_adc_sclを割り当てる = i2c_serial_scl_oe?1'b0: 1'bz;

    i2c_serial_sda_inを割り当てる = arduino_adc_sda;

    arduino_adc_sdaを割り当てる = i2c_serial_sda_oe?1'b0: 1'bz;

    (ii) もう 1 つの方法は、GPIO インテル FPGA IPを使用することです。SCL および SDA のオープンドレインを可能にし、SCL および SDA の両方の OEM ポートを 1 (高) に接続し、元の OE 制御信号の反転信号を接続できます。この方法では、制約を回避できます。以下に例を示します。

          

    gpioip gpioip_scl (

    .dout (i2c_serial_scl_in)

    .din (~i2c_serial_scl_oe)

    .oe (1'b1)

    .pad_io (arduino_adc_scl)

    );

    gpioip gpioip_sda (

    .dout (i2c_serial_sda_in)

    .din (~i2c_serial_sda_oe)

    .oe (1'b1)

    .pad_io (arduino_adc_sda)

    );

     

    2. FPGAは、I2C マスター・シングルモードとして使用されます。

    SCL は、OE がない出力ピンです。SDA は、OE を備えた双方向ピンです。

     

    3. FPGAは I2C スレーブとして使用されます:

    SCL は、OE がない入力ピンです。SDA は、OE を備えた双方向ピンです。

     

    上記の 2 と 3 では、SCL には OEM がないため、

    • SCL と SDA は、同じ x4 DQ グループ内に割り当てることができます。
    • 複数の SCL と SDA を同じ x4 DQ グループに割り当てることができます。
    • 同じ x4 DQ グループに複数の SDA を割り当てられない
    • 同じ x4 DQ グループに複数の SDA が割り当てられている場合、上記のように GPIO インテル FPGA IPを使用することも回避策です。

    関連製品

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

    インテル® Agilex™ FPGA & SoC FPGA

    1

    このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。このコンテンツはお客様の便宜と一般的な情報のみを目的として提供されており、情報の正確さと完全性を保証するものではありません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。