« 事業再構築補助金の再交付申請 | トップページ | 再交付申請やりなおし »

2023.09.26

MITOUJTAGがArtix UltraScale+のSPI ROM書き込みに対応しました

MITOUJTAGでArtix UltraScale+のSPI ROM書き込みができるようになりました。

7シリーズだとSPI ROMのMOSIとかMISOはdual purposeピンであるため、起動してしまえばユーザロジックとして使えますが、UltraScale+ではdedicatedピンであるためユーザーロジックからは操作できません。

そのため、

Command failed: "T8" is not a valid site or package pin name.

のようなエラーが出てしまい、配置配線で適当なピンに割り当てられBitGenでエラーとなってしまいました。

どうすればSPI ROMのMOSIやMISOを扱えるようになるかというと、STARTUPE3というプリミティブを使います。

Startupe3

STARTUPE3は7シリーズのSTARTUPE2とよく似ていますが、DI[3:0]とDO[3:0]というポートが増えています。

  • D0 = MOSI
  • D1 = DIN MISO
  • D2,D3 = QSPIで使う

という割り当てです。

ですので、DO(0)にMOSIの信号を与え、DTS(0) <= '0'にして信号出力します。

DTS(3 downto 1) <= "111"にしてD[3:1]はトライステートにします。

MISOの値を読みたいときにはDI(1)から出てきます。

 

JTAGで受け取った信号をSPI ROMのコンフィグポートに出すという回路ですが、TOP階層のポート定義で何もポートがないという驚愕のデザインとなりました。

Portdef

こんなんでもVivadoで論理合成通った!

Vivado_20230928102401

 

私はArtix UltraScale+のボードを持っていないのでお客様にファイルをお送りしたところ、MITOUJTAGから書き込みができるようになったそうです。

W25Q128JWというSPI ROMはVivadoに対応していないのですが、MITOUJTAGを使って書き込んでArtix UltraScale+で使えるようになったということで喜んでいただけました。

STARTUPE3を使うとPROGRAMピンやDONEピンまでいろいろ操作できるので、マニアックなことができるかもしれませんね。

|

« 事業再構築補助金の再交付申請 | トップページ | 再交付申請やりなおし »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 事業再構築補助金の再交付申請 | トップページ | 再交付申請やりなおし »