色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > FPGA最小系統(tǒng)之:實例1 在Altera的FPGA開發(fā)板上運行第一個FPGA程序

          FPGA最小系統(tǒng)之:實例1 在Altera的FPGA開發(fā)板上運行第一個FPGA程序

          作者: 時間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://cafeforensic.com/article/201706/348848.htm

          2.5.1 實例的內(nèi)容及目標(biāo)

          1.實例的主要內(nèi)容

          本節(jié)旨在通過給定的工程實例——“蜂鳴器播放梁祝音樂”來熟悉 Quartus II軟件的基本操作、設(shè)計、編譯及仿真流程。同時使用基于 的開發(fā)板將該實例進(jìn)行下載驗證,完成工程設(shè)計的硬件實現(xiàn),熟悉 開發(fā)板的使用及配置方式。

          在本節(jié)中,將主要講解下面一些知識點。

          • Quartus II工程創(chuàng)建及屬性設(shè)置。
          • Quartus II源文件設(shè)計輸入方式。
          • Quartus II約束設(shè)計。
          • Quartus II工程編譯。
          • Quartus II功能仿真。
          • Quartus II時序仿真。
          • Quartus II硬件下載。

          通過這些知識點,按照下面提供的訓(xùn)練流程,讀者可以迅速地掌握使用Quartus II軟件進(jìn)行開發(fā)的方法。

          2.實例目標(biāo)

          通過詳細(xì)的流程講解,讀者應(yīng)達(dá)到下面的目標(biāo)。

          • 熟悉Quartus II軟件的操作環(huán)境。
          • 熟悉Quartus II軟件開發(fā)FPGA的基本流程。
          • 可獨立使用Quartus II軟件開發(fā)新工程。

          2.5.2 平臺簡介

          本實例基于紅色颶風(fēng)II代Altera板,在此開發(fā)板上集成了Altera的一代FPGA及相關(guān)的豐富外設(shè)資源。

          此開發(fā)板更加詳細(xì)的信息、擴展附件及使用方法,可以到紅色颶風(fēng)的官方網(wǎng)站:http://www.fpgadev.com獲取更多的信息。

          本實例將在這個開發(fā)板上對Altera的FPGA設(shè)計流程做一個全面的介紹,依照此例程的流程便可在該開發(fā)板上運行一個FPGA程序。如圖2.29所示為此開發(fā)板的外觀圖。

          圖2.29 紅色颶風(fēng)II代Altera板外觀圖

          2.5.3 實例詳解

          本節(jié)將使用圖解的方式將整個流程一步一步展現(xiàn)給讀者,使讀者能夠輕松掌握Quartus II的開發(fā)流程。

          1.工程創(chuàng)建及屬性設(shè)置

          (1)啟動Quartus II軟件。

          安裝Quartus II軟件后,在桌面或者程序組中啟動Quartus II軟件。

          (2)打開新工程向?qū)А?/p>

          啟動軟件后,選擇“File”菜單的“New Project Wizard”選項,打開新建工程向?qū)В鐖D2.30所示。在新建工程向?qū)У?“介紹”頁面中,單擊“Next”按鈕進(jìn)入下一頁。

          (3)設(shè)置工程屬性。

          如圖2.31所示,在新建工程向?qū)У牡谝豁搶こ坦ぷ髂夸?、工程名稱以及頂層模塊名稱進(jìn)行設(shè)置。

          圖2.30 新建工程

          圖2.31 設(shè)置工程屬性

          (4)添加設(shè)計文件。

          在新建工程向?qū)У牡诙撨x擇為工程添加設(shè)計文件,如圖2.32所示。

          圖2.32 添加設(shè)計文件

          (5)選擇FPGA器件。

          在新建工程向?qū)У牡谌摚瑸楣こ膛渲孟鄳?yīng)的器件型號和參數(shù),如圖2.33所示。選取的器件型號將在完全編譯時將工程設(shè)計映射到對應(yīng)的器件邏輯資源上。

          圖2.33 選擇器件型號

          (6)完成工程創(chuàng)建。

          配置完器件屬性后,選擇Quartus II默認(rèn)的綜合工具、仿真工具及時序分析工具,完成工程的創(chuàng)建。

          選擇軟件左側(cè)的工程瀏覽器的按鈕來管理已添加的文件。如圖2.34所示,左邊為工程層次窗口,右邊為設(shè)計文件窗口。

          圖2.34 工程結(jié)構(gòu)窗口

          2.設(shè)計輸入

          (1)添加設(shè)計文件。

          如果在創(chuàng)建工程時沒有為工程添加設(shè)計文件,可以選擇“Project”菜單的“Add/Remove Files in Project”選項,為工程添加設(shè)計文件。在本實例中,讀者可向工程添加實例代碼中的liangzhu.v文件。

          添加后,在工程瀏覽器中雙擊liangzhu.v圖標(biāo),即可查看該Verilog設(shè)計文件,如圖2.35所示。

          圖2.35 Verilog設(shè)計文件

          (2)配置器件屬性。

          同樣的,如果在創(chuàng)建工程時沒有為工程配置器件型號及屬性,可以在工程瀏覽器的工程實體圖標(biāo)上單擊右鍵,選擇“Device”選項,為工程配置器件屬性,如圖2.36所示。

          若在建立工程時已經(jīng)配置好,則可單擊“Device Pin Options…”按鈕,進(jìn)一步設(shè)置器件的相關(guān)屬性,如圖2.37所示。

          圖2.36 器件選擇 圖2.37 器件屬性配置

          在如圖2.38所示的對話框中,可對FPGA所使用的配置芯片及未用管腳等進(jìn)行配置。

          圖2.38 指定配置模式

          選擇“Unused Pins”選項卡,將不使用的管腳配置為三態(tài),如圖2.39所示。

          圖2.39 未用管腳置三態(tài)

          (3)分析工程。

          編寫設(shè)計輸入文件后,首先要進(jìn)行工程分析,目的是為了檢查設(shè)計輸入的語法。單擊“Start Analysis Synthesis”按鈕分析工程,如圖2.40所示。

          圖2.40 分析工程選項

          查看信息欄,修改所有出現(xiàn)的錯誤,直到分析通過,如圖2.41所示。

          圖2.41 分析工程結(jié)果,沒有報錯

          3.約束設(shè)計

          (1)管腳分配。

          管腳分配的作用在于將設(shè)計輸入文件的端口與實際的器件進(jìn)行映射,實現(xiàn)設(shè)計輸入模塊端口在實際器件管腳上的實例化。在Quartus II軟件中可以在管腳分配主窗口中對管腳的分配進(jìn)行設(shè)置,如圖2.42所示。

          圖2.42 管腳分配

          通過工具欄中的快捷按鈕可以幫助用戶快速的進(jìn)行管腳分配,如圖2.43所示。

          通過管腳分配主窗口中的管腳信息可以看到管腳的I/O種類、管腳的序號、Bank所在的位置、I/O使用的電壓標(biāo)準(zhǔn)等,如圖2.44所示。

          圖2.43 指定管腳快捷按鈕 圖2.44 管腳信息

          (2)其他約束。

          除了對工程的管腳進(jìn)行約束外,Quartus II軟件還允許用戶對其他的一些約束進(jìn)行設(shè)置,例如面積約束、速度約束、時鐘約束、資源約束等。這些約束都屬于較為嚴(yán)格的工程設(shè)置,在本實戰(zhàn)訓(xùn)練中無需考慮。

          4.編譯工程

          (1)完全編譯。

          有了完整的設(shè)計輸入、完整的約束條件后,就可以對工程進(jìn)行完全編譯了,如圖2.45所示是完全編譯的選項。

          根據(jù)工程復(fù)雜度的不同,Quartus II在進(jìn)行完全編譯時所消耗的時間差異也很大。在工程瀏覽器中顯示了編譯的類別及進(jìn)度,幫助用戶了解編譯的進(jìn)程。

          圖2.45 完全編譯選項 圖2.46 編譯狀態(tài)

          若在編譯過程中出現(xiàn)錯誤提示,用戶可在信息欄中查看錯誤的信息,修改所有存在的錯誤后重新進(jìn)行編譯,直到能夠無錯誤地完成編譯,如圖2.47所示。

          圖2.47 編譯結(jié)果信息欄

          (2)編譯報告。

          Quartus II編譯結(jié)束后,為用戶提供了一個完整而詳細(xì)的編譯報告。通過該報告,用戶可以查看工程使用資源的情況及系統(tǒng)可以達(dá)到的性能,如圖2.48所示。

          5.功能仿真

          (1)建立仿真文件。

          選擇Quartus II軟件“File”菜單的“New”選項,打開新建其他文件對話框,選擇新建波形圖文件,如圖2.49所示。

          圖2.48 編譯結(jié)果報告 圖2.49 新建波形圖

          (2)添加觀察信號。

          用戶可以通過雙擊波形窗口中的空白區(qū)域為工程添加需要觀察的信號,如圖2.50所示。

          圖2.50 仿真波形窗口

          在打開的插入節(jié)點或總線對話框中,打開“Node Finder…”(節(jié)點查找器),如圖2.51所示。通過節(jié)點查找器,用戶可以方便地選擇需要觀察的信號。

          圖2.51 插入節(jié)點或總線對話框

          選擇Filter:“Pins:all”,然后點擊list列出所用輸入/輸出端口,如圖2.52所示。

          圖2.52 節(jié)點查找器

          選中所有信號,單擊按鈕,即可將選中信號加入觀察目標(biāo)窗口中,如圖2.53所示。

          圖2.53 已添加好的信號

          (3)設(shè)置仿真時間最小間隔。

          考慮到硬件環(huán)境提供的是50MHz的時鐘,即時鐘周期為20ns,設(shè)置“Grid Size”為20ns。選擇“Edit”菜單的“Grid Size”選項進(jìn)行設(shè)置,如圖2.54所示。

          (4)設(shè)置仿真時間長度。

          選擇“Edit”菜單的“End Time”選項,設(shè)置仿真時間長度為10ms,如圖2.55所示。

          (5)添加激勵信號。

          選中sys_clk信號,單擊時鐘按鈕,將該信號設(shè)置為時鐘波形,周期為20ns,如圖2.56所示。此信號代表了系統(tǒng)時鐘。

          圖2.55 設(shè)置仿真結(jié)束時間 圖2.56 設(shè)置時鐘

          選中rst_n信號,單擊高電平按鈕,將該信號設(shè)置為1。此信號代表了復(fù)位信號。

          添加激勵信號后,選擇保存文件,此時的波形如圖2.57所示。

          圖2.57 以設(shè)置好的輸入波形

          (6)生成功能仿真網(wǎng)表。

          選擇“Tools”菜單的“Simulator Tool”選項,打開仿真器,如圖2.58所示。

          將仿真器的仿真模式設(shè)置為“Functional”(功能仿真),如圖2.59所示。

          圖2.58 仿真器選項 圖2.59 仿真對話框

          單擊“Generate Functional Simulation Netlist”按鈕產(chǎn)生仿真網(wǎng)表。仿真網(wǎng)表是將工程設(shè)計文件進(jìn)行編譯及映射后生成的用于進(jìn)行仿真的文件,仿真器根據(jù)仿真網(wǎng)表進(jìn)行仿真,直接反應(yīng)了工程設(shè)計文件的真實情況。

          (7)開始功能仿真。

          單擊“Start”按鈕開始進(jìn)行功能仿真,如圖2.60所示,可以看到仿真的進(jìn)度,根據(jù)工程的復(fù)雜度,仿真過程所消耗的時間也有所不同。

          圖2.60 仿真進(jìn)度

          仿真完成后單擊“open”按鈕打開仿真結(jié)果,如圖2.61所示。

          圖2.61 仿真波形結(jié)果

          6.時序仿真

          功能仿真后,如果波形沒有問題,開始做時序仿真,檢查波形延時對設(shè)計是否有影響。

          選擇“Tools”菜單的“Simulator Tool”選項,打開仿真器,選擇仿真模式為“Timing”,即時序仿真模式,如圖2.62所示。

          圖2.62 選擇時序仿真

          單擊“Start”按鈕,開始時序仿真。時序仿真比功能仿真要慢一些。

          仿真完成后,查看仿真結(jié)果。通過波形可以看到產(chǎn)生了7.06ns的延時,如圖2.63所示。

          圖2.63 查看仿真結(jié)果

          可以看到,功能仿真并不包含延遲,而時序仿真則會根據(jù)具體的器件參數(shù)配置及資源使用情況將延遲仿真出來。功能仿真主要用于驗證工程設(shè)計文件邏輯的正確性,而時序仿真更能體現(xiàn)真實的硬件運行過程中設(shè)計文件的執(zhí)行過程。

          7.下載程序

          仿真驗證結(jié)束后,用戶就可以將工程下載到實際的開發(fā)板上進(jìn)行驗證了。

          選擇“Tools”菜單的“Programmer”選項,打開下載器界面,如圖2.64所示。

          圖2.64 下載界面

          首先單擊“Hardware Setup”按鈕,選擇下載電纜,如ByteBlasterII(LPT1),即打印機接口下載線,然后選擇下載模式為JTAG(在線調(diào)試)模式或者AS(固化至EPCS配置芯片)模式,并選擇對應(yīng)的下載文件。

          連接好下載電纜后,選中“Program/Configure”即可下載。

          8.結(jié)果檢驗

          下載結(jié)束后,用戶應(yīng)該可以在開發(fā)板的蜂鳴器上聽到演奏的梁祝樂曲。如果采用的是JTAG下載模式,那么將開發(fā)板斷電后,重新上電,則樂曲不會再繼續(xù)演奏;若使用的是AS下載模式,則樂曲還會再繼續(xù)演奏。

          若下載后沒有聽到樂曲,用戶應(yīng)檢查幾個主要容易出問題的步驟。例如,設(shè)計輸入是否完整,管腳是否分配,下載電纜是否正確連接等。

          2.5.4 小結(jié)

          上述流程就是一個完整的FPGA設(shè)計流程。雖然此實例實現(xiàn)的功能比較簡單,但對于初學(xué)者來說,是一個不錯的入門實例。其主要目的是讓初學(xué)者對FPGA的設(shè)計有一個初步的了解。通過該實例來熟悉Quartus II軟件的使用,為今后的學(xué)習(xí)打下基礎(chǔ)。

          在實際的FPGA設(shè)計中,在每個階段都會遇到很多問題。為了實現(xiàn)最終的目標(biāo),需要充分地利用Quartus II設(shè)計軟件。這需要一個比較長時間的學(xué)習(xí)和積累,希望通過這個實例能讓初學(xué)者更快地入門。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉