第10章 PlanAhead工具應(yīng)用
PlanAhead工具是Xilinx提供的一個集成的、可視化的FPGA設(shè)計工具,它可以被應(yīng)用于FPGA設(shè)計過程中的不同階段,常見的應(yīng)用包括用PlanAhead進(jìn)行RTL源代碼的開發(fā)、I/O引腳規(guī)劃、RTL網(wǎng)表分析、布局布線結(jié)果的分析、布局規(guī)劃,還可以在PlanAhead中將Chipscope核插入設(shè)計輔助調(diào)試,從而提高性能。也可以用PlanAhead嘗試各種實現(xiàn)屬性的不同設(shè)置,應(yīng)用不同的時序約束、物理約束和布局規(guī)劃技術(shù)來提高設(shè)計性能。我們還可以將ISE的布局布線結(jié)果導(dǎo)入PlanAhead進(jìn)行分析,定位關(guān)鍵路徑,找到影響設(shè)計性能的真正原因,并通過添加合理的約束、嘗試多種布局規(guī)劃策略以提高設(shè)計性能。
PlanAhead具有以下功能。
I/O引腳規(guī)劃。
RTL開發(fā)和分析。
綜合和實現(xiàn)。
設(shè)計分析。
靜態(tài)時序預(yù)估。
時序約束編輯器。
強(qiáng)大的布局規(guī)劃。
基于塊的邏輯設(shè)計。
值得一提的是,PlanAhead已經(jīng)集成于ISE 11.x中,包括綜合前引腳規(guī)劃——I/O pin planning(Pre-Synthesis)、綜合后引腳規(guī)劃——I/O pin planning(Post-Synthesis)、綜合后區(qū)域/引腳/邏輯規(guī)劃——Floorplan Area/IO/Logic(Post-Synthesis)和實現(xiàn)后時序分析/設(shè)計規(guī)劃——Analyze Timing/Floorplan Design(Post-Implementation),它替代了以前常用的PACE和Floorplanner工具。
10.1 PlanAhead開發(fā)流程
如圖10-1所示,PlanAhead設(shè)計流程主要包含三個部分,分別是基本設(shè)計流程、實驗流程和設(shè)計分析/布局規(guī)劃流程。下面分別簡單介紹。
基本設(shè)計流程(Base Flow):此流程允許設(shè)計者導(dǎo)入RTL源文件,再對其進(jìn)行綜合、實現(xiàn)和結(jié)果分析。如果希望進(jìn)行設(shè)計分析和布局規(guī)劃,就要使用設(shè)計分析與布局規(guī)劃流程。
實驗流程(Run Experimentation Flow):設(shè)計者可以應(yīng)用不同的設(shè)計策略,使用多種綜合、實現(xiàn)屬性的組合,嘗試進(jìn)行多個綜合或?qū)崿F(xiàn)過程。PlanAhead工具提供了多種不同的實現(xiàn)策略,它也允許設(shè)計者自定義策略。例如,設(shè)計者可以在綜合階段指定面積優(yōu)化、速度優(yōu)化,或者功耗優(yōu)化策略,運行多個綜合過程,產(chǎn)生不同綜合策略下的綜合結(jié)果,再對其進(jìn)行分析。設(shè)計者也可以在實現(xiàn)階段,通過設(shè)置不同的翻譯、映射、布局布線屬性,產(chǎn)生多種實現(xiàn)結(jié)果。
設(shè)計分析與布局規(guī)劃流程(Analysis & Floorplanning Flow):PlanAhead可以對綜合后網(wǎng)表進(jìn)行分析,對邏輯資源、引腳進(jìn)行布局規(guī)劃,還可以將ISE的實現(xiàn)結(jié)果導(dǎo)入PlanAhead進(jìn)行分析和布局規(guī)劃。
圖10-1 PlanAhead設(shè)計流程
下面會對各種設(shè)計流程做詳細(xì)的介紹。
10.2 PlanAhead輸入、輸出文件
PlanAhead的輸入文件:
RTL Source File:源文件,包括Verilog/VHDL等。
Xilinx Cores (NGC / NGO):Xilinx核網(wǎng)表文件。
XST Constraint Files (XCF):XST約束文件。
I/O Port Lists (CSV):I/O引腳列表文件,CSV格式。
I/O Port Lists (HDL - Verilog or VHDL):I/O引腳列表文件,HDL格式。
Top-Level Netlists (EDIF):頂層網(wǎng)表,EDIF格式。
Module-Level Netlists (EDIF):模塊網(wǎng)表,EDIF格式。
Top-Level Netlists (NGC):頂層網(wǎng)表,NGC格式。
Constraint Files (UCF / NCF):約束文件,UCF/NCF格式。
Xilinx ISE Placement Results (NCD/XDL):Xilinx ISE布局結(jié)果,NCD/XDL格式。
Xilinx TRCE Timing Results (TWX/TWR):時序分析報告。
PlanAhead輸出報告:
I/O Pin Assignment (CSV):I/O引腳約束文件,CSV格式。
I/O Pin Assignment (RTL - Verilog or VHDL):I/O引腳約束文件,HDL格式。
Log File (planAhead.log):PlanAhead日志文件,包含了運行PlanAhead命令產(chǎn)生的信息內(nèi)容,可以運行Window→View Log File打開此文件。
Journal File (planAhead.jou):Tcl命令文件。
Error Log Files (planAhead_pidxxxx.debug & hs_err_pidxxxx.log):錯誤日志文件。
DRC Results (results_x_drc.txt):DRC文本文件。
TimeAhead Results (Excel file):時序規(guī)劃文件。
Netlist Module, Pblock, and Clock Region Statistics Reports:網(wǎng)表模塊、物理塊、時鐘域統(tǒng)計報告。
SSN Analysis Report:SSN分析報告。
WASSO Analysis Reports:WASSO分析報告。
PlanAhead環(huán)境設(shè)置信息:
View Display Options File (planAhead.ini &
.patheme):顯示PlanAhead初始化文件,PlanAhead工具的顯示屬性等設(shè)置保存在此文件中。
Window Layout Files (.layout):PlanAhead的窗口布局配置文件。
Shortcut Schema (default.xml):PlanAhead的快捷鍵定義文件。
Strategy Files (.psg):PlanAhead實現(xiàn)策略配置文件。
PlanAhead項目數(shù)據(jù)文件:
Project Directory (
):項目路徑,保存PlanAhead項目文件、項目數(shù)據(jù)文件和ISE實現(xiàn)結(jié)果。
Project File (
.ppr):項目文件,保存PlanAhead狀態(tài),項目的網(wǎng)表信息以及各種布局規(guī)劃信息保存在其中。
Project Data Directory (
.data):項目數(shù)據(jù)路徑,包含了項目中的所有規(guī)劃信息(Floorplan)和與網(wǎng)表相關(guān)的數(shù)據(jù)。
Project Data - Netlist Subdirectory (netlist):網(wǎng)表子目錄,對于基于RTL的設(shè)計,其中保存了每一個綜合網(wǎng)表;對于基于網(wǎng)表的設(shè)計,其中保存了導(dǎo)入的網(wǎng)表,包括所有的NGC網(wǎng)表。
Project Data - Floorplan Subdirectories and Files ():Floorplan子目錄和文件。
Project RTL Directory (
.srcs):RTL源文件目錄,保存了所有導(dǎo)入到項目中的HDL文件。
用于ISE實現(xiàn)的輸出文件:
Run Directory (
.runs):在PlanAhead中可以運行多個ISE實現(xiàn)進(jìn)程,每個實現(xiàn)結(jié)果都會存儲在一個獨立的“運行目錄”中,其中包括EDIF網(wǎng)表和ucf約束文件。
EDIF Netlists (.edf):可以導(dǎo)出EDIF格式的ASIC文件,運行下面任一命令,可以導(dǎo)出此網(wǎng)表,包括:
Run Implementation and Launch Runs (PlanAhead):自動導(dǎo)出EDIF和UCF文件。
File→Export Netlist:導(dǎo)出網(wǎng)表。
File→Export Pblocks:導(dǎo)出指定的Pblock網(wǎng)表EDIF文件及UCF文件,以便進(jìn)行模塊重用。
File→Export IP:導(dǎo)出指定IP的EDIF和UCF文件,以便進(jìn)行IP重用。
Xilinx Cores (.ngc/.ngo):Xilinx的IP核網(wǎng)表文件。
ChipScope Core Netlists (.ngc):ChipScope核網(wǎng)表文件。
Constraint Files (.ucf):ucf約束文件。
ISE Launch Scripts (jobx.bat/sh & runme.bat/sh & ..rst):ISE啟動腳本文件。
評論
查看更多