新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA系統易測試性的研究

        基于FPGA系統易測試性的研究

        作者: 時間:2008-03-18 來源:中電網 收藏
        引 言

        現代科技對系統的可靠性提出了更高的要求,而技術在電子系統中應用已經非常廣泛,因此易測試性就變得很重要。要獲得的內部信號十分有限、FPGA封裝和印刷電路板(PCB)電氣噪聲,這一切使得設計調試和檢驗變成設計中最困難的一個流程。另一方面,當前幾乎所有的像CPU、DSP、ASIC等高速芯片的總線,除了提供高速并行總線接口外,正迅速向高速串行接口的方向發展,FPGA也不例外。每一條物理鏈路的速度從600 Mbps到10 Gbps,高速I/O的測試和驗證更成為傳統專注于FPGA內部邏輯設計的設計人員所面臨的巨大挑戰。這些挑戰使設計人員非常容易地將絕大部分設計時間放在調試和檢驗設計上。

        本文就調試FPGA系統時遇到的問題及有助于提高調試效率的方法,針對Altera和Xilinx的FPGA調試提供了最新的方法和工具。

        1 FPGA一般設計流程

        在FPGA系統設計完成前,有2個不同的階段:設計階段、調試和檢驗階段,如圖1所示。設計階段的主要任務是輸入、仿真和實現;調試和檢驗階段的主要任務是檢驗設計,校正發現的錯誤。



        1.1 設計階段

        在這一階段不僅要設計,而且要使用仿真工具開始調試。實踐證明,正確使用仿真為找到和校正設計錯誤提供了一條有效的途徑。但是,不應依賴仿真作為調試FPGA設計的唯一工具。

        在設計階段,還需要提前考慮調試和檢驗階段,規劃怎樣在線快速調試FPGA,這可以定義整體調試方法,幫助識別要求的任何測試測量工具,確定選擇的調試方法對電路板設計帶來的影響。針對可能選用的FPGA存在的高速總線,除了考慮邏輯時序的測試和驗證外,還應該充分考慮后面可能面臨的信號完整性測試和分析難題。

        1.2 調試和檢驗階段

        在調試階段,必須找到仿真沒有找到的棘手問題。怎樣以省時省力的方式完成這一工作是一個挑戰。本文將研究如何選擇正確的FPGA調試方法及如何有效地利用新方法的處理能力,這些新方法可以只使用少量的FPGA針腳查看許多內部FPGA信號。如果使用得當,可以突破最棘手的FPGA調試問題。

        1.3 FPGA調試方法

        在設計階段需要作出的關鍵選擇是使用哪種FPGA調試方法。在理想情況下,設計者希望有一種方法,這種方法可以移植到所有FPGA設計中,能夠洞察FPGA內部運行和系統運行過程,為確定和分析棘手的問題提供相應的處理能力。

        基本在線FPGA調試方法有2種:使用嵌入式邏輯分析儀以及使用外部邏輯分析儀。選擇使用何種方法取決于項目的調試需求。

        2 嵌入式邏輯分析儀內核

        主要的FPGA廠商針對器件的在線調試都提供了嵌入式邏輯分析儀內核,這些知識產權模塊插入FPGA設計中,同時提供觸發功能和存儲功能。它們使用FPGA邏輯資源實現觸發電路;使用FPGA存儲模塊實現存儲功能;使用JTAG配置內核操作,并用它將捕獲的數據傳送到PC上進行查看。

        由于嵌入式邏輯分析儀使用內部FPGA資源,因此其通常用于大型FPGA,這些大型FPGA可以更好地消化插入內核帶來的開銷。一般來說,用戶希望內核占用的FPGA邏輯資源不超過可用資源的5%。

        與其他調試方法一樣,還要知道這種方法存在的部分矛盾。

        2.1 針腳與內部資源

        嵌入邏輯分析儀內核不使用額外的測試針腳,因為它通過現有的JTAG針腳訪問內核。這意味著即使設計受到FPGA針腳限制,仍可以使用這種方法。矛盾在于,它使用的內部FPGA邏輯資源和存儲模塊可以用來實現設計。此外,由于使用片內內存存儲捕獲的數據,因此內存深度一般相對較淺。

        2.2 探測與運行模式

        嵌入式邏輯分析儀核心的探測非常簡單,它使用現有的JTAG針腳。矛盾在于,盡管嵌入式邏輯分析儀可以查看FPGA操作,但沒有一種方式將這些信息與電路板級或系統級信息時間關聯起來。而將FPGA內部的信號與FPGA外部的信號關聯起來對解決棘手的調試問題至關重要。在分析方法上,嵌入式邏輯分析儀只能進行狀態分析。

        2.3 成本與靈活性

        大多數FPGA廠商提供了嵌入式邏輯分析儀內核,而其價格要低于全功能外部邏輯分析儀。雖然用戶希望更多的功能,但嵌入式邏輯分析儀內核的功能無論從通用性、分析方式、觸發能力,還是從存儲和分析能力都弱于全功能外部邏輯分析儀,而用戶通常需要這些功能來捕獲和分析棘手的調試問題。例如,嵌入式邏輯分析儀只能在狀態模式下操作,它們捕獲與FPGA設計中已有的指定時鐘同步的數據,因此不能提供精確的信號定時關系。

        3 外部邏輯分析儀

        由于嵌入式邏輯分析儀方法存在部分限制,FPGA設計人員采用外部邏輯分析儀方法,來利用FPGA的靈活性和外部邏輯分析儀的處理能力,如泰克TLA系列邏輯分析儀。  

        在這種方法中,有用的內部信號路由到FPGA沒有使用的針腳上,然后連接到邏輯分析儀上。這種方法提供了非常深的內存,適合調試出現故障和實際導致該故障的原因在時間上相距很遠的問題;對于需要采集大量數據進行后期分析的設計人員也非常必要。另外,它還可以把內部FPGA信號與電路系統中的其他活動時間關聯起來。

        與嵌入式邏輯分析儀方法一樣,也需要考慮許多矛盾。

        3.1 針腳與內部資源

        外部邏輯分析儀方法采用非常少的邏輯資源,不使用FPGA內存資源。它釋放了這些資源,來實現所需功能。其矛盾在于,必須增加專用于調試的針腳數量,而設計時需要使用這些針腳。

        上一頁 1 2 下一頁

        關鍵詞: FPGA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 徐闻县| 大名县| 合作市| 邹平县| 定安县| 侯马市| 蒲江县| 三江| 淅川县| 司法| 乌海市| 洪泽县| 临沭县| 隆昌县| 类乌齐县| 黄浦区| 南丹县| 丁青县| 江安县| 台北市| 那坡县| 宁阳县| 洞头县| 虹口区| 贵南县| 贵阳市| 新宁县| 林西县| 永善县| 济阳县| 河津市| 柘城县| 千阳县| 全南县| 都江堰市| 禹城市| 淮滨县| 兴宁市| 页游| 永年县| 溧阳市|