XADCをJTAGで制御する(5)
2024/08/03
※サーバー移行しました: http://cf661650.cloudfree.jp/altmo_toolbox
|
[Prev]
[Next]
[Top]
,
Digital Design
[Prev]
[Next]
[Digital Design Top]
|
Simulationモデルの作成指針
- 前回までXADCをDRPから直接制御していましたが、今回からJTAG経由の制御へ移ります(*1)。XADCをJTAGで利用する際に考慮する点を列挙してみました。
- チェーン選択のIR = 6'b110111
- アクセス先は32bit JTAGチェーン
- JTAG DRP Update後にDCLK 10cycが必要
- リセットはRESETポートではなくXADC JTAG RESETを使う
- JTAGLOCKEDの設定
- FPGA configuration前のVAUXP/N有効化
- XADC自身はDCLKで動作するため、JTAGとDCLK間の非同期制御を行うArbitratorがいます。ただし、このArbitrator回路の具体的なモデルは不明なため、先に挙げた "DCLK 10cyc" の制約を意識しつつ自力でモデル作成することになります。
JTAGコントローラ改造
- まずはIR=6'b110111で、XADCの32bitチェーンにアクセスするJTAGコントローラを作成しますが、これは以前JTAG Boundary Scanを扱った際に作成したJTAGコントローラにちょっと機能追加します。
- 追加の内容は下記です
- xadc_si(output), xadc_so(input)ポートの追加
- xadc_capture, xadc_shift, xadc_update, xadc_modeポートの追加
- IR=6'b110111の時、制御対象チェーンをxadc_si/xadc_soとする論理追加
- そして作成したのがこちらの IPat_JtagCont.v になります(*2)。変更点については以前のRTLとWinMerge等で比較するとわかりやすいかと思います。
JTAG DRPチェーンとArbitrator
- 全体モデル作成の前に、JTAG DRPチェーンの内容を見てみましょう。下記は公式ドキュメントからの抜粋図です。

Figure 1: XADC JTAG DRPチェーン(XADC資料より抜粋)
- [15:0]がDRP Data, [25:16]がDRP Address。DEN/DWE相当はありませんが、代わりCMD[3:0]が[29:26]にあります。
Table 1: JTAG DRPコマンド(XADC資料より抜粋)

- 先程Arbitrator回路モデルを自力作成すると書きましたが、上記のコマンドをデコードしてDEN/DWE信号を生成し、DCLKに乗せ換えてパルス生成する回路をJTAG DRPチェーンとXADCの間へ入れることになります。
- 手抜きですが下記のような回路です。xadc_mode==0で非同期リセットし、解除時にDCLK同期化します。後はxadc_updateが入るたびにデコード出力系をリセットします。xadc_modeとxadc_updateはレーシングしない前提の回路です(*3)。

Figure 2: JTAG DRP 簡易Arbitrator
- あとは、32bitのJTAG DRPチェーン本体ですが、これはBC_1セルを32個つなげれば良いですね。
Simulationモデルの全体
- これで要素は揃ったので、全体のモデルをラフに作ると下記のようになります。

Figure 3: JTAG DRP Simulationモデル全体
- DCLKはDRP Simulationと同様にSTARTUPE2から供給します。
- 外部ポートはJTAGのTAPのみです。XADCのAUXアナログ入力ポートもモデル中にありませんが、Simulationでは design.txt からアナログ値を与えるので外部アナログポート作成は特に必要ありません。
- 次回は、実際に作成したモデルでJTAG DRP Simulationを行います。
|
Notes
- JTAG制御について知識がある前提です。JTAGについてよく知らない場合は以前のレポートを参照下さい。
- 今回はモデル作成をして組み上げるところまでなので、次回の動作確認中にミスあれば修正します。
- 非同期回路として作っていないのでご注意を。xadc_modeとupdateは本来TCK同期論理の中で使用する信号です。FF出力ではなく論理を経由しているので、非同期であること以外にグリッチも乗る可能性あります。
|
2024-08-03: 初版
2024-08-13: 簡易Arbitrator回路修正(NOP不必要としました)
|
[Prev]
[Next]
[Top]
,
Digital Design
[Prev]
[Next]
[Digital Design Top]
|