« ADCとDAC基板を出図。ついでにSpartan-7も | トップページ | Trion T20に書き込みができた! »

2022.07.08

Efinity TrionへのJTAG書き込みに再チャレンジ

MITOUJTAGでEfinity TrionへのJTAG書き込みに再チャレンジしています。

これまでもT120には書き込めるたですが、なぜかT20には書き込みできません。T20に書き込みをしようとすると、NSTATUSのランプが消えて書き込みエラーとなってしまいます。

T20_1

TrionはBSDLに異常があったりしていろいろおかしかったのですが、いままでわかっていることを整理します。

  • メーカーが提供しているT120用のBSDLファイルのdisvalの値が逆。バウンダリスキャンで入力ピンと出力ピンが逆になってしまう
  • T20では書き込み時にCRESET_NとSS_Nの操作が必要。CRESET_Nが立ち上がるときのSS_Nの値を見て、HだったらSPIコンフィグが起動してしまう。そのためSS_NをLにしてSPIコンフィグを止める必要がある。
  • TESTピンは常にHにしておく

ということでした。

アプリケーションノートを読み返していて、あることに気が付きました。

T20_jtag_seq

T20ではデータを送信している間にPAUSE_DRやIDLEステートに入れてはいけないのです。

SVFファイルで表現すると、下の図のように3000とか適当なサイズで分割してはいけません。これはEfinity Programmerで出力したSVFファイルですが3000bitで区切っているので、これをPlayしても書き込みはできません。

Ngsvf

ENDDR SHIFT_DRにしておけばいいのかもしれません。

ようやく原因がつかめてきました。

T120では適当なサイズで分割しても良いのですが、T20ではだめなようです。

 

|

« ADCとDAC基板を出図。ついでにSpartan-7も | トップページ | Trion T20に書き込みができた! »

コメント

コメントを書く



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




« ADCとDAC基板を出図。ついでにSpartan-7も | トップページ | Trion T20に書き込みができた! »