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模式在以下情況下非常有用。
調試一個遠端系統。和其他同僚共享一個系統資源。給遠端客戶示範問題或功能。
在大部分情況下,使用者是通過分析工具用戶端來對設計進行分析的,這裡詳細介紹用戶端界面和功能。用戶端界面如圖9-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】裡的資料格式。可以是十六進制、八進制、二進制、有符号或者無符号數。【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所示。可以根據需要設臵,設臵的觸發條件等式将重新顯示在對話框的下方。在工程管理視窗選擇【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】視窗以清單形式顯示采樣緩沖區。基本功能和【Waveform】相同。
(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等工具完成後續分析。【File】菜單下【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工具,把比特流檔案下載下傳到目标器件中。