使用Verilog HDL進(jìn)行數(shù)字邏輯設(shè)計(jì)、綜合、仿真的步驟及工具軟件使用簡(jiǎn)要說(shuō)明_第1頁(yè)
使用Verilog HDL進(jìn)行數(shù)字邏輯設(shè)計(jì)、綜合、仿真的步驟及工具軟件使用簡(jiǎn)要說(shuō)明_第2頁(yè)
使用Verilog HDL進(jìn)行數(shù)字邏輯設(shè)計(jì)、綜合、仿真的步驟及工具軟件使用簡(jiǎn)要說(shuō)明_第3頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、使用 Verilog HDL 進(jìn)行數(shù)字邏輯設(shè)計(jì)、綜合、仿真的步驟及工具軟件使用簡(jiǎn)要說(shuō)明綜合工具使用 synplify pro 7.0仿真工具使用 modelsim 5.5e (幾個(gè)菜單排列與 5.6 有不同,文中有介紹) 布局布線工具及時(shí)序仿真模型生成使用 maxplusII 10.0一寫(xiě)在開(kāi)干之前涉及到的文件源程序 (*.v)module (module 相互調(diào)用) 如果用于綜合,則源程序內(nèi)用于描述的 只能做功能仿真(前仿真,而不能做綜合后的仿真和時(shí)序仿真(后仿真。 HDL 模型(網(wǎng)表) (*.vm)synplify a HDL synplify (Implementation Option

2、 Implementation results選項(xiàng)中選中write mapped verilog netlist vm 文件。此文件用于作綜合后的仿真布局布線后生成的時(shí)序仿真模型(網(wǎng)表) (*.vo)文件使用 maxplusII HDL 描述。maxplusII vo maxplusII compile interface verilog netlist writer。此文件用于作時(shí)序仿真(后仿真)測(cè)試文件(*.v 或*.tf)HDL 源程序。用于測(cè)試源程序(a,b,c) 在測(cè)試文件中調(diào)用被測(cè)試的 HDL 語(yǔ)句不需要是可以綜合的,只需語(yǔ)法正確。如果被測(cè)試的模型為 a,則對(duì)應(yīng)的仿真為前仿真(功能

3、仿真) 如果被測(cè)試的模型為 b, 則對(duì)應(yīng)的仿真為綜合后仿真如果被測(cè)試的模型為 c, 則對(duì)應(yīng)的仿真為后仿真強(qiáng)烈建議module源程序文件名與其內(nèi)所描述的 module 名相同(如 module myadder文件名myadder.v)為了方便管理文件,為每一個(gè)設(shè)計(jì)都單獨(dú)創(chuàng)建一個(gè)目錄,目錄內(nèi)創(chuàng)建source, test 目錄分別用于存放源程序(用于綜合的)和測(cè)試文件。F 盤(pán)創(chuàng)建一個(gè)以自己學(xué)號(hào)為名的目錄,將自己的設(shè)計(jì)都存放在這個(gè)目錄下面不要使用包含中文字符或空格的目錄名和文件名,因?yàn)橛行┕ぞ哕浖恢С侄话悴襟E(以一個(gè)加法器為例)在硬盤(pán)上建立存放練習(xí)的目錄(如在機(jī)房上機(jī)的話最好以自己的學(xué)號(hào)為名目錄下

4、面建立存放本次實(shí)驗(yàn)文件的目錄(adde,在adder 下建立source和test 目錄。目錄結(jié)構(gòu)如下:d:35020423addersourcetestexc1sourcetest.在本文中,用來(lái)綜合的 Verilog 源文件都存放在 source 目錄下;測(cè)試文件存放在 test目錄下。打開(kāi)synplify pro 如圖所示圖 1 程序界面幾個(gè)概念的說(shuō)明:工程( Project)synplify 用 Project 件和在綜合過(guò)程中自動(dòng)生成的結(jié)果網(wǎng)表文件以及報(bào)告(Log)。初學(xué)者應(yīng)該注意的是:synplify synplify 工程中Implementation不知道中文因該叫什么合適。使

5、用 synplify 綜合后, 產(chǎn)生的結(jié)果叫做Implementation(個(gè)人理解)。一個(gè)工程可以有多個(gè) 。也就是說(shuō)相同的源文件可以產(chǎn)生多個(gè)綜合結(jié)果。因?yàn)槊恳淮尉C合,除了我們的 HDL 描述(Implementation 的所有文件都存放在一個(gè)子目錄下(Implementation Option 的設(shè)置)界面中各個(gè)區(qū)域說(shuō)明如下:1:快捷按鈕,從上到下依次為: Open ProjectClose Project:同上Add File:添加源文件到工程中Change A1.v A2.vNew Impl: 新 建 一 個(gè) Implementation Impl Options:設(shè)置 Impleme

6、ntation 的選項(xiàng)View 里面會(huì)有資源占用、時(shí)間分析等信息。2:Run按鈕所有的設(shè)置完畢后用這個(gè)按鈕開(kāi)始綜合3:工程區(qū)域顯示當(dāng)前工程的文件結(jié)構(gòu)等信息4:Implementation 區(qū)域顯示當(dāng)前 Implementation 目錄中的內(nèi)容5:Console 區(qū)域顯示一些操作的過(guò)程和結(jié)果信息6:快捷按鈕和菜單區(qū)域正式開(kāi)始干活(adder 為例)新建工程菜單File-New2 File Type Project File (1)選擇文件路徑(2給出文件名(3):adderOK 后如圖 3 所示。圖 2 新建工程圖 3 新建工程后給工程添加源程序如果沒(méi)有現(xiàn)成的源程序,可以使用 synplify

7、 新建一個(gè)然后編輯;如果有現(xiàn)成的源程序,可以直接用 Add files 按鈕將其添加到工程中; 下面講的是用 synplify 新建一個(gè)。使用菜單New-Files2 所示對(duì)話框。這次選擇File Type VHDL VHDL 語(yǔ)言)然后選擇文件的路徑為 d:35020423addersource (注意工程文件路徑與此不同)給出文件名 adder (缺省 Verilog HDL 源程序文件擴(kuò)展名為 .v)Add to Project就將文件加入到了工程中。也可以不選,在其他時(shí)候用add files按鈕來(lái)加。添(1)中的源文件的圖標(biāo)可以切換到文件編輯窗口(圖。鼠標(biāo)單擊區(qū)域(2)可以在不同窗口間

8、切換。在編輯窗口中輸入下列程序:moduleadder(cout,sum,a,b,cin); /模塊名,輸入輸出信號(hào)列表input 2:0a,b; inputcin; output/輸入輸出信號(hào)定義output2:0 sum;/功能描述assigncout,sum=a+b+cin;endmodule如圖 5。4 新建源文件5 編輯源文件Implementation Option設(shè)置Implementation Option 的約束條件(Constrain)等參數(shù)。如圖 6所示,單擊ImplOptions按鈕或使用右鍵快接菜單都可以打開(kāi)Implementation Option 7(1)目頁(yè);在

9、本例中需要對(duì) device 和 Implementation Results 兩個(gè)屬性頁(yè)進(jìn)行設(shè)置7 device Technology 的列表中列出的是synplifyAltera 公司的Acex1k 系列的器件。一般來(lái)說(shuō),某一個(gè)器件系列都會(huì)有多種不同規(guī)模(邏輯門(mén)數(shù)速度檔級(jí)(器件延遲性能)和封裝(管腳個(gè)數(shù)及器件物理外形尺寸)的器件;我們Acex1k EP1K10 速度為-1 及封裝為T(mén)C100 的器件。這些參數(shù)在實(shí)際的設(shè)計(jì)中可以根據(jù)設(shè)計(jì)的實(shí)際情況選擇,我們這里只是舉了一個(gè)例子。圖 6 Implementation 設(shè)置圖 7 Implementation Option 對(duì)話框切換到Implem

10、entation Results選項(xiàng)。如圖 8 所示。Implementation Implementation altera Implementation 為 altera。改完名字之后,synplify 會(huì)在當(dāng)前工程文件所在目錄中,建立一個(gè)和implementation 名字相同的子目錄,用于存放綜合后產(chǎn)生的文件。synplifyverilog模型,應(yīng)該將選項(xiàng):Write Mapped Netlist 件名相同,而擴(kuò)展名為.vm verilog HDL描述的文件,只不過(guò)是根據(jù)綜合后生成的電路結(jié)構(gòu)來(lái)描述的。當(dāng)作綜合后仿真的電路模 型。Result File Name 的布局布線軟件進(jìn)行后續(xù)處

11、理。圖 8 Implementation Results 設(shè)置設(shè)置好以上選項(xiàng)之后就單擊確定Implementation rev_1 已經(jīng)改altera adder altera 9圖 9 設(shè)置完畢后的工程列表圖 9 Implementation Option 標(biāo)簽指定,或者將頂層文件托動(dòng)文件夾(9)的最后一個(gè),因?yàn)閟ynplify 認(rèn)為最后一個(gè)文件就是頂層文件。RUN。如果你夠牛,那就可能一個(gè)錯(cuò)誤都沒(méi)有就顯示”DONE”,但是一般情況下,都會(huì)有寫(xiě) warning 啦 error 最后一個(gè)View 號(hào)去掉一個(gè)重新 RUN 一把,然后看看有什么事情發(fā)生,這樣自己寫(xiě)程序時(shí)出了錯(cuò)也不至于太緊張。綜合成

12、功后,工程窗口右邊(1 4 號(hào)區(qū)域)發(fā)現(xiàn)一些內(nèi)容,這些都是綜合后生成的結(jié)果。如圖 10。圖 10 綜合結(jié)果號(hào)區(qū)域(3)號(hào)區(qū)域分別是門(mén)級(jí)和 RTL 看有什么事情發(fā)生,可以用放大縮小調(diào)整顯示的效果。vm 文件,是我們下一步綜合后的仿真所需要的電路模型號(hào)區(qū)域?yàn)樯傻?edf 用到。其它的我也不是太清楚,就不說(shuō)了,有興趣自己琢磨吧。使用 synplify 綜合的工作基本就完成了,當(dāng)然還可以用 synplify 的源程序編輯功能來(lái)寫(xiě)我們的測(cè)試文件,但是千萬(wàn)記住不應(yīng)該把測(cè)試文件加到我們的 synplify 工程里去哦。前仿真(功能仿真)準(zhǔn)備活動(dòng):需要描述電路的文件(.v),需要測(cè)試文件(.v 或.tf),

13、需要 modelSim。還是 adder.v。再寫(xiě)一個(gè)測(cè)試文件 t_adder.v 存放于d:35020423addertest 下。synplify modelsim t_adder.v 測(cè)試文件代碼如下:module reg 2:0 a1,b1; regcin1; wirecout1;wire 2:0 sum1;adder u1(cout1,sum1,a1,b1,cin1); initial begina1=0; b1=0;cin1=0;# 100 a1=1;# 100b1=2;/adder 模塊調(diào)用# 100 cin1=1;# 1000 a1=2;b1=3;cin1=0;$stop;en

14、dendmodule運(yùn) 行 modelsim, 使 用 菜 單 FileChangeDirectory 改 變 目 到”d:35020423adder”。改變目錄后,下一步的建庫(kù)操作所自動(dòng)產(chǎn)生的目錄, 都會(huì)被創(chuàng)建在目錄adder 中。建庫(kù)所有在仿真中會(huì)用到的 module 擇的庫(kù)目錄中。一個(gè)目錄下的某一個(gè)庫(kù)只用創(chuàng)建一次,下一次重新進(jìn)入modelsim的時(shí)候,只要選擇了相應(yīng)的目錄(步驟 5modelsim workspace 窗口(主窗口左邊的部分)中。如果是 modelsim se 5.5x 版,使用菜單Design-Create New Library,然后在建庫(kù)對(duì)話框中給出 Library

15、 Name。modelsim se 5.6x 版,使用菜單File-New-LibraryLibrary 。qian zhong 對(duì)應(yīng)前仿真和綜合后的仿真。編譯文件使用工具欄上的編譯按鈕 ,彈出如圖 11 所示編譯對(duì)話框。圖 11 編譯對(duì)話框圖中(1)為庫(kù)的選擇,意思是當(dāng)前編譯操作的結(jié)果存放的地方。如果是前仿真, Library source 子目錄下找到按Compile按鈕進(jìn)行編譯(雙擊文件也可以test t_adder.v 編譯。在編譯過(guò)程中,如果有錯(cuò)誤,會(huì)在 modelsim 修改后要重新存盤(pán)和編譯。Donemodelsim workspace qian 這個(gè)庫(kù),會(huì)發(fā)現(xiàn)里面多了兩個(gè)子項(xiàng):

16、adder t_adder。庫(kù)中列出的子module 的名字;t_adder Load 12 所示:圖 12 Load DesignLoad workspace 真對(duì)象的層次結(jié)構(gòu);使用菜單View-Signalsignal 窗口;signal 窗口中顯示的信號(hào)是當(dāng)前 workspace 9 在 signal窗口中用鼠標(biāo)選擇需要觀測(cè)的信號(hào),然后使用菜單view-wave-selected signals就可以把選中的信號(hào)添加到 波形觀察窗口如圖13 所示:(如果是modelsim 5.6 版,可以在選中信號(hào)之后直接用鼠標(biāo)右鍵菜單添加信號(hào))(也可以使用主窗口菜單View-WaveWave sign

17、al Wave 窗口)圖 13 Wave 窗口幾個(gè)常用的工具按鈕功能如下:1:打開(kāi)*.do 文件*.do Wave 顯示方式等信息保存為一個(gè)*.do 文件;下次對(duì)相同模塊進(jìn)行仿真時(shí)可以用打開(kāi)這個(gè)文件。 3添加光標(biāo)。所謂光標(biāo)就是圖中那條藍(lán)色的豎線。可以添加多條光標(biāo)并且可 以測(cè)量?jī)蓷l光標(biāo)間的時(shí)間長(zhǎng)度;刪除當(dāng)前光標(biāo)向前移動(dòng)當(dāng)前光標(biāo)到當(dāng)前選中(高亮)信號(hào)的前一個(gè)跳變點(diǎn)向后移動(dòng)當(dāng)前光標(biāo)到當(dāng)前選中(高亮)信號(hào)的下一個(gè)跳變點(diǎn),5,6 查找所關(guān)心的信號(hào)變化點(diǎn)波形在時(shí)間軸上放大波形在時(shí)間軸上縮小放大選擇的區(qū)域。先單擊此按鈕,然后在波形圖中拉開(kāi)一個(gè)區(qū)域,系統(tǒng)將 放大此區(qū)域到整個(gè)窗口。 10顯示全部波形。單擊此按鈕

18、后,系統(tǒng)會(huì)將全部仿真波形壓縮(時(shí)間軸)窗口中顯示重新開(kāi)始仿真開(kāi)始仿真run al,不會(huì)停止仿真直到用戶按下停止仿真13)行到$stop 或$finish等系統(tǒng)任務(wù)。停止仿真若要開(kāi)始仿真,單擊按鈕 12,調(diào)整放大比例,得到圖 14。圖 14 波形可以選擇某個(gè)信號(hào)如圖,然后鼠標(biāo)右鍵菜單Radix可以選擇當(dāng)前信號(hào)顯示的方式。缺省顯示的方式為二進(jìn)制。綜合后的仿真綜合后的仿真步驟同前仿真相同(7,8,9,只是在編譯(7)文件的時(shí)候,altera adder.vm t_adder.v信號(hào)的延時(shí)和延時(shí)造成的競(jìng)爭(zhēng)冒險(xiǎn)。maxplus II 進(jìn)行布局布線,和產(chǎn)生后仿真模型(*.vo)文件運(yùn)行 maxpluss II 打開(kāi)問(wèn)件 alteraadder.edf,然后單擊工具按鈕把當(dāng)前文件設(shè)為當(dāng)前工程。再單擊,彈出編譯窗口,彈出后選擇菜單Interfaces-Verilog Netlis

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論