ザイリンクス LFSR ブロックは、リニア フィードバック シフト レジスタ (LFSR) をインプリメントします。このブロックは、XOR または XNOR ゲートのいずれかを使用するガロア構造およびフィボナッチ構造をサポートしており、再読み込み可能な入力でレジスタの現在の値をいつでも変更できるようにします。LFSR の出力および再読み込み可能な入力は、シリアルまたはパラレル ポートのいずれかとして設定できます。
ブロックのインターフェイス
ポート名 | ポートの説明 | ポートのタイプ |
---|---|---|
din
|
再読み込み可能なシートのデータ入力 | オプションのシリアルまはパラレル入力 |
load
|
din のロード信号 | オプションのブール入力 |
rst
|
リセット信号 | オプションのブール入力 |
en
|
イネーブル信号 | オプションのブール入力 |
dout
|
LFSR のデータ出力 | 必要なシリアルまたはパラレル出力 |
上記の表に示すように、0 ~ 4 本のブロック入力ポートと 1 つの出力ポートを使用できます。選択した構成が入力を必要としない場合、LFSR は指定した初期シード値で開始するよう設定され、LFSR の構造タイプ、ゲート タイプ、および初期シードにより決定されるステートのシーケンスを繰り返します。
オプションの din
および load
ポートは、ランタイムに LFSR の現在の値を変更するために使用できます。読み込みが完了すると、LFSR は入力が 0 個の場合と同様に動作し、新しく読み込まれたシードに基づいて新しいシーケンスを開始し、LFSR オプションを構造およびゲート タイプ用にスタティックに設定します。
オプションの rst
ポートは、LFSR にスタティックに指定された初期シードを再度読み込み、rst
信号が Low になった後はその前と同様に動作します。オプションの en
ポートが Low になると、en
ポートが再び High になるまで LFSR は現在の値を変更せずに保持します。
ブロック パラメーター
Simulink® モデルでブロックのアイコンをダブルクリックすると、Block Parameters ダイアログ ボックスが開きます。
- Basic タブ
-
Basic タブには、次のパラメーターがあります。
- Type
- [Fibonacci] または [Galois] を選択します。このフィールドは、フィードバックの構造を指定します。フィボナッチには、レジスタ チェーンの最初に XOR (または XNOR) ゲートが 1 つあり、最初のレジスタに供給される結果とタップが XOR 演算されます。ガロアには、各タップに XOR (または XNOR) ゲートが 1 つあり、チェーン出力の最後のレジスタとそのタップのレジスタへの入力がゲートされます。
- Gate type
- XOR または XNOR を選択します。このフィールドは、フィードバック信号で使用されるゲートを指定します。
- Number of bits in LFSR
- LFSR チェーンのレジスタの数を指定します。この数は、パラレルを選択している場合に、入力およびのサイズを指定します。
- Feedback polynomial
- フィードバック チェーンのタップ ポイントを指定します。値は、16 進数値をシングル クォーテーションで囲んで指定する必要があります。この多項式の LSB は常に 1 に設定する必要があり、MSB は 1 が暗示されるので、16 進数入力では指定しません。この式の設定方法および最大繰り返しシーケンスに最適な設定については、ザイリンクス アプリケーション ノート『効率的なシフト レジスタ、LFSR カウンター、および仮想ロング ランダム シーケンス ジェネレーター』 (XAPP052) を参照してください。
- Initial value
- LFSR が繰り返しシーケンスを開始する初期シードを指定します。XOR ゲート タイプを選択している場合は初期値をすべて 0 にすることはできず、XNOR を選択している場合はすべて 1 にすることはできません。これらの値を指定すると、LFSR がストールします。
- Advanced タブ
- [Advanced] タブには、次のパラメーターがあります。
- Use reloadable seed value
- ダイナミック LFSR シード値をランタイムに再読み込みする入力が必要かどうかを指定します。
- Parallel input
- 再読み込み可能な入力シードを 1 ビットずつシフトするか、パラレルに読み込むかを指定します。
- Parallel output
- LFSR チェーンのすべてのビットを出力に接続するか、チェーンの最後のレジスタのみを接続するかを指定します (シリアルまたはパラレル)。
このブロックで使用されるその他のパラメーターについては、[Block Parameters] ダイアログ ボックスの共通オプション を参照してください。