www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]ModelSim+Synplify+Quartus的Altera FPGA的仿真實現(xiàn)

工作內(nèi)容:
1、設(shè)計一個多路選擇器,利用ModelSimSE做功能仿真;
2、利用Synplify Pro進(jìn)行綜合,生成xxx.vqm文件;
3、利用Quartus II導(dǎo)入xxx.vqm進(jìn)行自動布局布線,并生成xxx.vo(Verilog
4、利用ModelSimSE做后仿真,看是否滿足要求。
 
注:
1. 仿真器(Simulator)是用來仿真電路的波形。
2. 綜合工具(Synthesizer)的功能是將HDL轉(zhuǎn)換成由電路所組成的Netlist。
3. 一般而言,在電路設(shè)計的仿真上可分為Pre-Sim 和Post-Sim。Pre-Sim 是針而Post-Sim則是針對綜合過且做完成了Auto Place and Route(APR)的電路進(jìn)行仿真,以確保所設(shè)計的電路實現(xiàn)在FPGA上時,與Pre-Sim 的功能一樣。
 
1、前仿真(Pre-Sim)
步驟一:打開ModelSimSE,然后建立一個Project;
※建立Project的方式為點選File → New → Project…;
※設(shè)定Project Name 與Project location,按OK 即可建立Project。 
 
步驟二:新增設(shè)計文檔或加入文檔。
※新增文檔的方式為點選File → New → Source → Verilog,然后對文檔進(jìn)行編輯并儲存為xxx.v;
※ 加入文檔的方式為點選File → Add to Project → File...,然后點選xxx.v; 
 
步驟三:編譯(Compile)。
※編譯文檔的方式為點選Compile → Compile All,即可編譯所有的文檔。
※如果編譯時發(fā)生錯誤,在顯示錯誤的地方(紅字)點兩下,即可跳到錯誤。
 
步驟四:新增或加入測試平臺(Testbench)。
※當(dāng)設(shè)計完電路后,為了確定所設(shè)計的電路是否符合要求,我們會寫一個測 試平臺(Testbench);
※ 新增或加入測試平臺,然后編譯它。
 
步驟五:仿真(Simulate)。
※仿真的方式為點選Simulate → Simulate…;
※打開Design里面的work,然后點選mux_4_to_1_tb 并Add 它,最后按Load 即可跳到仿真窗口。 
 
步驟六:加入信號線。
※ 在窗口上按右鍵,然后點選Add → Add to Wave; 
 
步驟七:看波形。
※在工具列上按Run,然后就會顯示波形;
※慢慢看波形吧,沒有波形就沒有真相! 
 
以上就是使用ModelSim做Pre-Sim的基本流程,在此要特別強(qiáng)調(diào)的是,ModelSim所有的功能并不僅僅于此,如果你想要了解更多的話,一切都要靠自己花時間去問去試,只有努力的人才能有豐富的收獲,加油!

2、綜合(Synthesis)
步驟一:打開Synplify Pro,然后建立一個Project。
※先點選File,再點選New;
※選擇Project File,并設(shè)定File Name與File Location; 
 
步驟二:加入設(shè)計文件。
※ 點選欲加入的xxx.v,然后按Add,再按OK后就可以將檔案加入。
 [!--empirenews.page--]
步驟三:選擇FPGA的Device 與其它相關(guān)設(shè)定。
※先點選Project,再點選Implementation Options。
※在Device 的設(shè)定如下:Technology為Altera Stratix,Part為EP1S10,Speed 為-6,Package 為FC780。
※在Options 的設(shè)定是將FSM Compiler與Resource Sharing打勾。
※在Constraints的設(shè)定是將Frequency設(shè)定至100Mhz。
※在Implementation Results的設(shè)定是將Result File Name填入與電路模塊相同的名稱,而xxx.vgm這個文件會在QuartusII做APR時被使用。然后將下列兩個選項打勾(Write Vendor Constraint File與Write Mapped Verilog Netlist)。 
※在Timing Report的設(shè)定是將Number of Critical Paths與Number of Start/End Points都設(shè)為11。
※在Verilog里是將TOP Level Module填入與電路模塊相同的名稱,然后將 Use Verilog 2001打勾。 
 
步驟四:綜合(Synthesis)。
※點選RUN → Synthesize,最后出現(xiàn)Done!就是已經(jīng)綜合完畢。
 
步驟五:檢查綜合后的電路。
※先點選HDL Analyst,再點選RTL,最后點選Hierarchal View,畫面會出現(xiàn)綜合后的電路Netlist。 
 
以上就是使用Synplify將HDL程序合成為電路Netlist的基本流程,值得注意的是,當(dāng)你針對不同要求而設(shè)定的Constraints不同時,你就會得到不同的電路Netlist,所要付出的硬件代價也不同,這就需要大家多花點心思來了解其中的奧妙之處。

3、自動布局布線(APR)
步驟一:開啟Quartus II,然后建立一個Project。
※先點選File,再點選New Project Wizard…。
※設(shè)定Work Directory,Project Name與Top-Level Entity Name,再按Next。 
 
步驟二:加入設(shè)計文件。
※ 點選Add…,將Synplify合成出來的xxx.vqm加入,再按Next。 
 
步驟三:設(shè)定相關(guān)的EDA Tools。
※在Tool Type點選Simulation,Tool Name點選ModelSim。

※ 點選Settings,將Time Scale設(shè)定為1 ns。 
 
 
步驟四:設(shè)定Family。
※ 設(shè)定Family為Stratix,再按Next。 
  [!--empirenews.page--]
步驟五:設(shè)定Device。
※ 設(shè)定Device 為EP1S10F780C6,再按Finish,即可完成Project的設(shè)定。
 
步驟六:編譯。
※ 點選Processing → Start Compilation,即可開始編譯。  
 
步驟七:完成編譯。
※ 彈出下面窗口即代表編譯完畢。 
 
以上就是使用Quartus II對電路Netlist做APR的基本流程,并且利用設(shè)定仿真工具所產(chǎn)生的xxx.vo(Verilog Output File)與xxx.sdo(Standard Delay Output File)做后仿真。 

4、后仿真(Post-Sim)
步驟一:啟動ModelSim,然后建立一個Project。
※建立Project的方式為點選File → New → Project…。
※設(shè)定Project Name與Project location,按OK即可建立Project。
 
步驟二:加入設(shè)計文檔。
※將xxx.vo更改為xxx.v,然后加入。
 
步驟三:加入組件庫文件。
※由于我們是采用Altera的Cell Library來合成電路,所以合成后的電Netlist里所包括的那些Logic Gates與Flip-Flop 都是出自于Cell Library,所以模擬時要將此Cell Library加入。
※我們所選用的Family是Stratix,所以到QuartusIIedasim_lib 里將Stratix的Cell Library(stratix_atoms.v)加入。
 
步驟四:加入測試平臺。
※加入Pre-Sim的測試平臺,并在測試平臺里加上`timescale 1ns/100ps。
 
步驟五:編譯。
※編譯檔案的方式為點選Compile → Compile All,即可編譯所有的檔案。
※如果編譯時發(fā)生錯誤,在顯示錯誤的地方(紅字)點兩下,即可跳到錯誤。
 
步驟六:仿真。
※仿真文件的方式為點選Simulate → Simulate…。
 
步驟七:加入要觀察的信號。
※在窗口上按右鍵,然后點選Add → Add to Wave。
 
步驟八:觀察波形。 
 
※慢慢看波形吧,沒有波形就沒有真相!
 
步驟九:比對Pre-Sim 與Post-Sim。
※ 很明顯地,Post-Sim 的輸出有不穩(wěn)定的信號,并且受到延遲時間的影響。
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

最近為什么越來越多的研究開始利用FPGA作為CNN加速器?FPGA與CNN的相遇究竟能帶來什么神奇效果呢?原來,F(xiàn)PGA擁有大量的可編程邏輯資源,相對于GPU,它的可重構(gòu)性以及高功耗能效比的優(yōu)點,是GPU無法比擬的;同時...

關(guān)鍵字: FPGA 可編程邏輯資源 GPU

FPGA的應(yīng)用領(lǐng)域包羅萬象,我們今天來看看在音樂科技領(lǐng)域及醫(yī)療照護(hù)的智能巧思。

關(guān)鍵字: FPGA 科技領(lǐng)域 智能

強(qiáng)大的產(chǎn)品可降低信號噪音并提高分辨率與動態(tài)

關(guān)鍵字: Spectrum儀器 數(shù)字化儀 FPGA

最近某項目采用以太網(wǎng)通信,實踐起來有些奇怪,好像設(shè)計成只能應(yīng)答某類計算機(jī)的ICMP(ping)命令, 某類計算機(jī)指的是Windows特定系統(tǒng),其他系統(tǒng)發(fā)送ping都不能正確識別。

關(guān)鍵字: 嵌入式Linux FPGA 協(xié)議

近兩年,國外廠商的FPGA芯片價格飆升,由于價格,貨期,出口管制等多方面因素的影響,很多公司都在尋找FPGA國產(chǎn)化替代方案。我工作中正在使用的幾款芯片也面臨停產(chǎn)的風(fēng)險,用一片少一片,了解到國產(chǎn)FPGA發(fā)展的也不錯,完全自...

關(guān)鍵字: FPGA 芯片 EDA

本篇是FPGA之旅設(shè)計的第十二例,在前面的例程中,完成了DS18B20溫度傳感器數(shù)據(jù)的采集,并且將采集到的數(shù)據(jù)顯示在數(shù)碼管上。由于本例將對溫濕度傳感器DHT11進(jìn)行采集,而且兩者的數(shù)據(jù)采集過程類似,所以可以參考一下前面的...

關(guān)鍵字: FPGA DS18B20溫度傳感器

這是FPGA之旅設(shè)計的第十三例啦,本例是一個綜合性的例程,基于OLED屏幕顯示,和DHT11溫濕度采集,將DHT11采集到的溫濕度顯示到OLED屏幕上。

關(guān)鍵字: FPGA OLED屏幕

第八例啦,本例將介紹如何通過FPGA采集DS18B20傳感器的溫度值。

關(guān)鍵字: FPGA DS18B20傳感器

這是FPGA之旅設(shè)計的第九例啦!?。”纠龑⒔榻B如何使用FPGA驅(qū)動OLED屏幕,并在接下來的幾例中,配合其它模塊,進(jìn)行一些有趣的綜合實驗。由于使用的OLED屏是IIC接口的,對IIC接口不是很清楚的,可以參考第五例的設(shè)計...

關(guān)鍵字: FPGA OLED屏幕

這是FPGA之旅設(shè)計的第十例啦,在上一例中,已經(jīng)成功驅(qū)動了OLED屏幕,本例將結(jié)合上一例,以及第四例多bytes串口通信做一個有趣的例程。

關(guān)鍵字: FPGA OLED屏 串口

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉