如何簡化FPGA測試和調試?
外部邏輯分析儀可解決更加廣泛的問題
由于嵌入式邏輯分析儀方法存在的部分限制,許多FPGA設計人員已經(jīng)采用外部邏輯分析儀方法,來利用FPGA的靈活性和外部邏輯分析儀的處理能力,如泰克TLA系列邏輯分析儀。
在這種方法中,感興趣的內部信號路由到FPGA沒有使用的針腳上,然后連接到邏輯分析儀上,這種方法提供了非常深的內存,適合調試那種出現(xiàn)故障和實際導致該故障的原因在時間上相距很遠的問題;對于需要采集大量數(shù)據(jù)進行后期分析的設計人員也非常必要。另外它還可以把內部FPGA信號與電路系統(tǒng)中的其他活動時間關聯(lián)起來。
與嵌入式邏輯分析儀方法一樣,也需要平衡許多矛盾。在針腳與內部資源上,外部邏輯分析儀方法采用非常少的邏輯資源,不使用FPGA內存資源。它釋放了這些資源,來實現(xiàn)所需功能。現(xiàn)在的矛盾在于,必需增加專用于調試的部分針腳數(shù)量,而很明顯,設計要使用這些針腳。
在探測與工作模式問題上,外部邏輯分析儀探測要比嵌入式邏輯分析儀方法要求的探測復雜一些。必需確定怎樣使用邏輯分析儀探頭探測FPGA內部信號,而不能使用電路板上已有的JTAG連接器。最簡便的方式是在電路板中增加一個測試連接器,這可以簡便地把FPGA信號與系統(tǒng)中的其他信號關聯(lián)起來。
在成本與靈活性問題上,盡管外部邏輯分析儀的購買價格確實要高于嵌入式邏輯分析儀,但使用外部邏輯分析儀可以解決更加廣泛的問題。邏輯分析儀不僅可以用于FPGA調試,還可以用來解決其他數(shù)字設計挑戰(zhàn),它被公認為進行通用數(shù)字系統(tǒng)硬件調試的最佳工具。外部邏輯分析儀能夠實現(xiàn)更加靈活的采集模式和觸發(fā)功能。通過外部邏輯分析儀,可以設置最多16個不同的觸發(fā)狀態(tài)(每一個狀態(tài)含高達16個條件判斷分支),每一個通道提供256M的內存,并且可以在定時分析模式下以高達125ps的分辨率(8GHz采樣)捕獲數(shù)據(jù)。
選擇合適的FPGA調試方法
這兩種方法都可以使用,采用哪種方法要視具體情況而定。挑戰(zhàn)在于確定哪種方法更適合您的設計。
用戶可以問自己預計有哪些問題需要解決?如果您認為問題僅限于FPGA內部的功能性,那么使用嵌入式邏輯分析儀可以提供要求的所有調試功能。但是,如果預計有更多的調試問題,要求檢驗定時余量、把內部FPGA活動與電路板上的其他活動關聯(lián)起來,或要求更強大的觸發(fā)功能,那么使用外部邏輯分析儀更適合滿足調試需求。
當FPGA芯片針腳存在超過200M的高速總線,例如集成內存控制器的DDRI、DDRII內存總線,以及集成高SerDes的高速串行IO總線,信號完整性測試是保證設計成功的基礎。
用戶可能問除狀態(tài)數(shù)據(jù)外,是否需要考察快速定時信息?外部邏輯分析儀允許以高達125ps的分辨率(8GS/s采樣)查看FPGA信號詳細的定時關系,這有助于檢驗設計中實際發(fā)生的事件,檢驗設計的定時余量。嵌入式邏輯分析儀只能捕獲與FPGA中已有的指定時鐘同步的數(shù)據(jù)。
需要捕獲多深的數(shù)據(jù)?外部邏輯分析儀提供的采集內存更深。一般在嵌入式邏輯分析儀中,最大取樣深度設為128Kb,這一數(shù)字受到器件限制。而在外部邏輯分析儀中,可以捕獲最多256Mb樣點。這有助于查看和分析更多的問題及潛在原因,從而縮短調試時間。
設計中更多地受限于針腳還是受限于資源?使用嵌入式邏輯分析儀不要求任何額外的輸出針腳,但必須使用內部FPGA資源,實現(xiàn)邏輯分析儀功能。使用外部邏輯分析儀要求使用額外的輸出針腳,但使用內部FPGA資源的需求達到最小(或消除了這種需求)。
評論