インテル® MAX® 10 FPGAコンフィグレーション・ユーザーガイド

ID 683865
日付 1/07/2019
Public
ドキュメント目次

3.6.3. ユーザーロジックによるエラー検出ブロックへのアクセス

エラー検出回路は、計算された32ビットのCRCシグネチャーを32ビットのレジスターに格納します。コアからのユーザーロジックがこのシグネチャーを読み出します。fiftyfivenm_crcblockプリミティブは、ユーザーロジックからエラー検出回路へのインターフェイスを確立するために使用されるWYSIWYGlコンポーネントです。fiftyfivenm_crcblockプリミティブ・アトムは、アトムに含まれている必要がある入力ポートと出力ポートを含みます。ロジックアレイにアクセスするには、fiftyfivenm_crcblock WYSIWYGアトムをデザインに挿入する必要があります。.clkポートのクロック周波数は、EDCRCブロックのクロック周波数に従うことが推奨されます。
図 14. インテルMAX 10デバイスのインターフェイスを含むエラー検出ブロック図

以下の例は、インテルMAX 10デバイスでWYSIWYGアトムの入力および出力ポートを定義する方法を示しています。

fiftyfivenm_crcblock <name> ( .clk(<ED_CLK clock source>), .shiftnld(<ED_SHIFTNLD source>), .ldsrc (<LDSRC source>), .crcerror(<CRCERROR_CORE out destination>), .regout(<output destination>) ); defparam <crcblock_name>.oscillator_divider = <internal oscillator division (1 to 256)>;
表 29.  ポートの定義
ポート 入力/出力 定義
<crcblock_name> CRCブロック固有の識別子であり、ここには、Verilog HDL、VHDL、AHDLといった記述言語の選択に応じて適正な識別子名が表記されます。このフィールドは必須です。
.clk(<clock source>) 入力 この信号はこのセルのクロック入力を示します。このセルの全ての動作はこのクロックの立ち上がりエッジに対して生じます。セルへのデータのロードであっても、セルからのデータ出力であっても、常に立ち上がりエッジで生じます。このポートは必須です。
.shiftnld (<shiftnld source>) 入力 この信号はエラー検出ブロックへの入力です。shiftnld=1であれば、clkのすべての立ち上がりエッジで、データが内部シフトレジスターからregoutにシフトされます。shiftnld=0であれば、シフトレジスターはあらかじめ計算されたCRC値、またはアップデート・レジスターの内容のどちらかをldsrcポート入力に応じてパラレルにロードします。このポートは必須です。
.ldsrc (<ldsrc source>) 入力 この信号はエラー検出ブロックへの入力です。ldsrc=0であれば、shiftnld=0の際にclkの立ち上がりエッジで32ビットのシフトレジスターへロードするために、あらかじめ計算されたCRCレジスターが選択されます。Ifldsrc=1であれば、shiftnld=0の際にclkの立ち上がりエッジでシフトレジスターへロードするために、シグネチャー・レジスター (CRCの計算結果) が選択されます。shiftnld=1であればこのポートは無視されます。このポートは必須です。
.crcerror (<crcerror out destination>) 出力 この信号はセルの出力であり、これはclkポートではなく、デバイスの内部オシレーター (100 MHzまたは80 MHz内部オシレーター) に同期されます。この信号は、SRAMビットが反転していること、内部CRCの計算結果があらかじめ計算された値と異なることがエラーブロックで検出された場合に、自動的にHighにアサートします。この信号は、出力ピンか双方向ピンのどちらかに接続する必要があります。出力ピンに接続する場合、モニタリングが可能となるのはCRC_ERRORピンのみとなります (コアはこの出力にアクセスできません)。CRC_ERROR信号がコアロジックによってエラー検出ロジックの読み出しに使用される場合には、この信号をBIDIRピンに接続する必要があります。VCCに接続されたoe ポートを有するBIDIRピンに供給することにより、信号は間接的にコアに供給されます。
.regout (<output destination>) 出力 この信号はclkポートと同期しているエラー検出シフトレジスターの出力であり、コアロジックにより読み出されます。各サイクルごとに1ビットシフトします。シフトレジスターから32ビットを読み出すには、clk信号を31サイクルで駆動する必要があります。.regoutポートでの値は、実際の値の逆数です。