FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

URL: http://www.icbuy.com/info/news_show/info_id/182769.html

6.7  片上邏輯分析儀(ChipScope Pro)使用技巧

  在FPGA的調試階段,傳統的方法在設計FPGA的PCB板時,保留一定數量的FPGA管腳作爲測試管腳。在調試的時候將要測試的信號引到測試管腳,用邏輯分析儀觀察內部信號。

  這種方法存在很多弊端:一是邏輯分析儀價格高昂,每個公司擁有的數量有限,在研發期間往往供不應求,影響進度;二是PCB佈線後測試腳的數量就確定了,不能靈活地增加,當測試腳不夠用時會影響測試,測試管腳太多又影響PCB佈局佈線。

  ChipScope Pro是ISE下一款功能強大的在線調試工具。面對這些問題,ChipScope Pro都可以有效地解決。

  6.7.1  ChipScope Pro概述

  ChipScope Pro是針對Xilinx Virtex-II pro/ Virtex/ Virtex-II/ Virtex-EM/ Spartan-IIE/ Spartan-IIE 系列FPGA的在線片內信號分析工具。它的主要功能是通過JTAG口,在線實時讀取FPGA的內部信號。

  ChipScope Pro的基本原理是利用FPGA中未使用的BlockRam,根據用戶設定的觸發條件將信號實時地保存到這些BlockRam中,然後通過JTAG口傳送到計算機,最後在計算機屏幕上顯示出時序波形。ChipScope Pro應用的框圖如圖6.34所示。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.34  ChipScope Pro應用框圖

  其中ILA、ICON是爲了使用ChipScope Pro觀察信號而插入的核。ChipScope Pro工作時一般需要用戶設計中實例化兩種核:一是集成邏輯分析儀核(ILA core,Integrate Logic Analyzer core),該核主要用於提供觸發和捕獲的功能;二是集成控制核(ICON core,Integrated Contorller core),負責ILA core和邊界掃描端口(JTAG)的通信。

  一個ICON core可以連接1~15個ILA core。ChipScope Pro工作時,ILA core根據用戶設置的觸發條件捕獲數據,然後在ICON core控制下,通過邊界掃描端口上傳到計算機,最後用ChipScope Pro Analyzer顯示信號波形。

  6.7.2  ChipScope Pro設計流程

  ChipScope Pro工具箱中包含了3個工具:ChipScope Pro Core Generator、ChipScope Pro Core Inserter、ChipScope Pro Analyzer,使用ChipScope Pro在線調試工具的FPGA設計流程如圖6.35所示。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

  由上述流程可知,ChipScope Pro有兩種使用方法。

  第一種是由ChipScope Pro Core Generator根據設定條件生成在線邏輯分析儀IP核,包括ICON core、ILA core、ILA/ATC core和IBA/OPB core等,之後設計人員在原HDL代碼中實例化這些核,然後進行綜合、佈局佈線、下載配置文件,就可以利用ChipScope Pro Analyzer設定的觸發條件,觀察信號波形。

  第二種是原代碼完成綜合後,由ChipScope Core Inserter工具插入ICON core和ILA core等核,它能自動完成在設計網表中插入這些核的工作,而不用手動在HDL代碼中實例化這些核,在實際中應用的比較多,也是推薦大家使用的方法。下面就重點介紹ChipScope Pro Core Inserter和ChipScope Pro Analyzer的使用,這裏以ChipScope Pro 8.2i爲例來介紹。

  6.7.3  ChipScope Pro Core Inserter簡介

  ChipScope Pro Core Inserter的啓動有兩種方式。

  (1)直接在Windows環境下運行“開始”/“程序”/“ChipScope Pro 8.2i”/“ChipScope Pro Core Inserter”命令。運行後即可得到ChipScope Pro Core Inserter的用戶界面,如圖6.36所示。

  (2)可以通過新建資源的方法,如圖6.37所示。

  新建ChipScope Pro Inserter資源後,系統自動生成擴展名爲cdc的文件。如圖6.38所示,雙擊擴展名爲cdc的文件即可啓動ChipScope Pro Inserter界面。需要注意的是,在雙擊擴展名爲cdc的文件時,系統會先對該工程文件進行綜合。綜合完成後纔會啓動ChipScope Pro Inserter。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.36  ChipScope Pro Core Inserter用戶界面

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.37  新建ChipScope Pro Inserter資源對話框 

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.38 新建ChipScope Pro Core Inserter資源後的界面

  這裏在綜合前必須先對綜合屬性進行設置,如圖6.39所示,在綜合屬性對話框中對“synthesis options”/“keep Hierarchy”選項進行設置。設置“keep Hierarchy”爲“Yes”或“Soft”。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

  雙擊擴展名爲cdc的文件,系統完成綜合後,會自動啓動ChipScope Pro Core Inserter。設計者通過ChipScope Pro Core Inserter對觸發單元個數、觸發寬度、觸發條件、存儲深度、採樣時刻等參數進行設置。設置完畢後,在ISE下完成佈局佈線,下載配製文件,即可用ChipScope Pro Analyzer進行觀測。

  下面對ChipScope Pro Core Inserter的各項設置做詳細的說明。

  1.用戶界面

  啓動ChipScope Pro Core Inserter後,顯示如圖6.40所示的界面。在“Input Design Netlist”文本框中設置輸入設計網表的路徑。設置好後,“Output Design Netlist”和“Output Directory”會自動生成,設計者也可自己指定。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.40  ChipScope Pro Core Inserter用戶界面

  如果是通過新建資源的方法啓動ChipScope Pro Core Inserter,這幾項顯示爲灰色,無需設計者設置,系統會自動找到設計網表文件。在“Device Family”下拉列表中選取設計所用的FPGA後,就可單擊“Next”按扭,進入“Select Integrated Controller Options”對話框,如圖6.41所示。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.41  “Select Integrated Controller Options”對話框

  2.“Select Integrated Controller Options”對話框設置

  在如圖6.40所示的“Select Device Options”對話框中,可以指定是否禁止在JTAG時鐘上插入BUFG。如果選中此項,JTAG時鐘將使用普通佈線資源,而不是全局時鐘佈線。這樣會在JTAG時鐘線上產生較大的佈線延時。因此在全局時鐘資源足夠用的情況下,應該儘量使JTAG時鐘使用BUFG資源。即使由於全局時鐘資源不夠而不得不禁用BUFG時,也最好附加相應約束,使延遲抖動儘量小。推薦設計者在使用時不選此項。

  單擊“Next”按鈕,進入“Select Integrated Logic Analyzer Options”對話框,如圖6.42所示。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.42  “Select Integrated Logic Analyzer Options”ILA對話框

  3.“Select Integrated Logic Analyzer Options”對話框設置

  如圖6.42所示,可以看到在“Select Integrated Logic Analyzer Options”ILA對話框下有3個選項卡,可對觸發參數、捕獲參數、網線連接進行設置。

  “Trigger Parameters”選項卡可對觸發端口數目,每個觸發端口的寬度、觸發條件判斷單元、觸發條件判斷單元的個數和類型等進行設置。

  (1)觸發端口數目。

  在設計中可以根據需要設置多個觸發端口,每個ILA Core最多可以有16個輸入觸發端口,每個觸發端口下又可設置多個觸發條件判斷單元,但各個觸發端口包含的觸發條件判斷單元數量之和不能大於16。

  (2)觸發端口設置。

  一個完整的觸發端口設置包括:觸發寬度、觸發條件判斷單元個數及類型的設置。觸發寬度是指觸發端口包含信號線的個數。通過觸發條件判斷單元進行判斷,當信號線上的信號滿足設定的條件時,ChipScope Pro就可將其捕獲並存儲在BlockRam中,用於在ChipScope Pro Analyzer中顯示波形。

  對觸發條件可以設置個數和類型。當有多個觸發條件時,可以將觸發條件設置爲幾個觸發條件的邏輯組合。觸發條件判斷單元實際爲比較器,其類型可以有以下幾種,如表6.4所示。

  表6.4 觸發條件判斷單元的類型

類型

數值類型

匹配功能

Bit/Slice

說明

  Basic

  0、1、X

  =、<>

  8

  用於一般信號比較,是一種節約資源的類型

  Basic(w/trans)

  0、1、X、R、F、B

  =、<>、transition detection

  4

  用於控制信號的比較,可以檢測跳變的發生

  Extend

  0、1、X

  =、<>、>、>=、<、<=

  2

  當主要考慮數據的大小時,用於地址或數據信號大小的比較

  Extend(w/trans)

  0、1、X、R、F、B

  =、<>、>、>=、<、<=、transition detection

  2

  當數據和地址信號的大小和跳變都需要考慮時,可以用於檢測跳變的發生

  Range

  0、1、X

  =、<>、>、>=、<、<=、in range、not in range

  1

  當數據和地址的大小需要考慮時,可以用於檢測數值是否在一定範圍內

  Range(w/trans)

  0、1、X、R、F、B

  =、<>、>、>=、<、<=、in range、not in range、transition detection

  1

  當數據和地址的大小和跳變都需要考慮時,可以用於檢測跳變和數值是否在一定範圍內

  “Capture Parameters”選項卡可以對存儲深度、採樣時刻等參數進行設置,如圖6.43所示。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.43  “Capture Parameters”選項卡設置

  所謂存儲深度,是指在滿足觸發條件後,要存儲多少數據,用於最終的波形顯示。ChipScope Pro可能的最大存儲深度爲16384,最大數據位寬爲256bit。實際的數據存儲深度和位數由FPGA內部剩餘的BlockRam的數量決定。

  對於“Data Same As Trigger”選項,有時要觀測的信號就是設置的觸發條件中的信號,此時選中此項即可。有時設定了觸發條件後,想觀察別的數據信號,這時可以不選中此項,數據與觸發信號完全獨立。

  “Net Connections”選項卡可以設置觸發端口信號線與要觀測的信號的連接,要觀測哪些信號,就將這些信號與端口的信號線連接即可,如圖6.44所示。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.44  “Net Connections”選項卡設置

  設置的連接信號可以分爲3類:時鐘信號(CLOCK PORT)、觸發端口信號(TRIGGER PORTS)和數據信號(DATA PORT)。單擊“Modify Connections”按鈕會出現如圖6.40所示對話框。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.45  網線連接對話框

  設置完所有信號後,端口名字會變爲黑色,否則爲紅色。設置完上述各項後,單擊“Inserter”按鈕,邏輯分析儀的網表就插入到原來的設計網表當中。之後在ISE下完成佈局佈線並下載後,就可以用ChipScope Pro Analyzer進行觀測了。

  6.7.4  ChipScope Pro Analyzer簡介

  將邏輯分析的核插入設計當中後,就可以運行ChipScope Pro Analyzer進行觀測了,ChipScope Pro Analyzer的啓動方式有兩種。

  (1)直接運行“開始”/“程序”/“ChipScope Pro 8.2i”/“ChipScope Pro Analyzer”。

  (2)在ISE下啓動。

  如圖6.46所示,雙擊“Analyze Design Using ChipScope”即可啓動,ChipScope Pro Analyzer界面如圖6.47所示。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.46  從ISE中直接啓動ChipScope Pro Analyzer

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.47  ChipScope Pro Analyzer用戶界面

  ChipScope Pro Analyzer使用步驟如下。

  1.單擊FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧圖標,打開JTAG並口連接電纜

  在此之前要保證已將JTAG與器件連接好,如果連接無誤,會出現如圖6.48所示的對話框。

  對話框中會顯示JTAG連接的FPGA類型和所用的配置器件類型,這裏使用的FPGA爲Spartan 3系列,配置器件選用的是XCF02S。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.48  JTAG正常連接後提示

  2.下載配置文件

  在ISE下完佈局佈線後,生成配置文件*.bit文件。注意:ChipScope Pro採用JTAG方式觀測FPGA內部信號,這就要求在生成下載文件時。在“Generate Programming File”的屬性對話框(如圖6.49所示)中設置“Startup Options”/“FPGA Start-Up Clock”爲JTAG Clock,否則ChipScope Pro將無法正確配置器件。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

  下載配置文件時,選擇“Device”/“DEV1”/“Configure”選項,如圖6.50所示。單擊後會出現如圖6.51所示的對話框,選擇要下載的*.bit文件,對FPGA進行配置。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.50  配置FPGA

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.51  選擇配置文件對話框

  3.設置觸發條件

  成功完成對FPGA的配置後,會出現如圖6.52所示界面。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.52  成功完成配置後用戶界面

如圖6.52所示,ChipScope Pro Analyzer的界面由兩部分組成。

  左邊一欄爲工程視窗和信號列表。工程視窗的下拉列表中有“Trigger Setup”、“Waveform”選項。雙擊後,就會有相應的視窗在右邊顯示。信號列表中列出了所有信號,在這裏可以增加或刪除視圖中的信號,對信號重命名,也可以將信號組合爲總線以便於觀察。

  右邊一欄主要有兩個視窗:一個爲“Trigger Setup”,用於設置觸發條件;一個爲“Waveform”用於觀察波形。設置觸發條件包括設置觸發條件函數(Match)、觸發條件(Trig)和捕獲參數(Capture),下面分別介紹。

  (1)“Match”選項卡。

  主要完成觸發條件函數的設置。所謂觸發條件函數是與表6.4中的匹配功能相對應的。要設置數值大小和函數,即選擇:=、<>、>、>=、<、<=某數值時,才滿足觸發條件。當有多個條件時,可以分別設置每個條件的要求滿足的函數和數值,如圖6.53所示。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.53  “Match”選項卡設置對話框

  (2)“Trig”選項卡。

  主要用於設置觸發條件。在“Match”下設置了觸發所需要滿足的條件。當有多個條件時這裏可以設置是讓哪一個條件起作用,也可以將條件設置爲幾個條件的邏輯組合。或者是將幾個條件設置爲“條件鏈”,即當依次滿足條件鏈設置的各個條件後,纔可以捕獲數據,如圖6.54所示。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.54  “Trig”選項卡設置對話框

  如圖6.54所示,單擊“Trigger Condition Equation”下的選項,會彈出如圖6.55所示的對話框。在對話框中,有兩個選項卡。在“Boolean”選項卡下,可以設置哪一個條件起作用,也可將條件設置爲幾個條件的邏輯組合;在“Sequencer”選項卡下,可以設置條件鏈,如圖6.55所示。當依次滿足條件鏈下的幾個條件後,就被觸發。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.55  “Sequencer”選項卡設置對話框

  4.觀測波形

  觸發條件設置好後,單擊左上角的FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧按鈕開始執行。當滿足觸發條後,ChipScope Pro開始採集數據,採集到一定數目後(該數目取決於存儲深度),就可以觀察波形了。如圖6.56爲ChipScope Pro顯示波形的效果圖。

  在波形顯示窗口下可對波形進行放大FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧和縮小FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧,也可以進行局部放縮FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧。當要觀察總

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.56  ChipScope Pro波形顯示效果圖

  線數據時,可以先選中所有總線數據,然後單擊右鍵,選擇“Add to Bus”/“New Bus”即可,如圖6.57所示。

FPGA設計開發軟件ISE使用技巧之:片上邏輯分析儀(ChipScope Pro)使用技巧

圖6.57  組合總線數據

  添加成功後,就可以在新生成的bus下看到總線數據。如圖6.58所示,圖中DataPort爲新生成的總線,設計者可以根據需要修改總線的名稱。

圖6.58  總線數據生成結果

  6.7.5  小結

  本節對在線邏輯分析工具ChipScope Pro作了詳細介紹。通過本節的學習,讀者應該掌握ChipScope Pro的設計流程以及使用方法。

  ChipScope Pro本身的功能很強大,在調試階段應用很廣泛。它可以觀察FPGA內部的任何信號,使用也比較簡單,希望讀者能夠很好地掌握。

  爲了讓讀者能夠儘快地熟悉這一工具的使用,在6.8節給出一個簡單的實例,分別應用兩種設計流程來完成,讀者可參照這一例程來進一步熟悉ChipScope Pro的使用。



發佈了11 篇原創文章 · 獲贊 37 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章