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