前へ  次へ

VIOS変数


  1. 種類と宣言

    モジュール引数として実行フローより引き継がれる変数は、ivalue、fvalue、iImage、fImage、iCube、fCubeのいづれかの型をとります。なお、各型の扱いはC言語の通常変数の場合と同様です。

    注意
    これらのVIOS変数に対するアクセスは、計算機外データへのアクセスを検出するため、通常の配列へのアクセスに比べ負担が大きい。そのため、明示的な通信(vsSyncCacheなど)以外に計算機外データへのアクセスを行わない場合は、最適化VIOS変数を利用することが推奨される。

    最適化VIOS変数を利用するためには、各変数の宣言時に、
    vs_module snake(iImage_opt data, ...)
    のように宣言を行います。また、最適化VIOS変数は、ivalue_opt、fvalue_opt、iImage_opt、fImage_opt、iCube_opt、fCube_optの6種類が存在します。

    また、以下のようにモジュールの中で宣言することで、各計算機で独立のローカルVIOS変数を宣言することもできます。
    value_type value_name (vios_value);
    vios_valueと同じサイズ(ローカルでのサイズで)のvalue_name を宣言します。
    例) iImage temp(data);

    value_type value_name (サイズ1、 ...);
    サイズ1、 ...に定義されるサイズの value_name を宣言します。
    例) iImage temp(30, 40);


  2. アクセス方式

    従来のVIOSと同様に、[ ]演算子を利用することで、自ワーキングセットからの相対位置を、[[ ]]演算子を利用することで、全体での絶対位置によるアクセスを行います。

    例えば、data[3][ ]という指定は、自ワーキングセットからx軸方向に3、y軸方向に0移動したポイントの値を指定することになります。また、data[[3]][[0]]という指定は、変数dataにおける(3,0)の値を指定することになります。ここでの変数dataは分割される前についての値を参照します。


前へ  次へ