FPGA系統(tǒng)設計的仿真驗證之: FPGA設計仿真驗證的原理和方法
7.1FPGA設計仿真驗證的原理和方法
7.1.1FPGA設計仿真驗證
嚴格來講,FPGA設計驗證包括功能與時序仿真和電路驗證。仿真是指使用設計軟件包對已實現(xiàn)的設計進行完整測試,模擬實際物理環(huán)境下的工作情況。
本文引用地址:http://www.ex-cimer.com/article/201706/348822.htm功能仿真是指僅對邏輯功能進行測試模擬,以了解其實現(xiàn)的功能是否滿足原設計的要求。仿真過程沒有加入時序信息,不涉及具體器件的硬件特性,如延時特性等,因此也叫前仿真。它是對HDL硬件設計語言的功能實現(xiàn)能力進行仿真,以確保HDL語言描述能夠滿足設計者的最初意圖。
時序仿真則是在HDL可以滿足設計者功能要求的基礎上,在布局布線后,提取有關的器件延遲、連線延時等時序參數(shù),并在此基礎上進行的仿真,也稱為后仿真,它是接近真實器件運行的仿真。
如圖7.1所示是FPGA設計仿真驗證的基本方法。
圖7.1FPGA設計仿真驗證基本方法
7.1.2FPGA設計仿真的切入點
在FPGA的設計中,完整的設計流程往往會涉及多個EDA工具,比如設計輸入工具、綜合工具、布局布線工具、仿真工具等。如何將這些EDA工具進行適當?shù)慕Y合,在符合各個工具接口情況下發(fā)揮各個工具的特長,是每一個FPGA設計工程師都要面臨的問題。
如圖7.2所示是利用仿真工具ModelSim與綜合工具FPGACompilerII及布線工具FoundationSeries或Quartus相配合實現(xiàn)FPGA設計的流程圖。
圖7.2FPGA設計仿真切入點
在設計輸入階段,由于Modelsim僅支持VHDL或VerilogHDL,所以在選用多種設計輸入工具時,可以使用文本編輯器完成HDL語言的輸入。當然也可以利用相應的工具以圖形方式完成輸入,但必須能夠導出對應的VHDL或VerilogHDL格式。
近年來出現(xiàn)的圖形化HDL設計工具,可以接收邏輯結構圖、狀態(tài)轉換圖、數(shù)據(jù)流圖、控制流程圖及真值表等輸入方式,并通過配置的翻譯器將這些圖形格式轉化為HDL文件,如MentorGraphics公司的Renoir,Xilinx公司的Foundation系列都帶有將狀態(tài)轉換圖翻譯成HDL文本的設計工具。
從圖7.2可以看出,在FPGA設計過程中,有3處可以使用Modelsim進行仿真。
(1)寄存器傳輸級(RTL)仿真。
此級仿真是對設計的語法和基本功能進行驗證(不含時序信息)。在RTL仿真階段,應該建立一個測試臺。此測試臺可以在整個FPGA流程中進行仿真驗證(RTL級、功能級、時序門級)。測試臺不但提供測試激勵與接收響應信息,而且可以測試HDL仿真流程中的關鍵功能(如運算部件輸出值的正確性等)。測試臺的產生可以直接使用文本編程得到,也可以使用圖形化工具輸入,再由軟件翻譯為HDL格式,例如使用HDLBencher軟件利用其良好的波形輸入界面輸入測試激勵,再由其自動轉化為HDL格式而得到。
(2)針對特定的FPGA專有技術的仿真。
此級仿真是在綜合后、實現(xiàn)前而進行的功能仿真。功能仿真一般驗證綜合后是否可以得到設計者所需要的正確功能,而且功能仿真的結果往往與RTL級仿真結果相同。
(3)門級仿真。
此級仿真是針對門級時序進行的仿真,門級仿真體現(xiàn)出由于布局布線而產生的實際延時。在這個階段,仿真的結果和設計者選擇的FPGA型號有著直接的關系。由于不同的FPGA的內部結果有所差異,因此同一個設計在不同F(xiàn)PGA型號上得到的門級仿真結果也是不同的。
評論