ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

comm.HDLCRCGenerator System object

パッケージ: comm

HDL 最適化 CRC 符号ビットを生成して入力データに付加

説明

このハードウェア親和型 CRC 発生器 System object™ は、CRC 発生器 System object 同様、巡回冗長コード (CRC) ビットを生成します。ただし、HDL CRC 発生器 System object は HDL コード生成用に最適化されています。この System object では、フレーム処理ではなくストリーミング モードでデータが処理されます。データ同期を容易にするために入力と出力の両方に制御信号が追加されます。

HDL コードの生成用に最適化された巡回冗長コード ビットを生成するには、以下の手順に従います。

  1. HDL CRC 発生器オブジェクトを定義および設定します。「構築」を参照してください。

  2. step を呼び出して、comm.HDLCRCGenerator のプロパティに従い、チェックサムを生成します。step の動作は、ツールボックスの各オブジェクト固有のものです。

構築

H=comm.HDLCRCGenerator は、HDL 最適化巡回冗長コード (CRC) 発生器 System object H を作成します。このオブジェクトは、指定された生成多項式に従って CRC ビットを生成し、それらを入力データに付加します。

H = comm.HDLCRCGenerator(Name,Value) は、1 つまたは複数の Name,Value ペアの引数で追加オプションを指定して HDL 最適化 CRC 発生器 System object の H を作成します。ここで、Nameプロパティ名Value はその対応する値です。Name は単一引用符 ('') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前/値のペアの引数を任意の順番で指定できます。

H = comm.HDLCRCGenerator(POLY,Name,Value) は、Polynomial プロパティを POLY に、その他の指定されたプロパティ Name をその指定値に設定して、HDL 最適化 CRC 発生器 System object の H を作成します。

入力引数

POLY

System object の構築時に Polynomial プロパティを POLY に設定します。

プロパティ

Polynomial

係数を降べきの順にしたバイナリの列ベクトルとして生成多項式を指定します。このプロパティをバイナリ ベクトルに設定した場合、その長さは多項式の次数に 1 を加算したものに等しくなければなりません。既定値は [1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1] です。

InitialState

シフト レジスタの初期条件を、バイナリ、倍精度または単精度のデータ型スカラーまたはベクトルとして指定します。ベクトル長は、Polynomial プロパティで指定する生成多項式の次数です。初期条件をスカラーとして指定すると、オブジェクトは、その値を生成多項式の次数に等しい長さの行ベクトルに拡張します。既定値は 0 です。

DirectMethod

オブジェクトで CRC チェックサムの計算に直接アルゴリズムを使用するかどうかを指定する論理量。既定値は false です。

直接アルゴリズムと非直接アルゴリズムの詳細は、「巡回冗長検査コード」を参照してください。

ReflectInput

シフト レジスタに入力する前に入力データをバイト単位で反転するかどうかを指定する論理量。既定値は false です。

ReflectCRCChecksum

入力データがシフト レジスタを完全に通過した後に、出力 CRC のチェックサムを 180 度反転させるかどうかを指定する論理量。既定値は false です。

FinalXORValue

入力データに追加する直前の XORed となる CRC チェックサムをもつ値。このプロパティは、倍精度または単精度データ型のバイナリ スカラーまたはベクトルとして指定できます。ベクトル長は、Polynomial プロパティで指定する生成多項式の次数です。最終 XOR 値をスカラーとして指定すると、オブジェクトは、その値を生成多項式の次数に等しい長さの行ベクトルに拡張します。既定値は 0 です。

メソッド

clone 同じプロパティ値をもつ HDLCRCGenerator System object の作成
isLocked入力属性と調整不可能なプロパティのロック状態
releaseプロパティ値と入力特性の変更を許可
resetCRC 発生器オブジェクトの状態のリセット
step 制御信号に基づいて入力メッセージの CRC チェックサムを生成し、チェックサムを出力メッセージの末尾に付加

HDL に最適化された CRC 発生器を使用して信号を符号化します。

% Using default polynomial with CRC length 16
hGen = comm.HDLCRCGenerator;

% run HDL CRC Generator 6 steps
numSteps = 6;

% Control signals for all 6 steps
startIn = logical([1 0 0 0 0 0]);
endIn   = logical([0 1 0 0 0 0]);
validIn = logical([1 1 0 0 0 0]);

% 32 bit data to be encoded, in two 16 by 1 columns
msg = randi([0 1],16,2); 

% random input to HDLCRCGenerator while it is processing the msg
randIn = randi([0, 1],16,numSteps-2);
dataIn = [msg randIn];

% Run HDL CRC Generator 6 steps
% Output data: dataOut
% Output Control signals: startOut, endOut, validOut
for i =  1: numSteps
[dataOut(:,i), startOut(i),endOut(i), validOut(i)] = step(hGen,...
    									dataIn(:,i),startIn(i),endIn(i),validIn(i));
end

アルゴリズム

タイミング ダイアグラム

HDL 最適化 CRC 発生器のタイミング図

初期遅延

HDL CRC 発生器 System object では出力に待ち時間が発生します。この待ち時間は次の方程式で計算できます。

initialdelay = (CRC length/input data width) + 2

この情報は役に立ちましたか?