MAX 10 ユーザー・フラッシュメモリー・ユーザーガイド

ID 683180
日付 2/21/2017
Public
ドキュメント目次

4.2.3. UFM プログラミング(書き込み)動作

UFM は、シングル32 ビットのプログラミング(書き込み)動作を提供します。

UFM プログラミング動作を行うには、以下のステップを実行します。

  1. 書き込み保護モードを無効にします。Avalon-MM コントロール・インターフェイスを介して、データのセクター内の書き込み保護レジスターに0 を書き込みます。
  2. Avalon-MM データ・インターフェイスを介して以下のデータをフラッシュにプログラミングします。
    • アドレス:適正なアドレス(Avalon-MM アドレスマップより)
    • データ:ユーザーデータ

    バーストカウントを1(パラレルモード)または32(シリアルモード)にセットします。

  3. フラッシュIP コアは、プログラミング動作の進行中はステータスレジスターのbusy フィールドを2'b10 にセットします。
  4. 動作が順調であれば、フラッシュIP コアは、ステータスレジスターの書き込み成功フィールドを1'b1、すなわち書き込み成功にセットします。フラッシュIP コアは、以下のいずれかの状態が生じると、ステータスレジスターの書き込み成功フィールドを1'b0(失敗)にセットします。
    • バーストカウントが1(パラレルモード)または32(シリアルモード)に等しくない
    • 与えられたアドレスが範囲から外れている
    • 対応するセクターのセクター保護モードまたは書き込み保護モードがクリアされていない(値が1'b0 ではない)
  5. プログラミング動作を続けて実行する必要がある場合は、前のステップを繰り返します。
  6. プログラミング動作が完了した時点で、書き込み保護モードを有効に戻す必要があります。Avalon-MM コントロール・インターフェイスを介して、対応するセクターの書き込み保護レジスターに1 を書き込みます。
    注: 各書き込みの後にはステータスレジスターを確認し、プログラミング動作が成功したこと(書き込み成功)を確認します。
図 8. パラレルモードでのプログラミング動作以下に、パラレルモードでのデータ書き込みのタイミング図を示します。


図 9. シリアルモードでのプログラミング動作以下に、シリアルモードでのデータ書き込みのタイミング図を示します。