• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 用內部邏輯分析儀調試FPGA(08-100)

    用內部邏輯分析儀調試FPGA(08-100)

    ——
    作者:Brian Caslis 萊迪思半導體公司 時間:2009-02-25 來源:電子產品世界 收藏

      外部受到的限制

    本文引用地址:http://www.czjhyjcfj.com/article/91697.htm

      外部已經用了幾十年了。外部的最大優點是能夠存儲大量的信號信息,或者用來跟蹤數據。配置在不斷變化,但大多數外部邏輯分析儀可以存儲兆字節的數據。為了對使用外部邏輯分析儀,數據信號必須引到片外。可用兩種方法中的一種來做。第一種方法是直接把信號送到用于觀察的I/O引腳。取決于 的封裝類型,接觸I/O引腳 可能會有困難。 針對用這種方法進行調試的電路板 設計 要用連接器,例如與相連的MICTOR連接 器。然而這種方法不是很有效, 因為每個信號都需要一個I/O引腳。

      第二種方法是插入能把信號引到I/O的核。這種方法的優點是這個核設計成能多路復用信號至I/O引腳,允許引腳共享。這種方法的局限是信號要被外部的邏輯分析儀實時捕獲,多路復用大大降低了快速捕獲信號的可能性。由于這個原因,通常使用2x 或者 4x多路復用方案。這意味著現在32 個I/O引腳可以支持64個或128個信號。這樣得到了很大的改進,但是仍然有限制,例如要調試寬總線的情況。一旦信號連接到外部的邏輯分析儀,然后就設置觸發和數據捕獲條件。

      使用外部邏輯分析儀設置的約束是有限的信號、高速觸發邏輯和大量的跟蹤存儲器。大多數邏輯分析儀使用狀態機觸發機制。用戶指定一個值等待這個信號,然后捕獲這個數據,或者進入另一個狀態,尋找不同的情況。這些信號本身是靜態的,但各種情況是動態的,會在任何時候發生變化。給定約束后,這個方法很有效。因為限制了信號的數目,在信號組合的情況下減少了操作數。但是跟蹤的存儲器相對較大,試圖找到一個接近的觀察點是很普通的事,然后捕捉大量的數據以找到問題所在。

      使用內部邏輯分析儀

      用內部邏輯分析儀能與外部邏輯分析儀一樣對FPGA進行功能調試。內部邏輯分析儀使用嵌入在FPGA設計中的一個或多個邏輯分析儀核。設計者使用PC在軟件中設置觸發條件,通過JTAG訪問FPGA。一旦邏輯分析儀軟核捕獲了數據,通過JTAG將信息返回PC,然后設計者對這些數據進行觀察。觸發信號的復雜性和跟蹤存儲器的大小對信號數目有限制。大多數情況下,設計者可以觀察成百上千個信號。

      觸發資源受FPGA限制,即未使用的邏輯和RAM。跟蹤存儲器有些實現需要RAM。有些則需要RAM或者LUT。然而,所需要的跟蹤存儲器比用外部邏輯分析儀大大減少,通常為數千位與數百萬位之比。觸發和數據捕獲以設計的全速進行,因為信號不需要在FPGA片外復用。

      用外部邏輯分析儀時,信號必須靜態定義。改變信號經常需要FPGA再次執行,盡管有些工具提供只增加FPGA布線來改變部分或全部連接信號的能力。在調試期間,大多數實現部分或所有觸發條件動態地改變。然而,觸發的復雜性的變化取決于所用的工具。信號差別越多,所能提供的存儲器就越小。為了獲得最佳的結果,不同的觸發選項驅動了使用內部邏輯分析儀的需要。

      復雜調試的一個例子是在SMPTE SDI HD顯示中尋找一個特別的像素。在特殊的情況下,找到EAV (end active video)時序是必須的,然后尋找與數據相關的特別線數,再尋找SAV (start active video)時序。最后根據線中對應的像素,計算字節數目,參見圖2。

     

      圖2 SDI HD數據流實例



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 武陟县| 五莲县| 游戏| 长泰县| 类乌齐县| 湛江市| 巍山| 阿拉善左旗| 清水河县| 佛学| 荔波县| 天台县| 斗六市| 衡山县| 吴堡县| 曲麻莱县| 满洲里市| 永和县| 诏安县| 广元市| 大埔区| 香河县| 稷山县| 宿迁市| 阜城县| 广元市| 辰溪县| 南川市| 曲水县| 武夷山市| 同江市| 南部县| 石门县| 绵阳市| 方城县| 咸阳市| 连平县| 新郑市| 仁寿县| 安多县| 玉树县|