用內(nèi)部邏輯分析儀調(diào)試FPGA(08-100)
推動(dòng)FPGA調(diào)試技術(shù)改變的原因
本文引用地址:http://cafeforensic.com/article/91697.htm進(jìn)行硬件設(shè)計(jì)的功能調(diào)試時(shí),FPGA的再編程能力是關(guān)鍵的優(yōu)點(diǎn)。CPLD和FPGA早期使用時(shí),如果發(fā)現(xiàn)設(shè)計(jì)不能正常工作,工程師就使用“調(diào)試鉤”的方法。先將要觀察的FPGA內(nèi)部信號(hào)引到引腳,然后用外部的邏輯分析儀捕獲數(shù)據(jù)。然而當(dāng)設(shè)計(jì)的復(fù)雜程度增加時(shí),這個(gè)方法就不再適合了,其中有幾個(gè)原因。第一是由于FPGA的功能增加了,而器件的引腳數(shù)目卻緩慢地增長(zhǎng)。因此,可用邏輯對(duì)I/O的比率減小了,參見圖1。此外,設(shè)計(jì)很復(fù)雜時(shí),通常完成設(shè)計(jì)后只有幾個(gè)空余的引腳,或者根本就沒有空余的引腳能用于調(diào)試。
圖1 Lattice FPGA的LUT/可用I/O
第二,現(xiàn)在設(shè)計(jì)的復(fù)雜性經(jīng)常需要觀察許多信號(hào),而不是幾個(gè)信號(hào)。常用的技術(shù)是實(shí)現(xiàn)較寬的內(nèi)部總線,以便在較大的FPGA中達(dá)到高的系統(tǒng)吞吐量。如果懷疑內(nèi)部的32位總線里有壞的數(shù)據(jù),則難以用幾個(gè)I/O引腳來確定問題所在。
第三,通常需要在系統(tǒng)中測(cè)試復(fù)雜的功能。在這種情況下,在系統(tǒng)中調(diào)試時(shí)訪問一些I/O也許是有限的。新類型的包還限制訪問FPGA引腳。系統(tǒng)速度也是個(gè)問題,因?yàn)樘结樀倪B接可能會(huì)引起性能或者噪聲信號(hào)降低。
最后,推動(dòng)FPGA調(diào)試方法改變的關(guān)鍵因素是有了新的工具,這些工具采用 內(nèi)部或者嵌入式邏輯分析儀。
擁有這些工具可得到最佳的結(jié)果,而不是用與先前工具相同的方法。資源、靜態(tài)參數(shù)和動(dòng)態(tài)參數(shù)通常約束了內(nèi)部邏輯分析儀和外部邏輯分析儀。本文對(duì)這兩種類型工具的約束進(jìn)行了比較,考察如何最佳地利用內(nèi)部邏輯分析儀。
評(píng)論