用內(nèi)部邏輯分析儀調(diào)試FPGA
復(fù)雜調(diào)試的一個例子是在SMPTE SDI HD顯示中尋找一個特別的像素。在特殊的情況下,找到EAV (end active video)時序是必須的,然后尋找與數(shù)據(jù)相關(guān)的特別線數(shù),再尋找SAV (start active video)時序。最后根據(jù)線中對應(yīng)的像素,計算字節(jié)數(shù)目,參見圖2。
圖2 SDI HD數(shù)據(jù)流實例
為了調(diào)試找到這種數(shù)據(jù)需要尋找值的時序,再找特殊值,然后結(jié)束序列,最后在捕獲數(shù)據(jù)前數(shù)時鐘的數(shù)目。為了理解是如何做的,必須查看具體的實現(xiàn)過程。萊迪思的Reveal硬件調(diào)試器使用觸發(fā)單元和觸發(fā)表示以決定觸發(fā)點。觸發(fā)單元是一個比較器,觸發(fā)表示允許觸發(fā)單元和序列值組合在一起。
對于這個SDI實例,用3個觸發(fā)單元來定義EAV和SAV序列,另外的觸發(fā)單元用于線數(shù),最后在發(fā)現(xiàn)數(shù)據(jù)前的一個計數(shù)聲明用于等待。觸發(fā)建立的實例如圖3所示。這個設(shè)置可以用來尋找任何要求的線數(shù)和像素,因為線數(shù)觸發(fā)的值和計數(shù)可以動態(tài)地改變。
圖3 觸發(fā)設(shè)置的實例
結(jié)論
工程師將繼續(xù)使用外部邏輯分析儀,因為用它分析系統(tǒng)級功能時是很有價值的。但是用于內(nèi)部FPGA調(diào)試需要連接到電路板,信號的數(shù)目受到了限制。而內(nèi)部邏輯分析儀在可用信號數(shù)目方面提供了很大的自由度,但是在觸發(fā)邏輯和跟蹤存儲器方面受到約束。然而小心地使用觸發(fā)選項使內(nèi)部邏輯分析儀在精確的時間開始捕獲數(shù)據(jù),要最大化可用的資源。這個例子中,需要分析在SDI視頻信號里特殊的像素(線和字)的復(fù)雜實現(xiàn)被分解成簡單的元素,這種方法提高了效率。這個例子只是瀏覽了內(nèi)部邏輯分析儀的使用和應(yīng)用。由于FPGA設(shè)計復(fù)雜性不斷增加,針對功能驗證和調(diào)試,內(nèi)部邏輯分析儀和類似的工具受到了設(shè)計者的青睞
評論