PlanAhead與ChipScope
本節將簡單介紹在PlanAHead工具中如何應用ChipScope核和分析工具進行邏輯調試與驗證。先通過一個向導將ChipScope核插入設計中,選擇待測試的網線,并進行例化、連接和綜合,最后,導入布局和時序報告,產生位流文件,用ChipScope分析器進行驗證。

1. 打開項目。
(1) 運行PlanAHead,在目錄“PlanAhead_Tutorial\Projects\project_cpu_hdl”下找到“Project_cpu_hdl.ppr”項目并打開,PlanAhead窗口顯示如圖10-86所示。
(2) 將項目存儲為另外一個項目,以確保原始項目不被損壞。運行【File】→【Save Project as】,打開【Save Project As】對話框,按圖10-87中所示設置項目名和項目存儲路徑。
2. 應用【Set Up ChipScope】向導。
(1) 【Set Up ChipScope】向導引導設計者在綜合后網表中插入ChipScope的ICON核和ILA核,并選擇待測網線,設置插入的ChipScope核的數目,然后例化這些核,最后將所選網線和核連接起來。
(2) 運行【Tools】→【Set Up ChipScope】向導,將wbArbEngine/m0/wb*網線連接到ChipScope核。如圖10-88所示。
(3) 單擊【Next】,出現圖10-89所示的【Specify Nets to Debug】窗口。
(4) 單擊【Add/Remove Nets】按鈕,出現圖10-90所示【Add/Remove Nets】對話框,按照圖中所示設置查找匹配條件為wbArbEngine/m0/wb_*,單擊【Find】按鈕,查找結果會顯示在【Find Results】中。
(5) 單擊按鈕,將查找到的網線選為待測試網絡,如圖10-91所示。單擊【OK】退出網線設置對話框。
(6) 單擊【OK】退出網線設置對話框。這時的【Specify Nets to Debug】對話框顯示如圖10-92所示,可以看到,共加入了39個需要測試的網線。單擊【Next】按鈕,出現【Set Up ChipScope Summary】對話框,單擊【Finish】,在PlanAhead的【Netlist】窗口可以看到添加了ChipScope核后增加了csdebugcore_0_0、csdebugcore_0_1和u_icon,如圖10-93所示。
3. 修改ChipScope 核和觸發信號的屬性。
如圖10-94 所示,在【ChipScope】視圖選擇一組觸發信號TRIG0,在【Debug Port Properties】中選擇【Options】選項卡,可以改變match_type 屬性,選擇不同的觸發條件。
如圖10-95 所示,在【ChipScope】視圖選擇ChipScope 的ILA 核,在【Debug Core Properties】中選擇【Options】選項卡,在這里可以修改該核的屬性,例如采樣深度和采樣時鐘邊沿。
4. 實現ChipScope 核。
在圖10-96 所示【ChipScope】視窗選擇一個ILA 核,單擊按鈕,實現ChipScope 調試核【Implement ChipScope Debug Cores】,這個命令調用COREGen 工具,將黑盒子ChipScope 調試核轉換成綜合后ChipScope 核,然后就可以對其進行翻譯、映射、布局布線。
另外, 讀者可以在【ChipScope 】窗口選擇一個ILA 核, 單擊鼠標右鍵選擇【Schematic】,可以看到ChipScope 核的原理圖模塊,如圖10-97 所示。
在【Schematic】窗口雙擊CLK和TRIG0引腳,再單擊按鈕,重新生成原理圖,如圖10-98所示。可以看到,TRIG0連接到了設計中的cpuEngine的地址端,這些信號由cpuClk時鐘控制。
需要注意的是,在設計中插入ChipScope核,會影響實現結果。因此建議將觸發器的輸出作為測試點,并且使用區域約束(在PlanAhead中用Pblock),將ChipScope核與關鍵路徑約束在一起,使ChipScope核對時序的影響降至最小。
5. 實現設計。
(1) 單擊工具欄的運行實現圖標,出現【Run Implementation】對話框,如圖10-99所示,按圖中所示設置各參數。
(2) 單擊【OK】按鈕,【Design Runs】窗口會增加impl_1 進程,如圖10-100 所示,該實現進程會簡要顯示圖10-99 所示的設置,并且會顯示出該實現的當前狀態及進度信息。
(3) 運行結束后,雙擊impl_1 進程,彈出【Import Implementation Results】對話框,提示是否導入impl_1 的布局和時序結果,單擊【OK】按鈕,impl_1 的實現結果會被反標注到設計中。如圖10-101 所示。
(4) 單擊圖10-101 中的【OK】按鈕,會彈出一個確認對話框,如圖10-102,單擊【確定】按鈕,impl_1 的實現結果會被反標注到設計中。同時,圖10-103 所示【Device】窗口會顯示這一實現結果。
6. 產生.bit位流文件。
在【Design Run】窗口選中impl_1,在右鍵菜單中選擇運行【Run Bitgen】命令,彈出圖10-104所示對話框,單擊【OK】按鈕,生成.bit文件。
7. 啟動ChipScope分析儀。
在【Design Run】窗口選中impl_1,在右鍵菜單中選擇運行【Launch ChipScope Analyzer】命令,彈出圖10-105所示對話框,選擇impl_1(如果設計中運行產生了多個實現結果,這里會顯示多個實現),單擊【OK】啟動ChipScope分析器。使用ChipScope分析儀的步驟請參考相關章節,這里不再贅述。
10.8 PlanAhead導入導出功能
在PlanAhead的【File】菜單欄有一些導入導出功能。設計者可以導入I/O引腳文件、約束文件、位置約束文件、時序文件以及更新網表。設計者可以將PlanAhead的實現結果,通過運行【Export Netlist…】導出EDIF格式的網表文件,運行【Export Constraints…】導出相關的約束文件,然后將這兩個文件導入ISE中進行布局布線等后續操作。還可以導出Pblock文件、IP文件、I/O端口文件等。
10.9 小結
本章重點介紹了如何在PlanAhead中進行RTL源代碼開發與分析,如何進行I/O規劃,如何進行時序分析,如何進行布局規劃,以及在PlanAhead中如何使用ChipScope邏輯分析工具。在PlanAhead中導入綜合網表、約束文件以及ISE的布局布線結果的操作流程與上述介紹的過程類似,這里不再贅述。有興趣的讀者可以參考Xilinx相關的設計文檔。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。