2026/01/28(水)Mach XO2 #2
5. Configuration Process and Flow (cont’d)
5.10. Feature Row
MachXO2には、FPGAリソースを制御するために使用されるフィーチャー行が含まれています。例えば、フィーチャー行はMachXO2のSRAM構成メモリのロード方法を決定するために使用されます。他のFPGAでは、この操作は外部I/Oピンを使用して制御されます。フィーチャー行は、構成可能な機能の選択においてより高い柔軟性を提供し、デバイス上で利用可能なI/Oの数を増やし、ハードウェアの変更を不要にします。フィーチャー・ロウは個別に消去またはプログラミングできます。フィーチャー・ロウが消去されると、その値はハードウェアのデフォルトモード状態に戻ります。フィーチャー・ロウは、ツール > フィーチャー・ロウ・エディタの「プログラミング・ファイル・ユーティリティ」を使用して変更できます。
Figure 5.4. Feature Row Example
フィーチャー・ロウのオプションとダイヤモンド・スプレッドシート・ビューの関係は、表5.3および表5.4に示されています。
A full list of the functions controlled by the Feature Row and their default values are shown in Table 5.4.
Table 5.4. MachXO2 Feature Row Elements
Feature SW Default
開発中にのみフィーチャー行を変更し、現場でのアップグレードは極力避けることを強く推奨します。この推奨事項の理由は、フィーチャー行が設定ポートの利用可能性を制御する役割を担っているためです。アクティブな設定ポートが利用不能になり、将来の更新が妨げられる可能性があります。
機能行を変更すると、MachXO2のコンフィギュレーションが妨げられる可能性があります。PROGRAMN、INITN、DONEの各制御/ステータスピンは機能行によって有効化/無効化されます。PROGRAMNを汎用入出力(GPIO)として再利用する際には注意が必要です:機能行の消去と再プログラミングを行うと、GPIOが一時的にPROGRAMN入力状態に復帰します。この場合、汎用I/Oがローレベルで駆動または保持されると、MachXO2は設定プロセスを完了できません。
SSPIインターフェースをGPIOとして復元する際にI2Cインターフェースを使用する場合も同様の注意が必要です。
フィーチャー列の消去と再プログラミングは、一時的にすべての設定インターフェースを再有効化します。ユーザー設計でSSPIチップセレクト(SN)をGPIOとして復元したが、SNが駆動またはローレベルに保持されている場合、SSPIインターフェースがI2Cインターフェースに対して優先権を主張し、プログラミングまたは設定プロセスを中断させ、プロセスの正常な完了を妨げます。
フィーチャー列はDiamond Programmerで消去または変更可能です。オフライン/オンラインを問わず、フラッシュ消去・プログラム・検証シーケンス中に消去および再プログラムされます。オフラインフラッシュプログラミング時、フィーチャー列の消去・再プログラムを回避したい場合は、XFLASH消去・プログラム・検証・リフレッシュ操作の使用を推奨します。
機能行の設定はDiamond Spreadsheet Viewを使用して変更できます。スプレッドシートビューではMachXO2の構成設定を編集し、設定をLattice Preference File(LPF)に保存できます。これらの設定はマップ、配置、配線構築フェーズ中にMachXO2構成データに適用されます。
5.11. Key Features
- 現場での変更は想定されておらず、開発専用です。
- 機能行設定の変更により、アクティブな構成ポートが利用できなくなる可能性があります。
- Diamond Programmer または Diamond Spreadsheet View を使用して変更可能です。
- フラッシュ更新時に消去され再プログラムされるため、機能行の内容は一貫性を保ってください。
5.12. Configuration Modes
MachXO2のコンフィギュレーションSRAMメモリには、FPGAが動作する前に有効なコンフィギュレーションデータをロードする必要があります。MachXO2が提供するコンフィギュレーションデータをSRAMメモリに書き込む方法は4つだけです。これらの各方法にはそれぞれ固有の利点があります。利用可能な4つの方法は表5.5に示されています。
Table 5.5. Configuration Modes
MachXO2設計の大半において、主要なコンフィギュレーションモードはセルフダウンロードモードです。
このモードは、内部コンフィギュレーションクロックが外部メモリに適用可能な周波数よりも高く動作するため、
コンフィギュレーション速度に優れています。製品コストを増加させる追加のPROMを必要としません。
また、JTAGポートを使用してSRAMをロードするための外部プログラマに依存しません。
外部ダウンロードモードの利点は、全ユーザーフラッシュメモリ(UFM)を自由に使用できることです。
コンフィギュレーションフラッシュイメージがUFMにオーバーフローしたり、利用可能な内部フラッシュメモリを
オーバーフローしたりする心配がありません。
デュアルブートモードはMachXO2の信頼性向上に寄与します。内部フラッシュメモリイメージを最初にロードすることで、
初期コンフィギュレーションが失敗した場合でもFPGAは動作を継続できます。このような場合、フェイルセーフ構成データイメージをバックアップとしてMachXO2のSRAMにダウンロードできます。内部メモリの再プログラミング失敗の主な原因は通常、停電です。
JTAGポートの利点は、MachXO2システムのプログラミング、コンフィギュレーション、テストにおいて最も幅広い機能と特徴を提供することです。
5.13. sysCONFIG™ Ports
Table 5.6. MachXO2 Programming and Configuration Ports5.14. sysCONFIG Pins
MachXO2は、FPGAのプログラミングおよび設定に使用するsysCONFIG I/Oピン群を提供します。sysCONFIGピンはグループ化され、JTAG、SSPI、I2C、MSPIなどのポートを形成します。これらのポートは、FPGAのプログラミング、設定、およびFPGA内部リソースへのアクセスを目的としてFPGAと相互作用するために使用されます。構成ポートグループ内のsysCONFIGピンは、アクティブ状態でFPGAのプログラミングに使用されるか、汎用I/Oとして再構成される可能性があります。構成ポートピンを汎用I/Oとして再利用するには、以下のガイドラインに従う必要があります:- 使用しないポートは無効化(DISABLE)する必要があります。これにはDiamond Spreadsheet Viewの[Global]設定タブで設定できます。各コンフィギュレーションポートはsysCONFIGオプションツリーにリストされます。
- 外部ロジックがデバイスプログラミングに干渉しないようにする必要があります。MachXO2がFeature Row HW Default Mode状態にある際に、復元されたsysCONFIGピンがアサートされないことを確認してください。一例として、MachXO2がFeature Row HW Default Mode状態になった後にPROGRAMNをアクティブロー信号で駆動することが挙げられます。PROGRAMNを無効化した状態でフィーチャー列の再プログラミングに失敗すると、FPGAのコンフィギュレーションおよびユーザーモード移行が妨げられます。
- JTAGENBを使用してJTAGポートを選択的に有効/無効化する際は注意が必要です。JTAG I/Oに接続された外部ロジックは、JTAGプログラミングポートと競合してはなりません。
Diamondスプレッドシートビューエディタで必ず有効化してください。
特に指定がない限り、sysCONFIGピンはVCCIO0電圧で駆動されます。
バンク0に接続する他のロジックをプロビジョニングする際は、
この点を考慮することが極めて重要です。
各sysCONFIGピンの機能については詳細に説明されています。
5.14.1. Self-Download Port Pins
PROGRAMN
PROGRAMNはFPGAを構成するための入力です。PROGRAMNピンは有効化されると、ハイからローへの遷移に敏感であり、内部に弱いプルアップを備えています。PROGRAMNがローアサートされると、FPGAはユーザーモードを終了し、前述のように初期化フェーズでデバイス構成シーケンスを開始します。PROGRAMNピンをローに保持すると、MachXO2が初期化フェーズを離れるのを防ぎます。PROGRAMNがFPGAに認識されるには、最小パルス幅アサート期間が必要です。この最小時間は、MachXO2ファミリーデータシート(FPGA-DS-02056)のACタイミングセクションに記載されています。PROGRAMNピンがアクティブな際の以下の特記事項に注意してください:
- デバイスがJTAG経由でプログラミング中の場合、JTAGモードプログラミングシーケンス完了までPROGRAMNは無視されます。
- デバイス構成中にPROGRAMNピンをトグルすると、プロセスが中断され構成サイクルが再起動します。デバイス設定中はPROGRAMNピンを非アサート状態(High保持)にしてください。
- 機能行ハードウェアデフォルトモード状態のデバイスでPROGRAMNをアサートすると、SSPIおよびI2Cポートが無効化されます。PROGRAMNを非アサート状態にしてからSSPIまたはI2Cプログラミング操作を開始してください。
- PROGRAMNは、汎用I/Oとして予約されている場合でも、電源投入時にアクティブです。PROGRAMNに接続された入力信号が、VCC(min)からINITN立ち上がり時間を超える周波数でハイからローに遷移しないようにしてください。PROGRAMNのハイからローへの頻繁なアサートは、MachXO2の構成を妨げ、FPGAが継続的なRESET状態に留まる原因となります。図5.5を参照。
- フィーチャー行が消去または再プログラムされる際は、GPIOとして復旧した場合でもPROGRAMNを必ずディアサートする必要があります。アサートされたままの場合、コンフィギュレーションが正常に完了しない可能性があります。