Main Content

Bit Shift

入力信号の論理シフトまたは算術シフト

  • Bit Shift block

ライブラリ:
HDL Coder / Logic and Bit Operations

説明

Bit Shift ブロックは、入力信号に対して論理シフトまたは算術シフトを実行します。

このブロックは、シミュレーションと HDL コード生成の動作が Shift Arithmetic ブロックとは異なります。Bit Shift ブロックでは、reinterpretcast 演算を実行せずに符号付き数値の論理シフトを実行できます。このブロックは MATLAB Function ブロックに基づく実装を使用するため、演算が遅くなることがあります。

Shift Arithmetic ブロックは、入力数値のビットまたは 2 進小数点をシフトします。このブロックには、Bit Shift ブロックに比べ、HDL コード生成用の追加のブロック オプションがあります。可変シフト演算を実行する場合は、Bit Shift ブロックの代わりに Shift Arithmetic ブロックを使用してください。入力が符号付き数値の場合、数値の符号拡張がブロックで実行されます。Shift Arithmetic ブロックでは、[整数格納 (SI)] オプションを選択した Data Type Conversion ブロックを追加で使用する必要があります。

端子

入力

すべて展開する

論理シフトまたは算術シフトを実行する入力信号。

  • 最小ビット幅: 2

  • 最大ビット幅: 128

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

出力

すべて展開する

論理シフトまたは算術シフトされた出力信号。出力信号は入力信号と同じデータ型およびビット幅になります。

  • 最小ビット幅: 2

  • 最大ビット幅: 128

パラメーター

すべて展開する

シフトのタイプと方向を指定します。

プログラムでの使用

ブロック パラメーター: mode
型: string スカラー | 文字ベクトル
値: "Shift Left Logical" | "Shift Right Logical" | "Shift Right Arithmetic"
既定の設定: 'Shift Left Logical'

シフトするビット数を指定します。ゼロ以上の値を指定してください。

プログラムでの使用

ブロック パラメーター: N
型: string スカラー | 文字ベクトル
値: 0 以上の値
既定の設定: '0'

拡張機能

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

バージョン履歴

R2014a で導入

参考

ブロック