新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 將片外調試的優(yōu)點融入FPGA片上調試之中

將片外調試的優(yōu)點融入FPGA片上調試之中

作者: 時間:2017-06-06 來源:網(wǎng)絡 收藏
片上調試已出現(xiàn)了很多年,成為傳統(tǒng)復雜設計調試方法的一種常用替代方式,將虛擬測試夾具放于設計任何地方而不是采用昂貴的通用I/O引腳是可編程邏輯器件才有的性能。但片上調試也有一些不足之處,本文將討論片上調試的局限,并介紹如何把片上調試與片外深采樣存儲特性結合起來。

隨著FPGA密度不斷增加,工程師們需要經常使用新方法對FPGA實現(xiàn)的設計進行測試和驗證。設計人員傳統(tǒng)上使用邏輯分析儀、示波器和總線分析儀通過測試夾具來探查信號,這些測試夾具和連接器與FPGA上用戶定義的I/O引腳相連,部分引腳(最常見的是64個)被分配給調試和驗證,因此對于引腳分配,設計人員不得不在全面調試與設計實現(xiàn)之間進行協(xié)調。工程師經常還要安排時間給引腳加上片上邏輯以便選擇信號或信號組,驅動I/O和后面的連接部分以供調試。盡管該方案可減少分配給調試的I/O引腳數(shù)量,但這項工作單調乏味,而且通常不能提供正確調試設計所需的可見性,此外測試夾具和連接器占用了寶貴的電路板空間,并會引入信號完整性和時鐘問題(特別是在高速電路板設計上),同時成本也很高。

測試復雜FPGA設計的另一個方法是把部分FPGA邏輯資源專用于“邏輯分析”內核,這些內核的功能類似于傳統(tǒng)的邏輯分析儀,包括觸發(fā)、數(shù)據(jù)采集和采樣存儲,但卻位于FPGA中,可直接接觸到設計的信號和節(jié)點。邏輯分析內核的數(shù)據(jù)存儲在FPGA本地存儲器中,經由JTAG端口可以讀出,這樣就不必占用寶貴的通用I/O引腳。由于邏輯分析內核位于FPGA內部,可利用高速互連總線、快速存儲器和系統(tǒng)時鐘,而無須把這些信號引出芯片,因此可提供傳統(tǒng)調試和驗證方法中沒有的可見度和精確性。

領先的FPGA供應商能提供方便的工具,把邏輯分析和總線分析內核直接插入到FPGA設計中,并帶有先進的接口,支持測試和測量供應商主流邏輯分析儀的多種特性和功能。

片上調試的局限

這種片上調試的主要局限在于邏輯內核本身使用了FPGA資源,更重要的是還用到了采樣存儲器。實現(xiàn)邏輯或總線分析內核所需的邏輯非常少(一般少于FPGA邏輯單元的3%),因為這些內核很小,所以它們可以放在被測邏輯附近不用的邏輯里。但與之相反,片上采樣存儲會占用大量片上存儲資源。片上邏輯與總線分析內核使用FPGA內部RAM,根據(jù)用戶定義的觸發(fā)條件存儲采集到的樣品數(shù)據(jù),僅僅32K采樣數(shù)據(jù)就需要用到FPGA的全部RAM單元。

除此以外,時間也是調試多個系統(tǒng)問題的關鍵因素之一,長時間采樣需要更多片上存儲器。解決這個問題的一個常用方法是一旦完成調試和驗證就把邏輯分析內核去除,盡管這釋放了FPGA設計的邏輯和存儲器資源,但也意味著邏輯分析內核不能用在以后的設計中。

采樣存儲器的數(shù)量由FPGA里的RAM數(shù)量決定,在某些情況下,它限制了對發(fā)生在較長時間里的復雜事件進行調試。片上調試解決方案希望通過提供先進的支持,允許用戶定義復雜觸發(fā)情況來克服這個局限,基于多事件的觸發(fā)條件讓用戶只能捕捉與特定事件相關的數(shù)據(jù),從而節(jié)約片上存儲器資源。雖然該方法可以更好地利用有限的片上存儲器,但它需要知道錯誤發(fā)生在邏輯中的什么地方,而這常常是一個不斷演進的迭代過程,要仔細研究引起錯誤的具體設計問題。因此盡管該方法可以用于調試,但它太費時,且需要大量思考和對設計的深入認識,從而大大影響了驗證能力,而且通常無法把設計“分解”成多個小部分塞入受限片上資源進行驗證。

傳統(tǒng)測試和測量設備制造商圍繞這個問題,提供了帶有很深采樣存儲和復雜觸發(fā)能力的測試設備。當設計出現(xiàn)問題時,用戶要盡量多采集數(shù)據(jù),經常要好幾秒,然后利用提供的工具查看數(shù)據(jù),發(fā)現(xiàn)設計中的問題,這樣能確保工程師抓到事件,但在查看數(shù)據(jù)發(fā)現(xiàn)問題時需要有耐心。

將兩者優(yōu)點結合起來

理想的解決方案是把傳統(tǒng)片外調試設備的擴展采樣存儲器與片上調試的優(yōu)點結合在一起。這種方法能使用戶把虛擬測試夾具放在FPGA設計任意位置,接觸內部信號和節(jié)點,并使用傳統(tǒng)邏輯和總線分析儀設備的片外深采樣存儲器。它沒有使用片上存儲資源,相反,存儲器都在片外。

該解決方案帶來了很多好處。用戶可以調試現(xiàn)在很多FPGA設計中常見的復雜數(shù)據(jù)交換事件,調試復雜的控制邏輯、存儲器和I/O接口、處理器系統(tǒng)以及詳細的狀態(tài)機等,這些都要求在較長時間內捕捉樣品數(shù)據(jù)。復雜數(shù)據(jù)交換事件需要用戶捕捉所有活動以全面分析事件,當采樣存儲限制取消后,還可以再加上時間標記。

這種新方法最有用的地方在于實現(xiàn)了片上驗證。完全調試一個FPGA設計既費時又需要大量的計算,新的組合式方案可讓用戶利用現(xiàn)實世界幾乎無窮的測試向量在片上調試FPGA。在軟件仿真環(huán)境里即使仿真10秒的功能也要用多達100天的時間,而在現(xiàn)實條件下仿真設計功能還能揭示軟件仿真環(huán)境下無法看到的異步和信號完整性等異樣情況。

片上邏輯和總線分析內核通常把采樣數(shù)據(jù)寫入片上存儲單元,也可對這些內核進行修改而把數(shù)據(jù)寫到片外,但需要一個新接口?,F(xiàn)在多數(shù)片上調試工具利用JTAG接口與安置在FPGA里的邏輯和總線分析內核進行通信,這是一個相對較慢的串行連接(10MHz),但對確定邏輯和總線分析內核參數(shù)如觸發(fā)條件來說正好,甚至對存儲在片上存儲器里的空載采樣也足夠,但是它不能支持結合片內、片外解決方案所需要的快速片外數(shù)據(jù)傳輸率,需要一個專用高速端口,就是說要為調試分配I/O引腳,這樣就抵消了片上調試方法的一個重要優(yōu)點。有一個方法是利用諸如時分復用技術把數(shù)據(jù)壓縮到少量I/O引腳中,然后在片外將數(shù)據(jù)傳給外部采樣存儲器。分析表明,這樣只要分配20個I/O引腳就可以捕捉高達79個數(shù)據(jù)信道,并以與片上方法相當?shù)乃俾试谄鈧鬏敗?

本文結論

片上調試作為調試復雜FPGA設計的一個可行方法而出現(xiàn),目前正在開發(fā)的新技術以及現(xiàn)在已出現(xiàn)的技術則通過融合片外邏輯分析設備存儲單元對該方案進行改進。這樣不僅發(fā)揮了片上調試的作用,如片上實時驗證,而且提供了一種經濟的方法可以取代目前昂貴的邏輯和數(shù)據(jù)分析設備。


關鍵詞: FPGA

評論


相關推薦

技術專區(qū)

關閉