《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 讓FPGA初學(xué)者頭疼的各種仿真

讓FPGA初學(xué)者頭疼的各種仿真

2015-10-15
關(guān)鍵詞: FPGA 仿真

  學(xué)習(xí)FPGA,被它的各種仿真弄的暈頭轉(zhuǎn)向。前仿真、后仿真、功能仿真、時序仿真、行為級仿真、RTL級仿真、綜合后仿真、門級仿真、布局布線后仿真……好吧,反正我是暈了。
  先說一下Quartus和Modelsim軟件的仿真形式:
  Quartus ii的兩種仿真:1、功能仿真2、時序仿真;
  Quartus ii調(diào)用Modelsim的兩種仿真:1、RTL級仿真2、Gate-level仿真。
  查閱了各種資料如下:
  資料一:
  1.當(dāng)用quartus進(jìn)行仿真時,分為功能仿真(al)和時序仿真(Timing)。
  2.當(dāng)用Modelsim-Altera時,分為功能仿真(RTL)、綜合后仿真(post-synthesis)和布局布線仿真(Gate-level)。其中,功能仿真又稱為前仿真,布局布線仿真又稱為后仿真。
  注:此處的功能仿真(RTL)與1中的功能仿真(al)是不一樣的,前者是HDL級仿真,后者是門級網(wǎng)表的功能仿真。
  (1)當(dāng)在quartus中調(diào)用Modelsim-Altera進(jìn)行RTL仿真時(前提是在第三方仿真工具中選擇Modelsim-Altera),步驟如下:
  a) 編寫源文件和測試文件;
  b) Assignment->setting->simulation->不選中run gate leve simulation.....,選中nativelink->添加測試文件,填寫文件名;
  c) start analysis&elabration;
  d) Tools->start RTL simulation;
  (2)綜合后仿真一般不做。
  (3)當(dāng)在quartus中調(diào)用Modelsim-Altera進(jìn)行Gate-level仿真時(前提是在第三方仿真工具中選擇Modelsim-Altera),步驟如下:
  a) 編寫源文件和測試文件;
  b)Assignment->setting->simulation->選中run gate leve simulation.....,選中nativelink->添加測試文件,填寫文件名;
  c)全編譯;
  評價:對于Assignment->setting->simulation->"run gate leve simulation automatically after comlilation"選不選中根本沒必要說明,完全可以不用選中,需要在設(shè)置處把測試文件testbench添加就可以了(不添加的話到時候quartus調(diào)用出modelsim軟件后需要手動添加編譯,下面補(bǔ)充了)。如果你想RTL級仿真,那么對于quartus ii只需要進(jìn)行分析綜合就可以,然后點擊Tools->Run EDA Simulation tool->Run RTL Simulation即可,軟件會自動將源文件以及測試文件在modelsim軟件里編譯,仿真出波形。如果你想Gate-level級仿真,那么對于quartus ii需要對工程進(jìn)行全編譯,然后點擊Tools->Run EDA Simulation tool->Run Gate-level Simulation即可,軟件會自動將網(wǎng)表文件.vo(verilog輸出文件)或.vho(VHDL輸出文件)以及測試文件在modelsim軟件里編譯,并將標(biāo)準(zhǔn)延遲文件SDF(.sdo)添加到modelsim里面,仿真出波形。
  補(bǔ)充:順便說一句,如果沒有在Assignment->setting->simulation把測試文件testbench設(shè)置好的話,不論是在RTL還是Gate-level級仿真,調(diào)用出modelsim后Quartus只把.vo或.vho文件送到modelsim里編譯了,然后都需要手動把testbench編譯進(jìn)去的,并且將在Run Gate-level Simulation仿真的時候,.sdo文件也需要手動添加,相對來說比較麻煩。
  資料二:
  Modelsim-Altera仿真一般分為功能仿真,前仿真(綜合后仿真)與后仿真(時序仿真或布局布線后仿真)。
  根據(jù)設(shè)計需要,編寫完代碼(Verilog hdl,Vhdl,system Verilog )后,首先進(jìn)行功能仿真,驗證所寫代碼是否能完成設(shè)計功能;前仿真又稱為綜合后仿真,即在QuartusII完成綜合后,驗證設(shè)計的功能;后仿真又稱為時序仿真或布局布線后仿真,是加入延時后的仿真。對于編譯時間較短的小規(guī)模設(shè)計,一般只進(jìn)行功能仿真與后仿真。
  資料三:
  modelsim是專門進(jìn)行仿真的軟件,可以分別進(jìn)行前仿真和后仿真。前仿真也稱為功能仿真,主旨在于驗證電路的功能是否符合設(shè)計要求,其特點是不考慮電路門延遲與線延遲,主要是驗證電路與理想情況是否一致。可綜合FPGA代碼是用RTL級代碼語言描述的,其輸入為RTL級代碼與testbench。后仿真也稱為時序仿真或者布局布線后仿真,是指電路已經(jīng)映射到特定的工藝環(huán)境以后,綜合考慮電路的路徑延遲與門延遲的影響,驗證電路能否在一定時序條件下滿足設(shè)計構(gòu)想的過程,是否存在時序違規(guī)。其輸入文件為從布局布線結(jié)果抽象出來的門級網(wǎng)表、testbench和擴(kuò)展為sdo或sdf的標(biāo)準(zhǔn)時延文件。sdo、sdf的標(biāo)準(zhǔn)時延文件不僅包含門延遲,還包括實際布線延遲,能較好地反映芯片的實際工作情況。一般來說后仿真是必選的,檢查設(shè)計時序與實際的FPGA運(yùn)行情況是否一致,確保設(shè)計的可靠性和穩(wěn)定性。
  資料四:
  前仿真和后仿真的區(qū)別:前仿真就是指綜合前的仿真,也就是行為級的仿真,如你在Modelsim直接寫代碼的仿真。后仿真指的是綜合后的仿真,也就是功能仿真。比如你在Modelsim中用VHDL寫了個計數(shù)器,行為級得仿真通過了,你把它加到quartus中或者其他的綜合工具進(jìn)行綜合,綜合完后生成功能網(wǎng)表,它把行為語言變成寄存器傳送級語言,這時候你把它加到Modelsim中仿真叫后仿真,后仿真成功后,你還要在quartus中進(jìn)行映射,布局布線,完后進(jìn)行時序分析,生成時序網(wǎng)表,描述器件里門或者布線的延時,最后把延時網(wǎng)表和功能網(wǎng)表一起加到Modelsim中仿真叫門級仿真。
  門級仿真和時序仿真的區(qū)別:門級仿真是quartus生成的網(wǎng)表文件.vo。門級則不考慮互聯(lián)延遲,二只考慮了器件的延遲。時序仿真是選擇具體器件并布局布線后進(jìn)行的包含定時關(guān)系的仿真,主要驗證是否滿足時間約束關(guān)系、延時、最大工作頻率和消耗的資源等。時序仿真是需添加時延文件.sdo。
  資料五:
  從廣義上講,仿真驗證包括功能與時序仿真和電路驗證。仿真是指使用設(shè)計軟件包對已實現(xiàn)的設(shè)計進(jìn)行完整測試,模擬實際物理環(huán)境下的工作情況。從仿真的層次上劃分,主要分為:
  前仿真,也稱為功能仿真或行為級仿真。是指僅對邏輯功能進(jìn)行測試模擬,以了解其實現(xiàn)的功能是否滿足原設(shè)計的要求,仿真過程沒有加入時序信息,不涉及具體器件的硬件特性,如延時特性;
  后仿真,也稱為布局布線后仿真或時序仿真。是指提取有關(guān)的器件延遲、連線延時等時序參數(shù),并在此基礎(chǔ)上進(jìn)行的仿真,它是非常接近真實器件運(yùn)行情況的仿真。 不同的工具和廠商還有一些其他的仿真過程,但大致屬于這兩類。
  針對FPGA設(shè)計的流程,有3個階段可以進(jìn)行仿真:
  第一階段是寄存器傳輸級(RTL)仿真,此級仿真是對設(shè)計的語法和基本功能進(jìn)行驗證 (不含時序信息);
  第二階段是針對特定的FPGA廠家技術(shù)的仿真,此級仿真是在綜合后、實現(xiàn)前而進(jìn)行的功能級仿真,功能級仿真一般驗證綜合后是否可以得到設(shè)計者所需要的正確功能;
  第三階段是門級仿真,此級仿真是針對實現(xiàn)后的門級時序進(jìn)行仿真,門級仿真體現(xiàn)了由于布局布線而產(chǎn)生的實際延時。
  資料六:
  前仿: 針對RTL代碼的功能和性能仿真和驗證。
  后仿: 1. pre-layout,這種是綜合后仿真,主要是仿綜合后的邏輯功能是否正確,綜合時序約束是不是都正確。
  2. post-layout,這種是布局布線后仿真,因為加入了線延遲信息,所以這一步的仿真和真正芯片的行為最接近,也是用于仿真芯片時序約束是否添加正確,布局布線后是否還滿足時序。
  資料七:
  功能仿真對設(shè)計輸入的功能進(jìn)行仿真,考慮的是理想化的情況,沒有門延遲,沒有布線延遲。
  綜合的過程,將設(shè)計輸入編譯成由與、或、非門,RAM,觸發(fā)器等基本邏輯單元組成的邏輯連接,即網(wǎng)表(Netlist),并輸出edf、edn等標(biāo)準(zhǔn)格式的網(wǎng)表文件。綜合后仿真把綜合生成的標(biāo)準(zhǔn)延時文件反標(biāo)注到綜合仿真模型中去,可估計門延時對電路帶來的影響。
  實現(xiàn)與布線,根據(jù)所選芯片的型號,將綜合輸出的邏輯網(wǎng)表適配到具體的FPGA/CPLD上。實現(xiàn)過程中最主要的過程是布局布線(Place and Route):布局將邏輯單元合理地適配到FPGA內(nèi)部的固有硬件結(jié)構(gòu)上;布線則根據(jù)布局的拓?fù)浣Y(jié)構(gòu),利用FPGA內(nèi)部的各種連線資源,合理正確地連接各個元件。時序仿真將布局布線的延時信息反標(biāo)注到設(shè)計網(wǎng)表中進(jìn)行仿真。此時的仿真延時文件信息最全,包含門延時和布線延時,所以布線后仿真最準(zhǔn)確,能較好地反映芯片的實際工作情況。
  以下是個人拙見:從以上分析,我們可以給文章剛開是提到的那九中仿真名詞中的一些畫等號了:
  前仿真=功能仿真=行為級仿真=RTL級仿真
  而后仿真又可以分為兩步,第一步是布線前 仿真,也就是綜合后仿真其目的主要是驗證邏輯功能是否正確,綜合時序是不是正確;第二步是布線后 仿真,也就是后仿真=時序仿真=布局布線后仿真=門級仿真,這一級的仿真最接近于芯片,里面加入了線延遲,可見資料七的解釋。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 欧美色欧美亚洲另类二区| 高清不卡毛片免费观看| 成年人在线网站| 亚洲一区二区精品视频| 福利视频免费看| 国产人妖视频一区二区破除| 91久久精品国产91久久性色也 | 国产一级一级毛片| 私人影院在线观看| 奇米影视久久777中文字幕| 久久久999久久久精品| 69堂午夜精品视频在线| 巨胸流奶水视频www网站| 亚洲精品国产专区91在线| 蜜桃麻豆WWW久久囤产精品| 国产精品成熟老女人视频| www.色亚洲| 日日婷婷夜日日天干| 亚洲一区二区三区高清视频| 特级一级毛片免费看| 四虎影视永久在线观看| 国产chinese91在线| 国产精品高清全国免费观看| 一区二区三区免费精品视频| 日本免费一区二区三区高清视频| 免费大黄网站在线观看| 青青网在线视频| 国产精品久久久久久影视| ass亚洲**毛茸茸pics| 成人精品一区二区三区中文字幕 | 欧美高清国产在线观看| 午夜爽爽爽男女免费观看hd| 青青青青草原国产免费| 国产真人无遮挡作爱免费视频| 97碰在线视频| 日本尤物精品视频在线看| 亚洲国产成人精品无码区在线网站| 玩弄放荡人妻少妇系列视频| 四虎国产精品永久在线| 韩国爱情电影妈妈的朋友 | 国内午夜免费鲁丝片|