新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 用內(nèi)部邏輯分析儀調(diào)試FPGA

用內(nèi)部邏輯分析儀調(diào)試FPGA

作者: 時間:2009-03-06 來源:網(wǎng)絡(luò) 收藏

推動技術(shù)改變的原因

本文引用地址:http://www.butianyuan.cn/article/192146.htm

  進(jìn)行硬件設(shè)計的功能時,的再編程能力是關(guān)鍵的優(yōu)點。CPLD和早期使用時,如果發(fā)現(xiàn)設(shè)計不能正常工作,工程師就使用“鉤”的方法。先將要觀察的FPGA內(nèi)部信號引到引腳,然后用外部的捕獲數(shù)據(jù)。然而當(dāng)設(shè)計的復(fù)雜程度增加時,這個方法就不再適合了,其中有幾個原因。第一是由于FPGA的功能增加了,而器件的引腳數(shù)目卻緩慢地增長。因此,可用邏輯對I/O的比率減小了,參見圖1。此外,設(shè)計很復(fù)雜時,通常完成設(shè)計后只有幾個空余的引腳,或者根本就沒有空余的引腳能用于調(diào)試。

   圖1 Lattice FPGA的LUT/可用I/O

  第二,現(xiàn)在設(shè)計的復(fù)雜性經(jīng)常需要觀察許多信號,而不是幾個信號。常用的技術(shù)是實現(xiàn)較寬的內(nèi)部總線,以便在較大的FPGA中達(dá)到高的系統(tǒng)吞吐量。如果懷疑內(nèi)部的32位總線里有壞的數(shù)據(jù),則難以用幾個I/O引腳來確定問題所在。

  第三,通常需要在系統(tǒng)中測試復(fù)雜的功能。在這種情況下,在系統(tǒng)中調(diào)試時訪問一些I/O也許是有限的。新類型的包還限制訪問FPGA引腳。系統(tǒng)速度也是個問題,因為探針的連接可能會引起性能或者噪聲信號降低。

  最后,推動FPGA調(diào)試方法改變的關(guān)鍵因素是有了新的工具,這些工具采用內(nèi)部或者嵌入式。

  擁有這些工具可得到最佳的結(jié)果,而不是用與先前工具相同的方法。資源、靜態(tài)參數(shù)和動態(tài)參數(shù)通常約束了內(nèi)部和外部邏輯分析儀。本文對這兩種類型工具的約束進(jìn)行了比較,考察如何最佳地利用內(nèi)部邏輯分析儀。

外部邏輯分析儀受到的限制

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

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

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

使用內(nèi)部邏輯分析儀

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

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

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


上一頁 1 2 下一頁

關(guān)鍵詞: FPGA 邏輯分析儀 調(diào)試

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉