任意のユーザーデータをFPGA内のメモリーに保存する方法はありますか?
Diamond
MachXO Series
メモリー
カテゴリー :
ツール : -
デバイス : MachXO2、MachXO3LF
方法の候補が二つあり、以下に示します。内蔵フラッシュメモリーとして二つのセクターがあります(CFM: Configuration Flash Memory、UFM: User Flash Memory)。
CFM セクターはコンフィグ情報を保持し、UFM セクターは任意のユーザー情報のための領域です。以下のどちらも Jedec ファイルの一部としてプログラマーでプログラムすることができ、またコンフィグ後に外部コントローラーや内部ロジックからリード / ライト・アクセスができます。
1. UFM に保存
UFM は CFM とは独立して Program / Erase 処理ができ、256bit を1ページとしてページ毎にアクセスします(UFM ページ数はデバイス規模に依存します)。CFM を消去・書き換えしても影響されませんが、すでにプログラム済みのページを1ページでも消去・変更したい場合は、UFM 全体を消去する必要があります。従って残すべきページ情報があれば、それらは消去前に一旦どこかに退避してから書き戻すことになります。
2. CFM 内の "USERCODE" として保存
32bit に限られますが、任意の値を保存できます。ただし CFM の中に含まれるため、フィールドアップデートなどで CFM を書き換えのために消去すると一緒に消去されてしまうため、再書き込みなどの対応策が必要です。