多種EDA工具的FPGA設(shè)計方案
2.3 仿真驗證
從廣義上講,設(shè)計驗證包括功能與時序仿真和電路驗證。仿真是指使用設(shè)計軟件包對已實現(xiàn)的設(shè)計進行完整測試,模擬實際物理環(huán)境下的工作情況。前仿真是指僅對邏輯功能進行測試模擬,以了解其實現(xiàn)的功能是否滿足原設(shè)計的要求,仿真過程沒有加入時序信息,不涉及具體器件的硬件特性,如延時特性;而在布局布線后,提取有關(guān)的器件延遲、連線延時等時序參數(shù),并在此基礎(chǔ)上進行的仿真稱為后仿真,它是接近真實器件運行的仿真。
2.4 設(shè)計實現(xiàn)
實現(xiàn)可理解為利用實現(xiàn)工具把邏輯映射到目標器件結(jié)構(gòu)的資源中,決定邏輯的最佳布局,選擇邏輯與輸入輸出功能塊連接的布線通道進行連線,并產(chǎn)生相應(yīng)文件(如配置文件與相關(guān)報告)。通??煞譃槿缦挛鍌€步驟:
(1)轉(zhuǎn)換:將多個設(shè)計文件進行轉(zhuǎn)換并合并到一個設(shè)計庫文件中。
(2)映射:將網(wǎng)表中邏輯門映射成物理元素,即把邏輯設(shè)計分割到構(gòu)成可編程邏輯陣列內(nèi)的可配置邏輯塊與輸入輸出塊及其它資源中的過程。
(3)布局與布線:布局是指從映射取出定義的邏輯和輸入輸出塊,并把它們分配到FPGA內(nèi)部的物理位置,通?;谀撤N先進的算法,如最小分割、模擬退火和一般的受力方向張弛等來完成;布線是指利用自動布線軟件使用布線資源選擇路徑試著完成所有的邏輯連接。因最新的設(shè)計實現(xiàn)工具是時序驅(qū)動的,即在器件的布局布線期間對整個信號通道執(zhí)行時序分析,因此可以使用約束條件操縱布線軟件,完成設(shè)計規(guī)定的性能要求。在布局布線過程中,可同時提取時序信息形成報告。
(4)時序提取:產(chǎn)生一反標文件,供給后續(xù)的時序仿真使用。
(5)配置:產(chǎn)生FPGA配置時所需要的位流文件。
在實現(xiàn)過程中可以進行選項設(shè)置。因其支持增量設(shè)計,可以使其重復(fù)多次布線,且每次布線利用上一次布線信息以使其布線更優(yōu)或達到設(shè)計目標。在實現(xiàn)過程中應(yīng)設(shè)置默認配置的下載形式,以使后續(xù)位流下載正常。
2.5 時序分析
在設(shè)計實現(xiàn)過程中,在映射后需要對一個設(shè)計的實際功能塊的延時和估計的布線延時進行時序分析;而在布局布線后,也要對實際布局布線的功能塊延時和實際布線延時進行靜態(tài)時序分析。從某種程度來講,靜態(tài)時序分析可以說是整個FPGA設(shè)計中最重要的步驟,它允許設(shè)計者詳盡地分析所有關(guān)鍵路徑并得出一個有次序的報告,而且報告中含有其它調(diào)試信息,比如每個網(wǎng)絡(luò)節(jié)點的扇出或容性負載等。靜態(tài)時序分析器可以用來檢查設(shè)計的邏輯和時序,以便計算各通路性能,識別可能的蹤跡,檢測建立和保持時間的配合,時序分析器不要求用戶產(chǎn)生輸入激勵或測試矢量。雖然Xilinx與Altera在FPGA開發(fā)套件上擁有時序分析工具,但在擁有第三方專門時序分析工具的情況下,僅利用FPGA廠家設(shè)計工具進行布局布線,而使用第三方的專門時序分析工具進行時序分析,一般FPGA廠商在其設(shè)計環(huán)境下皆有與第三方時序分析工具的接口。Synopsys公司的PrimeTime是一個很好的時序分析工具,利用它可以達到更好的效果。將綜合后的網(wǎng)表文件保存為db格式,可在PrimeTime環(huán)境下打開。利用此軟件查看關(guān)鍵路徑或設(shè)計者感興趣的通路的時序,并對其進行分析,再次對原來的設(shè)計進行時序約束,可以提高工作主頻或減少關(guān)鍵路徑的延時。與綜合過程相似,靜態(tài)時序分析也是一個重復(fù)的過程,它與布局布線步驟緊密相連,這個操作通常要進行多次直到時序約束得到很好的滿足。
在綜合與時序仿真過程中交互使用PrimeTime進行時序分析,滿足設(shè)計要求后即可進行FPGA芯片投片前的最終物理驗證。
2.6 下載驗證
下載是在功能仿真與時序仿真正確的前提下,將綜合后形成的位流下載到具體的FPGA芯片中,也叫芯片配置。FPGA設(shè)計有兩種配置形式:直接由計算機經(jīng)過專用下載電纜進行配置;由外圍配置芯片進行上電時自動配置。因FPGA具有掉電信息丟失的性質(zhì),因此可在驗證初期使用電纜直接下載位流,如有必要再將其燒錄到配置芯片中(如Xilinx的XC18V系列,Altera的EPC2系列)。使用電纜下載時有多種下載方式,如對Xilinx公司的FPGA下載可以使用JTAG Programmer、Hardware Programmer、PROM Programmer三種方式,而對Altera公司的FPGA可以選擇JTAG方式或Passive Serial方式。因FPGA大多支持IEEE的JTAG標準,所以使用芯片上的JTAG口是常用下載方式。
將位流文件下載到FPGA器件內(nèi)部后進行實際器件的物理測試即為電路驗證,當?shù)玫秸_的驗證結(jié)果后就證明了設(shè)計的正確性。電路驗證對FPGA投片生產(chǎn)具有較大意義。
3 基于多種EDA工具的FPGA設(shè)計
仿真工具Modelsim與綜合工具FPGA Compiler II及布線工具Foundation Series或Quartus相配合實現(xiàn)FPGA設(shè)計的流程圖如圖3所示。
評論