System)のAXIスレーブ・インターフェースです。ユーザー回路からメイン・メモリをアクセスしたい場合にはこのような構成になります。AXI接続このとき、AXIスレーブは次の3種類から選べます。CPUとキャッシュ・コヒーレントでは、同一のユーザー回路を3種類のAXIスレーブに接続した場合、その種類によって「AXIの応答に違いはあるのか」を実験で確認してみました。計測結果ライトチャネルリードチャネル描画時間まとめAXIスレーブの応答比較3種類のAXIスレーブZynq-7000の仕様書によると、各インターフェースには次のような特徴があります。次のような画像処理システムを、ユーザー回路としてPLに実装しました。ユーザー回路の動作周波数は50MHzです。計測方法AXI応答の計測は、PL内部に実装した計測用の回路で行いました。計測内容は、リードチャネルで3種類、ライトチャネルで3種類の合わせて6種類の項目を計測しました。AXIスレーブは3種類ですが、S_AXI_HPはデータ・バス幅として32ビットまたは64ビットが選択できるので、合計4種類のAXIスレーブについて計測を行いました(AXIの32/64データ・バス幅の対応はユーザー回路側で行っています)。ライトチャネルライトAとライトBは、すべてが同じ応答でした。ライトチャネルの計測結果AとB具体的にはライトAはすべて1サイクル、またライトBはすべて0サイクルでした。ライト・コマンドとライト・データは、すべてウェイトなしでAXIインターフェースに送出されました。応答タイミングに違いがないということは、データ・バス幅を32ビットから64ビット化することで、実際に2倍のデータを同一タイミングで転送できそうです。ライト・チャネルについて、唯一違いが見られたのがライトCのレスポンス・レイテンシです。ライトチャネルの計測結果CWLAST受付からBVALIDが戻ってくるまでのサイクルは、S_AXI_ACPが5~8サイクル、S_AXH_HP64/32が9~12サイクル、S_AXI_GP32が13~16サイクルでした。リードチャネルリード・チャネルは、32ビットと64ビットのAXIで応答に違いが見られました。リードチャネルの応答Aほとんどのリード・コマンドは1サイクルで受け付けられました。S_AXI_GPやS_AXI_ACPでは2~3サイクル後のコマンド受付も計測されましたが、全体の1%以下でした。次に、リードBの計測結果です。リードチャネルの計測結果B同じデータ・バス幅のAXIスレーブは似た傾向の結果になりました。32ビットのS_AXI_HP32とS_AXI_GPは、一番低レイテンシが9~16サイクルで全体の約40%、高レイテンシの33サイクル以上が約30%という分布でした。64ビットのS_AXI_HP64とS_AXI_ACPは、1~8サイクルという低レイテンシのメモリ・リードも計測されました。最後に、リードCの計測結果です。リードチャネルの計測結果C1回のリード・コマンドの応答として帰ってくるリード・データについて、無効サイクルはほとんどの場合に0~3サイクルでした。無効サイクルについては、64ビット系システムの方が32ビットシステムよりも多いという結果でした。S_AXI_ACPは、約20%は無効サイクルが4サイクル以上でした。描画時間このユーザー回路は画像表示システムなので、描画速度の比較も行いました。描画速度の速い順に次のようになりました。S_AXI_ACPS_AXI_HP64S_AXI_GPS_AXI_HP32描画時間AXIのバス幅が32ビットと64ビットの場合を比べると、64ビットの方が20~30%高速でした。32ビット同士を比較した場合、S_AXI_HP32よりもS_AXI_GPの方がわずかに高速という興味深い結果になりました。まとめS_AXI_HPとS_AXI_ACPは、応答にもう少し違いが出ると予想していたのですが、あまり大きな違いはありませんでした。今回のユーザー回路は画像表示系なので、キャッシュ・フラッシュの頻度があまり高くありません(1/60秒に1回程度)。Zynq-7000の仕様書にも、キャッシュ・フラッシュの頻度がこの程度の場合には、あまりACPは効果的ではないと記載があるので、仕様書に記載されている通りの結果ともいえます。VのHPSに入力することができました。次に行うのは、インタラプト・ハンドラの動作確認です。当初、ベアメタルでインタラプトの動作を確認しようと考えていました。Vで、ユーザー回路からHPSにインタラプト信号を接続する手順です。ACPの実験その3前回の実験で、ACPを有効にすることができました。ACPを有効にするために必要とされている設定を個別に解除した場合、本当にACPが無効になるのかを確認しました。IPコア(wf3d)には、ZedBoard用のVivado実行サンプル環境が含まれています。ロジックアナライザの実行手順Vivadoでビルドインのロジックアナライザを使ってデバッグする場合の手順です。デバッグを行うデザインを含むVivadoのプロジェクトを用意します。ディジタル技術資料タイトルとURLをコピーしました。