マイクロチップのロゴ

MICROCHIP RTG4 LSRAM メモリのエラー検出と訂正

MICROCHIP-RTG4-LSRAM メモリのエラー検出と修正

改訂履歴

改訂履歴には、ドキュメントに実装された変更内容が記述されます。変更内容は、最新の出版物から順に改訂順にリストされます。

改訂 4.0
以下は、この改訂で行われた変更の概要です。

  • Libero SoC v2021.2 のドキュメントを更新しました。
  • 付録 1: FlashPro Express を使用したデバイスのプログラミング、ページ 14 を追加。
  • 「付録 2: TCL スクリプトの実行」 (16 ページ) を追加。
  • Libero のバージョン番号への参照を削除しました。

改訂 3.0
Libero v11.9 SP1 ソフトウェア リリースのドキュメントを更新しました。

改訂 2.0
Libero v11.8 SP2 ソフトウェア リリースのドキュメントを更新しました。

改訂 1.0
このドキュメントの最初の発行。

RTG4 LSRAM メモリのエラー検出と訂正

このリファレンス デザインでは、RTG4™ FPGA LSRAM のエラー検出および訂正 (EDAC) 機能について説明します。シングル イベント アップセット (SEU) の影響を受けやすい環境では、RAM は重イオンによって一時的なエラーが発生しやすくなります。これらのエラーは、エラー訂正コード (ECC) を使用することで検出および訂正できます。RTG4 FPGA RAM ブロックには、1 ビット エラーを訂正したり 2 ビット エラーを検出したりするためのエラー訂正コードを生成するための EDAC コントローラが組み込まれています。

1 ビット エラーが検出されると、EDAC コントローラはエラー ビットを修正し、エラー修正フラグ (SB_CORRECT) をアクティブ ハイに設定します。2 ビット エラーが検出されると、EDAC コントローラはエラー検出フラグ (DB_DETECT) をアクティブ ハイに設定します。
RTG4 LSRAM EDAC機能の詳細については、UG0574: RTG4 FPGAファブリックを参照してください。

ユーザーガイド。
このリファレンスデザインでは、1ビットエラーまたは2ビットエラーはSmartDebug GUIを通じて導入されます。EDACはグラフィカルユーザーインターフェイス(GUI)を使用して監視され、UARTインターフェイスを使用してLSRAMにアクセスしてデータの読み取り/書き込みを行います。Libero® System-on-Chip(SoC)SmartDebug(JTAG) は、LSRAM メモリにエラーを注入するために使用されます。

設計要件
表 1 に、RTG4 LSRAM EDAC デモを実行するためのリファレンス デザイン要件を示します。

表 1 • 設計要件

MICROCHIP-RTG4-LSRAM-メモリ 1 のエラー検出および修正

ソフトウェア

  • リベロSoC
  • FlashPro エクスプレス
  • スマートデバッグ
  • ホストPCドライバー USB から UART へのドライバー

注記: このガイドに示されている Libero SmartDesign と構成のスクリーン ショットは、説明のみを目的としています。
Libero のデザインを開いて、最新のアップデートを確認してください。

前提条件
始める前に:
Libero SoC をダウンロードしてインストールします ( webこのデザインのサイト) を次の場所からホスト PC にダウンロードします。 https://www.microsemi.com/product-directory/design-resources/1750-libero-soc

デモの設計
デモデザインをダウンロード fileMicrosemiからの webサイト: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df

デモのデザイン fileには次のものが含まれます。

  • Libero SoC プロジェクト
  • GUIインストーラー
  • プログラミング files
  • Readme.txt file
  • TCL_スクリプト

ホスト PC 上の GUI アプリケーションは、USB-UART インターフェイスを介して RTG4 デバイスにコマンドを発行します。この UART インターフェイスは、Libero SoC IP カタログのロジック IP である CoreUART を使用して設計されています。RTG4 ファブリックの CoreUART IP はコマンドを受信し、コマンド デコーダー ロジックに送信します。コマンド デコーダー ロジックは、メモリ インターフェイス ロジックを使用して実行される読み取りまたは書き込みコマンドをデコードします。

メモリ インターフェイス ブロックは、LSRAM エラー フラグの読み取り/書き込みと監視に使用されます。内蔵 EDAC は、LSRAM からの読み取り中に 1 ビット エラーを修正し、修正されたデータをユーザー インターフェイスに提供しますが、修正されたデータを LSRAM に書き戻すことはありません。内蔵 LSRAM EDAC にはスクラブ機能が実装されていません。デモ デザインにはスクラブ ロジックが実装されており、1 ビットの修正フラグを監視し、XNUMX ビット エラーが発生した場合に修正されたデータで LSRAM を更新します。
SmartDebug GUI は、LSRAM データに 1 ビットまたは 2 ビットのエラーを挿入するために使用されます。
図 1 は、RTG4 LSRAM EDAC デモ設計の最上位ブロック図を示しています。

図 1 • トップレベルのブロック図

MICROCHIP-RTG4-LSRAM-メモリ 2 のエラー検出および修正

デモ設計の構成は次のとおりです。

  1. LSRAM は ×18 モードに設定されており、LSRAM の ECC_EN 信号をハイに接続することで EDAC が有効になります。
    注記: LSRAM EDAC は、×18 および ×36 モードでのみサポートされます。
  2. CoreUART IP は、115200 ボー レートでホスト PC アプリケーションと通信するように構成されています。
  3. RTG4FCCCECALIB_C0 は、CoreUART およびその他のファブリック ロジックを 80 MHz でクロックするように構成されています。

特徴
デモのデザイン機能は次のとおりです。

  • LSRAMの読み取りと書き込み
  • SmartDebugを使用して1ビットおよび2ビットのエラーを挿入する
  • 1ビットおよび2ビットのエラーカウント値を表示する
  • エラーカウント値をクリアする規定
  • メモリスクラビングロジックを有効または無効にする

説明
このデモ設計には、次のタスクの実装が含まれます。

  • LSRAMの初期化とアクセス
    ファブリック ロジックに実装されたメモリ インターフェイス ロジックは、GUI から初期化コマンドを受信し、増分データを使用して LSRAM の最初の 256 個のメモリ位置を初期化します。また、GUI からアドレスとデータを受信して​​、LSRAM の 256 個のメモリ位置への読み取りおよび書き込み操作を実行します。読み取り操作の場合、設計は LSRAM からデータを取得し、それを GUI に提供して表示します。SmartDebug を使用する前に、設計でエラーが発生しないことが期待されます。

注記: 初期化されていないメモリ位置にはランダムな値が含まれる可能性があり、SmartDebug はそれらの位置にシングル ビットまたはダブル ビットのエラーを表示する場合があります。

  • 1ビットまたは2ビットのエラーの挿入
    SmartDebug GUI は、LSRAM の指定されたメモリ位置に 1 ビットまたは 2 ビットのエラーを挿入するために使用されます。SmartDebug を使用して LSRAM に 1 ビットおよび 2 ビットのエラーを挿入するには、次の操作を実行します。
    • SmartDebug GUI を開き、FPGA アレイのデバッグをクリックします。
    • [メモリ ブロック] タブに移動し、メモリ インスタンスを選択して、[追加] を右クリックします。
    • メモリ ブロックを読み取るには、[ブロックの読み取り] をクリックします。
    • 特定の深さの LSRAM の任意の場所にシングル ビットまたはダブル ビットのエラーを挿入します。
    • 変更された場所に書き込むには、「ブロックの書き込み」をクリックします。
      SmartDebug(J)を介したLSRAMの読み取りおよび書き込み操作中TAG) インターフェースでは、EDAC コントローラはバイパスされ、ステップ e での書き込み操作の ECC ビットは計算されません。
  • エラーカウント
    8 ビット カウンターはエラー カウントを提供するために使用され、1 ビットまたは 2 ビットのエラーをカウントするためにファブリック ロジックに設計されています。コマンド デコーダー ロジックは、GUI からコマンドを受信すると、カウント値を GUI に提供します。

クロッキング構造
このデモ デザインには、クロック ドメインが 50 つあります。内部の 4 MHz 発振器が RTG4FCCC を駆動し、RTG0FCCCECALIB_C4 をさらに駆動します。RTG0FCCCECALIB_C80 は、COREUART、cmd_decoder、TPSRAM_ECC、および RAM_RW モジュールにクロック ソースを提供する XNUMX MHz クロックを生成します。
次の図は、デモ デザインのクロッキング構造を示しています。

図 2 • クロッキング構造

MICROCHIP-RTG4-LSRAM-メモリ 3 のエラー検出および修正

構造のリセット
このデモ デザインでは、COREUART、cmd_decoder、および RAM_RW モジュールへのリセット信号は、RTG4FCCCECALIB_C0 の LOCK ポートを介して提供されます。次の図は、デモ デザインのリセット構造を示しています。

図 3 • リセット構造

MICROCHIP-RTG4-LSRAM-メモリ 4 のエラー検出および修正

デモ デザインのセットアップ
次のセクションでは、デモ デザインを実行するために RTG4 開発キットと GUI を設定する方法について説明します。

ジャンパー設定

  1. 表 4 に示すように、RTG2 開発キットのジャンパーを接続します。
    表2 • ジャンパー設定
    ジャンパー ピン (差出人) ピン (宛先) コメント
    J11、J17、J19、J21、J23、J26、J27、J28 1 2 デフォルト
    J16 2 3 デフォルト
    J32 1 2 デフォルト
    J33 1 3 デフォルト
    2 4

    注記: ジャンパーを接続する間、電源スイッチ SW6 をオフにします。

  2. USB ケーブル (ミニ USB からタイプ A USB ケーブル) を RTG47 開発キットの J4 に接続し、ケーブルのもう一方の端をホスト PC の USB ポートに接続します。
  3. USB to UART ブリッジ ドライバーが自動的に検出されることを確認します。 これは、ホスト PC のデバイス マネージャーで確認できます。
    図 4 は、USB 2.0 シリアル ポートのプロパティと、接続されている COM31 および USB シリアル コンバーター C を示しています。

図 4 • USB から UART へのブリッジ ドライバー

MICROCHIP-RTG4-LSRAM-メモリ 6 のエラー検出および修正

注記: USB to UART ブリッジ ドライバがインストールされていない場合は、ドライバをダウンロードしてインストールします。 www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip

図 5 は、RTG4 開発キットで EDAC デモを実行するためのボード設定を示しています。

MICROCHIP RTG4 LSRAM メモリのエラー検出と訂正

デモデザインのプログラミング

  1. Libero SOC ソフトウェアを起動します。
  2. ジョブを使用して RTG4 開発キットをプログラムするには file デザインの一部として提供 fileFlashPro Express ソフトウェアを使用する場合は、1 ページの「付録 14: FlashPro Express を使用したデバイスのプログラミング」を参照してください。
    注記: プログラミングが終わったら file FlashPro Express ソフトウェアを使用する場合は、EDAC デモ GUI (9 ページ) に進みます。それ以外の場合は、次の手順に進みます。
  3. Libero デザインフローで、「プログラムの実行」アクションをクリックします。
  4. プログラミングが完了すると、「プログラムの実行アクション」の前に緑色のチェックマークが表示され、デモ デザインのプログラミングが成功したことが示されます。

MICROCHIP RTG4 LSRAM メモリのエラー検出と訂正 - 1

EDAC デモ GUI
EDAC デモには、図 7 に示すように、RTG4 開発キットと通信するホスト PC 上で実行されるユーザー フレンドリな GUI が付属しています。UART は、ホスト PC と RTG4 開発キット間の基盤となる通信プロトコルとして使用されます。

MICROCHIP-RTG4-LSRAM-メモリ 9 のエラー検出および修正

GUI には次のセクションが含まれています。

  1. 4 ボー レートで RTG115200 FPGA への UART 接続を確立するための COM ポートの選択。
  2. LSRAM メモリ書き込み: 指定された LSRAM メモリ アドレスに 8 ビット データを書き込みます。
  3. メモリ スクラビング: スクラビング ロジックを有効または無効にします。
  4. LSRAM メモリ読み取り: 指定された LSRAM メモリ アドレスから 8 ビット データを読み取ります。
  5. エラー数: エラー数を表示し、カウンター値をゼロにクリアするオプションを提供します。
  6. 1 ビット エラー カウント: 1 ビット エラー カウントを表示し、カウンター値をゼロにクリアするオプションを提供します。
  7. 2 ビット エラー カウント: 2 ビット エラー カウントを表示し、カウンター値をゼロにクリアするオプションを提供します。
  8. ログ データ: GUI を使用して実行されたすべての操作のステータス情報を提供します。

デモの実行
デモを実行する手順は次のとおりです。

  1. へ移動\v1.2.2\v1.2.2\Exe に移動し、図 8 に示すように EDAC_GUI.exe をダブルクリックします。
  2. リストから COM31 ポートを選択し、「接続」をクリックします。

MICROCHIP-RTG4-LSRAM-メモリ 10 のエラー検出および修正

単一ビットエラーの挿入と訂正

  1. 提供されている Libero デザインで、デザイン フロー内の SmartDebug デザインをダブルクリックします。
  2. SmartDebug GUI で、FPGA アレイのデバッグをクリックします。MICROCHIP-RTG4-LSRAM-メモリ 11 のエラー検出および修正
  3. デバッグFPGAアレイウィンドウで、メモリブロックタブに移動します。論理的および物理的なLSRAMブロックがデザインに表示されます。 view論理ブロックは L アイコンで表示され、物理ブロックは P アイコンで表示されます。
  4. 物理ブロック インスタンスを選択し、[追加] を右クリックします。MICROCHIP-RTG4-LSRAM-メモリ 12 のエラー検出および修正
  5. メモリ ブロックを読み取るには、[ブロックの読み取り] をクリックします。MICROCHIP-RTG4-LSRAM-メモリ 13 のエラー検出および修正
  6. 次の図に示すように、LSRAM の 1 番目の位置に 8 ビット エラーが挿入されているので、LSRAM の深さ 256 までの任意の位置の 1 ビット データに 0 ビット エラーを挿入します。
  7. 変更されたデータを目的の場所に書き込むには、「ブロックの書き込み」をクリックします。MICROCHIP-RTG4-LSRAM-メモリ 14 のエラー検出および修正
  8. EDAC GUI に移動し、次の図に示すように、LSRAM メモリ読み取りセクションのアドレス フィールドに入力して、[読み取り] をクリックします。
  9. GUI の 1 ビット エラー カウントと読み取りデータ フィールドを確認します。エラー カウントの値が 1 増加します。
    EDAC がエラー ビットを修正すると、読み取りデータ フィールドに正しいデータが表示されます。MICROCHIP-RTG4-LSRAM-メモリ 15 のエラー検出および修正

注記: メモリ スクラビングが有効になっていない場合、1 ビット エラーが発生するため、同じ LSRAM アドレスからの読み取りごとにエラー カウントが増加します。

ダブルビットエラーの挿入と検出

  1. 1 ページの「シングル ビット エラーの挿入と訂正」に記載されている手順 5 から手順 10 を実行します。
  2. 次の図に示すように、LSRAM の任意の位置 (深さ 2 まで) の 8 ビット データに 256 ビット エラーを挿入します。この図では、2 ビット エラーが LSRAM の位置 'A' に挿入されています。
  3. 「ブロックの書き込み」をクリックして、変更されたデータを目的の場所に書き込みます。MICROCHIP-RTG4-LSRAM-メモリ 16 のエラー検出および修正
  4. EDAC GUI に移動し、次の図に示すように、LSRAM メモリ読み取りセクションのアドレス フィールドに入力して、[読み取り] をクリックします。
  5. GUI の 2 ビット エラー カウントと読み取りデータ フィールドを確認します。エラー カウントの値が 1 増加します。
    読み取りデータフィールドに破損したデータが表示されます。

MICROCHIP-RTG4-LSRAM-メモリ 17 のエラー検出および修正

RTG4 で実行されたすべてのアクションは、GUI のシリアル コンソール セクションに記録されます。

結論
このデモでは、RTG4 LSRAM メモリの EDAC 機能について説明します。1 ビット エラーまたは 2 ビット エラーは、SmartDebug GUI を通じて導入されます。1 ビット エラーの訂正と 2 ビット エラーの検出は、EDAC GUI を使用して観察されます。

FlashPro Express を使用したデバイスのプログラミング

このセクションでは、プログラミング ジョブを使用して RTG4 デバイスをプログラミングする方法について説明します。 file FlashPro Express を使用。

デバイスをプログラムするには、次の手順を実行します。

  1. ボードのジャンパ設定が、UG3 の表 0617 にリストされているものと同じであることを確認します。
    RTG4 開発キット ユーザー ガイド。
  2. オプションで、組み込み FlashPro32 を使用するためのデフォルトのジャンパー設定の代わりに、外部 FlashPro2、FlashPro3、または FlashPro4 プログラマーを使用する場合、ジャンパー J5 をピン 6-5 に接続するように設定できます。
    注記: ジャンパー接続時は、電源スイッチ SW6 を OFF にしてください。
  3. 電源ケーブルをボード上の J9 コネクタに接続します。
  4. 電源スイッチ SW6 を ON にします。
  5. 内蔵 FlashPro5 を使用する場合は、USB ケーブルをコネクタ J47 とホスト PC に接続します。
    または、外部プログラマを使用する場合は、リボン ケーブルを J コネクタに接続します。TAG ヘッダ J22 を挿入し、プログラマをホスト PC に接続します。
  6. ホスト PC で、FlashPro Express ソフトウェアを起動します。
  7. 次の図に示すように、[新規] をクリックするか、[プロジェクト] メニューの [FlashPro Express ジョブ] から [新しいジョブ プロジェクト] を選択して、新しいジョブ プロジェクトを作成します。MICROCHIP-RTG4-LSRAM-メモリ 18 のエラー検出および修正
  8. [FlashProExpressジョブからの新規ジョブプロジェクト]ダイアログボックスに次のように入力します。
    • プログラミングの仕事 file:[参照]をクリックして、.jobがある場所に移動します file が見つかり、を選択します fileデフォルトの場所は次のとおりです: \rtg4_dg0703_df\プログラミングジョブ
    • FlashPro Express ジョブ プロジェクトの場所: [参照] をクリックして、目的の FlashPro Express プロジェクトの場所に移動します。MICROCHIP-RTG4-LSRAM-メモリ 19 のエラー検出および修正
  9. [OK] をクリックします。 必要なプログラミング file が選択され、デバイスにプログラムする準備ができています。
  10. FlashPro Express ウィンドウが表示されます。プログラマー フィールドにプログラマー番号が表示されていることを確認します。表示されない場合は、ボードの接続を確認し、[プログラマーの更新/再スキャン] をクリックします。
  11. [実行] をクリックします。 デバイスが正常にプログラムされると、次の図に示すように RUN PASSED ステータスが表示されます。MICROCHIP-RTG4-LSRAM-メモリ 20 のエラー検出および修正
  12. FlashPro Express を閉じるか、[プロジェクト] タブの [終了] をクリックします。

TCL スクリプトの実行

TCL スクリプトはデザインで提供されます。 filesフォルダをTCL_Scriptsディレクトリの下に配置します。必要に応じて、デザイン
設計実装からジョブ生成までの流れを再現できる file.

TCL を実行するには、次の手順に従います。

  1. Libero ソフトウェアを起動します。
  2. [プロジェクト] > [スクリプトの実行…] を選択します。
  3. [Browse] をクリックして、ダウンロードした TCL_Scripts ディレクトリから script.tcl を選択します。
  4. [実行]をクリックします。

TCL スクリプトが正常に実行されると、Libero プロジェクトが TCL_Scripts ディレクトリ内に作成されます。
TCL スクリプトの詳細については、rtg4_dg0703_df/TCL_Scripts/readme.txt を参照してください。
TCL コマンドの詳細については、Libero® SoC TCL コマンド リファレンス ガイドを参照してください。TCL スクリプトの実行中に発生した質問については、テクニカル サポートにお問い合わせください。

Microsemiは、ここに含まれる情報、または特定の目的に対するその製品とサービスの適合性に関して、保証、表明、または保証を行いません。また、Microsemiは、製品または回路のアプリケーションまたは使用から生じるいかなる責任も負わないものとします。 本契約に基づいて販売される製品およびMicrosemiが販売するその他の製品は、限定的なテストの対象であり、ミッションクリティカルな機器またはアプリケーションと組み合わせて使用​​しないでください。 パフォーマンス仕様は信頼できると考えられていますが、検証されていません。購入者は、製品のすべてのパフォーマンスおよびその他のテストを、単独で、および最終製品と一緒に、または最終製品にインストールして、実行および完了する必要があります。 購入者は、Microsemiが提供するデータおよびパフォーマンスの仕様またはパラメーターに依存してはなりません。 製品の適合性を独自に判断し、それをテストおよび検証するのは購入者の責任です。 本契約に基づいてMicrosemiが提供する情報は、「現状有姿」ですべての過失とともに提供され、そのような情報に関連するすべてのリスクは完全に購入者にあります。 Microsemiは、そのような情報自体またはそのような情報によって記述されたものに関係なく、明示的または暗黙的に、特許権、ライセンス、またはその他のIP権をいかなる当事者にも付与しません。 このドキュメントで提供される情報はMicrosemiの所有物であり、Microsemiは、このドキュメントの情報または製品やサービスをいつでも予告なしに変更する権利を留保します。

Microsemiについて Microsemiは、Microchip Technology Inc.(Nasdaq: MCHP)の完全子会社であり、航空宇宙および防衛、通信、データセンター、産業市場向けの半導体およびシステムソリューションの包括的なポートフォリオを提供しています。製品には、高性能で耐放射線性に優れたアナログミックスドシグナル集積回路、FPGA、SoC、ASIC、電源管理製品、タイミングおよび同期デバイス、および世界標準の時刻を設定する正確な時刻ソリューション、音声処理デバイス、RFソリューション、ディスクリートコンポーネント、エンタープライズストレージおよび通信ソリューション、セキュリティ技術、スケーラブルなアンチTamper製品; イーサネットソリューション; Power-over-EthernetICとミッドスパン。 カスタム設計機能とサービスだけでなく。 詳細については、 www.microsemi.com.

マイクロセミ本社
One Enterprise、Aliso Viejo、
カリフォルニア 92656 米国
米国内: +1 800-713-4113
米国外: +1 949-380-6100
売上: +1 949-380-6136
ファックス: +1 949-215-4996
電子メール: 営業。お問い合わせ
www.microsemi.com

©2021Microsemi、Microchip TechnologyInc。の完全所有子会社。無断転載を禁じます。 MicrosemiおよびMicrosemiのロゴは、MicrosemiCorporationの登録商標です。 その他のすべての商標およびサービスマークは、それぞれの所有者に帰属します。

Microsemi 独自の DG0703 リビジョン 4.0

ドキュメント / リソース

MICROCHIP RTG4 LSRAM メモリのエラー検出と訂正 [pdf] ユーザーガイド
DG0703 デモ、RTG4 LSRAM メモリのエラー検出と訂正、RTG4 LSRAM メモリの検出と訂正、RTG4 LSRAM メモリ、LSRAM メモリ

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *