SPI / I2Cインターフェースを実現したいですが、IPはありますか?
MachXO Series
カテゴリー:I/O
ツール:Diamond
デバイス:MachXO2, MachXO3
XO2 / XO3シリーズはSPI / I2Cハードマクロを搭載していますので、これを利用する方法があります。
"EFB"(Embedded Function Block)と呼ぶマクロを使用しますが、Diamondの IPexpressでSPI / I2Cなど意図する機能をイネーブルしてモジュールを生成します。この後、RTLでこれをインスタンスすることで実現できます。EFBを使用するので、専用IOを使用することになります(Secondary I2Cは除く)。
外部コントローラーによるSPI / I2Cコンフィグレーションを実装する場合は、FPGAファブリックに何もインターフェースする論理を構成せずにEFBのみで実現できます。
また、FPGAでEFBのSPI / I2Cインターフェースを介してユーザー機能を実現する場合、ハードマクロが備えるWISHBONEインターフェースによってユーザロジックを接続する必要があります。ユーザロジックはWishbone Master機能を含めて実装します。
一方、EFBを使用せず、ソフトIPとGPIOを用いてFPGAファブリックにSPI / I2Cを構成する場合は、各種の参照デザインを用意しています。RD1046(I2C Master)、RD1054/RD1140(I2C Slave)、RD1075/RD1141/RD1142(SPI)などがありますが、詳細はLatticeのウェブサイトからこれら関連資料をご参照ください。