SoC FPGA JTAG電路設計 要點

 

JTAG協議制定了一種邊界掃描的規範,邊界掃描架構提供了有效的測試佈局緊湊的PCB板上元件的能力。邊界掃描能夠在不使用物理測試探針的狀況下測試引腳鏈接,並在器件正常工做的過程當中捕獲運行數據。編程

SoC FPGA做爲在同一芯片上同時集成了FPGA和HPS的芯片,其JTAG下載和調試電路相較於單獨的FPGA或ARM處理器都有一些差別,可是同時二者又有緊密的聯繫。AC501-SoC開發板上的JTAG鏈同時鏈接了FPGA和HPS。使用時,僅需一個JTAG鏈路,就能同時調試FPGA和HPS。FPGA和HPS各自有其獨立的JTAG信號引腳,電路設計時使用了一種串行鏈的方式來將二者鏈接到一塊兒,如圖xxx所示:架構

如下爲4個JTAG信號的功能說明:佈局

 

管腳名稱測試

管腳類型spa

說明設計

TDI3d

測試數據輸入調試

指令以及測試和編程數據的串行輸入管腳的。數據在TCK 的上升沿移入。若是在電路板上不須要JTAG 接口,能夠經過將此管腳鏈接至VCC來禁用JTAG。TDI 管腳具備內部弱上拉電阻(一般爲25KΩ)。blog

TDO接口

測試數據輸出

指令以及測試和編程數據的串行數據輸出管腳。數據在TCK的降低沿移出。若是數據沒有從器件中被移出,此管腳處於三態。若是在電路板上不須要JTAG接口,懸空此管腳以禁用 JTAG 電路。

TMS

測試模式選擇

提供的控制信號輸入管腳,控制信號用來控制TAP狀態機的跳變。狀態機跳變發生在 TCK 的上升沿。所以,TMS必須在 TCK 的上升沿以前被設置。 TMS 在 TCK 的上升沿中被評估。若是在電路板上不須要 JTAG 接口,JTAG 電路被禁用鏈接此管腳至 VCC。 TMS 管腳具備內部弱上拉電阻 (一般爲25KΩ)。

TCK

測試時鐘輸入

邊界掃描電路的時鐘輸入腳。一些操做發生在上升沿,而其它的則發生在降低沿。若是在電路板上不須要JTAG 接口,JTAG 電路被禁用鏈接此管腳至 GND。 TCK 管腳具備內部弱下拉電阻。

使用JTAG配置或調試一個器件時,根據用戶選定的器件,編程軟件(Quartus Programmer或DS-5中提供的調試器)會旁路全部其它的器件。在旁路模式下,器件經過一個旁路寄存器將編程數據從 TDI 管腳傳至 TDO 管腳,即經過TDI送入器件的配置數據會在一個時鐘週期以後呈如今TDO上。而若是將TDO端口輸出的數據再次接入另個器件的TDI端口,則可以直接對下一個器件進行調試了。而每個器件都有其JTAG ID,經過JTAG ID可以辨識具體調試哪一個器件。

在圖xxx(上圖)能夠看到,由USB Blaster的TDO輸出的數據首先是接入到了HPS的TDI端口,而後由HPS的TDO端口流出的數據又接到了FPGA的TDI端口上,最後數據再由FPGA的TDO端口流出,回到USB Blaster的TDI端口,造成了完整的數據迴路。

當須要經過Quartus Programer來配置或調試FPGA部分時,會設置直接旁路HPS部分,由HPS的TDI端口流入的數據會在一個時鐘週期後出如今HPS的TDO端口上,再進入HPS的TDO端口所鏈接的FPGA的TDI端口。從而向FPGA的各個寄存器中寫入或讀取出數據,經過FPGA的TDO端口輸出,流入到USB Blaster的TDI端口,完成對FPGA的調試。

當須要經過DS-5中的仿真器來調試HPS部分時,會設置直接旁路FPGA部分,由HPS的TDI端口流入的數據直接做用在HPS上,對HPS的相應的寄存器進行讀寫,結果數據從HPS的TDO端口流出,再流入FPGA的TDI端口,因爲此時FPGA的JTAG功能處於旁路狀態,TDI端口流入的數據會直接由FPGA的TDO端口流出,進入USB Blaster的TDI端口,完成對HPS的調試。

相關文章
相關標籤/搜索