FPGA實(shí)戰開(kāi)發(fā)技巧(12)
5.6 大規模設計的調試經(jīng)驗
在大規模設計的調試應該按照和設計理念相反的順序,從底層測試,主要依靠ChipScope Pro 工具。下面主要介紹ChipScope Pro、FPGA Editor 組件的使用方法。
本文引用地址:http://dyxdggzs.com/article/201710/365625.htm5.6.1 ChipScope Pro組件應用實(shí)例
在賽靈思軟件設計工具中,ISE 可集成賽靈思公司的所有工具和程序。ChipScope Pro 也不例外,在ISE 中將其作為一類(lèi)源文件,和HDL 源文件、IP Core 以及嵌入式系統的地位是等同的。本節在Xilinx Spartan3E-D開(kāi)發(fā)板上實(shí)現一個(gè)計數器模塊,基于該模塊詳細介紹如何在ISE 中新建ChipScope 應用以及觀(guān)察、分析數據的詳細操作。
例5.6.1 :在ISE 中實(shí)現一個(gè)8 比特計數器,利用ChipScope 分析其邏輯輸出。
(1) 新建用戶(hù)工程,添加mycounter.v 的源文件,其內容如下所列:
module mycounter(clk, reset, dout);
input clk;
input reset;
output [7:0] dout;
reg [7:0] dout;
always @(posedge clk) begin
if (reset == 0)
dout = 0;
else
dout = dout + 1;
end
endmodule
然后根據電路連接,添加相應的管腳約束。
(2) 綜合工程,然后在ISE 工程管理區,單擊右鍵,選擇“Add New Source”命令,在彈出的對話(huà)框中選擇“ChipScope DefiniTIon and ConnecTIon File” 類(lèi)型, 并在“File Name” 欄輸入ChipScope 設計名稱(chēng)mychipscope,如圖5-41所示。
圖5-41 添加ChipScope設計示意圖
圖5-42 測試模塊選擇界面
單擊“Next”按鍵,進(jìn)入分析文件選擇界面,這里會(huì )將該文件夾里所有的HDL 設計、原理圖設計都羅列出來(lái)( 包括頂層模塊和全部底層模塊),供用戶(hù)挑選,用鼠標單擊即可選中,本例選擇mycounter,如圖5-42 所示。單擊“Next”按鍵進(jìn)入小結頁(yè)面,單擊“Finish”按鍵完成添加。
(3) 雙擊工程區mycounter.v 下的子模塊mychipscope.cdc,可自動(dòng)打開(kāi)Chipscope Pro Core Insterser軟件,添加觸發(fā)單元和觸發(fā)位寬。其中觸發(fā)類(lèi)型選為Basic,位寬為8比特;設置采樣深度為4096,各步驟如圖5-43到圖5-46所示。
圖5-43 調試工程配置界面
圖5-44 ICON核配置界面
圖5-45 觸發(fā)信號配置界面
圖5-46 采集深度配置界面
(4) 點(diǎn)擊“Next”進(jìn)入網(wǎng)表連接顯示頁(yè)面,如圖5-47 所示。其中如果用戶(hù)定義的觸發(fā)和時(shí)鐘信號線(xiàn)有未連接的情況,則圖中“UNIT”、“CLOCKPORT”以及“TRIGGERPORTS”等字樣以紅色顯示;正確完成連接后則變成黑色。
圖5-47網(wǎng)表連接提示界面
點(diǎn)擊圖5-47 中“Modify ConnecTIon”的按鍵,進(jìn)入連接頁(yè)面,時(shí)鐘和數據的連接如圖5-48、圖5-49所示。需要注意的是,ChipScope Pro 只能分析FPGA 設計的內部信號,因此不能直接連接輸入信號的網(wǎng)表,所以輸入信號網(wǎng)表全部以灰色顯示。如果要采樣輸入信號,可通過(guò)連接其輸入緩沖信號來(lái)實(shí)現,時(shí)鐘信號選擇相應的BUFGP,普通信號選擇相應的IBUF。如圖5-48 中所示,選擇采樣時(shí)鐘時(shí),選擇了CLK_BUFGP。
圖5-48 時(shí)鐘網(wǎng)表連接界面
圖5-49 觸發(fā)網(wǎng)表連接界面
連接完成后,單擊“OK”按鍵返回連接顯示界面,發(fā)現所有提示字符“UNIT”、“CLOCKPORT”以及“TRIGGERPORTS”沒(méi)有紅色,則單擊“Return Project Navigator”,退出Chipscope,返回到ISE 中。否則需要再次點(diǎn)擊“Modify ConnecTIon”按鍵重新連接。
(5) 在工程中加入UCF 文件,約束時(shí)鐘、數據管腳位置。為了簡(jiǎn)化也可以只添加clk 和reset 這兩個(gè)控制信號的管腳約束,其內容如下:
NET clk LOC = C9 | IOSTANDARD = LVCMOS33 ;
# Define clock period for 50 MHz oscillator (40%/60% duty-cycle)
NET clk PERIOD = 20.0ns HIGH 40%;
NET reset LOC = H13 | IOSTANDARD = LVTTL | PULLDOWN ;
(6) 在ISE 過(guò)程控制區中雙擊“Implement Design”和“Generate Programming File”, 可以完成實(shí)現以及生成可編程文件,并將設計人員插入的各類(lèi)核也將被包含在比特文件中。生成配置文件后,雙擊圖5-50所示的“Analyze Design Using Chipscope”圖標,可自動(dòng)打開(kāi)Chipscope Pro Analyzer 軟件。
圖5-50 Chipscope Pro Analyzer啟動(dòng)操作示意圖
(7) 在Chipscope Analyzer 用戶(hù)界面上點(diǎn)擊工具欄上圖標“ ”,初始化邊界掃描鏈。等掃描完成后,單擊“Device”菜單下“DEV: 0 My Device0(XC3S500E) → Configure”命令選擇.bit 文件配置FPGA。
(8) 芯片配置完成后,選擇“File”菜單的“Import”命令,可彈出CDC 文件加載頁(yè)面,選擇相應的CDC 文件,將會(huì )把所有以“Dataport”的名稱(chēng)修改為綜合后的線(xiàn)網(wǎng)名稱(chēng)。
(9) 組合cnt 總線(xiàn)信號??砂醋?ldquo;Ctrl”鍵,選擇多個(gè)總線(xiàn)信號,單擊右鍵,選擇“Add to Bus”命令,將其組合成相應的總線(xiàn)信號,如圖5-51 所示。
圖5-51 添加總線(xiàn)操作示意圖
(10) 不設定觸發(fā)條件采集數據。點(diǎn)擊工具欄的“ ”圖標,開(kāi)始采集數據。整體結果如圖5-52 所示,單擊工具欄的“ ”按鍵,可放大信號,局部結果如圖5-53 所示。從分析結果可以看出,本設計在FPGA中成功地完成了8 比特計數器的功能。
圖5-52 Analyzer分析結果整體示意圖
(11) 設定觸發(fā)條件采集數據。在“Trigger Setup”欄Match 區域的“M0: Trigger Port0”行的Value 列輸入觸發(fā)條件“0000_0000”,如圖5-54 所示。
點(diǎn)擊工具欄的“ ”圖標,開(kāi)始采集數據,可以看到,采集結果的第一個(gè)數為0,如圖5-55 所示。當然,
用戶(hù)可以根據需要設置更復雜的觸發(fā)條件。
(12) 利用Bus Plot 功能繪制輸出信號波形。在工程區雙擊“Bus Plot”命令,然后在彈出窗口的“Bus Selection”區域選中“dout”,則會(huì )將采集數據以圖形方式顯示出來(lái),如圖5-56 所示。由于本設計是8 比特加1 計數器,因此其波形就是幅度為0 到255 的鋸齒波。
圖5-56 8計數器的波形示意圖
評論