《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的PCI總線(xiàn)接口硬件調(diào)試策略
基于FPGA的PCI總線(xiàn)接口硬件調(diào)試策略
西安電子科技大學(xué) 陳重
摘要: Signal TapⅡ邏輯分析器集成到QuartusⅡ設(shè)計(jì)軟件中,能夠捕獲和顯示可編程單芯片系統(tǒng)(SOPC)設(shè)計(jì)中的實(shí)時(shí)信號(hào)狀態(tài),,這樣,,開(kāi)發(fā)者就可以在整個(gè)設(shè)計(jì)過(guò)程中以系統(tǒng)級(jí)速度觀察硬件和軟件的交互。Signal TapⅡ可支持多達(dá)1024個(gè)通道,,采樣深度高達(dá)128KB,,每個(gè)分析器均有1O級(jí)觸發(fā)輸入/輸出,從而增加了采樣的精度,。
Abstract:
Key words :

        在FPGA的設(shè)計(jì)流程中,,完成設(shè)計(jì)輸入以及成功綜合、布局布線(xiàn),,只能說(shuō)明設(shè)計(jì)符合一定的語(yǔ)法規(guī)范,,而并不能保證其滿(mǎn)足設(shè)計(jì)人員對(duì)功能的要求,因而需要通過(guò)仿真對(duì)設(shè)計(jì)進(jìn)行驗(yàn)證,。仿真驗(yàn)證的目的是為了發(fā)現(xiàn)設(shè)計(jì)的問(wèn)題,,而一旦發(fā)現(xiàn),,就需要千方百計(jì)地通過(guò)調(diào)試找到問(wèn)題所在,這其實(shí)也是設(shè)計(jì)中比較困難的,。

  隨著FPGA可編程器件容量的不斷增大和設(shè)計(jì)復(fù)雜度的日益提高,,功能調(diào)試已經(jīng)成為一個(gè)很繁重的任務(wù),。為了使設(shè)計(jì)的產(chǎn)品盡快投入市場(chǎng),,設(shè)計(jì)人員需要一種簡(jiǎn)易有效的測(cè)試工具,以盡可能縮短測(cè)試時(shí)間,,提高測(cè)試效率,。傳統(tǒng)的邏輯分析儀在測(cè)試復(fù)雜的FPGA設(shè)計(jì)時(shí),會(huì)面臨以下幾點(diǎn)問(wèn)題:
  (1) I/O引腳有限,。設(shè)計(jì)中器件的選擇依據(jù)設(shè)計(jì)規(guī)模而定,,通常所選器件的I/O引腳數(shù)目和設(shè)計(jì)的需求是恰好匹配的;
  (2) I/O引腳難以引出,。設(shè)計(jì)者為減小電路板的面積,,大都采用細(xì)間距工藝技術(shù),這在不改變PCB板布線(xiàn)的情況下引出I/O引腳非常困難,;
  (3)外接邏輯分析器有可能改變FPGA設(shè)計(jì)中信號(hào)的原來(lái)狀態(tài),,因此,很難保證待測(cè)信號(hào)的正確性,;
  (4)傳統(tǒng)的邏輯分析器價(jià)格昂貴,,會(huì)增加設(shè)計(jì)成本。
  1 Signal Tap硬件調(diào)試原理
  為了盡快使設(shè)計(jì)的產(chǎn)品投入市場(chǎng),,就要盡可能地縮短設(shè)計(jì)驗(yàn)證所耗費(fèi)的時(shí)間,。為此,Altera公司推出了一種新的調(diào)試工具,。這種型號(hào)的Sig-nal TapⅡ的邏輯分析器具有無(wú)干擾,、便于升級(jí)、使用簡(jiǎn)單,、價(jià)格低廉等優(yōu)點(diǎn),,可滿(mǎn)足FPGA開(kāi)發(fā)中硬件調(diào)試的要求。
  Signal TapⅡ邏輯分析器集成到QuartusⅡ設(shè)計(jì)軟件中,,能夠捕獲和顯示可編程單芯片系統(tǒng)(SOPC)設(shè)計(jì)中的實(shí)時(shí)信號(hào)狀態(tài),,這樣,開(kāi)發(fā)者就可以在整個(gè)設(shè)計(jì)過(guò)程中以系統(tǒng)級(jí)速度觀察硬件和軟件的交互,。Signal TapⅡ可支持多達(dá)1024個(gè)通道,,采樣深度高達(dá)128KB,每個(gè)分析器均有1O級(jí)觸發(fā)輸入/輸出,,從而增加了采樣的精度,??梢哉f(shuō),Signal TapⅡ?yàn)樵O(shè)計(jì)者提供了業(yè)界領(lǐng)先的SOPC設(shè)計(jì)的實(shí)時(shí)可視性,,它能夠大大減少驗(yàn)證過(guò)程中所花費(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ù)通過(guò)JTAG接口從FPGA傳送到QuartusⅡ中顯示,。使用Signal TapⅡ無(wú)需額外的邏輯分析設(shè)備,只需將一根JTAG接口的下載電纜連接到要調(diào)試的FPGA器件,,Signal TapⅡ在對(duì)FPGA的引腳和內(nèi)部的連線(xiàn)信號(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)的最高頻率,否則將無(wú)法正確反映被測(cè)信號(hào)波形的變化,。Signal TapⅡ通常在時(shí)鐘上升沿將被測(cè)信號(hào)存儲(chǔ)到緩存,。
 
  (3)設(shè)置被測(cè)信號(hào),。可以使用Node Finder中的SignalI TapⅡ?yàn)V波器查找所有預(yù)綜合和布局布線(xiàn)后的Signal TapⅡ節(jié)點(diǎn),,添加要觀察的信號(hào),。邏輯分析器不可測(cè)試的信號(hào)包括:邏輯單元的進(jìn)位信號(hào)、PLL的時(shí)鐘輸出,、JTAG引腳信號(hào),、LVDS(低壓差分)信號(hào)等。
 
  (4)配置采樣深度,,確定RAM的大小,。Signal TapⅡ所能顯示的被測(cè)信號(hào)波形的時(shí)間長(zhǎng)度為T(mén)X,,其計(jì)算公式如下:
               TX=NTS
  式中,,N為緩存中存儲(chǔ)的采樣點(diǎn)數(shù),TS為采樣時(shí)鐘的周期,;
  (5)設(shè)置buffer acquisition mode,。buffer ac-quisition mode包括循環(huán)采樣存儲(chǔ)和連續(xù)存儲(chǔ)兩種模式。循環(huán)采樣存儲(chǔ)也就是分段存儲(chǔ),,即將整個(gè)緩存分成多個(gè)片段(segment),,每當(dāng)觸發(fā)條件滿(mǎn)足時(shí)就捕獲一段數(shù)據(jù)。該功能可以去掉無(wú)關(guān)的數(shù)據(jù),,使采樣緩存的使用更加靈活,;
 
  (6)觸發(fā)級(jí)別。Signal TapⅡ支持多觸發(fā)級(jí)的觸發(fā)方式,,最多可支持1O級(jí)觸發(fā),,設(shè)計(jì)人員可以只查看最重要的數(shù)據(jù)。
 
  (7)觸發(fā)條件,。Signal TapⅡ邏輯分析器可支持多個(gè)觸發(fā)位置以及外部觸發(fā)事件,,可以使用Signal TapⅡ邏輯分析器窗口中的Signal Configu-ration面板來(lái)設(shè)置觸發(fā)器選項(xiàng),也可以設(shè)定復(fù)雜的觸發(fā)條件來(lái)捕獲相應(yīng)的數(shù)據(jù),,以協(xié)助調(diào)試設(shè)計(jì),。當(dāng)觸發(fā)條件滿(mǎn)足時(shí),可在Signal Tap時(shí)鐘的上升沿采樣被測(cè)信號(hào),。
       3 使用Signal Tap調(diào)試PCI主設(shè)備控制器
  Signal TapⅡ邏輯分析器的使用大大加快了PCI主設(shè)備控制器的調(diào)試進(jìn)程,,例如在調(diào)試DMA傳輸后的中斷產(chǎn)生時(shí),由于軟件檢測(cè)不到中斷而導(dǎo)致DMA傳輸結(jié)束后,,可能會(huì)使計(jì)算機(jī)死機(jī)而不能正常結(jié)束(完整的流程是:DMA傳輸結(jié)束,,產(chǎn)生中斷,并在軟件檢測(cè)到中斷后進(jìn)人中斷服務(wù)程序來(lái)處理中斷,,然后清除),。
  對(duì)中斷產(chǎn)生的條件進(jìn)行檢查時(shí),,32位的DMA計(jì)數(shù)器必須為0,而且DMA傳輸結(jié)束標(biāo)志信號(hào)必須有效,,針對(duì)這一條件,,使用普通的示波器和邏輯分析器根本無(wú)法跟蹤到,但是使用SignalTapⅡ邏輯分析器的高級(jí)設(shè)置,,就可將這兩個(gè)條件作為觸發(fā)條件,,從而檢測(cè)到中斷是否產(chǎn)生,其高級(jí)設(shè)置如圖3所示,。
 
  4 結(jié)束語(yǔ)
  與傳統(tǒng)邏輯分析器相比,,使用Signal TapⅡ邏輯分析器有以下優(yōu)勢(shì):
  (1)不占用額外的I/O資源。若使用傳統(tǒng)的邏輯分析儀觀察信號(hào)波形,,則必須將待觀察信號(hào)引到空閑管腳,,這樣,在器件管腳緊張的時(shí)候,,Signal TapⅡ邏輯分析器的優(yōu)點(diǎn)就可以得到充分地體現(xiàn),。
  (2)不占用PCB空間。若使用傳統(tǒng)邏輯分析儀,,則需要從FPGA器件上引出測(cè)試管腳到PCB上,,這樣會(huì)增加PCB走線(xiàn)難度;
  (3)不破壞信號(hào)的完整性,;
     (4)傳統(tǒng)邏輯分析儀價(jià)格昂貴,,而將Signal TapⅡ邏輯分析器集成在QuartusⅡ軟件中,無(wú)需另外付費(fèi),;
   因此,,可以預(yù)見(jiàn),Signal TapⅡ邏輯分析器將受到越來(lái)越多的設(shè)計(jì)工程師的青睞,。
 
來(lái)源:電子元器件應(yīng)用

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。