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