プログラミングとコンフィグレーション使用ガイド

MachXO2プログラミングとコンフィグ
レーション使用ガイド
2014 年 2 月
テ ク ニ カル ノ ー ト TN1204
は じ めに
MachXO2 ™は SRAM ベース のプ ロ グ ラ マブル ・ ロ ジ ッ ク デバ イ ス ですが、 内部フ ラ ッ シ ュ メ モ リ が内蔵 さ れ
てい る ため、 MachXO2 は不揮発性デバ イ ス と 同様な動作が可能です。 MachXO2 は、 FPGA のプ ロ グ ラ ミ ン
グ及び コ ン フ ィ グ レーシ ョ ンのための豊富な機能セ ッ ト を提供 し ます。 数多 く のオプシ ョ ンがあ り 、 実際の
ニーズに適 し たプ ロ グ ラ ミ ン グ ・ ソ リ ュ ーシ ョ ンの構築が可能です。 本テ ク ニ カル ノ ー ト では、 ニーズに合
わせてプ ロ グ ラ ミ ン グ及び コ ン フ ィ グ レーシ ョ ン ・ ソ リ ュ ーシ ョ ン を組み合わせ ら れ る よ う 、 それぞれのオ
プシ ョ ンについて詳述 し ます。
MachXO2 の機能
MachXO2 デバ イ ス の主要なプ ロ グ ラ ミ ン グ及び コ ン フ ィ グ レーシ ョ ン機能には、 次の も のがあ り ます。
• 内部フ ラ ッ シ ュ メ モ リ か ら の イ ン ス タ ン ト オン ・ コ ン フ ィ グ レーシ ョ ン ~ ミ リ 秒単位で起動
• セキ ュ ア なシ ン グルチ ッ プ ・ ソ リ ュ ーシ ョ ン
• 複数のプ ロ グ ラ ミ ン グ及び コ ン フ ィ グ レーシ ョ ン ・ イ ン タ ーフ ェ イ ス
– 1149.1 JTAG
– セルフ ダ ウ ン ロ ー ド
– ス レーブ SPI (以下 "SSPI")
– マ ス タ SPI (以下 "MSPI")
– デ ュ アルブー ト
– I2C
– WISHBONE バ ス
• ユーザフ ラ ッ シ ュ メ モ リ (UFM) に よ る 不揮発性デー タ ス ト レージ。 用途例は以下
– コ ン フ ィ グ レーシ ョ ン ・ フ ラ ッ シ ュ メ モ リ (CFM) のオーバフ ロ ー
– EBR 初期化デー タ
– アプ リ ケーシ ョ ン固有のデー タ
• 不揮発性 メ モ リ の透過的 (transparent) プ ロ グ ラ ミ ン グ
• 外付け SPI メ モ リ に よ る オプシ ョ ンのデ ュ アルブー ト
• デザ イ ン保護のためのオプシ ョ ンのセキ ュ リ テ ィ ビ ッ ト
用語定義
本書では、 共通機能の説明で次の用語を使用 し ます。
• BIT ~ BIT フ ァ イ ルは、 外付け SPI フ ラ ッ シ ュ メ モ リ に格納 さ れ る 、 MachXO2 の コ ン フ ィ グ レーシ ョ ン ・
デー タ です。 バ イ ナ リ フ ァ イ ルにな っ てお り 、 こ の ま ま SPI フ ラ ッ シ ュ にプ ロ グ ラ ム さ れます。
• コ ン フ ィ グ レーシ ョ ン ~ MachXO2 の SRAM メ モ リ セルの状態を変更す る こ と です。
• コ ン フ ィ グ レーシ ョ ン ・ デー タ ~ 不揮発性 メ モ リ か ら 読み出 さ れ、 FPGA の コ ン フ ィ グ レーシ ョ ン
SRAM に ロ ー ド さ れ る デー タ です。 ビ ッ ト ス ト リ ーム、 ま たはデバ イ ス ・ ビ ッ ト ス ト リ ーム と も 呼ばれま
す。
• コ ン フ ィ グ レーシ ョ ン ・ モー ド ~ MachXO2 が不揮発性 メ モ リ か ら コ ン フ ィ グ レーシ ョ ン ・ デー タ を取得
す る方法を定義 し ます。
© 2012 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product
names are trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice. (日本語版は日本語に
よ る 理解のため一助 と し て提供 し てい ます。 その作成にあ た っ ては可能な限 り 正確を期 し てお り ますが、 原文英語版 と の不一致や不適切な訳文があ る 場合を含み、
註記がない限 り 英語版が正 (有効) です。 特に電気的特性 ・ 仕様値係わ る 事項については最新版の英語版を必ず参照す る よ う にお願い致 し ます。)
www.latticesemi.com
14-1
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
• 内部フ ラ ッ シ ュ メ モ リ ~ JED ま たはビ ッ ト フ ァ イ ルを直接内部フ ラ ッ シ ュ ・ セ ク タ にプ ロ グ ラ ムす る こ
と がで き ます。 ユーザは こ の コ ン フ ィ グ レーシ ョ ンデー タ が実際にはど の先頭ページか ら なのか を知 る 必
要はあ り ません。 MachXO2 内の コ ン フ ィ グ レーシ ョ ン ・ エン ジ ンが フ ラ ッ シ ュ メ モ リ か ら SRAM への転
送処理を行い ます。
• JEDEC ~ JEDEC フ ァ イ ルには、 MachXO2 の UFM、 UFM、 フ ィ ーチ ャ 行、 及びフ ィ ーチ ャ ビ ッ ト にプ ロ
グ ラ ム さ れ る コ ン フ ィ グ レーシ ョ ン ・ デー タ が格納 さ れます。 フ ォ ーマ ッ ト については、 こ のテ ク ニ カル
ノ ー ト で後述 し ます。
• オ フ ラ イ ン (Offline) モー ド ~不揮発性 メ モ リ のプ ロ グ ラ ミ ン グ と コ ン フ ィ グ レーシ ョ ン SRAM の コ ン
フ ィ グ レーシ ョ ンの両方に該当す る 用語です。 オ フ ラ イ ンモー ド ・ プ ロ グ ラ ミ ン グ / コ ン フ ィ グ レーシ ョ
ン を使用す る と 、 不揮発性ま たは コ ン フ ィ グ レーシ ョ ン SRAM の内容は更新 さ れますが、 MachXO2 はオ
フ ラ イ ン モー ド のプ ロ グ ラ ミ ン グ / コ ン フ ィ グ レーシ ョ ンが完了す る ま で、 ユーザモー ド で論理動作を実
行 し ません。
• 数値フ ォーマ ッ ト ~ 基数の表現には、 次の表記法を使用 し ます。
– 0x : 先頭に '0x' が付 く 数値は 16 進数
– b : 末尾に 'b' が付 く 数値は 2 進数
– その他の全ての数値は 10 進数
• ポー ト ~ プ ロ グ ラ ミ ン グ及び一部の コ ン フ ィ グ レーシ ョ ン動作に使用 さ れ る物理接続の こ と です。
MachXO2 のポー ト には、 JTAG、 SPI、 I2C、 WISHBONE な どの物理接続があ り ます。
• プ ロ グ ラ ミ ン グ ~ 内蔵ま たは外付け不揮発性 メ モ リ の内容変更に使用 さ れ る プ ロ セ ス です。
• 透過 (Transparent) モー ド ~ MachXO2 をユーザモー ド に し た ま ま、 CFM 及び UFM を更新す る ために使
用 さ れます。
• ユーザモー ド ~設計 さ れた論理機能で MachXO2 は動作す る こ と 。 コ ン フ ィ グ レーシ ョ ンが完了す る と
MachXO2 はユーザモー ド にな り ます。
コ ン フ ィ グ レーシ ョ ンの詳細
MachXO2 デバ イ ス には コ ン フ ィ グ レーシ ョ ン用に 2 種類の メ モ リ (SRAM 及びフ ラ ッ シ ュ ) が内蔵 さ れてい
ます。 SRAM には、 MachXO2 の動作を定義す る " ヒ ューズ " と な る 、 ア ク テ ィ ブ ・ コ ン フ ィ グ レーシ ョ ンが
格納 さ れます。 多 く の場合、 ア ク テ ィ ブ ・ コ ン フ ィ グ レーシ ョ ンは不揮発性 メ モ リ か ら 取得 さ れます。 不揮
発性 メ モ リ には コ ン フ ィ グ レーシ ョ ン ・ デー タ が格納 さ れ、 それが MachXO2 の SRAM に ロ ー ド さ れます。
MachXO2 には SRAM に ロ ー ド さ れ る コ ン フ ィ グ レーシ ョ ン ・ デー タ を格納す る 、 フ ラ ッ シ ュ メ モ リ が内蔵 さ
れてい ます。
コ ン フ ィ グ レーシ ョ ンのプ ロ セ ス と フ ロ ー
MachXO2 は初期化、 コ ン フ ィ グ レーシ ョ ン、 ウ ェ イ ク ア ッ プ と いっ た一連の ス テー ト を経て、 動作可能にな
り ます。
14-2
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
図 14-1. コ ン フ ィ グ レーシ ョ ン ・ フ ロ ー
Power Up
VCC > 1.06V or
VCC > 2.1V (HC devices)
VCCIO > 1.06V
Power not stable
INITN and DONE
Driven Low
Initialization
PROGRAMN or
INITN=Low
PROGRAMN de-asserted and tINITL expired
INITN Released
Device refresh:
• PROGRAMN falling edge
• IEEE 1532 REFRESH command
Device refresh
Configuration
ERROR
Write SRAM Memory
INITN=Low
All configuration data received
Device refresh
Wake Up
DONE Released
Device refresh
User Mode
MachXO2 の sysCONFIG ポー ト は、 プ ロ グ ラ ミ ン グ と コ ン フ ィ グ レーシ ョ ン用に業界標準の通信プ ロ ト コ ル
を提供 し ます。 表 14-1 に示す各プ ロ ト コ ルは、 MachXO2 デバ イ ス の内部フ ラ ッ シ ュ メ モ リ にア ク セ スす る
手段、 ま たは コ ン フ ィ グ レーシ ョ ン SRAM に ロ ー ド す る ための手段を提供 し ます。 各 sysCONFIG ポー ト の
機能については、 「 メ モ リ 空間のア ク セ ス」 の項で説明 し ます。
フ ラ ッ シ ュ メ モ リ にア ク セ ス可能な sysCONFIG ポー ト を表 14-1 に示 し ますが、 こ れには優先順位があ り ま
す。 MSPI コ ン フ ィ グ レーシ ョ ン ・ ポー ト にはフ ラ ッ シ ュ メ モ リ 空間を変更す る 機能がないため、 sysCONFIG
ポー ト の優先順位ス キームには含まれません。優先順位の低い sysCONFIG ポー ト を使用 し た コ ン フ ィ グ レー
シ ョ ン ・ ロ ジ ッ ク の動作は、 優先順位の高い sysCONFIG ポー ト に よ っ て割 り 込まれ る こ と があ る ため、 こ
の優先順位 ス キーム を理解す る こ と は重要です。 優先順位が低い sysCONFIG ポー ト が、 優先順位の高い
sysCONFIG ポー ト か ら 割 り 込まれた場合の、 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク の動作は (デバ イ ス と し て)
定義 さ れてい ません。 sysCONFIG ポー ト を使用 し た コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク への同時ア ク セ ス を許
容 し ないで く だ さ い。
電源起動シーケ ン ス
MachXO2 が動作す る には、 デバ イ ス に電源を供給す る 必要があ り ます。 シ ス テ ムに供給 さ れ る 電圧が上昇す
る と 短時間の間、 MachXO2 は未定義の ス テー ト にな り ます。
14-3
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
電源が さ ら に上昇す る と 、 MachXO2 内部の POR (Power On Reset) 回路がア ク テ ィ ブにな り 、 外部 I/O ピ ン
をハ イ イ ン ピーダ ン ス状態に し 、 ま た VCC 及び VCCIO0 入力電位を監視 し ます。 POR 回路は、 次の条件にな
る ま で待ち ます。
• VCC > 1.06V (= ZE デバ イ ス。 HC デバ イ ス では 2.1V)
• VCCIO0 > 1.06V
こ れ ら の条件が満た さ れ る と 、 POR 回路は内部 リ セ ッ ト ス ト ロ ーブ を解放 し 、 デバ イ ス が初期化プ ロ セ ス を
開始で き る よ う に し ます。 即ち MachXO2 は INITN を ア ク テ ィ ブ Low に、 そ し て DONE を Low に ド ラ イ ブ し
ます。 その後、 図 14-1 に示す よ う にデバ イ ス は初期化ス テー ト に移行 し ます。
図 14-2. POR (パ ワーオン リ セ ッ ト ) タ イ ミ ン グか ら の コ ン フ ィ グ レーシ ョ ンの開始
tINITL
VCC/VCCIO
INITN
DONE
初期化
MachXO2 は POR 回路が INITN 及び DONE ス テー タ ス ピ ン を Low に ド ラ イ ブす る と 、すぐ に メ モ リ 初期化ス
テー ト に移行 し 、 MachXO2 内部の コ ン フ ィ グ レーシ ョ ン SRAM を全て ク リ ア し ます。
次の全ての条件が満た さ れ る ま で、 MachXO2 は初期化ス テー ト の ま ま と な り ます。
• tINITL 期間が経過 し た
• PROGRAMN ピ ンが High にネゲー ト さ れた
• INITN ピ ンが High (外部マ ス タ か ら Low に ド ラ イ ブ さ れない)
専用 INITN ピ ンは、 初期化中に 2 つの機能を提供 し ます。 1 つは、 MachXO2 が現在 コ ン フ ィ グ レーシ ョ ン
SRAM を ク リ ア中であ る こ と を示 し ます。 も う 1 つは、 入力 と し て機能 し 、 Low の場合は初期化ス テー ト か
ら コ ン フ ィ グ レーシ ョ ン ・ ス テー ト への移行を防止 し ます。
tINITL 期間中、 MachXO2 は コ ン フ ィ グ レーシ ョ ン SRAM を ク リ ア し ます。 MachXO2 がデバ イ ス チ ェーンに含
まれてい る 場合、 各デバ イ ス が持つ tINITL 初期化時間はそれぞれ異な り ます。 最 も 遅い tINITL パ ラ メ ー タ を
持つデバ イ ス に よ っ て、 チ ェーン内の他のデバ イ ス は コ ン フ ィ グ レーシ ョ ンの開始を待た さ れます。 複数デ
バ イ ス のチ ェーンで INITN の解放が早すぎ る と 、 チ ェーン内の一部のデバ イ ス が コ ン フ ィ グ レーシ ョ ンに と
き ど き 失敗す る こ と があ り ます。
初期化信号 INITN はア ク テ ィ ブ Low、 オープン ド レ イ ンで、 初期化完了時に High にな る よ う に外付け抵抗で
プルア ッ プす る 必要があ り ます。 複数の FPGA の コ ン フ ィ グ レーシ ョ ン を同期す る には、 1 つま たは複数の
INITN ピ ン を ワ イ アー ド AND 接続す る 必要があ り ます。 1 つま たは複数の FPGA、 あ る いは外部デバ イ ス が
INITN を Low に保っ た場合、 MachXO2 は初期化ス テー ト の ま ま と な り ます。
コ ン フ ィ グ レーシ ョ ン
INITN ピ ンの立ち上が り エ ッ ジで、 MachXO2 は コ ン フ ィ グ レーシ ョ ン ・ ス テー ト に移行 し 、 開発ツールで作
成 さ れた ビ ッ ト ス ト リ ーム を受け付け ます。
MachXO2 は、 不揮発性 メ モ リ か ら の コ ン フ ィ グ レーシ ョ ン ・ デー タ の フ ェ ッ チを開始 し ます。 MachXO2 の
コ ン フ ィ グ レーシ ョ ンに使用 さ れ る メ モ リ は、 内部フ ラ ッ シ ュ か外付け SPI フ ラ ッ シ ュ の ど ち ら かです。 有
効な コ ン フ ィ グ レーシ ョ ン ・ デー タ が格納 さ れた メ モ リ がない場合、 MachXO2 は コ ン フ ィ グ レーシ ョ ン ・ ス
14-4
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
テー ト の ま ま と な り ます。 MachXO2 内部ま たは接続 さ れた不揮発性 メ モ リ をプ ロ グ ラ ムす る か、 JTAG ポー
ト を使用 し て MachXO2 を コ ン フ ィ グ レーシ ョ ンす る 必要があ り ます。
MachXO2 が コ ン フ ィ グ レーシ ョ ン ・ デー タ を受信中に、 INITN 制御ピ ンはその最後の機能を果た し 、 コ ン
フ ィ グ レーシ ョ ン ・ デー タ 内にエ ラ ーが存在す る こ と を示すために使用 さ れます。 INITN がプルア ッ プに よ
り High の ま ま であれば、 コ ン フ ィ グ レーシ ョ ンは問題な く 続行 さ れてい ます。 Low に ド ラ イ ブ さ れた場合は
何 ら かのエ ラ ーが発生 し てお り 、 MachXO2 が動作 し な く な り ます。
ウェ イ クアップ
ウ ェ イ ク ア ッ プ と は、 コ ン フ ィ グ レーシ ョ ン ・ モー ド か ら ユーザモー ド に移行す る こ と です。 MachXO2 の固
定 さ れた 4 段階の ウ ェ イ ク ア ッ プ ・ シーケ ン ス は、 デバ イ ス が コ ン フ ィ グ レーシ ョ ン ・ デー タ を全て受信す
る と 開始 さ れます。 全ての コ ン フ ィ グ レーシ ョ ン ・ デー タ を受信す る と 、 内部 DONE ス テー タ ス ビ ッ ト を ア
サー ト し 、 ウ ェ イ ク ア ッ プ ・ ス テー ト マシ ンが 4 本の信号の順序制御を行い ます。 こ の 4 つの制御ス ト ロ ー
ブには、 次の も のがあ り ます。
• 外部 DONE ピ ン
• 内部グ ロ ーバル ・ ラ イ ト デ ィ セーブル (Global Write DISable: GWDISn)
• 内部グ ロ ーバル出力 イ ネーブル (Global Output Enable: GOE)
• 内部グ ロ ーバル ・ セ ッ ト / リ セ ッ ト (Gobal Set / Reset: GSR)
ウ ェ イ ク ア ッ プ ・ プ ロ セ ス の最初の ス テ ッ プでは、 MachXO2 が GOE を解放 し ます。 GOE がアサー ト さ れ る
と 、 MachXO2 の I/O がハ イ イ ン ピーダ ン ス ・ ス テー ト を終了 し 、 プ ロ グ ラ ム さ れた出力機能を果たす よ う に
な り ます。 MachXO2 の入力は常にア ク テ ィ ブにな っ てい ます。 GSR がアサー ト さ れてい る と 、 入力信号が
MachXO2 の フ リ ッ プ フ ロ ッ プに対 し て ア ク シ ョ ン を実行で き ません。
ウ ェ イ ク ア ッ プ ・ プ ロ セ ス の第 2 ス テ ッ プでは、 GSR 及び GWDISn の制御が解放 さ れます。
GSR は内部ス ト ロ ーブで、 アサー ト さ れ る と GSR イ ネーブル属性を持つ全ての I/O フ リ ッ プ フ ロ ッ プ、 フ ァ
ブ リ ッ ク ・ フ リ ッ プ フ ロ ッ プ、 分散 RAM 出力フ リ ッ プ フ ロ ッ プ、 及びブ ロ ッ ク RAM 出力フ リ ッ プ フ ロ ッ プ
が、 そのハー ド ウ ェ ア記述言語の定義に従っ てセ ッ ト / ク リ ア さ れます。
GWDISn は、 MachXO2 内部の全ての RAM ロ ジ ッ ク の ラ イ ト イ ネーブル ・ ス ト ロ ーブ をオーバー ラ イ ド (無
効に) す る 制御です。 上述の よ う に入力は常にア ク テ ィ ブにな っ てい ます。 GWDISn を アサー ト し た ま ま で
あれば、 イ ン ス タ ン ス さ れた RAM リ ソ ース の偶発的な書 き 換え を防止で き ます。
ウ ェ イ ク ア ッ プ ・ プ ロ セ ス の最後の ス テ ッ プは、 外部 DONE ピ ンのアサー ト です。 外部 DONE ピ ンは イ ネー
ブル さ れた と き に限 り 、 双方向オープ ン ド レ イ ン I/O にな り ます。 外部デバ イ ス が外部 DONE ピ ン を Low に
保持す る と 、 MachXO2 の ウ ェ イ ク ア ッ プ ・ プ ロ セ ス が続行 さ れな く な り ます。 外部 DONE が イ ネーブル さ
れ、 High にな っ た場合のみ、 ウ ェ イ ク ア ッ プの最終ス テ ッ プが完了 し ます。 外部 DONE ピ ンが イ ネーブル さ
れていない場合は、 ウ ェ イ ク ア ッ プが中断な く 完了 し ます。
ウ ェ イ ク ア ッ プの最終ス テ ッ プが完了す る と 、 MachXO2 はユーザモー ド にな り ます。
ユーザモー ド
MachXO2 は ウ ェ イ ク ア ッ プ ・ シーケ ン ス が完了す る と 直ちにユーザモー ド にな り 、 ユーザ論理の動作を開始
し ます。 次のいずれかの イ ベン ト が発生す る ま で、 MachXO2 は こ の ス テー ト の ま ま と な り ます。
• PROGRAMN 入力ピ ンが Low に ド ラ イ ブ さ れ る
• いずれかの コ ン フ ィ グ レーシ ョ ン ・ ポー ト か ら REFRESH コ マン ド を受信す る
• 電源が再投入 さ れ る (一旦電源オ フ後に再度オンす る )
14-5
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
コ ン フ ィ グ レーシ ョ ン ・ メ モ リ の ク リ ア と 再初期化
MachXO2 の ユ ーザ モ ー ド 機能動作は、 意図的 に ク リ ア さ れ る か 電源 が オ フ さ れ る ま で 継続 さ れ ま す。
MachXO2 の内部 コ ン フ ィ グ レーシ ョ ン SRAM を ク リ アす る 方法はい く つかあ り ます。 1 つは、 電源をオ フ し
てか ら 再び投入す る こ と 、 も う 1 つの方法は、 PROGRAMN ピ ン を ト グルす る こ と です。 ま た Refresh コ マ ン
ド で メ モ リ を再初期化す る 方法 も あ り ま す。 Refresh コ マ ン ド は、 ア ク テ ィ ブな任意の コ ン フ ィ グ レーシ ョ
ン ・ ポー ト を使用 し て与え ら れます。
• PROGRAMn 入力を ド ラ イ ブす る
• MachXO2 の電源を再投入す る
• コ ン フ ィ グ レーシ ョ ン ・ ポー ト を使用 し て Refresh コ マ ン ド を送信す る
こ れ ら の方法のいずれか を実行す る と 、 MachXO2 は INITN 及び DONE を Low に ド ラ イ ブ し 、 初期化ス テー
ト に入 り ます。
メ モ リ 空間のア ク セ ス
MachXO2 の フ ラ ッ シ ュ と SRAM と い う 2 つの内部 メ モ リ は、 読み出 し と 書 き込みが可能です。 MachXO2 の
各ポー ト は、 各 メ モ リ 空間への異な る ア ク セ ス レベルを持っ てい ます。 表 14-1 に MachXO2 のポー ト と 、 そ
れがア ク セ ス可能な メ モ リ 空間の ク ロ ス リ フ ァ レ ン ス を示 し ます。
表 14-1 に示す と お り 、 JTAG ポー ト は両方の内部 メ モ リ 空間の読み出 し と 書 き 込みが可能です。 こ れ以外に
コ ン フ ィ グ レーシ ョ ン SRAM を読み出す こ と がで き る ポー ト はあ り ません。JTAG ポー ト は、オ フ ラ イ ンモー
ド と 透過モー ド の ど ち ら で も 2 つの メ モ リ 空間にア ク セ ス で き ます。 それ以外のポー ト は、 実行で き る 機能
が制限 さ れてい ます。
表 14-1. 各種ポー ト の メ モ リ 空間ア ク セ ス
オン チ ッ プ フ ラ ッ シ ュ メ モ リ
ポー ト
SRAM
Read
Write
Read
JTAG
Yes
Yes
Yes
Yes
SPI ポー ト
Yes
Yes
No
Refresh2
I2C ポー ト
Yes
Yes
No
Refresh2
1
1
No
No
内部 WISHBONE
Yes
Yes
Write
1. 透過 (Transparent) モー ド の場合のみ
2. 「 コ ン フ ィ グ レーシ ョ ン ・ メ モ リ の ク リ ア と 再初期化」 項を参照 し て く だ さ い
ビ ッ ト ス ト リ ーム と フ ラ ッ シ ュ メ モ リ のサ イ ズ
MachXO2 は SRAM ベース の FPGA です。 コ ン フ ィ グ レーシ ョ ン SRAM には、 全ての コ ン フ ィ グ レーシ ョ ン ・
デー タ を格納可能な不揮発性 メ モ リ か ら ロ ー ド す る 必要があ り ます。 コ ン フ ィ グ レーシ ョ ン ・ デー タ のサ イ
ズは一定 し てい ません。 MachXO2 で使用可能な ロ ジ ッ ク の量 と 、 コ ン フ ィ グ レーシ ョ ン時に初期化 さ れ る
EBR (Embedded Block RAM、 組み込みブ ロ ッ ク RAM) コ ン ポーネ ン ト 数に依存 し ます。 最大量の ス ト レージ
が必要にな る のは、 最大規模のデバ イ ス を使用 し 、 各 EBR がそれぞれ固有のデー タ 値で初期化 さ れ、 圧縮を
オンに し ないで生成 さ れた MachXO2 デザ イ ンです。
MachXO2 の内部フ ラ ッ シ ュ メ モ リ に コ ン フ ィ グ レーシ ョ ン ・ デー タ を格納す る 際は、 特別な注意が必要で
す。 MachXO2 の フ ラ ッ シ ュ メ モ リ は 3 セ ク タ で構成 さ れてい ます。 最初のセ ク タ は圧縮 コ ン フ ィ グ レーシ ョ
ン ・ デー タ の保持専用に使用 さ れ、 コ ン フ ィ グ レーシ ョ ン ・ フ ラ ッ シ ュ メ モ リ (以下 CFM) と 呼ばれます。
2 番目のセ ク タ はユーザフ ラ ッ シ ュ メ モ リ (以下 UFM) と 呼ばれ、 3 種類の機能を提供 し ます。 コ ン フ ィ グ
レーシ ョ ン ・ デー タ イ メ ージが大 き い場合に、 CFM を補 う ス ト レージ と な り 、 或いは EBR の内容を格納で
き 、 ま た汎用フ ラ ッ シ ュ メ モ リ と し て使用で き ます。 3 番目のセ ク タ はフ ィ ーチ ャ 行です。
14-6
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
図 14-3. MachXO2 デバ イ ス のフ ラ ッ シ ュ メ モ リ 空間
128 Bits
Configuration Flash
Row Size = M
Usercode
UFM
Row Size = N
Feature Row
殆ど のデザ イ ンでは、 CFM は コ ン フ ィ グ レーシ ョ ン SRAM に ロ ー ド さ れ る 、 圧縮 し た コ ン フ ィ グ レーシ ョ
ン ・ デー タ の格納に十分な大 き さ があ り ます。 し か し デザ イ ン内の ロ ジ ッ ク サ イ ズ と 初期化 さ れ る EBR 数が
増加す る と 、 コ ン フ ィ グ レーシ ョ ン ・ デー タ のサ イ ズ も 増加 し 、 コ ン フ ィ グ レーシ ョ ン ・ デー タ が UFM セ
ク タ にオーバフ ロ ーす る こ と があ り ます。 ま た、 可能性は低い も のの、 内部フ ラ ッ シ ュ メ モ リ 全体に収ま ら
ないほ ど コ ン フ ィ グ レーシ ョ ン ・ デー タ が大 き く な る こ と も あ り ます。 大 き く な り すぎ て、 CFM と UFM メ
モ リ 空間を組み合わせて も 収ま ら な く な っ た場合は、デザ イ ン を変更 し てサ イ ズ を小 さ く す る か、外付け SPI
フ ラ ッ シ ュ メ モ リ を使用す る 必要があ り ます。 コ ン フ ィ グ レーシ ョ ン ・ デー タ を生成す る ソ フ ト ウ ェ アの入
力を指定す る こ と で、 UFM へのオーバフ ロ ーを防止で き ます。
CFM と UFM メ モ リ を合わせたサ イ ズ よ り も 、 コ ン フ ィ グ レーシ ョ ン ・ デー タ が大 き く な っ た場合は、 デバ
イ ス の ビ ッ ト ス ト リ ーム を外付け SPI フ ラ ッ シ ュ に格納す る 方法があ り ます。 表 14-2 に、 SPI フ ラ ッ シ ュ を
選択す る ための、 最大非圧縮ビ ッ ト ス ト リ ーム ・ サ イ ズ を示 し ます。
表 14-2. 最大コ ン フ ィ グ レーシ ョ ン ・ ビ ッ ト 数
EBR な し の非圧縮ビ ッ ト
ス ト リ ーム ・ サイ ズ
EBR あ り の非圧縮ビ ッ ト
ス ト リ ーム ・ サイ ズ
最大内部フ ラ ッ シ ュ
サイ ズ
単位
LCMXO2-256
0.09
N/A
0.071
Mb
LCMXO2-640
0.19
0.20
デバイ ス
LCMXO2-640U
LCMXO2-1200
0.35
0.41
LCMXO2-1200U
LCMXO2-2000
0.51
0.58
LCMXO2-2000U
0.17
Mb
0.33
Mb
0.33
Mb
0.47
Mb
0.47
Mb
0.80
Mb
LCMXO2-4000
0.93
1.02
0.80
Mb
LCMXO2-7000
1.47
1.70
1.38
Mb
フ ィ ーチ ャ 行 (Feature Row)
MachXO2 に内蔵 さ れ る フ ィ ーチ ャ 行は、 FPGA リ ソ ー ス の制御に使用 さ れ ます。 例えば、 フ ィ ーチ ャ 行は
MachXO2 の コ ン フ ィ グ レーシ ョ ン SRAM を ロ ー ド す る方法を定義す る ために使用 さ れます。 他の FPGA で
は、 こ の動作制御に外部 I/O ピ ンが使用 さ れます。 フ ィ ーチ ャ 行は コ ン フ ィ グ レーシ ョ ン機能の選択や、 デ
バ イ ス の I/O 数を増や し てハー ド ウ ェ アに変更を加え る 必要性を排除す る な ど の柔軟性を与え ます。
フ ィ ーチ ャ 行の消去やプ ロ グ ラ ミ ン グは独立に実行で き ます。消去 さ れ る と 、 フ ィ ーチ ャ 行の値は HW (ハー
ド ウ ェ ア) デフ ォ ル ト モー ド ・ ス テー ト に戻 り ます。
フ ィ ーチ ャ 行で制御 さ れ る 機能の全 リ ス ト 、 及びそのデフ ォ ル ト 値を表 14-3 に示 し ます。
14-7
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
表 14-3. MachXO2 のフ ィ ーチ ャ 行要素
フ ィ ーチ ャ
SW デ フ ォル ト モー ド ・ ス テー ト
(プ ログ ラ ム済み)
HW デ フ ォル ト モー ド ・ ス テー ト
(消去)
PROGRAMN Persistence
Disabled
Enabled
INITn Persistence
Disabled
Disabled
DONE Persistence
Disabled
Disabled
0x00000000
0x00000000
TraceID ™
00000000
00000000
Security1
OFF
OFF
JTAG Port Persistence
Enabled
Enabled
SSPI Port Persistence
Disabled
Enabled
I C Port Persistence
Disabled
Enabled
MSPI Port Persistence
Disabled
Disabled
0x00
0x00
Custom IDCODE
2
I2C Slave Address 2
UFM OTP
OFF
OFF
SRAM OTP
OFF
OFF
Config Flash OTP
OFF
OFF
my_ASSP Enable
OFF
OFF
1. CONFIG_SECURE 制約を使用 し て イ ネーブル / デ ィ セーブル し ます
2. ア ド レ ス は IPexpress ™で指定 し ます
フ ィ ーチ ャ 行を変更す る のは開発時、 及びフ ィ ール ド でのア ッ プグ レー ド 時 (やむを え ない場合) のみ と す
る こ と を強 く 推奨 し ます。 こ れは、 フ ィ ーチ ャ 行は使用可能にす る コ ン フ ィ グ レーシ ョ ン ・ ポー ト の制御を
行 う ためです。 ア ク テ ィ ブな コ ン フ ィ グ レーシ ョ ン ・ ポー ト が使用で き な く な り 、 その後のア ッ プデー ト を
行えな く な る 可能性があ り ます。
フ ィ ーチ ャ行の変更によ り 、 MachXO2 が コ ン フ ィ グ レーシ ョ ン で き な く な る こ と があ り ます。 PROGRAMN、
INITN、DONE の各制御及びス テー タ ス ピ ンは、 フ ィ ーチ ャ 行を使用 し て イ ネーブル及びデ ィ セーブル制御 さ
れます。 PROGRAMN 入力ピ ンは、 汎用 I/O と し ての使用が回復 さ れ る か も し れません。 フ ィ ーチ ャ 行ス テー
ト を消去す る と 、 PROGRAMN 入力は汎用 I/O ではな く 、 PROGRAMN と し て機能 し ますので、 汎用 I/O と し
て Low に ド ラ イ ブ さ れてい る と 、 MachXO2 が コ ン フ ィ グ レーシ ョ ン ・ プ ロ セ ス を完了で き な く な り ます。
I2C イ ン タ ーフ ェ イ ス において も SSPI イ ン タ ーフ ェ イ ス を GPIO と し て用い る 場合は同様の注意が必要です。
フ ィ ーチ ャ 行の消去 と 再プ ロ グ ラ ミ ン グす る こ と に よ っ て、一時的に全 コ ン フ ィ グ レーシ ョ ン・ イ ン タ ーフ ェ
イ ス が イ ネーブル さ れます。 SSPI チ ッ プセ レ ク ト であ る SN ピ ンが GPIO と し て用い ら れ る 場合で、 Low に
ド ラ イ ブ さ れ る 或いは接続 さ れ る と 、 I2C イ ン タ ーフ ェ イ ス よ り も 優先度の高い SSPI イ ン タ ーフ ェ イ ス が イ
ネーブル さ れ る ため、 プ ロ グ ラ ミ ン グや コ ン フ ィ グ ・ プ ロ セ ス が割 り 込まれ る 結果 と な り 、 プ ロ セ ス が無事
終了で き な く な り ます。
フ ィ ーチ ャ 行は Diamond Programmer に よ っ て消去や (再) プ ロ グ ラ ミ ン グが可能で、 消去 ・ プ ロ グ ラ ム ・ ベ
リ フ ァ イ のシーケ ン ス で行われます。 バ ッ ク グ ラ ン ド ・ フ ラ ッ シ ュ ・ プ ロ グ ラ ミ ン グ時に フ ィ ーチ ャ 行の消
去 と 再プ ロ グ ラ ム を望ま ない時は、”XFLASH Erase, Program, Verify, Refresh” 操作を選択す る こ と を推奨 し ま
す。
フ ィ ーチ ャ 行の設定は、 Diamond の Spreadsheet View (ス プ レ ッ ド シー ト ・ ビ ュ ー) を使用す る こ と で変更で
き ます。 Spreadsheet View では、 MachXO2 の コ ン フ ィ グ レーシ ョ ン設定を編集 し 、 その設定は LPF (Lattice
Preference File)に書 き出 さ れます。こ の設定はマ ッ ピ ン グや配置配線の各処理ス テ ッ プで参照 さ れ、MachXO2
の コ ン フ ィ グ レーシ ョ ン ・ デー タ に反映 さ れます。
主な機能 ・ 動作の ま と め
14-8
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
• 実動作環境にて更新す る こ と は期待せず、 開発時のみの書 き 換え を意図 し てい る
• フ ィ ーチ ャ 行の値を変更す る こ と はア ク テ ィ ブに設定 し てい る コ ン フ ィ グ レーシ ョ ン ポー ト が使用で き な
く な る可能性があ る
• Diamond Programmer や Diamond Spreadsheet View で書 き 換えが可能
• フ ラ ッ シ ュ ・ ア ッ プデー ト 時に消去 ・ 再プ ロ グ ラ ミ ン グ さ れ る ため、 フ ィ ーチ ャ 行の値を変えない よ う に
する こ と
コ ン フ ィ グ レーシ ョ ン ・ モー ド
MachXO2 の コ ン フ ィ グ レーシ ョ ン SRAM メ モ リ に有効な コ ン フ ィ グ レーシ ョ ン・デー タ を ロ ー ド し ない と 動
作 し ません。MachXO2 で コ ン フ ィ グ レーシ ョ ン ・ デー タ を SRAM に ロ ー ド す る 方法は、4 つあ り ます。表 144 に示す こ れ ら の方法には、 それぞれ利点があ り ます。
表 14-4. コ ン フ ィ グ レーシ ョ ン ・ モー ド
モー ド
1149.1 JTAG
SDM (セル フ ダウン ロー ド = 内部)
外部ダウン ロー ド
デ ュ アルブー ト ・ ダウン ロー ド
ピ ン数
最大周波数
4 (5)
25 MHz
0
N/A
4
50 MHz
0/4
N/A / 50 MHz
殆ど の MachXO2 デザ イ ンの コ ン フ ィ グ レーシ ョ ン ・ モー ド は、 セルフ ダ ウ ン ロ ー ド ・ モー ド (Self-Download
Mode、 以下 "SDM") です。 こ の方法では、 内部 ク ロ ッ ク が外付け メ モ リ の速度 よ り も 高速 と な る ため、 コ ン
フ ィ グ レ ーシ ョ ン 速度に関 し て利点が あ り ま す。 ま た製品 コ ス ト を 増加 さ せ る 不揮発 メ モ リ が不要です。
JTAG ポー ト を使用 し て、 外部プ ロ グ ラ マか ら SRAM に ロ ー ド す る 必要 も あ り ません。
外部ダ ウ ン ロ ー ド (External Download) モー ド の利点は、 UFM の全て を使用で き る こ と です。 コ ン フ ィ グ
レーシ ョ ン ・ イ メ ージが UFM にオーバフ ロ ーす る こ と や、使用可能な内部フ ラ ッ シ ュ メ モ リ がオーバフ ロ ー
す る 心配があ り ません。
デ ュ アルブー ト ・ モー ド (Dual-boot Mode) の利点は、 MachXO2 の コ ン フ ィ グ レーシ ョ ンの信頼性を上げ ら
れ る こ と です。 MachXO2 は、 最初に内部フ ラ ッ シ ュ メ モ リ ・ イ メ ージ を ロ ー ド し 、 それに失敗 し た場合で
も 、 フ ェ イ ルセーフ ・ コ ン フ ィ グ レーシ ョ ン ・ デー タ イ メ ージ を MachXO2 の SRAM にダ ウ ン ロ ー ド で き る
ため、 動作 し 続け る こ と がで き ます。 MachXO2 の コ ン フ ィ グ レーシ ョ ン失敗の最大の原因は内部 メ モ リ の再
プ ロ グ ラ ム失敗 (一般的には、 電源が失われた こ と に よ る ) です。
JTAG ポー ト の利点は、 MachXO2 シ ス テ ムのプ ロ グ ラ ミ ン グ、 コ ン フ ィ グ レーシ ョ ン、 及びテ ス ト 用の多様
な機能を提供す る こ と です。
sysCONFIG ™ ポー ト
表 14-5. MachXO2 プ ロ グ ラ ミ ン グ及び コ ン フ ィ グ レーシ ョ ン ・ ポー ト
イ ン ターフ ェ イス
JTAG
sysCONFIG
ポー ト
記 述
JTAG (IEEE 1149.1 および IEEE 1532 互換 )
4 線または 5 線式 JTAG イ ン タ ー フ ェ イ ス
SSPI
SSPI (Slave Serial Peripheral Interface)
MSPI
MSPI (Master Serial Peripheral Interface)
2
内部
IC
I2C (Inter-integrated Circuit) イ ン タ ー フ ェ イ ス
WISHBONE
内部 WISHBONE バス イ ン タ ー フ ェ イ ス
14-9
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
sysCONFIG ピ ン
MachXO2 にあ る sysCONFIG I/O ピ ンは、デバ イ ス のプ ロ グ ラ ム及び コ ン フ ィ グ レーシ ョ ンに使用で き ます。
sysCONFIG ピ ンはグループに ま と め ら れてポー ト (JTAG、 SSPI、 I2C、 MSPI) を構成 し 、 内蔵 さ れた リ ソ ー
ス のプ ロ グ ラ ミ ン グ、 コ ン フ ィ グ レーシ ョ ン、 及びア ク セ ス のための MachXO2 と の通信に使用 さ れます。 コ
ン フ ィ グ レーシ ョ ン ポー ト ・ グループ内の sysCONFIG ピ ンは、 ア ク テ ィ ブに し てプ ロ グ ラ ミ ン グに使用で
き ますが、 再 コ ン フ ィ グ レーシ ョ ン し て汎用 I/O と し て機能す る こ と も で き ます。
コ ン フ ィ グ レーシ ョ ン ・ ポー ト ピ ン を汎用 I/O と し て回復す る には、 次のガ イ ド ラ イ ンに従 う 必要があ り ま
す。
• 未使用ポー ト をデ ィ セーブルす る 必要があ り ます。 そのためには、 Diamond の Spreadsheet View にあ る
Global Preferences (グ ロ ーバル制約) タ ブ を使用 し ます。 各 コ ン フ ィ グ レーシ ョ ン ・ ポー ト は、
sysCONFIG オプシ ョ ン ツ リ ーに リ ス ト さ れます。
• 外部 ロ ジ ッ ク が、 デバ イ ス ・ プ ロ グ ラ ミ ン グに影響を与えない よ う にす る 必要があ り ます。 MachXO2 が
フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト の と き に、 回復 さ れた sysCONFIG ピ ンが ド ラ イ ブ さ れな
い よ う に し ます。 例えば、 MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト にな っ た ら 、
PROGRAMN を Low に ド ラ イ ブ し ます。 PROGRAMN をデ ィ セーブル し た状態で フ ィ ーチ ャ 行の再プ ロ グ
ラ ムに失敗す る と 、 MachXO2 を コ ン フ ィ グ レーシ ョ ンす る こ と も 、 ユーザモー ド にす る こ と も で き な く
な り ます。
• JTAGENB を使用 し て、 JTAG ポー ト を選択的に イ ネーブル及びデ ィ セーブルす る 際は注意が必要です。
JTAG I/O に接続 さ れた外部 ロ ジ ッ ク が、 JTAG プ ロ グ ラ ミ ン グ ポー ト と 競合 し てはいけ ません。
表 14-6 に共有 sysCONFIG ピ ンのデフ ォ ル ト ・ ス テー ト を示 し ます。 こ の表に示 し た と お り 、 デフ ォ ル ト
モー ド ・ フ ィ ーチ ャ 行デバ イ ス は JTAG、 SPI ス レーブ、 及び I2C ポー ト が イ ネーブル さ れます。 ユーザモー
ド にな る と 、 MachXO2、 SSPI のデフ ォ ル ト ・ ス テー ト 、 及び I2C sysCONFIG ピ ンは汎用 I/O にな り ます。 そ
の結果、 デフ ォ ル ト の sysCONFIG ポー ト 設定を使用す る と 、 SSPI ま たは I2C を使用 し て MachXO2 をプ ロ グ
ラ ム で き な く な り ま す。 SSPI ま たは I2C sysCONFIG ピ ン を ユーザモー ド の ま ま にす る には、 Diamond の
Spreadsheet View エデ ィ タ を使用 し て、 それ ら の ピ ン を必ず イ ネーブルす る 必要があ り ます。
特記のない限 り 、 sysCONFIG ピ ンには VCCIO0 電圧が印加 さ れます。 バン ク 0 に接続 さ れた他の ロ ジ ッ ク を
用意す る 場合は、 こ の こ と に十分注意 し て く だ さ い。
各 sysCONFIG ピ ンの機能について詳 し く 説明 し ます。
表 14-6. sysCONFIG ピ ンのデフ ォ ル ト ・ ス テー ト
ピ ン名
PROGRAMN1
関連する
sysCONFIG ポー ト
デ フ ォル ト モー ド ・ フ ィ ーチ ャ行
のデ フ ォル ト のピ ン機能
(コ ン フ ィ グレーシ ョ ン ・ モー ド )
ピ ンの方向
(コ ン フ ィ グ レーシ ョ ン ・
モー ド )
ユーザモー ド フ ィ ー
チ ャ 行のデ フ ォル ト
機能
SDM
PROGRAMN
弱いプルア ッ プのある入力
ユーザ定義 I/O
INITN
SDM
I/O
弱いプルア ッ プのある I/O
ユーザ定義 I/O
DONE
SDM
I/O
弱いプルア ッ プのある I/O
ユーザ定義 I/O
MCLK/CCLK
SSPI/MSPI
SSPI
弱いプルア ッ プのある入力
ユーザ定義 I/O
SN
SSPI/MSPI
SSPI
弱いプルア ッ プのある入力
ユーザ定義 I/O
SI/SISPI
SSPI/MSPI
SSPI
入力
ユーザ定義 I/O
SO/SPISO
SSPI/MSPI
SSPI
出力
ユーザ定義 I/O
MSPI
I/O
弱いプルア ッ プのある I/O
ユーザ定義 I/O
CSSPIN
2
2
SCL
IC
IC
双方向
ユーザ定義 I/O
SDA
I2C
I2C
双方向
ユーザ定義 I/O
14-10
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
表 14-7. 各ポー ト の Diamond におけ るデフ ォル ト 設定値
sysCONFIG ポー ト
デ フ ォル ト
SDM_PORT
Disable
SLAVE_SPI_PORT
Disable
I2C_PORT
Disable
MASTER_SPI_PORT
Disable
JTAG_PORT
Enable
1
1, 本オプ シ ョ ン設定は Diamond の Spreadsheet View 内、 Global
Preference タ ブ で変更が可能
セルフ ダ ウ ン ロ ー ド ・ ポー ト ピ ン
PROGRAMN: MachXO2 の コ ン フ ィ グ レ ー シ ョ ン に 使用 さ れ る 制 御入 力 ピ ン。 イ ネ ー ブ ル さ れ る と 、
PROGRAMN ピ ンは High か ら Low の遷移にセ ン シテ ィ ブで、内部的に弱 く プルア ッ プ さ れます。PROGRAMN
が Low に ド ラ イ ブ さ れ る と 、 MachXO2 はユーザモー ド を終了 し 、 前述の よ う に初期化ス テ ッ プのデバ イ ス ・
コ ン フ ィ グ レーシ ョ ン ・ シーケ ン ス を開始 し ます。 PROGRAMN ピ ン を Low に保持す る と 、 MachXO2 は初期
化ス テ ッ プ を終了で き な く な り ます。 PROGRAMN には、 ド ラ イ ブ さ れた こ と を MachXO2 が認識す る ための
ド ラ イ ブ期間の最小パルス幅があ り 、MachXO2 フ ァ ミ リ デー タ シー ト の AC タ イ ミ ン グ項に記載 さ れてい ま
す。
PROGRAMN ピ ンが イ ネーブル さ れてい る 場合は、 次の特殊ケース に注意 し て く だ さ い。
• デバ イ ス が JTAG か ら プ ロ グ ラ ム中の場合は、 JTAG モー ド ・ プ ロ グ ラ ミ ン グ ・ シーケ ン ス が完了す る ま
で PROGRAMN は無視 さ れます。
• デバ イ ス の コ ン フ ィ グ レーシ ョ ン中に PROGRAMN ピ ン を ト グルす る と 、 プ ロ セ ス が中断 さ れて、 コ ン
フ ィ グ レーシ ョ ン ・ サ イ ク ルが再始動 さ れます。
• フ ィ ーチ ャ 行デフ ォ ル ト モー ド ・ ス テー ト のデバ イ ス で PROGRAMN を ド ラ イ ブす る と 、 SSPI 及び I2C
ポー ト がデ ィ セーブル さ れます。 SSPI ま たは I2C のプ ロ グ ラ ミ ン グ動作は、 PROGRAMN のネゲー ト 後に
開始 し て く だ さ い。
• PROGRAMN は汎用 I/O と し て確保 さ れてい る 場合で も 電源起動時はア ク テ ィ ブです。 VCC がその (min)
に達 し てか ら INITN が立ち上が る ま での期間 よ り 早 く PROGRAMN に接続 さ れた入力信号が High か ら
Low に遷移 さ せてはな り ません。 さ も ない と 、 し ば し ば MachXO2 が コ ン フ ィ グ レーシ ョ ンに失敗す る こ
と と な り 、 リ セ ッ ト 状態の ま ま にな り ます。 図 14-4 を参照 し て下 さ い。
• PROGRAMN は GPIO と し て用い ら れ る場合で も 、 フ ィ ーチ ャ 行が消去 ・ 再プ ロ グ ラ ミ ン グ さ れ る 場合は
ネゲー ト さ れてい る 必要があ り ます。 アサー ト さ れてい る と コ ン フ ィ グ レーシ ョ ン手順が完了 し ない可能
性があ り ます。
図 14-4. PROGRAMN が常時監視 さ れ る周期
PROGRAMN transitions observed
VCC
VCC min.
INITN
PROGRAMN
14-11
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
図 14-5. PROGRAMN か ら の コ ン フ ィ グ レーシ ョ ン ・ タ イ ミ ン グ
tPRGMJ
PROGRAMN
t INITL
INITN
DONE
tDPPINIT
t DPPDONE
INITN: INITN ピ ンは双方向のオープン ド レ イ ン制御ピ ンで、 次の機能があ り ます。
• 電源投入後、 PROGRAMN の ド ラ イ ブ後、 ま たは REFRESH コ マ ン ド 実行後に Low にな り 、 コ ン フ ィ グ
レーシ ョ ン SRAM の消去中であ る こ と を示 し ます。 Low の ド ラ イ ブ時間は、 tINTIL パ ラ メ ー タ で規定 さ れ
ます。
• tINTIL 期間の経過後、 INITN ピ ンがネゲー ト さ れて (High) コ ン フ ィ グ レーシ ョ ンの準備がで き た こ と を
示 し ます。 MachXO2 は、 内部フ ラ ッ シ ュ メ モ リ ま たは外付け SPI フ ラ ッ シ ュ か ら 、 コ ン フ ィ グ レーシ ョ
ン ・ デー タ の ロ ー ド を開始 し ます。
• INITN を tINTIL 期間の経過前に外部デバ イ ス か ら Low に ド ラ イ ブす る こ と に よ り 、 コ ン フ ィ グ レーシ ョ ン
を開始す る こ と を防止で き ます。 複数のプ ロ グ ラ マブルデバ イ ス がチ ェーン接続 さ れてい る 場合は、 こ れ
が役立ち ます。 tINTIL 時間が最 も 長いプ ロ グ ラ マブルデバ イ ス は、 そのデバ イ ス の準備がで き る ま で、
チ ェーン内の他の全てのデバ イ ス にデー タ 取得開始を待たせ る こ と がで き ます。
• INITN が持つ最後の機能は、 コ ン フ ィ グ レーシ ョ ン ・ デー タ の読み出 し 中にエ ラ ーを通知す る こ と です。
tINTIL が経過 し 、 INITN ピ ンが一度 High にな っ た後に INITN が Low にな る こ と は、 コ ン フ ィ グ レーシ ョ ン
中に MachXO2 がエ ラ ーを検出 し た こ と を示 し ます。
INITN は次の条件でア ク テ ィ ブにな り 、 初期化ス テー ト がア ク テ ィ ブであ る こ と を示 し ます。
• 電源の供給が開始 さ れた
• PROGRAMN の立ち下が り エ ッ ジが発生 し た
• ス レーブ ・ コ ン フ ィ グ レーシ ョ ン ・ ポー ト (JTAG、 SSPI、 I2C、 ま たは WISHBONE) を使用 し て、 IEEE
1532 REFRESH コ マ ン ド が送信 さ れた
エ ラ ー条件に よ っ て INITN ピ ンが ド ラ イ ブ さ れた場合は、 コ ン フ ィ グ レーシ ョ ン ・ ビ ッ ト ス ト リ ーム を修正
し 、 MachXO2 を強制的に初期化ス テー ト にす る と 、 エ ラ ーを解消で き ます。
図 14-6. コ ン フ ィ グ レーシ ョ ン ・ エ ラ ーの通知
Configuration
Started
PROGRAMN
Configuration
Error
t INITL
INITN
DONE
フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト にあ る 場合、 MachXO2 デバ イ ス の INITN の状態はデバ イ ス
外部か ら 認識で き ません。 こ のモー ド の INITN ピ ンは、 デフ ォ ル ト で High にプルア ッ プ さ れます。 図 14-6
に示す INITN の動作が MachXO2 の外部か ら 認識 さ れ る のは、 INITN ピ ンが イ ネーブル さ れた場合だけです。
INITN は汎用 I/O と し て回復で き ます。 デフ ォ ル ト では、 INITN ピ ンはデ ィ セーブル さ れます。 イ ネーブル
す る には、 Diamond の Spreadsheet View を使用 し ます。
14-12
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
ビ ッ ト ス ト リ ームの読み出 し 時にエ ラ ーが検出 さ れた場合は、 INITN が Low にな り 、 内部 DONE ビ ッ ト は
セ ッ ト さ れず、 DONE ピ ンが Low の ま ま と な っ て、 デバ イ ス は ウ ェ イ ク ア ッ プ し ません。 次の場合、 デバ イ
ス は コ ン フ ィ グ レーシ ョ ンに失敗 し ます。
• ビ ッ ト ス ト リ ーム CRC エ ラ ーが検出 さ れた
• 無効な コ マン ド (エ ラ ー) が検出 さ れた
• オンチ ッ プ フ ラ ッ シ ュ か ら の ロ ー ド 時に タ イ ム ア ウ ト エ ラ ーが発生 し た
• オンチ ッ プ ・ コ ン フ ィ グ レーシ ョ ン SRAM ま たはオンチ ッ プ ・ フ ラ ッ シ ュ メ モ リ の末尾に達 し た と き に、
プ ロ グ ラ ム完了 (Program Done) コ マ ン ド を検出 し なか っ た
DONE: 弱 く プルア ッ プ さ れた双方向オープン ド レ イ ンで、 MachXO2 がユーザモー ド であ る こ と を通知 し ま
す。 DONE がユーザモー ド への移行を最初に示す こ と がで き る のは、 内部 DONE ビ ッ ト がアサー ト さ れた後
だけです。 内部 DONE ビ ッ ト は、 MachXO2 の ウ ェ イ ク ア ッ プ ・ ス テー ト の開始を示 し ます。
DONE ピ ン出力は SDM_PORT コ ン フ ィ グ レーシ ョ ン ・ パ ラ メ ー タ で制御 さ れ、 Diamond の Spreadsheet View
(ス プ レ ッ ド シー ト ・ ビ ュ ー) で変更で き ます。 デフ ォ ル ト では、 MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ ル ト
モー ド ・ ス テー ト の場合に、 DONE ピ ンは汎用 I/O にな り ます。 デフ ォ ル ト モー ド では、 内部 DONE ビ ッ ト
のアサー ト 後、 MachXO2 が自動的に ウ ェ イ ク ア ッ プ ・ シーケ ン ス を順に実行 し ます。 MachXO2 が ウ ェ イ ク
ア ッ プ を停止 し 、 DONE ピ ンが High に ド ラ イ ブ さ れ る ま で待つ こ と はあ り ません。
外部デバ イ ス が DONE ピ ン を Low に ド ラ イ ブ し 続け る と 、その期間はユーザモー ド に移行 し ない状態に保持
で き ます。 そのためには、 SDM_PORT で DONE I/O を イ ネーブル し 、 MachXO2 の フ ィ ーチ ャ 行をプ ロ グ ラ
ムす る 必要があ り ます。 DONE を Low に ド ラ イ ブ し た ま ま にす る 一般的な理由は、 複数の FPGA を全て コ ン
フ ィ グ レーシ ョ ンで き る よ う にす る こ と です。各 FPGA が DONE ス テー ト に達す る と ユーザ動作を開始で き
ます。 (チ ェーンに し て DONE ピ ン を ワ イ ヤー ド オア接続 し た場合、) 最後の FPGA が コ ン フ ィ グ レーシ ョ ン
さ れ る と 、 全ての FPGA が一斉に動作を開始 し ます。
MachXO2 が初期化モー ド にな る と 、 INITN ピ ン と 連動 し て DONE ピ ンが Low に ド ラ イ ブ さ れます。 既に説
明 し た と お り 、 電源が投入 さ れ る か、 PROGRAMN が ド ラ イ ブ さ れ る か、 ア ク テ ィ ブな コ ン フ ィ グ レーシ ョ
ン ・ ポー ト か ら IEEE 1532 Refresh コ マ ン ド を受信す る と こ の ス テー ト にな り ます。
DONE ピ ン をサンプ リ ン グす る こ と で、 外部デバ イ ス が MachXO2 の コ ン フ ィ グ レーシ ョ ン終了を知 る 方法
と し て利用で き ます。 ただ し 、 IEEE 1532 JTAG を使用 し て SRAM を コ ン フ ィ グ レーシ ョ ンす る と 、 DONE ピ
ンがバ ウ ン ダ リ ス キ ャ ン ・ セルに よ っ て ド ラ イ ブ さ れ る ため、 IEEE 1532 JTAG に よ る コ ン フ ィ グ レーシ ョ ン
中は DONE ピ ンの ス テー ト が意味を持たな く な り ます( コ ン フ ィ グ レーシ ョ ンが完了す る と 、DONE はフ ィ ー
チ ャ 行の SDM_PORT 設定で定義 さ れた動作 と な り ます)。 MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・
ス テー ト の場合 も 、 DONE ピ ンは High にプルア ッ プ さ れます。 こ の動作に よ っ て、 DONE ピ ン をモニ タ し て
い る 他の ロ ジ ッ ク に、 コ ン フ ィ グ レーシ ョ ンの完了を認識 さ せ る こ と がで き ます。
14-13
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
MSPI 及び SSPI コ ン フ ィ グ レーシ ョ ン ・ ポー ト ピ ン
表 14-8. MSPI コ ン フ ィ グ レーシ ョ ン ・ ポー ト ピ ン
ピ ン名
MCLK/CCLK
機能
MCLK
方向
記 述
MachXO2 の コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ クから ス レーブ SPI フ
弱いプルア ッ プのあ ラ ッ シ ュ メ モ リ への、 デー タ の送信 / 受信の タ イ ミ ングに使用 さ
れる マス タ ク ロ ッ ク。 外部及びデ ュ アルブー ト ・ コ ン フ ィ グ レー
る出力
シ ョ ン ・ モー ド では、 MCLK に 1K のプルア ッ プ抵抗を推奨
CSSPIN
CSSPIN
出力
コ ン フ ィ グ レーシ ョ ン ・ デー タ が格納 さ れた外付け SPI フ ラ ッ
シ ュ メ モ リ のイ ネーブルに使用 さ れる チ ッ プ セ レ ク ト
SI/SISPI
SISPI
出力
MachXO2 コ ン フ ィ グレーシ ョ ン ・ ロ ジ ッ クか ら ス レーブ SPI フ
ラ ッ シ ュ メ モ リ に出力デー タ を伝達する
SO/SPISO
SPISO
入力
ス レーブ SPI フ ラ ッ シ ュ メ モ リ から MachXO2 コ ン フ ィ グ レーシ ョ
ン ・ ロ ジ ッ ク に出力デー タ を伝達する
SN
SN/IO
入力
.MachXO2 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク の SSPI チ ッ プ セ レ ク
ト 入力。 MSPI ポー ト がア ク テ ィ ブの場合は常に、 外部で High にプ
ルア ッ プする
表 14-9. SSPI コ ン フ ィ グ レーシ ョ ン ・ ポー ト ピ ン
ピ ン名
MCLK/CCLK
機能
CCLK
方向
記 述
弱いプルア ッ プのある 外部 SPI マス タ デバイ スから MachXO2 コ ン フ ィ グ レーシ ョ ン ・ ロ
入力
ジ ッ ク へのデー タ の送信 / 受信の タ イ ミ ングに使用 さ れる ク ロ ッ ク
SI/SISPI
SI
入力
外部 SPI マス タ から MachXO2 コ ン フ ィ グレーシ ョ ン ・ ロ ジ ッ ク に出
力デー タ を伝達する
SO/SPISO
SO
入力
MachXO2 コ ン フ ィ グレーシ ョ ン ・ ロ ジ ッ クから外部 SPI マス タ に出
力デー タ を伝達する
SN
SN
弱いプルア ッ プのある MachXO2 コ ン フ ィ グレーシ ョ ン ・ ロ ジ ッ クの SSPI チ ッ プ セ レ ク ト 入
入力
力。 SN はア ク テ ィ ブ Low 入力
MCLK/CCLK: MCLK/CCLK がア ク テ ィ ブな場合は、 MachXO2 の コ ン フ ィ グ レーシ ョ ン ・ デー タ を シーケ ン
シ ャ ルに ロ ー ド す る ための ク ロ ッ ク と し て使用 さ れます。 こ の ピ ンの機能は次の と お り です。
フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト の MachXO2 では、 MCLK/CCLK ピ ンはデフ ォ ル ト ・ ス テー
ト で コ ン フ ィ グ レーシ ョ ン ・ ク ロ ッ ク (CCLK) と し て機能 し ます。 こ の ス テー ト では、 外部 SSPI マ ス タ コ
ン ト ロ ー ラ が MachXO2 をプ ロ グ ラ ムで き ます。 最大 CCLK 周波数及びセ ッ ト ア ッ プ / ホール ド ・ パ ラ メ ー
タ は、 MachXO2 フ ァ ミ リ デー タ シー ト の AC タ イ ミ ン グ項に記載 さ れてい ます。 SSPI ポー ト を使用 し て、
ユーザモー ド にな っ た MachXO2 をプ ロ グ ラ ムす る 場合は、 SSPI ポー ト を イ ネーブルす る よ う フ ィ ーチ ャ 行
を構成す る 必要があ り ます。
MachXO2 がデ ュ アルブー ト ま たは外部ブー ト モー ド に設定 さ れてい る 場合、 MCLK/CCLK ピ ンはマ ス タ ク
ロ ッ ク (MCLK) と し て機能 し ます。 こ れ ら のモー ド を使用す る 際は、 1K の外付けプルア ッ プ抵抗を推奨 し
ます。 MCLK が出力 と な り 、 MachXO2 の MSPI コ ン フ ィ グ レーシ ョ ン ・ ポー ト に接続 さ れた SPI フ ラ ッ シ ュ
の基準 ク ロ ッ ク を提供 し ます。 全ての コ ン フ ィ グ レーシ ョ ン ・ デー タ を受信す る ま で、 MCLK はア ク テ ィ ブ
に ド ラ イ ブ さ れます。 MachXO2 がユーザモー ド にな る と 、 MCLK 出力は ト ラ イ ス テー ト にな り 、 汎用 I/O と
し て使用で き る よ う にな り ます。 し か し コ ン フ ィ グ レーシ ョ ン後の多 く の使い方 と し ては、MCLK は外部 SPI
フ ラ ッ シ ュ メ モ リ に よ る メ モ リ ・ ト ラ ンザ ク シ ョ ン実行用の基準 ク ロ ッ ク と し て確保 さ れます。
MachXO2 は内部オシ レー タ か ら MCLK を発生 し ます。 通常、 MCLK の初期周波数は 2.08MHz です。 こ の
MCLK 周波数は、 MCCLK_FREQ パ ラ メ ー タ を使用 し て変更で き ます。 MCCLK_FREQ の選択には、 Diamond
の Spreadsheet View を使用 し ます。対応 し てい る MCLK 周波数の全 リ ス ト は、表 14-10 を参照 し て く だ さ い。
14-14
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
表 14-10. MachXO2 MCLK の有効な周波数 (MHz)
2.08
9.17
33.25
2.46
10.23
38.00
3.17
13.30
44.33
4.29
14.78
53.20
5.54
20.46
66.50
7.00
26.60
88.67
8.31
29.56
133.00
デバ イ ス ・ コ ン フ ィ グ レーシ ョ ンの初期化ス テ ッ プの中で、 MCCLK_FREQ を使用 し て指定 さ れた周波数値
が MachXO2 に ロ ー ド さ れます。 MachXO2 が新 し い MCLK_FREQ 値を受け取 る と 、 MCLK 出力は選択 さ れた
周波数での ド ラ イ ブ を開始 し ます。 MCCLK_FREQ を選択す る と き は、 SPI フ ラ ッ シ ュ メ モ リ ま たは PCB の
周波数仕様を超過 し ない よ う 注意 し 、 ま た MachXO2 フ ァ ミ リ デー タ シー ト で MachXO2 の AC 仕様を確認 し
て く だ さ い。
SN: SSPI ポー ト のチ ッ プセ レ ク ト 入力ピ ンです。 外部 SPI バ ス マ ス タ は、 MachXO2 のプ ロ グ ラ ミ ン グ及び コ
ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク を使用 し て動作を実行す る ため、 SN ピ ン を ア ク テ ィ ブ Low に ド ラ イ ブ し ま
す。SN ピ ン を使用で き る のは、MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト の場合、及び SSPI
ポー ト が ENABLE に設定 さ れた ス テー ト のユーザモー ド の場合です。 SSPI ポー ト が DISABLE に設定 さ れて
い る 場合、 SN ピ ンは汎用 I/O にな り ます。
MachXO2 が正 し く 動作す る には、 SN ピ ン を正 し い ス テー ト に保つ こ と が重要です。
• MSPI を使用 し て コ ン フ ィ グ レーシ ョ ンす る 場合は、 SN を ネゲー ト (High に固定) す る 必要があ り ます。
• MachXO2 がユーザモー ド で内部 WISHBONE バス を使用 し て SPI メ モ リ ・ ト ラ ンザ ク シ ョ ン を初期化す る
場合は、 SN を ネゲー ト す る 必要があ り ます。
• I2C を使用 し て MachXO2 内の コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク にア ク セ スす る 場合は、 SN を ネゲー ト す
る必要があ り ます。
• SN が ド ラ イ ブ さ れた場合は、 CSSPIN を ネゲー ト し 、 共有 SPI ピ ン をハ イ イ ン ピーダ ン ス状態にす る 必要
があ り ます。
– MSPI ポー ト と SSPI ポー ト は、 SI/SISPI、 SO/SPISO、 MCLK/CCLK と い う 3 本の ピ ン を共有 し ます。
MachXO2 では、 両方のポー ト を使用で き ますが、 両方に同時にア ク セ スす る こ と はで き ません。 SSPI
及び MSPI ポー ト の両方を イ ネーブル し た場合は、 こ れ ら のポー ト を時分割で使用す る 必要があ り ま
す。
• SN ピ ンは GPIO と し て用い ら れ る 場合で も 、 フ ィ ーチ ャ 行が消去 ・ 再プ ロ グ ラ ミ ン グ さ れ る 場合はネ
ゲー ト さ れてい る 必要があ り ます。 アサー ト さ れてい る と コ ン フ ィ グ レーシ ョ ン手順が完了 し ない可能性
があ り ます。
SN ピ ン を外部か ら High にプルア ッ プす る こ と で、 内部の弱いプルア ッ プを強化す る こ と を推奨 し ます。
CSSPIN: MSPI コ ン フ ィ グ レーシ ョ ン ・ モー ド で外付け SPI フ ラ ッ シ ュ を イ ネーブルす る ため使用 さ れ る、 ア
ク テ ィ ブ Low のチ ッ プセ レ ク ト 入力ピ ンです。 外部ま たはデ ュ アルブー ト ・ モー ド で コ ン フ ィ グ レーシ ョ ン
す る よ う MachXO2 がプ ロ グ ラ ム さ れ る と 、 接続 さ れた SPI フ ラ ッ シ ュ に対 し て CSSPIN ピ ンが ド ラ イ ブ さ れ
ます。 MachXO2 は、 全ての コ ン フ ィ グ レーシ ョ ン ・ デー タ バ イ ト が ロ ー ド さ れ る ま で CSSPIN を アサー ト し
続け、 その後 CSSPIN はハ イ イ ン ピーダ ン ス状態にな り ます。
MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト の場合、 CSSPIN ピ ンは弱 く プルダ ウ ン さ れた汎
用 I/O と な り ます。 外部及びデ ュ アルブー ト ・ コ ン フ ィ グ レーシ ョ ン ・ モー ド で使用す る場合は、 外付けの
プルア ッ プ抵抗が必要です。 CSSPIN の電位は、 SPI フ ラ ッ シ ュ メ モ リ VCC の立ち上が り ・ 下が り に連動す
14-15
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
る 必要があ り ます。 MachXO2 がユーザモー ド にな る と 、 汎用 I/O の ま ま にな り ます。 内部 SPI マ ス タ ロ ジ ッ
ク が CSSPIN を使用で き る よ う 予約す る には、 MSPI ポー ト を イ ネーブルす る 必要があ り ます。
外部 SPI フ ラ ッ シ ュ メ モ リ か ら コ ン フ ィ グ レーシ ョ ンす る 場合は、SPI フ ラ ッ シ ュ メ モ リ と MachXO2 の VCCIO2
が同 じ 電圧に し て く だ さ い。 ま た、 SPI フ ラ ッ シ ュ メ モ リ の電圧範囲が推奨動作電圧内であ る こ と も 確実に
し て く だ さ い。
SPI フ ラ ッ シ ュ メ モ リ に よ っ ては、 チ ッ プセ レ ク ト 入力が フ ラ ッ シ ュ メ モ リ の VCC と 連動 し て立ち上が り ・
下が り す る 必要があ り ます。 デフ ォ ル ト で、 CSSPIN ピ ン には内部に弱いプルダ ウ ン抵抗が付いてい ますの
で、 4.7 ~ 10KΩ のプルア ッ プ抵抗を付加す る こ と を推奨 し ます。
SI/SISPI: デ ュ アル機能の双方向ピ ンで、 その方向はマ ス タ ま たは ス レーブの ど ち ら のモー ド がア ク テ ィ ブか
で決ま り ます。 SI/SISPI は、 SSPI モー ド 使用時は入力デー タ ピ ンにな り 、 MSPI モー ド 使用時は出力デー タ ピ
ンにな り ます。MSPI モー ド では、全ての コ ン フ ィ グ レーシ ョ ン ・ デー タ バ イ ト が ロ ー ド さ れ る ま で MachXO2
が SI/SISPI を ド ラ イ ブ し 、 その後 SI/SISPI はハ イ イ ン ピーダ ン ス ・ ス テー ト にな り ます。
こ の ピ ン を SI/SISPI と し て確保 し 、 SPI イ ン タ ーフ ェ イ スへのア ク セ ス を許可す る には、 sysCONFIG 制約の
SLAVE_SPI_PORT ま たは MASTER_SPI_PORT の少な く と も 1 つを ENABLE に設定す る 必要があ り ます。
SO/SPISO: デ ュ アル機能の双方向ピ ンで、 その方向は、 マ ス タ ま たは ス レーブの ど ち ら のモー ド がア ク テ ィ
ブかで決ま り ます。 MSPI モー ド 使用時は入力デー タ ピ ンにな り 、 SSPI モー ド 使用時は出力デー タ ピ ンにな
り ます。
こ の ピ ン を SO/SPISO と し て確保 し 、 SPI イ ン タ ーフ ェ イ スへのア ク セ ス を許可す る には、 sysCONFIG 制約
の SLAVE_SPI_PORT ま たは MASTER_SPI_PORT の少な く と も 1 つを ENABLE に設定す る 必要があ り ます。
I2C コ ン フ ィ グ レーシ ョ ン ・ ポー ト ピ ン
SCL: MachXO2 には I2C コ ン フ ィ グ レーシ ョ ン ・ ポー ト があ り ます。 SCL は I2C シ リ アル ク ロ ッ ク ・ ピ ンで、
I2Cバ ス・ ト ラ ンザ ク シ ョ ンの開始 と タ イ ミ ン グに使用 さ れます。双方向のオープン ド レ イ ン信号で、MachXO2
の I2C コ ン ト ロ ー ラ がバス ト ラ ンザ ク シ ョ ン ・ マ ス タ の場合は出力、 外部 I2C マ ス タ が MachXO2 内部 リ ソ ー
ス にア ク セ スす る 場合は入力にな り ます。 SCL が動作す る ためには、 外付けプルア ッ プ抵抗が必要です。
SCL ピ ン を使用で き る のは、MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト の場合です。I2C ポー
ト がユーザモー ド で も 使用で き る よ う にす る には、 I2C_PORT を イ ネーブルす る 必要があ り ます。 I2C ポー ト
を ENABLE に設定 し なか っ た場合、 SCL ピ ンは汎用 I/O にな り ます。
SDA: I2C シ リ アルデー タ 入出力ピ ンです。 双方向のオープン ド レ イ ンで、 動作す る ためには外付けプルア ッ
プ抵抗が必要です。 こ の ピ ン の方向は、 I2C バ ス上のデー タ ト ラ ンザ ク シ ョ ン中に動的に変化 し ます。 状態
は、 その時点のバ ス マ ス タ が どれか と 、 そのマ ス タ が実行中の動作で決ま り ます。
SDA ピ ン を使用で き る のは、 MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト の場合です。 I2C
ポー ト がユーザモー ド で も 使用で き る よ う にす る には、 I2C_PORT を イ ネーブルす る 必要が あ り ま す。 I2C
ポー ト を ENABLE に設定 し なか っ た場合、 SDA ピ ンは汎用 I/O にな り ます。
JTAG コ ン フ ィ グ レーシ ョ ン ・ ポー ト ピ ン
JTAG ピ ンは標準 IEEE 1149.1 TAP (Test Access Port) を提供 し ます。 JTAG ポー ト は MachXO2 で唯一の、 コ
ン フ ィ グ レーシ ョ ン、 プ ロ グ ラ ミ ン グ、 及び複数デバ イ ス ・ コ ン フ ィ グ レーシ ョ ンの各機能の実行が可能な
コ ン フ ィ グ レーシ ョ ン ・ ポー ト です。JTAG ポー ト に よ る プ ロ グ ラ ミ ン グ と コ ン フ ィ グ レーシ ョ ンでは、IEEE
1532 準拠の コ マ ン ド が使用 さ れます。 IEEE 1532 機能に加え て、 MachXO2 には必須の IEEE 1149.1 TAP コ マ
ン ド が全て用意 さ れ、 プ リ ン ト 基板アセ ンブ リ の検証が可能です。
JTAG ポー ト は、 MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト の場合に、 デフ ォ ル ト で イ ネー
ブルにな り ます。 他の全ての コ ン フ ィ グ レーシ ョ ン ・ ポー ト ピ ン と 同様、 JTAG ピ ン も 汎用 I/O にす る こ と
14-16
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
がで き ます。 他のポー ト と は異な り 、 JTAG ポー ト のデフ ォ ル ト ・ ス テー ト (ENABLE ス テー ト ) はユーザ
モー ド で も ア ク テ ィ ブな ま ま にな り ます。 JTAG_PORT 制約を DISABLE ス テー ト に設定す る と 、 JTAG ピ ン
を汎用 I/O と し て回復で き ます。 JTAG ポー ト は、 専用プ ロ グ ラ ム ピ ンの ま ま にす る こ と を推奨 し ます。
JTAG ポー ト を DISABLE ス テー ト に設定す る と 、 JTAGENB 入力が イ ネーブル さ れ、 JTAG ピ ン を多重化で き
ます。JTAGENB を High に ド ラ イ ブす る と 、JTAG ピ ンは IEEE 1149.1 の特性を持ち ます。JTAGENB を ネゲー
ト (Low に ド ラ イ ブ) す る と 、 JTAG ポー ト ピ ンが汎用 I/O にな り ます。 JTAG ポー ト ピ ンの多重化を利用す
る 場合は、 JTAG ポー ト 回路の設計には注意が必要です。 JTAG ポー ト に接続 さ れた ロ ジ ッ ク と の競合を防止
し て く だ さ い。
デバ イ ス が IEEE 1149.1 制御でプ ロ グ ラ ム さ れてい る 場合は、 プ ロ グ ラ ミ ン グの進行状況の判定に、 DONE
な ど の sysCONFIG プ ロ グ ラ ミ ン グ ピ ン を使用で き ません。 こ れはバ ウ ン ダ リ ス キ ャ ン ・ セルの状態に よ る
ピ ンの ド ラ イ ブが、 通常の内部 ロ ジ ッ ク ではな く IEEE JTAG 標準に従っ て行われ る ためです。
表 14-11. JTAG ポー ト ピ ン
ピ ン名
ピ ンの機能 ( コ ン フ ィ グ レー
シ ョ ン ・ モー ド )
ピ ンの方向 (コ ン フ ィ グ レー
シ ョ ン ・ モー ド )
デ フ ォル ト 機能
(ユーザモー ド )
TDI
TDI
弱いプルア ッ プのある入力
TDI
TDO
TDO
弱いプルア ッ プのある出力
TDO
TCK
TCK
入力
TCK
TMS
TMS
弱いプルア ッ プのある入力
TMS
JTAGENB
I/O
弱いプルダウンのある I/O
I/O
TDO (Test Data Output) : シ リ アルテ ス ト 命令及びデー タ を シ フ ト ア ウ ト す る ために使用 さ れます。 TDO が
内部回路か ら ド ラ イ ブ さ れていない場合、 こ の ピ ンはハ イ イ ン ピーダ ン ス にな り ます。 ハ イ イ ン ピーダ ン ス
でな く な る のは、 JTAG ス テー ト マシ ンがシ フ ト IR ま たはシ フ ト DR ス テー ト の場合だけです。 こ の ピ ンは、
JTAG コ ネ ク タ の TDO、 ま たは JTAG チ ェーンの下流デバ イ ス の TDI に配線す る必要があ り ます。 TDO ピ ン
にはプルア ッ プ抵抗が内蔵 さ れお り 、 VCCIO バン ク 0 (VCCIO0) にプルア ッ プ さ れてい ます。
TDI (Test Data Input) : シ リ アルテ ス ト 命令及びデー タ を シ フ ト イ ンす る ために使用 さ れ、 JTAG コ ネ ク タ の
TDI、 ま たは JTAG チ ェーンの上流デバ イ ス の TDO に配線す る 必要があ り ます。 TDI ピ ンにはプルア ッ プ抵
抗が内蔵 さ れてお り 、 VCCIO0 にプルア ッ プ さ れてい ます。
TMS (Test Mode Select) : 1149.1 準拠ス テー ト マシ ンの ス テー ト 遷移を制御す る 入力ピ ンで、 TCK の立ち上
が り エ ッ ジでサンプ リ ン グ さ れます。 JTAG ス テー ト マシ ンは、 現在の TAP ス テー ト と サンプル時の TMS 入
力レベルに よ っ て、その ス テー ト を維持す る か、ま たは新 し い TAP ス テー ト に遷移 し ます。JTAG 仕様に従っ
て、 TMS にはプルア ッ プ抵抗が内蔵 さ れてお り 、 VCCIO0 にプルア ッ プ さ れてい ます。
TCK (Test Clock) : 他の JTAG ポー ト ピ ンの タ イ ミ ン グに使用 さ れ る ク ロ ッ ク です。 デー タ は TCK の立ち上
が り エ ッ ジで命令レ ジ ス タ ま たはデー タ レ ジ ス タ にシ フ ト イ ン さ れ、TCK の立ち下が り エ ッ ジでシ フ ト ア ウ
ト さ れます。 TAP は静的デザ イ ン と な っ ていて、 TCK は High ま たは Low ス テー ト で停止す る こ と がで き ま
す。 TCK の最高入力周波数は、 MachXO2 フ ァ ミ リ デー タ シー ト の DC 及びス イ ッ チン グ特性の項に記載 さ
れてい ます。 TCK ピ ンはプルア ッ プ さ れてい ません。 MachXO2 の電源投入時に TAP コ ン ト ロ ー ラ の予期 し
ない ク ロ ッ ク 動作を防止す る ため、 4.7KΩ の外付けプルダ ウ ン抵抗を推奨 し ます。
JTAGENB: JTAG ENABLE ピ ンは IEEE 1149.1 準拠ピ ン と も 呼ばれ、 JTAG ポー ト の多重化に使用可能な入力
ピ ンです。 JTAGENB ピ ンはユーザモー ド でのみア ク テ ィ ブにな り ます。 JTAG ポー ト が ENABLE ス テー ト の
と き に、 JTAGENB ピ ンはユーザ I/O にな り ます。 図 14-7 に、 MachXO2 デバ イ ス の JTAG ポー ト のデフ ォ ル
ト 動作を示 し ます。
14-17
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
図 14-7. JTAG_PORT = ENABLE 時の JTAG ポー ト のデフ ォ ル ト
MachXO2
TCK
TCK/IO
TMS
TMS/IO
TDI
TDI/IO
TDO
TDO/IO
JTAG ポー ト は汎用 I/O にで き ます。それには、JTAG_PORT の制約を Diamond の Spreadsheet View で DISABLE
に設定 し ます。 JTAG ポー ト が DISABLE ス テー ト の場合、 JTAGENB ピ ンは専用入力にな り ます。 JTAGENB
を Low にす る と JTAG ポー ト がデ ィ セーブル さ れ、 4 本の JTAG ピ ンが汎用 I/O にな り ます。 JTAGENB 入力
を High にす る と 、 JTAG ポー ト が イ ネーブル さ れます。 図 14-8 に、 JTAGENB で制御 さ れた JTAG ポー ト の
動作を示 し ます。
図 14-8. JTAG_PORT = DISABLE 時の JTAG ポー ト の動作
MachXO2
MachXO2
VCCIO
JTAGENB = ‘1’
JTAGENB = ‘0’
GND
IO/JTAGENB
IO/JTAGENB
I/O
TCK/IO
TCK
TCK/IO
I/O
TMS/IO
TM
TMS/IO
I/O
TDI/IO
TDIS
I/O
TDO/IO
TDO
TDI/IO
TDO/IO
JTAGENB 機能を使用する際は、 JTAG I/O ピ ンに接続 さ れた ロ ジ ッ ク が、 JTAG プ ロ グ ラ ミ ン グシ ス テ ム と 競
合 し ない よ う す る こ と が非常に重要です。 外部 ロ ジ ッ ク は、 外部プ ロ グ ラ ミ ン グ シ ス テ ム で実行 さ れ る 全て
の JTAG ト ラ ンザ ク シ ョ ン を無視する必要があ り ます。
ラ テ ィ ス のパ ラ レルポー ト ま たは USB ダ ウ ン ロ ー ド ケーブルには、 ispEN と い う 出力があ り ます。 こ の ispEN
信号を JTAGENB 入力に接続する と 、 JTAG ポー ト を使用する かど う かを制御で き ます。 JTAGENB 入力を制御
す る 別の メ カ ニズ ム と し ては、 必要に応 じ て取 り 付け と 取 り 外 し が可能なジ ャ ンパを使用す る 方法があ り ま
す。
コ ン フ ィ グ レーシ ョ ン ・ モー ド
MachXO2 には、不揮発性 メ モ リ か ら コ ン フ ィ グ レーシ ョ ン SRAM に ロ ー ド す る 複数のオプシ ョ ンが用意 さ れ
てい ます。 前の項では、 MachXO2 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク と の通信に必要な物理 イ ン タ ーフ ェ イ ス
について説明 し ま し た。 こ の項では、 様々な コ ン フ ィ グ レーシ ョ ン ・ モー ド それぞれの機能を中心に説明 し
ます。Diamond の Spreadsheet View (ス プ レ ッ ド シー ト ・ ビ ュ ー) で必要な、重要な設定について も 説明 し ます。
SDM モー ド
SDM は MachXO2 の主要な コ ン フ ィ グ レーシ ョ ン ・ モー ド で、 その利点 と し ては次の も のがあ り ます。
• 速度 : デバ イ ス規模に も よ り ますが、 MachXO2 が数 ミ リ 秒で実行可能な ス テー ト にな り ます。
• セキ ュ リ テ ィ : SRAM への ロ ー ド 中、 コ ン フ ィ グ レーシ ョ ン ・ デー タ がデバ イ ス外部に露出す る こ と があ
り ませんので、 内部 メ モ リ が読み取 ら れ る こ と を防止で き ます。
• 低 コ ス ト : MachXO2 のプ ロ グ ラ ミ ン グ専用の不揮発 メ モ リ を購入す る 必要があ り ません。
14-18
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
• ボー ド 面積の削減 : 外付け不揮発 メ モ リ が不要 と な る ため、 ボー ド を小型化で き ます。
• 信頼性の向上 : シ ス テ ム ア ッ プデー ト 時に内部フ ラ ッ シ ュ メ モ リ に問題があ る 場合、 MachXO2 を外付け
フ ラ ッ シ ュ メ モ リ か ら 起動で き ます。
SDM を使用 し てい る 場合、 MachXO2 は コ ン フ ィ グ レーシ ョ ン ・ デー タ を内部フ ラ ッ シ ュ メ モ リ か ら 取得 し
ます。 SDM が ト リ ガ さ れ る のは、 電源投入時、 REFRESH コ マ ン ド の受信時、 ま たは PROGRAMN ピ ンの ド
ラ イ ブ時です。 図 14-5 に示 し た よ う に、 内部フ ラ ッ シ ュ メ モ リ には 3 つのセ ク タ があ り ます。 ほ と ん ど の
場合、 最初のセ ク タ には MachXO2 デバ イ ス の コ ン フ ィ グ レーシ ョ ン ・ デー タ を格納で き る だけの十分な容
量があ り ます。 コ ン フ ィ グ レーシ ョ ン ・ デー タ サ イ ズは、 圧縮の程度、 及びデザ イ ン内で初期化す る EBR コ
ン ポーネ ン ト 数に依存 し て変動 し ます。 コ ン フ ィ グ レーシ ョ ン ・ デー タ のサ イ ズが増加す る と 、 CFM セ ク タ
がオーバフ ロ ーす る 可能性があ り ます。 コ ン フ ィ グ レーシ ョ ン ・ デー タ が UFM セ ク タ にオーバフ ロ ーで き
る よ う にす る と 、 こ のオーバフ ロ ーに対処で き ます。 まれな ケース と し て、 コ ン フ ィ グ レーシ ョ ン ・ デー タ
が CFM と UFM を合わせたサ イ ズか ら オーバ フ ロ ーす る こ と が あ り こ の場合、 SDM が使用で き ま せん。
CFM/UFM オーバフ ロ ーの発生時は、 MSPI コ ン フ ィ グ レーシ ョ ン ・ モー ド を使用す る 必要があ り ます。
通常の状況では、 コ ン フ ィ グ レーシ ョ ン ・ デー タ が CFM セ ク タ に完全に収ま り ます。 初期化 EBR がそれほ
ど多数ないデザ イ ンは、 ほぼ必ず こ の条件に適合 し ますので、 UFM は内部フ ラ ッ シ ュ メ モ リ ・ ア レ イ と し て
ユーザ用途に使用で き ます。 CONFIGURATION オプシ ョ ンは CFG に設定す る こ と を推奨 し ます。 こ の よ う
に設定す る と 、 コ ン フ ィ グ レーシ ョ ン ・ デー タ が UFM にオーバフ ロ ーす る こ と が防止 さ れ、 UFM に格納 さ
れたデー タ がデバ イ ス の更新時に上書 き さ れ る こ と がな く な り ます。
第 2 の フ ラ ッ シ ュ セ ク タ であ る UFM には、 3 種類の使用モデルがあ り ます。
• CFM か ら の コ ン フ ィ グ レーシ ョ ン ・ デー タ のオーバフ ロ ー
• EBR の初期化 と ユーザ定義の ス ト レージ
• ユーザ定義の ス ト レージ
デフ ォ ル ト で Diamond は、 初期化 EBR デー タ を コ ン フ ィ グ レーシ ョ ン ・ デー タ イ メ ージ内に作成 し ます。 そ
の結果、 コ ン フ ィ グ レーシ ョ ン ・ デー タ が UFM セ ク タ にオーバフ ロ ーす る こ と があ り ます。 デフ ォ ル ト ・ ス
テー ト を変更す る には、Diamond の Spreadsheet ツールを使用 し て sysCONFIG の CONFIGURATION エン ト リ
を修正す る 必要があ り ます。 CONFIGURATION エン ト リ のデフ ォ ル ト ・ ス テー ト は "CFG" に設定 さ れてい
ます。
コ ン フ ィ グ レーシ ョ ン ・ デー タ は論理的に分割 し 、 EBR の初期化デー タ を UFM に配置す る こ と がで き ます。
CONFIGURATION オプシ ョ ン を CFG_EBRUFM に設定す る と 、 Diamond ソ フ ト ウ ェ アが コ ン フ ィ グ レーシ ョ
ン ・ デー タ は CFM に配置 し 、 EBR 初期化デー タ を UFM に配置す る よ う にな り ます。 こ の場合、 EBR 初期化
デー タ が UFM の先頭ページに格納 さ れます。 IPexpress を使用す る と 、 メ モ リ 初期化フ ァ イ ルを UFM に対応
付け る こ と がで き ます。 なお、 現行の Diamond 開発ツールには、 UFM に格納 さ れた EBR 初期化デー タ を、
MachXO2 フ ァ ブ リ ッ ク 内の対応す る EBR にマ ッ ピ ン グす る手段は用意 さ れてい ません。
初期化 EBR デー タ の自動割 り 当てだけでな く 、ユーザ固有の目的にデー タ ブ ロ ッ ク を追加す る こ と も で き ま
す。 こ のデー タ は、 EBR 初期化デー タ と の競合を防止す る ため、 UFM の末尾の メ モ リ 位置に格納 さ れます。
ユーザ定義ス ト レージモー ド の動作では、UFM セ ク タ を汎用フ ラ ッ シ ュ メ モ リ の よ う に動作 さ せ る こ と がで
き ます。 IPexpress を使用 し てデー タ を初期化す る こ と も 、 消去可能セ ク タ が 1 つの個別フ ラ ッ シ ュ メ モ リ ・
デバ イ ス であ る かの よ う に、 こ のセ ク タ を使用す る こ と も で き ます。
こ の 3 つのいずれの場合 も 、 UFM セ ク タ 全体を消去 し なければな り ません。 コ ン フ ィ グ レーシ ョ ン ・ デー
タ 、 EBR 初期化デー タ 、 及び イ ンプ リ メ ン テーシ ョ ン固有のデー タ の回復を必ず行 う 必要があ り ます。 すな
わち、 UFM 内の全てのデー タ を読み出 し 、 変更す る 部分 と マージ し 、 UFM を消去 し 、 新 し いデー タ を UFM
に書 き 戻す必要があ り ます。
14-19
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
マ ス タ SPI コ ン フ ィ グ レーシ ョ ン ・ モー ド (MSPI)
マ ス タ SPI (MSPI) コ ン フ ィ グ レーシ ョ ン ・ モー ド は、 MachXO2 で使用可能な唯一の、 も う 一つの自己制御
コ ン フ ィ グ レーシ ョ ン ・ モー ド です。 MachXO2 で MSPI が イ ネーブルにな る と 、 外付け SPI フ ラ ッ シ ュ か ら
自動的に コ ン フ ィ グ レーシ ョ ン ・ デー タ を取得で き る よ う にな り ます。MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ
ル ト モー ド ・ ス テー ト にな っ てい る と 、 MSPI コ ン フ ィ グ レーシ ョ ン ・ ポー ト を使用で き ません。 MSPI モー
ド で コ ン フ ィ グ レーシ ョ ン を行 う と き は、 必ずフ ィ ーチ ャ 行で MSPI ポー ト を イ ネーブル し て く だ さ い。 プ
ロ グ ラ ミ ン グ エ ラ ー時に MachXO2 を 回復で き る よ う に第二の コ ン フ ィ グ レ ーシ ョ ン ・ ポー ト を 用意 し 、
MachXO2 がデフ ォ ル ト フ ィ ーチ ャ 行ス テー ト の と き にア ク テ ィ ブにす る こ と を推奨 し ます。
MachXO2 が MSPI コ ン フ ィ グ レーシ ョ ン ・ モー ド で正 し く 動作す る こ と を確実にす る ために、 以下を確認 し
て く ださい :
• SPI フ ラ ッ シ ュ メ モ リ のパ ワーオン リ セ ッ ト 解除レベルが MachXO2 のそれ よ り も 低い こ と 、 或いは SPI
フ ラ ッ シ ュ メ モ リ が最初に電源投入 さ れて起動 さ れ る こ と
• SPI フ ラ ッ シ ュ メ モ リ の Fmax が MachXO2 の MCLK Fmax よ り も 大 き い こ と
• MachXO2 のセ ッ ト ア ッ プ時間お よ びホール ド 時間要件 (デー タ シー ト 参照の こ と ) を満たす こ と がで き
る ボー ド 配線
表 14-12. MSPI ポー ト ピ ン
I2C 機能
ピ ン名
MCLK
MachXO2 の コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク及び MSPI コ ン ト ロー ラからのク ロ ッ ク出
力。 MCLK は、 ス レーブ SPI デバイ スの SCLK 入力に接続する
SISPI
MachXO2 か ら SSPI SI 入力へのシ リ アルデー タ 出力
SPISO
SSPI SO から MachXO2 のコ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ クへのシ リ アルデー タ 入力
CSSPIN
MachXO2 の コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ クから、 MachXO2 の コ ン フ ィ グ レーシ ョ
ン ・ デー タ が格納 さ れたス レーブ SPI フ ラ ッ シ ュへのチ ッ プ セ レ ク ト 出力
表 14-2 に MachXO2 の コ ン フ ィ グ レーシ ョ ン ・ デー タ に必要な メ モ リ 量を、 デバ イ ス規模ご と に示 し ます。
リ ー ド オペ コ ー ド 0x03 を受け付け可能な SPI フ ラ ッ シ ュ を選択 し て く だ さ い。 MachXO2 で使用可能な リ ー
ド オペ コ ー ド は 0x03 だけです。
図 14-9. MSPI コ ン フ ィ グ レーシ ョ ン ・ モー ド
MachXO2
4
JTAG
MCLK
SPISO
SISPI
CSSPIN
SPI PROM
Flash Memory
Configuration
Logic
C
Q
D
/CS
SPI
Controller
WISHBONE
14-20
MachXO2
Logic
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
電源投入時、 REFRESH コ マ ン ド の受信時、 ま たは PROGRAMN ピ ンが ト グル さ れ る と 、 MachXO2 は SPI フ
ラ ッ シ ュ か ら の コ ン フ ィ グ レ ーシ ョ ン ・ デー タ の取得を開始 し ま す。 MCLK/CCLK I/O は MCLK (Master
Clock、 マ ス タ ク ロ ッ ク ) 機能 と な り 、 SPI フ ラ ッ シ ュ の SCLK 入力に公称 2.08MHz ク ロ ッ ク の ド ラ イ ブ を開
始 し ます。 CSSPIN は Low に ド ラ イ ブ さ れ、 SI/SISPI 出力か ら SPI フ ラ ッ シ ュ に コ マ ン ド が送信 さ れて、 デー
タ が SO/SPISO 入力ピ ンで SPI フ ラ ッ シ ュ か ら 読み出 さ れます。 全ての コ ン フ ィ グ レーシ ョ ン ・ デー タ が SPI
フ ラ ッ シ ュ か ら 取得 さ れ る と 、 CSSPIN ピ ンがネゲー ト さ れ、 MSPI 出力ピ ンが ト ラ イ ス テー ト にな り ます。
コ ン フ ィ グ レ ーシ ョ ン ・ デー タ の ダ ウ ン ロ ー ド は MCLK が必ず公称周波数 2.08MHz か ら 開始 さ れ ま す。
MCCLK_FREQ パ ラ メ ー タ (Spreadsheet View を使用 し て ア ク セ ス) を使用す る こ と で、 コ ン フ ィ グ レーシ ョ
ン周波数を高速にで き ます。 SPI フ ラ ッ シ ュ 内の コ ン フ ィ グ レーシ ョ ン ・ デー タ にはあ る 程度のパデ ィ ン グ
ビ ッ ト があ り 、 MCLK の基本周波数を変更す る デー タ が読み込まれた後、 MachXO2 は新 し い MCLK 周波数
を使用 し て残 り の コ ン フ ィ グ レーシ ョ ン ・ デー タ バ イ ト を読み込みます。
MachXO2 がユーザモー ド にな る と 、 MSPI コ ン フ ィ グ レーシ ョ ン ・ ポー ト は ト ラ イ ス テー ト にな り ます。 そ
の結果、 デー タ を SPI 経由で転送で き る よ う にな り ます。 SPI バ ス に よ る デー タ 転送に使用可能な方法は、 主
に 2 つあ り ます。 1 つは、 MachXO2 の EFB (Embedded Function Block、 組み込み機能ブ ロ ッ ク ) を イ ネーブ
ルす る 方法です。 IPexpress を使用 し て EFB を イ ン ス タ ン ス化 し 、 ア ク テ ィ ブにす る 機能を選択 し ます。 EFB
で使用可能な機能の 1 つは SPI マ ス タ コ ン ト ロ ー ラ です。 EFB 内部の SPI マ ス タ コ ン ト ロ ー ラ は、 MSPI コ ン
フ ィ グ レーシ ョ ン ・ ポー ト ピ ンに直接接続 さ れ、 SPI バ ス ・ ト ラ ンザ ク シ ョ ン を初期化す る ための一連の ス
テー タ ス、 制御、 及びデー タ レ ジ ス タ があ り ます。 レ ジ ス タ は、 内部 WISHBONE デー タ バ ス を使用 し て ア
ク セ ス し ます。 MachXO2 の フ ァ ブ リ ッ ク に組み込まれ る ロ ジ ッ ク は、 WISHBONE ブ リ ッ ジ を経由す る EFB
と の ト ラ ンザ ク シ ョ ン を実行 し 、 それに よ り SPI バス ・ ト ラ ンザ ク シ ョ ン を生成 し ます。
MSPI コ ン フ ィ グ レーシ ョ ン ・ ポー ト の ト ラ ンザ ク シ ョ ン を実行す る も う 1 つの方法は、 JTAG ポー ト か ら 制
御す る 方法です。MachXO2 には JTAG か ら MSPI へのパ ス スルー回路が内蔵 さ れてい る ため、 ス レーブの SPI
フ ラ ッ シ ュ メ モ リ を消去 / プ ロ グ ラ ム / リ ー ド で き ます。 接続 さ れた SPI フ ラ ッ シ ュ をプ ロ グ ラ ミ ン グす る
主要な方法は、 Diamond の Programmer を使用 し て PC か ら コ ン フ ィ グ レーシ ョ ン ・ デー タ を転送す る 方法で
す。 こ の方法は、 ボー ド の開発及びデバ ッ グ時に役立ち ます。 注 : JTAG か ら MSPI へのパス スルー ・ プ ロ グ
ラ ミ ン グモー ド に対応する ためには、 MCLK に 1kΩ の外付けプルア ッ プ抵抗が必要です。
JTAG ポー ト を使用 し て SPI フ ラ ッ シ ュ をプ ロ グ ラ ムす る も う 1 つの方法は、 Lattice ispVME ソ リ ュ ーシ ョ ン
を使用す る 方法です。 ispVME は組み込みマ イ ク ロ プ ロ セ ッ サ用に書かれた C プ ロ グ ラ ムです。 マ イ ク ロ プ
ロ セ ッ サは Diamond Deployment ツールで作成 さ れたデー タ フ ァ イ ルを読み取 り 、 ispVME プ ロ グ ラ ム を実行
し ます。 フ ァ ーム ウ ェ アが、 ポー ト I/O を使用 し て MachXO2 の JTAG ポー ト を ド ラ イ ブす る こ と で、 デー
タ が MSPI ポー ト に渡 さ れます。 マ イ ク ロ プ ロ セ ッ サを使用 し た、 外付け SPI フ ラ ッ シ ュ の更新の詳細につ
いては、 ispVME ツールス イ ー ト を参照 し て く だ さ い。
MachXO2 の外付け SPI フ ラ ッ シ ュ のプ ロ グ ラ ミ ン グに JTAG ポー ト を使用す る こ と の利点は、 MachXO2 が
フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト にな っ ていて も 構わない こ と です。JTAG は、 フ ラ ッ シ ュ モー
ド ・ フ ィ ーチ ャ 行ま たはユーザモー ド ・ フ ィ ーチ ャ 行ス テー ト でデバ イ ス をプ ロ グ ラ ムで き ます。 そのため
には、 MSPI ポー ト ピ ン を イ ネーブルす る必要があ り ます。 パ ス スルーは、 JTAG TAP シ ス テ ムに不可欠な部
分です。 こ の方法が成功す る ためには、 JTAG ポー ト が使用で き る必要があ る こ と は明白です。
MSPI コ ン フ ィ グ レーシ ョ ン ・ モー ド を使用 し て動作す る よ う MachXO2 を設定す る には、 以下を行 う 必要が
あ り ます。
• コ ン フ ィ グ レーシ ョ ン ・ デー タ 全体を外部 SPI フ ラ ッ シ ュ に格納す る
• SPI フ ラ ッ シ ュ 内のデー タ の開始位置のオ フ セ ッ ト が 0x000000 にな っ てい る こ と
• 表 14-13 に示す設計制約を設定す る
• Diamond の Process (処理) 枠で JEDEC フ ァ イ ル作成を イ ネーブルす る
• Export Files (フ ァ イ ルのエ ク ス ポー ト ) 処理を実行 し 、 デザ イ ン を作成す る
14-21
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
表 14-13. MSPI コ ン フ ィ グ レーシ ョ ンの ソ フ ト ウ ェ ア設定
制約
設定
MASTER_SPI_PORT
ENABLE
CONFIGURATION
EXTERNAL
Export Files 処理では、 JEDEC フ ァ イ ル と BIT フ ァ イ ルの両方が生成 さ れます。 両方の フ ァ イ ルを使用す る
こ と が重要です。 フ ィ ーチ ャ 行に書 き 込むには、 JEDEC フ ァ イ ルを MachXO2 にプ ロ グ ラ ムす る 必要があ り
ます。 JEDEC フ ァ イ ルでは、 MSPI コ ン フ ィ グ レーシ ョ ン ・ ポー ト が イ ネーブル さ れます。
外部 SPI フ ラ ッ シ ュ には BIT フ ァ イ ルをプ ロ グ ラ ムす る必要があ り ます。 デー タ を SPI フ ラ ッ シ ュ に格納す
る 方法は、 次の よ う に幾つかあ り ます。
• JTAG ダ ウ ン ロ ー ド ケーブルを使用 し て、 Diamond の Programmer で SPI フ ラ ッ シ ュ デー タ を送出す る
• マ イ ク ロ プ ロ セ ッ サで ispVME を実行す る
• ATE (自動テ ス ト 装置) で JTAG を使用 し て SPI フ ラ ッ シ ュ を プ ロ グ ラ ムす る
• プ ロ グ ラ ム済み SPI フ ラ ッ シ ュ メ モ リ PCB に実装す る
MachXO2 の フ ィ ーチ ャ 行がプ ロ グ ラ ム さ れ、 SPI フ ラ ッ シ ュ に コ ン フ ィ グ レーシ ョ ン ・ デー タ が格納 さ れ る
と 、 コ ン フ ィ グ レーシ ョ ン を テ ス ト で き る よ う にな り ます。 PROGRAMN の ド ラ イ ブ、 REFRESH コ マ ン ド の
送信、 ま たはボー ド の電源再投入を行 う と 、 MachXO2 が外付け SPI フ ラ ッ シ ュ か ら コ ン フ ィ グ レーシ ョ ン さ
れます。
デ ュ アルブー ト ・ コ ン フ ィ グ レーシ ョ ン ・ モー ド
デ ュ アルブー ト ・ コ ン フ ィ グ レーシ ョ ン ・ モー ド は、 SDM と MSPI コ ン フ ィ グ レーシ ョ ン ・ モー ド を組み合
わせた も のです。 デ ュ アルブー ト ・ モー ド に設定 さ れた MachXO2 は、 最初に SDM を使用 し て内部フ ラ ッ
シ ュ メ モ リ か ら コ ン フ ィ グ レーシ ョ ン し よ う と し ます。 SDM コ ン フ ィ グ レーシ ョ ンに失敗す る と 、 MachXO2
は MSPI モー ド を使用 し て自分自身を コ ン フ ィ グ レーシ ョ ン し よ う と し ます。 こ の ロ ー ド 順序は逆にで き ま
せん。
内部デー タ はプ ラ イ マ リ ・ コ ン フ ィ グ レーシ ョ ン ・ デー タ (プ ラ イ マ リ イ メ ージ) で、 外部デー タ はゴール
デン ・ コ ン フ ィ グ レーシ ョ ン ・ デー タ (ゴールデン イ メ ージ) です。 プ ラ イ マ リ イ メ ージでは、 次のいずれ
かの障害が発生す る こ と があ り ます。
• ビ ッ ト ス ト リ ームの CRC エ ラ ーが検出 さ れた
• 内部フ ラ ッ シ ュ か ら の ロ ー ド 時に タ イ ム ア ウ ト エ ラ ーが発生 し た
CRC エ ラ ーは、 内部フ ラ ッ シ ュ メ モ リ に誤っ たデー タ が書 き 込まれ る こ と が原因で発生 し ます。 デー タ は行
単位で フ ラ ッ シ ュ メ モ リ か ら 読み取 ら れます。 各行が コ ン フ ィ グ レーシ ョ ン ・ エン ジ ンに取 り 込まれ る たび
に、 デー タ の CRC 整合性がチ ェ ッ ク さ れます。 CRC が正 し い場合に限 り 、 デー タ が コ ン フ ィ グ レーシ ョ ン
SRAM に格納 さ れます。 CRC に何 ら かの誤 り があ る と 、 デバ イ ス は コ ン フ ィ グ レーシ ョ ン SRAM を消去 し 、
外部 SPI フ ラ ッ シ ュ か ら コ ン フ ィ グ レーシ ョ ン ・ デー タ を取得 し 直 し ます。
CRC 計算の観点では誤 り デー タ は訂正が可能ですが、 機能的には正 し く な り ません。 エ ラ ーにな る と 、 内部
DONE ビ ッ ト がア ク テ ィ ブにな る こ と はあ り ません。 MachXO2 は、 パ ワーオン リ セ ッ ト 信号の解放後に発生
し たマ ス タ ク ロ ッ ク のパルス数を カ ウ ン ト し ます。 内部 DONE ビ ッ ト がア ク テ ィ ブにな ら ない ま ま カ ウ ン ト
が終了す る と 、 MachXO2 は コ ン フ ィ グ レーシ ョ ン ・ デー タ を外部 SPI フ ラ ッ シ ュ か ら 取得 し よ う と し ます。
デ ュ アルブー ト ・ コ ン フ ィ グ レーシ ョ ン ・ モー ド には上記 2 つの イ メ ージ フ ァ イ ルが必要です。 1 つはほ と
ん ど更新 さ れ る こ と がないゴールデン (フ ェ イ ルセーフ) イ メ ージで、 外部 SPI メ モ リ に格納 さ れます。。 も
う 1 つは定期的に更新 さ れ る プ ラ イ マ リ (ワーキ ン グ) イ メ ージで、 CFM に格納 さ れます。 1 つの Diamond
プ ロ ジ ェ ク ト を使用 し て、 ゴールデン / プ ラ イ マ リ の両 コ ン フ ィ グ レーシ ョ ン ・ デー タ フ ァ イ ルを作成で き
14-22
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
ます。単一 Diamond プ ロ ジ ェ ク ト 内に、例えば working と い う 名前の イ ンプ リ メ ン テーシ ョ ン(Implementation、
注 : Diamond 固有の呼称) と 、 も う 一つ failsafe と い う 名前の イ ンプ リ メ ン テーシ ョ ン を定義 ・ 構成 し 、 それ
ぞれデー タ フ ィ ルを生成 し ます。 Diamond イ ンプ リ メ ン テーシ ョ ンの使用の詳細については、 Diamond のオ
ン ラ イ ンヘルプ をお読み く だ さ い。
デ ュ アルブー ト ・ デザ イ ン を作成す る には、 次の設計制約を使用 し ます。
制約
デ ュ アルブー ト 設定
CONFIGURATION
CFG | CFG_EBRUFM | CFGUFM
MASTER_SPI_PORT
ENABLE
COMPRESS_CONFIG
ON | OFF
Diamond では、 内部フ ラ ッ シ ュ メ モ リ に格納 さ れ る プ ラ イ マ リ イ メ ージ用の JEDEC フ ァ イ ルが作成 さ れま
す。 外部 SPI フ ラ ッ シ ュ に格納 さ れ る ゴールデン イ メ ージ用には、 BIT フ ァ イ ルが作成 さ れます。 ゴールデ
ン イ メ ージは、 外部 SPI フ ラ ッ シ ュ の開始ア ド レ ス 0x010000 に配置す る 必要があ り ます。 こ れは、 コ ン フ ィ
グ レーシ ョ ン ・ デー タ をオ フ セ ッ ト 0x000000 で格納す る 必要があ る 、 シ ン グル イ メ ージの MSPI コ ン フ ィ グ
レーシ ョ ン ・ モー ド と 異な っ てい ます。
以下はデ ュ アルブー ト モー ド を用い る 場合の、外部 ・ 内部プ ロ グ ラ ミ ン グにおけ る それぞれの推奨手順です。
オプシ ョ ン A : 外部フ ラ ッ シ ュ メ モ リ のプ ロ グ ラ ミ ン グにバ ッ ク グ ラ ン ド ・ モー ド を用い る
1.フラッシュ・プログラミングモードを用いて内部フラッシュをプログラム。SPI ポートがイネーブルされ、
かつパーシスタンス(persistent)がオンであること
2.バックグランド・モードで外部フラッシュをプログラム
3.リフレッシュ、または電源をオフしてオン
オプシ ョ ン B : 外部フ ラ ッ シ ュ メ モ リ のプ ロ グ ラ ミ ン グにオ フ ラ イ ン ・ モー ド を用い る
1.・
(非バックグランド・プログラミングモードを用いて)外部 SPI フラッシュをプログラム
2.
(フラッシュ・プログラミングモードを用いて)内部フラッシュをプログラム
3.リフレッシュ、または電源をオフしてオン
ユーザ MSPI コ ン ト ロ ー ラ を使用す る 場合に、 MachXO2 がデ ュ アルブー ト ・ モー ド を使用 し ない よ う にす る
には、MASTER_SPI_PORT 設計制約を EFB_USER に設定 し ます。 こ の よ う にす る と 、MSPI コ ン フ ィ グ レーシ ョ
ン ・ ポー ト ピ ンが予約 さ れ、 デ ュ アルブー ト が防止 さ れます。
ス レーブ SPI モー ド (SSPI)
MachXO2 には SSPI コ ン フ ィ グ レーシ ョ ン ・ ポー ト があ り 、 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク が提供す る 機
能に ア ク セ ス で き ま す。 CFM、 UFM、 及びフ ィ ーチ ャ 行の再プ ロ グ ラ ミ ン グ、 コ ン フ ィ グ レ ーシ ョ ン ・ ロ
ジ ッ ク ブ ロ ッ ク 内の ス テー タ ス / 制御レ ジ ス タ のア ク セ ス が可能です。 オ フ ラ イ ン動作 と 透過的動作の ど ち
ら を使用 し て も フ ラ ッ シ ュ メ モ リ にア ク セ ス で き ます。 コ ン フ ィ グ レーシ ョ ン SRAM には直接ア ク セ ス で き
ません。 REFRESH コ マ ン ド を送出 し て、 新 し い フ ラ ッ シ ュ イ メ ージ を SRAM に ロ ー ド す る 必要があ り ます。
表 14-14. SSPI ポー ト ピ ン
ピ ン名
記 述
CCLK
SPI マス タ コ ン ト ロー ラから ド ラ イ ブ さ れる コ ン フ ィ グ レーシ ョ ン ・ ク ロ ッ ク 入力
SI
コ マ ン ド 及びデー タ 用のコ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク へのシ リ アルデー タ 入力
SO
コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク から のシ リ アルデー タ 出力
SN
コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク を イ ネーブルする チ ッ プ セ レ ク ト
SSPI モー ド では、 MCLK/CCLK ピ ンは CCLK ( コ ン フ ィ グ レーシ ョ ン ・ ク ロ ッ ク ) にな り ます。 SI ピ ンか ら
の入力デー タ は、 CCLK の立ち上が り エ ッ ジで MachXO2 デバ イ ス に読み込まれます。 SO ピ ンの出力デー タ
14-23
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
は、 CCLK の立ち下が り エ ッ ジで有効にな り ます。 SN はチ ッ プセ レ ク ト 信号 と し て機能 し ます。 SN が High
にな る と 、 SSPI イ ン タ ーフ ェ イ ス が選択解除 さ れ、 SO/SPISO ピ ンが ト ラ イ ス テー ト にな り ます。 SN が Low
に ド ラ イ ブ さ れ る と 、 MachXO2 への コ マ ン ド の書 き 込み と 、 デー タ の読み出 し が可能にな り ます。 MachXO2
の SSPI ポー ト は、コ ン フ ィ グ レーシ ョ ン・ ロ ジ ッ ク へのモー ド 0 バ ス・ ト ラ ンザ ク シ ョ ンのみを受け付け ます。
図 14-10. SSPI コ ン フ ィ グ レーシ ョ ン ・ モー ド
MachXO2
Flash Memory
CCLK
SI
SO
SN
μC
SPI
Controller
Configuration
Logic
SPI Port
WISHBONE
CLK
DI
MachXO2
Logic
DO
CSN
SSPI ポー ト がア ク テ ィ ブにな る のは、 MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト の場合で
す。SLAVE_SPI_PORT に対す る Diamond のデフ ォ ル ト 設計制約は、こ のポー ト をデ ィ セーブルす る よ う にな っ
てい ます。 Spreadsheet View (ス プ レ ッ ド シー ト ・ ビ ュ ー) を使用 し て、 デザ イ ンの SLAVE_SPI_PORT 制約を
ENABLE に設定 し 、 ユーザモー ド で SSPI ポー ト がア ク テ ィ ブな ま ま にな る よ う に し て く だ さ い。 SSPI ポー ト
が誤っ てデ ィ セーブル さ れた場合に備え て、 第二のプ ロ グ ラ ミ ン グ ポー ト を ア ク テ ィ ブ ・ ス テー ト に保つ こ
と を推奨 し ます。
SSPI ポー ト は、 CFM、 UFM、 及びフ ィ ーチ ャ 行の消去 / プ ロ グ ラ ム / ベ リ フ ァ イ に使用 さ れます。 コ ン フ ィ
グ レーシ ョ ン SRAM に直接ア ク セ スす る 機能はあ り ません。 フ ィ ーチ ャ 行が誤っ て消去 さ れ る こ と を防止す
る ため、 SSPI ポー ト ではフ ラ ッ シ ュ メ モ リ の透過モー ド に よ る 更新を推奨 し ます。 SSPI ポー ト で REFRESH
コ マ ン ド を発行 し 、新たにプ ロ グ ラ ム さ れた イ メ ージ を ア ク テ ィ ブにす る こ と がで き ます。REFRESH 動作は
SN がネゲー ト さ れ る ま で開始 さ れないため、 REFRESH コ マ ン ド は、 MachXO2 が外部ま たはデ ュ アルブー
ト ・ コ ン フ ィ グ レーシ ョ ン ・ モー ド の と き に安全に使用で き ます。
SSPI ポー ト を使用 し た MachXO2 のプ ロ グ ラ ミ ン グは複雑です。 MachXO2 のプ ロ グ ラ ミ ン グの複雑 さ を軽減
す る ため、 ラ テ ィ ス では SSPIEmbedded と 呼ばれ る C プ ロ グ ラ ム を ご用意 し てい ます。 MachXO2 の フ ラ ッ
シ ュ メ モ リ を再プ ロ グ ラ ムす る と き は、 SSPIEmbedded を使用す る こ と を推奨 し ます。
フ ラ ッ シ ュ メ モ リ の再プ ロ グ ラ ミ ン グ以外に、 SSPI ポー ト は MachXO2 のい く つかの ス テー タ ス及び制御レ
ジ ス タ へのア ク セ ス に使用で き ます。その レ ジ ス タ で使用可能な コ マ ン ド の リ ス ト と 説明は、"TN1205, Using
User Flash Memory and Hardened Control Functions in MachXO2 Devices (MachXO2 デバ イ ス の UFM と ハー ド
マ ク ロ 化制御機能の使用法) " にあ り ま す。 ス テー タ ス ・ レ ジ ス タ へのア ク セ ス はそれほ ど複雑ではな く 、
SSPIEmbedded プ ロ グ ラ ム を使用す る 必要はあ り ません。
I2C コ ン フ ィ グ レーシ ョ ン ・ モー ド
MachXO2 には、 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク のア ク セ ス に使用す る I2C コ ン フ ィ グ レーシ ョ ン ・ ポー ト
があ り ます。 I2C マ ス タ は、 10 ビ ッ ト ま たは 7 ビ ッ ト ・ ア ド レ ッ シ ン グモー ド を使用 し て、 コ ン フ ィ グ レー
シ ョ ン ・ ロ ジ ッ ク と 通信で き ます。 I2C SCL 入力は、 最高 400KHz の ク ロ ッ ク 周波数に対応で き ます。 CFM、
UFM、 及びフ ィ ーチ ャ 行の再プ ロ グ ラ ミ ン グ、 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク ブ ロ ッ ク 内の ス テー タ ス /
制御レ ジ ス タ のア ク セ ス が可能です。 フ ラ ッ シ ュ メ モ リ の再プ ロ グ ラ ミ ン グは、 オ フ ラ イ ン動作 と 透過的動
14-24
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
作の ど ち ら で も 実行で き ます。 コ ン フ ィ グ レーシ ョ ン SRAM を直接更新す る こ と はで き ません。 コ ン フ ィ グ
レーシ ョ ン SRAM を更新す る には、 フ ラ ッ シ ュ メ モ リ の再プ ロ グ ラ ミ ン グ後に、 REFRESH コ マ ン ド を送信
す る 必要があ り ます。
表 14-15. I2C ポー ト ピ ン
ピ ン名
記 述
2
SCL
I C バス ク ロ ッ ク
SDA
I2C バス ・ デー タ ラ イ ン
I2C コ ン フ ィ グ レーシ ョ ン ・ ポー ト を使用で き る のは、 MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス
テー ト の場合です。 Diamond デザ イ ン ソ フ ト ウ ェ アでは、 I2C_PORT がデフ ォ ル ト ・ ス テー ト と し て DISABLE
ス テー ト に設定 さ れます。 ユーザモー ド で I2C イ ン タ ーフ ェ イ ス を ア ク テ ィ ブな ま ま にす る には、 I2C_PORT
を ENABLE ス テー ト に設定す る 必要があ り ます。 誤っ て I2C ポー ト がデ ィ セーブル さ れた場合に回復で き る
よ う 、 第 2 の コ ン フ ィ グ レーシ ョ ン ・ ポー ト (JTAG) を使用で き る よ う に し てお く こ と を推奨 し ます。
図 14-11. I2C コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク
Flash
Memory
Configuration
Logic
I2C
Master
2
I2C
Interface
MachXO2
Logic
MachXO2 デバ イ ス には、 プ ラ イ マ リ と セカ ン ダ リ の 2 つのハー ド マ ク ロ I2C コ ン ト ロ ー ラ があ り ます。 プ ラ
イ マ リ I2C コ ン ト ロ ー ラ は、 MachXO2 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク への イ ン タ ーフ ェ イ ス と 、 Wishbone
レ ジ ス タ へのア ク セ ス を提供 し ます。 Wishbone レ ジ ス タ へのア ク セ ス はユーザモー ド I2C と 呼ばれます。 コ
ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク へのア ク セ ス を許可 さ れてい る のは、 プ ラ イ マ リ I2C コ ン ト ロ ー ラ だけです。
セカ ン ダ リ I2C コ ン ト ロ ー ラ は、 常にユーザモー ド I2C コ ン ト ロ ー ラ にな り ます。
MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト の場合 I2C ポー ト は イ ネーブル さ れ、 プ ラ イ マ リ
I2C コ ン ト ロ ー ラ と 通信で き ます。 I2C ポー ト が イ ネーブル さ れてい る と き は、 いつで も コ ン フ ィ グ レーシ ョ
ン ・ ロ ジ ッ ク にア ク セ ス で き ます。 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク にア ク セ スす る ために、 EFB を イ ン ス
タ ン ス化す る 必要はあ り ません。
プ ラ イ マ リ I2C コ ン ト ロ ー ラ は、 次の場合に コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク へのア ク セ ス がで き ます。
• MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト にな っ てい る
• EFB が イ ン ス タ ン ス さ れず、 I2C ポー ト ピ ンが ENABLE にな っ てい る
• EFB が イ ン ス タ ン ス さ れ、 I2C ポー ト ピ ンが ENABLE にな っ てい る
EFB I2C のベース ア ド レ ス が変更 さ れてい る 場合を除いて、外部 I2C マ ス タ はア ド レ ス 1000000(7 ビ ッ ト モー
ド ) ま たは 1111000000 (10 ビ ッ ト モー ド ) を使用 し て コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク にア ク セ ス し ます。
プ ラ イ マ リ 及びセカ ン ダ リ I2C コ ン ト ロ ー ラ が応答す る ア ド レ ス を変更す る には、 Spreadsheet View ではな
14-25
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
く 、 IPexpress を使用 し ます。 ア ド レ ス を変更す る には、 EFB を イ ン ス タ ン ス化す る 必要があ り ます。 こ のア
ド レ ス は、 プ ラ イ マ リ と セカ ン ダ リ I2C コ ン ト ロ ー ラ で共有 さ れます。
表 14-16 に、 MachXO2 の両 I2C リ ソ ースへのア ク セ ス に使用 さ れ る ア ド レ スデ コ ー ド を示 し ます。
表 14-16. I2C ポー ト の ス レーブア ド レ ス
I2C 機能
ス レーブ ア ド レ ス
2
yyyxxxxx00
プ ラ イ マ リ I C コ ン ト ロー ラの コ ン フ ィ グレーシ ョ ン ・ ロ ジ ッ クのア ド レ ス。 常に 7 ビ ッ ト または
10 ビ ッ ト ア ド レ スで応答
yyyxxxxx01
ユーザモー ド ・ プ ラ イ マ リ I2C コ ン ト ロー ラのア ド レ ス
yyyxxxxx10
ユーザモー ド ・ セ カ ン ダ リ I2C コ ン ト ロー ラのア ド レ ス
yyyxxxxx11
プ ラ イ マ リ I2C コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ クの リ セ ッ ト 。 常に 7 ビ ッ ト または 10 ビ ッ ト ア ド レ
スで応答
プ ラ イ マ リ I2C コ アは UFM へのア ク セ ス と CFM のプ ロ グ ラ ミ ン グに使用で き ます。 し か し プ ラ
イ マ リ I2C コ アは、 単一のデザ イ ンでは UFM/CFM かユーザフ ァ ン ク シ ョ ンの ど ち ら か一方に し
か用い る こ と はで き ません。 ユーザモー ド ・ プ ラ イ マ リ 及びユーザモー ド ・ セカ ン ダ リ I2C コ ン ト ロ ー ラ
の 動作 に つ い て は、 "TN1205, Using User Flash Memory and Hardened Control Functions in MachXO2 Devices
(MachXO2 デバ イ ス の UFM と ハー ド マ ク ロ 化制御機能の使用法) " に説明があ り ます。 I2C ス レーブデバ イ
ス と の通信については、 本書で説明 し ません。
MachXO2 の以下に示す第 4 の I2C リ ソ ース はオ フ セ ッ ト 3 にあ り ます。 イ ン ス タ ン ス に よ っ ては、 コ ン フ ィ
グ レーシ ョ ン ・ ロ ジ ッ ク への I2C メ モ リ ・ ト ラ ンザ ク シ ョ ンが中断 さ れた り 、 放棄 さ れた り す る こ と があ り
ます。 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク が受け付け可能な コ マン ド の中には、 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ
ク がデー タ で応答す る も のがあ り ます。 I2C メ モ リ ・ ト ラ ンザ ク シ ョ ンが中断ま たは放棄 さ れた場合で も 、 コ
ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク はキ ュ ー内のデー タ を返す こ と がで き ます。 新 し く 受信 し た I2C コ マ ン ド は、
パデ ィ ン グバ イ ト と 見な さ れた り 、誤っ て解釈 さ れた り す る こ と があ り ます。 こ の ス テー ト を解消す る には、
任意の値をオ フ セ ッ ト 3 に書 き 込みます。 こ れで、 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク の コ マ ン ド ・ イ ン タ プ
リ タ が リ セ ッ ト さ れ、キ ュ ー内の全てのデー タ が フ ラ ッ シ ュ さ れて、その後の コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ
ク への I2C メ モ リ ・ ト ラ ンザ ク シ ョ ンが正常に動作す る よ う にな り ます。
WISHBONE コ ン フ ィ グ レーシ ョ ン ・ モー ド
内部 WISHBONE バス か ら CFM、 UFM、 お よ びフ ィ ーチ ャ 行にア ク セ ス で き ます。 WISHBONE バ ス を使用す
る には、 デザ イ ンに EFB (組み込み機能ブ ロ ッ ク ) を組み込む必要があ り ます。 EFB と イ ン タ ーフ ェ イ スす
る ロ ジ ッ ク を設計 し てか ら 、 WISHBONE バ ス ・ ト ラ ン ザ ク シ ョ ン を実行 し て、 コ ン フ ィ グ レーシ ョ ン ・ ロ
ジ ッ ク に接続 さ れた リ ソ ース にア ク セ ス し ます。
図 14-12. WISHBONE コ ン フ ィ グ レーシ ョ ン ・ モー ド
Flash
Memory
Configuration
Logic
WISHBONE
Interface
MachXO2
Logic
14-26
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
WISHBONE イ ン タ ーフ ェ イ ス にア ク セ スす る には、 MachXO2 がユーザモー ド にな っ てい る 必要があ り ます。
コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク に よ っ て利用可能 と な っ た リ ソ ース のア ク セ ス と 更新は、 透過モー ド で行
う 必要が あ り ま す。 オ フ ラ イ ン モー ド で コ ン フ ィ グ レ ー シ ョ ン ・ ロ ジ ッ ク に ア ク セ ス し よ う と す る と 、
MachXO2 がユーザモー ド でな く な る ため、 デ ッ ド ロ ッ ク が発生 し ます。
WISHBONE イ ン タ ーフ ェ イ ス を使用 し た、 消去、 プ ロ グ ラ ム、 ベ リ フ ァ イ の各機能の実行方法については、
付録 C に説明があ り ます。MachXO2 の WISHBONE イ ン タ ーフ ェ イ ス の詳細については、"TN1205, Using User
Flash Memory and Hardened Control Functions in MachXO2 Devices (MachXO2 デバ イ ス の UFM と ハー ド マ ク
ロ 化制御機能の使用法) " を参照 し て く だ さ い。
JTAG モー ド
JTAG ポー ト は、 MachXO2 で使用可能な最 も 柔軟な コ ン フ ィ グ レーシ ョ ン及びプ ロ グ ラ ミ ン グポー ト です。
JTAG では、 以下が可能です。
• オ フ ラ イ ンの フ ラ ッ シ ュ メ モ リ ・ プ ロ グ ラ ミ ン グ
• 透過的フ ラ ッ シ ュ メ モ リ ・ プ ロ グ ラ ミ ン グ
• オ フ ラ イ ンの コ ン フ ィ グ レーシ ョ ン SRAM の コ ン フ ィ グ レーシ ョ ン
• MachXO2 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク への フルア ク セ ス
• デバ イ ス のチ ェーン接続
• IEEE 1149.1 テ ス ト 機能
• IEEE 1532 準拠のプ ロ グ ラ ミ ン グ
JTAG ポー ト を使用で き る のは、 MachXO2 が フ ィ ーチ ャ 行 HW デフ ォ ル ト モー ド ・ ス テー ト の場合です。
Diamond 1.4 では、 デフ ォ ル ト で こ のポー ト が イ ネーブル さ れます。 MachXO2 の JTAG ポー ト ピ ンは、 IEEE
1149.1 TAP 機能の実行専用ではあ り ません。 JTAG ポー ト は、 汎用 I/O と し ての使用が回復 さ れ る こ と があ
り ます。 汎用 I/O と し て使用す る ための JTAG ピ ンの回復の詳細については、 「sysCONFIG ピ ン」 項 を参照
し て く だ さ い。
MachXO2 の JTAG ポー ト はその柔軟 さ か ら 、 価値あ る 機能 と な っ てい ます。 シ ス テ ム及びデバ イ ス のデバ ッ
グに、 最 も 機能を発揮 し ます。 全ての MachXO2 デザ イ ンにおいて、 JTAG ポー ト はア ク セ ス可能な よ う に保
つ こ と を推奨 し ます。 JTAG ポー ト を ア ク テ ィ ブに し てお く こ と の利点 と し ては、 次の点があ り ます。
• マルチチ ェーン ・ アーキ テ ク チ ャ : JTAG ポー ト は、 MachXO2 を他のプ ロ グ ラ マブル ロ ジ ッ ク ・ チ ェーン
と 結合可能な、 唯一の コ ン フ ィ グ レーシ ョ ン及びプ ロ グ ラ ミ ン グ ポー ト です。
• Reveal に よ る デバ ッ グ : Lattice Reveal デバ ッ グ ツールは、 組み込み可能な ロ ジ ッ ク アナ ラ イ ザ ・ ツール
です。 外部 ロ ジ ッ ク アナ ラ イ ザでボー ド レベルの ロ ジ ッ ク を解析す る 場合 と 同様の方法で、 MachXO2 内
部の ロ ジ ッ ク を解析で き ます。 Reveal には、 MachXO2 の JTAG ポー ト か ら のみア ク セ ス で き ます。
• SRAM リ ー ド バ ッ ク : JTAG ポー ト は、 MachXO2 の コ ン フ ィ グ レーシ ョ ン SRAM に直接ア ク セ ス可能な唯
一の sysCONFIG ポー ト です。 SRAM ベース の FPGA の故障解析を行 う ために、 直接ア ク セ ス が必要にな
る こ と が し ば し ばあ り ます。 コ ン フ ィ グ レーシ ョ ン SRAM を読み出す と 、 故障解析のための主要 コ ン ポー
ネ ン ト を呼び出す こ と がで き ます。 JTAG ポー ト が イ ネーブル さ れていない と 、 こ の種の故障解析がで き
ません。
• バ ウ ン ダ リ ス キ ャ ン ・ テ ス ト 機能 : IEEE 1149.1 JTAG を使用 し て行われ る ボー ド レベルの接続テ ス ト は、
アセンブル済みのプ リ ン ト 基板の品質を保証す る ための重要な機能です。 バ ウ ン ダ リ ス キ ャ ン ・ テ ス ト を
行 う ためには、 MachXO2 の JTAG ポー ト を確保す る こ と が不可欠です。 ラ テ ィ ス の ウ ェ ブサ イ ト には、
MachXO2 用のバ ウ ン ダ リ ス キ ャ ン記述言語フ ァ イ ルが用意 さ れてい ます。
14-27
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
TransFR 動作
MachXO2 には他の Lattice FPGA と 同様に、 TransFRTM 機能が あ り ま す。 TransFR につい て は、 "TN1087
Minimizing System Interruption During Configuration Using TransFR Technology (TransFR 技術 を 使用 し た コ ン
フ ィ グ レーシ ョ ン時のシ ス テ ム中断の最小化) " に説明があ り ま す。 MachXO2 での動作は、 以前の世代の
Lattice FPGA と は異な っ てい ます。 以前の動作は、 JTAG ポー ト のみに依存 し てい ま し た。 JTAG ポー ト は、
BSCAN セルを使用 し て I/O の現在の ス テー ト を捕捉 し 、 ま たは I/O を強制的に既知の ス テー ト に し ます。
MachXO2 では他の 2 つのポー ト で も TransFR プ ロ グ ラ ミ ン グがで き ます。I2C 及び SSPI コ ン フ ィ グ レーシ ョ
ン ・ ポー ト ではプ ロ グ ラ ミ ン グ を実行で き ますが、JTAG BSCAN セルにはア ク セ ス で き ません。I2C 及び SSPI
プ ロ グ ラ ミ ン グポー ト か ら TransFR を使用で き る よ う にす る ため、 新 し い TransFR プ ロ セ ス が作成 さ れま し
た。
MachXO2 は コ ン フ ィ グ レーシ ョ ン SRAM ビ ッ ト を使用 し て TransFR 機能を イ ネーブル し ます。TransFR が正
し く 動作す る には、 SRAM 内のア ク テ ィ ブな コ ン フ ィ グ レーシ ョ ンで、 TRANFR_ENABLE が ENABLE に設定
さ れ て い る 必要が あ り ま す。 MachXO2 に プ ロ グ ラ ム さ れ る 新 し い コ ン フ ィ グ レ ーシ ョ ン ・ デー タ で も 、
ENABLE_TRANSFR が ENABLE に設定 さ れてい る 必要があ り ます。 こ の両方の条件が満た さ れていて Refresh
コ マ ン ド が発行 さ れ る と 、 MachXO2 は I/O の特性 と 電圧レベルを維持 し ます。 INITN の立ち下が り で出力
バ ッ フ ァ の状態を ラ ッ チ し て保持 し 、 そ し て ウ ェ イ ク ア ッ プ ・ プ ロ セ ス で GOE ス ト ロ ーブがアサー ト さ れ
る ま で維持 し ます。 ウ ェ イ ク ア ッ プ ・ プ ロ セ ス で内部 DONE ビ ッ ト がアサー ト さ れ る と 直ちに入力デー タ が
有効にな り ます。
コ ン フ ィ グ レーシ ョ ンが失敗す る と 、 ウ ェ イ ク ア ッ プ ・ プ ロ セ ス で GOE ネゲー ト す る こ と を見合わせます。
結果 と し て、 出力は既知の状態の ま ま で MachXO2 がデ ュ アルブー ト のゴールデン イ メ ージの ロ ー ド を実行
で き る よ う に し ます。 こ れま での フ ァ ミ リ の よ う なバ ウ ン ダ リ ス キ ャ ン法 よ り も 優れてい る 振 る 舞い と 言え
ます。
ソ フ ト ウ ェ アで選択で き る オプシ ョ ン
MachXO2 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク の動作は、 Diamond デザ イ ン ソ フ ト ウ ェ アで選択 し たオプシ ョ ン
に よ っ て管理 さ れます。 他の FPGA では、 コ ン フ ィ グ レーシ ョ ン ・ モー ド の選択用に専用 I/O が用意 さ れて
い ます。MachXO2 では、不揮発性フ ィ ーチ ャ 行を使用 し て コ ン フ ィ グ レーシ ョ ン方法が選択 さ れます。フ ィ ー
チ ャ 行 の デ フ ォ ル ト ・ ス テ ー ト は、 ほ ぼ全 て の デ ザ イ ン ご と に 変更す る 必要 が あ り ま す。 Diamond の
Spreadsheet View (ス プ レ ッ ド シー ト ・ ビ ュ ー) を使用す る と 、 MachXO2 の フ ィ ーチ ャ 行の動作を変更で き 、
コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク の動作が変化 し ます。
コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク の制約には、 Spreadsheet View を使用 し ます。 Global Preferences (グ ロ ーバ
ル制約) タ ブ を ク リ ッ ク し 、 sysCONFIG ツ リ ーを確認 し て く だ さ い。 sysCONFIG セ ク シ ョ ン を図 14-13 に
示 し ます。 sysCONFIG の制約は、 次の 3 つのカ テ ゴ リ に分類 さ れてい ます。
• コ ン フ ィ グ レーシ ョ ン ・ モー ド 及びポー ト に関す る も の
• ビ ッ ト ス ト リ ーム生成に関す る も の
• セキ ュ リ テ ィ に関す る も の
14-28
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
図 14-13. Diamond Spreadsheet View の Global Preferences タ ブにあ る sysCONFIG 制約
コ ン フ ィ グ レーシ ョ ン ・ モー ド 及びポー ト オプシ ョ ン
コ ン フ ィ グ レーシ ョ ン ・ モー ド 及びポー ト オプシ ョ ンでは、 MachXO2 デバ イ ス がユーザモー ド にな っ た後 も
引 き 続 き 動作す る コ ン フ ィ グ レーシ ョ ン ・ ポー ト を、 どれにす る か を決定で き ます。 使用可能な ス テー タ ス
ピ ン、 及び コ ン フ ィ グ レーシ ョ ン ・ デー タ を外部 SPI フ ラ ッ シ ュ か ら 読み取 る 速度 も 制御で き ます。 こ こ で
行っ た選択はフ ィ ーチ ャ 行に保存 さ れ、 フ ィ ーチ ャ 行が消去 さ れ る ま で有効な ま ま にな り ます。 唯一の例外
と し て、 MCCLK_FREQ パ ラ メ ー タ は コ ン フ ィ グ レーシ ョ ン ・ デー タ に格納 さ れます。
コ ン フ ィ グ レーシ ョ ン及びポー ト オプシ ョ ンは、 任意の組み合わせで使用で き ます。
表 14-17. コ ン フ ィ グ レーシ ョ ン ・ モー ド / ポー ト オプシ ョ ン
オプ シ ョ ン名
デ フ ォル ト 設定
全設定値
JTAG_PORT
ENABLE
DISABLE, ENABLE
SLAVE_SPI_PORT
DISABLE
DISABLE, ENABLE
MASTER_SPI_PORT
DISABLE
DISABLE, ENABLE, EFB_USR
I2C_PORT
DISABLE
DISABLE, ENABLE
SDM_PORT
1, 2
DISABLE
DISABLE, PROGRAMN, PROGRAMN_DONE, PROGRAMN_DONE_INITN
MCCLK_FREQ
2.08
(p.14-15 参照)
ENABLE_TRANSFR
DISABLE
DISABLE, ENABLE
1. ispLEVER 8.1 SP1 及び Diamond 1.1 では、 SDM_PORT のデフ ォ ル ト が PROGRAMN で し た
2. 32 QFN パ ッ ケージには INITN ピ ンがあ り ません。 そのため、 オプシ ョ ン SDM_PORT = PROGRAMN_DONE_INITN を使用で
き ません
JTAG ポー ト
JTAG_PORT 制約では、 MachXO2 デバ イ ス がユーザモー ド 時の JTAG コ ン フ ィ グ レーシ ョ ン ・ ポー ト ピ ンの
動作を決定で き ます。 JTAG_PORT は、 次の 2 つの ス テー ト に設定で き ます。
• ENABLE ~ JTAG I/O が専用 と な り 、 IEEE 1149.1 JTAG イ ン タ ーフ ェ イ ス を提供 し ます
14-29
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
• DISABLE ~ JTAGENB ピ ン を使用 し て JTAG I/O ピ ンが動的に制御 さ れます
JTAGENB ピ ン を使用で き る のは、 JTAG_PORT が DISABLE ス テー ト の場合だけです。 JTAGENB が High に さ
れ る と 、 4 本の JTAG I/O が IEEE 1149.1 JTAG ポー ト と し て機能す る よ う にな り ます。 JTAGENB が Low に
さ れ る と 、 4 本の I/O を汎用 I/O と し て使用で き る よ う にな り ます。
再プ ロ グ ラ ミ ン グに よ っ て MachXO2 でプ ラ イ マ リ ・ コ ン フ ィ グ レーシ ョ ン ・ ポー ト がデ ィ セーブル さ れて
も 、 JTAG ポー ト にア ク セ ス で き る よ う なデザ イ ンにす る こ と を推奨 し ます。
SSPI ポー ト
SLAVE_SPI_PORT では、 MachXO2 デバ イ ス がユーザモー ド にな っ た後 も 、 SSPI コ ン フ ィ グ レーシ ョ ン ・ ポー
ト を確保で き ます。 SLAVE_SPI_PORT 制約は、 次の 2 つに設定で き ます。
• ENABLE ~ MachXO2 デバ イ ス がユーザモー ド 時に SPI ポー ト I/O が確保 さ れ、 外部 SPI マ ス タ が コ ン
フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク と 通信で き る よ う にな り ます。 こ の設計制約では、 ポー ト ピ ンに I/O を重複
し て割 り 当て る こ と も 防止 さ れます
• DISABLE ~ SPI ポー ト ピ ンが コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク か ら 切断 さ れます。 自動的にポー ト ピ ン
が汎用 I/O にな る こ と はあ り ません。 SPI ポー ト ピ ン を汎用 I/O にす る には、 SLAVE_SPI_PORT と
MASTER_SPI_PORT の両方を DISABLE ス テー ト にす る 必要があ り ます
SLAVE_SPI_PORT は、 MASTER_SPI_PORT と 同時に イ ネーブルで き ますが、 内部 SPI マ ス タ コ ン ト ロ ー ラ が、
外部 SPI マ ス タ と 同時に SPI ト ラ ンザ ク シ ョ ン を実行 し ない こ と を確実にす る 必要があ り ます。2 つの SPI マ
ス タ の同時動作を必ず防止 し て く だ さ い。
MSPI ポー ト
MASTER_SPI_PORT では、 MachXO2 デバ イ ス がユーザモー ド にな っ た後 も 、 SPI コ ン フ ィ グ レーシ ョ ン ・ ポー
ト を確保で き ます。 MASTER_SPI_PORT 制約は、 次の 3 つに設定で き ます。
• ENABLE ~ MachXO2 がユーザモー ド 時に SPI ポー ト I/O が確保 さ れます。 こ の設計制約では、 外部ま た
はデ ュ アルブー ト ・ コ ン フ ィ グ レーシ ョ ンモー ド がア ク テ ィ ブにな り ます。 こ の設計制約を
CONFIGURATION = EXTERNAL と 組み合わせて使用す る と 、 外部ブー ト モー ド が イ ネーブルにな り 、 ま
た CFG、 CFG_EBRUFM、 CFGUFM と 組み合わせ る と 、 デ ュ アルブー ト ・ モー ド が イ ネーブルにな り ま
す。 ユーザモー ド にな る と 、 EFB 内の SPI コ ン ト ロ ー ラ が SPI ポー ト にア ク セ ス し 、 SPI バ ス ・ ト ラ ンザ
ク シ ョ ン を実行で き ます。 こ の設計制約では、 ポー ト ピ ンに I/O を重複 し て割 り 当て る こ と も 防止 さ れま
す
• EFB_USER ~ MachXO2 がユーザモー ド 時に SPI ポー ト I/O が確保 さ れます。 ユーザモー ド にな る と 、
EFB 内の SPI コ ン ト ロ ー ラ が SPI ポー ト にア ク セ ス し 、 SPI バ ス ・ ト ラ ンザ ク シ ョ ン を実行で き ます。 こ
の設計制約では、 ポー ト ピ ンに I/O を重複 し て割 り 当て る こ と も 防止 さ れます
• DISABLE ~ SPI ポー ト ピ ンが コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク か ら 切断 さ れます。 自動的にポー ト ピ ン
が汎用 I/O にな る こ と はあ り ません。 SPI ポー ト ピ ン を汎用 I/O にす る には、 SLAVE_SPI_PORT と
MASTER_SPI_PORT の両方を DISABLE ス テー ト にす る 必要があ り ます
MASTER_SPI_PORT は SLAVE_SPI_PORT と 同時に イ ネーブルで き ます。 し か し 内部 SPI マ ス タ コ ン ト ロ ー ラ
が、 外部 SPI マ ス タ と 同時に SPI ト ラ ンザ ク シ ョ ン を実行 し ない こ と を確実にす る 必要があ り ます。 2 つの
SPI マ ス タ の同時動作を必ず防止 し て く だ さ い。
I2C ポー ト
I2C_PORT では MachXO2 デバ イ ス がユーザモー ド にな っ た後 も 、 I2C コ ン フ ィ グ レーシ ョ ン ・ ポー ト を確保
で き ます。 I2C_PORT 制約は、 次の 2 つに設定で き ます。
• ENABLE ~ MachXO2 がユーザモー ド 時に I2C ポー ト I/O が確保 さ れ、 外部 I2C マ ス タ が コ ン フ ィ グ レー
14-30
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
シ ョ ン ・ ロ ジ ッ ク と 通信で き る よ う にな り ます。 こ の設計制約では、 ポー ト ピ ンに I/O を重複 し て割 り 当
て る こ と も 防止 さ れます
• DISABLE ~ I2C ポー ト ピ ンが コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク か ら 切断 さ れます。 こ のポー ト ピ ンは汎用
I/O にな り ます
EFB 内のプ ラ イ マ リ 及びセカ ン ダ リ I2C コ ン ト ロ ー ラ を使用す る には、 I2C_PORT を ENABLE にす る 必要が
あ り ます。
SDM ポー ト
SDM_PORT では MachXO2 デバ イ ス がユーザモー ド にな っ てか ら 、 プ ロ グ ラ ミ ン グ ・ ス テー タ ス ピ ン を選択
で き ます。 SDM_PORT 制約は、 次の 4 つに設定で き ます。
• DISABLE ~ PROGRAMN、 DONE、 及び INITN ス テー タ ス ピ ンが汎用 I/O にな り ます
• PROGRAM ~ MachXO2 デバ イ ス がユーザモー ド 時に PROGRAMN ピ ンが確保 さ れます。 こ の ピ ン を ア ク
テ ィ ブ Low にす る と 、 MachXO2 が再 コ ン フ ィ グ レーシ ョ ン さ れます。 DONE 及び INITN ピ ンは汎用 I/O
にな り ます
• PROGRAM_DONE ~ MachXO2 デバ イ ス がユーザモー ド にな っ て も PROGRAMN 及び DONE ピ ンが確保 さ
れます。 INITN は汎用 I/O にな り ます
• PROGRAM_DONE_INITN ~ユーザモー ド 時に PROGRAM、 DONE、 及び INITN が確保 さ れます
MSPI ま たはデ ュ アルブー ト ・ コ ン フ ィ グ レーシ ョ ン ・ モー ド を使用す る場合は、 SDM_PORT を PROGRAMN
に設定す る こ と を推奨 し ます。 別の コ ン フ ィ グ レーシ ョ ン ・ ポー ト を使用 し て REFRESH コ マ ン ド を送出可
能な場合を除いて、 PROGRAMN ピ ンは、 MachXO2 デバ イ ス を " ウ ォーム " 再 コ ン フ ィ グ レーシ ョ ンす る 唯
一の手段です。
MCCLK の周波数
MCLK_FREQ 制約では、 EXTERNAL ま たはデ ュ アルブー ト ・ コ ン フ ィ グ レーシ ョ ン ・ モー ド 使用時に、 外部
SPI フ ラ ッ シ ュ か ら のデー タ 取得に使用 さ れ る MCLK 周波数を変更で き ます。 MachXO2 では、 外部 SPI フ
ラ ッ シ ュ か ら のデー タ 取得開始時に、公称2.08MHz(+/- 5.5%)の ク ロ ッ ク 周波数が使用 さ れます。MCLK_FREQ
の値は、 受信す る コ ン フ ィ グ レーシ ョ ン ・ デー タ に格納 さ れていて、 フ ィ ーチ ャ 行には格納 さ れてい ません。
MachXO2 デバ イ ス は、 連続 し たパデ ィ ン グ ビ ッ ト 、 デー タ 開始ワー ド (0xBDB3)、 及び コ ン ト ロ ールレ ジ ス
タ 値を読み出 し ます。 制御レ ジ ス タ には新 し い MCLK_FREQ 値が格納 さ れます。 MachXO2 は MCLK_FREQ
値を受信す る と すぐ に、 新 し い ク ロ ッ ク 周波数に切 り 替わ り ます。 MCLK_FREQ で使用可能な周波数範囲は、
2.08MHz か ら 最高 133 MHz ま でです (表 14-10 を参照)。 実際の SPI フ ラ ッ シ ュ ま たはプ リ ン ト 基板の最高
ク ロ ッ ク レー ト を超えない よ う 注意 し て く だ さ い。
仕様を外れ る ク ロ ッ ク 周波数を指定 し た場合に備え て、 バ ッ ク ア ッ プ ・ コ ン フ ィ グ レーシ ョ ン ・ ポー ト を用
意 し てお く こ と を推奨 し ます。
ENABLE_TRANSFR
MachXO2 で使用 さ れ る TransFR 機能では、コ ン フ ィ グ レーシ ョ ン SRAM に ロ ー ド さ れた コ ン フ ィ グ レーシ ョ
ン ・ デー タ 、 及び内部フ ラ ッ シ ュ メ モ リ に ロ ー ド さ れた将来の コ ン フ ィ グ レーシ ョ ン ・ デー タ フ ァ イ ルで、
ENABLE_TRANSFR が ENABLE ス テー ト に設定 さ れてい る 必要があ り ます。 MachXO2 での TransFR の使用の
詳細については、"TransFR の動作 " 項、及び "TN1087 Minimizing System Interruption During Configuration Using
TransFR Technology (TransFR 技術を使用 し た コ ン フ ィ グ レーシ ョ ン時のシ ス テ ム中断の最小化) " を参照 し
て く だ さ い。
14-31
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
ビ ッ ト ス ト リ ーム生成オプシ ョ ン
Bitstream Generation (ビ ッ ト ス ト リ ーム生成) オプシ ョ ン では、 Diamond 開発ツールで MachXO2 デバ イ ス用
の コ ン フ ィ グ レ ー シ ョ ン ・ デ ー タ を 作 成 す る 方 法 を 決 定 で き ま す。 CONFIGURATION、 USERCODE、
CUSTOM_IDCODE、 及び SHAREDEBRINIT の各設定はフ ィ ーチ ャ 行に保存 さ れ、 フ ィ ーチ ャ 行が消去 さ れ る
ま で有効な ま ま にな り ます。 その他のオプシ ョ ンでは、 Diamond で生成 さ れ る JEDEC 及び BIT フ ァ イ ルを制
御で き ます。 表 14-17 はそれ ら を ま と めた も のです。
COMPRESS_CONFIG
COMPRESS_CONFIG 制約は JEDEC 及び BIT フ ァ イ ルの生成方法を変更 し ます。 COMPRESS_CONFIG のデ
フ ォ ル ト 設定は ON です。
JEDEC フ ァ イ ルは生成時に必ず圧縮 さ れます。 外部 SPI フ ラ ッ シ ュ か ら コ ン フ ィ グ レーシ ョ ン ・ デー タ を読
み込む と 、 コ ン フ ィ グ レーシ ョ ン時間を多少短縮で き 、 Diamond ツールでは内部フ ラ ッ シ ュ メ モ リ にプ ロ グ
ラ ム可能な JEDEC フ ァ イ ルが作成 さ れます。
CONFIGURATION
CONFIGURATION 制約では CFM 及び UFM セ ク タ を制御で き ます。 CONFIGURATION 制約には、 次の 4 つ
の設定が可能です。
• CFG ~ コ ン フ ィ グ レーシ ョ ン ・ デー タ 作成時のデフ ォ ル ト モー ド です。 コ ン フ ィ グ レーシ ョ ン ・ ビ ッ ト
ス ト リ ームは CFM に格納 さ れ、 UFM セ ク タ へのオーバフ ロ ーは許可 さ れません。 コ ン フ ィ グ レーシ ョ
ン ・ デー タ には EBR 初期化デー タ が含まれます。 UFM セ ク タ は、 ユーザモー ド で汎用フ ラ ッ シ ュ メ モ リ
と し て使用で き ます。
• CFG_EBRUFM ~ こ の設計制約で作成 さ れ る コ ン フ ィ グ レーシ ョ ン ・ デー タ は、 CFM に格納 さ れます。
EBR 初期化デー タ は、 UFM セ ク タ の最下位ページ ア ド レ ス に格納 さ れます。 UFM セ ク タ はユーザモー ド
で使用で き ます。 正 し い動作を保証す る ため UFM に変更を加えた場合は、 EBR 初期化デー タ を回復す る
必要があ り ます。
• CFGUFM ~ こ の設計制約で作成 さ れ る コ ン フ ィ グ レーシ ョ ン ・ デー タ は、 CFM に格納 さ れます。 こ の
モー ド は、 UFM へのオーバフ ロ ーが許可 さ れ る と い う 点が CFG と 異な っ てい ます。 デザ イ ンに EBR 初
期化デー タ が追加 さ れ る と 、 コ ン フ ィ グ レーシ ョ ン ・ デー タ のサ イ ズが増加 し ます。
• EXTERNAL ~ こ の設計制約で生成 さ れ る コ ン フ ィ グ レーシ ョ ン ・ デー タ は、 外部 メ モ リ に格納 さ れます。
UFM セ ク タ は、 ユーザモー ド で汎用フ ラ ッ シ ュ メ モ リ と し て使用で き ます。
Diamond ソ フ ト ウ ェ アの リ リ ース 1.4 では、CONFIGURATION制約のデフ ォ ル ト が CFG ス テー ト です。Diamond
デザ イ ン ソ フ ト ウ ェ アで JEDEC フ ァ イ ルが生成 さ れ る のは、 デザ イ ン全体が CFMCFM に収ま る 場合だけで
す。 MachXO2 デバ イ ス がユーザモー ド にな る と 、 UFM を使用で き る こ と が保証 さ れます。
コ ン フ ィ グ レーシ ョ ン ・ デー タ が CFM に収ま ら ない場合は、 CFG_EBRUFM 制約を使用 し てみて く だ さ い。
デザ イ ンに多数の初期化す る EBR があ り 、 し か も UFM ページにア ク セ ス し てデー タ を格納す る 場合は、 こ
の設計制約が有用です。 初期化す る EBR の数次第では、 UFM にデー タ 格納用の十分な容量が残っ てい ます。
CFM に コ ン フ ィ グ レーシ ョ ン ・ デー タ を格納で き る だけのサ イ ズがな く 、 独自デー タ の格納に UFM を使用
す る 必要がない場合は、 CFGUFM オプシ ョ ン を使用 し て く だ さ い。 まれな ケース と し て、 CFM と UFM の合
計 よ り も 、 コ ン フ ィ グ レーシ ョ ン ・ デー タ のサ イ ズが大 き く な る こ と があ り ます。
MSPI コ ン フ ィ グ レーシ ョ ン ・ モー ド で使用す る コ ン フ ィ グ レーシ ョ ン ・ デー タ の作成には、 EXTERNAL 制
約を使用 し て く だ さ い。 CFM と UFM で使用可能な容量の合計 よ り も 、 コ ン フ ィ グ レーシ ョ ン ・ デー タ が大
き い場合は、 EXTERNAL モー ド に切 り 替え る 必要があ り ます。 EXTERNAL モー ド では、 CFM ま たは UFM リ
ソ ース が ま っ た く 使用 さ れません。 ユーザモー ド で UFM を使用で き ます。
14-32
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
MachXO2-256 デバ イ ス には UFM が内蔵 さ れてい ません。こ のデバ イ ス で使用可能な コ ン フ ィ グ レーシ ョ ン・
オプシ ョ ンは、 CFG モー ド と EXTERNAL モー ド だけです。
USERCODE
MachXO2 コ ン フ ィ グ レーシ ョ ン ・ フ ラ ッ シ ュ セ ク タ ーにはユーザ定義の値を格納す る ための 32 ビ ッ ト レ ジ
ス タ が内蔵 さ れてい ます。 こ の レ ジ ス タ に格納 さ れ る デフ ォ ル ト 値は 0x00000000 です。 USERCODE 制約を
使用す る と 、 こ の レ ジ ス タ に任意の値を割 り 当て る こ と がで き ます。推奨す る 用途 と し ては、 コ ン フ ィ グ レー
シ ョ ン ・ デー タ のバージ ョ ン番号、 製造元 ID コ ー ド 、 組み立ての日付、 JEDEC フ ァ イ ルのチ ェ ッ ク サム な
ど があ り ます。
USERCODE フ ィ ール ド の形式は、 USERCODE_FORMAT 制約を使用 し て制御 さ れます。 デー タ 入力は、 2 進、
16 進、 ASCII のいずれの形式で も 可能です。
USERCODE_FORMAT
USERCODE_FORMAT 制約では USERCODE 制約で値の割 り 当てに使用す る デー タ フ ィ ール ド の形式を選択
し 、 次の 3 つのオプシ ョ ンがあ り ます。
• Binary (2 進) ~ 32 個の '1' ま たは '0' 文字を使用 し て、 USERCODE を設定 し ます
• Hex (16 進) ~ 8 個の 16 進数 (0 ~ 9、 A ~ F) を使用 し て、 USERCODE を設定 し ます
• ASCII ~ 4 個の ASCII 文字を使用 し て、 USERCODE を設定 し ます
CUSTOM_IDCODE
CUSTOM_IDCODE 制 約 は フ ィ ー チ ャ 行 内 に あ る 32 ビ ッ ト レ ジ ス タ の 割 り 当 て に 使 用 さ れ ま す。
CUSTOM_IDCODE フ ィ ール ド がア ク テ ィ ブ と な る のは、 MY_ASSP 制約が ON ス テー ト の場合だけです。 割
り 当て る 値は、CUSTOM_IDCODE_FORMAT制約に従っ て、2 進ま たは 16 進で入力で き ます。CUSTOM_IDCODE
制約への値の割 り 当ての詳細については、 「MY_ASSP」 の項を参照 し て く だ さ い。
CUSTOM_IDCODE_FORMAT
CUSTOM_IDCODE_FORMAT 制約では CUSTOM_IDCODE 制約での値の割 り 当てに使用す る デー タ の形式を選
択 し 、 次の 2 つのオプシ ョ ンがあ り ます。 s:
• Binary (2 進) ~ 32 個の '1' ま たは '0' 文字を使用 し て、 CUSTOM_IDCODE を設定 し ます
• Hex (16 進) ~ 8 個の 16 進数 (0 ~ 9、 A ~ F) を使用 し て、 CUSTOM_IDCODE を設定 し ます
SHAREDEBRINIT
に設定す る と 、 こ の設計制約に よ っ て固有の メ モ リ 初期化フ ァ イ ルを 1 つ、 フ ラ ッ シ ュ メ モ リ に格納で き ま
す。 こ の初期化値は複数の EBR 間で共有で き ます。 そ う す る こ と で、 デザ イ ンのビ ッ ト ス ト リ ーム ・ サ イ ズ
が縮小 さ れ、 UFM 容量が節約 さ れて、 他のアプ リ ケーシ ョ ンに利用で き る よ う にな り ます。
MAX_CONFIGURATION_PORTS
( 英語版オ リ ジナル記述を次版で改訂の予定のため、 割愛 し ます。 )
14-33
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
セキ ュ リ テ ィ オプシ ョ ン
セキ ュ リ テ ィ オプシ ョ ンでは、MachXO2 デバ イ ス の ト ラ ッ キ ン グ と セキ ュ リ テ ィ 保護用の様々なオプシ ョ ン
を選択で き ます。 表 14-18 はそれ ら を ま と めた も のです。
表 14-18. セキ ュ リ テ ィ オプシ ョ ン
オプ シ ョ ン名
TRACEID
デ フ ォル ト 設定
<all zero>
全設定値
8-bit arbitrary
MY_ASSP
OFF
OFF, ON
CONFIG_SECURE
OFF
OFF, ON
ONE_TIME_PROGRAM
OFF
OFF, FLASH, FLASH_UFM, FLASH_UFM_SRAM
TRACEID
MachXO2 では TraceID と 呼ばれ る新機能が導入 さ れま し た。 TraceID では、 MachXO2 ご と に固有の 64 ビ ッ
ト ID が付け ら れます。 2 つの MachXO2 デバ イ ス に同 じ コ ン フ ィ グ レーシ ョ ン ・ デー タ が ロ ー ド さ れて も 、
任意の 2 デバ イ ス が同 じ TraceID 値を持つ こ と はあ り ません。 こ の点が コ ン フ ィ グ レーシ ョ ン ・ デー タ 内に
あ る USERCODE と は異な っ てい ます。 USERCODE を使用 し て コ ン フ ィ グ レーシ ョ ン ・ デー タ を受け取 る 各
デバ イ ス は、 同 じ USERCODE 値を持ち ます。
TraceID は長 さ が 64 ビ ッ ト で、 下位 56 ビ ッ ト は変更不可のデー タ と な っ てい ます。 こ の 56 ビ ッ ト は、 ウ ェ
ハの ロ ッ ト 、 ウ ェ ハ番号、 及び ウ ェ ハ上のダ イ 位置を示す X/Y 座標を組み合わせた も のです。 最上位の 8
ビ ッ ト はユーザが指定 し 、 フ ィ ーチ ャ 行に格納 さ れます。 TraceID は、 Diamond の Spreadsheet View を使用 し
て変更 し ます。 TraceID フ ィ ール ド に固有の 8 ビ ッ ト 2 進値を入力 し 、 コ ン フ ィ グ レーシ ョ ン ・ デー タ を生
成 し て く だ さ い。
TraceID 機能の詳細については、 "TN1207, Using TraceID in MachXO2 Devices (MachXO2 の TraceID の使用)
" を ご参照 く だ さ い。
MY_ASSP
ラ テ ィ ス の全てのデバ イ ス は、 デバ イ ス フ ァ ミ リ 、 デバ イ ス規模、 及びその他のパ ラ メ ー タ (電圧、 デバ イ
ス ス テ ッ ピ ン グ な ど) を識別す る 固有の ID コ ー ド を持っ てい ます。 こ の コ ー ド には、 MachXO2 の コ ン フ ィ
グ レーシ ョ ン ・ ポー ト か ら ア ク セ ス で き ます。 IDCODE レ ジ ス タ に格納 さ れた値か ら は、 ラ テ ィ ス のデバ イ
ス を一意に識別で き ます。
MY_ASSP 制約では、MachXO2 か ら IDCODE コ ー ド を読み取っ た場合に返 さ れ る値を変更で き ます。MY_ASSP
制約を ON に設定す る と 、 CUSTOM_IDCODE 制約が イ ネーブル さ れます。
CUSTOM_IDCODE
CUSTOM_IDCODE は MachXO2 デバ イ ス のデフ ォ ル ト の IDCODE を上書 き す る ために割 り 当て る 値です。
MY_ASSP 制約が ON の場合に入力で き る のは、 32 ビ ッ ト の 16 進ま たは 2 進値だけです。
IDCODE を上書 き す る と 、 ラ テ ィ ス のプ ロ グ ラ ミ ン グ ・ ソ フ ト ウ ェ アが MachXO2 デバ イ ス を識別で き な く
な り 、 その結果 Programmer で MachXO2 デバ イ ス を直接プ ロ グ ラ ムで き な く な り ます。 MY_ASSP が イ ネーブ
ル さ れた MachXO2 デバ イ ス をプ ロ グ ラ ムす る には、 SVF (Serial Vector Format) フ ァ イ ルが生成 さ れ る よ う
マ イ グ レーシ ョ ンす る 必要があ り ます。
CONFIG_SECURE
こ の設計制約を ON に設定す る と 、SRAM メ モ リ 及び CFM の リ ー ド バ ッ ク がブ ロ ッ ク さ れます。UFM の リ ー
ド バ ッ ク は、 ビ ッ ト ス ト リ ームが UFM ブ ロ ッ ク にオーバフ ロ ー し た場合 も ブ ロ ッ ク さ れます。 消去 し ない
限 り 、 MachXO2 デバ イ ス を リ ー ド バ ッ ク す る こ と も 、 プ ロ グ ラ ムす る こ と も で き な く な り ます。 セ キ ュ リ
14-34
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
テ ィ 設定を リ セ ッ ト す る には、 デバ イ ス を消去す る 必要があ り ます。 CONFIG_SECURE ヒ ュ ーズ と CFM は、
連動 し て消去 さ れます。 セキ ュ リ テ ィ ヒ ュ ーズ を リ セ ッ ト す る と 、 デバ イ ス を再びプ ロ グ ラ ムで き ます。
ONE_TIME_PROGRAM
MachXO2 には OTP (One Time Programmable、 ワ ン タ イ ム ・ プ ロ グ ラ マブル) ヒ ュ ーズがあ り 、 オンチ ッ プ
メ モ リ の消去ま たはプ ロ グ ラ ムの防止に使用で き ます。 MachXO2 デバ イ ス には、 それぞれが SRAM、 CFM、
及び UFM の各 メ モ リ セ ク タ に対応 し た 3 つの OTP があ り ます。 こ の設計制約に よ っ て、 各 メ モ リ セ ク タ に
OTP セキ ュ リ テ ィ を設定す る こ と がで き ます。
• FLASH ~ CFM を消去ま たはプ ロ グ ラ ムで き ません
• FLASH_UFM ~ CFM と UFM を消去ま たはプ ロ グ ラ ムで き ません
• FLASH_UFM_SRAM ~ CFM、 UFM、 及び SRAM を消去ま たはプ ロ グ ラ ムで き ません
フ ラ ッ シ ュ メ モ リ の ONE_TIME_PROGRAM 制約が設定 さ れ る と 、 内部フ ラ ッ シ ュ メ モ リ を消去ま たはプ ロ グ
ラ ムで き な く な り ます。 コ ン フ ィ グ レーシ ョ ン ・ デー タ の変更が防止 さ れますが、 SDM モー ド を使用 し てデ
バ イ ス を コ ン フ ィ グ レーシ ョ ンす る こ と は可能です。
ONE_TIME_PROGRAM 機能制約が FLASH_UFM_SRAM メ モ リ に設定 さ れ る と 、デバ イ ス は ASIC の よ う な動作
にな り ます。 内蔵フ ラ ッ シ ュ ま たは UFM を再プ ロ グ ラ ムで き な く な り 、 JTAG ポー ト か ら SRAM を変更で き
な く な り ます。 その状態で も 、 内部フ ラ ッ シ ュ メ モ リ ま たは外部 SPI フ ラ ッ シ ュ か ら の SRAM の コ ン フ ィ グ
レーシ ョ ンは可能です。
デバ イ ス の ウ ェ イ ク ア ッ プ ・ シーケ ン ス
コ ン フ ィ グ レーシ ョ ンが完了す る と (SRAM が ロ ー ド さ れ る と )、 デバ イ ス は予測可能な方法で ウ ェ イ ク ア ッ
プ し ます。 MachXO2 デバ イ ス がチ ェーン内の唯一のデバ イ ス、 ま たはチ ェーン内の最後のデバ イ ス と な っ て
い る 場合、 コ ン フ ィ グ レーシ ョ ン の完了に よ っ て ウ ェ イ ク ア ッ プ ・ プ ロ セ ス が起動 さ れ る 必要があ り ま す。
コ ン フ ィ グ レーシ ョ ンが完了す る と 、 内部 DONE ビ ッ ト が設定 さ れ、 ウ ェ イ ク ア ッ プ ・ プ ロ セ ス が開始 さ れ
ます。 図 14-14 に、 内部 ク ロ ッ ク を使用 し た ウ ェ イ ク ア ッ プ ・ シーケ ン ス を示 し ます。
図 14-14. 内部 ク ロ ッ ク を使用 し た ウ ェ イ ク ア ッ プ ・ シーケ ン ス
MCLK
DONE BIT
GLOBAL OUTPUT ENABLE
GLOBAL SET/RESET
GLOBAL WRITE DISABLE
DONE PIN
T0
T1
T2
T3
ウ ェ イ ク ア ッ プ信号
3 つの内部信号 GSR、 GWDIS、 GOE に よ っ て ウ ェ イ ク ア ッ プ ・ シーケ ン ス が決ま り ます。
• GSR はデバ イ ス の コ アの設定 と リ セ ッ ト に使用 さ れます。 GSR は コ ン フ ィ グ レーシ ョ ン中にアサー ト さ
14-35
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
れ (Low)、 ウ ェ イ ク ア ッ プ ・ シーケ ン ス でネゲー ト さ れます (High)。
• GWDIS 信号が Low の と き は、 デバ イ ス内の RAM ブ ロ ッ ク と LUT の整合性が保全 さ れます。 デバ イ ス の
ウ ェ イ ク ア ッ プ前、 こ の信号は Low にな っ てい ます。 こ の制御信号は、 デバ イ ス のプ ラ イ マ リ 入力ピ ン
を制御 し ませんが、 EBR 及び LUT の特定の制御ポー ト を制御 し ます。
• GOE 信号 が Low の と き は、 デバ イ ス の I/O バ ッ フ ァ が ピ ン を ド ラ イ ブで き な く な り ます。 GOE は出力
ピ ン だけ を制御 し ます。 内部 DONE ビ ッ ト がアサー ト さ れ る と 、 MachXO2 は入力デー タ に応答す る よ う
にな り ます。
• DONE ピ ンが High の と き は、 コ ン フ ィ グ レーシ ョ ンが完了 し 、 エ ラ ーが検出 さ れなか っ た こ と を示 し ま
す。
ウ ェ イ ク ア ッ プ ・ ク ロ ッ ク の選択
ウ ェ イ ク ア ッ プ ・ シーケ ン ス中の 4 つの ス テー ト 遷移を完了 さ せ る ク ロ ッ ク ソ ース は、 ユーザが選択可能で
す。 MachXO2 は、 コ ン フ ィ グ レーシ ョ ンが終わ る と ウ ェ イ ク ア ッ プ ・ ス テー ト にな り 、 コ ン フ ィ グ レーシ ョ
ン ・ モー ド か ら ユーザモー ド に移行 し ます。 こ のシーケ ン ス は ク ロ ッ ク ソ ース と 同期 し ますが、 デフ ォ ル ト
の ク ロ ッ ク ソ ース は sysCONFIG 使用時に MCLK/CCLK、 JTAG 使用時に TCK にな り ます。
Verilog ま たは VHDL 内で START マ ク ロ を イ ン ス タ ン ス化す る こ と で、 ウ ェ イ ク ア ッ プで使用 さ れ る ク ロ ッ
ク が変更で き ます。 MachXO2 は ウ ェ イ ク ア ッ プ ・ シーケ ン ス が完了す る ま で内部動作を開始 し ないため、 こ
の ク ロ ッ ク は外部入力ピ ンか ら 供給す る 必要があ り ます。 デバ イ ス が最後の 4 つの ス テー ト 遷移を実行可能
にな っ た こ と は、 外部に示 さ れませんので、 フ リ ー ラ ン ク ロ ッ ク 周波数を指定す る か、 デバ イ ス が ウ ェ イ ク
ア ッ プ可能にな っ た こ と が保証 さ れ る ま で待つ し かあ り ません。 START マ ク ロ を使用す る こ と で、 1 つま た
は複数のプ ロ グ ラ マブルデバ イ ス の コ ン フ ィ グ レーシ ョ ンが完了 し てか ら 、 それ ら のデバ イ ス を同期 し て起
動す る ための も う 1 つの メ カ ニズ ムが得 ら れます。
Verilog
module START (STARTCLK);
input STARTCLK;
endmodule
START u1 (.STARTCLK(<clock_name>)) /* synthesis syn_noprune=1 */;
VHDL
COMPONENT START
PORT(
STARTCLK
: IN STD_ULOGIC
);
END COMPONENT;
attribute syn_noprune: boolean ;
attribute syn_noprune of START: component is true;
begin
u1: START port map (STARTCLK =><clock name>);
コ ン フ ィ グ レーシ ョ ンの詳細について
フ ラ ッ シュ ・ プロ グ ラ ミ ング
MachXO2 の内蔵フ ラ ッ シ ュ メ モ リ は、 こ のデバ イ ス の コ ン フ ィ グ レーシ ョ ン ・ シ ス テ ムの心臓部です。 柔軟
で、 デバ イ ス の コ ン フ ィ グ レーシ ョ ン ・ デー タ を格納で き 、 デザ イ ン固有のデー タ を UFM に格納で き ます。
正確な消去 と プ ロ グ ラ ミ ン グのシーケ ン ス を必要 と す る リ ソ ース で も あ り ます。 ラ テ ィ ス では、 MachXO2 フ
ラ ッ シ ュ メ モ リ のプ ロ グ ラ ミ ン グ用にい く つかの方法を用意 し てい ます。
14-36
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
• Diamond Programmer (プ ロ グ ラ マ) : JTAG ま たは SSPI のプ ロ グ ラ ミ ン グ
• VMEmbedded : JTAG ポー ト を制御す る 組み込みマ イ ク ロ プ ロ セ ッ サで使用す る 'C' ソ ース コ ー ド
• SSPIEmbedded : SSPI ポー ト を制御す る 組み込みマ イ ク ロ プ ロ セ ッ サで使用す る 'C' ソ ース コ ー ド
• Custom : こ の項で説明す る 内容、 及び "TN1246, Using User Flash Memory and Hardened Control Functions
in MachXO2 Devices Reference Guide (MachXO2 デバ イ ス の UFM と ハー ド マ ク ロ 制御機能の使用法 リ フ ァ
レ ン ス ガ イ ド ) " の説明に従 う と 、 カ ス タ ム ・ ソ リ ュ ーシ ョ ン を作成で き ます。
フ ラ ッ シ ュ メ モ リ 空間には、 JTAG ポー ト 、 I2C ポー ト 、 SPI ポー ト 、 ま たは WISHBONE バ ス か ら ア ク セ ス で
き ます。 こ れ ら の コ ン フ ィ グ レーシ ョ ン ・ ポー ト をオ フ ラ イ ン ま たは透過プ ロ グ ラ ミ ン グモー ド で使用す る
と 、MachXO2 フ ラ ッ シ ュ メ モ リ ・ リ ソ ース を消去 / プ ロ グ ラ ム / ベ リ フ ァ イ で き ます。WISHBONE イ ン タ ー
フ ェ イ ス では、 透過プ ロ グ ラ ミ ン グ動作のみを使用で き ます。 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク に渡す コ マ
ン ド のシーケ ン ス と タ イ ミ ン グは、 全ての コ ン フ ィ グ レーシ ョ ン ・ ポー ト で同一です。 コ マ ン ド 及びデー タ
を送信す る と き の通信プ ロ ト コ ル規格に よ る 違いは多少あ り ます。 最初に、 全ての コ ン フ ィ グ レーシ ョ ン ・
ポー ト で共通の コ マ ン ド と タ イ ミ ン グ フ ロ ーについて説明 し ます。 その後、 プ ロ ト コ ルの違いについて説明
し ます。
それぞれの MachXO2 には、 一定量の CFM と UFM が内蔵 さ れてい ます。 こ の メ モ リ サ イ ズは MachXO2 のデ
バ イ ス規模に よ っ て異な り ます。 図 14-19 に各規模の MachXO2 デバ イ ス で使用可能な フ ラ ッ シ ュ メ モ リ の
ページ数を示 し ます。 各ページは 128 ビ ッ ト のデー タ よ り な り ます。
表 14-19. MachXO2 フ ァ ミ リ のフ ラ ッ シ ュ メ モ リ のページ数
MachXO2 デバイ ス規模
CFM (ページ数)
UFM (ページ数)
CFG + UFM 連結 1
(使用可能なページ数)
7000
9,212
2,048
11,257
4000, 2000U
5,758
768
6,524
2000, 1200U
3,198
640
3,836
1200, 640U
2,175
512
2,686
640
1,151
192
1,342
256
575
0
575
1. デバ イ ス の制限に よ り 、 CFG+UFM (CONFIGURATION = CFGUFM) のページ数は各部の合計 よ り も 小 さ く な る こ と があ
り ます
MachXO2 JEDEC の JEDEC フ ァ イ ル形式
ラ テ ィ ス の全ての不揮発性デバ イ ス は JEDEC フ ァ イ ルに対応 し てい ます。開発 ソ フ ト ウ ェ アに含まれ る ユー
テ ィ リ テ ィ を使用す る と 、 JEDEC フ ァ イ ルを STAPL、 SVF、 ビ ッ ト ス ト リ ーム (16 進ま たは 2 進) な ど他の
プ ロ グ ラ ミ ン グ フ ァ イ ル形式に変換で き ます。 JEDEC フ ァ イ ルに関連す る 詳細情報について、 次の表で詳 し
く 説明 し ます。
表 14-20. MachXO2 JEDEC フ ァ イ ル形式
JEDEC フ ィ ール ド
文法
記 述
Don’t Care ( ド ン ト ケア)
My design
^B (Control-B、 0x02) 文字よ り も前にある文字は無視。 こ こ には、 ^B を
除 く 全ての文字セ ッ ト または内部言語を使用可能
Start-of-text
(テキス ト の先頭)
^B
^B は JEDEC フ ァ イルの開始を示す。 ^B の後ろは ASCII 文字のみ有効。 文
字 "*" は JEDEC フ ィ ール ド の終わ り を示すデ リ ミ タ 。 CR 及び LF は、
JEDEC フ ァ イルでは通常の空白 と し て扱われ、 デ リ ミ タ 機能を持たない
Header (ヘ ッ ダ)
My design
最初のフ ィ ール ド は、 開始を示す識別子を持たないヘ ッ ダ。 ^B の後ろは
ASCII 文字のみ有効。 ヘ ッ ダはア ス タ リ ス ク文字 "*" で終端 さ れる
Field Terminator (終端)
*
JEDEC フ ァ イル内の各フ ィ ール ド はア ス タ リ ス ク で終端 さ れる
14-37
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
表 14-20. MachXO2 JEDEC フ ァ イ ル形式 (Continued)
JEDEC フ ィ ール ド
文法
記 述
Note ( コ メ ン ト )
NOTE my design
キーワー ド N はコ メ ン ト の開始を示す。 JEDEC フ ァ イル内の任意の位置
に記述で き る。 ラ テ ィ スの JEDEC フ ァ イルでは NOTE と い う 分か り やす
い単語 と な っ ている
Fuse Count ( フ ュ ーズ数)
QF3627736
キーワー ド QF はデバイ スの実際の合計 ヒ ュ ーズ数を示す 1
Default Fuse State
(デ フ ォル ト ・ フ ュ ーズス
テー ト )
F0 or F1
キーワー ド F は、 リ ン ク フ ィ ール ド に含まれていない ヒ ュ ーズの ヒ ュ ー
ズ状態を示す。 F0 = ゼロ (0) で埋め、 F1 =1 で埋める。 JEDEC フ ァ イル
サイ ズ削減のため定義 さ れた も の。 ラ テ ィ スの JEDEC フ ァ イルでは意味
を持たない。 フ ァ イルサイ ズの削減には、 圧縮の使用を推奨する
Security Setting
(セキ ュ リ テ ィ 設定)
G0 or G1
セキ ュ リ テ ィ のプ ログ ラ ミ ング用に JEDEC 標準では G<0,1> が定義 さ れて
いる (0= な し 、 1= あ り )
OTP and Security Setting
(セキ ュ リ テ ィ 設定)
G0, G1, G2, or G3
ラ テ ィ スでは OTP ヒ ュ ーズのプ ログ ラ ミ ングに も対応する ため、 G
フ ィ ール ド を拡張 し た。 G<0= ど ち ら も な し 、 1= セキ ュ リ テ ィ のみあ り 、
2=OTP のみあ り 、 3= ど ち ら も あ り >
キーワー ド L は、 空白の後に続 く ヒ ュ ーズパ タ ーンの先頭 ヒ ュ ーズア ド
レ ス を示す。 L キーワー ド に続 く 、 こ こ に示 さ れた桁数は、 QF フ ィ ール
ド と 一致 し ている こ と 。 こ の例では QF3627736 が 7 桁である ため、
L0000000 には 7 個の 0 が必要。
従来、 ヒ ュ ーズア ド レ スは 0 から カ ウン ト し ていた。
Link Field
( リ ン ク フ ィ ール ド )
L0000000
101011…100011
…………………..
111111…101100
110
101011…100011
…………………..
111111…101100
110
……..
……..
101011…100011
…………………..
111111…101100
110*
NOTE SED_CRC*
L3627704
111111….111111*
CC1B9
リ ン ク フ ィ ール ド にはプ ログ ラ ミ ング ・ パ タ ーンが格納 さ れ、 JEDEC
フ ァ イルで最も 重要な部分である。 シ リ コ ンの物理ア レ イ ・ レ イ アウ ト が
正確に再現 さ れる よ う 、 プ ログ ラ ミ ングデー タ がこ のフ ィ ール ド に書き込
まれる。
行ア ド レ スは、 昇順で上から 下に書き込まれる。
先頭 = 行 0、 末尾 = 最終行
列ア ド レ スは、 昇順で左から 右に書き込まれる。
左端 = ビ ッ ト 0、 右端 = 最終ビ ッ ト
INIT_ADDRESS コ マ ン ド では行 0 が最初に選択 さ れる。 プ ログ ラ ミ ングの
ためデバイ スに最初にシ フ ト イ ン さ れる ビ ッ ト はビ ッ ト 0。 ベ リ フ ァ イ時
にデバイ スから 最初にシ フ ト アウ ト さ れる ビ ッ ト も ビ ッ ト 0。
CFM デー タ の末尾は "NOTE END CONFIG DATA*" で示 さ れる。 全て '0' 値
を含んだページデー タ を プ ログ ラ ムする必要はない。
UFM ページが JEDEC 内にある場合は、 その前に "NOTE TAG DATA*" 行
が付 く 。
JEDEC フ ァ イルが暗号化 さ れる場合は、 リ ン ク フ ィ ール ド 内の全デー タ
が暗号化 さ れる。 列サイ ズパケ ッ ト (パケ ッ ト あた り 128 ビ ッ ト または
16 バイ ト ) の境界を示すよ う フ ィ ラ ービ ッ ト を含める と 、 列サイ ズが増
加する
Fuse Checksum
(フ ュ ーズチ ェ ッ クサム)
CC1B9
ヒ ュ ーズのチ ェ ッ ク サム = ヒ ュ ーズ数。 全ての ヒ ュ ーズの ヒ ュ ーズ状態は
リ ン ク フ ィ ール ド で確認で き る。 リ ン ク フ ィ ール ド に指定 さ れていない場
合は、 その位置にあるデ フ ォル ト ・ ヒ ュ ーズ状態を使用する。 JEDEC
フ ァ イルが暗号化 さ れる場合は、 暗号化後に ヒ ュ ーズ ・ チ ェ ッ ク サムが計
算 さ れる。 暗号化前の ヒ ュ ーズ ・ チ ェ ッ ク サムは、 いずれかのコ メ ン ト に
ある
U Field
(U フ ィ ール ド )
UA Home
32 ビ ッ ト USERCODE はこ こ に格納 さ れる。 32 ビ ッ ト USERCODE は UA =
ASCII、 UH = ASCII Hex、 U = Binary で表現で き る。 暗号化 さ れた JEDEC2
の CRC 値を格納で き る よ う 、 ラ テ ィ スは こ の フ ィ ール ド を拡張 し た 2
EH 012..ABCDEF
JEDEC 規格の規定では、 こ のフ ィ ール ド にアーキテ ク チ ャ ・ ヒ ュ ーズが
格納 さ れる。 ラ テ ィ スは こ のフ ィ ール ド を、 フ ィ ーチ ャ 行及び FEABITS
の格納に使用する。 フ ィ ーチ ャ 行デー タ は先頭行に置かれる。 FEABITS
値は行 2 にある
E Field
(E フ ィ ール ド )
End-of-text (テキス ト 末尾) ^C
^C (CTLC) は JEDEC フ ァ イルの末尾を示す
14-38
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
表 14-20. MachXO2 JEDEC フ ァ イ ル形式 (Continued)
JEDEC フ ィ ール ド
Transmission Checksum
(送信のチ ェ ッ クサム)
文法
ABCD
記 述
^B から ^C ま でのフ ァ イル全体のチ ェ ッ クサム。 チ ェ ッ クサム計算には、
^B 及び ^C を含む全ての文字 と 空白が含まれる
1. 暗号化 JEDEC フ ァ イ ルでは、 USERCODE の最初の 16 ビ ッ ト は行 0 のみか ら 計算 さ れた CRC 値で、 2 番目の 16 ビ ッ ト が
行 0 か ら 最終行ま でで計算 さ れた CRC 値 と な り ます
MachXO2 の非暗号化 JEDEC フ ァ イ ルの例を、 図 14-15 に示 し ます。
図 14-15. 非暗号化 JEDEC フ ァ イ ルの例
*
NOTE Diamond_1.2_Production (92) JEDEC Compatible Fuse File.*
NOTE Copyright (C), 1992-2010, Lattice Semiconductor Corporation.*
NOTE All Rights Reserved.*
NOTE DATE CREATED:Fri Dec 02 14:50:08 2011*
NOTE DESIGN NAME:control_SoC_demo_impl1.ncd*
NOTE DEVICE NAME:LCMXO2-1200ZE-1CSBGA132ES*
NOTE TRACEID 0x84*
NOTE LVDS_72P M9*
NOTE LVDS_72N N10*
NOTE LVDS_68P P8*
NOTE LVDS_68N M8*
NOTE PIN ASSIGNMENTS*
NOTE PINS cap_btn1 : M10 : inout*
NOTE PINS LCD_COM0 : B14 : out*
NOTE PINS xout : N7 : out*
...
NOTE PINS xin : M5 : in*
NOTE PINS Icc_analog_cmp_p : P8 : in*
QP132*
QF343936*
G0*
F0*
L000000
11111111111111111011110110110011111111111111111100111011000000000000000000000000000000100000000000000000000000000011000000000110
01000010010100001001000001001000000010011111111101000110000000000000000000000000101110001110000000000001010011010000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000010001000100010000000000001000100000000000010001000000000000100010000000001000100010001000000100010000001000100000000
01000100010001000000100010000000000000000001000100000000000000000000000000000000000000000000100010001001000000000000010010000000
00000010010000000000000100100000000001000100010010000000100100000001001000000000010001000100100000001001000000000000000000010010
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
...
00000000000000000000000000000000000000001011110101101010111111111111111111111111111111111111111111111111111111111111111101110010
00010000010000000000010111000000000000000001100000000000000000000111001000010000010101000000101000000000100000000000000100001001
11111110000000000000000000000000000000000000000011000010100000000000000000000000110010101111111010111010101111101111000101000100
00100010000000000000000000000000110000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111
*
NOTE EBR_INIT DATA*
L137984
11111111111111111111111111111111111101100000000000000000000000000000000000000000000110000000000010110010000100000000000010000000
00011110100011110100011110100011110100011110100011110100011110100011110100011110100011110100011110100011110100011110100011110100
01111010001111010001111010001111010001111010001111010001111010001111010001111010001111010001111010001111010001111010001111010001
...
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00100010000000000000000000000000000000000000000000000000000000000101111000000000000000000000000011111111111111111111111111111111
*
NOTE END CONFIG DATA*
L184832
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
...
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
*
NOTE TAG DATA*
L343808
01000100010001000000100010000000000000000001000100000000000000000000000000000000000000000000100010001001000000000000010010000000
00000010010000000000000100100000000001000100010010000000100100000001001000000000010001000100100000001001000000000000000000010010
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
14-39
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
*
C5CC8*
NOTE FEATURE_ROW*
E0000000000000000000000000000000000100001000010000000000000000000
0000010000000000*
NOTE User Electronic Signature Data*
UHCAFEBABE*
6243
MachXO2 の フ ラ ッ シ ュ メ モ リ ・ プ ロ グ ラ ミ ン グ フ ロ ー
MachXO2 の フ ラ ッ シ ュ メ モ リ の消去 と プ ロ グ ラ ミ ン グには、 特定の一連の ス テ ッ プ と タ イ ミ ン グが必要で
す。 こ の項の フ ロ ーチ ャ ー ト は、 フ ラ ッ シ ュ を正 し く プ ロ グ ラ ミ ン グす る ために必要な コ マ ン ド シーケ ン ス
と タ イ ミ ン グ を示 し てい ます。 コ マ ン ド と タ イ ミ ン グは、 全ての コ ン フ ィ グ レーシ ョ ン ・ ポー ト で共通です。
タ イ ミ ン グ と は異な り 、 使用す る コ ン フ ィ グ レーシ ョ ン ・ ポー ト に よ っ ては、 プ ロ ト コ ルに多少の違いがあ
り ます。 例外については、 コ ン フ ィ グ レーシ ョ ン ・ ポー ト ご と の項で説明 し ます。
14-40
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
図 14-16. MachXO2 のフ ラ ッ シ ュ メ モ リ ・ プ ロ グ ラ ミ ン グ フ ロ ー
Start
Check
Device ID?
No
Yes
Transmit Read ID
Command (0xE0)
Read 32 ID Bits
ID
Match?
No
Stop
Yes
Delay
5 µs
No
Check
Busy?
Transmit Enable
Configuration Interface Yes
(Transparent Mode)
Command (0x74)
Transparent
Configuration?
No
Transmit Enable
Configuration
Interface (Offline Mode)
Command (0xC6)
Yes
Transmit Read Busy
Flag (0xF0) or Read
Status Register
Command (0x3C)
Check
Busy?
No
Delay
5 µs
Yes
Busy?
No
No
Yes
Busy?
Transmit Read Busy
Flag (0xF0) or Read
Status Register
Command (0x3C)
Yes
Erase Flash
CF/UFM/FR (0x0E)
Transmit Read Busy
Flag (0xF0) or Read
Status Register
Command (0x3C)
Yes
Busy?
Note: Do not use fixed delays for the Flash erase sequence.
No
Transmit
Read Status Register
Command (0x3C)
Fail?
Yes
Exit
No
1
14-41
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
1
Program
No
Configuration
Flash?
Yes
Transmit Reset
Configuration Address
(0x46) or Set Address
Command (0xB4)
Transmit PROGRAM
command and
128 Bits of Data
Check
Busy?
No
Delay
200 µs
Yes
Transmit
Read Busy Flag or
Read Status Register
Command
Yes
Busy?
No
Compare Row Count
No
Last Row?
Yes
Transmit Reset
UFM Address (0x46)
or Set Address
Command (0xB4)
Yes
Program
UFM?
No
2
14-42
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
2
No
Program
Usercode?
Yes
Transmit Program USERCODE with Data (0xC2)
No
Check
Busy?
Delay
200 µs
Yes
Transmit Read Busy
Flag (0xF0) or Read
Status Register
Command (0x3C)
Yes
Busy?
No
Transmit Read Status
Register Command (0x3C)
Fail?
Yes
Clean
Up
No
Clean
Up
No
No
Verify
Usercode?
Yes
Transmit Read USERCODE Command (0xC0)
Usercode
OK?
Yes
Verify
Configuration
Flash?
No
Yes
Transmit Reset Configuration Address (0x46)
or Set Flash Address
Command (0xB4)
(Contined on
Next Page)
3
14-43
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
14-44
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
14-45
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
5
Write
Security
Bit?
No
Yes
Transmit
Program SECURITY
(0xCE) or SECURITY
PLUS Command (0xCF)
Check
Busy?
No
Delay
200 µs
Yes
Transmit Read Busy
Flag (0xF0) or Read
Status Register
Command (0x3C)
Yes
Busy?
No
Program
OTP Fuses?
Transmit Program
OTP Command (0xF9)
Transmit Read Busy
Flag (0xF0) or Read
Status Register
Command (0x3C)
Yes
Busy?
No
Verify
OTP Fuses?
No
Yes
Transmit Read
OTP Command (0xFA)
OTP
Fuses OK?
No
Clean Up
Yes
6
14-46
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
1. リフレッシュの成功(BUSY = 0, DONE = 1, Configuration Check Status bits = 000)。リードステータス等詳細は TN1246 を参照
14-47
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
MachXO2 のプ ロ グ ラ ミ ン グ コ マ ン ド
表 14-21. MachXO2 sysCONFIG のプ ロ グ ラ ミ ン グ コ マン ド
コマン ド名
[SVF Synonym]
コ マ ン ド オペ ラ ン ド
ラ イ ト デー タ
リ ー ド デー タ
00 00 00
N/A
YY YY YY YY
0x74
08 00 001
N/A
N/A
透過モー ド でのデバイ ス ・ プ ログ ラ ミ ング用に コ 1
ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク を イ ネーブルする
Enable Configuration Interface
(Offline Mode)
[ISC_ENABLE]
0xC6
08 00 001
N/A
N/A
オ フ ラ イ ン モー ド でのデバイ ス ・ プ ログ ラ ミ ング
用に コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク を イ ネーブ
1
ルする
Read Busy Flag
[LSC_CHECK_BUSY]
0xF0
00 00 00
N/A
YY
Bit
7
1
Busy
0
Ready
Read Status Register
[LSC_READ_STATUS]
0x3C
00 00 00
N/A
YY YY YY YY
Bit
12
13
1
Busy
Fail
0
Ready
OK
Read Device ID
[IDCODE_PUB]
0xE0
Enable Configuration Interface
(Transparent Mode)
[ISC_ENABLE_X]
注
YY 文字は、 デバイ ス固有の ID コ ー ド を表す
Erase
[ISC_ERASE]
0x0E
0Y 00 00
N/A
N/A
Y = 消去する メ モ リ 空間。 Y はビ ッ ト 単位の OR
(1 = イ ネーブル)
Bit 16 SRAM の消去
Bit 17 フ ィ ーチ ャ行の消去
Bit 18 CFM の消去
Bit 19 UFM の消去
Erase UFM [LSC_ERASE_TAG]
0xCB
00 00 00
N/A
N/A
UFM セ ク タ のみを消去する
Reset Configuration Flash
Address [LSC_INIT_ADDRESS]
0x46
00 00 00
N/A
N/A
CFM セ ク タ の開始位置へのページ ア ド レ ス ・ ポ イ
ン タ を設定する
PP PP フ ィ ール ド の下位 14 ビ ッ ト で指定 さ れた フ
ラ ッ シ ュ ページへのページ ア ド レ ス ・ ポ イ ン タ を
設定する。
Set Address
[LSC_WRITE_ADDRESS]
0xB4
00 00 00
M0 00 PP PP
N/A
'M' フ ィ ール ド は、 ア ク セ ス先のフ ラ ッ シ ュ メ モ リ
空間を定義する
Field
M
0x0
CFM
0x4
UFM
Program Page
[LSC_PROG_INCR_NV]
0x70
00 00 01
YY * 16
N/A
フ ラ ッ シ ュの 1 ページ を プ ログ ラ ムする。 CFM ま
たは UFM のプ ログ ラ ムに使用可能
Reset UFM Address
[LSC_INIT_ADDR_UFM]
0x47
00 00 00
N/A
N/A
UFM セ ク タ の開始位置へのページ ア ド レ ス ・ ポ イ
ン タ を設定する
Program UFM Page
[LSC_PROG_TAG]
0xC9
00 00 01
YY * 16
N/A
UFM の 1 ページ を プ ログ ラ ムする
Program USERCODE
[ISC_PROGRAM_USERCODE]
0xC2
00 00 00
YY * 4
N/A
USERCODE を プ ログ ラ ムする
Read USERCODE
[USERCODE]
0xC0
00 00 00
N/A
YY * 4
Write Feature Row
[LSC_PROG_FEATURE]
0xE4
00 00 00
YY * 8
N/A
Read Feature Row
[LSC_READ_FEATURE]
0xE7
00 00 00
N/A
YY * 8
Write FEABITS
[LSC_PROG_FEABITS]
0xF8
00 00 00
YY * 2
N/A
Read FEABITS
[LSC_READ_FEABITS]
0xFB
00 00 00
N/A
YY * 2
Read Flash
[LSC_READ_INCR_NV]
0x73
M0 PP PP
N/A
32 ビ ッ ト USERCODE 値を取得する
フ ィ ーチ ャ 行ビ ッ ト を プ ログ ラ ムする
フ ィ ーチ ャ 行ビ ッ ト を取得する
ビ ッ ト を プ ログ ラ ムする
ビ ッ ト を取得する
PPPP カ ウン ト ページ を取得する。 PP PP の下位
14 ビ ッ ト のみが使用 さ れる。
" フ ラ ッ シ ュ ペー 'M' フ ィ ール ド は、 フ ラ ッ シ ュ メ モ リ の読み出 し に
ジの読み出 し " 項 使用する コ ン フ ィ グ レーシ ョ ン ・ ポー ト に応 じ て
設定する こ と
を参照
0x0
I2C
0x1
JTAG/SSPI/WB
14-48
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
表 14-21. MachXO2 sysCONFIG のプ ロ グ ラ ミ ン グ コ マン ド (Continued)
コマン ド名
[SVF Synonym]
コ マ ン ド オペ ラ ン ド
ラ イ ト デー タ
Read UFM Flash
[LSC_READ_UFM]
0xCA
M0 PP PP
N/A
Program DONE
[ISC_PROGRAM_DONE]
0x5E
00 00 00
N/A
リ ー ド デー タ
注
PPPP カ ウン ト の UFM ページ を取得する。 ページ
カ ウ ン ト には PP PP の下位 14 ビ ッ ト のみが使用 さ
See " フ ラ ッ シ ュ れる
ページの読み出 し 'M' フ ィ ール ド は、 UFM の読み出 し に使用する コ ン
" on page 14-49 フ ィ グ レーシ ョ ン ・ ポー ト に応 じ て設定する こ と
0x0
I2C
0x1
JTAG/SSPI/WB
N/A
SDM を イ ネーブルする DONE ス テー タ ス ビ ッ ト を
プ ログ ラ ムする
選択 し た メ モ リ 空間をワ ン タ イ ム ・ プ ログ ラ マ ブ
ルにする。 OTP 機能を有効にするには、 対応する
ビ ッ ト を連動 し てセ ッ ト する こ と
Program OTP Fuses
[LSC_PROG_OTP]
0xF9
00 00 00
UCFSUCFS
N/A
Bit
0, 4
1, 5
2, 6
3, 7
1
SRAM OTP
Feature Row
OTP
CF OTP
UFM OTP
0
SRAM Writable
Feature Row
Writable
CF Writable
UFM Writable
ワ ン タ イ ム ・ プ ログ ラ マ ブル (OTP) ヒ ュ ーズの状
態を読み出す
Read OTP Fuses
[LSC_READ_OTP]
0xFA
00 00 00
N/A
UCFSUCFS
Bit
0, 4
1, 5
2, 6
3, 7
1
SRAM OTP
Feature Row
OTP
CF OTP
UFM OTP
0
SRAM Writable
Feature Row
Writable
CF Writable
UFM Writable
オ フ ラ イ ン または透過プ ログ ラ ミ ングモー ド を終
了する。 こ の コ マ ン ド を送信する と 、 オ フ ラ イ ン
モー ド 終了時に MachXO2 が再 コ ン フ ィ グ レーシ ョ
ン さ れる。 Disable コ ン フ ィ グ レーシ ョ ン ・ イ ン
タ ー フ ェ イ ス ・ コ マ ン ド を送信する前に、 コ ン
フ ィ グ レーシ ョ ン SRAM を ク リ ア し てお く こ と
Disable Configuration
Interface
[ISC_DISABLE]
0x26
00 00
N/A
N/A
Bypass [ISC_NOOP]
0xFF
FF FF FF
N/A
N/A
何も 実行せず、 デバイ ス を ウ ェ イ ク ア ッ プする
Refresh
[LSC_REFRESH]
0x79
00 00
N/A
N/A
MachXO2 を強制的に再 コ ン フ ィ グ レーシ ョ ンする。
REFRESH を送信する と 、 PROGRAMN を ド ラ イ ブ
し た場合 と 同様に、 MachXO2 が再コ ン フ ィ グ レ ー
シ ョ ン さ れる
Program SECURITY
[ISC_PROGRAM_SECURITY]
0xCE
00 00 00
N/A
N/A
セキ ュ リ テ ィ ビ ッ ト (CFG セ ク タ を保護) を プ ロ
グ ラ ムする 2
Program SECURITY PLUS
[ISC_PROGRAM_SECPLUS]
0xCF
00 00 00
N/A
N/A
セキ ュ リ テ ィ プ ラ ス (Security Plus) ビ ッ ト を プ ロ
グ ラ ムする (CFM と UFM セ ク タ を保護) 2
Read TraceID code
[UIDCODE_PUB]
0x19
00 00 00
N/A
YY*8
R64 ビ ッ ト の TraceID を読み出す
1. I2C ポー ト 使用時は、 コ マ ン ド のオペ コ ー ド と オペ ラ ン ド の先頭 2 バ イ ト を送信 し ます。 オペ ラ ン ド の最終バ イ ト を送信
し てはいけ ません
2. SECURITY と SECURITY PLUS コ マ ン ド は相互に排他的です
フ ラ ッ シ ュ ページの読み出 し
CFM 及び UFM ページ を読み出すには、 そのための手順が必要です。 CFM 及び UFM ページには、 MachXO2
の任意の コ ン フ ィ グ レーシ ョ ン ・ ポー ト か ら ア ク セ ス で き ます。 JTAG、 SSPI、 WISHBONE の各 コ ン フ ィ グ
レーシ ョ ン ・ ポー ト は、 リ ー ド 動作の実行に関 し て同一の動作 と な り ます。 I2C ポー ト では、 修正 さ れた ア
ク セ ス プ ロ ト コ ルが必要です。 ポー ト ご と のデー タ フ ロ ーの概要を、 図 14-18 に示 し ます。
リ ー ド プ ロ セ ス の開始時には、 リ ー ド フ ラ ッ シ ュ / リ ー ド UFM フ ラ ッ シ ュ ・ コ マ ン ド を送信す る 方法を、 全
ての コ ン フ ィ グ レーシ ョ ン ・ ポー ト が実行 し ます。 コ ン フ ィ グ レーシ ョ ン ・ ロ ジ ッ ク が コ マ ン ド バ イ ト を受
け取 る と 、 MachXO2 は リ ー ド プ ロ セ ス を開始 し ます。 MachXO2 か ら 返 さ れ る 最初のページは、 ページ ア ド
レ ス ・ ポ イ ン タ で決定 さ れます。 単一ページ リ ー ド 動作で、 読み出 さ れ る 最初のページが有効であ る ために
は、 240ns 待たなければな り ません (retrieval delay)。 こ の時間の定義は図 14-17 の よ う に、 コ マ ン ド バ イ ト
14-49
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
の終わ り か ら 第一オペ ラ ン ド バ イ ト の終わ り ま でです。 イ ン タ ー ク ロ ッ ク の速度が遅い場合は、 付加的な遅
延を挿入す る 必要が無い程度に、 時間が経過す る か も し れません。
図 14-17. 単一ぺージ リ ー ド 時の タ イ ミ ン グ遅延 (retrieval delay) 要件
240 ns
min.
CMD
OP1
OP2
OP3
図 14-18. フ ラ ッ シ ュ ページ ・ コ マン ド と デー タ シーケ ン ス
JTAG/SPI/I2C/
WISHBONE Tx Data
CMD +
OPS
JTAG/SPI
WISHBONE RX Data1
P(n)
P(n)
I2C RX Data2
P(n)
1 page
undefined
data
P(n+1) P(n+2)
P(n)
P(n+3)
4
4
dummy P(n+1) dummy P(n+2)
bytes
bytes
P(m)
P(m)
Notes:
1. JTAG/SSPI must transmit data in order to read data back. The data sent by the JTAG/SSPI
master is not specified (i.e. don’t care).
2. The I2C must use RESTART between sending the CMD and reading the data. (Issuing a STOP
terminates a CMD and resets the I2C state machine.)
CMD + OPS = Read Flash or Read UFM Flash command byte + 3 operand bytes.
図 14-18 は複数ページの リ ー ド シーケ ン ス を示 し てい ます。 リ ー ド ページ ま たは リ ー ド UFM ページ ・ コ マ
ン ド が MachXO2 に送信 さ れ、 240ns の遅延後に有効なページデー タ が得 ら れます。 図 14-18 か ら 分か る と お
り 、 全ての イ ン タ ーフ ェ イ ス で一定の遅延後すぐ に、 ページ ア ド レ ス ・ ポ イ ン タ 位置のページが返 さ れます。
全ての コ ン フ ィ グ レーシ ョ ン ・ ポー ト は、 最初のページの最終バ イ ト の転送直後に、 単一ページ リ ー ド を終
了で き ます。 I2C イ ン タ ーフ ェ イ ス は、 リ ー ド フ ラ ッ シ ュ / リ ー ド UFM フ ラ ッ シ ュ のオペ ラ ン ド バ イ ト のみ
が異な っ てい ます。
複数のページ を読み取 る には、 特別な処理が必要です。 複数ページ リ ー ド では、 ページ ア ド レ ス ・ ポ イ ン タ
で選択 し たページが複製 さ れます。 こ の よ う な動作 と な る ため、 ページ カ ウ ン ト は目的のページ数 よ り も 1
大 き く す る 必要があ り ます。 例えば 2 ページ を読み取 る には、 リ ー ド フ ラ ッ シ ュ / リ ー ド UFM フ ラ ッ シ ュ ・
コ マ ン ド に指定す る ページ カ ウ ン ト に、 値 3 を割 り 当て ます。 ページ ア ド レ ス ・ ポ イ ン タ が 0000 の場合、
MachXO2 はページ 0、 ページ 0、 ページ 1 の計 3 ページ を返 し ます。
I2C イ ン タ ーフ ェ イ ス には、 フ ラ ッ シ ュ メ モ リ ・ ページの読み出 し 時に さ ら にオーバヘ ッ ド があ り ます。 図
14-17 を見 る と 、 複数ページ リ ー ド 要求時に どの よ う にデー タ が提示 さ れ る かが分か り ます。 ページ カ ウ ン
ト が 3 で、 ページ ア ド レ ス ・ ポ イ ン タ が 0000 の場合、 I2C イ ン タ ーフ ェ イ ス はページ 0、 未定義の 16 バ イ
ト 、ページ 0、 ダ ミ ーの 4 バ イ ト 、ページ 1 を返 し ます。最後のダ ミ ー 4 バ イ ト の読み出 し はオプシ ョ ンです。
参照資料
• MachXO2 Family Data Sheet
• TN1205, Using User Flash Memory and Hardened Control Functions in MachXO2 Devices
• TN1207, Using TraceID in MachXO2 Devices
テ ク ニ カルサポー ト 支援
e-mail:
[email protected]
イ ン タ ーネ ッ ト :www.latticesemi.com
14-50
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
日本語版改訂履歴 (Ver.2.0 以降)
日付
バージ ョ ン
新ページ
改訂内容
2012 年 6 月
02.0
-
Ver.1.X か ら 大幅 ・ 全面改訂。 特に [1] プ ロ グ ラ ミ ン グ ・ アルゴ リ ズ ムについて更新、
[2] フ ィ ーチ ャ 行の記述、 [3] コ ン フ ィ グ レーシ ョ ン ・ ポー ト 管理について追記
2012 年 7 月
02.1
46
図 14-17 MachXO2 フ ラ ッ シ ュ メ モ リ ・ プ ロ グ ラ ミ ン グ フ ロ ーにて
SECURITY/SECURITY PLUS について明記
48
表 14-21 sysCONFIG プ ロ グ ラ ミ ン グ ・ コ マ ン ド 追加
50
図 14-18 単一 リ ー ド 時の タ イ ミ ン グ要件追加、 記述追加
フ ラ ッ シ ュ メ モ リ ・ プ ロ グ ラ ミ ン グ フ ロ ーにて ‘Program DONE’ ス テ ッ プを追加
2012 年 9 月
02.2
11, 12
28
32, 34
41 - 47
2012 年 10 月
02.3
2013 年 10 月 02.4 ~ 02.6
PROGRAMN ピ ン情報を更新、 図 14-4 を追加
TransFR 動作記述更新
MUX_CONFIGURATION_PORTS 記述を追加、 表 14-16 に追記
プ ロ グ ラ ミ ン グ フ ロ ーを更新
9
ページ中程の表に番号な し --> 表 14-4 付与、 その後の表番全て +1
15
表 14-9 タ イ ト ルに周波数単位追記
26
表 14-15 の直後のパ ラ グ ラ フ先頭記述追記
2
用語定義、 内部フ ラ ッ シ ュ メ モ リ を追加
7~8
(19 カ所)
フ ィ ーチ ャ 行記述、 全面的に記述変更 ・ 更新。 表 14-3 カ ラ ム追加、 脚注 2 削除
用語 ” デフ ォ ル ト モー ド ・ フ ィ ーチ ャ 行ス テー ト ” を ” フ ィ ーチ ャ 行デフ ォ ル ト モー
ド ・ ス テー ト ” に変更
16
CSSPIN 記述、 第三パ ラ グ ラ フ追加
32
CONFIGURATION 記述、 CFGUFM 項、 最終行削除
47
フ ロ ー図に コ メ ン ト を追加
48
表 14-22 内、 Set Address の Write Data を ”M0 00 0P PP” か ら ”M0 00 PP PP” に修正
20
マ ス タ SPI モー ド 記述、 ブ レ ッ ト 注記を追加。 表 14-12、 GENERATE_BITSTREAM 削
除。 図 14-9 MSPI コ ン フ ィ グ レーシ ョ ン ・ モー ド 図、 差 し 替え
23
ページ上部表の内、 GENERATE_BITSTREAM 削除、 図 14-10 削除
24
新図 14-10 SSPI コ ン フ ィ グ レーシ ョ ン ・ モー ド 図、 差 し 替え
32
ビ ッ ト ス ト リ ーム生成オプシ ョ ン節、 第一パ ラ グ ラ フ最終行 と 削除。
表 14-17 削除
32
GENERATE_BITSTREAM オプシ ョ ン記述、 削除。 COMPRESS_CONFIG オプシ ョ ン記
述、 更新。 表 14-18 削除
32
CONFIGURATION オプシ ョ ン記述、 最終パ ラ グ ラ フ の前のパ ラ グ ラ フ最終行
(GENERATE_BITSTREAM について) 削除
10
表 14-6、 脚注削除。 なお、 PROGRAMN ポー ト のユーザモー ド ・ デフ ォ ル ト 状態がオ
リ ジナル英語版では PROGRAMN と あ る が、 こ れは誤 り 。 次版で元に戻 し 、 Userdefined I/O と す る 予定。 (従っ て、 日本語版更新せず)
11
表 14-7 追加
29
図 14-13 差 し 替え
1~2
用語定義の項目順序を入れ替え
8
フ ィ ーチ ャ行プ ログ ラ ミ ングの節、 第三パラ グ ラ フ追加
10
(英語版のみ) 表 14-6 PROGRAMN のデ フ ォル ト 表記を更新
11
PROGRAMN ピ ンの記述に第五ブ レ ッ ト 追加
15
SN ピ ンの記述に第五ブ レ ッ ト 追加
23
デ ュ アルブー ト 節、 推奨オプ シ ョ ン A / B 手順を追記
図 14-16、 ス テ ッ プ 3 / 4 で FEABITS 名に訂正、 ス テ ッ プ 3 の コ ー ド を 0xFB に訂正。
44, 45, 47
同ス テ ッ プ 6 の Refresh フ ロー部記述を更新
48, 49
表 14-21、 Erase 注記 b16 追記、 ISC_DIASABLE 注記追加 ・ 更新
14-51
TN1204_03.0
MachXO2 プログラミングとコンフィグレーション
使用ガイド
14-52
TN1204_03.0