アービトレーションを有効にしたFPGA VIのタイミング設計 (FPGAモジュール)

アービトレーションオプションによって、実行時間が異なる場合があります。同じタイプの複数リソースへのアクセスが同時に発生し、実行時間を同じにするためには、各リソースに同じアービトレーションオプションを選択する必要があります。以下のブロックダイアグラムは、選択されるアービトレーションオプションにより、タイミングの問題が発生する可能性のあるFPGA VIを示します。

ブロックダイアグラムに示されるFPGA I/Oノードには、3つのアービトレーションオプションがあります。常にアービトレートアービトレーションオプションを選択すると、LabVIEW DIO0およびDIO1の両方で同等のアービタを実行します。両方のアービタの実行時間が同じであるため、ブロックダイアグラムの他の場所にあるその他のオブジェクトがDIO0またはDIO1のいずれかに同時にアクセスを要求しない限り、DIO0およびDIO1は1番目のフラットシーケンスストラクチャで同時に出力します。

リクエスタが複数の場合のみアービトレートアービトレーションオプションを選択すると、LabVIEWはDIO0のアービタを実装しますが、DIO1のアービタは実装しません。DIO0は、ブロックダイアグラムの2つの異なる場所からアクセスされるため、アービタを使用します。DIO1は、一度しかアクセスされないためアービタを使用しません。DIO0の実行時間はDIO1より長いため、DIO0およびDIO1は、1番目のフラットシーケンスストラクチャの1番目のフレームで同時に出力しません。

両方のFPGA I/Oノードにアービトレーションなしアービトレーションオプションを選択すると、LabVIEWはDIO0またはDIO1のいずれにもアービタを実行しません。そのため、DIO0とDIO1は同時に出力を生成します。これは、シーケンスストラクチャによって、ブロックダイアグラムのほかのオブジェクトがDIO0への同時アクセスを要求しない限りはシーケンス的なアクセスが保証されるため安全です。



この記事は役に立ちましたか。

役に立たなかった