多種EDA工具進(jìn)行FPGA設計的原理及方法簡(jiǎn)介
(1)轉換:將多個(gè)設計文件進(jìn)行轉換并合并到一個(gè)設計庫文件中。
本文引用地址:http://dyxdggzs.com/article/256057.htm(2)映射:將網(wǎng)表中邏輯門(mén)映射成物理元素,即把邏輯設計分割到構成可編程邏輯陣列內的可配置邏輯塊與輸入輸出塊及其它資源中的過(guò)程。 (3)布局與布線(xiàn):布局是指從映射取出定義的邏輯和輸入輸出塊,并把它們分配到FPGA內部的物理位置,通?;谀撤N先進(jìn)的算法,如最小分割、模擬退火和一般的受力方向張弛等來(lái)完成;布線(xiàn)是指利用自動(dòng)布線(xiàn)軟件使用布線(xiàn)資源選擇路徑試著(zhù)完成所有的邏輯連接。因最新的設計實(shí)現工具是時(shí)序驅動(dòng)的,即在器件的布局布線(xiàn)期間對整個(gè)信號通道執行時(shí)序分析,因此可以使用約束條件操作布線(xiàn)軟件,完成設計規定的性能要求。在布局布線(xiàn)過(guò)程中,可同時(shí)提取時(shí)序信息形成報靠。
(4)時(shí)序提?。寒a(chǎn)生一反標文件,供給后續的時(shí)序仿真使用。
(5)配置:產(chǎn)生FPGA配置時(shí)的需要的位流文件。
在實(shí)現過(guò)程中可以進(jìn)行選項設置。因其支持增量設計,可以使其重復多次布線(xiàn),且每次布線(xiàn)利用上一次布線(xiàn)信息以使布線(xiàn)更優(yōu)或達到設計目標。在實(shí)現過(guò)程中應設置默認配置的下載形式,以使后續位流下載正常。
2.5 時(shí)序分析
在設計實(shí)現過(guò)程中,在映射后需要對一個(gè)設計的實(shí)際功能塊的延時(shí)和估計的布線(xiàn)延時(shí)進(jìn)行時(shí)序分析;而在布局布線(xiàn)后,也要對實(shí)際布局布線(xiàn)的功能塊延時(shí)和實(shí)際布線(xiàn)延時(shí)進(jìn)行靜態(tài)時(shí)序分析。從某種程序來(lái)講,靜態(tài)時(shí)序分析可以說(shuō)是整個(gè)FPGA設計中最重要的步驟,它允許設計者詳盡地分析所有關(guān)鍵路徑并得出一個(gè)有次序的報告,而且報告中含有其它調試信息,比如每個(gè)網(wǎng)絡(luò )節點(diǎn)的扇出或容性負載等。靜態(tài)時(shí)序分析器可以用來(lái)檢查設計的邏輯和時(shí)序,以便計算各通中性能,識別可靠的蹤跡,檢測建立和保持時(shí)間的配合,時(shí)序分析器不要求用戶(hù)產(chǎn)生輸入激勵或測試矢量。雖然Xilinx與Altera在FPGA開(kāi)發(fā)套件上擁有時(shí)序分析工具,但在擁有第三方專(zhuān)門(mén)時(shí)序分析工具的情況下,僅利用FPGA廠(chǎng)家設計工具進(jìn)行布局布線(xiàn),而使用第三方的專(zhuān)門(mén)時(shí)序分析工具進(jìn)行時(shí)序分析,一般FPGA廠(chǎng)商在其設計環(huán)境下皆有與第三方時(shí)序分析工具的接口。Synopsys公司的PrimeTime是一個(gè)很好的時(shí)序分析工具,利用它可以達到更好的效果。將綜合后的網(wǎng)表文件保存為db格式,可在PrimeTime環(huán)境下打開(kāi)。利用此軟件查看關(guān)鍵路徑或設計者感興趣的通路的時(shí)序,并對其進(jìn)行分析,再次對原來(lái)的設計進(jìn)行時(shí)序結束,可以提高工作主頻或減少關(guān)鍵路徑的躚 時(shí)。與綜合過(guò)程相似,靜態(tài)時(shí)序分析也是一個(gè)重復的過(guò)程,它與布局布線(xiàn)步驟緊密相連,這個(gè)操作通常要進(jìn)行多次直到時(shí)序約束得到很好的滿(mǎn)足。
在綜合與時(shí)序仿真過(guò)程中交互使用PrimeTime進(jìn)行時(shí)序分析,滿(mǎn)足設計要求后即可進(jìn)行FPGA芯片投片前的最終物理驗證。
2.6 下載驗證
下載是在功能仿真與時(shí)序仿真正確的前提下,將綜合后形成的位流下載到具體的FPGA芯片中,也叫芯片配置。FPGA設計有兩種配置形式:直接由計算機經(jīng)過(guò)專(zhuān)用下載電纜進(jìn)行配置;由外圍配置芯片進(jìn)行上電時(shí)自動(dòng)配置。因FPGA具有掉電信息丟失的性質(zhì),因此可在驗證初期使用電纜直接下載位流,如有必要再將燒錄配置芯片中(如Xilinx的XC18V系列,Altera的EPC2系列)。使用電纜下載時(shí)有多種直載方式,如對Xilinx公司的FPGA下載可以使用JTAG Programmer、Hardware Programmer、PROM Programmer三種方式,而對Altera公司的FPGA可以選擇JTAG方式或Passive Serial方式。因FPGA大多支持IEEE的JTAG標準,所以使用芯片上的JTAG口是常用下載方式。
將位流文件下載到FPGA器件內部后進(jìn)行實(shí)際器件的物理測試即為電路驗證,當得到正確的驗證結果后就證明了設計的正確性。電路驗證對FPGA投片生產(chǎn)具有較大意義。
3 基于多種EDA工具的FPGA設計
仿真工具M(jìn)odelsim與綜合工具FPGA Compiler II及布線(xiàn)工具Foundation Series或Quartus相配合實(shí)現FPGA設計流程圖如圖3所示。
在設計輸入階段,因Modelsim僅支持VHDL或Verilog HDL,所以在選用多種設計輸入工具時(shí),可以使用文本編輯器完成HDL語(yǔ)言的輸入,也可以利用相應的工具以圖形方式完成輸入,但必須能夠導出對應的 VHDL或Verilog HDL格式。近年來(lái)出現的圖形化HDL設計工具,可以接收邏輯結構圖、狀態(tài)轉換圖、數據流圖、控制流程圖及真值表等輸入方式,并通過(guò)配置的翻譯器將這些圖形格式轉化為HDL文件,如Mentor Graphics公司的Renoir,Xilinx公司的Foundation Series都帶有將狀態(tài)轉換圖翻譯成HDL文本的設計工具。在這方面,Summit公司(現在已經(jīng)合并為Innoveda)的圖形化界面友好程度較高,且可以導出相應的HDL格式。
從圖3中可以看到有三處可以由Modelsim進(jìn)行仿真:第一處是寄存器傳輸級(RTL)仿真,此級仿真是對設計的語(yǔ)法和基本功能進(jìn)行驗證(不含時(shí)序信息);第二處是針對特定的FPGA廠(chǎng)有技術(shù)的仿真,此級偽真是在綜合后、實(shí)現前而進(jìn)行的功能級仿真,功能級仿真一般驗證綜合后是否可以得到設計者所需要的正確功能;第三處仿真是門(mén)級仿真,此級仿真是針對門(mén)級時(shí)序進(jìn)行的仿真,門(mén)級仿真體現出由于布局布線(xiàn)而產(chǎn)生的實(shí)際延時(shí)。
在RTL仿真階段,應該建立一個(gè)測試臺。此測試臺可以在整個(gè)FPGA流程中進(jìn)行仿真驗證(RTL級、功能級、時(shí)序門(mén)級)。測試臺不但提供測試激勵與接收響應信息,而且可以測試HDL仿真流程中的關(guān)鍵功能(如運算部件輸出值的正確性等)。測試臺的產(chǎn)生可以直接使用文本編程得到,也可以使用圖形化工具輸入,再由軟件翻譯為HDL格式,例如使用HDL Bencher軟件利用其良好的波形輸入界面輸入測試激勵,再由其自動(dòng)轉化為HDL格式而得到。
在功能級仿真階段,一般驗證綜合后是否仍與RTL級仿真結果相同。
在門(mén)級仿真階段,由于已經(jīng)針對具體的FPGA廠(chǎng)家技術(shù)進(jìn)行了功能級仿真,因此可以通過(guò)布局布線(xiàn)得到標準延格式下的時(shí)序信息進(jìn)行門(mén)級仿真。
Mentor Graphics公司的Modelsim是業(yè)界較好的仿真工具,其仿真功能強大,且圖形化界面友好,而且具有結構、信號、波形、進(jìn)程、數據流等窗口。將 FPGA設計(以HDL方式)輸入后進(jìn)行編譯即可進(jìn)行前仿真,其最新版本Modelsim SE/Plus 5.5支持VHDL與Verilog HDL混合仿真。在仿真時(shí)可以編寫(xiě)HDL激勵文件或執行組模式方式。組模式方式類(lèi)似批處理方式,可以連續執行事先在文件中寫(xiě)好的多個(gè)執行命令,這對重新仿真或重復執行多個(gè)命令特別有效。在仿真過(guò)程中可以執行性能分析與代碼覆蓋分析。性能分析在程序代碼執行過(guò)程中可以分析出各部分代碼執行時(shí)占用整個(gè)執行時(shí)間的百分率。在此信息下,設計者可以找到設計的瓶頸并通過(guò)優(yōu)化代碼減少仿真時(shí)間。代碼覆蓋分析可以使設計者確切知道在測試臺上正在進(jìn)行的代碼位置,以方便設計者調試。
fpga相關(guān)文章:fpga是什么
評論