玩轉Zynq連載5——基于Vivado的在線(xiàn)板級調試概述 更多資料共享 鏈接:https://share.weiyun.com/5s6bA0s ![]() FPGA的板級調試方法有很多,借助于常規的示波器和邏輯分析儀的調試方法是最典型的手段。如圖13.1所示,基于傳統的臺式示波器或邏輯分析儀進(jìn)行板級調試有著(zhù)諸多的不便,相對于設計電路深藏在芯片內部的FPGA設計來(lái)說(shuō)有著(zhù)很大的局限性,簡(jiǎn)單的列舉如下。 l 臺式機器價(jià)格昂貴,設備成本高。 l 只能訪(fǎng)問(wèn)到FPGA的I/O引腳信號,對內部信號只能通過(guò)引出到I/O引腳的方式進(jìn)行觀(guān)察,并且此方式只有個(gè)別信號可行,大量?jì)炔啃盘柧蜔o(wú)能為力了。 l PCB的layout設計必須預留足夠的空間用于外部探針對被測試信號的連接,浪費板級空間且降低了電路可靠性,同時(shí)也會(huì )潛在的增加成本。 l 測試信號較多,調試過(guò)程極其繁瑣并容易犯錯。 l 靈活性差,只能觀(guān)察設計之初就預留了探針接口的一些信號。 ![]() 當然了,這些局限性在大多數產(chǎn)品的板級調試中都存在,尤其是在芯片集成度越來(lái)越高的當下。而FPGA器件由于其靈活的可編程特性,也使得它具有了更加獨特的調試手段。在FPGA器件支持并且剩余邏輯資源足夠的情況下,設計者往往習慣于使用開(kāi)發(fā)軟件提供的在線(xiàn)邏輯分析儀進(jìn)行調試,如Vivado的ILA和Quartus II的SignalTapII,它們的功能都很強大,并且非常的簡(jiǎn)單實(shí)用。它們相較于傳統的臺式儀器,不僅大大降低了調試門(mén)檻和成本,而且由于其內嵌于FPGA器件的特性,使得其可調試性和靈活性上也更勝一籌,例如它可以訪(fǎng)問(wèn)到FPGA內部的一些中間過(guò)程信號。除此以外,還有一些其它的手段在不同的應用背景下都有助于加速板級調試。除此之外,還有類(lèi)似虛擬IO、在線(xiàn)存儲器編輯、Virtual JTAG之類(lèi)的調試手段,都是非常簡(jiǎn)單實(shí)用的在線(xiàn)調試方法。下面我們看看Vivado中支持的一些重要調試方式。 ILA(Integrated Logic Analyzer),即內嵌邏輯分析儀?梢栽FPGA器件上對已實(shí)現的設計進(jìn)行板級在線(xiàn)調試。ILA可用于板級調試過(guò)程中監測FPGA內部信號的實(shí)時(shí)狀態(tài),ILA也可用于硬件事件觸發(fā)后以系統時(shí)鐘頻率采集信號。 ILA和一般臺式的邏輯分析儀功能基本相似,只不過(guò)臺式邏輯分析儀是看得見(jiàn)摸得著(zhù)的實(shí)物設備,且它必須對所有觸發(fā)或觀(guān)察信號進(jìn)行物理連接,信號也必須在電路板上有實(shí)際的觸點(diǎn)可供探測。但是ILA不同,你可以說(shuō)它是一個(gè)軟件工具而已,因為它只需要被測試設備本身(即FPGA器件),通過(guò)一條JTAG下載器與PC連接,在PC的Vivado上可以查看最終采集的波形。并且ILA不需要被測試信號有實(shí)際的物理探測點(diǎn),只要這個(gè)信號是在FPGA內部,就可以被實(shí)時(shí)的觀(guān)測到。 ILA功能模塊可以通過(guò)配置IP核方式例化到RTL代碼中,也可以在Vivado的工具選項上直接加載設置。 VIO(Virtual Input/Output),即虛擬IO調試接口。VIO可以用于實(shí)時(shí)的監控或驅動(dòng)FPGA內部信號狀態(tài)。如果對目標硬件缺乏合適的訪(fǎng)問(wèn)通信方式時(shí),可以使用VIO功能實(shí)現FPGA內部信號實(shí)時(shí)的監控或驅動(dòng)。VIO調試應用的主要場(chǎng)景可能是速率要求不高,但又希望可以在線(xiàn)交互的一些信號接口,比如一些開(kāi)關(guān)信號的控制或狀態(tài)信號的實(shí)時(shí)查看。 VIO功能模塊只能通過(guò)配置IP核方式例化到RTL代碼中,設計代碼中需要施加激勵或者觀(guān)察狀態(tài)的信號必須通過(guò)VIO的IP核模塊例化連接好。 IBERT(Integrated Bit Error Ratio Tester),即內嵌誤碼率測試機。IBERT是針對高速串行接口的在線(xiàn)調試和驗證。通過(guò)IBERT的檢測,可以確認FPGA內部的高速串行口傳輸數據的可靠性和穩定性。 JTAG-to-AXI Master,即JTAG-to-AXI主機調試接口。對于不含處理器,但又有AXI從機接口的應用,該調試方式可以對設計中的AXI從機接口進(jìn)行板級的在線(xiàn)調試驗證。 以上所提的這些在線(xiàn)調試方式大都是通過(guò)FPGA器件引出的JTAG接口,同時(shí)使用了一些FPGA片內固有的邏輯、存儲器或布線(xiàn)資源就能夠實(shí)現的。這些調試功能通常也只需要隨著(zhù)用戶(hù)設計所生產(chǎn)的配置文件一同下載到目標FPGA器件中運行。相比于復雜的傳統臺式儀器,基于FPGA的在線(xiàn)調試僅需一條JTAG線(xiàn)纜連接FPGA和PC機,非常簡(jiǎn)單清爽,調試起來(lái)更是得心應手。 至于我們所提到的這些在線(xiàn)調試手段,可以根據不同的應用和設計進(jìn)行選擇。因為不同的設計往往會(huì )有不同的約束和需求,例如可以根據閑置不使用引腳的數量、邏輯和存儲器資源剩余量大小等進(jìn)行不同的在線(xiàn)調試方式選擇。 對于FPGA內部的在線(xiàn)調試,通?梢苑譃橐韵3個(gè)階段。 ● 探測階段:識別出需要進(jìn)行探測的信號,確認使用何種在線(xiàn)調試手段進(jìn)行探測。 ● 實(shí)現階段:將在線(xiàn)調試的IP核集成到設計工程中,完成編譯并生成板級調試的下載配置文件。 ● 分析階段:使用集成的調試功能模塊對設計功能進(jìn)行驗證和調試。 更多資料共享 鏈接:https://share.weiyun.com/5s6bA0s |