Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Deserializer1D

スカラー ストリームまたは小さいベクトルからベクトル信号への変換

  • ライブラリ:
  • HDL Coder / HDL Operations

  • Deserializer1D block

説明

Deserializer1D ブロックは、高速なスカラー ストリームまたはベクトル信号を大きな低速のベクトル信号にバッファリングします。高速な入力信号は、[Ratio] 値および [Idle Cycle] 値に基づいて低速な信号に変換されます。この変換ではサンプル時間が変化します。また、ベクトルとして出力可能になるまでシリアル化されたデータを収集する必要があるため、出力信号は低速信号の 1 サイクル分遅延します。詳細については次の例を参照してください。

有効な入力信号 ValidIn および開始信号 StartIn に依存するように逆シリアル化を設定できます。[ValidIn] ブロック パラメーターおよび [StartIn] ブロック パラメーターが両方選択されている場合、データ収集は ValidIn 信号および StartIn 信号の両方が true のときのみ開始します。次の例を考えます。

  • [Ratio]2[Idle Cycles]0 であるため、各出力サイクルは入力信号 2 つ分の長さとなり、すべてのデータ点が考慮される。

  • StartIn 信号および ValidIn 信号が両方とも true のときのみデータ収集を開始するように、[ValidIn] および [StartIn] が選択されている。

  • [ValidOut] が選択されている。

最初のサイクルでは、ValidIn および StartIn が true であるため、A および B のデータ収集を開始します。ブロックは次の有効なサイクルで逆シリアル化したベクトルを出力するため、AB ベクトルが次のサイクルの出力です。これは 2 番目のサイクルで C および D に対しても成り立ちます。

3 番目のサイクルでは E から始まり、StartIn が true ですが、ValidIn は true ではありません。E は破棄されます。F では、ValidIn が true ですが StartIn が true ではないため、F も破棄されます。E および F のデータは収集されないため、Deserializer1D は前回サイクルのベクトル CD を出力しますが、ValidOut は false に変化します。

考察する次のシナリオは、StartIn 信号の到着が早すぎる場合です。2 つの StartIn 信号間に十分な長さがなく、比率サイクル全体を収集できない場合、不十分な信号データは破棄されます。次の例を考えます。

  • [Ratio]3 であるため、各サイクルは 2 つのセクションの長さとなる。

  • [Idle Cycles]0 であるため、データ点はすべて考慮される。

  • StartIn 信号および ValidIn 信号が両方とも true のときのみデータ収集を開始するように、[ValidIn] および [StartIn] が選択されている。

  • [ValidOut] が選択されている。

最初のサイクルでは、ValidIn および StartIn が true であるため、A および B のデータ収集を開始できます。しかし、3 つの信号が収集される前に、C で別の StartIn 信号が到着します。StartIn が早く到着したため、A および B が破棄され、最初のサイクルでは有効なベクトルが収集されません。したがって、2 番目のサイクルの出力はゼロのままです。逆シリアル化は、C の StartIn で C、D、E に対して開始されます。このベクトルは、次の有効なサイクルである 3 番目のサイクルの出力となります。同様に、逆シリアル化は F の StartIn で再度開始され、FGH ベクトルが 4 番目のサイクルで出力されます。

最初のサンプリング周期のブロック出力は、[Initial condition] パラメーターの値で指定します。

端子

入力

すべて展開する

逆シリアル化する入力信号。バス データ型はサポートされません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated

有効な入力信号を示します。Serializer1D ブロックで使用します。この端子は、[ValidIn] チェック ボックスを選択した場合、使用できます。

データ型: Boolean

逆シリアル化を開始するタイミングを示す入力制御信号。Serializer1D ブロックで使用します。この端子は、[StartIn] チェック ボックスを選択した場合、使用できます。

データ型: Boolean

出力

すべて展開する

逆シリアル化された出力信号。バス データ型はサポートされません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated

有効な出力信号を示します。この端子は、[ValidOut] チェック ボックスを選択した場合、使用できます。

データ型: Boolean

パラメーター

すべて展開する

正のスカラーとして指定して、逆シリアル化の比率を入力します。

比率は、出力ベクトル サイズを入力ベクトル サイズで割ったものです。比率は、入力ベクトル サイズで割り切れる必要があります。

シリアル化された各入力の最後に追加するアイドル サイクルの数を入力します。

[Idle Cycles] の値は、逆シリアル化された出力レートに影響します。たとえば、[Ratio]2 で入力信号が A, B, B, C, D, D, ... の場合、アイドル サイクルがなければ出力は AB, BC, DD... となります。ただし、入力と比率が同じでも [Idle Cycles]1 に設定されている場合、出力は AB, CD... となります。アイドル サイクル B および D は破棄されます。

Deserializer1D の動作は、[Idle Cycles] が非ゼロで [ValidIn] または [StartIn] がオンの場合、変化します。アイドル サイクルの値は出力レートのみに影響するのに対して、[ValidIn] および [StartIn] はどの入力データを逆シリアル化するかを制御します。

シミュレーションの初期出力を指定します。

有効にする StartIn 端子を選択します。

有効にする ValidIn 端子を選択します。

有効にする ValidOut 端子を選択します。

入力データ信号のサイズを入力します。入力サイズは、比率およびアイドル サイクル数の和で割り切れる必要があります。既定では、ブロックはモデル内のコンテキストに基づいたサイズを継承します。

サンプル時間ヒット間の時間間隔を入力するか、連続などの他の適切なサンプル時間を指定します。既定では、ブロックはモデル内のコンテキストに基づいたサンプル時間を継承します。詳細は、サンプル時間を参照してください。

ブロックの入力信号タイプを [auto][real]、または [complex] として指定します。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2014b で導入