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