Global Sources
電子工程專輯
 
電子工程專輯 > FPGA/PLD
 
 
FPGA/PLD  

將片外除錯的優點融入FPGA片上除錯之中

上網時間: 2003年05月18日     打印版  Bookmark and Share  字型大小:  

關鍵字:FPGA  可現場編程閘陣列  On-chip debug  片上除錯 

FPGA片上除錯已出現了很多年,成為傳統複雜FPGA設計除錯方法的一種常用替代方式,將虛擬測試夾具放於FPGA設計任何地方而不是採用昂貴的通用I/O接腳是可程式邏輯元件才有的性能。但片上除錯也有一些不足之處,本文將討論片上除錯的局限,並介紹如何把片上除錯與片外深採樣儲存特性結合起來。

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

測試複雜FPGA設計另一個方法是把部份FPGA邏輯資源專用於'邏輯分析'核心,這些核心的功能類似於傳統的邏輯分析儀,包括觸發、數據採集和採樣儲存,但卻位於FPGA中,可直接接觸到設計訊號和節點。邏輯分析核心的數據儲存在FPGA本地記憶體中,經由JTAG埠可以讀出,這樣就不必佔用寶貴的通用I/O接腳。由於邏輯分析核心位於FPGA內部,可利用高速互連匯流排、快速記憶體和系統時脈,而無須把這些訊號引出晶片,因此可提供傳統除錯和驗證方法中沒有的可見度和精確性。

領先的FPGA供應商能提供方便的工具,把邏輯分析和匯流排分析核心直接插入到FPGA設計中,並具有先進的介面,支援測試和測量供應商主流邏輯分析儀的多種特性和功能。

片上除錯的局限

這種片上除錯的主要局限在於邏輯核心本身使用了FPGA資源,更重要的是還用到了採樣記憶體。實現邏輯或匯流排分析核心所需的邏輯非常少(一般少於FPGA邏輯單元的3%),因為這些核心很小,所以它們可以放在被測邏輯附近不用的邏輯?。但與之相反,片上採樣儲存會佔用大量片上儲存資源。片上邏輯與匯流排分析核心使用FPGA內部RAM,根據用戶定義的觸發條件儲存採集到的樣品數據,僅僅32K採樣數據就需要用到FPGA的全部RAM單元。

除此以外,時間也是除錯多個系統問題的關鍵因素之一,長時間採樣需要更多片上記憶體。解決這個問題的一個常用方法是一旦完成除錯和驗證就把邏輯分析核心去除,儘管這釋放了FPGA設計邏輯和記憶體資源,但也意味著邏輯分析核心不能用在以後的設計中。

採樣記憶體的數量由FPGA?的RAM數量決定,在某些情況下,它限制了對產生在較長時間?的複雜事件進行除錯。片上除錯解決方案希望藉由提供先進的支援,允許用戶定義複雜觸發情況來克服這個局限,基於多事件的觸發條件讓用戶只能捕捉與特定事件相關的數據,因而節約片上記憶體資源。雖然該方法可以更好地利用有限的片上記憶體,但它需要知道錯誤產生在邏輯中的什麼地方,而這常常是一個不斷演進的迴圈過程,要仔細研究引起錯誤的具體設計問題。因此儘管該方法可以用於除錯,但它太費時,且需要大量思考和對設計深入認識,因而大幅影響了驗證能力,而且通常無法把設計"分解"成多個小部份塞入受限片上資源進行驗證。

傳統測試和測量設備製造商圍繞這個問題,提供了具有很深採樣儲存和複雜觸發能力的測試設備。當設計出現問題時,用戶要盡量多採集數據,經常要好幾秒,然後利用提供的工具查看數據,發現設計中的問題,這樣能確保工程師抓到事件,但在查看數據發現問題時需要有耐心。

將兩者優點結合起來

理想的解決方案是把傳統片外除錯設備的擴展採樣記憶體與片上除錯的優點結合在一起。這種方法能使用戶把虛擬測試夾具放在FPGA設計任意位置,接觸內部訊號和節點,並使用傳統邏輯和匯流排分析儀設備的片外深採樣記憶體。它沒有使用片上儲存資源,相反,記憶體都在片外。

該解決方案帶來了很多好處。用戶可以除錯現在很多FPGA設計中常見的複雜數據交換事件,除錯複雜的控制邏輯、記憶體和I/O介面、處理器系統以及詳細的狀態機等,這些都要求在較長時間內捕捉樣品數據。複雜數據交換事件需要用戶捕捉所有活動以全面分析事件,當採樣儲存限制取消後,還可以再加上時間標記。

這種新方法最有用的地方在於實現了片上驗證。完全除錯一個FPGA設計既費時又需要大量的運算,新的組合式方案可讓用戶利用現實世界幾乎無窮的測試向量在片上除錯FPGA。在軟體模擬環境?即使模擬10秒的功能也要用多達100天的時間,而在現實條件下模擬設計功能還能揭示軟體模擬環境下無法看到的非同步和訊號完整性等異樣情況。

片上邏輯和匯流排分析核心通常把採樣數據寫入片上儲存單元,也可對這些核心進行修改而把數據寫到片外,但需要一個新介面。現在多數片上除錯工具利用JTAG介面與安置在FPGA?的邏輯和匯流排分析核心進行通訊,這是一個相對較慢的串列連接(10MHz),但對確定邏輯和匯流排分析核心參數如觸發條件來說正好,甚至對儲存在片上記憶體?的空載採樣也足夠,但是它不能支援結合片內、片外解決方案所需要的快速片外數據傳輸率,需要一個專用高速埠,就是說要為除錯分配I/O接腳,這樣就抵銷了片上除錯方法的一個重要優點。有一個方法是利用諸如時分再使用技術把數據壓縮到少量I/O接腳中,然後在片外將數據傳給外部採樣記憶體。分析顯示,這樣只要分配20個I/O接腳就可以捕捉高達79個數據訊息通道,並以與片上方法相當的速率在片外傳輸。

本文結論

片上除錯作為除錯複雜FPGA設計一個可行方法而出現,目前正開發的新技術以及現在已出現的技術則藉由融合片外邏輯分析設備儲存單元對該方案進行改進。這樣不僅發揮了片上除錯的作用,如片上即時驗證,而且提供了一種經濟的方法可以取代目前昂貴的邏輯和數據分析設備。

作者:Brent Przybus


產品市場經理


智霖公司





投票數:   加入我的最愛
我來評論 - 將片外除錯的優點融入FPGA片上除錯之中
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首