qsys システム・パフォーマンスの最適化 8 qsys - intelqsys...

50
Qsys システム・パフォーマンスの最適化 8 2015.05.04 QII5V1 更新情報 フィードバック Qsys システム統合ツールで作成した Altera ® デザインで、システム・インタコネクト性能を最適 化することができます。 いずれのシステムも、その基盤はハードウェア・ブロックやコンポーネントを接続するインタコ ネクト・ロジックです。インタコネクト・ロジックの作成は、エラーが伴いがちであり、書き込 みに時間がかかり、またデザイン要件が変更された際の修正が困難です。Qsys システム統合ツ ールはこれらの問題に対処し、システム要件を満たすようにデザインされたインタコネクトを自 動的に生成し、最適化します。 Qsys は、Avalon ® AMBA ® AXI3 (バージョン 1.0)、AMBA AXI4 (バージョン 2.0)、AMBA AXI4-Lite (バージョン 2.0)、 AMBA AXI4-Stream (バージョン 1.0)、ならびに AMBA APB 3 (バ ージョン 1.0)インタフェース規格をサポートしています。 : アルテラが推奨する手法によって、 Qsys デザインのクロック周波数、スループット、ロジッ ク使用率、または消費電力を改善することができます。Qsys システムのデザインに際して、 デザイン意図に関する知識を活用し、 Qsys で可能な自動の最適化を超えたシステム・パフォ ーマンスの最適化を実現することができます。 関連情報 Avalon Interface Specifications AMBA Protocol Specifications Creating a System with Qsys Creating Qsys Components Qsys Interconnect Avalon および AXI インタフェースを使用したデザイン メモリマップド・インタフェース向けの Qsys Avalon および AXI インタコネクトは柔軟であ り、マスタとスレーブのインタフェースを接続する部分的なクロスバー・ロジックです。 Avalon ストリーミング(Avalon-ST)リンクは、ポイント・ツー・ポイントの単方向インタフェ ースで接続し、通常はデータ・ストリーム・アプリケーションで使用されます。コンポーネント の各ペアは、データ・ソースとシンク間でアービトレーション要件なしで接続されています。 Qsys はマルチプレクサ化したメモリ・マップドならびにストリーミングでの接続をサポートし ているので、1 つのデザイン内で、制御用にマルチプレクサ化ロジックを、データ向けにストリ ーミングを使用するシステムを実装することができます。 © 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 www.altera.com 101 Innovation Drive, San Jose, CA 95134

Upload: others

Post on 26-Jan-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • Qsysシステム・パフォーマンスの最適化 82015.05.04

    QII5V1 更新情報 フィードバック

    Qsysシステム統合ツールで作成した Altera®デザインで、システム・インタコネクト性能を最適化することができます。いずれのシステムも、その基盤はハードウェア・ブロックやコンポーネントを接続するインタコネクト・ロジックです。インタコネクト・ロジックの作成は、エラーが伴いがちであり、書き込みに時間がかかり、またデザイン要件が変更された際の修正が困難です。Qsysシステム統合ツールはこれらの問題に対処し、システム要件を満たすようにデザインされたインタコネクトを自動的に生成し、最適化します。Qsysは、Avalon®、AMBA® AXI3™(バージョン 1.0)、AMBA AXI4™(バージョン 2.0)、AMBAAXI4-Lite™(バージョン 2.0)、AMBA AXI4-Stream(バージョン 1.0)、ならびに AMBA APB™3(バージョン 1.0)インタフェース規格をサポートしています。注: アルテラが推奨する手法によって、Qsysデザインのクロック周波数、スループット、ロジック使用率、または消費電力を改善することができます。Qsysシステムのデザインに際して、デザイン意図に関する知識を活用し、Qsysで可能な自動の最適化を超えたシステム・パフォーマンスの最適化を実現することができます。

    関連情報• Avalon Interface Specifications• AMBA Protocol Specifications• Creating a System with Qsys• Creating Qsys Components• Qsys Interconnect

    Avalonおよび AXIインタフェースを使用したデザインメモリマップド・インタフェース向けの Qsysの Avalonおよび AXIインタコネクトは柔軟であり、マスタとスレーブのインタフェースを接続する部分的なクロスバー・ロジックです。Avalonストリーミング(Avalon-ST)リンクは、ポイント・ツー・ポイントの単方向インタフェースで接続し、通常はデータ・ストリーム・アプリケーションで使用されます。コンポーネントの各ペアは、データ・ソースとシンク間でアービトレーション要件なしで接続されています。Qsysはマルチプレクサ化したメモリ・マップドならびにストリーミングでの接続をサポートしているので、1つのデザイン内で、制御用にマルチプレクサ化ロジックを、データ向けにストリーミングを使用するシステムを実装することができます。

    © 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos aretrademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified astrademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performanceof its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to anyproducts and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information,product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of devicespecifications before relying on any published information and before placing orders for products or services.

    ISO9001:2008 登登登

    www.altera.com101 Innovation Drive, San Jose, CA 95134

    https://www.altera.com/servlets/subscriptions/alert?id=QII5V1mailto:[email protected]?subject=(QII5V1%202015.05.04)Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82https://documentation.altera.com/#/link/nik1412467993397/nik1412467919954/ja-jphttp://infocenter.arm.com/help/topic/com.arm.doc.set.amba/index.htmlhttps://documentation.altera.com/#/link/mwh1409960181641/mwh1409958596582/ja-jphttps://documentation.altera.com/#/link/mwh1409960181641/mwh1409958777068/ja-jphttps://documentation.altera.com/#/link/mwh1409960181641/mwh1409958828732/ja-jphttp://www.altera.com/support/devices/reliability/certifications/rel-certifications.htmlhttp://www.altera.com/support/devices/reliability/certifications/rel-certifications.html

  • 関連情報Creating Qsys Components

    ストリーミング・コンポーネントのデザインストリーミング・コンポーネント・インタフェースを設計する際には、システム内の各コンポーネントの統合および通信について検討する必要があります。 一つの一般的な検討事項として、コンポーネント間でのレイテンシに対応するために、内部的なデータのバッファリングがあります。たとえば ready信号のディアサートによりコンポーネントの Avalon-ST出力またはストリーミング・データのソースがバックプレッシャされた場合には、オーバーフローを避けるために、コンポーネントは入力またはシンク・インタフェースをバックプレッシャする必要があります。FIFOを使用して、コンポーネントの出力側で内部的にバック・プレッシャすることにより、出力がバック・プレッシャされても入力ではさらにデータを受け入れることができるようになります。 FIFOに内部レイテンシに応じるスペースしかなくなった時点で、FIFO almost fullフラグを使用して、シンク・インタフェース、または入力データにバックプレッシャします。 データの供給が可能な際には、出力またはソース・インタフェースのデータ有効信号を FIFOの not emptyフラグとともに駆動します。データの供給が可能な際には、出力またはソース・インタフェースのデータ有効信号を FIFO notemptyフラグとともに駆動します。

    メモリ・マップド・コンポーネントのデザインメモリマップド・コンポーネントをデザインする際に、たとえば、ロジックからのソフトウェア・リードバックをサポートするための出力レジスタ 4つのセットといった、メモリ位置にマップされた複数のレジスタが含まれる、あらゆるコンポーネントを実装することができます。 読み出しと書き込みのメモリマップド・トランザクションを実装するコンポーネントには、アドレス・デコーダ、レジスタ・ファイル、および読み出しマルチプレクサの、3つの主要なビルディング・ブロックが必要です。デコーダは、書き込みのために 32ビットまたは 64ビットの適切なレジスタを有効にします。読み出しでは、アドレス・ビットがマルチプレクサ選択ビットを駆動します。 読み出し信号によりマルチプレクサからのデータが一度レジスタに格納され、つまりパイプライン・ステージが追加されるため、コンポーネントで高いクロック周波数を実現することができます。

    8-2 ストリーミング・コンポーネントのデザインQII5V1

    2015.05.04

    Altera Corporation Qsysシステム・パフォーマンスの最適化

    フィードバック

    https://documentation.altera.com/#/link/mwh1409960181641/mwh1409958777068/ja-jpmailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 図 8-1: スレーブ・コンポーネントのコントロールおよびステータス・レジスタ(CSR)

    write

    writedata[31:0]

    address[1:0]

    read

    readdata[31:0]

    Avalon-MMSlave Port

    EN

    D Q

    EN

    D Q

    EN

    D Q

    EN

    D Q

    EN

    Q D

    0

    2

    3

    1

    Read Multiplexer

    s

    Decode2:4

    Register File

    UserLogic

    EN

    address[1:0]

    このスレーブ・コンポーネントは、書き込みウェイト・ステート、および 1つの読み出しウェイト・ステートを有します。 あるいは、高いスループットを必要とする場合には、このコンポーネントはパイプライン読み出しもサポートしているので、読み出しおよび書き込み両方のウェイト・ステートを 0に設定し、読み出しレイテンシを 1に指定することもできます。

    システムの階層の使用階層の使用により、システムを小さなサブシステムへと細分し、これを Qsysシステムのトップレベルで接続することができます。 さらに、デザインに 1つの、または複数の同一の機能ユニットが含まれている場合には、機能ユニットをサブシステムとして定義することができ、またトップレベル内に複数回インスタンス化することができます。階層により、メモリ・マップド・システムで各マスタに接続されたスレーブの検証の制御を単純にすることができます。 デザインへサブシステムを実装する前には、次のガイドラインを使用してトップレベルのシステム階層ブロックをプランニングします。

    QII5V12015.05.04 システムの階層の使用 8-3

    Qsysシステム・パフォーマンスの最適化 Altera Corporation

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • • 共有リソースをプランニングする—システム階層内で共有リソースに最適な位置を決定します。たとえば、2つのサブシステムがリソースを共有する場合には、リソースを使用するコンポーネントを上位レベルのシステムに追加して、アクセスを容易にします。

    • サブシステム間のアドレス・スペース共有をプランニングする—アドレス・スペースのプランニングにより、サブシステム間のブリッジを適切なサイズに設定できるようになります。

    • システムに追加するレイテンシの量をプランニングする—サブシステム間へパイプライン・ブリッジを追加すると、システム全体にレイテンシが追加されることがあります。0サイクルのレイテンシでパイプライン・ブリッジをパラメータ化することによって、追加のレイテンシを削減することができます。

    図 8-2: サブシステム間でのメッセージのパッシング

    Nios IIProcessor

    M M

    Nios IIProcessor

    M M

    PIO

    S

    On-ChipMemory

    S

    Mutex

    S

    UART

    S

    On-ChipMemory

    S

    SharedMemory

    S

    UART

    S

    PIO

    S

    Arbiter Arbiter ArbiterArbiter

    Top-Level System

    Subsystem Subsystem

    Pipeline Bridges

    Shared Resources for Message Passing

    この例では、Nios IIプロセッサのサブシステム 2つがメッセージ・パッシングのためのリソースを共有しています。 それぞれのサブシステムのブリッジが Nios IIのデータ・マスタから、ミューテックス(mutex、相互排他コンポーネント)、および共有メモリ・コンポーネント(他のオンチップ RAM、もしくはオフチップ RAMデバイスのコントローラなど)を含むトップレベル・システムにエクスポートします。

    8-4 システムの階層の使用QII5V1

    2015.05.04

    Altera Corporation Qsysシステム・パフォーマンスの最適化

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 図 8-3: マルチ・チャネル・システム

    Channel 1 SystemInput Data Stream Output Data Stream

    Channel 2 SystemInput Data Stream Output Data Stream

    Channel N SystemInput Data Stream Output Data Stream

    Nios IIProcessor

    M M

    Input DataStream

    S

    On-ChipMemory

    S

    Input DataStream

    S

    Arbiter

    同じサブシステムを各チャネルにインスタンス化することにより、複数のデータ・チャネルを処理するシステムをデザインすることもできます。 このアプローチは大きな非階層的システムよりも容易に維持することができます。 加えてこのようなシステムは、必要なリソースをサブシステム要件の倍数として計算することが可能であるために、調整が容易です。

    QII5V12015.05.04 システムの階層の使用 8-5

    Qsysシステム・パフォーマンスの最適化 Altera Corporation

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • メモリ・マップド・システムでの同時処理の使用Qsysインタコネクトは FPGAのパラレル・ハードウェアを使用しており、これによりシステムへの同時処理の設計、および複数のトランザクションの同時処理が可能になります。

    複数のマスタによる同時処理の実装同時処理を実装するには、Qsysシステムに複数のマスタが必要です。 プロセッサを含むシステムは、プロセッサが命令およびデータのマスタを別個に含んでいるために、少なくとも 2つのマスタ・インタフェースを含みます。 マスタ・コンポーネントは以下のように分類することができます。• Nios IIプロセッサなどの汎用プロセッサ• ダイレクト・メモリ・アクセス(DMA)エンジン• PCI Expressなどの通信インタフェースQsysはスレーブ側にアービタとインタコネクトを生成するので、システム内の全てのマスタ・インタフェースは、同一のスレーブに転送をポストしない限り、同時処理で転送を発行できます。同時処理は、スレーブ・インタフェースを共有するマスタ・インタフェースの数によって限定されます。デザインがより高いデータ・スループットを必要とする場合、同時に発生する転送の数を増やすためにマスタとスレーブのインタフェースの数を増やすことができます。以下の例に 3つのマスタ・インタフェースを備えたシステムを示します。

    8-6 メモリ・マップド・システムでの同時処理の使用QII5V1

    2015.05.04

    Altera Corporation Qsysシステム・パフォーマンスの最適化

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 図 8-4: Avalon での複数マスタによるパラレルのアクセス

    この Avalonの例では、DMAエンジンは Avalon-MMの読み出しマスタと書き込みマスタで動作しています。しかし、AXI規格では、マスタの読み出しおよび書き込みチャネルが独立しておりトランザクションを同時に処理することができるので、AXIの DMAインタフェースは通常 1つのマスタしか備えていません。黄色の線は、同時にアクティブである接続を表します。

    A va lon M as te r P ort

    A va lon S lave P ort

    M

    Dual-Port On-ChipMemory

    S

    External MemoryController

    External MemoryController

    Concurrent Access Possible

    N ios II P rocessor

    AXI DMAEngine

    M MMM

    PCI ExpressInterface

    MS

    Arbiter Arbiter

    S S S S

    QII5V12015.05.04 複数のマスタによる同時処理の実装 8-7

    Qsysシステム・パフォーマンスの最適化 Altera Corporation

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 図 8-5: AXIでの複数マスタによるパラレルのアクセス

    この例では、AXIはマスタの読み出しおよび書き込みチャネルが独立しておりトランザクションを同時に処理することができるので、DMAエンジンがひとつのマスタで動作しています。 読み出しおよび書き込みチャネル間に同時処理があり、黄色い線は同時処理データ・バスを表しています。

    Avalon Master PortM

    Dual-Port On-ChipMemory

    Avalon Slave PortS

    External MemoryController

    External MemoryController

    Nios II Processor

    DMAEngine

    M MM

    PCI ExpressInterface

    MS

    Arbiter Arbiter

    S S S S

    Concurrent Access Possible

    Read Write

    複数のスレーブによる同時処理の実装特定の機能用の複数のスレーブ・インタフェースを作成することにより、デザインの同時処理を増やすことができます。

    8-8 複数のスレーブによる同時処理の実装QII5V1

    2015.05.04

    Altera Corporation Qsysシステム・パフォーマンスの最適化

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 図 8-6: 1つのインタフェース 対 複数のインタフェース

    Host 2

    Host 1

    M

    Host 3

    Host 4

    M

    S

    M

    M

    Arbiter

    ComputeEngine 1

    Channel Processor

    Data Channel 4

    Data Channel 3

    Data Channel 2

    Data Channel 1

    Single Channel Access

    Multiple Channel Access

    ComputeEngine 2

    ComputeEngine 3

    ComputeEngine 4

    S ComputeEngine 1

    Channel Processor

    Data Channel 4

    Data Channel 3

    Data Channel 2

    Data Channel 1

    ComputeEngine 2

    ComputeEngine 3

    ComputeEngine 4

    S

    S

    S

    Host 2

    Host 1

    M

    Host 3

    Host 4

    M

    M

    M

    この例には、2つのチャネル処理システムがあります。 最初の例では、4つのホストがチャネル・プロセッサの 1つのスレーブ・インタフェースに対してアービトレーションする必要があります。 2番目の例では、各ホストが専用のスレーブ・インタフェースを駆動しているので、すべてのマスタ・インタフェースはコンポーネントのスレーブ・インタフェースに同時にアクセスすることができます。 1つのホストに 1つのスレーブ・インタフェースがあれば、アービトレーションは必要ありません。

    QII5V12015.05.04 複数のスレーブによる同時処理の実装 8-9

    Qsysシステム・パフォーマンスの最適化 Altera Corporation

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • DMAエンジンによる同時処理の実装システムによっては、DMAエンジンを使用してスループットを向上することができます。 インタフェース間でのデータ・ブロックの転送に DMAエンジンを使用することで、CPUをこのタスクから解放します。 DMAエンジンは、プログラミングされた開始アドレスと終了アドレスとの間で干渉されること無くデータを転送し、また、データ・スループットは DMAに接続されているコンポーネントによって規定されます。 データ・スループットに影響を与える要因としては、データ幅やクロック周波数があります。

    図 8-7: 1つの DMAチャネルと 2つの DMAチャネル

    Single DMA Channel

    DMAEngine

    MM

    Read Buffer 2

    S

    Read Buffer 1

    S

    Write Buffer 1

    S

    Write Buffer 2

    S

    Maximum of One Read & One Write Per Clock Cycle

    DMAEngine 1

    MM

    Write Buffer 1

    S

    Read Buffer 1

    S

    DMAEngine 2

    MM

    Write Buffer 2

    S

    Read Buffer 2

    S

    Dual DMA ChannelsMaximum of two Reads & Two Writes Per Clock Cycle

    8-10 DMAエンジンによる同時処理の実装QII5V1

    2015.05.04

    Altera Corporation Qsysシステム・パフォーマンスの最適化

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • この例は、システムがより多くの DMAエンジンを含むことにより、より多くの同時処理読み出しおよび書き込み動作を保持できることを示しています。下側の図「2つの DMAチャネル」で示すように、トップ・システムでの読み出しおよび書き込みバッファへのアクセスは、2つのDMAエンジンに分割されます。DMAエンジンは Avalon-MMの読み出しマスタと書き込みマスタで動作します。 AXIでは、マスタの読み出しおよび書き込みチャネルが独立しておりトランザクションを同時に処理することができるので、AXIの DMAは通常 1つのマスタしか備えていません。

    システムの周波数を向上するためのパイプライン・ステージの挿入Qsysは、シテムの生成時に自動的に Qsysインタコネクトにパイプライン・ステージを追加するための Limit interconnect pipeline stages toオプションを、Project Settingsタブで提供しています。0~4のパイプライン・ステージを指定することができ、0であればインタコネクトが組み合わせデータ・パスを有することを意味します。各サブシステムにそれぞれ固有のインタコネクト・パイプライン・ステージの値を指定できます。パイプライン・ステージを加えることにより、レイテンシやロジック使用率を追加しながらも、組み合わせロジックの段数を減少させることによりデザインの fMAXが向上できる可能性があります。パイプライン・ステージの挿入には、特定のインタコネクト・コンポーネントが必要です。たとえば、システムのスレーブ・インタフェースが単独であれば、マルチプレクサがありませんので、マルチプレクサ・パイプラインは生じません。Avalonまたは AXIの単独のマスタから単独のスレーブへのシステムの場合にも、Limit interconnect pipeline stages toのパラメータにかかわりなくパイプラインは生じません。関連情報Creating a System with Qsys

    ブリッジの使用ブリッジを使用して、システム周波数の向上、生成される Qsysロジックの最小化、アダプタ・ロジックの最小化に加え、Qsysがパイプラインを追加する位置をコントロールする必要がある場合にシステム・トポロジーを構築することも可能です。システムに同時処理があれば、ブリッジをアービタとともに使用できます。Avalonブリッジは Avalon-MMスレーブ・インタフェースと Avalon-MMマスタ・インタフェースを有します。ですので、ブリッジのスレーブ・インタフェースに接続された多数のコンポーネントや、ブリッジのマスタ・インタフェースに接続された多数のコンポーネントを有することができます。また、1つのブリッジのスレーブまたはマスタ・インタフェースに接続された 1つのコンポーネントを有することもできます。ブリッジのデータ幅を設定することができ、これにより Qsysがバス・サイジング・ロジックをどのようにインタコネクトに生成するかが左右されます。どちらのインタフェースも可変レイテンシを伴う Avalon-MMパイプライン転送をサポートしており、設定可能なバースト長もサポートできます。

    QII5V12015.05.04 システムの周波数を向上するためのパイプライン・ステージの挿入 8-11

    Qsysシステム・パフォーマンスの最適化 Altera Corporation

    フィードバック

    https://documentation.altera.com/#/link/mwh1409960181641/mwh1409958596582/ja-jpmailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • インタコネクトのパイプラインに対するコントロールの強化が必要な場合、Limit InterconnectPipeline Stages toオプションの代わりにブリッジを使用します。ブリッジ・スレーブ・インタフェースへの転送は、マスタ・インタフェースに伝播され、これはブリッジからダウンストリームのコンポーネントへと接続されます。注: Avalonブリッジは、AXIインタフェース間、および Avalonドメイン間で使用することができます。Qsysは AXIあるいは Avalonのインタフェース間に自動的にインタコネクト・ロジックを作成するので、これらのドメイン間にブリッジを明確にインスタンス化する必要はありません。ドメインの共有もしくは分離のメリットとデメリットについて、詳しくは、QsysInterconnectの章を参照してください。

    関連情報• Creating a System with Qsys• Qsys Interconnect

    システムの周波数を向上するためのブリッジの使用システムのクロック周波数を向上するために、インタコネクト・パイプライン・ステージ、またはパイプライン・ブリッジを Qsysに導入することができます。ブリッジにより、システム・インタコネクト・トポロジーを制御し、インタコネクトの細分化を可能にし、パイプラインおよびクロック・クロッシング機能の制御を強化できるようになります。

    パイプライン・ブリッジの挿入Avalon-MMパイプライン・ブリッジを挿入することで、ブリッジおよびそのマスタとスレーブとの間のパスにレジスタを挿入することができます。 インタコネクトでレジスタからレジスタへのクリティカルな遅延が発生する場合、パイプライン・ブリッジはこの遅延を軽減し、システムの fMAXを向上させることができます。すべての Qsysシステムに Avalon-MMパイプライン・ブリッジのコンポーネントを統合することができます。 パイプライン・ブリッジ・オプションは、ロジック使用率および読み出しレイテンシを増加させます。 複数のマスタがブリッジでアービトレーションする場合、トポロジーの変更によって同時処理を削減できることがあります。 Avalon-MMパイプライン・ブリッジを使用すると、パイプライン・ステージを追加することなくトポロジーを制御することができます。パイプライン・ステージを追加しないパイプライン・ブリッジは、遅延にセンシティブなアプリケーションに最適です。 たとえば、メモリにアクセスする際のレイテンシを最小限にできることは CPUに対して利点があります。

    8-12 システムの周波数を向上するためのブリッジの使用QII5V1

    2015.05.04

    Altera Corporation Qsysシステム・パフォーマンスの最適化

    フィードバック

    https://documentation.altera.com/#/link/mwh1409960181641/mwh1409958596582/ja-jphttps://documentation.altera.com/#/link/mwh1409960181641/mwh1409958828732/ja-jpmailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 図 8-8: Avalon-MMパイプライン・ブリッジ

    D Q

    MasterI/F

    Wait Request Logic

    Avalon-MM Pipeline Bridge

    Master-to-SlaveSignals

    waitrequest

    Slave-to-MasterSignals

    Master-to-SlaveSignals

    waitrequest

    Slave-to-MasterSignals

    Slave-to-MasterPipeline

    ENA

    Master-to-SlavePipeline

    waitrequestPipeline

    Connects to anAvalon-MMMaster Interface

    Connects to anAvalon-MM

    Slave Interface

    SlaveI/F

    D Q

    D Q

    命令パイプラインの実装(マスタからスレーブへ)複数のマスタが 1つのスレーブ・デバイスを共有する場合には、パフォーマンスを向上させるために命令パイプラインを使用します。スレーブ・インタフェースへのアービトレーション・ロジックは、address、writedata、およびburstcount信号をマルチプレクサ化する必要があります。 マルチプレクサ幅は 1つのスレーブ・インタフェースに接続するマスタの数に比例して増加します。 この増加したマルチプレクサ幅が、システムでタイミングのクリティカル・パスになる可能性があります。 1つのパイプライン・ブリッジで十分なパイプライン化を提供できない場合には、パイプライン化の規模を拡大するため、およびスレーブ・インタフェースでのマルチプレクサの幅をさらに縮小するために、ブリッジのインスタンスをツリー構造で複数インスタンス化します。

    QII5V12015.05.04 命令パイプラインの実装(マスタからスレーブへ) 8-13

    Qsysシステム・パフォーマンスの最適化 Altera Corporation

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 図 8-9: ブリッジのツリー

    Master 1

    M

    Master 2

    M

    M

    S

    Pipeline Bridge

    Master 3

    M

    Master 4

    M

    M

    S

    Pipeline Bridge

    arb

    arb arb

    Write Data &Control Signals

    Read Data

    SharedSlave

    S

    応答パイプラインの実装(スレーブからマスタへ)マスタが、読み出し転送をサポートする複数のスレーブに接続する場合に、スレーブからマスタへのパイプラインの使用により性能を向上させことができます。インタコネクトは、マスタに返す全ての読み出しデータ・パスにマルチプレクサを挿入します。マスタ・インタフェースに接続している、読み出し転送をサポートするスレーブの数が増加すれば、読み出しデータ・マルチプレクサの幅も増加します。 1つのブリッジでパフォーマンスの向

    8-14 応答パイプラインの実装(スレーブからマスタへ)QII5V1

    2015.05.04

    Altera Corporation Qsysシステム・パフォーマンスの最適化

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 上が十分ではない場合には、fMAXを向上させるために、複数のブリッジをツリー構造で使用することができます。

    クロック・クロッシング・ブリッジの使用クロック・クロッシング・ブリッジはクロック・クロッシング FIFOのペアを含み、これがマスタとスレーブのインタフェースを別個の非同期クロック・ドメインに分離します。 スレーブ・インタフェースへの転送は、マスタ・インタフェースに伝播されます。FIFOクロック・クロッシング・ブリッジをクロック・ドメイン・クロッシングに使用する際には、データ・バッファリングを追加します。 バッファリングにより、ブリッジのダウンストリームのスレーブがパイプライン転送をサポートしていない場合でも、パイプライン読み出しマスタはブリッジに複数の読み出しをポストすることができます。また、クロック・クロッシング・ブリッジを使用することにより、周波数の高いコンポーネントと周波数の低いコンポーネントを異なるクロック・ドメインに配置することができます。 高速クロック・ドメインを、高いパフォーマンスが必要な部分のデザインだけに限定すると、デザインのその部分でより高い fMAXを得られる場合があります。 たとえば、エンベデッド・デザインで、プロセッサ・ペリフェラルの多くは高い周波数で動作する必要がありません。したがって、これらのコンポーネントに高い周波数のクロックを使用する必要はありません。 デザインをQuartus IIソフトウェアでコンパイルする際に、クロック周波数の要件を満たすことが困難であれば、Fitterが必要な fMAXを得るためのレジスタの配置により多くの時間を必要とするために、コンパイルにより多くの時間がかかります。 低い優先順位および低いパフォーマンスのコンポーネントに対して Fitterが消耗するエフォートを削減するために、これらのコンポーネントを低い周波数で動作するクロック・クロッシング・ブリッジの後段に配置することにより、より高い優先順位および より高い周波数のデータ・パスに対する Fitterのエフォートを向上することができます。

    デザイン・ロジックを最小化するためのブリッジの使用アービトレーションの量および Qsysが生成するマルチプレクサ・ロジックの量をブリッジによって削減することにより、インタコネクト・ロジックを削減することができます。 この削減は、ブリッジが同時処理で発生する転送の数を制限するために生じます。

    ロジックを増加させるスピード最適化の回避マスタとスレーブの間にパイプライン・ステージとパイプライン・ブリッジを追加することで、レジスタ間の組み合わせロジックの量を削減し、これによりシステムのパフォーマンスを向上することができます。 デザイン・ロジックの fMAXを向上できる場合に、Quartus IIソフトウェアの Perform register duplicationセッティングのような最適化セッティングをオフにできる可能性があります。 register duplicationは、レジスタからレジスタへの遅延を削減するために FPGAの2つ以上の物理的な位置に複製レジスタを作成します。 最適化の方法として Speedを選択する必要を感じるかもしれませんが、多くの場合これはロジックの複製による高いロジック使用率をもたらします。 ブリッジで使用可能なレジスタや FIFOを活用することにより、デザインの速度を向上でき、また不必要なロジックの複製および Speedによる最適化を回避することが可能であり、それによりデザインのロジック使用率を削減することができます。

    同時処理の制限Qsysは複数のマスタ・インタフェースにより共有されるすべてのスレーブ・インタフェースにアービトレーション・ロジックを作成するので、インタコネクト用に生成されるロジックの量は

    QII5V12015.05.04 クロック・クロッシング・ブリッジの使用 8-15

    Qsysシステム・パフォーマンスの最適化 Altera Corporation

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 多くの場合システムが大きくなるにつれて増加します。 複数のスレーブ・インタフェース、およびそれに接続しているマスタ・インタフェース双方が読み出しデータ・パスをサポートしている場合、Qsysはこれらのマスタ・インタフェース間にマルチプレクサ・ロジックを挿入します。ほとんどのエンベデッド・プロセッサのデザインは、高いデータ・スループットをサポートできないコンポーネント、もしくは頻繁にアクセスする必要がないコンポーネントを含みます。 これらのコンポーネントが、マスタまたはスレーブ・インタフェースを有していることがあります。 インタコネクトが同時処理アクセスをサポートしているので、生成されるアービトレーションおよびマルチプレクサ・ロジックの量を制限するために、データ・パスへブリッジを挿入することにより同時処理を制限する必要がある場合があります。たとえばシステムが、相互に接続している 3つのマスタと 3つのスレーブのインタフェースを含んでいる場合に、Qsysは 3つのアービタと 3つのマルチプレクサを読み出しデータ・パスに生成します。 これらのマスタが同時に大量のスループットを必要としないのであれば、3つのマスタをパイプライン・ブリッジに接続することによりデザインが消耗するリソースを削減できます。 ブリッジは 3つのスレーブ・インタフェースを制御し、インタコネクトをバス構造へと縮小します。 Qsysは、ブリッジと 3つのマスタの間に 1つのアービトレーション・ブロックを、ブリッジと 3つのスレーブの間に 1つの読み出しデータ・パス・マルチプレクサを作成し、同時処理を防止します。 この実装は、標準的なバス・アーキテクチャと類似しています。システム全体のパフォーマンスを制限しないために、高いスループットのデータ・パスに対してはこの手法の使用を避ける必要があります。

    8-16 同時処理の制限QII5V1

    2015.05.04

    Altera Corporation Qsysシステム・パフォーマンスの最適化

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 図 8-10: パイプライン・ブリッジを用いるシステムと用いないシステムの違い

    S S S

    Arbiter Arbiter Arbiter

    SSS

    M

    Bridge

    S

    Arbiter

    M M M M MM M

    Write Data & Control SignalsRead Data

    Concurrency No Concurrency

    アダプタ・ロジックを最小化するためのブリッジの使用マスタおよびスレーブ・インタフェースのペアのクロック・ドメイン、幅、またはバースト機能に不一致がある場合に、Qsysは、クロック・クロッシング、バス幅変換、およびバースト・サポートのためのアダプタ・ロジックを生成します。マスタの最大バースト長が、スレーブのマスタ・バースト長よりも大きい場合に、Qsysはバースト・アダプタを作成します。 アダプタ・ロジックは余分なロジック・リソースを作成し、これは、システムが同一特性を共有できない多数のコンポーネントに接続したマスタ・インタフェースを含む場合に、相当な量になります。 デザインにブリッジを配置することにより、Qsysの生成するアダプタ・ロジックの量を削減することができます。

    QII5V12015.05.04 アダプタ・ロジックを最小化するためのブリッジの使用 8-17

    Qsysシステム・パフォーマンスの最適化 Altera Corporation

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • ブリッジの効果的な配置の決定ブリッジの効果的な配置を決定するために、最初にシステムの各マスタを解析し、接続されているスレーブ・デバイスが異なるバースト能力をサポートしていないか、または異なったクロック・ドメインで動作しないかを確認します。 コンポーネントの最大バーストカウントは、コンポーネントの HDLファイルに burstcount信号として表記されています。 最大バースト長は 2(width(burstcount -1))なので、burstcount幅が 4ビットの場合、最大 burstcountは 8になります。burstcount信号が存在しない場合、コンポーネントはバーストをサポートしていないか、または 1のバースト長を備えています。マスタとスレーブのインタフェース間にシステムがクロック・クロッシング・アダプタを必要とするかを判別するには、マスタおよびスレーブ・インタフェースの Clockカラムをチェックします。 マスタとスレーブのインタフェースのクロックが異なる場合には、Qsysはこれらの間にクロック・クロッシング・アダプタを挿入します。 複数のアダプタの作成を避けるために、スレーブ・インタフェースを持つコンポーネントをブリッジの後段に配置して、Qsysがアダプタを1つだけ作成するようにします。 同一のバーストまたはクロック特性を持つ複数のコンポーネントをブリッジの後段へ配置することにより、同時処理とアダプタの数を制限します。また、ブリッジを使用して AXIと Avalonのドメインを分離することによっても、バースト・アダプタ・ロジックを縮小することができます。 たとえば、AXIマスタに接続されている複数のAvalonスレーブがある場合には、ブリッジを挿入し、各スレーブごとに一度ではなく、ブリッジの手前で一度、アダプタ・ロジックにアクセスすることを検討します。 これはレイテンシをもたらしますが、読み出しと書き込みとの間の同時処理も削減します。

    応答バッファ段数の変更自動のクロック・クロッシング・アダプタを使用する際に、Qsysは、スレーブの特性に基づいて FIFOバッファリングに必要な段数を決定します。 スレーブのMaximum Pending Readsパラメータが高ければ、結果として Qsysがマスタとスレーブとの間に挿入する応答バッファ FIFOの段数が増え、デバイス・リソースを大量に消費します。 応答 FIFOの段数をコントロールするためにクロック・クロッシング・ブリッジを使用し、また、手動で FIFOの段数を調整することにより、スループットをトレードオフしてメモリ使用率を縮小します。たとえば、有しているマスタがスレーブをいっぱいにまで満たすことができない場合には、応答バッファの必要がありません。ブリッジを使用することで FIFOメモリの段数を削減し、またスレーブからのMaximum Pending Readsを削減します。

    ブリッジを使用する効果を検討するデザインにパイプラインまたはクロック・クロッシング・ブリッジを使用する前に、その影響について十分に考慮する必要があります。 ブリッジは、デザインで利点にも欠点にもなりうる影響を複合的に伴います。 ブリッジを挿入する前と後でシステムをベンチマークすることが、デザインへの影響の判断に役立ちます。

    レイテンシの増加デザインへのブリッジの追加は、マスタとスレーブの間の読み出しレイテンシに影響します。システム要件およびマスタとスレーブのタイプにより、このレイテンシの増加をデザインが許容できる場合と許容できない場合があります。

    8-18 ブリッジの効果的な配置の決定QII5V1

    2015.05.04

    Altera Corporation Qsysシステム・パフォーマンスの最適化

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 許容できるレイテンシの増加

    パイプライン・ブリッジでは、イネーブルされた各パイプライン・オプションに対して Qsysが1サイクルのレイテンシを追加します。 クロック・クロッシング・ブリッジでのバッファリングもレイテンシを追加します。 多数の読み出し転送をポストするパイプライン・マスタもしくはバースト・マスタを使用する場合には、データ転送の長さと比較してレイテンシの増加はとても小さいので、このレイテンシの増加はパフォーマンスに深刻に影響しません。たとえば、DMAコントローラのようなパイプライン読み出しマスタを使用して、読み出しレイテンシが 4クロック・サイクルに固定されたコンポーネントからデータを読み出す場合に、しかし行うワード転送は 1つのみとすると、オーバーヘッドは合計 4クロック・サイクルのうちの 3クロック・サイクルです。ここではインタコネクトに追加のパイプライン・レイテンシがないと仮定しています。読み出しスループットはわずか 25%です。

    図 8-11: 低い効率の読み出し転送

    clk

    address

    read

    waitrequest

    readdata

    A0 A1

    D0 D1

    Overhead

    Read Latency

    Overhead

    Read Latency

    一方、100ワードのデータが中断することなく転送される場合には、オーバーヘッドは合計 103クロック・サイクルのうちの 3サイクルです。 インタコネクトに追加のパイプライン・レイテンシがないとすると、これは約 97%の読み出し効率に相当します。 この読み出しパスにパイプライン・ブリッジを追加すると、2クロック・サイクルの余分なレイテンシが追加されます。 転送を完了するために 105サイクルが必要になり、これは約 94%の効率に相当します。 効率は3%減少しますが、ブリッジの追加により fMAXを 5%向上できます。たとえばクロック周波数が向上できれば、全体のスループットが改善されます。 転送されるワード数が向上するため、パイプライン・ブリッジの有無にかかわらず効率は 100%近くまで向上します。

    QII5V12015.05.04 許容できるレイテンシの増加 8-19

    Qsysシステム・パフォーマンスの最適化 Altera Corporation

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 図 8-12: 高い効率の読み出し転送

    clk

    address

    read

    waitrequest

    readdatavalid

    readdata

    A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12

    D0 D1 D2 D3 D4 D5 D6 D7 D8

    Overhead

    Read Latency

    許容できないレイテンシの増加

    プロセッサは高レイテンシの読み出し時間に対してセンシティブであり、また多くの場合、データが到着するまで処理をすることができない計算に使用するためのデータの取得をします。 プロセッサ命令のデータ・パス、またはデータ・マスタにブリッジを追加する前に、クロック周波数の向上がレイテンシを増加させる正当な理由になるかどうかを判断します。Nios IIプロセッサの命令マスタは、読み出しレイテンシが 4サイクルのキャッシュ・メモリを有しており、これは各読み出しに 8連続したワードのデータを返します。 100 MHzでは、1つめの読み出しが完了するまでに 40 nsを要します。 連続したワードがそれぞれ 10 nsを要するために、8つの読み出しは 110 nsで完了します。

    図 8-13: 100 MHzで動作する Nios IIプロセッサとメモリのパフォーマンス

    clk

    address

    read

    waitrequest

    readdatavalid

    readdata

    A0 A1 A2 A3 A4 A5 A6 A7

    D0 D1 D2 D3 D4 D5 D6 D7

    40 ns

    110 ns

    クロック・クロッシング・ブリッジの追加により、メモリは 125 MHzでの動作が可能になります。 しかし、この周波数の向上はレイテンシの増加によって打ち消されます。これは、クロック・クロッシング・ブリッジが 100 MHzで 6クロック・サイクルのレイテンシを追加した場合に、引き続きメモリが 4クロック・サイクルの読み出しレイテンシで動作するためです。 その結果、メモリからの 1つめの読み出しは 100 nsを要し、連続したワードはそれぞれ 10 nsを要し

    8-20 許容できないレイテンシの増加QII5V1

    2015.05.04

    Altera Corporation Qsysシステム・パフォーマンスの最適化

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • ます。読み出しがプロセッサの周波数である 100 MHzで到着するためです。 8つの読み出しは合計で 170 ns後に完了します。 メモリが高いクロック周波数で動作するにもかかわらず、マスタが動作する周波数がスループットを制限します。

    図 8-14: 10サイクルのレイテンシでの Nios IIプロセッサのパフォーマンスおよび 8つの読み出し

    clk

    address

    read

    waitrequest

    readdatavalid

    readdata

    A0 A1 A2 A3 A4 A5 A6 A7

    D0 D1 D2 D3 D4 D5 D6 D7

    100 ns

    170 ns

    同時処理の制限複数のマスタおよびスレーブ・インタフェース間へのブリッジの配置は、システムが開始可能な同時処理転送の数を制限します。 この制限は、複数のマスタ・インタフェースを 1つのスレーブ・インタフェースに接続した場合と同じです。 ブリッジのスレーブ・インタフェースはすべてのマスタに共有され、その結果として Qsysがアービトレーション・ロジックを作成します。ブリッジの後段に配置したコンポーネントへのアクセスが頻繁ではない場合には、この同時処理の制限を許容することができます。ブリッジを不適切に使用した場合に、ブリッジがシステムのパフォーマンスに悪影響を及すことがあります。 たとえば、複数のメモリがいくつかのマスタによって使用されている場合には、メモリ・コンポーネントをブリッジの後段に配置するべきではありません。 ブリッジがメモリ・アクセスの同時処理を妨げ、メモリのパフォーマンスを制限します。 ブリッジの後段へ複数のメモリ・コンポーネントを配置することにより、ブリッジにアクセスするマスタに対して、個々のスレーブ・インタフェースが 1つの大きなメモリと同様になり、つまり全てのマスタが必ず同じスレーブ・インタフェースにアクセスしなければならなくなります。

    QII5V12015.05.04 同時処理の制限 8-21

    Qsysシステム・パフォーマンスの最適化 Altera Corporation

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 図 8-15: 階層システムでのブリッジの不適切な使用

    Nios II Processor

    M M

    M

    DMA

    M M

    DDRSDRAM

    S

    DDRSDRAM

    S

    DDRSDRAM

    S

    Bridge

    S

    BottleneckArbiter

    DDRSDRAM

    S

    Qsys Subsystem

    メモリ・サブシステムで、Nios IIと DMAの Avalon-MMマスタに対して 1つのスレーブ・インタフェースのように振舞う 1つのブリッジが、結果的にボトルネック・アーキテクチャとなります。 ブリッジが 2つのマスタとメモリとの間でボトルネックとして作用しています。メモリ・インタフェースの fMAXが低く、サブシステム間でパイプライン・ブリッジを使用する必要がある場合には、各メモリをそれぞれ固有のブリッジの背後に配置することにより、同時処理を犠牲にすることなくシステムの fMAXを向上させることができます。

    8-22 同時処理の制限QII5V1

    2015.05.04

    Altera Corporation Qsysシステム・パフォーマンスの最適化

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 図 8-16: 階層システムでのボトルネックを伴わない効率的なメモリ・パイプライン

    Nios II Processor

    M M

    DMA

    M M

    DDRSDRAM

    S

    M

    Bridge

    S

    Arbiter

    DDRSDRAM

    S

    M

    Bridge

    S

    Arbiter

    DDRSDRAM

    S

    M

    Bridge

    S

    Arbiter

    DDRSDRAM

    S

    M

    Bridge

    S

    Arbiter

    Subsystem

    Subsystem

    アドレス・スペース変換パイプラインまたはクロック・クロッシング・ブリッジのスレーブ・インタフェースは、ベース・アドレスとアドレス・スパンを有しています。 ベース・アドレスはユーザーがセットすることも、Qsysに自動的にセットをさせることもできます。 スレーブ・インタフェースのアドレスは、ブリッジに接続されているすべてのコンポーネントのベース・オフセット・アドレスになります。 ブリッジに接続されたコンポーネントのアドレスは、そのベース・オフセットと、コンポーネントのアドレスの合計です。ブリッジのマスタ・インタフェースは、ブリッジのスレーブ・インタフェースのベース・アドレスからのオフセットを表すアドレス・ビットのみを駆動します。 ブリッジを介してマスタがスレーブにアクセスする際には、常に両方のアドレスを加算する必要があり、そうでなければ転送が失敗します。 Address Mapタブは、各マスタに接続されたスレーブのアドレスを表示しており、これはシステム・ブリッジによって生じるアドレス変換を含んでいます。

    QII5V12015.05.04 アドレス・スペース変換 8-23

    Qsysシステム・パフォーマンスの最適化 Altera Corporation

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • 図 8-17: ブリッジのアドレス変換

    M

    Nios II Processor

    M

    Bridge

    S

    Base = 0x1000

    0x2C 0x2C0x102C

    Address Translation

    AddressDecoderS

    Peripheral

    Base = 0x20

    0xC

    Address Translation

    この例では、Nios IIプロセッサは、ベース・アドレス 0x1000に位置するブリッジに接続しており、スレーブは 0x20のオフセットでブリッジ・マスタ・インタフェースに接続しています。また、プロセッサはスレーブ内の 4番目の 32ビットまたは 64ビット・ワードへの書き込み転送をしています。 Nios IIはインタコネクトに、ブリッジのアドレス範囲である、アドレス 0x102Cを駆動します。 ブリッジ・マスタ・インタフェースが、スレーブのアドレス範囲である 0x2Cを駆動し、転送が完了します。

    アドレスのコヒーレンシシステム・デザインをシンプルにするためには、すべてのマスタが同じ位置からスレーブへアクセスする必要があります。 多くのシステムで、プロセッサは DMAコントローラといった他のマスタリング・コンポーネントへのバッファの位置をパスします。 プロセッサと DMAコントローラが同じ位置からスレーブにアクセスしない場合には、Qsysが違いを補償する必要があります。

    図 8-18: 異なるアドレスのスレーブによるシステムの複雑化

    M

    DMA

    M

    Nios II Processor

    0x1020MS

    Bridge

    Base = 0x1000

    0x20 0x20

    0x20

    Address Translation

    AddressDecoderS

    Peripheral

    Base = 0x20

    0x0Arbiter

    Masters DriveDifferent Addresses

    8-24 アドレスのコヒーレンシQII5V1

    2015.05.04

    Altera Corporation Qsysシステム・パフォーマンスの最適化

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • Nios IIプロセッサと DMAコントローラが、アドレス 0x20に位置するスレーブ・インタフェースにアクセスしています。 プロセッサは、スレーブ・インタフェースに直接に接続しています。DMAコントローラはアドレス位置 0x1000のパイプライン・ブリッジに接続し、これがスレーブ・インタフェースに接続しています。 DMAコントローラは最初にパイプライン・ブリッジにアクセスしているので、スレーブ・インタフェースの最初の位置にアクセスするには 0x1020を駆動する必要があります。 プロセッサは別の位置からスレーブにアクセスしているために、このスレーブ・デバイス用に 2つのベース・アドレスを保持する必要があります。2つのアドレスが必要になることを回避するには、システムに追加のブリッジを加え、そのベース・アドレスを 0x1000にセットし、次に、その 2番目のブリッジのすべてのパイプライン・オプションを無効にして、ブリッジによるシステムのタイミングとリソース使用率への影響が最小限になるようにします。この 2番目のブリッジは元のブリッジと同じベース・アドレスを有するので、プロセッサと DMAコントローラが同一のアドレス範囲でスレーブ・インタフェースにアクセスします。

    図 8-19: ブリッジによるアドレス変換の修正

    M

    DMA

    M

    Nios II Processor

    0x1020MS

    Bridge

    Base = 0x1000

    0x20

    M

    Bridge

    S

    Base = 0x1000

    0x20

    0x20

    0x200x1020

    Address Translation

    Address Translation

    AddressDecoderS

    Peripheral

    Base = 0x20

    0x0Arbiter

    転送スループットの向上システムのマスタおよびスレーブ・インタフェースの転送効率を向上させると、デザインのスループットが向上します。 転送効率の向上により、低価格、低周波のデバイスを使用できるようになるため、コストまたは消費電力に厳格な要件を持つデザインに利点があります。 転送効率の向上が、周波数が制限されるハードウェアのパフォーマンスを改善するので、高い性能を必要とするデザインにも利点があります。スループットは、所定のクロック・サイクルで Qsysが転送可能なデータのシンボル(byteなど)の数です。 読み出しレイテンシは、トランザクションのアドレス位相およびデータ位相の間の

    QII5V12015.05.04 転送スループットの向上 8-25

    Qsysシステム・パフォーマンスの最適化 Altera Corporation

    フィードバック

    mailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • クロック・サイクルの数です。 たとえば 2の読み出しレイテンシは、アドレスがポストされた2サイクル後に、データが有効になることを意味します。 1つのリクエストが終了するまでマスタが次の開始を待機しなければならないプロセッサなどでは、読み出しレイテンシが全体のスループットに対して大変重要になります。スループットおよびレイテンシは、シミュレーションでの波形の観察、または検証 IPモニタの使用により測定することができます。関連情報• Avalon Verification IP Suite User Guide• Mentor® Verification IP Altera Edition AMBA AXI3/4 User Guide

    パイプライン転送の使用パイプライン転送は、先行の読み出しからのデータが返される前に、マスタが複数の読み出しをポストできるようにすることで、読み出し効率を向上させます。 パイプライン転送をサポートするマスタは連続的に転送をポストし、有効データを示す readdatavalid信号にて伝えられます。 スレーブは readdatavalid信号を含めるか、または固定の読み出しレイテンシで動作させることによって、パイプライン転送をサポートします。AXIマスタは writeIssuingCapabilityおよび readIssuingCapabilityパラメータで、未処理の書き込みと読み出しをいくつ発行することができるかを宣言します。 同様に、スレーブもreadAcceptanceCapabilityパラメータでいくつの読み出しを受け入れることができるかを宣言できます。 1より大きい読み出し発行をすることができる能力を持つ AXIマスタは、Avalonマスタの readdatavalid信号と同様の方法でパイプライン化されます。

    Maximum Pending Readsパラメータの使用可変レイテンシ読み出しをサポートするスレーブ・インタフェースを含むカスタム・コンポーネントを作成する場合には、Component EditorでMaximum Pending Readsパラメータを指定する必要があります。 Qsysは、適切なインタコネクトを生成し、パイプライン・スレーブ・コンポーネントが処理できる読み出し転送の最大数を示すために、このパラメータを使用します。 スレーブ・インタフェースに対して示された読み出し数がMaximum Pending Readsパラメータを超える場合に、スレーブ・インタフェースは waitrequestをアサートする必要があります。Maximum Pending Readsパラメータの値を最適なものにするために、カスタム・コンポーネントのレイテンシを理解している必要があります。 このパラメータは、コンポーネント内部のさまざまなロジック・パスにおけるコンポーネントの最大の読み出しレイテンシに基づいている必要があります。 たとえば、パイプライン・コンポーネントが、一方が 2クロック・サイクル、他方が 5クロック・サイクルを必要とする 2つのモードを有する場合、Maximum Pending Readsを 5にセットして、コンポーネントが 5つの転送をパイプライン化できるようにすることで、最初の 5サイクルのレイテンシの後のデッド・サイクルを解消します。また、システムのシミュレーション中あるいはハードウェアの動作中に保留されている読み出しの数をモニタリングすることによって、Maximum Pending Readsパラメータの適切な値を決定することもできます。 この手法を使用するには、このパラメータを高い値に設定し、かつ、クロック毎に読み出しリクエストを発行するマスタを使用します。 頻繁に waitrequestをアサートしない位置にデータが書き込まれている限り、このタスクに DMAを使用することができます。 この手法を適用する場合には、ロジック・アナライザまたは内蔵のモニタリング・ハードウェアを使用してコンポーネントを観察できます。

    8-26 パイプライン転送の使用QII5V1

    2015.05.04

    Altera Corporation Qsysシステム・パフォーマンスの最適化

    フィードバック

    http://www.altera.com/literature/ug/ug_avalon_verification_ip.pdf?GSA_pos=1&WT.oss_r=1&WT.oss=Avalon Verification Suite User Guidehttp://www.altera.com/literature/ug/mentor_vip_axi34_ae_usr.pdfmailto:[email protected]?subject=Qsys%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%20(QII5V1%202015.05.04)%20%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%83%BB%E3%82%AA%E3%83%B3&body=%E5%BC%8A%E7%A4%BE%E3%81%AF%E5%BE%A1%E7%A4%BE%E3%81%AE%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E4%B8%AD%E3%81%A7%E3%80%81%E3%83%9A%E3%83%BC%E3%82%B8%E7%95%AA%E5%8F%B7%E3%81%BE%E3%81%9F%E3%81%AF%E6%AE%B5%E8%90%BD%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

  • カスタム・パイプライン読み出しコンポーネントのMaximum Pending Readsパラメータへの適切な値の選択は重要です。 このパラメータ値を低く見積もると、スレーブが早期の読み出しリクエストに応答して FIFOポジションを解放するまで、マスタ・インタフェースが waitrequestによって停止状態に陥る原因となります。Maximum Pending Readsパラメータは、スレーブに接続する各マスタ向けにインタコネクトに挿入される応答 FIFOの段数をコントロールします。この FIFOはそれほど多くのハードウェア・リソースを使用しません。Maximum Pending Readsパラメータを高く見積もった結果として生じるのはハードウェア使用率のわずかな増加です。 以上の理由から、最適な値がはっきりしない場合には、この値を高めに見積もります。システムにブリッジが含まれている場合には、ブリッジのMaximum Pending Readsパラメータもセットする必要があります。 最大のスループットを可能にするために、この値は、接続しているスレーブの最高の値を有するMaximum Pending Reads値よりも高く、もしくはそれと等しくします。高いスループットが必要ない場合には、ブリッジのパラメータ値を下げることにより、スレーブのMaximum Pending Readsを制限すること、およびバッファの段数を削減することができます。 すべてのスレーブ・コンポーネントのMaximum Pending Reads値が不明な場合には、システムのシミュレーションでハードウェア動作中に保留される読み出しの数をモニタリングします。この手法を使用するには、Maximum Pending Readsパラメータを高い値にセットし、クロック毎に読み出しリクエストを発行する DMAのようなマスタを使用します。次に、ブリッジが、ブリッジにアクセスしているいずれかのマスタのパフォーマンスを減少させるまで、ブリッジのMaximum Pending Readsの数を下げてゆきます。

    アービトレーション・シェアおよびバーストアービトレーション・シェアは、アービトレーション・プロセスの制御を提供します。 デフォルトでは、アービトレーション・アルゴリズムは、すべてのマスタが 1のシェアを受け取るように均等に割り当てをします。高いスループットを必要とするマスタに より多くの数のシェアを割り当てることによって、アービトレーション・プロセスを調整することができます。 アービトレーション・シェアが大きくなるにつれ、スレーブにアクセスするマスタに より多くの転送が割り当てられます。 マスタは割り当てられたシェアの数に応じて、マスタの読み出しまたは書き込みが続く限り、中断なくスレーブにアクセスをすることができます。マスタが転送をポストすることができず、他のマスタが特定のスレーブ