qsys 10 qsys...qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15...

93
Qsys システム・デザイン・コンポーネント 10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、 Qsys システムが作成可能となります。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)インタフェース規格をサポートしています。 関連情報 Avalon Interface Specifications AMBA Protocol Specifications Creating a System with Qsys Qsys Interconnect Embedded Peripherals IP User Guide ブリッジ ブリッジは、Qsys によるコンポーネント間のデータ転送に影響します。Qsys システムのトポロ ジーを制御するためにマスタ・インタフェースとスレーブ・インタフェースの間にブリッジを挿 入し、Qsys が生成するインタコネクトに影響を与えることができます。また、ブリッジを使用 することでクロック・ドメイン・クロッシング・ロジックを切り離すために、別々のクロック・ ドメインにコンポーネントを分離することも可能です。 各ブリッジは、スレーブ・インタフェースとマスタ・インタフェースを1つずつ有しています。 Qsys 環境では、他のコンポーネントからの 1 つ、もしくは複数のマスタ・インタフェースがブ リッジ・スレーブに接続されます。ブリッジ・マスタは、他のコンポーネントへ 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 04-Mar-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

Qsysシステム・デザイン・コンポーネント102014.12.15 2014.12.15

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

Qsys IPコンポーネントを使用すれば、Qsysシステムが作成可能となります。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)インタフェース規格をサポートしています。関連情報• Avalon Interface Specifications• AMBA Protocol Specifications• Creating a System with Qsys• Qsys Interconnect• Embedded Peripherals IP User Guide

ブリッジブリッジは、Qsysによるコンポーネント間のデータ転送に影響します。Qsysシステムのトポロジーを制御するためにマスタ・インタフェースとスレーブ・インタフェースの間にブリッジを挿入し、Qsysが生成するインタコネクトに影響を与えることができます。また、ブリッジを使用することでクロック・ドメイン・クロッシング・ロジックを切り離すために、別々のクロック・ドメインにコンポーネントを分離することも可能です。各ブリッジは、スレーブ・インタフェースとマスタ・インタフェースを1つずつ有しています。Qsys環境では、他のコンポーネントからの 1つ、もしくは複数のマスタ・インタフェースがブリッジ・スレーブに接続されます。ブリッジ・マスタは、他のコンポーネントへ 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

Page 2: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-1: Qsysシステムでのブリッジの使用例

以下の例では、3つのマスタが 3つのスレーブに論理的に接続されていますが、物理的には各マスタはブリッジにのみ接続されています。スレーブへの転送が開始されると、スレーブ上で開始されたのと同じ順序でマスタに伝播されます。

Bridge

M

S

M1

M

M2

M M

M3

S2

S

S1

S

S

M Master

Slave

S3

S

Arbiter & Write Data ControlSignal Multiplexing

ChipSelect & Read DataMultiplexing

ClockブリッジClock ブリッジを使用すれば、1つのクロック・ソースを複数のクロック入力インタフェースへ接続することが可能です。また、Clockブリッジを使用して、Qsysシステム外部のクロック・ソ

10-2 ClockブリッジQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 3: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

ースを接続することも可能です。エクスポートしたインタフェースを介して接続を作成し、複数のクロック入力インタフェースに接続します。クロック出力は、ブリッジを使用せずにファンアウトすることが可能です。ブリッジは、エクスポートされたソースからのクロックを複数のソースに内部接続する場合にのみ必要となります。

図 10-2: Clockブリッジ

PIO

S

DMA

M MS

Qsys System

Clock Bridge

External Clock from PCB

CIn

Export

COut

CIn CIn

Avalon-MM Clock CrossingブリッジAvalon-MM Clock Crossingブリッジは、異なるクロック・ドメイン間において Avalon-MMコマンドとそのレスポンスを転送します。また、Avalon-MM Clock Crossingブリッジは異なるクロック・ドメインの AXIマスタとスレーブ間においても使用可能です。Avalon-MM Clock Crossingブリッジは、非同期 FIFOを使用しクロック・クロッシング・ロジックを実装します。ブリッジ・パラメータは、マスタ・クロック・ドメインとスレーブ・クロック・ドメインの両方でコマンド FIFOと応答 FIFOの深度を制御します。アクティブなリードの数が応答 FIFOの深さを超えている場合、Clock Crossingブリッジはリードの送信を停止します。高性能アプリケーションに対するスループットを維持するためには、応答 FIFOの深度をデフォルト設定の最小深度から最大バースト・サイズの 2倍の値になるまで増加させます。注: Qsysシステムに FIFOベースのクロック・クロッシングを使用する場合、DC FIFOは自動的に Qsysシステムに挿入されます。DC FIFOのリセット入力は、DC FIFOのどちらかの側にあるマスタ・コンポーネントとスレーブ・コンポーネントに対するリセット・ソースに接続されています。このコンフィギュレーションでは、マスター側とスレーブ側の両方にあるリセットは、DC FIFOが正しくリセットされるためには同時にアサートされる必要があります。

QII510252014.12.15 2014.12.15 Avalon-MM Clock Crossingブリッジ 10-3

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 4: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

別の方法としては、同じリセット・ソースから両方のリセットをドライブすることで、DCFIFOを適切にリセットすることができます。

注: クロック・クロッシング・ブリッジには、その内部非同期 FIFOに適した SDC制約が含まれます。このような SDC制約が正確に動作するためには、FIFO内のポインタ・クロッシング上にフォルス・パスを設定しないようにします。また、SDC制約を宣言する際に、ブリッジのクロックを別々のクロック・グループに分割しないようにします。分割を行うと、フォルス・パスを設定することと同じ結果になります。

関連情報Creating a System with Qsys

Avalon-MM Clock Crossingブリッジの例以下の例では、Avalon-MM Clock Crossingブリッジが、別々のスレーブ・コンポーネントを 2つのグループにブリッジしています。性能が低いスレーブ・コンポーネントは、単一ブリッジの後方に配置され、低速でクロックされます。高性能のスレーブ・コンポーネントは、2番目のブリッジの後方に配置され、高速でクロックされます。クロック・クロッシング・ブリッジを挿入することにより、Qsysインタコネクトが簡素化されるので、Quartus®IIフィッタが最小の伝播遅延を必要とするパスを最適化できるようになります。

10-4 Avalon-MM Clock Crossingブリッジの例QII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 6: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

Avalon-MM Clock Crossingブリッジのパラメータ

表 10-1: Avalon-MM Clock Crossingブリッジのパラメータ

Parameters 値 Description

Data width 8、16、32、64、128、256、512、1024ビット

ブリッジ上にあるインタフェースののデータ幅を決定し、両方のFIFOのサイズに影響します。最も広い帯域幅の場合、Data widthをブリッジに接続される最も幅の広いマスタと同じ幅に設定します。

Symbol width 1、2、4、8、16、32、64(ビット)

シンボルあたりのビット数です。例えば、バイト指向のインタフェースであれば、8ビットのシンボルがあります。

Address width 1~32ビット アドレス・ビットはダウンストリーム・スレーブをアドレスする必要があります。

Use automatically-determined address width - ダウンストリーム・スレーブのアドレスに必要な最小のブリッジ・アドレス幅です。

Maximum burst size 1、2、4、8、16、32、64、128、256、512、1024ビット

ブリッジがサポートするバーストの最大長を決定します。

Command FIFO depth 2、4、8、16、32、64、128、256、512、10242048、4096、8192、16384ビット

コマンド(マスタ/スレーブ)FIFOの深度。

Respond FIFO depth 2、4、8,16、32、64、128、256、512、10242048、4096、8192,16384ビット

レスポンス(スレーブ/マスタ)FIFOの深度。

10-6 Avalon-MM Clock CrossingブリッジのパラメータQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 7: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

Parameters 値 Description

Master clock domain synchronizer depth 2、3、4、5ビット

ターゲット・スレーブへのマスタ発行時にクロック・クロッシング・ロジック内にあるパイプライン・ステージの数です。この値を増加させると、平均故障間隔(MTBF)も増加します。TimeQuestのタイミング解析を実行して、デザインのMTBFを決定することができます。

Slave clock domain synchronizer depth 2、3、4、5ビット

ターゲット・スレーブからマスタ方向のクロック・クロッシング・ロジック内にあるパイプライン・ステージの数です。この値を増加させると、平均故障間隔(MTBF)も増加します。TimeQuestのタイミング解析を実行して、デザインのMTBFを決定することができます。

Avalon‑MM PipelineブリッジAvalon-MM Pipelineブリッジは、レジスタ・ステージを Avalon-MMコマンド・パスとレスポンス・パスに挿入します。Avalon-MM Pipelineブリッジは、Avalon-MMスレーブ・ポート上でコマンドを受け取り、Avalon-MMマスタ・ポートにコマンドを伝播します。 また、パイプライン・ブリッジはコマンドとレスポンス・ネットワークでのパイプラインを有効にするパラメータも別に提供します。複数の Avalon-MMスレーブ・デバイスの制御に使用する単一の Avalon-MMスレーブ・インタフェースをエクスポートする際にも Avalon-MMブリッジを使用することができます。パイプライン機能はオプションなので、このブリッジのパイプライン機能はオフにすることもできます。

QII510252014.12.15 2014.12.15 Avalon‑MM Pipelineブリッジ 10-7

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 8: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-4: XAUI PHYトランシーバ IPコアでの Avalon-MM Pipelineブリッジ

以下の例では、ブリッジにてスレーブ・インタフェースで受信したコマンドがマスタ・ポートへ転送されています。

Interconnect

Exported to Embedded Processor on PCB

Interleave

PCSS

Alt_PMA

SS

Low LatencyController

S

TransceiverReconfiguration

Controller

Xcvr XAUI PHY

M

Avalon-MMPipeline

Bridge (Qsys)

S

PMA Ch

Cntl

スレーブ・インタフェースはデバイスのピンにエクスポートされるので、各スレーブ・デバイスに対し別々のポートを用いるのではなく、単一のスレーブ・ポートを使用することで FPGAのピン数を削減できます。

Avalon-MM Unaligned Burst ExpansionブリッジAvalon-MM Unaligned Burst Expansionブリッジは、スレーブ・インタフェースに接続されたマスタからのリード・バースト・トランザクションをマスタ・インタフェースに接続されたスレーブのアドレス空間に揃えます。このように揃えることで、全てのリード・バースト・トランザクションが1つのトランザクションとしてスレーブに送信されることが保証されます。

10-8 Avalon-MM Unaligned Burst ExpansionブリッジQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 9: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-5: Avalon-MM Unaligned Burst Expansionブリッジ

Slave Master

32 bit A valon-MMMaster

Slave

Master

SlaveUnaligned Burst Expansion Bridge

64 bit A valon-MMSlave

64 bit A valon-MMSlave

Avalon Unaligned Burst Expansionブリッジを使用すれば、ターゲット・スレーブよりも狭いデータ幅を持つマスタからのリード・バースト・トランザクションを揃えることができます。この目的でブリッジを使用すると、マスタ/スレーブ・ペアで帯域幅がより効率的に使用され、揃えられていないバーストが複数のトランザクションではなく、単一のトランザクションとして処理されることが保証されます。注: マスタのアドレス・マップのいずれかに面しているリード・アドレスをスレーブがリードするようであれば、Avalon-MM Unaligned Burst Expansionブリッジは使用しないでください。リード・バースト・トランザクション・アドレスのアラインメントが変更されているため、リードといった予期せぬ結果を引き起こす可能性があります。

注: Qsysバージョン 14.0では、Avalon-MM Unaligned Burst Expansionブリッジは VHDLシミュレーションをサポートしていません。

関連情報Qsys Interconnect

Avalon-MM Unaligned Burst Expansionブリッジの使用方法マスタからリード・バースト・トランザクションがスレーブに送信されると、まずはじめにAvalon-MM Unaligned Burst Expansionブリッジはリード・バースト・トランザクションの開始アドレスがスレーブのメモリ・アドレス空間に揃えられているかを確認します。ここで、ベース・アドレスが揃えられているのであれば、ブリッジはベース・アドレスを変更しませんが、ベース・アドレスが揃えられていないのであれば、ブリッジは最も近い境界アドレスにベース・アドレスを揃えますが、これは要求されるベース・アドレスよりも少なくなります。次に、Avalon-MM Unaligned Burst Expansionブリッジはマスタから要求された最後のワードが、スレーブ・リード・バースト・アドレスの最後のワードであるかを判断します。単一のスレーブ・アドレスに複数のワードが含まれている場合、リード・バースト・トランザクションが1度実行されるためには、このようなワードすべてが要求される必要があります。

QII510252014.12.15 2014.12.15 Avalon-MM Unaligned Burst Expansionブリッジの使用方法 10-9

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 10: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

• マスタによって要求された最後のワードがスレーブ・リード・バースト・アドレスにある最後のワードである場合、ブリッジはスレーブへのリード・バースト・コマンドのバースト長を変更しません。

• マスタによって要求された最後のワードがスレーブ・リード・バースト・アドレスにある最後のワードでない場合、ブリッジはスレーブへのリード・バースト・コマンドのバースト長を増加します。修正が加えられたリード・バースト・コマンドによって要求される最後のワードは、スレーブ・リード・バースト・アドレスにある最後のワードです。

ブリッジは、揃えられたリード・バースト・コマンドについての情報をそれぞれ格納し、マスタ・インタフェースに接続されたスレーブへ送信します。リード・レスポンスがマスタ・インタフェースで受信されると、ブリッジはベース・アドレスあるいは発行されたリード・バースト・コマンドのバースト長に変更を加えるべきかどうかを決定します。ブリッジはベース・アドレスあるいは発行されたリード・バースト・コマンドのバースト長を変更する場合、ブリッジはマスタが要求しなかったレスポンス・ワードを受信します。ブリッジは、マスタから発行されるオリジナルのバースト・リード・コマンドではない揃えられたバースト・レスポンスから受信するワードを抑制します。

Avalon-MM Unaligned Burst Expansionブリッジ・パラメータ図 10-6: Avalon-MM Unaligned Burst Expansionブリッジ・パラメータ・エディタ

10-10 Avalon-MM Unaligned Burst Expansionブリッジ・パラメータQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 11: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

表 10-2: Avalon-MM Unaligned Burst Expansionブリッジ・パラメータ

Parameters Description

Data width ブリッジに接続されたマスタのデータ幅です。Address width (in WORDS) ブリッジに接続されたマスタのアドレス幅です。Burstcount width ブリッジに接続されたマスタのバースト・カウント信

号の幅です。Maximum pending read transactions ブリッジの最大保留リード・トランザクション・イン

タフェース・プロパティです。Width of slave to optimize for 接続されたスレーブのデータ幅です。サポートされる

値は、16、 32、64、128、256、512、1024、2048、4096ビットです。注: 複数のスレーブを接続する場合、すべてのスレーブが同じデータ幅である必要があります。

Pipeline command signals このパラメータがオンの場合、コマンド・パスがパイプライン化され、ロジック使用量と遅延の増大がする代わりにブリッジのクリティカル・パスが最小化されます。

Avalon-MM Unaligned Burst Expansionブリッジの例図 10-7: Unaligned Burst Expansionブリッジ

以下の例は、Avalon-MM Unaligned Burst Expansionブリッジが接続されたスレーブに対し揃えられた要求に変換するマスタからの揃えられていないリード・バースト・コマンド、および揃えられたリード・バースト・コマンドによるワードの抑制を示しています。この例では、32ビットのマスタが、64ビットで揃えられていない開始アドレスを持つ 64ビット・スレーブからの 64ビット・ワードの 8ビート・バーストを要求しています。

X

X

X

X

X

X

X

X

1

2

3

4

5

6

7

8

9

A

B

C

0

X

X

X

X

2, 3

4, 5

6, 7

8, 9

A, B

C, D

E, F

0, 1 X

X

X

X

Transaction 1

Transaction 2

Transaction 3

Transaction 4

Transaction 5Transaction 1

X

X

X

X

X

X

X

X

1

2

3

4

5

6

7

8

9

A

B

C

0

X

X

X

X

2, 3

4, 5

6, 7

8, 9

A, B

C, D

E, F

0, 1 X

X

X

X

Transaction 1

With Avalon-MM Unaligned Burst Expansion Bridge

BridgeAlignment

X*

X*

Note: the bridge suppresses X* response words

Transaction 1

Without Avalon-MM Unaligned Burst Expansion Bridge

QII510252014.12.15 2014.12.15 Avalon-MM Unaligned Burst Expansionブリッジの例 10-11

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 12: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

ターゲット・スレーブが 64ビットのデータ幅を有しているので、アドレス 1はスレーブのアドレス空間で揃えられていません。その結果、マスタのリード・バースト・コマンドに関連するデータを要求するためにいくつかの小さなバースト・トランザクションが必要となります。Avalon-MM Unaligned Burst Expansionブリッジがあれば、ブリッジはバースト長 10で、アドレス 0からターゲット・スレーブに新しくリード・バースト・コマンドを発行します。これはアドレス 9に格納されたワードまでデータを要求します。ブリッジがアドレス 0に対応するワードを受信すると、ブリッジはマスタからそのワードを抑制し、アドレス 1から 8に対応するワードをマスタに配信します。ブリッジはアドレス 9に対応するワードを受信すると、マスタからのそのワードを抑制します。

Avalonインタフェースと AXIインタフェース間のブリッジQsysシステムをデザインする際、明示的にインスタンス化されたブリッジを使用しなくても、AXIインタフェースと Avalonインタフェース間で接続が作成可能です。このインタコネクトは、必要なすべてのブリッジ・ロジックを提供します。ただし、このことは AXIドメインとAvalonドメインを分離する明示的なブリッジの使用を妨げるものではありません。

図 10-8: Avalon-MMドメインと AXIドメイン間の Avalon-MM Pipelineブリッジ

AXIドメインと Avalonドメインを分離するために明示的な Avalon-MMブリッジを使用すると、並列処理を犠牲にしてインタコネクトのブリッジ・ロジックの総数が減少されます。

Network

Avalon-MM

Avalon-MM

AXI

AXI

AXI

Avalon-MM

Shared Avalon & AXI Domain

Network

Avalon-MMPipeline Bridge

Avalon-MM

AXI

AXI

AXI

Network

Avalon-MM

Avalon-MM

Avalon-MMAXI

Shared Avalon & AXI Domains

AXIブリッジAXIブリッジを使用すると、幅アダプタやバースト・アダプタなど多くのリソースを使用するコンポーネントの配置に影響を与えることができます。その用途によっては、AXIブリッジはより高い fMaxとより少ないロジックと引き換えにスループットと並列処理を減少させることがあります。AXIブリッジを使用することで Qsysシステムの異なる部分をグループ化することができますが、その場合システムの他の部分は、複数の独立したマスタ・インタフェースまたはスレーブ・インタフェースではなくブリッジ・インタフェースに接続されます。これ以外にも、Qsysのシ

10-12 Avalonインタフェースと AXIインタフェース間のブリッジQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 13: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

ステムから AXIインタフェースをエクスポートする際に、AXIブリッジを使用することができます。以下の例は、1つの AXIマスタと 3つの AXIスレーブを備えたシステムを示しています。システムには、ルータ、デマルチプレクサ、およびマルチプレクサのような種々のインタコネクト・コンポーネントがあり、他には 16ビット・スレーブと 32ビット・マスタといったマスタより狭いデータ幅を持つスレーブが 2つあります。このシステムでは、Qsysインタコネクトは、2つのスレーブにアクセスするために 4つの幅アダプタと 4つのバースト・アダプタを作成します。このようなケースでは、AXIブリッジを1つ追加することで、リソースの使用量を改善することが可能です。AXIブリッジが追加されれば、Qsysは 1つのペアはリード・チャネル用、そしてもう 1つのペアはライト・チャネル用に 2つ幅アダプタ、2つのバースト・アダプタを追加するだけで済むことになります。

図 10-9: ブリッジを含まない AXIの例:ブリッジを追加するとアダプタの数を減らすことができます

AXI Master AXI MasterAgent

Router_0 CommandDemux_0

Router_1 CommandDemux_1

CommandMux_2

CommandMux_0

CommandMux_4

CommandMux_5

CommandMux_1

CommandMux_3

WidthAdapter_1

WidthAdapter_0

WidthAdapter_2

BurstAdapter_1

BurstAdapter_0

BurstAdapter_2

AXI SlaveAgent_0

AXISlave_0

WidthAdapter_3

BurstAdapter_3

AXI SlaveAgent_2

AXISlave_2

AXI SlaveAgent_1

AXISlave_1

Four width adapters (0 - 3) and four burst adapters (0 - 3) are inserted between the master and slaves for transaction adaptation for the example system.

以下の例は、AXIブリッジ・コンポーネントかある同じシステムであり、幅アダプタとバースト・アダプタの数が削減されていることが分かります。Qsysは、前の例では 4つの幅アダプタと 4つのバースト・アダプタを作成しましたが、ブリッジが追加されたこの例では 2つの幅アダプタと 2つのバースト・アダプタを作成しています。このシステムには、さらに多くのコンポー

QII510252014.12.15 2014.12.15 AXIブリッジ 10-13

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 14: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

ネントが含まれていますが、リソース使用量の多い幅アダプタとバースト・アダプタが少ないので、システム全体の性能は向上しています。

図 10-10: ブリッジを含むシステムに幅アダプタとバースト・アダプタが追加された場合

AXI Master AXI MasterAgent

Router_0 CommandDemux_0

Router_1 CommandDemux_1

CommandMux_0

CommandMux_2

CommandMux_1

CommandMux_3

WidthAdapter_0

AXI SlaveAgent_1

BurstAdapter_0

AXISlave_2

WidthAdapter_3

BurstAdapter_3

AXI SlaveAgent_0

AXIBridge

By inserting an AXI bridge, the interconnect Is divided into two domains (interconnect_0 and interconnect_1). Notice the reduction in the number of width adapters from 4 to 2 after the bridge insertion. The same process applies for burst adapters.

Interconnect_0

10-14 AXIブリッジQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 15: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

AXIBridge

AXI MasterAgent

Router_0 Limiter_0

Router_1 Limiter_1

CommandMux_0

CommandMux_2

CommandMux_1

CommandMux_3

AXI SlaveAgent_0

AXISlave_0

Width and burst adapters are not required in Interconnect_1 because the adaptations are performed in Interconnect_0.

Interconnect_1

CommandDemux_0

CommandDemux_1

AXI SlaveAgent_1

AXISlave_1

AXIブリッジ信号の種類AXIブリッジ・コンポーネントに対して作成するパラメータ選択に基づいて、Qsysは AXI13あるいは AXI4マスタとスレーブ・インタフェースをコンポーネントにインスタンス化します。注: AXI3では、aw/aruserはハード・プロセッサ・システム(HPS)によるサイドバンド信号の使用に対応しています。

表 10-3: プロトコルに基づいた AXIブリッジの信号の組み合わせ

信号名 AXI3 AXI4

awid / arid 使用可 使用可awaddr /araddr 使用可 使用可awlen / arlen 使用可(4ビット) 使用可(8ビット)awsize/ arsize 使用可 使用可awburst /arburst 使用可 使用可awlock /arlock 使用可 使用可(1ビット・オプション)awcache / arcache 使用可(2ビット) 使用可(オプション)awprot / arprot 使用可 使用可awuser /aruser 使用可 使用可

QII510252014.12.15 2014.12.15 AXIブリッジ信号の種類 10-15

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 16: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

信号名 AXI3 AXI4

awvalid / arvalid 使用可 使用可awready /arready 使用可 使用可awqos /arqos 使用不可 使用可awregion /arregion 使用不可 使用可wid 使用可 使用不可(オプション)wdata / rdata 使用可 使用可wstrb 使用可 使用可wlast /rvalid 使用可 使用可wvalid /rlast 使用可 使用可wready /rready 使用可 使用可wuser / ruser 使用不可 使用可bid / rid 使用可 使用可bresp / rresp 使用可 使用可(オプション)bvalid 使用可 使用可bready 使用可 使用可

AXIブリッジのパラメータパラメータ・エディタで、デザインの要件に応じて AXIブリッジのパラメータをカスタマイズすることができます。

10-16 AXIブリッジのパラメータQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 17: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-11: AXIブリッジ・パラメータ・エディタ

表 10-4: AXIブリッジのパラメータ

Parameters タイプ 範囲 説明

AXI Version 文字列 AXI3/AXI4

ブリッジのスレーブ・インタフェースとマスタ・インタフェースに Qsysが生成する AXIバージョンと信号を指定します。

Data Width int 8:1024 マスタ・インタフェースとスレーブ・インタフェースのデータ幅を制御します。

Address width int 1~64ビット

マスタ・インタフェースとスレーブ・インタフェースのスレッド IDの幅を制御します。

QII510252014.12.15 2014.12.15 AXIブリッジのパラメータ 10-17

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 18: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

Parameters タイプ 範囲 説明

Read Data Reordering Depth int 1~16 マルチスレッド機能とアウト・オブ・オーダー・レスポンスを制御します。マスタが別のスレーブに異なるスレッド IDを発行する場合、スレーブが異なるスレッド IDを表示するには、Read Data Reordering Depthを 1に設定する必要があります。

AWUSER Width int 1~64ビット

マスタ・インタフェースとスレーブ・インタフェースのライト・アドレス・チャネル・サイドバンド信号の幅を制御します。

ARUSER Width int 1~64ビット

マスタ・インタフェースとスレーブ・インタフェースのリード・アドレス・チャネル・サイドバンド信号の幅を制御します。

WUSER Width int 1~64ビット

マスタ・インタフェースとスレーブ・インタフェースのライト・データ・チャネル・サイドバンド信号の幅を制御します。

RUSER Width int 1~16ビット

マスタ・インタフェースとスレーブ・インタフェースのリード・データ・チャネル・サイドバンド信号の幅を制御します。

Bus Width int 1~16ビット

マスタ・インタフェースとスレーブ・インタフェースのライト・レスポンス・チャネル・サイドバンド信号の幅を制御します。

AXIブリッジ・スレーブとマスタ・インタフェースのパラメータ

表 10-5: AXIブリッジ・スレーブとマスタ・インタフェースのパラメータ

Parameters Description

ID Width マスタ・インタフェースとスレーブ・インタフェースのスレッド IDの幅を制御します。

10-18 AXIブリッジ・スレーブとマスタ・インタフェースのパラメータQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 19: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

Parameters Description

Write/Read/Combined Acceptance Capability スレーブ・インタフェースが受け入れる最大保留コマンドに基づきインタコネクト・エージェント内に Qsysが必要とする FIFOの深度を制御します。

Write/Read/Combined Issuing Capability マスタ・インタフェースが発行する最大保留コマンドに基づきインタコネクト・エージェント内に Qsysが必要とする FIFOの深度を制御します。発行機能は、ブリッジ内で FIFOが不必要に作成されることを避けるには、許容能力に従う必要があります。

注: 最大許容/発行機能は、モデルのみのパラメータであり、ブリッジ HDLに影響を与えることはありません。この上限に達した際、ブリッジはバックプレッシャを実行しないので、ダウンストリーム・コンポーネントおよび/またはインタコネクトがバックプレッシャを適用する必要があります。

AXI Timeoutブリッジスレーブがタイムアウトし、システムがハング・アップする可能性があることが分かっている場合は、単一のマスタと単一のスレーブとの間に AXI Timeoutブリッジを配置することができます。スレーブがコマンドを受け入れないか、あるいはスレーブが受け入れたコマンドに応答しない場合、そのスレーブのマスタは無期限に待機することができます。AXI Timeoutブリッジを使用することで、ハング・アップした場合にシステムを復旧することが可能となり、同時にデバッグも容易にすることができます。

図 10-12: AXI Timeoutブリッジ

複数のマスタとスレーブが存在するドメインであれば、デザインに AXI Timeoutブリッジを配置することで、以下のような場面でメリットをもたらされるでしょう。

QII510252014.12.15 2014.12.15 AXI Timeoutブリッジ 10-19

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 20: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

• ハング・アップから回復するには、スレーブの近くにブリッジを配置します。マスタがハング・アップするスレーブに通信しようとすると、AXI Timeoutブリッジはエラー・レスポンスを生成することで、マスタを解放します。これにより、マスタは他のスレーブと通信することが可能となります。

• システムのデバッグを行う場合は、マスタの近くに AXI Timeoutブリッジを配置します。マスタの近くに Timeoutブリッジを配置することで、バーストがどこから発生しているのかを把握することができ、マスタからのフル・アドレスを取得することができます。さらに、マスタの近くに AXI Timeoutブリッジを配置することで、バーストのターゲット・スレーブを識別できるようになります。注: スレーブ側にブリッジが配置してあり、複数のスレーブから同じマスタに接続する場合は、フル・アドレスは取得できません。

図 10-13: AXI Timeoutブリッジの配置

Interconnect

M 0

M 1

S 0

S 1

Possible bridge placement when used with Interconnect

Near Masteror at Master’s Side

Near Slaveor at Slave’s Side

Master Slave

Simplest Form

Bridge

10-20 AXI TimeoutブリッジQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 22: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-14: AXI Timeoutブリッジの段階

A

BC

リード/ライトがタイムアウト します

未解決のバーストはありません

AXI Timeoutブリッジにスレーブがリセットされている

ことを伝達します

A スレーブが機能している―ブリッジはすべてのバーストを通過させます

B スレーブが応答していないーブリッジはコマンドを受入れ、応答しないスレーブ に対しコマンドするよう(エラーなしで)応答します。 この段階ではスレーブにコマンドは通貨されません。

C スレーブがリセットされているーブリッジは新しいコマンドを受け入れず、

未解決のコマンドのみに応答します。

10-22 AXI Timeoutブリッジの段階QII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 23: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

タイムアウトが発生した場合、AXI Timeoutブリッジは割り込みをアサートし、CSRへタイムアウトの原因となったバーストをレポートします。ブリッジはその後、応答しないスレーブに代わってマスタにエラー応答を生成します。この段階では、マスターが解放され、応答しないスレーブが機能不全として識別されます。AXI Timeoutブリッジは、機能不全のスレーブへの以降のライト・アドレス、ライト・データ、リード・アドレスを受け付けます。ブリッジは未処理のライト・レスポンスを受け入れず、また機能不全のスレーブからのリード・データはマスタにパスされません。awvalid、wvalid、bready、arvalid、および rreadyポートは、ブリッジのマスタ・インタフェースで「lowでホールド」されます。注: タイムアウト後は、awvalid、wvalidおよび arvalidは awreadyによって受け入れられる前にマスタ・インタフェースでドロップされることがあります。こうした動作は AXI使用に違反していますが、これは AXI Timeoutブリッジが機能不全と認識したスレーブに接続されたインタフェースだけに発生します。

ライト・チャネルは、AXIライト・アドレス、データおよびレスポンス・チャネルのことを指します。同様に、リード・チャネルは、AXIリード・アドレスとデータ・チャネルのことを意味します。 AXIのリードとライト・チャネルは互いに独立していますが、タイムアウトがいずれかのチャネルで発生したときは、ブリッジが両方のチャネル上にエラー・レスポンスを生成します。

表 10-6: AXI Timeoutブリッジにおけるバーストの開始と終了の定義

チャネル 開始 終了

Write アドレス発行時です。同じバーストのデータがアドレスより前に発行されている場合(wvalidの最初のサイクル)でも、awvalidの最初のサイクルです。

アドレス発行時です。bvalidの最初のサイクルです。

Read アドレス発行時です。arvalidの最初のサイクルです。

最後のデータが発行された時です。rvalidと rlastの最初のサイクルです。

AXI Timeoutブリッジは、Master、Slave、Configuration and Status Register(CSR)、(AXI4-Lite)、Interruptの 4つのインタフェースを必要とします。Qsysを使用すれば、AXI TimeoutブリッジをAXI3、AXI4、または Avalonマスタ・インタフェースあるいはスレーブ・インタフェースに接続することができます。Avalonマスタがタイムアウトを検出するためには、ブリッジの割り込み出力を利用する必要があります。ブリッジ・スレーブ・インタフェースは、ライト・アドレス、ライト・データ、リード・データを受信した後、ライト・レスポンス・チャネルとリード・データ・チャネルに SLVERRレスポンスを生成します。この段階では、buser、rdata、および ruserは使用しません。通常の操作を再開するには、機能不全のスレーブをリセットし、CSR経由で状態の変更をブリッジに伝達する必要があります。 スレーブの準備ができたことを CSRがブリッジに伝達すると、すべての未解決のバーストがエラー・レスポンスで応答されるまで、ブリッジは新しいコマンドを受け付けません。CSRは、4ビットのアドレス幅と 32ビットのデータ幅を有しており、 ブリッジが割り込みをアサートすると、CSRはステータスおよびアドレス情報をレポートします。

QII510252014.12.15 2014.12.15 AXI Timeoutブリッジの段階 10-23

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 24: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

表 10-7: AXI Timeoutブリッジにおける CSRの割り込みステータス情報

Address 属性 名称 説明

0×0 write-only Slave is reset スレーブがリセットされ準備ができていることをブリッジに伝達する 1をライトします。割り込みをクリアします。

0×4 read-only Timed out operation タイムアウトを発生させるバーストの動作です。ライトは 1、リードは 0です。

0×8 から 0×f read-only Timed out address タイムアウトを発生させるバーストのアドレスです。32ビットより大きなアドレス幅に対して、CSRは完全なアドレスを取得するためにアドレス 0×8のと 0×Cでを読み取ります。

AXI Timeoutブリッジのパラメータ

表 10-8: AXI Timeoutブリッジのパラメータ

Parameters Description

ID Width awid、bid、arid、あるいは ridの幅です。

Address width awaddr、あるいは araddrの幅です。

Data width wdata、あるいは rdataの幅です。

User width awuser、wuser、buser、aruser、あるいは ruserの幅です。

Maximum number ofoutstanding writes

未処理のライトの予期される最大数です。

Maximum number ofoutstanding reads

未処理のリードの予期される最大数です。

Maximum number of cycles そのサイクル内でバーストが完了する必要のあるサイクルの数です。

Address Span ExtenderAddress Span Extenderは、ウィンドウのあるブリッジを作成し、メモリ・マップされたマスタ・インタフェースがアドレス信号で許可されている幅よりも大きい、あるいは小さいアドレス・マップにアクセスすることができます。Address Span Extenderを使用することで、制限のあるマスタもより広いアドレス範囲にアクセスすることができるようになります。Address Span Extenderはアドレス可能な空間を複数の独立したウィンドウに分割するので、マスタはそのウィンドウを介すことでメモリの適切な部分にアクセスできるようになります。

10-24 AXI TimeoutブリッジのパラメータQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 25: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

また、Address Span Extenderは、マスタとスレーブの幅の設定を 32ビットおよび 64ビットに制限しないので、これ以外の幅に設定する場合にも使用可能です。Address Span Extenderは、1~64ビットのアドレス・ウィンドウをサポートしています。プロセッサがアドレス・スパンの 2GBのみアドレス可能で、システムに 4GBのメモリがある、というような場合は、Address Span Extenderを使用し、4GBのメモリ・アドレス空間に 2つの2GBウィンドウを作成することができます。こうした問題は、アルテラ SoCデバイスで発生することがあります。例えば、SoCデバイスの HPSサブシステムは、HPS-to-FPGAブリッジを使用することで FPGA内のアドレス・スパンの 1GBだけしかアドレスすることはできませんが、Address Span Extenderを使用すれば、1GBのウィンドウを複数作成することできるので FPGA内のアドレス空間すべてをアドレスすることが可能となります。

コントロール・レジスタのレイアウトコントロール・レジスタは、各ウィンドウに対し 64ビットのレジスタで構成されています。それぞれのウィンドウに対し、設定したいベース・アドレスを対応するコントロール・レジスタに書き込みます。例えば、Address Span Extenderのコントロール・レジスタのベース・アドレスがCTRL_BASEで、(0と 1の)2つのウィンドウがある場合、ウィンドウ 0のコントロール・レジスタは CTRL_BASEで開始し、ウィンドウ 1のコントロール・レジスタは(バイト・アドレスを使用し)CTRL_BASE+8で開始します。

Address Span Extenderスレーブ・アドレスの算出方法下の図は、Qsysによるスレーブ・アドレスの算出方法を示していします。この例では、AddressSpan Extenderはスレーブの 28ビット・アドレス空間を使用して構成されています。下位の 26ビット(0ビットから 25ビット、つまり [25:0])は特定のウィンドウのオフセットであり、AddressSpan Extenderのデータ・ポートからきています。上位の 2ビットである[27:26]はコントロール・レジスタからきています。

QII510252014.12.15 2014.12.15 コントロール・レジスタのレイアウト 10-25

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 26: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-15: Address Span Extender

0x00000000_04000000

0x00000000_08000000

0x00000000_0C000000

0x00000000_00000000

0

1

2

3

Extended addr_regs[63:0]addr[27:6]

Mapping Table (Sub-Windows)

(”Extended addr regs”[27:2] | “Slave addr”[25:0]) 00

[37:2] [1:0]

[27:26] [25:0]

28-bit SlaveWord Address

38-bit MasterByte Address

ControlPort

Address Span Extenderの使用方法Qsysに Address Span Extenderを実装する場合、マスタが使用するアドレス空間の量(ウィンドウのサイズ)、アドレス可能な空間のサイズの合計(ウィンドウの数)、およびマスタのアドレス・マップで特定のスレーブが占めるアドレス空間(ウィンドウのサイズ)をどの程度に設定するかを把握しておかなければいけません。このコンポーネントは、1から 64までのアドレス・ウィンドウをサポートします。Qsysでは、割り当てられたレジスタの数が各ウィンドウに対し上位アドレス・ビットを保持することが必要となります。これには、パラメータ・エディタを開き、アクセスしたい拡大されたアドレス・マップでのビッド数(Expanded Master Byte Address Width)、マスタで確認したいビット数(SlaveWord Address Width)、そしてサブ・ウィンドウの数を選択する必要があります。

10-26 Address Span Extenderの使用方法QII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 27: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

各サブウィンドウには、ウィンドウの上位アドレスを定義する 64ビットのレジスタ・セットがあり、スレーブ・バイト・アドレスより大きいビットのみを使用します。• window 0—拡大されたアドレス[63:0]

• window 1—拡大されたアドレス[63:0]

Qsysは上位ビットのスレーブ・アドレスを利用して、使用するウィンドウ選択します。例えば、4つのウィンドウを指定すると、Qsysはスレーブ・アドレスの上位 2ビットを利用し、ウィンドウの[0,1,2,3]を選択します。このため、ウィンドウの数が多くなるということは、その分小さなウィンドウが必要となります。4つのウィンドウを使用するのであれば、それぞれのウィンドウがスレーブ・アドレス空間の 1/4のサイズでなければいけません。ウィンドウ化されたアドレス空間の総量が、元のスレーブ・アドレス空間に等しい場合でも、ウィンドウはより大きなアドレス空間全体のメモリ領域へのアクセスが可能です。Address Span Extenderのパラメータ・エディタで、Documentationをクリックすれば、そのコンポーネントに関するさらに多くの情報が得られます。

図 10-16: Address Span Extenderのパラメータ・エディタ

QII510252014.12.15 2014.12.15 Address Span Extenderの使用方法 10-27

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 28: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

Address Span Extenderのオプション最初の固定アドレス値で Address Span Extenderのパラメータを設定することができます。ResetDefault for Master Windowオプションにはアドレスを入力し、Disable Slave Control Portオプションには Trueを選択します。これにより、 Address Span Extenderは、固定の非プログラマブル・コンポーネントとして機能します。各サブ・ウインドウのサイズが等しく、ウィンドウ化されたスレーブ・インタフェースのアドレス空間に順に積み重ねられます。特定のサブ・ウインドウの固定アドレス・ビットを制御するには、レジスタ・コントロール・スレーブ・インタフェース内のサブ・ウインドウのレジスタに書き込みを実行します。Qsysはロジックの構造化を行い、必要のないビットを削除して最適化を実行します。Burstcount Width が 1より大きい場合、Qsysはリード・バーストを 1サイクルで処理し、全バイト・イネーブルがすべてのサイクルでアサートされているものと仮定します。

NIOS IIのサポートDisable Slave Control Portオプションがオンで、Address Span Extenderウィンドウが固定されている場合、Address Span Extenderはブリッジとして機能します。ウィンドウ内にある Address SpanExtenderのスレーブ側のコンポーネントは、Nios IIプロセッサに表示されます。ウィンドウ内で部分的に表示されるコンポーネントは、減少したスパンを持つコンポーネントとして Nios IIに表示されます。例えば、部分的にウィンドウ内にあるメモリは、より小さいサイズで表示されます。また、Address Span Extenderを使用して、HPSのメモリ・マップが NIOS IIに表示されるようにNios IIプロセッサに対してウィンドウを提供することもできます。このように、Nios IIは HPSペリフェラルとの通信が可能です。以下の例では、NIOS IIプロセッサはアドレス 0×40000から 0×80000の Address Span Extenderを有しています。この Address Span Extender内には 0×100000で始まるウィンドウがあり、AddressSpan Extenderのアドレス空間内には、0×1100000のスレーブがあります。 このスレーブは、NIOSIIで以下のアドレスとして表示されます。0×110000 - 0×100000 + 0×40000 = 0×050000

10-28 Address Span ExtenderのオプションQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 29: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-17: NIOS IIのサポートと Address Span Extender

0x80000

0x40000

Nios IIAddress Span

ExtenderAvalon-MM

Slave

0x140000

0x120000

0x110000

0x100000

Effective Slave Base Address = 0x110000 - 0x100000 + 0x040000= 0x050000

Address Span Extenderは動的です。例えば、Disable Slave Control Port オプションがオフの場合、NIOS IIは Address Span Extenderのスレーブ側にあるコンポーネントを把握することができません。

AXI Default SlaveAXI Default Slaveは、未定義のメモリ領域へのアクセスを試みるトランザクションを送信するマスタ・インタフェースに予測可能なエラー・レスポンス・サービスを提供します。このサービスは、エラー応答を保証し、インスタンス化されたスレーブにデコードされていないメモリ領域にマスタがアクセスする場合、エラー・レスポンスを保証します。また、エラー・レスポンス・サービスは、システムの予期しない動作を回避する際にも役立ちます。デフォルトのスレーブは AXI3コンポーネントであり、IP Catalogで AXI Default SlaveあるいはError Response Slaveのどちらかで表示されます。AXIプロトコルでは、インタコネクトが正しくスレーブ・アクセスをデコードできない場合、DECERRエラー・レスポンスを返す必要があります。したがって、アドレス空間が完全にはスレーブ・インタフェースにデコードされない AXIシステムにおいては、デフォルトのスレーブが必要となります。デフォルトのスレーブは、システム内の他のコンポーネントと同じように動作しますが、変換および適応インタコネクト・ロジックによって制限されています。Avalonまたは AXI-Liteをマスタといった、データ幅が異なるマスタにデフォルトのスレーブが接続されると、リソース使用量が増加することがあります。ブリッジのインスタンス化を実行しなくても、デフォルトのスレーブにクロック、リセット、IRQ信号の他にも、AXI3および AXI4マスタ・インタフェースに接続することができます。デフォルトのスレーブをマスタに接続する際、デフォルトのスレーブはマスタから送信されたサイクルを受け取り、DECERRエラー・レスポンスを返します。AXIインタフェースでは、デフォルト

QII510252014.12.15 2014.12.15 AXI Default Slave 10-29

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 30: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

のスレーブは Read AcceptanceおよびWrite Acceptanceの 1のみをサポートし、Write DataInterleavingはサポートしていません。デフォルトのスレーブには、CSRによるデバッグへのアクセスをサポートするオプションのインタフェースがあります。CSRレジスタはエラー・レスポンスを返す際に、必要な情報を記録します。オンにすると、このチャネルは 1で固定されたレイテンシがあるリードチャネルとライト・チャネルを持つ Avalonインタフェースとして機能します。スレーブ・インタフェースをシステム内でマスタ・インタフェースへのデフォルト・スレーブとしてをイネーブルするには、Qsysシステムでスレーブをマスタに接続する必要があります。接続には、System Contentsタブの Default Slaveカラム・オプションをオンにすることで、マスタへのデフォルト・スレーブを特定します。システム内の各 AXIマスタに対して個別のデフォルト・スレーブをインスタンス化することを推奨しています。セキュア・システムおよび未定義のメモリ領域へのアクセス方法についての詳細は、Quartus IIHandbookの Volume 1Creating a System with Qsysを参照してください。関連情報Creating a System With Qsys

AXI Default Slaveのパラメータ図 10-18: AXI Default Slaveのパラメータ・エディタ

10-30 AXI Default SlaveのパラメータQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 31: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

表 10-9: AXI Default Slaveのパラメータ

Parameters Value Description

AXI master ID width 1~8ビット

エラー・ログへのマスタ IDの幅を決定します。

AXI address width 8~64ビット

エラー・ログへのアドレス幅を決定します。この値は、システムの全体的なアドレス幅にも影響を与えるため、システムで要求される最大アドレス幅を超えないようにします。

AXI data width 32、64、または 128ビット

エラー・ログのデータ幅を決定します。

Enable CSR Support (for error logging) OnまたはOff

オンにすると、エラー・デバッグに向けてAvalon CSRインタフェースを初期化します。

CSR Error Log Depth 1~16ビット

CSRが記録するエラーのあるサイクルに対するトランザクションの数といったトランザクション・ログの深度を決定します。

Register Avalon CSR inputs OnまたはOff

オンにすると、CSRインタフェースへのデバッグ・アクセスを制御します。

CSRレジスタアクセス違反が発生した場合、CSRのポートをイネーブルにすると AXI Default Slaveは割り込みを生成し、エラー・ログ FIFOにトランザクション情報を転送します。エラー・ログ・カウントは n thログまでカウントを続けます。nとはログの深度を指します。Qsysが割り込みビットに応答すると、Qsysはその割り込みビットが有効でなくなるまでレジスタをリードします。割り込みビットは、FIFO内の有効ビットがある限り有効です。クリアされた割り込みビットは、FIFOステータスの影響を受けません。Qsysによるレジスタのリードが終了すると、アクセス違反サービスは、新しいアクセス違反のリクエストを受信する準備が整います。FIFOがフルのときにアクセス違反が発生した場合、n個以上のアクセス違反が発生したことを示すオーバーフロー・ビットが設定され、一部の違反は記録されません。割り込みビットの設定が終了するか、あるいはアクセス違反サービスがあまりにも長い間継続していると判断した場合、Qsysはアクセス違反サービスから外れます。

QII510252014.12.15 2014.12.15 CSRレジスタ 10-31

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 32: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

CSR割り込みステータス・レジスタ

表 10-10: CSR割り込みステータス・レジスタ

CSRレジスタ・マップの場合、Address = Memory Address Base + Offsetとなります。オフセット ビット 属性 デフォル

ト説明

0x00 31:4 R0 0 予約されています。

3 RW1C 0 Read Access Violation Interrupt Overflow register

リード・アクセスが原因でインタコネクトがDECERRレスポンスを返し、バッファ・ログの深度がフルの場合、アサートされます。バッファ・ログの深度が深すぎるためにログ・エラーが損失したことを示します。ビットを 1に設定することでクリアされます。

2 RW1C 0 Write Access Violation Interrupt Overflow register

ライト・アクセスが原因でインタコネクトがDECERRレスポンスを返し、バッファ・ログの深度がフルの場合、アサートされます。バッファ・ログの深度が深すぎるためにログ・エラーが損失したことを示します。ビットを 1に設定することでクリアされます。

1 RW1C 0 Read Access Violation Interrupt register

リード・アクセスが原因でインタコネクトがDECERRレスポンスを返す場合、アサートされます。ビットを 1に設定することでクリアされます。注: ビットがクリアされるまで、アクセス違反が記録されます。

0 RW1C 0 Write Access Violation Interrupt register

ライト・アクセスが原因でインタコネクトがDECERRレスポンスを返す場合、アサートされます。ビットを 1に設定することでクリアされます。注: ビットがクリアされるまで、アクセス違反が記録されます。

10-32 CSR割り込みステータス・レジスタQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 33: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

CSRリード・アクセス違反ログCSRリード・アクセス違反ログの設定は、関連するリード割込みレジスタが設定されている場合にのみ有効となります。このレジスタ・セットは有効ビットがクリアされるまでリードされる必要があります。

表 10-11: CSRリード・アクセス違反ログ

オフセット ビット 属性 デフォルト

説明

0×100 31:13 R0 0 予約されています。

12:11 R0 0 アクセス違反の原因となる開始サイクルのバースト・タイプを示します。

10:7 R0 0 アクセス違反の原因となる開始サイクルのバースト長を示します。

6:4 R0 0 アクセス違反の原因となる開始サイクルのバースト・サイズを示します。

3:1 R0 0 アクセス違反の原因となる開始サイクルの PROT

を示します。

0 R0 0 このビットが設定されている場合にのみトランザクションが有効となるリード・アクセス違反ログです。割込みレジスタがクリアされると、このビットはクリアされます。

0×104 31:0 R0 0 アクセス違反を発生させるサイクルのマスタ IDです。

0×108 31:0 R0 0 アクセス違反(下位 32ビット)の原因となるサイクルのリード・サイクル・ターゲット・アドレスです。

0×10C 31:0 R0 0 アクセス違反(上位 32ビット)の原因となるサイクルのリード・サイクル・ターゲット・アドレスです。システム内の最大アドレス幅が 32ビットよりも大きい場合にのみ有効です。注: このレジスタがリードされると、現行のリード・アクセス違反ログが FIFOからリカバリされます。

QII510252014.12.15 2014.12.15 CSRリード・アクセス違反ログ 10-33

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 34: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

CSRライト・アクセス違反ログCSRリード・アクセス違反ログの設定は、関連するリード割込みレジスタが設定されている場合にのみ有効となります。このレジスタ・セットは有効ビットがクリアされるまでリードされる必要があります。

表 10-12: CSRライト・アクセス違反ログ

オフセット ビット 属性 デフォルト

説明

0×190 31:13 R0 0 予約されています。

12:11 R0 0 アクセス違反の原因となる開始サイクルのバースト・タイプを示します。

10:7 R0 0 アクセス違反の原因となる開始サイクルのバースト長を示します。

6:4 R0 0 アクセス違反の原因となる開始サイクルのバースト・サイズを示します。

3:1 R0 0 アクセス違反の原因となる開始サイクルの PROT

を示します。

0 R0 0 このビットが設定されている場合にのみトランザクションが有効となるライト・アクセス違反ログです。割込みレジスタがクリアされると、このビットはクリアされます。

0×194 31:0 R0 0 アクセス違反を発生させるサイクルのマスタ IDです。

0×198 31:0 R0 0 アクセス違反(下位 32ビット)の原因となるサイクルのライト・ターゲッド・アドレスです。

0×19C 31:0 R0 0 アクセス違反(上位 32ビット)の原因となるサイクルのライト・ターゲット・アドレスです。システム内の最大アドレス幅が 32ビットよりも大きい場合にのみ有効です。

0x1A0 31:0 R0 0 アクセス違反の原因となるライト・サイクルへのライト・データの最初の 32ビットです。注: このレジスタがリードされると、データ幅が 32ビットの場合、現行のライト・アクセス違反ログが FIFOからリカバリされます。

10-34 CSRライト・アクセス違反ログQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 35: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

オフセット ビット 属性 デフォルト

説明

0x1A4 31:0 R0 0 アクセス違反の原因となるライト・サイクルへのライト・データの[63:32]ビットです。データ幅が32ビットよりも大きい場合にのみ有効です。

0x1A8 31:0 R0 0 アクセス違反の原因となるライト・サイクルへのライト・データの[95:64]ビットです。データ幅が64ビットよりも大きい場合にのみ有効です。

0x1AC 31:0 R0 0 アクセス違反の原因となるライト・サイクルへのライト・データの[127:96]最初のビットです。データ幅が 64ビットよりも大きい場合にのみ有効です。注: このレジスタがリードされると、現行のライト・アクセス違反ログが FIFOからリカバリされます。

System Contentsタブでのデフォルト・スレーブの指定Qsysシステム内の任意のスレーブをエラー・レスポンス用のデフォルト・スレーブとして指定することができます。指定されたデフォルト・スレーブは、未定義のメモリ領域へのアクセスを試みるマスタへのエラー・レスポンス・サービスを提供します。1. Qsysシステムの System Contents タブでヘッダーを右クリックし、Show Default Slave Columnをオンにします。

2. デフォルト・スレーブとして指定するスレーブを選択し、Default Slaveカラムのスレーブに向けてたチェックボックスをクリックします。

3. 次に、System Contentsタブの Connectionsカラムでスレーブを 1つ、または複数のマスタに接続します。

トライステート・コンポーネントトライステート・インタフェース・タイプを使用すると、PCB上のトライステート・デバイスに接続する Qsysサブシステムをデザインすることができます。トライステート・コンポーネントを使用することで、ピン共有の実装、単方向と双方向の信号の変換、およびトライステート信号のタイプで記述できるインタフェースのあるデバイスに対してトライステート・コントローラの作成が可能となります。

QII510252014.12.15 2014.12.15 System Contentsタブでのデフォルト・スレーブの指定 10-35

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 36: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-19: オフ・チップ SRAMおよびフラッシュ・デバイスを制御するトライステート・コンジット・システム

以下に示す例では、ボードに一般的な Tri-State Conduit Controllerが 2つありますが、最初のコントローラは、フラッシュ・メモリを制御するためにカスタマイズされており、2番目のコントローラは、オフ・チップ SSRAMを制御するためにカスタマイズされています。Tri-state ConduitPin Sharerはこれら 2つのコントローラ間を多重化し、そして Tri-state Conduitブリッジはトライ・ステート信号とトゥルーの双方向信号のオン・チップ・エンコードを変換します。デフォルトでは、Tri-state Conduit Pin Sharerおよび Tri-State Conduitブリッジはバイト・アドレスを示します。通常、各アドレス位置には複数のデータバイトが含まれます。

Altera FPGA

Printed Circuit Board

M

M

M

Nios IIProcessor

Cn SSRAM

Cn FlashTCM

S TCM

Generic Tri-state Controller

Parameterized for 2 MBytex32 SSRAM

TCM

TCSTri-stateConduit

PinSharer

Avalon-MM Master

Avalon-MM Slave

CnTCSTri-stateConduitBridge

Generic Tri-state Controller

Parameterized for 8 MByte

x16 FlashS

S

TCS

TCM Avalon-TC Master

Avalon-TC Slave

Conduit Cn

TCS

10-36 トライステート・コンポーネントQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 37: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-20: Qsysシステムから PCBへのアドレス接続

フラッシュ・デバイスは 16ビット・ワードで動作します。そして、Avalon-MMアドレスの最下位ビットを無視する必要があり、addr [0]が接続されていないものとして表示します。また、SSRAMメモリは 32ビット・ワードで動作し、2の下位メモリ・ビットを無視する必要があります。どちらのデバイスもバイト・アドレスを必要とするため、addr [0]は PCB上に配線されません。フラッシュ・デバイスは、0MBから 8MB-1のアドレス範囲に応答し、SSRAMは、8 MBから 10MB-1の範囲に応答します。 SSRAMは 32ビットのワード・アドレスに応答するため、PCB用のPCBの回路図は addr [21:0]を SSRAMデバイスの addr [18:0]に接続します。 8MBのフラッシュ・デバイスは、16ビットワードをアクセスします。その結果、回路図は addr [0]を接続しません。chipselect信号が 2つのデバイスのどちらかを選択します。

PCB_Addr [21:0]

2 MByte SSRAM(32-bit word)

2 MByte SSRAM(32-bit word)

0

8 MBytes

16 MBytes

10 MBytes

PCB_Addr [19:1]

Addr [21:0]

8 MByte Flash (16-bit word)

8 MByte Flash (16-bit word)

UnusedAddr [18:0]

Tristate ConduitBridge

PCB

Qsys Address Map

Addr [22:1]PCB_Addr [21:0]

Addr [0]

Addr [23] x

x

注: ワードが揃えられたアドレスでカスタムのトライステート・コンジット・マスタを作成する場合、Tri-state Conduit Pin Sharerがアドレス信号を揃えたり変更したりすることはありません。

QII510252014.12.15 2014.12.15 トライステート・コンポーネント 10-37

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 38: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-21: Qsysでのトライステート・コンジット・システム

関連情報• Avalon Interface Specifications• Avalon Tri-State Conduit Components User Guide

Generic Tri-State ControllerGeneric Tri-State Controllerは、コントローラのテンプレートを提供します。オフチップ・デバイスの動作を反映させるために、様々なパラメータを持つトライステート・コントローラにカスタマイズすることができます。トライステート・コントローラには、以下のタイプのパラメータが使用可能です。• Width of the address and data signals• Read and write wait times• Bus-turnaround time• Data hold time

注: 遅延を算出する際、Generic Tri-state Controllerはバス・ターンアラウンド・タイムとリード・レイテンシから、より大きい方を選択します。ターンアラウンド・タイムは、以前のリード

10-38 Generic Tri-State ControllerQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 39: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

がデータを返した時間から測定されるのではなく、コマンドが受け入れられた時間から測定されます。

Generic Tri-State Controllerには、以下のインタフェースが含まれます。• Memory-mapped slave interface—このインタフェースは、プロセッサなどのメモリ・マップド・マスタに接続します。

• Tristate Conduit Master interface—トライステート・マスタ・インタフェースは通常、Tri-stateConduit Pin Sharerのトライステート・コンジット・スレーブ・インタフェースに接続します。

• Clock sink—コンポーネントのクロック・リファレンスです。このインタフェースはクロック・ソースに接続する必要があります。

• Reset sink—このインタフェースはリセット・ソース・インタフェースに接続します。

Tri-state Conduit Pin SharerTri-state Conduit Pin Sharerは、接続されたトライ・ステート・コントローラの信号間をマルチプレクサ化します。すべての信号をトライ・ステート・コントローラから Tri-state Conduit PinSharerに接続し、共有される信号を指定するには、パラメータ・エディタを使用します。

QII510252014.12.15 2014.12.15 Tri-state Conduit Pin Sharer 10-39

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 40: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-22: Tri‑State Conduit Pin Sharer Parameter Editor

パラメータ・エディタには Shared Signal Nameカラムがあり、 共有された信号の幅が異なる場合、そのような信号は 0thビットで揃えられ、より小さい信号がバスを制御する際は必ず上位ピンがドライブされます。共有されない信号は常に Pin Sharerを介して伝播されます。Tri-stateConduit Pin Sharerは、トライステート・コンジットコントローラの選択にはラウンドロビン・アービタを使用します。

注: 同じ Pin Sharerに接続されているすべてのトライ・ステート・コンジットのコンポーネントは、同じクロック・ドメインに存在する必要があります。

関連情報10-73ページの Avalon-ST Round Robin Scheduler

Tri-state ConduitブリッジTri-state Conduitブリッジは、直接コンポーネントを介して他のすべての信号を通過させ、それぞれのトライ・ステート信号に対して双方向の信号をインスタンス化します。Tri-state Conduitブリッジは、すべての出力信号と入力信号をレジスタしますが、これにはリード要求のために 2サイクルのレイテンシが追加されます。カスタム・コントローラをデザインする際は、この追加されるパイプラインを考慮する必要があります。リセット中、全ての出力はハイインピーダンス

10-40 Tri-state ConduitブリッジQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 41: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

状態となります。リセットがデアサートされた後の第 1クロック・サイクルで出力がイネーブルされ、その後出力信号は双方向になります。

テスト・パターン・ジェネレータとテスト・パターン・チェッカー・コア

Avalon-STのデータ生成およびモニタ・ソリューションは、データを生成し Avalon-STデータ・インタフェースに送信するテスト・パターン・ジェネレータと、その同じデータを受信し検証するテスト・パターン・チェッカー・コアという 2つのコンポーネントで構成されています。オプションで、データは start_of_packetおよび end_of_packet信号によりパケットとしてフォーマットすることも可能です。テスト・パターン・ジェネレータは様々なエラー条件を挿入し、テスト・パターン・チェッカーはこうしたエラー状態を各 Avalon Memory-Mapped(Avalon-MM)スレーブを介して制御インタフェースに報告します。Throttle Seedは、スロットル制御ランダム・ナンバー・ジェネレータの開始の値です。アルテラは、システム内のテスト・パターン・ジェネレータおよびチェッカー・コアの各インスタンスに固有の値を使用することを推奨しています。

テスト・パターン・ジェネレータ図 10-23: テスト・パターン・ジェネレータ・コア

テスト・パターン・ジェネレータ・コアは、Avalon-MMコマンド・インタフェースを介してデータを生成するためのコマンドを受入れ、その生成されたデータを Avalon-STデータ・インタフェースにドライブします。エラー・ビットの数や信号の幅などの Avalon-STデータ・インタフェースの多くの部分をパラメータ化することが可能なので、異なるインタフェースを使用しコンポーネントを検証することができます。

Avalon-MMSlave Port

Avalo

n-M

MSla

ve Po

rtAvalon-ST SourceTEST PATTERN

GENERATOR

command data_out

control & status

データ・パターンは、Symbol Value = Symbol Position in Packet XOR Data Error Maskで算出されます。パケットで組織化されていないデータは、開始や完了を持たない単一のストリームとなります。テスト・パターン・ジェネレータは、Avalon-MM制御インタフェースを介して設定するス

QII510252014.12.15 2014.12.15 テスト・パターン・ジェネレータとテスト・パターン・チェッカー・コア 10-41

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 42: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

ロットル・レジスタを有します。テスト・パターン・ジェネレータは、データ発生率を絞るために、擬似ランダム数ジェネレータと連動してスロットル・レジスタの値を使用し、データ生成レートを抑制します。

テスト・パターン・ジェネレータのコマンド・インタフェーステスト・パターン・ジェネレータのコマンド・インタフェースは、データ生成コマンドを受け入れる 32ビットの Avalonライト・スレーブで、深度が 16エレメントの FIFOに接続されているため、マスタ・ペリフェラルが多くのコマンドをテスト・パターン・ジェネレータにドライブすることが可能です。コマンド・インタフェースは、レジスタの cmd_loと cmd_hiへマッピングします。レジスタのcmd_lo(address 0)がアドレス指定されると、コマンドは FIFOにプッシュされます。FIFOがフルになると、コマンド・インタフェースは waitrequest信号をアサートします。レジスタのcmd_hi(address 1)にライトすることで、エラーを作成することができます。このレジスタ、あるいはそのレジスタに対応するフィールドに 0がライトされると、エラーはクリアされます。

テスト・パターン・ジェネレータの制御インタフェースおよびステータス・インタフェーステスト・パターン・ジェネレータの制御インタフェースおよびステータス・インタフェースは、32ビットの Avalon-MMスレーブであり、データ生成のイネーブルとディセーブルやスロットルの設定を行うことができます。このインタフェースは、チャネルの数やデータ・パケットのサポートの有無といった生成時の情報も提供します。

テスト・パターン・ジェネレータの出力インタフェーステスト・パターン・ジェネレータの出力インタフェースは、データ・パケットをオプションでサポートする Avalon-STインタフェースです。システム要件と整合するように、出力インタフェースをコンフィギュレーションすることができます。コマンドの入力ストリームによっては、出力データには異なるチャネルへのインターリーブされたパケット・フラグメントを含めることも可能です。テスト・パターン・ジェネレータは各チャネルの内部状態を維持することで、各パケット内にあるシンボルの現在位置を記録します。次に示すパラメータを使用してテスト・パターン・ジェネレータの出力インタフェースをコンフィギュレーションすることができます。• Number of Channels—テスト・パターン・ジェネレータがサポートしているチャンネル数です。有効な値は 1~256です。

• Data Bits Per Symbol—シンボルあたりのビットは、readdata信号と writedata信号に関連しており、シンボルあたりのビットの倍数でなければなりません。

• Data Symbols Per Beat—ビート(転送)あたりの転送シンボル(ワード)数です。有効な値は1~256です。

• Include Packet Support—パケット転送がサポートされるかどうかを示します。パケット・サポートには、startofpacket、endofpacket、および empty信号が含まれます。

• Error Signal Width (bits)—出力インタフェースのエラー信号の幅です。有効な値は 1~31です。値 0はエラー信号が使用されていないことを表します。

注: データ幅を変更せずにシンボルあたりのビットのみを変更すると、エラーが生成されます。

10-42 テスト・パターン・ジェネレータのコマンド・インタフェースQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 43: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

テスト・パターン・ジェネレータの機能パラメータテスト・パターン・ジェネレータの機能パラメータを使用すると、システム全体としてテスト・パターン・ジェネレータをコンフィギュレーションすることができます。

テスト・パターン・チェッカー図 10-24: テスト・パターン・チェッカー

テスト・パターン・チェッカー・コアは、Avalon-STインタフェースを介してデータを受け取り、テスト・パターン・ジェネレータがデータの生成に使用するのと同じ事前に決定されたパターンに照らし合わせて検証します。テスト・パターン・チェッカー・コアは、制御インタフェースに例外を報告し、エラー・ビットの数やデータ幅といったテスト・パターン・チェッカーのAvalon-STインタフェースにある多くの部分をパラメータ化することが可能です。パラメータ化を行うことで、異なるインタフェースを持つコンポーネントを検証する機能がイネーブルできるようになります。テスト・パターン・チェッカーは、Avalon-MM制御インタフェースを介して設定するスロットル・レジスタを有します。スロットル・レジスタの値は、データが受け入れられる速度を制御します。

Avalon-MMSlave Port

Avalo

n-ST

Sink

TEST PATTERN CHECKER

data_in

control & status

テスト・パターン・チェッカーは例外を検出し、深度が 32エレメントの内部 FIFOを介して制御インタフェースにその例外を報告します。このような例外には、データ・エラー、スタート・オブ・パケット(SOP)の欠如、エンド・オブ・パケット(EOP)の欠如、およびシグナル・エラーがあります。こうした例外が発生すると、FIFOに例外ディスクリプタがプッシュされますが、同じ例外が連続して複数回発生した場合は、1つの例外ディスクリプタだけが FIFOにプッシュされます。FIFOがフルになると、例外はすべて無視されます。例外ディスクリプタが制御およびステータス・インタフェースによって読み取られると、例外ディスクリプタは FIFOから削除されます。

テスト・パターン・ジェネレータの入力インタフェーステスト・パターン・チェッカーの入力インタフェースは、オプションでデータ・パケットをサポートする Avalon-STインタフェースです。システム要件と整合するように、入力インタフェースをコンフィギュレーションすることができます。受信データは、インターリーブされたパケット

QII510252014.12.15 2014.12.15 テスト・パターン・ジェネレータの機能パラメータ 10-43

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 44: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

のフラグメントを含ことがあります。テスト・パターン・チェッカーは各チャネルの内部状態を維持することで、シンボルの現在位置を記録します。

テスト・パターン・チェッカーの制御およびステータス・インタフェーステスト・パターン・チェッカーの制御インタフェースおよびステータス・インタフェースは、32ビットの Avalon-MMスレーブであり、データ受入れのイネーブルとディセーブルやスロットルの設定を行うことができます。このインタフェースは、チャネルの数、そしてテスト・パターン・チェッカーがデータ・パケットをサポートするかどうか、といった生成時の情報を提供します。制御インタフェースおよびステータス・インタフェースは、テスト・パターン・チェッカーによって検出された例外に関する情報も提供します。インタフェースは、この情報を例外 FIFOから読み取ることで取得します。

テスト・パターン・チェッカーの機能パラメータテスト・パターン・チェッカーの機能パラメータを使用すると、システム全体としてテスト・パターン・チェッカーをコンフィギュレーションすることができます。

テスト・パターン・チェッカーの出力インタフェース次に示すパラメータを使用してテスト・パターン・チェッカーの入力インタフェースをコンフィギュレーションすることができます。• Data Bits Per Symbol—シンボルあたりのビットは、readdata信号と writedata信号の幅に関連しており、シンボルあたりのビットの倍数でなければなりません。

• Data Symbols Per Beat—ビートあたりの転送シンボル(ワード)数です。有効な値は 1~32です。

• Include Packet Support—データ・パケット転送がサポートされるかどうかを示します。パケット・サポートには、startofpacket、endofpacket、および empty信号が含まれます。

• Number of Channels—テスト・パターン・チェッカーがサポートしているチャンネル数です。有効な値は 1~256です。

• Error Signal Width (bits)—入力インタフェースのエラー信号の幅です。有効な値は 1~31です。値 0はエラー信号が使用されていないことを表します。

注: データ幅を変更せずにシンボルあたりのビットのみを変更する場合、エラーが生成されます。

テスト・パターン・ジェネレータとテスト・パターン・チェッカー・コア用のソフトウェア・プログラミング・モデル

HALシステム・ライブラリ・サポート、ソフトウェア・ファイル、およびレジスタ・マップは、テスト・パターン・ジェネレータとテスト・パターン・チェッカー・コア用のソフトウェア・プログラミング・モデルを記述します。

HALシステム・ライブラリ・サポートアルテラでは、Nios IIプロセッサ・ユーザ向けに、テスト・パターン・ジェネレータおよびテスト・パターン・チェッカー・コアにアクセスし初期化できる HALシステム・ライブラリ・ドライバを提供しています。アルテラは、レジスタに直接アクセスするのではなく、提供されたドライバを使用してコアにアクセスすることを推奨しています。Nios II IDEユーザであれば、提供されたドライバを以下のインストレーション・フォルダからお使いのソフトウェア・アプリケーション・ディレクトリにコピーしてください。

10-44 テスト・パターン・チェッカーの制御およびステータス・インタフェースQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 45: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

• <IP installation directory>/ip/sopc_builder_ip/altera_avalon_data_source/HAL

• <IP installation directory>/ip/sopc_builder_ip/altera_avalon_data_sink/HAL

注: Nios IIコマンドライン・ツールには、この手順は適用されません。

テスト・パターン・ジェネレータ・ファイルおよびテスト・パターン・チェッカー・コア・ファイル

以下のファイルは、ハードウェアへの下位レベル・アクセスを定義し、HALデバイス・ドライバ用にルーチンを提供します。注: テスト・パターン・ジェネレータ・ファイルおよびテスト・パターン・チェッカー・コア・ファイルは変更しないでください。

• テスト・パターン・ジェネレータ・ファイル:• data_source_regs.h—テスト・パターン・ジェネレータのレジスタ・マップを定義するヘッダー・ファイルです。

• data_source_util.h 、 data_source_util.c—ドライバを HALシステム・ライブラリに統合するのに必要な関数および変数のヘッダとソース・コードです。

• テスト・パターン・ジェネレータ・ファイル:• data_sink_regs.h—コアのレジスタ・マップを定義するヘッダ・ファイルです。• data_sink_util.h 、 data_sink_util.c—HALシステム・ライブラリにドライバを統合する際に必要となる関数と変数へのヘッダーおよびソース・コードです。

テスト・パターン・ジェネレータおよびテスト・パターン・チェッカー・コアのレジスタ・マップ

テスト・パターン・ジェネレータの制御およびステータス・レジスタ

表 10-13: テスト・パターン・ジェネレータの制御およびステータス・レジスタ・マップ

テスト・パターン・ジェネレータの制御およびステータス・レジスタのオフセットを示しています。各レジスタの幅は 32ビットです。

オフセット レジスタ名

base + 0 status

base + 1 control

base + 2 fill

表 10-14: テスト・パターン・ジェネレータのステータス・レジスタ・ビット

ビット 名称 アクセス 説明

[15:0] ID RO 定数値は 0x64です。

QII510252014.12.15 2014.12.15 テスト・パターン・ジェネレータ・ファイルおよびテスト・パターン・チェッカ

ー・コア・ファイル10-45

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 46: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

ビット 名称 アクセス 説明

[23:16] NUMCHANNELS RO コンフィギュレーションされたチャネル数です。

[30:24] NUMSYMBOLS RO ビートあたりのコンフィギュレーションされたシンボル数です。

[31] SUPPORTPACKETS RO 値 1はデータ・パケット・サポートを表します。

表 10-15: テスト・パターン・ジェネレータのコントロール・レジスタ・ビット

ビット 名称 アクセス 説明

[0] ENABLE RW このビットを 1に設定すると、テスト・パターン・ジェネレータ・コアがイネーブルされます。

[7:1] 予約

[16:8] THROTTLE RW 0~256の範囲となるスロットル値を指定します。テスト・パターン・ジェネレータは、データ発生率を絞るために、擬似ランダム数ジェネレータと連動してスロットル・レジスタの値を使用し、データ生成レートを抑制します。この THROTTLEを 0に設定すると、テスト・パターン・ジェネレータ・コアが停止し、0~256の値に設定すると、スロットル値に比例したデータ・レート結果となります。

[17] SOFT RESET RW このビットを 1に設定すると、内部カウンタと統計のすべてがリセットされます。リセットを終了させるには、このビットに 0をライトします。

[31:18] 予約

表 10-16: テスト・パターン・ジェネレータのフィル・レジスタ・ビット

ビット 名称 アクセス 説明

[0] BUSY RO 値 1は、データ送信が進行中であるか、もしくはコマンド・キュー内に少なくとも 1つのコマンドがあることを示しています。

[6:1] 予約

[15:7] FILL RO 現在のコマンド FIFO内にあるコマンドの数を取得します。

10-46 テスト・パターン・ジェネレータの制御およびステータス・レジスタQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 47: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

ビット 名称 アクセス 説明

[31:16] 予約

テスト・パターン・ジェネレータのコマンド・インタフェース

表 10-17: テスト・パターン・ジェネレータのコマンド・レジスタ・マップ

コマンド・レジスタのオフセットを示しています。各レジスタの幅は 32ビットです。オフセット レジスタ名

base + 0 cmd_lo

base + 1 cmd_hi

cmd_loがアドレス指定される場合にのみ cmd_loが FIFOにプッシュされます。

表 10-18: cmd_loレジスタ・ビット

ビット 名称 アクセス 説明

[15:0] SIZE RW シンボルでのセグメント・サイズです。パケットの最後のセグメントを除き、すべてのセグメントのサイズは、ビートあたりのコンフィギュレーションされたシンボル数です。この条件が満たされない場合、テストパターン・ジェネレータ・コアは、条件が確実に満たされるようにセグメントに追加のシンボルを挿入します

[29:16] CHANNEL RW セグメントを送信するチャネルです。channel信号が 14ビット幅より小さい場合、テスト・パターン・ジェネレータは、このレジスタの下位ビットを使用し信号をドライブします。

[30] SOP RW パケットの最初のセグメントを送信する場合、このビットを1に設定します。データパケットがサポートされていない場合、このビットは無視されます。

[31] EOP RW パケットの最後のセグメントを送信する場合、このビットを1に設定します。データパケットがサポートされていない場合、このビットは無視されます。

QII510252014.12.15 2014.12.15 テスト・パターン・ジェネレータのコマンド・インタフェース 10-47

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 48: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

表 10-19: cmd_hiレジスタ・ビット

ビット 名称 アクセス 説明

[15:0] SIGNALED

ERRORRW error信号をドライブする値を指定します。ゼロ以外の値

は、通知エラーを作成します。

[23:16] DATA ERROR RW 出力データは、データ・エラーを作成するために、このレジスタの内容で XORされます。データエラーの作成を停止するには、このレジスタを 0に設定してください。

[24] SUPRESS

SOPRW パケット内の最初のセグメントが送信される際、

startofpacket信号がアサートされないように、このビットを 1に設定します。

[25] SUPRESS

EOPRW パケット内の最後のセグメントが送信される際、

endofpacket信号がアサートされないように、このビットを1に設定します。

テスト・パターン・チェッカーの制御およびステータス・レジスタ

表 10-20: テスト・パターン・チェッカーの制御およびステータス・レジスタ・マップ

制御およびステータス・レジスタのオフセットを示しています。各レジスタの幅は 32ビットです。オフセット レジスタ名

base + 0 status

base + 1 control

base + 2

予約base + 3

base + 4

base + 5 exception_descriptor

base + 6 indirect_select

base + 7 indirect_count

10-48 テスト・パターン・チェッカーの制御およびステータス・レジスタQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 49: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

表 10-21: テスト・パターン・チェッカーのステータス・レジスタ・ビット

ビット 名称 アクセス 説明

[15:0] ID RO 定数値 0x65を含みます。

[23:16] NUMCHANNELS RO コンフィギュレーションされたチャネル数です。

[30:24] NUMSYMBOLS RO ビートあたりのコンフィギュレーションされたシンボル数です。

[31] SUPPORTPACKETS RO 値 1はパケット・サポートを表します。

表 10-22: テスト・パターン・チェッカーコントロール・レジスタ・ビット

ビット 名称 アクセス 説明

[0] ENABLE RW このビットを 1に設定すると、テスト・パターン・チェッカーがイネーブルされます。

[7:1] 予約

[16:8] THROTTLE RW 0~256の範囲となるスロットル値を指定します。Qsysは、データ発生率を絞るために、擬似ランダム数ジェネレータと連動してスロットル・レジスタの値を使用し、データ生成レートを抑制します。この THROTTLEを 0に設定すると、テスト・パターン・ジェネレータ・コアが停止し、0~256の値に設定すると、スロットル値に比例したデータ・レート結果となります。

[17] SOFT RESET RW このビットを 1に設定すると、内部カウンタと統計のすべてがリセットされます。リセットを終了させるには、このビットに 0をライトします。

[31:18] 予約

例外がなければ、exception_descriptorレジスタ・ビットをリードすると、0が返されます。

表 10-23: exception_descriptorレジスタ・ビット

ビット 名称 アクセス 説明

[0] DATA ERROR RO 値 1は、受信データ内でエラーが検出されたことを示します。

QII510252014.12.15 2014.12.15 テスト・パターン・チェッカーの制御およびステータス・レジスタ 10-49

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 50: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

ビット 名称 アクセス 説明

[1] MISSINGSOP RO 値 1は SOP(start-of-packet)が欠落していることを示します。

[2] MISSINGEOP RO 値 1は EOP(end-of-packet)が欠落していることを示します。

[7:3] 予約

[15:8] SIGNALLED

ERRORRO error信号の値です。

[23:16] 予約

[31:24] CHANNEL RO 例外が検出されたチャネルです。

表 10-24: indirect_selectレジスタ・ビット

ビット 名称 アクセス 説明

[7:0] INDIRECT

CHANNELRW INDIRECT PACKET COUNT、INDIRECT SYMBOL COUNT、および

INDIRECT ERROR COUNTレジスタに適応されるチャネルを指定します。

[15:8] 予約

[31:16] INDIRECT

ERRORRO INDIRECT CHANNELで指定されたチャネルで発生するデー

タ・エラーの数です。

表 10-25: indirect_countレジスタ・ビット

ビット 名称 アクセス 説明

[15:0] INDIRECT

PACKET

COUNT

RO INDIRECT CHANNELで指定されたチャネルで受信されたデータ・パケットの数です。

[31:16] INDIRECT

SYMBOL

COUNT

RO INDIRECT CHANNELで指定されたチャネルで受信されたシンボルの数です。

.

テスト・パターン・ジェネレータ API以下の項では、テスト・パターン・ジェネレータ・コアへのアプリケーション・プログラミング・インタフェース(API)について説明します。

10-50 テスト・パターン・ジェネレータ APIQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 51: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

注: APIは、割り込みサービス・ルーチン(ISR)からは現在利用できません。

10-51ページの data_source_reset()

10-52ページの data_source_init()

10-52ページの data_source_get_id()

10-53ページの data_source_get_supports_packets()

10-53ページの data_source_get_num_channels()

10-54ページの data_source_get_symbols_per_cycle()

10-54ページの data_source_get_enable()

10-54ページの data_source_set_enable()

10-55ページの data_source_get_throttle()

10-55ページの data_source_set_throttle()

10-56ページの data_source_is_busy()

10-56ページの data_source_fill_level()

10-57ページの data_source_send_data()

data_source_reset()

表 10-26: data_source_reset()

Information Type 説明

プロトタイプ void data_source_reset(alt_u32 base);

Thread-safe 使用不可

Include < data_source_util.h >

パラメータ base—制御およびステータス・スレーブのベース・アドレスです。

戻り値 void

説明 すべての内部カウンタと FIFOを含むテスト・パターン・ジェネレータをリセットします。制御およびステータ・スレジスタは、この関数ではリセットされません。

QII510252014.12.15 2014.12.15 data_source_reset() 10-51

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 52: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

data_source_init()

表 10-27: data_source_init()

Information Type 説明

プロトタイプ int data_source_init(alt_u32 base, alt_u32 command_base);

Thread-safe 使用不可

Include < data_source_util.h >

パラメータ base—制御およびステータス・スレーブのベース・アドレスです。command_base—コマンド・スレーブのベース・アドレスです。

戻り値 1—初期化は成功です。0—初期化は成功していません。

説明 テスト・パターン・ジェネレータ・コアを初期化には、以下の動作を実行します。• テスト・パターン・ジェネレータ・コアをリセットしディセーブルします。

• 最大スロットルを設定します。• 挿入されたエラーをすべてクリアします。

data_source_get_id()

表 10-28: data_source_get_id()

情報の種類 説明

Prototype int data_source_get_id(alt_u32 base);

Thread-safe 使用可

Include < data_source_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。

Returns テスト・パターン・ジェネレータ・コア識別子です。

Description テスト・パターン・ジェネレータ・コアの識別子を取得します。

10-52 data_source_init()QII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 53: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

data_source_get_supports_packets()

表 10-29: data_source_get_supports_packets()

Information Type 説明

プロトタイプ int data_source_init(alt_u32 base);

Thread-safe 使用可

Include < data_source_util.h >

パラメータ base—制御およびステータス・スレーブのベース・アドレスです。

戻り値 1—データパケットがサポートされています。0—データパケットはサポートされていません。

説明 テスト・パターン・ジェネレータ・コアがデータ・パケットをサポートするかどうかをチェックします。

data_source_get_num_channels()

表 10-30: data_source_get_num_channels()

説明 説明

プロトタイプ int data_source_get_num_channels(alt_u32 base);

Thread-safe 使用可

Include < data_source_util.h >

パラメータ base—制御およびステータス・スレーブのベース・アドレスです。

戻り値 サポートされるチャネル数です。

説明 テスト・パターン・ジェネレータ・コアによってサポートされるチャネル数を取得します。

QII510252014.12.15 2014.12.15 data_source_get_supports_packets() 10-53

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 54: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

data_source_get_symbols_per_cycle()

表 10-31: data_source_get_symbols_per_cycle()

情報の種類 説明

Prototype int data_source_get_symbols(alt_u32 base);

Thread-safe 使用可

Include < data_source_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。

Returns 1つのビートで転送されるシンボルの数です。

Description 各ビートでテスト・パターン・ジェネレータ・コアによって転送されるシンボルの数を取得します。

data_source_get_enable()

表 10-32: data_source_get_enable()

Information Type 説明

プロトタイプ int data_source_get_enable(alt_u32 base);

Thread-safe 使用可

Include < data_source_util.h >

パラメータ base—制御およびステータス・スレーブのベース・アドレスです。

戻り値 ENABLEビットの値です。

説明 ENABLEビットの値を取得します。

data_source_set_enable()

表 10-33: data_source_set_enable()

情報の種類 説明

Prototype void data_source_set_enable(alt_u32 base, alt_u32 value);

Thread-safe 使用不可

10-54 data_source_get_symbols_per_cycle()QII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 55: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

情報の種類 説明

Include < data_source_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。value—このパラメータの値に設定された ENABLEビットです。

Returns void

Description テスト・パターン・ジェネレータ・コアをイネーブルまたはディセーブルします。ディセーブルの場合、テスト・パターン・ジェネレータ・コアは、データ送信を停止しますが、コマンドの受入れは継続し、コマンドを FIFOに格納します。

data_source_get_throttle()

表 10-34: data_source_get_throttle()

Information Type 説明

プロトタイプ int data_source_get_throttle(alt_u32 base);

Thread-safe 使用可

Include < data_source_util.h >

パラメータ base—制御およびステータス・スレーブのベース・アドレスです。

戻り値 スロットル値です。

説明 現在のスロットル値を取得します。

data_source_set_throttle()

表 10-35: data_source_set_throttle()

情報の種類 説明

Prototype void data_source_set_throttle(alt_u32 base, alt_u32 value)

;

Thread-safe 使用不可

Include < data_source_util.h >

QII510252014.12.15 2014.12.15 data_source_get_throttle() 10-55

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 56: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

情報の種類 説明

Parameters base—制御およびステータス・スレーブのベース・アドレスです。value—スロットル値です

Returns void

Description スロットル値を設定します。スロットル値には 0~256の値を設定することができます。このスロットル値を 256で割った値は、テスト・パターン・ジェネレータがデータを送信するレートとなります。

data_source_is_busy()

表 10-36: data_source_is_busy()

情報の種類 説明

Prototype int data_source_is_busy(alt_u32 base);

Thread-safe 使用可

Include < data_source_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。

Returns 1—テスト・パターン・ジェネレータ・コアがビジーであることを示します。0—テスト・パターン・ジェネレータ・コアがビジーでないことを示します。

Description テスト・パターン・ジェネレータ・ジェネレータがビジーであるかどうかをチェックします。テスト・パターン・ジェネレータ・コアは、データ送信時あるいは送信するデータがコマンド FIFO内にある場合、ビジー状態となります。

data_source_fill_level()

表 10-37: data_source_fill_level()

情報の種類 説明

Prototype int data_source_fill_level(alt_u32 base);

10-56 data_source_is_busy()QII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 57: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

情報の種類 説明

Thread-safe 使用可

Include < data_source_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。

Returns コマンド FIFO内にあるコマンドの数です。

Description 現在のコマンド FIFO内にあるコマンドの数を取得します。

data_source_send_data()

表 10-38: data_source_send_data()

Information Type 説明

プロトタイプ int data_source_send_data(alt_u32 cmd_base, alt_u16

channel, alt_u16 size, alt_u32 flags, alt_u16 error, alt_

u8 data_error_mask);

Thread-safe 使用不可

Include < data_source_util.h >

パラメータ cmd_base—コマンド・スレーブのベース・アドレスです。channel—データを送信するチャネルです。size—データ・サイズです。フラグ - SOP信号と EOP信号を送信するか、あるいは抑制するかを指定します。有効な値は、DATA_SOURCE_SEND_SOP、DATA_

SOURCE_SEND_EOP、DATA_SOURCE_SEND_SUPRESS_SOP、DATA_SOURCE_SEND_SUPRESS_EOPです。error—出力インタフェースの error信号にアサートされた値です。data_error_mask—エラーのあるデータを生成するために、パラメータとデータが一緒に XORされます。

戻り値 1を戻します。

QII510252014.12.15 2014.12.15 data_source_send_data() 10-57

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 58: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

Information Type 説明

説明 指定のチャネルにデータ・フラグメントを 1つ送信します。データ・パケットがサポートされている場合、アプリケーションは、各チャネルで SOPと EOPが一貫して使用されていることを確認する必要があります。パケットの最後のセグメントを除いて、各セグメントの長さは、データ幅の倍数でとなります。データ・パケットがサポートされていない場合、アプリケーションは、データ内に SOPと EOPがないことを確認する必要があります。パケット内の各セグメントの長さは、データ幅の倍数となります。

テスト・パターン・チェッカーの API以下の項では、テスト・パターン・チェッカー・コアの APIについて説明します。API機能は、ISRからは現在利用できません。

10-59ページの data_sink_reset()

10-59ページの data_sink_init()

10-60ページの data_sink_get_id()

10-60ページの data_sink_get_supports_packets()

10-60ページの data_sink_get_num_channels()

10-61ページの data_sink_get_symbols_per_cycle()

10-61ページの data_sink_get_enable()

10-62ページの data_sink_set enable()

10-62ページの data_sink_get_throttle()

10-63ページの data_sink_set_throttle()

10-63ページの data_sink_get_packet_count()

10-64ページの data_sink_get_error_count()

10-64ページの data_sink_get_symbol_count()

10-65ページの data_sink_get_exception()

10-65ページの data_sink_exception_is_exception()

10-66ページの data_sink_exception_has_data_error()

10-66ページの data_sink_exception_has_missing_sop()

10-66ページの data_sink_exception_has_missing_eop()

10-67ページの data_sink_exception_signalled_error()

10-67ページの data_sink_exception_channel()

10-58 テスト・パターン・チェッカーの APIQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 59: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

data_sink_reset()

表 10-39: data_sink_reset()

情報の種類 説明

Prototype void data_sink_reset(alt_u32 base);

Thread-safe 使用不可

Include < data_sink_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。

Returns void

Description すべての内部カウンタを含むテスト・パターン・チェッカーをリセットします。

data_sink_init()

表 10-40: data_sink_init()

情報の種類 説明

Prototype int data_source_init(alt_u32 base);

Thread-safe 使用不可

Include < data_sink_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。

Returns 1—初期化は成功です。0—初期化は成功していません。

Description テスト・パターン・チェッカー・コアを初期化するには、以下の動作を実行します。• テスト・パターン・チェッカー・コアをリセットしディセーブルします。

• スロットルを最大値に設定します。

QII510252014.12.15 2014.12.15 data_sink_reset() 10-59

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 60: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

data_sink_get_id()

表 10-41: data_sink_get_id()

情報の種類 説明

Prototype int data_sink_get_id(alt_u32 base);

Thread-safe 使用可

Include < data_sink_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。

Returns テスト・パターン・チェッカー識別子です。

Description テスト・パターン・チェッカー・コアの識別子を取得します。

data_sink_get_supports_packets()

表 10-42: data_sink_get_supports_packets()

情報の種類 説明

Prototype data_sink_get_symbols(alt_u32 base);

Thread-safe 使用可

Include < data_sink_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。

Returns 1—データパケットがサポートされています。0—データパケットはサポートされていません。

Description テスト・パターン・チェッカー・コアがデータ・パケットをサポートするかどうかをチェックします。

data_sink_get_num_channels()

表 10-43: data_sink_get_num_channels()

Information Type 説明

プロトタイプ int data_sink_get_num_channels(alt_u32 base);

10-60 data_sink_get_id()QII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 61: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

Information Type 説明

Thread-safe 使用可

Include < data_sink_util.h >

パラメータ base—制御およびステータス・スレーブのベース・アドレスです。

戻り値 サポートされるチャネル数です。

説明 テスト・パターン・チェッカー・コアによってサポートされるチャネルの数を取得します。

data_sink_get_symbols_per_cycle()

表 10-44: data_sink_get_symbols_per_cycle()

情報の種類 説明

Prototype int data_sink_get_symbols(alt_u32 base);

Thread-safe 使用可

Include < data_sink_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。

Returns 1つのビートで受信されるシンボルの数です。

Description 各ビートでテスト・パターン・チェッカー・コアによって受信されるシンボルの数を取得します。

data_sink_get_enable()

表 10-45: data_sink_get_enable()

情報の種類 説明

Prototype int data_sink_get_enable(alt_u32 base);

Thread-safe 使用可

Include < data_sink_util.h >

QII510252014.12.15 2014.12.15 data_sink_get_symbols_per_cycle() 10-61

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 62: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

情報の種類 説明

Parameters base—制御およびステータス・スレーブのベース・アドレスです。

Returns ENABLEビットの値です。

Description ENABLEビットの値を取得します。

data_sink_set enable()

表 10-46: data_sink_set enable()

情報の種類 説明

Prototype void data_sink_set_enable(alt_u32 base, alt_u32 value);

Thread-safe 使用不可

Include < data_sink_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。value—ENABLEビットはパラメータの値に設定されています。

Returns void

Description テスト・パターン・チェッカー・コアをイネーブルします。

data_sink_get_throttle()

表 10-47: data_sink_get_throttle()

情報の種類 説明

Prototype data_sink_get_symbols(alt_u32 base);

Thread-safe 使用可

Include < data_sink_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。

Returns スロットル値です。

Description スロットル値を取得します。

10-62 data_sink_set enable()QII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 63: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

data_sink_set_throttle()

表 10-48: data_sink_set_throttle()

Information Type 説明

プロトタイプ void data_sink_set_throttle(alt_u32 base, alt_u32 value);

Thread-safe 使用不可

Include: < data_sink_util.h >

パラメータ base—制御およびステータス・スレーブのベース・アドレスです。value—スロットル値です

戻り値 void

説明 スロットル値を設定します。スロットル値には 0~256の値を設定することができます。このスロットル値を 256で割った値は、テスト・パターン・チェッカーがデータを受信するレートとなります。

data_sink_get_packet_count()

表 10-49: data_sink_get_packet_count()

情報の種類 説明

Prototype int data_sink_get_packet_count(alt_u32 base, alt_u32

channel);

Thread-safe 使用不可

Include < data_sink_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。channel—チャネル数です。

Returns チャネルで受信されたデータ・パケットの数です。

Description チャネルで受信されたデータ・パケットの数を取得します。

QII510252014.12.15 2014.12.15 data_sink_set_throttle() 10-63

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 64: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

data_sink_get_error_count()

表 10-50: data_sink_get_error_count()

情報の種類 説明

Prototype int data_sink_get_error_count(alt_u32 base, alt_u32

channel);

Thread-safe 使用不可

Include < data_sink_util.h >

Parameters base—制御およびステータス・スレーブのベース・アドレスです。channel—チャネル数です。

Returns チャネルで受信されたエラーの数です。

Description チャネルで受信されたエラーの数を取得します。

data_sink_get_symbol_count()

表 10-51: data_sink_get_symbol_count()

Information Type 説明

プロトタイプ int data_sink_get_symbol_count(alt_u32 base, alt_u32

channel);

Thread-safe 使用不可

Include < data_sink_util.h >

パラメータ base—制御およびステータス・スレーブのベース・アドレスです。channel—チャネル数です。

戻り値 チャネルで受信されたシンボルの数です。

説明 チャネルで受信されたシンボルの数を取得します。

10-64 data_sink_get_error_count()QII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 65: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

data_sink_get_exception()

表 10-52: data_sink_get_exception()

Information Type 説明

プロトタイプ int data_sink_get_exception(alt_u32 base);

Thread-safe 使用可

Include < data_sink_util.h >

パラメータ base—制御およびステータス・スレーブのベース・アドレスです。

戻り値 例外 FIFO内の最初の例外ディスクリプタです。0—例外 FIFO内に例外ディスクリプタが検出されなかったことを示します。

説明 例外 FIFO内の最初の例外ディスクリプタを取得し、FIFOへポップします。

data_sink_exception_is_exception()

表 10-53: data_sink_exception_is_exception()

情報の種類 Description

Prototype int data_sink_exception_is_exception(int exception);

Thread-safe 使用可

Include < data_sink_util.h >

Parameters exception—例外ディスクリプタ

Returns 1—例外があることを示します。0—例外がないことを示します。

Description 例外ディスクリプタが有効な例外を説明しているかをチェックします。

QII510252014.12.15 2014.12.15 data_sink_get_exception() 10-65

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 66: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

data_sink_exception_has_data_error()

表 10-54: data_sink_exception_has_data_error()

Information Type 説明

プロトタイプ int data_sink_exception_has_data_error(int exception);

Thread-safe 使用可

Include < data_sink_util.h >

パラメータ exception—例外ディスクリプタ

戻り値 1—データにエラーがあることを示します。0—エラーがないことを示します。

説明 例外がエラーのあるデータを示しているかをチェックします。

data_sink_exception_has_missing_sop()

表 10-55: data_sink_exception_has_missing_sop()

情報の種類 Description

Prototype int data_sink_exception_has_missing_sop(int exception);

Thread-safe 使用可

Include < data_sink_util.h >

Parameters exception—例外ディスクリプタ

Returns 1—SOPが欠落しています。0—その他の例外のタイプです。

Description 例外ディスクリプタが SOPの欠落を示しているかをチェックします。

data_sink_exception_has_missing_eop()

表 10-56: data_sink_exception_has_missing_eop()

情報の種類 Description

Prototype int data_sink_exception_has_missing_eop(int exception);

10-66 data_sink_exception_has_data_error()QII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 67: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

情報の種類 Description

Thread-safe 使用可

Include < data_sink_util.h >

Parameters exception—例外ディスクリプタ

Returns 1—EOPが欠落しています。0—その他の例外のタイプです。

Description 例外ディスクリプタが EOPの欠落を示しているかをチェックします。

data_sink_exception_signalled_error()

表 10-57: data_sink_exception_signalled_error()

情報の種類 Description

Prototype int data_sink_exception_signalled_error(int exception);

Thread-safe 使用可

Include < data_sink_util.h >

Parameters exception—例外ディスクリプタ

Returns シグナル・エラー値です。

Description 例外からシグナル・エラーの値を取得します。

data_sink_exception_channel()

表 10-58: data_sink_exception_channel()

情報の種類 Description

Prototype int data_sink_exception_channel(int exception);

Thread-safe 使用可

Include < data_sink_util.h >

Parameters exception—例外ディスクリプタ

Returns 例外が発生したチャネル数です。

QII510252014.12.15 2014.12.15 data_sink_exception_signalled_error() 10-67

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 68: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

情報の種類 Description

Description 例外が発生したチャネル数を取得します。

Avalon-ST Splitterコア図 10-25: Avalon-ST Splitterコア

Avalon-ST Splitterコアを使用すると、Avalon-STソース・インタフェースから複数の Avalon-STシンク・インタフェースへのトランザクションを複製することが可能になります。このコアは、1~16の出力をサポートしています。

Output 0

In_Data

Out_Data

Avalo

n-ST

Sink

Avalon-STSplitter Core

Output N

Avalon-STSource 0

Clock

Avalon-STSource N

Avalon-ST Splitterコアは、サイズや機能を変更させずに、入力インタフェースからの入力信号を各出力インタフェースの対応する出力信号へ複製します。これには、ready信号を除くすべての信号が含まれます。また、コアには Avalon-STインタフェースおよびコアが存在するクロック・ドメインを決定するクロック信号が含まれます。Splitterコアは、clock信号を内部で使用しないので、このコアを使用する際にレイテンシは含まれません。

SplitterコアのバックプレッシャAvalon-ST Splitterコアは、出力インタフェースから ready信号を ANDし、その結果を入力インタフェースに送信することでバックプレッシャと統合します。その結果、出力インタフェースがready信号をディアサートし、同様に入力インタフェースがディアサートされた ready信号を受信します。この機能は、出力インタフェースのバックプレッシャが入力インタフェースに伝播されることを保証します。Qualify Valid Outパラメータが 1に設定されている状態で、1つの出力インタフェースからバックプレッシャが適用される場合、その他のすべての出力インタフェース上の out_valid信号はゲートされます。この場合、出力インタフェースのどれかが ready信号をディアサートするのであれば、他の出力インタフェースにある out_valid信号はディアサートされます。Qualify Valid Outパラメータが 0に設定されている状態で、バックプレッシャが適応される場合、出力インタフェースにはゲートされない out_valid信号が含まれます。この場合、1つの出

10-68 Avalon-ST SplitterコアQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 69: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

力インタフェースが ready信号をディアサートするのであれば、他の出力インタフェースにあるout_valid信号は影響を受けません。これは、ロジックは組み合わせであり、コアは待ち時間を追加しないからです。

SplitterコアのインタフェースAvalon-STスプリッタ・コアは任意のパケット、チャネル、およびエラー信号でストリーミング・データをサポートします。コアは、どの出力インタフェースからでも入力インタフェースへバックプレッシャを伝播します。

表 10-59: Avalon-ST Splitterコアのサポート

特長 サポートの種類

Backpressure Readyレイテンシ = 0

Data Width コンフィギュレーション可能

Channel (オプションで)サポートされています。

Error (オプションで)サポートされています。

Packet (オプションで)サポートされています。

Splitterコアのパラメータ表 10-60: Avalon-ST Splitterコアのパラメータ

Parameters 正当値 デフォルト値 Description

Number Of Outputs 1~16 2 出力インタフェースの数を表します。Qsysは、重複した出力を必要としない一部のシステムに対しては 1をサポートします。

Qualify Valid Out 0または 1 1 バックプレッシャが適応される場合に、out_valid信号をゲートするのか、しないのかを決定します。

Data Width 1~512 8 Avalon-STデータ・インタフェースのデータ幅です。

Bits Per Symbol 1~512 8 入力インタフェースと出力インタフェースのシンボルあたりのビット数です。例えば、バイト指向のインタフェースであれば、8ビットのシンボルがあります。

QII510252014.12.15 2014.12.15 Splitterコアのインタフェース 10-69

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 70: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

Parameters 正当値 デフォルト値 Description

Use Packets 0または 1 0 データ・パケット転送がサポートされているかどうかを示します。パケット・サポートには、startofpacket、endofpacket、および empty信号が含まれます。

Use Channel 0または 1 0 チャンネル信号をイネーブルまたはディセーブルにするオプションです。

Channel Width 0~8 1 データ・インタフェースの channel信号の幅です。このパラメータは UseChannelが、0で設定されているとディセーブルされます。

Max Channels 0~255 1 データ・インタフェースがサポートできる最大チャネル数です。このパラメータは Use Channelが、0で設定されているとディセーブルされます。

Use Error 0または 1 0 エラー信号をイネーブルまたはディセーブルにするオプションです。

Error Width 0~31 1 出力インタフェースの error信号の幅です。値 0は、スプリッタ・コアが error

信号を使用していないことを意味します。このパラメータは Use Errorが、0

に設定されているとディセーブルされます。

10-70 SplitterコアのパラメータQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 71: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

Avalon-ST Delayコア図 10-26: Avalon-ST Delay Core

Avalon-ST Delayコアは、一定数のクロック・サイクルにより、Avalon-STトランザクションの遅延に関するソリューションを提供します。このコアは、最大 16クロック・サイクルの遅延をサポートします。

Out_DataIn_Data

Clock

Avalo

n-ST

Sink

Avalon-ST SourceAvalon-ST

Delay Core

Delayコアは、入力インタフェースと出力のインタフェース間に遅延を追加します。コアは入力インタフェース上のトランザクションを受入れ、そのトランザクションを変更することなく Nサイクル後に出力インタフェースにそのトランザクションを再度生成します。入力インタフェースは、出力インタフェースの対応する出力信号に一定の N数のクロック・サイクルを加えることで入力信号に遅延を生じさせます。Number Of Delay Clocksパラメータは、定数の Nを定義しますが、この値は 0から 16の間でなければいけません。in_valid信号の変更は、out_valid信号に正確に Nサイクル後に反映されます。

Delayコアのリセット信号Avalon-ST Delayコアには、reset信号があり、この信号は clkに同期されます。コアが reset信号をアサートする際、出力信号は 0でホールドされます。reset信号がディアサートされた後、出力信号は Nクロック・サイクルの間、0でホールドされます。入力信号の遅延値はその後、N

クロック・サイクル後に出力信号に反映されます。

DelayコアのインタフェースDelay Coreは任意のパケット、チャネル、およびエラー信号でストリーミング・データをサポートします。Delay Coreは、バックプレッシャをサポートしません。

表 10-61: Avalon-ST Delay Coreのサポート

特長 サポートの種類

Backpressure サポートされていません。

Data Width コンフィギュレーション可能

QII510252014.12.15 2014.12.15 Avalon-ST Delayコア 10-71

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 72: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

特長 サポートの種類

Channel (オプションで)サポートされています。

Error (オプションで)サポートされています。

Packet (オプションで)サポートされています。

Delayコアのパラメータ表 10-62: Avalon-ST Delay Coreのパラメータ

パラメータ 正当値 デフォルト値 説明

Number Of Delay Clocks 0~16 1 クロック・サイクルでコアが追加する遅延を指定します。Qsysは、遅延を必要としない一部のシステムに対して 0をサポートします。

Data Width 1~512 8 Avalon-STデータ・インタフェースのデータ幅です。

Bits Per Symbol 1~512 8 入力インタフェースと出力インタフェースのシンボルあたりのビット数です。例えば、バイト指向のインタフェースであれば、8ビットのシンボルがあります。

Use Packets 0または 1 0 データ・パケット転送がサポートされるかどうかを示します。パケット・サポートには、startofpacket、endofpacket、および empty信号が含まれます。

Use Channel 0または 1 0 チャンネル信号をイネーブルまたはディセーブルにするオプションです。

Channel Width 0~8 1 データ・インタフェースの channel信号の幅です。このパラメータは UseChannelが、0で設定されているとディセーブルされます。

Max Channels 0~255 1 データ・インタフェースがサポートできる最大チャネル数です。このパラメータは Use Channelが、0で設定されているとディセーブルされます。

10-72 DelayコアのパラメータQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 73: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

パラメータ 正当値 デフォルト値 説明

Use Error 0または 1 0 エラー信号をイネーブルまたはディセーブルにするオプションです。

Error Width 0~31 1 出力インタフェースの error信号の幅です。値 0は、error信号が使用されていないことを意味します。このパラメータは、Use Errorが 0に設定されているとディセーブルされます。

Avalon-ST Round Robin Scheduler図 10-27: Avalon-ST Round Robin Scheduler

Avalon-ST Round Robin Schedulerコアは、チャネルによってデータをバッファリングするマルチ・チャネル Avalon-STコンポーネントからのリード動作を制御します。Avalon-ST Round RobinSchedulerコアは、マルチ・チャネル・コンポーネント内の複数のチャネルから almost fullスレッショルドをリードし、ラウンドロビン・スケジューリング・アルゴリズムに従い Avalon-STソースにリード要求を発行します。

Request(Channel_select) Almost Full Status

Avalon-STRound-Robin

SchedulerA valo

n-M

M

Wri t

e Mas

ter Avalon-ST Sink

マルチ・チャネル・コンポーネントの場合、FIFOでのシーケンスか、あるいはチャネルに応じたセグメントのどちらかでデータを格納することができます。チャネルに応じてセグメントにデータを格納する場合、リード動作の調整にはスケジューラが必要となります。

Almost-Full Statusインタフェース(Round Robin Scheduler)Almost-Full Statusインタフェースとは、提供されるシーケンス内のチャネルへシンク・コンポーネントから almost fullステータスを収集する Avalon-STシンク・インタフェースです。

QII510252014.12.15 2014.12.15 Avalon-ST Round Robin Scheduler 10-73

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 74: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

表 10-63: Avalon-STインタフェース機能のサポート

特長 プロパティ

Backpressure サポート対象外

Data Width データ幅= 1、シンボルあたりのビット= 1 です。

Channel 最大チャネル= 32、チャネル幅= 5 です。

Error サポート対象外

Packet サポート対象外

Requestインタフェース(Round Robin Scheduler)Requestインタフェースは、指定のチャネルからデータを要求する Avalon-MMライト・マスタ・インタフェースです。Avalon-ST Round Robin Schedulerは、サポートするチャネルを介してサイクルし、リードされるデータを調整します。

Round Robin Schedulerの動作指定のチャンネルが almost fullの場合、Avalon-ST Round Robin Schedulerは、ソース・コンポーネントのチャンネルからリードされるデータを調整しません。スケジューラは、各トランザクションでチャネルからの 1ビートのデータだけ要求します。チャネル nから 1ビートのデータを要求する場合、スケジューラは値 1をアドレス(4 ×n)にライトします。例えば、スケジューラがチャネル 3からデータを要求する場合、スケジューラは 1をアドレス 0xCにライトします。各クロック・サイクルで、スケジューラは次のチャネルからのデータを要求します。したがって、スケジューラが次のクロック・サイクルでチャネル 1から要求を開始する場合、スケジューラはチャネル 2からの要求することになります。そのチャネルにallmost full状態がアサートされている場合、スケジューラは特定のチャネルからのデータ要求は行いません。この場合、スケジューラは要求トランザクションなしで、1つのクロック・サイクルを使用します。要求されたコンポーネントが要求トランザクションを処理することができるかどうかは、Avalon-ST Round Robin Schedulerは判断できません。新しい要求が受入れ不可能な場合、コンポーネントは waitrequestをアサートします。

表 10-64: Avalon-ST Round Robin Schedulerポート

信号 入力/出力 説明

クロックおよびリセット

clk In クロック基準です。

reset_n In 非同期のアクティブ Lowリセット信号です。

10-74 Requestインタフェース(Round Robin Scheduler)QII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 75: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

信号 入力/出力 説明

Avalon-MM Requestインタフェース

request_address (log2 Max_

Channels–1:0)Out どのチャネルに要求があるかを示すライト・ア

ドレスです。

request_write Out ライト・イネーブル信号。

request_writedata Out 指定のチャネルから要求されるデータの量です。この値は常に 1で固定されています。

request_waitrequest In スレーブが新しい要求を受け入れられない場合にスケジューラを停止させるウェイト要求信号です。

Avalon-ST Almost-Full Statusインタフェース

almost_full_valid In almost_full_channel と almost_full_dataが有効であることを示します。

almost_full_channel (Channel_

Width–1:0)In 現在のステータスへのチャネルを表示します。

almost_full_data (log2 Max_

Channels–1:0)In Highでアサートされた 1ビット信号で、

almost_full_channelで示されるチャネルがalmost fullであることを表します。

Round Robin Schedulerのパラメータ表 10-65: Avalon-ST Round Robin Schedulerのパラメータ

Parameters 値 Description

Number of channels 2~32 Avalon-ST Round Robin Schedulerがサポートするチャネル数を指定します。

Use almost-full status 0~1 almost fullインタフェースをスケジューラが使用するかどうかを指定します。使用しない場合、コアは次のクロック・サイクルで次のチャネルからのデータを要求します。

QII510252014.12.15 2014.12.15 Round Robin Schedulerのパラメータ 10-75

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 76: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

Avalon Packets to Transactions Converter図 10-28: Avalon Packets to Transactions Converterコア

Avalon Packets to Transactions Converterコアは、アップストリーム・コンポーネントからストリーミング・データを受信し、Avalon-MMトランザクションを開始します。その後コアは、要求元のコンポーネントへの Avalon-MMトランザクション・レスポンスを返します。

Avalo

n-ST

Sin

k

Avalon Packets to

TransactionsConverter

data_outAv

alon-

MM

Mas

ter

data_in

Avalo

n-ST

So

urce

Avalon-MMSlave

Component

注: SPI Slave to Avalon Masterブリッジおよび JTAG to Avalon Masterブリッジ は、Packets toTransaction coreの例です。詳細については Avalon Interface Specificationsを参照してください。

関連情報Avalon Interface Specifications

Packets to Transactions Converterインタフェース表 10-66: Avalon-STインタフェースのプロパティ

内容 特性

Backpressure Readyレイテンシ = 0

Data Width データ幅 = 8 ビット、シンボルあたりのビット= 8 です。

チャネル サポート無し

10-76 Avalon Packets to Transactions ConverterQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 77: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

内容 特性

Error 使用しない

Packet サポート有り

Avalonマスタ・インタフェースは、リードおよびライト・トランザクションをサポートしています。データ幅は 32ビットで設定されており、バース・トトランザクションはサポートされていません。

Packets to Transactions Converterの動作Packets to Transactions Converterコアは、Avalon-STシンク・インタフェースでパケット・ストリームを受信し、Avalon-MMトランザクションを開始します。Avalonスレーブからのトランザクション・レスポンスを受信すると、コアはそのレスポンスをパケットに変換し、Avalon-STソース・インタフェースを介して要求元のコンポーネントに返します。コアは、Avalon-STエラーを報告しません。

Packets to Transactions Converterのデータ・パケット・フォーマットすべてのライト・トランザクションに対しレスポンス・パケットが返されます。コアもトランザクション(0x7f)が受信されない場合、レスポンス・パケットを返します。無効なトランザクション・コードはトランザクションではないと見なされます。リード・トランザクションの場合、コアはリードされたデータを返します。Packets to Transactions Converterコアは、着信データ・ストリームが以下の表に示すフォーマットとなることを想定しています。

表 10-67: データ・パケット・フォーマット

バイト フィールド 説明説明

トランザクション・パケット・フォーマット

0 Transaction code トランザクションの種類

1 予約 将来用の予備

[3:2] Size バイト単位のトランザクション・サイズです。ライト・トランザクションの場合、サイズは dataフィールドのサイズを表します。リード・トランザクションの場合、サイズはリードするバイト数の合計を表します。

[7:4] アドレス トランザクション向けの 32ビット・アドレスです。

[n:8] Data トランザクション・データで、ライト・トランザクション用にライトされるデータです。

QII510252014.12.15 2014.12.15 Packets to Transactions Converterの動作 10-77

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 78: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

バイト フィールド 説明説明

レスポンス・パケット・フォーマット

0 Transaction code 最上位のビットが反転したトランザクション・コードです。

1 予約 将来用の予備

[4:2] Size リード/ライトが成功したバイトの合計数です。

関連情報10-76ページの Packets to Transactions Converterインタフェース

Packets to Transactions Converterがサポートするトランザクション

表 10-68: Packets to Transactions Converterがサポートするトランザクション

Packets to Transactions Converterコアによってサポートされる Avalon-MMのトランザクショントランザクション・コード

Avalon-MMトランザクション Description

0x00 ライト。インクリメントしないアドレスです。

同じワード・アドレスにライトされるバイトの合計数が、sizeフィールドに指定された値と等しくなるまでアドレスにデータをライトします。

0x04 ライト。インクリメントするアドレスです。

現在のアドレスからトランザクション・データを書き込みます。

0x10 リード。インクリメントしないアドレスです。

同じワード・アドレスにライトされるバイトの合計数が、 sizeフィールドに指定された値と等しくなるまでアドレスから 32ビットのデータをリードします。

0x14 リード。インクリメントするアドレスです。

現在のアドレスから開始される sizeパラメータで指定されたバイト数をリードします。

0x7f トランザクションはありません。トランザクションは開始されません。このタイプのトランザクションは、テストとして使用することができます。トランザクションは Avalon-MMインタフェースで開始されませんが、コアはこのトランザクション・コード用のレスポンス・パケットを返します。

Packets to Transactions Converterコアは一度に 1つのトランザクションだけを処理することができます。コアの Avalon-STシンク・インタフェース上の ready信号は、現在のトランザクションが完全に完了した後でしかアサートされません。

10-78 Packets to Transactions ConverterがサポートするトランザクションQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 79: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

データ・パス上には、内部バッファは実装されません。Avalon-STインタフェースで受信されたデータは、Avalon-MMインタフェースに直接転送されます。その逆の場合も同様です。Avalon-MMインタフェースで waitrequest信号をアサートすると、Avalon-STシンク・インタフェースをバックプレッシャします。逆方向の場合は、Avalon-STソース・インタフェースがバックプレッシャされていると、Avalon-MMインタフェース上の read号はバックプレッシャが緩和されるまでアサートされません。また、リード中に Avalon-STソースをバックプレッシャすると、データが失われる可能性があります。この場合、コアが正常に受信されたデータを返します。コアが EOPを受信した時点で、トランザクションが完了したと見なされます。ライト・トランザクションの場合、実際のデータ・サイズは sizeプロパティの値と等しくなることが予想されますが、両方の値が一致するか否かにかかわらず、コアは常に EOPを使用しデータの終了を決定します。

Packets to Transactions Converterの不正な形式のパケット不正な形式のパケットの例を以下に示します。• Consecutive start of packet (SOP)—1つの SOPがトランザクションの開始のマークを付けます。トランザクション中に 1つの SOPが受信されると、コアはトランザクションへのレスポンス・パケットを返さずに現在のトランザクションを中断し、新しいトランザクションを開始するので、EOPが無くてもパケットが効率的に処理されます。

• Unsupported transaction codes—コアはサポートされていないトランザクションをトランザクションとみなさずに処理します。

Avalon-STストリーミング・パイプライン・ステージAvalon-STパイプライン・ステージは、Avalon-STソース・インタフェースからデータを受信し、そのデータを Avalon- STシンク・インタフェースに出力します。バックプレッシャが存在しない場合、Avalon-STパイプライン・ステージ・ソース・インタフェースは、シンク・インタフェースでデータを受信した 1サイクル後にデータを出力します。パイプライン・ステージが、ソース・インタフェース上でバックプレッシャを受信した場合、そのソース・インタフェース上で現在のデータ出力をアサートし続けます。パイプライン・ステージがそのソース・インタフェース上でバックプレッシャを受信していている間、パイプライン・ステージはシンク・インタフェース上で新しいデータを受信し、内部で新しいデータをバッファします。バックプレッシャがアサートされると、パイプライン・ステージのソース・インタフェースはディアサートされ、パイプライン・ステージは内部でバッファされたデータがある場合、そのデータをアサートします。これ以外にも、パイプライン・ステージはシンク・インタフェース上のバックプレッシャをディアサートします。

QII510252014.12.15 2014.12.15 Packets to Transactions Converterの不正な形式のパケット 10-79

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 80: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-29: パイプライン・ステージ・シンプル・レジスタ

ready信号がパイプライン化されていない場合は、パイプライン・ステージは、シンプルなレジスタとなります。

Sink Sourcedata_in data_outRegister 0

図 10-30: Pipeline Stage Holding Register

ready信号がパイプライン化されている場合は、パイプライン・ステージにも 2番目の「holding」レジスタを含める必要があります。

Sink Sourcedata_in data_outRegister 1

Register 0

Full?

Full?

ストリーミング・チャネル・マルチプレクサとでマルチプレクサ・コアAvalon-STチャネル・マルチプレクサ・コアは、データの発信元を示すためにオプションのchannel信号を使用して様々な入力インタフェースからデータを取り込み、そのデータを 1つの出力インタフェースにマルチプレクサ化します。Avalon-STチャネル・デマルチプレクサ・コアは、チャネル入力インタフェースからデータを受信し、そのデータを複数の出力インタフェースにドライブします。この場合、出力インタフェースは入力 channel信号で選択されます。マルチプレクサとデマルチプレクサ・コアは、単方向のデータ・フローをサポートするコア上のインタフェース間でデータを転送できます。マルチプレクサとデマルチプレクサを使用すれば、カスタム HDLコードを記述することなく、マルチプレクス化またはデマルチプレクサ・データパスを作成できます。マルチプレクサには、Avalon-ST Round Robin Schedulerが含まれています。

10-80 ストリーミング・チャネル・マルチプレクサとでマルチプレクサ・コアQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 81: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

関連情報10-73ページの Avalon-ST Round Robin Scheduler

マルチプレクサおよびデマルチプレクサ・コンポーネント用のソフトウェア・プログラミング・モデル

マルチプレクサ・コンポーネントおよびデマルチプレクサ・コンポーネントには、ユーザが表示できるコントロール・レジスタやステータス・レジスタがありません。そのため、実行時にマルチプレクサまたはデマルチプレクサのどの機能も Qsysから制御またはコンフィギュレーションすることはできません。また、これらのコンポーネントは割り込みを生成できません。

Avalon-STマルチプレクサ図 10-31: Avalon-STマルチプレクサ

Avalon-STマルチプレクサは、様々な入力データ・インタフェースからデータを取り込み、そのデータを 1つの出力インタフェースにマルチプレクス化します。マルチプレクサには、ラウンド・ロビン・スケジューラが組み込まれており、データが存在する次の入力インタフェースを選択します。各入力インタフェースは出力インタフェースと同じ幅なので、マルチプレクサが異なる入力インタフェースからのデータを転送しているときには、他の入力インタフェースにバックプレッシャがかかります。

srcsink

data_in_ n

sink

data_in 0

data_out

. . .

Round Robin, Burst Aware Scheduler

(optional )

sink

sink

. . .

channel

マルチプレクサにはオプションの channel信号があり、それによって各入力インタフェースはチャネル・データを転送できます。出力インタフェースのチャネル幅は、(log2 (n-1)) + 1 + w

で求められ、nは入力インタフェースの数、wは各入力インタフェースのチャネル幅となります。すべての入力インタフェースは、同じチャネル幅である必要があります。こうしたビットは、出力チャネル信号の最上位ビットあるいは最下位ビットのいずれかに付加されます。

QII510252014.12.15 2014.12.15 マルチプレクサおよびデマルチプレクサ・コンポーネント用のソフトウェア・プロ

グラミング・モデル10-81

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 82: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

スケジューラは一度に 1つの入力インタフェースを処理し、それを転送用に選択します。入力インタフェースが選択されると、以下のシナリオの 1つが発生するまで、その入力インタフェースからのデータが送信されます。• 指定されたサイクル数を経過した場合• 入力インタフェースに送信するデータがそれ以上なく、レディ・サイクルで valid信号がディアサートされる場合

• パケットがサポートされていて、endofpacketがアサートされる場合

マルチプレクサ入力インタフェース各入力インタフェースは、オプションでパケットをサポートする Avalon-STデータ・インタフェースです。各入力インタフェースは全く同じインタフェースであり、シンボル幅、データ幅、エラー幅、チャネル幅は全て同じです。

マルチプレクサ出力インタフェース出力インタフェースは、入力からのデータを含むマルチプレクス化されたデータ・ストリームを転送します。シンボル幅、データ幅、エラー幅は入力インタフェースと同じです。channel信号の幅は入力インタフェースも等しく、データの発信元を示す必要のあるビットが追加されます。出力インタフェースには以下のパラメータを設定できます。• Data Bits Per Symbol—シンボルあたりのビットは、readdata信号と writedata信号の幅に関連しており、シンボルあたりのビットの倍数でなければなりません。

• Data Symbols Per Beat—ビート(転送)あたりに転送されるシンボル(ワード)数です。有効な値は 1~32です。

• Include Packet Support—パケット転送がサポートされるかどうかを示します。パケット・サポートには、startofpacket、endofpacket、および empty信号が含まれます。

• Channel Signal Width (bits)— 出力インタフェースのチャネル信号に Qsysが使用するビット数です。出力インタフェースのチャネル信号に Qsysが使用するビット数です。入力チャネルの幅は 0~31ビットをとることが可能です。

• Error Signal Width (bits)—入力インタフェースと出力インタフェースの error信号の幅です。値 0は error信号が使用されないことを意味します。

注: データ幅を変更せずにシンボルあたりのビットのみを変更する場合、エラーが生成されます。

マルチプレクサのパラメータマルチプレクサには以下のパラメータを設定できます。

10-82 マルチプレクサ入力インタフェースQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 83: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

• Number of Input Ports—マルチプレクサがサポートする入力インタフェースの数に対する有効な値は 2~16です。

• Scheduling Size (Cycles)次のチャネルに変更する前に、1つのチャネルから送信されるサイクル数。

• Use Packet Scheduling—このパラメータをオンにすると、マルチプレクサはパケット領域にある指定したインタフェースだけを切り替えます。このため、出力インタフェースにあるパケットはインターリーブされていません。

• Use high bits to indicate source port—このパラメータをオンにすると、マルチプレクサは出力channel信号の上位ビットを使用して入力インタフェースのデータの発信元を表します。例えば、入力インタフェースに 4ビットのチャネル信号があり、マルチプレクサが 4つの入力インタフェースを持っている場合、出力インタフェースは 6ビットのチャネル信号を持ちます。このパラメータをオンにすると、出力チャネル信号のビット[5:4]は、データが送られてきた入力インタフェースを示します。ビット[3:0]は入力インタフェースに存在していたチャネル・ビットです。

Avalon-STデマルチプレクサ図 10-32: Avalon-STデマルチプレクサ

AvalonSTデマルチプレクサは、チャネル入力データ・インタフェースからデータを取り込み、そのデータを複数の出力インタフェースに提供します。この場合、特定の転送に対して選択される出力インタフェースは、入力 channel信号で指定されます。

sinkdata_out _n

data_out 0

sinksinkdata_in

src

src

. . . . . .

channel

データは、channel、packet、frame信号、あるいは他の信号の値に関係なく、入力インタフェースで受信された順に出力インタフェースに配信されます。各出力インタフェースは入力インタフェースと同じ幅なので、デマルチプレクサが異なる出力インタフェースにデータをドライブしている間、各出力インタフェースはアイドルになります。デマルチプレクサは log2

(num_output_interfaces)ビットの channel信号を使用して、データの転送先となる出力を選択します。残りのチャネル・ビットは変更されずに適切な出力インタフェースに転送されます。

デマルチプレクサ入力インタフェース各入力インタフェースは、オプションでパケットをサポートする Avalon-STデータ・インタフェースです。入力インタフェースには以下のパラメータを設定できます。

QII510252014.12.15 2014.12.15 Avalon-STデマルチプレクサ 10-83

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 84: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

• Data Bits Per Symbol—シンボルあたりのビットは、readdata信号と writedata信号の幅に関連しており、シンボルあたりのビットの倍数でなければなりません。

• Data Symbols Per Beat—ビート(転送)あたりに転送されるシンボル(ワード)数です。有効な値は 1~32です。

• Include Packet Support—データ・パケット転送がサポートされるかどうかを示します。パケット・サポートには、startofpacket、endofpacket、および empty信号が含まれます。

• Channel Signal Width (bits)—出力インタフェース用の channel信号用のビッド数です。値 0

は出力インタフェースがオプションの channel信号を使用しないことを意味します。• Error Signal Width (bits)—入力インタフェースと出力インタフェースの error信号の幅です。値 0は error信号が使用されていることを意味します。

注: データ幅を変更せずにシンボルあたりのビットのみを変更する場合、エラーが生成されます。

デマルチプレクサ出力インタフェース各出力インタフェースは、入力インタフェースのチャネルのサブセットからのデータを転送します。各出力インタフェースは同一であり、シンボル幅、データ幅、エラー幅、チャネル幅はすべて同じです。シンボル幅、データ幅、エラー幅は入力インタフェースと同じです。 channel信号の幅は、デマルチプレクサが出力インタフェースの選択に使用するビットを除き、入力インタフェースと同じです。

デマルチプレクサのパラメータデマルチプレクサには以下のパラメータを設定できます。• Number of Output Ports—マルチプレクサがサポートする出力インタフェースの数に対する有効な値は 2~16です。

• High channel bits select output—このオプションがオンの場合、デマルチプレクサ機能は上位ビットの入力 channel信号を使用し、下位ビットは出力へ渡されます。このオプションがオンの場合、デマルチプレクサ機能は下位ビットを使用し、上位ビットが出力に渡されます。

デザイン内のどこに信号を配置するかは、機能性に影響を与えます。例えば、入力インタフェースが 1つで出力インタフェースが 2つある場合、チャネル信号の下位ビットによって出力インタフェースが選択されるのであれば、偶数チャネルはチャネル 0、奇数チャネルはチャネル 1に送られます。また、チャネル信号の上位ビットで出力インタフェースが選択されるのであれば、チャネル 0~7はチャネル 0、チャネル 8~15はチャネル 1に送られます。

10-84 デマルチプレクサ出力インタフェースQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 85: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-33: デマルチプレクサのビットの選択

sink

data_out_n

data_ out 0

sinksink

data_ insrc

src

channel <4 .. 0 >

channel <3 .. 0 >

channel <3 .. 0 >

シングル・クロック FIFOコアおよびデュアル・クロック FIFOコアAvalon-STシングル・クロック FIFOコアと Avalon-STデュアル・クロック FIFOコアは、入力ポートと出力ポートそれぞれに共通のクロックと独立したクロックで動作する FIFOバッファです。

QII510252014.12.15 2014.12.15 シングル・クロック FIFOコアおよびデュアル・クロック FIFOコア 10-85

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 87: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

図 10-35: Avalon-STデュアル・クロック FIFOコア

Avalon-MMSlave

in_csr out_csr

Avalon-MMSlave

outin

Clock A Clock B

Avalon-STDual-Clock

FIFO

Avalon-STDataSink

Avalon-STData

Source

FIFOコアに実装されているインタフェース次のインタフェースは、FIFOコアに実装されています。

10-87ページの Avalon-STデータ・インタフェース10-88ページの Avalon-MM制御インタフェースとステータス・レジスタ・インタフェース10-88ページの Avalon-STステータス・ソース

Avalon-STデータ・インタフェース各 FIFOコアには、Avalon-STデータ・シンク・インタフェースとソース・インタフェースがあります。デュアル・クロック FIFOコア内のデータ・シンク・インタフェースとソース・インタフェースは、異なるクロックによってドライブされます。

表 10-69: Avalon-STインタフェースのプロパティ

特長 プロパティ

Backpressure Readyレイテンシ = 0

QII510252014.12.15 2014.12.15 FIFOコアに実装されているインタフェース 10-87

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 88: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

特長 プロパティ

Data Width コンフィギュレーション可能

Channel 最大 255チャネルまでサポートされています。

Error コンフィギュレーション可能

Packet コンフィギュレーション可能

Avalon-MM制御インタフェースとステータス・レジスタ・インタフェース各クロック・ドメイン内の Avalon-MMインタフェースを含めるようにオプションのシングル・クロック FIFOコアをコンフィギュレーションしたり、Avalon-MMインタフェースを含めるようにデュアル・クロック FIFOコアをコンフィギュレーションしたりすることが可能です。Avalon-MMインタフェースは 32ビットレジスタへのアクセスを提供します。これにより、FIFOバッファのフィル・レベルの取得、および almost emptyスレッショルドと almost fullスレッショルドのコンフィギュレーションが可能となります。シングル・クロック FIFOコアの場合、パケットおよびエラー処理モードのコンフィギュレーションも可能です。

Avalon-STステータス・ソースシングル・クロック FIFOコアは、Avalon-STステータス・ソース・インタフェースをオプションで 2つ備えており、このインタフェースを使用して FIFOバッファ almost fullおよび almostemptyステータスを取得することができます。

FIFO動作モード• Default mode—コアは inインタフェース(Avalon-STデータ・シンク)の受信データを受入れ、 このデータを outインタフェース(Avalon-STデータ・ソース)へ転送します。コアはAvalon-STソース・インタフェースに valid信号をアサートし、インタフェースでデータが利用可能であることを示します。

• Store and forward mode—このモードはシングル・クロック FIFOコアのみに適応されます。コアはインタフェースでフル・パケットのデータが利用可能な場合にのみ、valid信号を outインタフェースにアサートします。このモードを使用すると、drop_on_errorレジスタを 1に設定することで、drop-on-error機能をイネーブルにすることも可能です。この機能がイネーブルされると、in_error信号がアサートされコアは受信したすべてのパケットをドロップします。

• Cut-through mode—このモードはシングル・クロック FIFOコアのみに適応されます。コアはoutインタフェースで valid信号をアサートし、cut_through_thresholdレジスタで指定されたエントリ数が FIFOバッファで利用可能であるときに消費できるデータを示します。

注: Cut-through modeをオンにするには、Use store and forwardを 0に設定する必要があります。Use store and forward modeをオンにすると、ユーザーに Use fill levelをオンにするよう指示が出され、CSRが表示されます。

10-88 Avalon-MM制御インタフェースとステータス・レジスタ・インタフェースQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 89: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

FIFOバッファのフィル・レベルオプションの Avalon制御インタフェースおよびステータス・インタフェースを介して FIFOバッファのフィル・レベルを取得することができます。Use fill levelパラメータ(デュアル・クロック FIFOコアの Use sink fill levelと Use source fill level)をオンにし、fill_levelレジスタをリードします。デュアル・クロック FIFOコアは、各クロック・ドメイン内に 1つづつ、合計 2つのフィル・レベルがあります。クロック・クロッシング・ロジックには遅延が存在するため、入力および出力クロック・ドメインへレポートされるフィル・レベルは、インスタンスによって異なる場合があります。どちらの場合も、クロック・ドメインへレポートされるフィル・レベルは正確でない可能性があります。つまり、入力クロック・ドメインでは Highでレポートされていますが、出力クロック・ドメインでは Lowでレポートされることがあります。デュアル・クロック FIFOには fMAXを改善する出力パイプライン・ステージが含まれます。この出力ステージは、出力フィル・レベルの算出に対しては考慮されますが、入力フィル・レベルの算出には考慮されません。したがって、FIFO内のデータ量を測る最良の方法は、出力クロック・ドメイン内のフィル・レベルということになります。入力クロック・ドメイン内のフィル・レベルは、FIFO(使用可能なスペース= FIFOの深度-入力フィル・レベル)で使用可能なスペースの量を表します。

オーバーフローとアンダーフローを防止する Almost-FullスレッショルドとAlmost-Emptyスレッショルド

FIFOのオーバーフローとアンダーフローを防止するためのメカニズムとして、Almost-Fullスレッショルドと Almost-Emptyスレッショルドを使用することができます。この機能はシングル・クロック FIFOコアでのみ使用可能です。スレッショルド機能を使用するには、Use fill level、Usealmost-full status、および Use almost-empty statusパラメータをオンにします。almost_full_thresholdと almost_full_thresholdレジスタにアクセスし、アプリケーションに対し最適の値にレジスタを設定することができます。almost-fullと almost-emptyのステータスは、almost_fullおよび almost_emptyインタフェース(Avalon-STステータス・ソース)から取得することができます。フィル・レベルが almost-fullスレッショルドと等しいか、それ以上であれば、コアは almost_full信号をアサートします。これと同様に、コアはフィル・レベルが almost-emptyスレッショルドと等しいか、それ以上であれば almost_empty信号をアサートします。

シングル・クロック FIFOコア・パラメータおよびデュアル・クロック FIFOコア・パラメータ表 10-70: シングル・クロック FIFOコア・パラメータおよびデュアル・クロック FIFOコア・パラメータ

Parameters 正当値 Description

Bits per symbol 1~32 これらのパラメータは FIFOの幅を決定します。FIFOの幅= Bits per symbol × Symbols per beatで、Bits per symbolは 1つのシンボル内のビット数を意味し、Symbols per beatは 1つのビートで転送されるシンボルの数を意味します。

Symbols per beat 1~32

QII510252014.12.15 2014.12.15 FIFOバッファのフィル・レベル 10-89

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 90: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

Parameters 正当値 Description

Error width 0~32 error信号の幅です。

FIFO depth 2n FIFOの幅です。パフォーマンスを向上させるために1つの出力パイプライン・ステージを FIFOに追加しますが、これは FIFOの深度を 1増加させます。<n>=n=1,2,3,4...

Use Packets — このパラメータは、Avalon-STデータ・インタフェース上のデータ・パケット・サポートをイネーブルするために使用します。

Channel width 1~32 channel信号の幅です。

Avalon-ST Single Clock FIFO Only

Use fill level — Avalon-MM制御ステータス・レジスタ・インタフェース(CSR)を含めるには、このパラメータをオンにします。CSRは、Use fill levelを 1に設定するとイネーブルされます。

Use Store and Forward Cut-through modeをオンにするには、Use store andforwardを 0に設定する必要があります。Use storeand forwardをオンにすると、ユーザーに Use fill levelをオンにするよう指示が出され、CSRが表示されます。

Avalon-ST Dual Clock FIFO Only

Use sink fill level — Avalon-MM制御およびステータス・レジスタ・インタフェースを入力クロック・ドメインに含めるには、このパラメータをオンにします。

Use source fill level — Avalon-MM制御およびステータス・レジスタ・インタフェースを出力クロック・ドメインに含めるには、このパラメータをオンにします。

Write pointer synchronizerlength

2~8 ライト・ポインタ・シンクロナイザ・チェインの長さを表します。このパラメータをより高い値に設定すると、メタスタビリティを向上することはできますが、コアのレイテンシは増加します。

Read pointer synchronizerlength

2~8 ライト・ポインタ・シンクロナイザ・チェインの長さを表します。このパラメータをより高い値に設定すると、コアのレイテンシが増加します。

10-90 シングル・クロック FIFOコア・パラメータおよびデュアル・クロック FIFOコア・パラメータ

QII510252014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 91: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

Parameters 正当値 Description

Use Max Channel — 最大チャネル数を指定するには、このパラメータをオンにします。

Max Channel 1~255 最大チャネル数です。

注: アルテラ製デバイスにおけるメタスタビリティについての詳細は、UnderstandingMetastability in FPGAsを参照してください。

関連情報Understanding Metastability in FPGAs

Avalon-STシングル・クロック FIFOレジスタ表 10-71: Avalon-STシングル・クロック FIFOレジスタ

Avalon-STシングル・クロック FIFOコア内の CSRは、レジスタへのアクセスを提供します。32ビットのワード・オフセット

名称 アクセス Reset Description

0 fill_

levelR 0 24ビットの FIFOフィル・レベルです。ビット 24~

31は使用されません。

1 予約済 — — 予備として予約されています。

2 almost_

full_

threshold

RW FIFOdepth–1

FIFOバッファがフルになっていることを示す値にこのレジスタを設定します。

3 almost_

empty_

threshold

RW 0 FIFOバッファが空になっていることを示す値にこのレジスタを設定します。

QII510252014.12.15 2014.12.15 Avalon-STシングル・クロック FIFOレジスタ 10-91

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック

Page 92: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

32ビットのワード・オフセット

名称 アクセス Reset Description

4 cut_

through_

threshold

RW 0 0—store and forward modeをイネーブルします。Greater than 0—cut-throughモードをイネーブルし、Avalon-STソース・インタフェースの valid信号がアサートされる前に FIFOバッファ内の最小のエントリを指定します。FIFOコアはダウンストリーム・コンポーネントへのデータ送信を開始すると、最後のパケットまで送信を継続します。注: Cut-through modeをオンにするには、Use

store and forwardを 0に設定する必要があります。Use store and forward modeをオンにすると、ユーザーに Use fill levelをオンにするよう指示が出され、CSRが表示されます。

5 drop_on_

errorRW 0 0—drop-onエラーをディセーブルします。

1—drop-onエラーをイネーブルします。このレジスタは Use packet および Use store andforward パラメータがオンにされている場合にのみ適用されます。

表 10-72: Avalon-STデュアル・クロック FIFOのレジスタの説明

Avalon-STデュアル・クロック FIFOコア内の in_csrおよび out_csrインタフェースは、FIFOフィル・レベルをレポートします。32ビットのワード・

オフセット名称 アクセス リセット値 Description

0 fill_level R 0 24ビットのFIFOフィル・レベルです。ビット 24~31は使用されません。

関連情報• Avalon Interface Specifications• Avalon Memory-Mapped Design Optimizations

10-92 Avalon-STシングル・クロック FIFOレジスタQII51025

2014.12.15 2014.12.15

Altera Corporation Qsysシステム・デザイン・コンポーネント

フィードバック

Page 93: Qsys 10 Qsys...Qsys システム・デザイン・コンポーネント10 2014.12.15 2014.12.15 QII51025 更新情報 フィードバック Qsys IP コンポーネントを使用すれば、Qsys

改訂履歴表 10-73: 改訂履歴

この表は、Qsys System Design Components の初版からの変更点を一覧にしたものです。日付 バージョン 変更内容

2014年 12月 14.1.0 • AXI Timoutブリッジ• Avalon-MM Clock Crossingブリッジに以下の注を追加。• 内部非同期 FIFOに適した SDC制約

• FIFOベースのクロック・クロッシング

2014年 6月 14.0.0 • AXIブリッジのサポート• Address Span Extenderを更新

• Avalon-MM Unaligned BurstExpansionブリッジのサポート

2013年 11月 13.1.0 • Address Span Extender

2013年 5月 13.0.0 • ストリーミング・パイプライン・ステージのサポートを追加

• AMBA APBサポートを追加

2012年 11月 12.1.0 • 関連する内容を EmbeddedPeripherals IP User Guideから削除。

関連情報Quartus II Handbook Archive

QII510252014.12.15 2014.12.15 改訂履歴 10-93

Qsysシステム・デザイン・コンポーネント Altera Corporation

フィードバック