LatticeのMACHXO2の使い方を調べる
秋月に売られているLatticeのCPLD、MACH XO2の使い方を調べています。
MACHXO2のアーキテクチャはXILINXのFPGAとだいたい同じようです。
しかもALTERAのMAX2のようにクロック発振器内蔵だし、Mach XO2のHCタイプは内蔵レギュレータが入っていて、VCCから1.2Vを生成してくれるようです。
だから単一の3.3Vで動きます。まるでXILINX FPGAとALTERAのMAXを足して2で割ったような使いやすさですね。
汎用I/Oと専用ピンの切り替えは論理合成時に「フィーチャー行」という設定で行うらしいということはわかりました。
INITやDONE、JTAGENB、PROGRAMnまでも汎用I/Oにできるようです。
JTAGをDISABLEにするとJTAGENBが有効になってTDI等をユーザI/OとJTAGとで切り替えられるようです。
データシートを読んだだけではよくわからないのですが、フィーチャー行でJTAGをDISABLEにすると、JTAGが使えなくなるわけではなくてJTAGENという端子が有効になって、JTAGENをdisableするとTCK,TMS,TDI,TDOの端子が汎用I/Oになるようです。
フィーチャー行でのJTAGをenableにすればJTAGENBはただのI/Oになって、TCK,TDI,TMS,TDOはただのI/Oになると思われます。
内蔵ROMからコンフィグするモードにして、PROGRAMもSPIもI2Cも無効にしたら二度と書き換えられないのか、それともJTAG使えば何とかなるのかとか、疑問が尽きません。
実験してみるしかなさそうですね。
| 固定リンク
コメント