基于FPGA的PCI總線接口硬件調(diào)試策略
0 引言
在FPGA的設(shè)計(jì)流程中,完成設(shè)計(jì)輸入以及成功綜合、布局布線,只能說明設(shè)計(jì)符合一定的語法規(guī)范,而并不能保證其滿足設(shè)計(jì)人員對(duì)功能的要求,因而需要通過仿真對(duì)設(shè)計(jì)進(jìn)行驗(yàn)證。仿真驗(yàn)證的目的是為了發(fā)現(xiàn)設(shè)計(jì)的問題,而一旦發(fā)現(xiàn),就需要千方百計(jì)地通過調(diào)試找到問題所在,這其實(shí)也是設(shè)計(jì)中比較困難的。
隨著FPGA可編程器件容量的不斷增大和設(shè)計(jì)復(fù)雜度的日益提高,功能調(diào)試已經(jīng)成為一個(gè)很繁重的任務(wù)。為了使設(shè)計(jì)的產(chǎn)品盡快投入市場,設(shè)計(jì)人員需要一種簡易有效的測(cè)試工具,以盡可能縮短測(cè)試時(shí)間,提高測(cè)試效率。傳統(tǒng)的邏輯分析儀在測(cè)試復(fù)雜的FPGA設(shè)計(jì)時(shí),會(huì)面臨以下幾點(diǎn)問題:
1) I/O引腳有限。設(shè)計(jì)中器件的選擇依據(jù)設(shè)計(jì)規(guī)模而定,通常所選器件的I/O引腳數(shù)目和設(shè)計(jì)的需求是恰好匹配的;
2) I/O引腳難以引出。設(shè)計(jì)者為減小電路板的面積,大都采用細(xì)間距工藝技術(shù),這在不改變PCB板布線的情況下引出I/O引腳非常困難;
3)外接邏輯分析器有可能改變FPGA設(shè)計(jì)中信號(hào)的原來狀態(tài),因此,很難保證待測(cè)信號(hào)的正確性;
4)傳統(tǒng)的邏輯分析器價(jià)格昂貴,會(huì)增加設(shè)計(jì)成本。
1 Signal Tap硬件調(diào)試原理
為了盡快使設(shè)計(jì)的產(chǎn)品投入市場,就要盡可能地縮短設(shè)計(jì)驗(yàn)證所耗費(fèi)的時(shí)間。為此,Altera公司推出了一種新的調(diào)試工具。這種型號(hào)的Sig-nal TapⅡ的邏輯分析器具有無干擾、便于升級(jí)、使用簡單、價(jià)格低廉等優(yōu)點(diǎn),可滿足FPGA開發(fā)中硬件調(diào)試的要求。
Signal TapⅡ邏輯分析器集成到QuartusⅡ設(shè)計(jì)軟件中,能夠捕獲和顯示可編程單芯片系統(tǒng)(SOPC)設(shè)計(jì)中的實(shí)時(shí)信號(hào)狀態(tài),這樣,開發(fā)者就可以在整個(gè)設(shè)計(jì)過程中以系統(tǒng)級(jí)速度觀察硬件和軟件的交互。Signal TapⅡ可支持多達(dá)1024個(gè)通道,采樣深度高達(dá)128KB,每個(gè)分析器均有1O級(jí)觸發(fā)輸入/輸出,從而增加了采樣的精度。可以說,Signal TapⅡ?yàn)樵O(shè)計(jì)者提供了業(yè)界領(lǐng)先的SOPC設(shè)計(jì)的實(shí)時(shí)可視性,它能夠大大減少驗(yàn)證過程中所花費(fèi)的時(shí)間。目前,SignalTapⅡ邏輯分析器可以支持的器件系列包括:APEXT II,APEX20KE,APEX20KC,APEX20K,Cyclone,Ex-calibur,Mercury,Stratix GX,Stratix等。Signal TapⅡ?qū)⑦壿嫹治瞿K嵌入到FPGA中,圖1所示是Signal TapⅡ的嵌入式邏輯分析器結(jié)構(gòu)框圖。圖中,邏輯分析模塊可對(duì)待測(cè)節(jié)點(diǎn)數(shù)據(jù)進(jìn)行捕獲。并將數(shù)據(jù)通過JTAG接口從FPGA傳送到QuartusⅡ中顯示。使用Signal TapⅡ無需額外的邏輯分析設(shè)備,只需將一根JTAG接口的下載電纜連接到要調(diào)試的FPGA器件,Signal TapⅡ在對(duì)FPGA的引腳和內(nèi)部的連線信號(hào)進(jìn)行捕獲后,便可將數(shù)據(jù)存儲(chǔ)在FPGA的RAM塊中。因此,需要為采樣信號(hào)、觸發(fā)信號(hào)和待測(cè)信號(hào)預(yù)留一定數(shù)目的RAM塊。
2 使用Signal Tap的一般流程
圖2所示是Signal TapⅡ的調(diào)試流程示意圖。使用Signal TapⅡ的一般流程,是在完成設(shè)計(jì)并編譯工程后,建立Signal TapⅡ(.stp)文件并加入工程,然后再配置STP文件,并將其編譯并下載設(shè)計(jì)到FPGA中,接著在QuartusⅡ軟件中顯示被測(cè)信號(hào)的波形,并在測(cè)試完畢后將該邏輯分析器從項(xiàng)目中刪除。
其Signal TapⅡ文件設(shè)置和采集信號(hào)數(shù)據(jù)的基本流程如下:
(1)建立新的Signal TapⅡ文件;
(2)設(shè)置采樣時(shí)鐘。采樣時(shí)鐘決定了顯示信號(hào)波形的分辨率,它的頻率要大于被測(cè)信號(hào)的最高頻率,否則將無法正確反映被測(cè)信號(hào)波形的變化。Signal TapⅡ通常在時(shí)鐘上升沿將被測(cè)信號(hào)存儲(chǔ)到緩存。
評(píng)論