《電子技術應用》
您所在的位置:首頁 > 測試測量 > 解決方案 > 用內部邏輯分析儀調試FPGA

用內部邏輯分析儀調試FPGA

2010-12-13

 推動FPGA調試技術改變的原因

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

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

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

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

  最后,推動FPGA調試方法改變的關鍵因素是有了新的工具,這些工具采用內部或者嵌入式邏輯分析儀。

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

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

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

  為了調試找到這種數據需要尋找值的時序,再找特殊值,然后結束序列,最后在捕獲數據前數時鐘的數目。為了理解是如何做的,必須查看具體的實現過程。萊迪思的Reveal硬件調試器使用觸發單元和觸發表示以決定觸發點。觸發單元是一個比較器,觸發表示允許觸發單元和序列值組合在一起。

  對于這個SDI實例,用3個觸發單元來定義EAV和SAV序列,另外的觸發單元用于線數,最后在發現數據前的一個計數聲明用于等待。觸發建立的實例如圖3所示。這個設置可以用來尋找任何要求的線數和像素,因為線數觸發的值和計數可以動態地改變。
 

                                圖3 觸發設置的實例

  結論

  工程師將繼續使用外部邏輯分析儀,因為用它分析系統級功能時是很有價值的。但是用于內部FPGA調試需要連接到電路板,信號的數目受到了限制。而內部邏輯分析儀在可用信號數目方面提供了很大的自由度,但是在觸發邏輯和跟蹤存儲器方面受到約束。然而小心地使用觸發選項使內部邏輯分析儀在精確的時間開始捕獲數據,要最大化可用的資源。這個例子中,需要分析在SDI視頻信號里特殊的像素(線和字)的復雜實現被分解成簡單的元素,這種方法提高了效率。這個例子只是瀏覽了內部邏輯分析儀的使用和應用。由于FPGA設計復雜性不斷增加,針對功能驗證和調試,內部邏輯分析儀和類似的工具受到了設計者的青睞。
 

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 一级日韩一级欧美| 亚洲校园春色另类激情| 国产精品2019| 天堂网在线.www天堂在线资源| 久久国产精品99国产精| 欧美激情精品久久久久久久九九九 | 五月天精品在线| 热99re久久精品2久久久| 国产av人人夜夜澡人人爽麻豆 | 在线免费观看h片| 中国好声音第二季免费播放| 日韩高清在线不卡| 亚洲欧美综合区自拍另类| 精品国产自在久久| 国产在线无码视频一区| 26uuu页面升级| 天天躁日日躁狠狠躁av中文| 中文字幕精品视频在线| 最近中文字幕免费版在线3| 在线观看免费成人| 国产女人18毛片水真多18精品| 一级**爱片免费视频| 柳菁菁《萃5》专辑| 伊人久久无码中文字幕| 色成快人播电影网| 国产福利免费视频| 99热精品久久只有精品| 成人免费视频软件网站| 久久国产综合精品swag蓝导航| 欧美日韩国产一区二区三区在线观看| 午夜一级做a爰片久久毛片| 青青热久久久久综合精品| 国产精品一区二区AV麻豆| 99久在线观看| 富二代app免费下载安装ios二维码| 久久久久亚洲av无码尤物| 林俊逸高圆圆第1190章| 亚洲欧美一区二区三区四区| 男人用嘴添女人下身免费视频| 吃奶摸下高潮60分钟免费视频 | 免费国产污网站在线观看|