9.4 ChipScope Pro分析儀
ChipScope Pro 分析工具(Analyzer tool)直接與ICON、ILA、IBA、VIO及IBERT核相連,用戶可以實(shí)時(shí)地創(chuàng)建或修改觸發(fā)條件。
注意:雖然ChipScope Pro分析工具能識(shí)別設(shè)計(jì)中的ATC2核,但是需要將JTAG接口與安捷倫邏輯分析儀相連,建立ATC2核與安捷倫邏輯分析儀的通信。
分析工具有兩部分:分析工具服務(wù)器和客戶端。
(1) 服務(wù)器是命令行服務(wù)程序,可以通過(guò)JTAG下載電纜連接目標(biāo)器件的JTAG口。如果用戶想通過(guò)JTAG下載線調(diào)試本地目標(biāo)系統(tǒng),不需要手動(dòng)打開(kāi)分析工具服務(wù)器,只有當(dāng)用戶需要和遠(yuǎn)程客戶端相連時(shí),才需要手動(dòng)打開(kāi)分析工具服務(wù)器
(2) 分析工具客戶端是一個(gè)圖形化的用戶接口界面(GUI),它連接目標(biāo)系統(tǒng)的JTAG鏈,與目標(biāo)器件中的ChipScope內(nèi)核通信。分析工具的客戶端和服務(wù)器可以運(yùn)行在一臺(tái)機(jī)器上(local host模式)或者不同機(jī)器上(remote模式),remote模式在以下情況下非常有用。
調(diào)試一個(gè)遠(yuǎn)程系統(tǒng)。
和其他同事共享一個(gè)系統(tǒng)資源。
給遠(yuǎn)程客戶演示問(wèn)題或功能。
在大部分情況下,用戶是通過(guò)分析工具客戶端來(lái)對(duì)設(shè)計(jì)進(jìn)行分析的,這里詳細(xì)介紹客戶端界面和功能。客戶端界面如圖9-38所示。
圖9-38 【Chipscope Pro Analyzer tool】客戶端接口
分析工具客戶端由菜單欄、常用工具欄、項(xiàng)目瀏覽器、信號(hào)瀏覽器、主窗口以及信息顯示窗口組成。
(1) 菜單欄。
【File】文件菜單:包含與工程相關(guān)的操作,如【New Project】新建項(xiàng)目、【Open Project】打開(kāi)項(xiàng)目、【Save Project】保存項(xiàng)目、【Save Project As】項(xiàng)目另存、【Page Setup】頁(yè)面建立、【Print】打印、【Import】導(dǎo)入、【Export】導(dǎo)出以及【Exit】退出等命令。其中比較重要的導(dǎo)入和導(dǎo)出功能,【Import】導(dǎo)入用于從設(shè)計(jì)文件中獲取信號(hào)列表,【Export】導(dǎo)出用于提取捕獲數(shù)據(jù),以便后續(xù)觀察和處理。
【View】視圖菜單:包含了顯示【Project Tree】項(xiàng)目瀏覽器和顯示【Messages】信息顯示窗口兩個(gè)命令。
【JTAG Chain】邊界掃描鏈路菜單:包含了下載電纜相關(guān)的命令,有【Serve Host Setting】主機(jī)服務(wù)設(shè)臵、【JTAG Chain Setup】JTAG鏈建立、【Xilinx parallel Cable】連接X(jué)ilinx并行下載線、【Xilinx parallel USB Cable】連接X(jué)ilinx并行USB下載線、【Close Cable】關(guān)閉電纜、【Get Cable Information】獲取電纜信息以及【Auto Core Status Poll】打開(kāi)自動(dòng)核狀態(tài)查詢等。
【Device】器件菜單:包含了【JTAG Device Chain Setup】邊界掃描鏈設(shè)臵、【Configure】配臵器件、【Show IDCODE】顯示器件識(shí)別碼和【Show USERCODE】顯示用戶碼等命令。
【W(wǎng)indows】窗口菜單:包含了【New Unit Window】新建窗口單元、【Close】關(guān)閉、【Auto Layout】自動(dòng)重排等相關(guān)命令。
【Help】幫助菜單:包含了版本信息以及所有核信息。
(2) 項(xiàng)目瀏覽器:項(xiàng)目瀏覽器在JTAG邊界掃描鏈正確初始化后會(huì)列出掃描鏈上所有能識(shí)別的器件,顯示核的數(shù)目,并為每個(gè)核創(chuàng)建一個(gè)文件夾,其中包含了觸發(fā)條件設(shè)置和要觀察信號(hào)的波形文件。在配置下載完成后,項(xiàng)目瀏覽器也會(huì)同時(shí)更新。
(3) 信號(hào)瀏覽器:信號(hào)瀏覽器用于添加和刪除視圖中的信號(hào),當(dāng)在項(xiàng)目瀏覽器中選中一個(gè)ChipScope核后,在信號(hào)瀏覽器中會(huì)顯示出與此核相關(guān)的信號(hào),可以對(duì)這些信號(hào)重命名或?qū)⑿盘?hào)組合成總線的形式。
命名信號(hào)和總線,雙擊或者單擊右鍵后選擇【Rename】,可以重新命名信號(hào)和總線名稱。
從窗口中添加/移除信號(hào)。用【Clear All】→【W(wǎng)aveform】或者【Clear All】→【Listing】命令刪除信號(hào)。用【Add ALL To View】命令添加信號(hào)。
合并/添加信號(hào)到總線。對(duì)于ILA核和IBA核,只有數(shù)據(jù)信號(hào)可以合并總線,對(duì)于VIO核,可以將各類(lèi)信號(hào)分組。單擊要分組的信號(hào),選擇【Add To Bus】→【New Bus】,將總線信號(hào)重新排序。利用【Reverse Bus Order】命令可以將LSB到MSB排列的總線順序變成MSB到LSB排列。
(4) 主窗口:主窗口主要用于顯示【Trigger Setup】、【W(wǎng)avaform】、【Listing】以及【Bus Plot】等窗口。
(5) 信息顯示窗口:信息顯示窗口會(huì)列出分析儀所有的狀態(tài)信息,便于用戶查看。
使用Analyzer觀察信號(hào)波形時(shí),首先需要將設(shè)計(jì)和ChipScope Pro核共同生成的配置文件下載到FPGA芯片中。然后通過(guò)設(shè)定不同的觸發(fā)條件捕獲數(shù)據(jù),將其存儲(chǔ)在芯片的BRAM中,通過(guò)JTAG鏈回讀到PC上觀察波形。
一、 配置目標(biāo)芯片
打開(kāi)Analyzer,在常用工具欄上單擊,初始化邊界掃描鏈,成功完成掃描后,項(xiàng)目瀏覽器會(huì)列出JTAG鏈上的器件,如圖9-39所示。Analyzer能自動(dòng)識(shí)別出邊界掃描鏈上的所有Xilinx的CPLD、FPGA、PROM以及System ACE芯片。圖9-39所示為ML505目標(biāo)板的JTAG鏈掃描結(jié)果。
圖9-39 Analyzer邊界掃描結(jié)果
當(dāng)JTAG鏈掃描正確后,菜單項(xiàng)“Device”才能由灰色變?yōu)檎!P枰⒁獾氖牵篊hipScope通過(guò)JTAG鏈來(lái)觀察芯片內(nèi)部邏輯,因此在生成配置文件時(shí)只能利用.bit格式的配置文件,且時(shí)鐘需要選擇“JTAG CLK”,選擇“CCLK”可能會(huì)導(dǎo)致配置失敗。
二、 設(shè)置觸發(fā)條件
將包含ChipScope核的工程下載到FPGA中以后,還需要設(shè)定觸發(fā)條件才能在Analyzer中捕獲到有效波形。Analyzer的觸發(fā)設(shè)置由【Match】匹配、【Trig】觸發(fā)以及【Capture】捕獲三部分組成,其中【Match】用于設(shè)置匹配函數(shù),【Trig】用于把一個(gè)或多個(gè)觸發(fā)條件組合起來(lái)構(gòu)成復(fù)雜的觸發(fā)條件,【Capture】用于設(shè)定窗口的數(shù)目和觸發(fā)位置,典型的配置界面如圖9-40所示。
圖9-40 Analyzer觸發(fā)條件配置示意圖
(1) 【Match】里設(shè)置觸發(fā)條件的匹配函數(shù),多個(gè)函數(shù)的組合構(gòu)成ChipScope Pro核的整個(gè)觸發(fā)條件。
【Match Unit】:用于指定該函數(shù)用于哪個(gè)觸發(fā)的匹配函數(shù)。
【Function】:選擇比較類(lèi)型。
【Value】:設(shè)臵比較的具體數(shù)值。
【Radix】:設(shè)臵【Value】里的數(shù)據(jù)格式。可以是十六進(jìn)制、八進(jìn)制、二進(jìn)制、有符號(hào)或者無(wú)符號(hào)數(shù)。
【Count】:觸發(fā)條件所設(shè)臵的事件發(fā)生多少次之后才認(rèn)為滿足觸發(fā)條件。
【at least n times】:事件連續(xù)或者不連續(xù)發(fā)生n次后滿足觸發(fā)函數(shù)條件。
【for n cycles】:事件只有連續(xù)發(fā)生n次才算滿足觸發(fā)函數(shù)條件。
(2) 【Trig】窗格可以把一個(gè)或多個(gè)觸發(fā)條件組合起來(lái),構(gòu)成復(fù)雜的觸發(fā)條件。觸發(fā)條件是一個(gè)或者多個(gè)觸發(fā)條件的組合,ChipScope Pro根據(jù)觸發(fā)條件判斷是否捕獲數(shù)據(jù)。在Analyzer中可以定義多個(gè)觸發(fā)條件。
【Add】按鈕:可以加入新的觸發(fā)條件。
【Del】按鈕:可以刪除觸發(fā)條件。
【Trigger Condition Name】:允許用戶為觸發(fā)條件命名。
【Trigger Condition Equation】:顯示觸發(fā)條件的構(gòu)成,默認(rèn)為來(lái)自不同觸發(fā)條件函數(shù)的邏輯與。如果希望改變?cè)撛O(shè)臵,可以單擊該區(qū)域,彈出【Trigger Condition】對(duì)話框,如圖9-41所示。可以根據(jù)需要設(shè)臵,設(shè)臵的觸發(fā)條件等式將重新顯示在對(duì)話框的下方。在工程管理窗口選擇【Trigger Setup】→【Save Trigger Setup】命令,可以將觸發(fā)設(shè)臵保存到后綴為.ctj的文件中,方便下次調(diào)用。選擇【Trigger Setup】→【Read Trigger Setup】命令,可以從該文件中讀入觸發(fā)條件設(shè)臵參數(shù)。
圖9-41 【Trigger Condition】設(shè)置界面
(3) 【Capture】里可以設(shè)置視窗的數(shù)目和視窗中觸發(fā)事件的位置,這些視窗通常包含由一個(gè)觸發(fā)事件產(chǎn)生的一連串連續(xù)采樣點(diǎn)。
【Type】下拉列表框:定義了所用視窗的類(lèi)型,如果選擇【W(wǎng)indows】類(lèi)型,那么視窗中的采樣數(shù)必須是2的若干次方,觸發(fā)可以發(fā)生在視窗的任何位臵;選擇【N Samples】類(lèi)型,緩沖器buffer中將包含多個(gè)視窗。每個(gè)視窗包含N個(gè)采樣點(diǎn),每個(gè)觸發(fā)總在第一個(gè)采樣窗口。
【W(wǎng)indows】編輯框:用來(lái)定義窗口的數(shù)目,數(shù)值范圍為1到捕獲緩沖區(qū)的深度之間。
【Depth】下拉列表框:每個(gè)觸發(fā)窗口的深度,深度由窗口數(shù)量決定。
【Position】編輯框:觸發(fā)位臵,范圍為1到捕獲緩沖區(qū)深度減1之間。
三、 捕獲數(shù)據(jù)
運(yùn)行捕獲Running/Arming the Trigger,設(shè)置好觸發(fā)條件后,在工程管理窗口中選擇【Trigger Setup】→【Run】命令,分析儀進(jìn)入捕獲(arm)狀態(tài)。如果觸發(fā)條件得到滿足,Core捕獲數(shù)據(jù),直到設(shè)置的緩沖區(qū)填滿為止,然后通過(guò)JTAG上傳數(shù)據(jù),并在【W(wǎng)aveform】和【Listing】窗口中顯示。如果需要強(qiáng)制進(jìn)行數(shù)據(jù)捕獲,可以選擇【Trigger Setup】→【Trigger Immediate】命令,該命令忽略觸發(fā)條件并立刻進(jìn)行捕獲,直到設(shè)置的緩沖區(qū)填滿為止,并在【W(wǎng)aveform】和【Listing】窗口中顯示。
要停止捕獲,選擇【Trigger Setup】→【Stop Acuqisition】命令。
四、 觀察信號(hào)
ILA核可以通過(guò)【W(wǎng)aveform】、【Listing】和【Bus Plot】窗口觀察信號(hào)波形。
(1) 【W(wǎng)aveform】窗口
在圖9-42所示【JTAG Chain】的ILA核下單擊【W(wǎng)aveform】,打開(kāi)圖9-43所示波形顯示界面,它類(lèi)似于邏輯分析儀,可以支持如下操作。
圖9-42 觀察波形設(shè)置
圖9-43 Analyzer波形顯示界面示意圖
重新排列總線和信號(hào)的位臵:用戶可以拖動(dòng)信號(hào)到所希望的位臵,重新排列總線和信號(hào)的位臵。
添加總線:可按住Ctrl鍵,選擇多個(gè)總線信號(hào),單擊右鍵,選擇“Add to Bus”命令,將其組合成相應(yīng)的總線信號(hào),如DataPort,如圖9-43所示。
對(duì)信號(hào)和總線進(jìn)行編輯:剪切/復(fù)制/粘貼/刪除信號(hào)和總線,在信號(hào)或總線名稱上單擊右鍵,選擇相應(yīng)的命令。同時(shí)支持Windows組合鍵操作(剪切命令Ctrl+X,復(fù)制命令Ctrl+C,粘貼命令Ctrl+V,刪除命令Delete)。
對(duì)信號(hào)和總線進(jìn)行放大和縮小。
測(cè)量光標(biāo):【W(wǎng)aveform】窗口中可以設(shè)臵兩個(gè)光標(biāo)──X和O。用戶可以放臵這兩個(gè)光標(biāo)到采集的數(shù)據(jù)點(diǎn)上。該點(diǎn)的信號(hào)和總線狀態(tài)將在X或者O里顯示,兩個(gè)帶顏色的豎線分別為X和O坐標(biāo)。
(2) 【Listing】窗口如圖9-44所示。
圖9-44 【Listing】窗口界面
【Listing】窗口以列表形式顯示采樣緩沖區(qū)。基本功能和【W(wǎng)aveform】相同。
(3) 【Bus Plot】繪圖窗口如圖9-45所示。
圖9-45 【Bus Plot】窗口界面
【Plot】選項(xiàng)組。
【data vs. time】:顯示所有的總線,每條總線有單獨(dú)的顏色,可以根據(jù)數(shù)據(jù)格式(十六進(jìn)制,二進(jìn)制,十進(jìn)制等)顯示。
【data vs. data】:需要選擇兩條總線,x和y坐標(biāo)分別對(duì)應(yīng)一組總線。
【Display】選項(xiàng)組:圖形繪制方式可以是【lines】線、【points】點(diǎn)或者【 lines and points】點(diǎn)線。
【Bus Selection】選項(xiàng)組:選項(xiàng)中列出設(shè)臵中所有的總線,根據(jù)【Plot】選項(xiàng)組設(shè)臵的方式,選擇所要觀測(cè)的總線組。可以單擊總線名旁邊的【Colored】按鈕,選擇總線的顏色。
【Min/Max】選項(xiàng)組:顯示視圖中的最大最小值。
【X】【Y】:顯示鼠標(biāo)所在位臵的x或y坐標(biāo)。
如果設(shè)計(jì)中有VIO核,可以在【VIO Console】窗口觀測(cè)虛擬輸入輸出信號(hào)狀態(tài),如圖9-46所示。
圖9-46 【VIO Console】窗口界面
(1) 【Bus/Signal】欄:包含VIO核的總線或者信號(hào)名稱。單擊右鍵,設(shè)置信號(hào)/總線的【Type】顯示類(lèi)型和【Persistence】顯示時(shí)間長(zhǎng)度。
【Type】:設(shè)臵VIO總線/信號(hào)的類(lèi)型。
VIO輸入信號(hào)支持的顯示類(lèi)型:
文本:ASCII字符
LEDs(紅、藍(lán)、綠三個(gè)顏色可選;可以設(shè)置為高有效或低有效)
VIO輸入總線只支持一個(gè)有效顯示類(lèi)型
文本
VIO輸出信號(hào)支持的顯示類(lèi)型:
文本:ASCII文本
按鈕:高有效或低有效
反轉(zhuǎn)按鈕
脈沖序列(只針對(duì)同步輸出)
單脈沖(只針對(duì)同步輸出)
VIO輸出總線就有兩個(gè)有效顯示類(lèi)型:
文本
脈沖序列(只針對(duì)同步輸出)
【Persistence】:設(shè)臵VIO總線/信號(hào)【Value】欄的顯示時(shí)間長(zhǎng)度。
【Infinite】:一直顯示VIO總線/信號(hào)。
【Long】:顯示80個(gè)采樣周期。
【Short】:顯示8個(gè)采樣周期。
(2) 【Value】欄:顯示信號(hào)的當(dāng)前值。
五、 導(dǎo)入、導(dǎo)出數(shù)據(jù)
ChipScope提供了強(qiáng)大的數(shù)據(jù)采集能力,最大深度可達(dá)16384,單靠肉眼觀測(cè)是不可行的,需要將采集波形存儲(chǔ)下來(lái),再通過(guò)VC、MATLAB等工具完成后續(xù)分析。【File】菜單下【Export】命令,可導(dǎo)出.VCD、.ASCII以及.FBDT等3種類(lèi)型的文件。
用戶可以對(duì)采樣信號(hào)進(jìn)行重命名,然后在ChipScope中導(dǎo)入所有信號(hào)名,以方便觀察和分析。Core Generator、Core Inserter、Synplicity Certify和FPGA Editor 工具都可以產(chǎn)生有關(guān)信號(hào)名的文件,在ChipScope中,可以運(yùn)行【File】菜單下【Import】命令,從指定文件中導(dǎo)入信號(hào)名。
9.5 利用FPGA Editor修改Chipscope Pro核信號(hào)連接
對(duì)于使用高密度FPGA實(shí)現(xiàn)的復(fù)雜的邏輯設(shè)計(jì),每次在ChipScope Pro Core中修改信號(hào)探點(diǎn)都需要重新進(jìn)行布局布線,布局布線需要花費(fèi)較長(zhǎng)的時(shí)間。更令人頭痛的是,布局布線后的結(jié)果可能每次都有差異,有時(shí)會(huì)變得很差。如何解決這個(gè)問(wèn)題呢?FPGA Editor與ChipScope的協(xié)同工作有效地解決了這個(gè)問(wèn)題。
利用FPGA Editor和ChipScope Pro協(xié)同工作,可在FPGA Editor中對(duì)器件內(nèi)的ChipScope Pro探點(diǎn)直接修改。由于不再布局布線,不僅提高了工作效率,而且ChipScope Pro Analyzer的跟蹤和分析也更準(zhǔn)確。
運(yùn)行ISE 11.x設(shè)計(jì)工具,在【Processes for Source....】窗口中單擊【View/Edit Routed Design(FPGA Editor)】。彈出FPGA Editor界面,在右邊菜單欄中單擊【ILA】命令,打開(kāi)如圖9-47所示的ILA設(shè)計(jì)界面,在【Array】窗口中修改布線。
圖9-47 【FPGA Editor】ILA設(shè)計(jì)界面
【ILA Capture Units】列表框:列出了設(shè)計(jì)中ILA捕獲單元的名稱和位信息。
【Data and Trigger Bits】列表框:列出了所選ILA捕獲單元的類(lèi)型、位數(shù)、網(wǎng)線和部件信息。
【W(wǎng)rite CDC..】按鈕:保存ChipScope Pro Core的修改為后綴為.cdc的文件,默認(rèn)值為原設(shè)計(jì)文件。
【Change Net】按鈕:用來(lái)修改ILA Core的連線,單擊該按鈕,在FPGAEditor窗口下邊信息欄中同時(shí)顯示該連線的延時(shí)數(shù)據(jù)。用這個(gè)按鈕可以更改ChipScope網(wǎng)線連接到一個(gè)設(shè)計(jì)者所關(guān)心的網(wǎng)線上。
【View Component】按鈕:用于在【Block】窗口中顯示所選部件的內(nèi)部結(jié)構(gòu)。
【Bitgen..】按鈕:用于重新生成FPGA的比特流文件。
【Download】按鈕:?jiǎn)?dòng)iMPACT工具,把比特流文件下載到目標(biāo)器件中。
9.6 小結(jié)
本章詳細(xì)介紹了Xilinx內(nèi)嵌邏輯分析儀ChipScope Pro,它是Xilinx開(kāi)發(fā)的功能強(qiáng)大的在線調(diào)試工具,它解決了用片外邏輯分析儀進(jìn)行設(shè)計(jì)調(diào)試時(shí)需要硬連接的瓶頸。本章首先介紹了ChipScope Pro的各個(gè)組成部分,包括ICON、ILA、VIO和ATC2等功能模塊,接著用一個(gè)實(shí)例介紹了ChipScope Pro的應(yīng)用,最后討論了用ChipScope Pro分析儀進(jìn)行設(shè)計(jì)調(diào)試的方法。希望通過(guò)本章介紹,讀者能快速熟悉并掌握ChipScope Pro的應(yīng)用,并借助此工具,快速找到并排除設(shè)計(jì)中的問(wèn)題。
評(píng)論
查看更多