記事 ID: 000082369 コンテンツタイプ: 製品情報 & ドキュメント 最終改訂日: 2021/08/28

インテル® Arria® 10 PCI Express* IP のレジスター値は、どのようにして読み書きできますか?

環境

  • インテル® Arria® 10 Cyclone® 10 PCI Express* のハード IP
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    詳細

    10 個の PCI Express* IP レジスター値インテル® Arria®読み書きすることは、有効なデバッグ方法です。以下の手順に従って、インテル® Arria® 10 PCI Express IP コンポーネントのレジスター値を読み書きします。 最初のパートでは、Arria 10 トランシーバー・ネイティブ PHY IP チャネル、インテル Arria 10 トランシーバー ATX PLL IP コア、および 10 トランシーバー fPLL IP コアインテル Arria Alteraデバッグ・マスター・エンドポイント (ADME) を有効にする方法を説明します。第 2 部では、インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション・システム・コンソールでレジスター値を読み書きする方法について説明します。

     

    ADME 機能を有効にします。

    Arria 10 トランシーバー・ネイティブ PHY IP

    1. PCI Express* IP パラメーター・エディターで ADME を有効にします (構成、デバッグ、拡張オプションタブ)

    2. HDL の生成 (インテル Quartus Prime 開発ソフトウェア・プロ・エディション・プラットフォーム・デザイナーで、[Generate --> HDL ....] をクリックします。

     

    Arria 10 ATX PLL IP コア (Arria 10 PCI Express IP Gen3 モードのみ)

    3. プラットフォーム・デザイナーが生成した PCI Express* デザインファイルを含むディレクトリーに移動します (\altera_pcie_a10_hip_171\synth など)。

    4. テキスト・エディターで 「lcpll_g3xn.v」ファイルを開きます。

    5. ATX/LC PLL のインスタンス化で以下のパラメーターを設定 (altera_xcvr_atx_pll_a10)

    .rcfg_jtag_enable (1)

    .dbg_embedded_debug_enable (1)

    .dbg_capability_reg_enable (1)

    .dbg_stat_soft_logic_enable (1)

    .dbg_ctrl_soft_logic_enable (1)

    6. リコンフィグレーション・クロックを配線し、同じインスタンス化用にリセットします。

    .reconfig_clk1 (reconfig_clk0)

    .reconfig_reset1 (reconfig_reset0)

    7. lcpll_g3xn.v ファイルを保存して閉じます。

     

    Arria 10 fPLL IP コア

    8. テキスト・エディターで 「fpll_g3.v」ファイルを開きます。

    9. fPLL in altera_xcvr_fpll_a10で次のパラメーターを設定します。

    .rcfg_jtag_enable (1)

    .dbg_embedded_debug_enable (1)

    .dbg_capability_reg_enable (1)

    .dbg_stat_soft_logic_enable (1)

    .dbg_ctrl_soft_logic_enable (1)

    10. 同じインスタンス化のためにクロックを配線し直し、リセットする

    .reconfig_clk1 (reconfig_clk0)

    .reconfig_reset1 (reconfig_reset0)

    11. fpll_g3.v ファイルを保存して閉じます。

    12. Quartus® コンパイルを開始する

    13. SOF をダウンロードする

     

    システムコンソールで読み取り / 書き込み操作を登録します。

    1. Quartus® トランシーバー・ツールキットの起動とデザインの読み込み

    2. 接続されているスレーブを確認します。

    % get_service_paths スレーブ (XCVR、ATX PLL、fPLL を含むすべてのスレーブをリストします)

    3. 各スレーブインデックスの IP 情報を確認し、インデックスに関連付けられている IP を書き留める

    % marker_get_info [lindex [get_service_paths スレーブ] 0]

    % marker_get_info [lindex [get_service_paths スレーブ] 1]

    % marker_get_info [lindex [get_service_paths スレーブ] 2]

    % marker_get_info [lindex [get_service_paths スレーブ] 3]

    4. XCVR または PLL レジスターからの読み取り / 書き込み。書き込み時には、読み取り / 変更 / 書き込みを行います。 (例: ATX PLL m_counter)

    % set s [lindex [get_service_paths スレーブ] 3] # インデックス 3 は ATX PLL

    スレーブ・$s open_service %

    % set base_addr 0x0000 トランシーバー・チャネルへのアクセスに使用される数

    % set ー ー master_read_8 $s [expr $base_addr 0x109*4] 1] # ATX PLL アドレス0x109を読み取る (m_counter)

    % set 00 (expr $ret & ~ 0xf0 |(0x1 <<7)                                        # clear bit[7:4]、ビット [7] を 1 に設定

    % master_write_8 $s [expr $base_addr 0x109*4] $ret # 書き込み変更された値

    % set 0 ー [master_read_8 $s [expr $base_addr 0x109*4] 1] # 読み返しによる検証

     

    完全なレジスターアドレスと値については 、インテル Arria 10 トランシーバー・レジスター・マップを参照してください。

     

     

     

    関連製品

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

    インテル® Arria® 10 FPGA & SoC FPGA

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