![SOC開發(fā)流程及QuarusII的使用_第1頁](http://file4.renrendoc.com/view/1ce7a7dc4404998f50adba614b58f84b/1ce7a7dc4404998f50adba614b58f84b1.gif)
![SOC開發(fā)流程及QuarusII的使用_第2頁](http://file4.renrendoc.com/view/1ce7a7dc4404998f50adba614b58f84b/1ce7a7dc4404998f50adba614b58f84b2.gif)
![SOC開發(fā)流程及QuarusII的使用_第3頁](http://file4.renrendoc.com/view/1ce7a7dc4404998f50adba614b58f84b/1ce7a7dc4404998f50adba614b58f84b3.gif)
![SOC開發(fā)流程及QuarusII的使用_第4頁](http://file4.renrendoc.com/view/1ce7a7dc4404998f50adba614b58f84b/1ce7a7dc4404998f50adba614b58f84b4.gif)
![SOC開發(fā)流程及QuarusII的使用_第5頁](http://file4.renrendoc.com/view/1ce7a7dc4404998f50adba614b58f84b/1ce7a7dc4404998f50adba614b58f84b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第二章SOPC開發(fā)流程及QuartusII的使用2.1 SOPC開發(fā)流程和開發(fā)工具2.2QuartusII操作基礎(chǔ)2.3SOPC硬件開發(fā)實(shí)例2.4 創(chuàng)建NiosII系統(tǒng)模塊2.5 設(shè)計(jì)優(yōu)化2.6 編譯2.7 編程下載SOPC開發(fā)流程和開發(fā)工具SOPC設(shè)計(jì)包括硬件和軟件兩部分。硬件設(shè)計(jì):主要基于QuartusII和SOPCBuilder。軟件設(shè)計(jì):基于NiosIIIDE。SOPC開發(fā)流程分析系統(tǒng)需求:在進(jìn)行SOPC開發(fā)之前,首先必須確定系統(tǒng)的需求,如應(yīng)用系統(tǒng)需求的計(jì)算性能、需要的帶寬和吞吐量、需求的接口類型以及是否需求多線程的軟件等。建立QuartusII工程:每個開發(fā)過程開始時都應(yīng)建立一個工程,QuartusII是以工程的方式對設(shè)計(jì)過程進(jìn)行管理。在工程中建立頂層模塊文件.bdf相當(dāng)于傳統(tǒng)電路設(shè)計(jì)中的電路板(PCB)。定義和生成系統(tǒng):在SOPCBuilder中添加需要的功能模塊(NiosII及其標(biāo)準(zhǔn)外設(shè)模塊),完成后生成一個系統(tǒng)模塊。定制指令&定制外設(shè)邏輯:如果需要,用戶可以定制指令和外設(shè)邏輯。(可參考第8章)自定義的功能模塊:當(dāng)設(shè)計(jì)中現(xiàn)有模塊不能滿足設(shè)計(jì)要求時,可設(shè)計(jì)自己的功能模塊。并在頂層模塊中使用;Altera的LPM模塊:在QuartusII軟件中包含了大量的Altera公司提供的LPM功能模塊,相當(dāng)于傳統(tǒng)設(shè)計(jì)中除處理器以外的邏輯芯片(如74系列);
集成SOPC生成的系統(tǒng)到QuartusII工程:在頂層模塊中,分別將SOPCBuilder生成的系統(tǒng)模塊、LPM功能模塊以及用戶自定義功能模塊添加到頂層模塊中;連接各功能模塊:將各個功能模塊用連線連起來組成系統(tǒng)功能原理圖。選擇FPGA型號并進(jìn)行管腳分配:為系統(tǒng)功能原理圖選擇芯片載體并為各個輸入輸出信號分配芯片的管腳;進(jìn)行編譯選項(xiàng)設(shè)置:設(shè)置編譯選項(xiàng),從而讓編譯器按照用戶設(shè)定來進(jìn)行編譯;編譯硬件系統(tǒng)生成配置文件sof:編譯系統(tǒng)生成硬件系統(tǒng)的配置文件*.sof和*.pof。編譯系統(tǒng)是一個非常復(fù)雜的過程,包括優(yōu)化邏輯的組合、綜合邏輯、適配FPGA、布線以及時序分析等步驟。下載配置文件到FPGA器件:將配置文件.sof下載到FPGA.設(shè)置軟件運(yùn)行硬件環(huán)境屬性:設(shè)置好軟件運(yùn)行的硬件環(huán)境屬性后,便可進(jìn)行編譯、鏈接和調(diào)試、運(yùn)行程序。編譯軟件:對用戶程序進(jìn)行編譯,生成可執(zhí)行文件*.elf。ISS運(yùn)行/調(diào)試:接下來在IDE的指令集仿真器(ISS)上仿真軟件和運(yùn)行/調(diào)試軟件。在目標(biāo)板上下載可執(zhí)行軟件到NiosII系統(tǒng):將可執(zhí)行文件.elf下載到RAM。在目標(biāo)板上運(yùn)行/調(diào)試軟件:在目標(biāo)板上反復(fù)調(diào)試軟件。使用IDE編程工具燒寫配置文件和軟件代碼:最后利用IDE的編程工具將配置文件燒寫到FPGA的配置芯片或Flash,將可執(zhí)行文件*.elf編程到Flash中。
QuartusII操作基礎(chǔ)——QuartusⅡ軟件的安裝——QuartusⅡ軟件的用戶界面啟動QuartusⅡ軟件后默認(rèn)的界面主要由標(biāo)題欄、菜單欄、工具欄、資源管理窗口、編譯狀態(tài)顯示窗口、信息顯示窗口和工程工作區(qū)等部分組成。QuartusII操作基礎(chǔ)——QuartusⅡ軟件的用戶界面QuartusII操作基礎(chǔ)標(biāo)題欄中顯示當(dāng)前工程的路徑和工程名?!猀uartusⅡ軟件的用戶界面QuartusII操作基礎(chǔ)菜單欄主要由文件(File)、編輯(Edit)、視圖(View)、工程(Project)、資源分配(Assignments)、操作(Processing)、工具(Tools)、窗口(Window)和幫助(Help)等下拉菜單組成。——QuartusⅡ軟件的用戶界面QuartusII操作基礎(chǔ)工具欄中包含了常用命令的快捷圖標(biāo)?!猀uartusⅡ軟件的用戶界面QuartusII操作基礎(chǔ)資源管理窗口用于顯示當(dāng)前工程中所有相關(guān)的資源文件?!猀uartusⅡ軟件的用戶界面QuartusII操作基礎(chǔ)工程工作區(qū)當(dāng)QuartusⅡ?qū)崿F(xiàn)不同的功能時,此區(qū)域?qū)⒋蜷_對應(yīng)的操作窗口,顯示不同的內(nèi)容,進(jìn)行不同的操作,如器件設(shè)置、定時約束設(shè)置、編譯報(bào)告等均顯示在此窗口中。——QuartusⅡⅡ軟件的用用戶界面面QuartusII操作基礎(chǔ)編譯狀態(tài)態(tài)顯示窗窗口此窗口主主要顯示示模塊綜綜合、布布局布線線過程及及時間。。——QuartusⅡⅡ軟件的用用戶界面面QuartusII操作基礎(chǔ)信息顯示示窗口該窗口主主要顯示示模塊綜綜合、布布局布線線過程中中的信息息,如編編譯中出出現(xiàn)的警警告、錯錯誤等,,同時給給出警告告和錯誤誤的具體體原因。。——QuartusⅡ的開發(fā)流流程按照一般般編程邏邏輯設(shè)計(jì)計(jì)的步驟驟,利用用QuartusⅡ軟件進(jìn)行行開發(fā)可可以分為為以下四四個步驟驟:(1)輸入設(shè)設(shè)計(jì)文件件;(2)編譯設(shè)設(shè)計(jì)文件件;(3)仿真設(shè)設(shè)計(jì)文件件;(4)編程下下載設(shè)計(jì)計(jì)文件。。QuartusII操作基礎(chǔ)——輸入設(shè)計(jì)計(jì)文件QuartusⅡ軟件的輸輸入法有有:1)原理圖圖輸入方方式、2)文本輸輸入方式式(如VHDL、VerilogHDL)3)AHDL輸入方式式、4)模塊輸輸入方式式以及5)第三方方EDA工具產(chǎn)生生的文件件以及混混合使用用以上幾幾種設(shè)計(jì)計(jì)輸入方方法進(jìn)行行設(shè)計(jì)原理圖輸輸入法原理圖輸輸入法也也稱為圖圖形編輯輯輸入法法,用QuartusⅡ原理圖輸輸入設(shè)計(jì)計(jì)法進(jìn)行行數(shù)字系系統(tǒng)設(shè)計(jì)計(jì)時,不不需要任任何硬件件描述語語言的知知識,在在具有數(shù)數(shù)字邏輯輯電路基基本知識識的基礎(chǔ)礎(chǔ)上,利利用QuartusⅡ軟件提供供的EDA平臺設(shè)設(shè)計(jì)數(shù)數(shù)字電電路或或系統(tǒng)統(tǒng)。QuartusII操作基礎(chǔ)1、原理理圖輸輸入法法-建建立設(shè)設(shè)計(jì)工工程建立設(shè)設(shè)計(jì)工工程的的方法法如圖圖示::新建工工程選選項(xiàng)新建工工程第第一頁頁QuartusII操作基礎(chǔ)1、原理理圖輸輸入法法-建建立設(shè)設(shè)計(jì)工工程建立設(shè)設(shè)計(jì)工工程的的方法法圖示示:新建工工程第第二頁頁新建工工程第第三頁頁QuartusII操作基礎(chǔ)1、原理理圖輸輸入法法-建建立設(shè)設(shè)計(jì)工工程建立設(shè)設(shè)計(jì)工工程的的方法法圖示示:新建工工程第第四頁頁新建工工程第第五頁頁QuartusII操作基礎(chǔ)2、原理理圖輸輸入法法-輸輸入設(shè)設(shè)計(jì)文文件1)新建建工程程之后后,便便可以以進(jìn)行行電路路系統(tǒng)統(tǒng)設(shè)計(jì)計(jì)文件件的輸輸入。。選擇擇file菜單中中的New命令,,彈出出如圖圖所示示的新新建設(shè)設(shè)計(jì)文文件類類型選選擇窗窗口。。QuartusII操作基礎(chǔ)2)選擇擇New對話框框中的DeviceDesignfiles頁下的的BlockDiagram/SchematicFile,點(diǎn)擊擊OK,打開下下圖所所示的的圖形編輯輯器對對話框框,進(jìn)行設(shè)設(shè)計(jì)文文件輸輸入。。圖形編編輯器器對話話框2、原理理圖輸輸入法法-輸輸入設(shè)設(shè)計(jì)文文件QuartusII操作基礎(chǔ)2、原理理圖輸輸入法法-輸輸入設(shè)設(shè)計(jì)文文件3)在圖圖形編編輯窗窗口中的任任何一一個位位置雙擊鼠鼠標(biāo),,或點(diǎn)擊擊圖中的的“符號工具”按鈕,或選擇擇菜單Edit下的InsertSymbol命令,,彈出如右圖所示示的元件選擇窗窗口Symbol對話框。元件選選擇窗窗口QuartusII操作基礎(chǔ)2、原理理圖輸輸入法法-輸輸入設(shè)設(shè)計(jì)文文件元件選選擇窗窗口QuartusII操作基礎(chǔ)4)用鼠鼠標(biāo)點(diǎn)點(diǎn)擊單單元庫庫前面面的加加號(+),庫中中的元元件符符號以以列表表的方方式顯顯示出出來,,選擇擇所需需要的的元件件符號號,該該符號號顯示示在Symbol對話框框的右右邊,,點(diǎn)擊擊OK按鈕,,添加加相應(yīng)應(yīng)元件件符號號在圖圖像編編輯工工作區(qū)區(qū)中,,連接接原理理圖。。2、原理理圖輸輸入法法-輸輸入設(shè)設(shè)計(jì)文文件十六進(jìn)進(jìn)制同同步計(jì)計(jì)數(shù)器器的原原理圖圖如下下:QuartusII操作基礎(chǔ)3、原理理圖輸輸入法法-優(yōu)優(yōu)缺點(diǎn)點(diǎn):優(yōu)點(diǎn)::1)可以以與傳傳統(tǒng)的的數(shù)字字電路路設(shè)計(jì)計(jì)法接接軌,,即使使用傳傳統(tǒng)設(shè)設(shè)計(jì)方方法得得到電電路原原理圖圖,然然后在在QuartusⅡ平臺完完成設(shè)設(shè)計(jì)電電路的的輸入入、仿仿真驗(yàn)驗(yàn)證和和綜合合,最最后下下載到到目標(biāo)標(biāo)芯片片中。。2)它它將傳傳統(tǒng)的的電路路設(shè)計(jì)計(jì)過程程的布布局布布線、、繪制制印刷刷電路路板、、電路路焊接接、電電路加加電測測試等等過程程取消消,提提高了了設(shè)計(jì)計(jì)效率率,降降低了了設(shè)計(jì)計(jì)成本本,減減輕了了設(shè)計(jì)計(jì)者的的勞動動強(qiáng)度度。缺點(diǎn)::1)原理理圖設(shè)設(shè)計(jì)方方法沒沒有實(shí)實(shí)現(xiàn)標(biāo)標(biāo)準(zhǔn)化化,不不同的的EDA軟件中中的圖圖形處處理工工具對對圖形形的設(shè)設(shè)計(jì)規(guī)規(guī)則、、存檔檔格式式和圖圖形編編譯方方式都都不同同,因因此兼兼容性性差,,難以以交換換和管管理。。2)由于于兼容容性不不好,,性能能優(yōu)秀秀的電電路模模塊的的移植植和再再利用用非常常困難難,難難以實(shí)實(shí)現(xiàn)用用戶所所希望望的面面積、、速度度以及及不同同風(fēng)格格的綜綜合優(yōu)優(yōu)化3)原理理圖輸輸入的的設(shè)計(jì)計(jì)方法法不能能實(shí)現(xiàn)現(xiàn)真實(shí)實(shí)意義義上的的自頂頂向下下的設(shè)設(shè)計(jì)方方案,,無法法建立立行為為模型型,從從而偏偏離了了電子子設(shè)計(jì)計(jì)自動動化最最本質(zhì)質(zhì)的涵涵義。。QuartusII操作基礎(chǔ)——編譯設(shè)設(shè)計(jì)文文件QuartusⅡ編譯器器的主主要任任務(wù)是是對設(shè)設(shè)計(jì)項(xiàng)項(xiàng)目進(jìn)進(jìn)行檢檢查并并完成成邏輯輯綜合合,同同時將將項(xiàng)目目最終終設(shè)計(jì)計(jì)結(jié)果果生成成器件件的下下載文文件。。編譯譯開始始前,,可以以先對對工程程的參參數(shù)進(jìn)進(jìn)行設(shè)設(shè)置。。QuartusⅡ軟件中中的編編譯類類型有有全編編譯和和分步步編譯譯兩種種。選擇QuartusⅡ主窗口口Process菜單下下StartCompilation命令,,或者者在主主窗口口的工具具欄上直接接點(diǎn)擊擊圖標(biāo)標(biāo)可以進(jìn)進(jìn)行全全編譯譯全編譯的的過程程包括括分析析與綜綜合(Analysis&Synthesis)、適配配(Fitter)、編程程(Assembler)、時序序分析析(ClassicalTimingAnalysis)這4個環(huán)節(jié)節(jié),而這這4個環(huán)節(jié)節(jié)各自自對應(yīng)應(yīng)相應(yīng)應(yīng)的菜菜單命命令,,可以以單獨(dú)獨(dú)分步步執(zhí)行行,也也就是是分步步編譯譯。在設(shè)計(jì)計(jì)的調(diào)調(diào)試和和優(yōu)化化過程程中,,可以以使用用RTL閱讀器器觀察察設(shè)計(jì)計(jì)電路路的綜綜合結(jié)結(jié)果。QuartusII操作基礎(chǔ)分步編編譯就就是使使用對對應(yīng)命命令分分步執(zhí)執(zhí)行對對應(yīng)的的編譯譯環(huán)節(jié)節(jié),每每完成成一個個編譯譯環(huán)節(jié)節(jié),生生成一一個對對應(yīng)的的編譯譯報(bào)告告。分分步編編譯跟跟全編編譯一一樣分分為四四步::1、分析與與綜合合(Analysis&Synthesis):設(shè)計(jì)計(jì)文件件進(jìn)行行分析析和檢檢查輸輸入文文件是是否有有錯誤誤,對對應(yīng)的的菜單單命令令是QuartusⅡ主窗口口Process菜單下下Start\StartAnalysis&Synthesis,對應(yīng)的的快捷捷圖標(biāo)標(biāo)是在主窗窗口的工具具欄上的;;2、適配配(Fitter)::在適適配過過程中中,完完成設(shè)設(shè)計(jì)邏邏輯器器件中中的布布局布布線、、選擇擇適當(dāng)當(dāng)?shù)膬?nèi)內(nèi)部互互連路路徑、、引腳腳分配配、邏邏輯元元件分分配等等,對對應(yīng)的的菜單單命令令是QuartusⅡ主窗口口Process菜單下下Start\StartFitter;(注注:兩兩種編編譯方方式引引腳分分配有有所區(qū)區(qū)別))QuartusII操作基礎(chǔ)3、編程(Assembler):產(chǎn)生多多種形形式的的器件件編程程映像像文件件,通過過軟件件下載載到目目標(biāo)器器件當(dāng)當(dāng)中去去,應(yīng)應(yīng)用的的菜單單命令令是QuartusⅡ主窗口口Process菜單下下Start\StartAssembler;4、時序分分析(ClassicalTimingAnalyzer):計(jì)算算給定定設(shè)計(jì)計(jì)與器器件上上的延延時,,完成成設(shè)計(jì)計(jì)分析析的時時序分分析和和所有有邏輯輯的性性能分分析,,菜單單命令令是QuartusⅡ主窗口口Process菜單下下Start\StartClassicalTimingAnalyzer,對應(yīng)應(yīng)的快快捷圖圖標(biāo)是是在主窗口的工具欄上的。。編譯完成以以后,編譯譯報(bào)告窗口口CompilationReport會報(bào)告工程程文件編譯譯的相關(guān)信信息,如編編譯的頂層層文件名、、目標(biāo)芯片片的信號、、引腳的數(shù)數(shù)目等等。。全編譯操作作簡單,適適合簡單的的設(shè)計(jì)。對對于復(fù)雜的的設(shè)計(jì),選選擇分步編編譯可以及及時發(fā)現(xiàn)問問題,提高高設(shè)計(jì)糾錯錯的效率,,從而提高高設(shè)計(jì)效率率。QuartusII操作基礎(chǔ)5、RTL閱讀器:在在設(shè)計(jì)的調(diào)調(diào)試和優(yōu)化化過程中,,可以使用用RTL閱讀器觀察察設(shè)計(jì)電路路的綜合結(jié)結(jié)果,同時時也可以觀觀察源設(shè)計(jì)計(jì)如何被翻翻譯成邏輯輯門、原語語等。RTL閱讀器是觀觀察和確定定源設(shè)計(jì)是是否實(shí)現(xiàn)了了設(shè)計(jì)要求求的理想工工具。執(zhí)行仿真驗(yàn)驗(yàn)證設(shè)計(jì)功功能之前使使用RTL閱讀器查找找設(shè)計(jì)中的的問題,可可以在設(shè)計(jì)計(jì)早期發(fā)現(xiàn)現(xiàn)問題,為為后期的驗(yàn)驗(yàn)證工作節(jié)節(jié)省時間。。當(dāng)設(shè)計(jì)通過過編譯后,,選擇QuartusⅡ主窗口Tools菜單下NetlistViewers\RTLViewer命令,彈出出RTL閱讀器窗口口QuartusII操作基礎(chǔ)5、RTL閱讀器RTL閱讀器窗口口圖QuartusII操作基礎(chǔ)RTL閱讀器窗口口的右邊,,是過程設(shè)設(shè)計(jì)結(jié)果的的主窗口,,包括設(shè)計(jì)計(jì)電路的模模塊和連線線5、RTL閱讀器RTL閱讀器窗口口圖QuartusII操作基礎(chǔ)RTL閱讀器的左左邊是層次次列表,在在每個層次次上以樹狀狀形式列出出了設(shè)計(jì)電電路的所有有單元。層層次列表的的內(nèi)容包括括以下幾個個方面:(1)實(shí)例Instances,能夠被展展開成低層層次模塊或或?qū)嵗?;?)原語Primitives,不能被展展開為任何何低層次模模塊的低層層次節(jié)點(diǎn);;(3)引腳Pin,當(dāng)前層次次的I/O端口,如果果端口是總總線,也可可以將其展展開,觀察察到端口中中每一個端端口的信號號;(4)網(wǎng)線Net,是連接節(jié)節(jié)點(diǎn)的連線線,當(dāng)網(wǎng)線線是總線時時也可以展展開,觀察察每條網(wǎng)線線。5、RTL閱讀器雙擊結(jié)構(gòu)圖圖中的實(shí)例例,可以展展開此模塊塊的下一級級結(jié)構(gòu)圖QuartusII操作基礎(chǔ)——仿真設(shè)計(jì)文文件仿真的目的的就是在軟軟件環(huán)境下下,驗(yàn)證電電路的行為為和設(shè)想中中的是否一一致。FPGA/CPLD中的仿真分分為功能仿仿真和時序序仿真。功功能仿真著著重考察電電路在理想想環(huán)境下的的行為和設(shè)設(shè)計(jì)構(gòu)想的的一致性,,時序仿真真則在電路路已經(jīng)映射射到特定的的工藝環(huán)境境后,考察察器件在延延時情況下下對布局布布線網(wǎng)表文文件進(jìn)行的的一種仿真真。仿真一般需需要建立波波形文件、、輸入信號號節(jié)點(diǎn)、編編輯輸入信信號、波形形文件的保保存和運(yùn)行行仿真器等等過程。QuartusII操作基礎(chǔ)1、建立波形文文件波形文件用用來為設(shè)計(jì)計(jì)產(chǎn)生輸入入激勵信號號。利用QuartusII波形編輯器器可以創(chuàng)建建矢量波形形文件(.vwf)創(chuàng)建一個新新的矢量波波形文件步驟如下::(1)選擇QuartusⅡ主界面File菜單下的New命令,彈出新建對對話框;QuartusII操作基礎(chǔ)(2)在新建話框中選選擇OtherFiles標(biāo)簽頁,從中選擇VectorWaveformFile,點(diǎn)擊OK按鈕,則打開一個個空的波形形編輯器窗窗口。1、建立波形文文件波形編輯器器窗口:主要要分為信號號欄、工具具欄和波形形欄。QuartusII操作基礎(chǔ)2、輸入信號號節(jié)點(diǎn)(1)在波形形編輯方式式下,執(zhí)執(zhí)行Edit菜單中的InsertNodeorBus命令,或者者在波形編輯輯器左邊Name列的空白處處點(diǎn)擊鼠標(biāo)標(biāo)右鍵,彈出的InsertNodeorBus對話話框框QuartusII操作作基礎(chǔ)礎(chǔ)2、輸輸入入信信號號節(jié)節(jié)點(diǎn)點(diǎn)(2)點(diǎn)擊擊InsertNodeorBus對話話框框中中的的NodeFinder……按鈕鈕,彈彈出出NodeFinder窗口口,,在在此此窗窗口口中中添添加加信信號號節(jié)節(jié)點(diǎn)點(diǎn)。。QuartusII操作作基礎(chǔ)礎(chǔ)3、編編輯輯輸輸入入信信號號編輯輯輸輸入入信信號號是是指指在在波波形形編編輯輯器器中中指指定定輸輸入入節(jié)節(jié)點(diǎn)點(diǎn)的的邏邏輯輯電電平平變變化化,,編編輯輯輸輸入入節(jié)節(jié)點(diǎn)點(diǎn)的的波波形形。。在仿仿真真編編輯輯窗窗口口的的工工具具欄欄中中列列出出了了各各種種功功能能選選擇擇按按鈕鈕,,主主要要用用于于繪繪制制、、編編輯輯波波形形,,給給輸輸入入信信號號賦賦值值。。具具體體功功能能如如下下:::在在波波形形文文件件中中添添加加注注釋釋;;:修修改改信信號號的的波波形形值值,,把把選選定定區(qū)區(qū)域域的的波波形形更更改改成成原原值值的的相相反反值值;;:全全屏屏顯顯示示波波形形文文件件;;:放放大大、、縮縮小小波波形形;;:在在波波形形文文件件信信號號欄欄中中查查找找信信號號名名,,可可以以快快捷捷找找到到待待觀觀察察信信號號;;:將將某某個個波波形形替替換換為為另另一一個個波波形形;;:給給選選定定信信號號賦賦原原值值的的反反值值;;:輸輸入入任任意意固固定定的的值值;;:輸輸入入隨隨機(jī)機(jī)值值:給給選選定定的的信信號號賦賦值值,,X表示示不不定定態(tài)態(tài),,0表示示賦賦0,1表示示賦賦1,Z表示示高高阻阻態(tài)態(tài),,W表示示弱弱信信號號,,L表示示低低電電平平,,H表示示高高電電平平,,DC表示示不不賦賦值值。。QuartusII操作作基礎(chǔ)礎(chǔ)3、編編輯輯輸輸入入信信號號:設(shè)設(shè)置置時時鐘鐘信信號號的的波波形形參參數(shù)數(shù),,先先選選中中需需要要賦賦值值的的信信號號,,然然后后鼠鼠標(biāo)標(biāo)右右鍵鍵點(diǎn)點(diǎn)擊擊此此圖圖標(biāo)標(biāo)彈彈出出Clock對話話框框,,在在此此對對話話框框中中可可以以設(shè)設(shè)置置輸輸入入時時鐘鐘信信號號的的起起始始時時間間((StartTime)、、結(jié)結(jié)束束時時間間((EndTime)、、時時鐘鐘脈脈沖沖周周期期((Period),,相相位位偏偏置置((Offset)以以及及占占空空比比。。:給給信信號號賦賦計(jì)計(jì)數(shù)數(shù)值值,,先先選選中中需需要要賦賦值值的的信信號號,,然然后后鼠鼠標(biāo)標(biāo)右右鍵鍵點(diǎn)點(diǎn)擊擊此此圖圖標(biāo)標(biāo)彈彈出出如如下下圖圖所所示示的的CountValue對話框,然后后賦值。CountValue對話框的Counting頁CountValue對話框的Timing頁QuartusII操作基礎(chǔ)4、仿真波形文文件QuartusⅡ軟件中默認(rèn)的的是時序仿真真,如果進(jìn)行行功能仿真則則需要先對仿仿真進(jìn)行設(shè)置置,步驟如下下:(1)選擇QuartusⅡ主窗口Assignments菜單下的Settings…命令,可以進(jìn)進(jìn)入?yún)?shù)設(shè)置置頁面,如下下圖所示,然然后單擊SimulationSettings,在右邊的對對話框中的Simulationmode中選擇“Function”;QuartusII操作基礎(chǔ)4、仿真波形文文件(2)選擇QuartusⅡ主窗口Processing菜單下的GenerateFunctionalSimulationNetlist命令,生成功功能仿真網(wǎng)表表文件;(3)選擇QuartusⅡ主窗口Processing菜單下的StartSimulation進(jìn)行功能仿真真。功能仿真滿足足要求后,還還要對設(shè)計(jì)進(jìn)進(jìn)行時序仿真真,時序仿真真可以在編譯譯后直接進(jìn)行行,但是要將將上圖中的Simulationmode中設(shè)置為“Timing”,設(shè)置好以后后直接選擇StartSimulation命令,執(zhí)行時時序仿真。QuartusII操作基礎(chǔ)——編程下載設(shè)計(jì)計(jì)文件對設(shè)計(jì)進(jìn)行驗(yàn)驗(yàn)證后,即可可對目標(biāo)器件件進(jìn)行編程和和配置,下載載設(shè)計(jì)文件到到硬件中進(jìn)行行硬件驗(yàn)證。。QuartusⅡ編程器Programmer最常用的編程程模式是JTAG模式和主動串串行編程模式式AS。JTAG模式主要用在在調(diào)試階段,,主動串行編編程模式用于于板級調(diào)試無無誤后將用戶戶程序固化在在串行配置芯芯片EPCS中。QuartusII操作基礎(chǔ)編程下載對話話框1、JTAG編程下載模式式QuartusII操作基礎(chǔ)1)、選擇QuartusⅡ主窗口的Tools菜單下的Programmer命令或點(diǎn)擊圖圖標(biāo),進(jìn)入入器件編程和和配置對話框框。如果此對對話框中的HardwareSetup后為“NoHardware”,則需要選擇擇編程的硬件件。點(diǎn)擊HardwareSetup,進(jìn)入HardwareSetup對話框,在此此添加硬件設(shè)設(shè)備。此方式的操作作步驟主要分分為3步:編程下載對話話框1、JTAG編程下載模式式QuartusII操作基礎(chǔ)2)、配置編程程硬件后,選選擇下載模式式,在Mode中指定的編程程模式為JTAG模式;編程下載對話話框1、JTAG編程下載模式式QuartusII操作基礎(chǔ)3)、確定編程程模式后,單單擊添添加加相應(yīng)的counter.sof編程文件,選中counter.sof文件后的Program/Configure選項(xiàng),然后點(diǎn)擊圖標(biāo)下載設(shè)計(jì)計(jì)文件到器件件中,Process進(jìn)度條中顯示示編程進(jìn)度,,編程下載完完成后就可以以進(jìn)行目標(biāo)芯芯片的硬件驗(yàn)驗(yàn)證了。AS主動串行編程程式的操作步驟如下下:(1)選擇QuartusⅡ主窗口Assignments菜單Device命令,進(jìn)入Settings對話框的Device頁面進(jìn)行設(shè)置置,如右圖。。2、AS主動串行編程模式QuartusII操作基礎(chǔ)2、AS主動串行編程程模式(2)選擇QuartusⅡ主窗口的Tools菜單下的Programmer命令或點(diǎn)擊圖圖標(biāo),,進(jìn)入器器件編程和配配置對話框,,添加硬件,,選擇編程模模式為ActiveSerialProgram;(3)單擊添添加加相應(yīng)的counter.pof編程文件,選選中文件后的的Program/Configure、Verify和BlankCheck項(xiàng),單擊圖標(biāo)標(biāo)下下載設(shè)計(jì)文文件到器件中中,Process進(jìn)度條中顯示示編程進(jìn)度。。下載完成后后程序固化在在EPCS中,開發(fā)板上上電后EPCS將自動完成對對目標(biāo)芯片的的配置,無須須再從計(jì)算機(jī)機(jī)上下載程序序。QuartusII操作基礎(chǔ)——QuartusⅡ中宏功能模塊塊的調(diào)用方法法使用QuartusⅡ軟件的MegaWizardPlug-InManager中的宏功能模模塊可以幫助助用戶調(diào)用QuartusⅡ內(nèi)部已有的IP(知識產(chǎn)權(quán)))核來完成一一些復(fù)雜系統(tǒng)統(tǒng)的設(shè)計(jì),并并可以方便的的對調(diào)用的IP核的參數(shù)進(jìn)行行修改。下面以一個調(diào)調(diào)用lpm_counter宏功能模塊來來實(shí)現(xiàn)一個十十六進(jìn)制的加加法同步計(jì)數(shù)數(shù)器為例,簡簡單介紹宏功功能模塊的使使用。設(shè)計(jì)開始前新新建立一個名名為counter16的工程,在工工程中新建一一個新的bdf文件,選擇QuartusⅡ主窗口的Tools菜單下的MegaWizardPlug-InManager命令,進(jìn)入MegaWizardPlug-InManager對話框第一頁頁,然后依依此進(jìn)行參數(shù)數(shù)的設(shè)定,具具體的流程如如圖所示:QuartusII操作基礎(chǔ)MegaWizardPlug-InManager第一頁QuartusII操作基礎(chǔ)MegaWizardPlug-InManager第二頁MegaWizardPlug-InManager第三頁QuartusII操作基礎(chǔ)MegaWizardPlug-InManager第四頁MegaWizardPlug-InManager第五頁QuartusII操作基礎(chǔ)MegaWizardPlug-InManager第六頁MegaWizardPlug-InManager第七頁QuartusII操作基礎(chǔ)SOPC硬件件開發(fā)實(shí)例例子:設(shè)計(jì)一一個電子鐘第一步是要進(jìn)進(jìn)行需求分析析,根據(jù)這個個要求來建立立硬件系統(tǒng)。。電子鐘的設(shè)計(jì)計(jì)要求:在液晶屏上顯顯示日期、時時間;可以設(shè)置日期期、時間;SOPC硬件件開發(fā)實(shí)例根據(jù)系統(tǒng)要求求,電子鐘的的設(shè)計(jì)要用到到的外圍器件件有:LCD:電子鐘顯示示屏幕;按鍵:電子鐘鐘設(shè)置功能鍵鍵;Flash存儲器:存儲儲軟、硬件程程序;SRAM存儲器:程序序運(yùn)行時將其其導(dǎo)入SRAM。根據(jù)所要用到到的外設(shè)、要要實(shí)現(xiàn)的功能能以及開發(fā)板板的配置,在在SOPCBuilder中建立系統(tǒng)要要添加的模塊塊包括:NiosIICPU、定時器、按按鍵PIO、LCD控制器、AVALON三態(tài)橋、外部部RAM接口、外部Flash接口。使用的開發(fā)環(huán)環(huán)境如下:WinXP操作系統(tǒng)NiosII6.0嵌入式處理器器QuartusII6.0基于CycloneII的SOPC開發(fā)板SOPC硬件件開發(fā)實(shí)例創(chuàng)建工程進(jìn)行完需求分分析之后,進(jìn)進(jìn)行硬件系統(tǒng)統(tǒng)的創(chuàng)建。首先必須建立立一個QuartusII的工程,步驟如下:1.開始->程序->AlteraQuartusII6.1QuartusII6.1(32bit),啟動QuartusII軟件;SOPC硬件件開發(fā)實(shí)例2.選擇File菜單NewProjectWizard,出現(xiàn)Introduction頁面,該頁面面介紹所要完完成的具體任任務(wù),點(diǎn)擊next。SOPC硬件件開發(fā)實(shí)例3.進(jìn)行項(xiàng)目名稱稱的設(shè)定、工工作目錄的選選擇。指定工工程存放的目目錄,工程名名和頂層實(shí)體體名,工程名名和頂層實(shí)體體名要求相同同,工程目錄錄可以隨意設(shè)設(shè)置,但必須須是英文的目目錄,工程名名和頂層實(shí)體體名也要求是是英文名字,,我們的工程程名和頂層實(shí)實(shí)體名為clock,選擇Next。SOPC硬件件開發(fā)實(shí)例4.可以為工工程添加先期期已經(jīng)輸入的的設(shè)計(jì)文件,,指定用戶自自定義的元件件庫的路徑,,這里我們沒沒有事先輸入入好的文件,,也沒有自定定義的元件庫庫,點(diǎn)擊Next進(jìn)入下下一步。SOPC硬件件開發(fā)實(shí)例5.用戶指定目標(biāo)標(biāo)器件,根據(jù)據(jù)開發(fā)板的所所使用的器件件來選擇,實(shí)實(shí)際開發(fā)中,,通過查看核核心板的參考考手冊來獲取取所使用的器器件具體型號號,可以使用用窗口右邊的的Filters來加快器件的的選擇,選擇擇完畢點(diǎn)擊Next。SOPC硬件件開發(fā)實(shí)例6.指定在在QuartusII之外的用用于,設(shè)計(jì)輸輸入、綜合、、仿真、時序序分析的第三三方EDA工工具,QuartusII對第三三方工具的支支持比較完善善。這里我們們不做選擇,,直接點(diǎn)擊Next。SOPC硬件件開發(fā)實(shí)例所見新工程的的信息,確認(rèn)認(rèn)所創(chuàng)建工程程的主要信息息,點(diǎn)擊Finish完完成工程的建建立,在開發(fā)發(fā)的過程中,,還可以通過過菜單assignmentSettings來對這些些配置進(jìn)行修修改。點(diǎn)擊擊Finish按鈕,QuartusII自自動會打開這這個工程,可可以看到頂層層實(shí)體名出現(xiàn)現(xiàn)在工程導(dǎo)航航窗口中。SOPC硬件件開發(fā)實(shí)例創(chuàng)建NiosII系系統(tǒng)模塊創(chuàng)建完成工程程之后,需要要創(chuàng)建頂層實(shí)實(shí)體。創(chuàng)建完完頂層設(shè)計(jì)文文件之后,使使用SOPCBuilder創(chuàng)建NIOSII嵌入式處理器器,添加、配配置系統(tǒng)的外外設(shè)IP,組成NiosII系統(tǒng)模塊。NiosII系統(tǒng)模塊設(shè)計(jì)計(jì)完成之后要要加入到該頂頂層實(shí)體中,,然后進(jìn)行其其他片上邏輯輯的開發(fā)。一、創(chuàng)建頂層層實(shí)體(1)新建的工程程窗口中,選選擇FileNew;(2)在DeviceDesignFile頁中,,選擇擇BlockDiagram/SchematicFile,即原原理圖圖文件件,也也可以以選擇擇硬件件描述述語言言的文文件形形式。。單擊擊OK。(3)出現(xiàn)現(xiàn)一個個模塊塊編輯輯窗口口。創(chuàng)建NiosII系系統(tǒng)模模塊創(chuàng)建NiosII系系統(tǒng)模模塊(4)選選擇FileSaveAs,出現(xiàn)現(xiàn)SaveAs對話框框,顯顯示的的目錄錄為之之前設(shè)設(shè)置的的工程程目錄錄,文文件名名為之之前設(shè)設(shè)置的的頂層層實(shí)體體名((由于于這是是工程程的第第一個個文件件,系系統(tǒng)會會默認(rèn)認(rèn)為頂頂層設(shè)設(shè)計(jì)實(shí)實(shí)體的的名字字)。。確定定AddtoCurrentProject選項(xiàng)被被選中中,點(diǎn)點(diǎn)擊Save文件被被保存存并被被加入入到工工程中中。創(chuàng)建NiosII系系統(tǒng)模模塊二、創(chuàng)創(chuàng)建NiosII系統(tǒng)模模塊創(chuàng)建NIOSII系統(tǒng)模模塊需需要使使用SOPCBuilder,它是是QuartusII中的一一個工工具,,使用用SOPCBuilder可以創(chuàng)創(chuàng)建一一個NiosII系統(tǒng)模模塊,,或者者創(chuàng)建建多主主設(shè)備備SOPC模塊。。一個個完整整NiosII的系統(tǒng)統(tǒng)模塊塊包括括NiosII處理器器和相相關(guān)的的系統(tǒng)統(tǒng)外設(shè)設(shè)。所所以創(chuàng)創(chuàng)建系系統(tǒng)模模塊的的流程程是先先創(chuàng)建建一個個系統(tǒng)統(tǒng),然然后添添加NiosIICPU和外設(shè)設(shè)IP,然后后進(jìn)行行相應(yīng)應(yīng)的設(shè)設(shè)置,,最后后生成成實(shí)例例,然然后將將其加加入到到工程程的頂頂層實(shí)實(shí)體中中去。。創(chuàng)建NiosII系系統(tǒng)模模塊(一))、創(chuàng)創(chuàng)建系系統(tǒng)啟動SOPCBuilder,選擇擇ToolsSOPCBuilder,出現(xiàn)現(xiàn)下圖圖所示示的CreateNewSystem對話框框。鍵鍵入系系統(tǒng)的的名字字,選選擇硬硬件描描述語語言Verilog或者是是VHDL。單擊OK按鈕后后,出出現(xiàn)SOPCBuider系統(tǒng)模模塊設(shè)設(shè)計(jì)窗窗口。。創(chuàng)建NiosII系系統(tǒng)模模塊用戶需需要設(shè)設(shè)置系系統(tǒng)的的時鐘鐘頻率率,該該頻率率用于于計(jì)算算硬件件和軟軟件開開發(fā)中中的定定時,,比如如時鐘鐘分頻頻或波波特率率。這這里我我們設(shè)設(shè)成85MHz,還可可以選選擇是是否選選用流流水線線。(二))、、設(shè)置置系統(tǒng)統(tǒng)主頻頻和指指定目目標(biāo)FPGA在Target欄中的的Board部分指指定我我們這這本書書使用用的核核心開開發(fā)板板——CycloneII(EP2C35)。也也可以以在Board部分選選擇Unspecified,然后后在DeviceFamily選擇CycloneII。創(chuàng)建NiosII系系統(tǒng)模模塊(三))、加加入NiosIICPU和IP模塊首先加加入NiosII軟核,,NiosII是軟核核CPU,共有有三種種類型型的CPU可供選選擇::NiosII/e(經(jīng)濟(jì)型型)、NiosII/s(標(biāo)準(zhǔn)準(zhǔn)型))和NiosII/f(快速速型))。用用戶可可以根根據(jù)實(shí)實(shí)際的的情況況進(jìn)行行選擇擇。NiosII是一個個用戶戶可以以自行行進(jìn)行行定制制的CPU,用戶可可以增加加新的外外設(shè)、新新的指令令等。添加NiosIICPU的步驟如如下:1.在上圖““SOPCBuider系統(tǒng)模塊塊設(shè)計(jì)窗窗口”AvalonComponents下面選擇擇NiosIIProcessor;2.點(diǎn)擊Add,出現(xiàn)NiosIICPU的配置向向?qū)?,共共有三種種類型的的CPU可供選擇擇;創(chuàng)建NiosII系系統(tǒng)模模塊根據(jù)需要要選擇相相應(yīng)的一一種NiosII核,我們們選擇標(biāo)標(biāo)準(zhǔn)型的的NiosII核,HardwareMultiply選擇none,不選擇擇HardwareDivide點(diǎn)擊Next,進(jìn)入Caches&TightlyCoupledMemories設(shè)置窗口口;創(chuàng)建NiosII系系統(tǒng)模模塊設(shè)置NiosII的Cache和與CPU直接相連連的存儲儲器端口口(不通通過Avalon總線),,選擇InstructionCache為4Kbytes,不選中中Includetightlycoupledinstructionmasterport(s),點(diǎn)擊Next進(jìn)入AdvancedFeatures設(shè)置頁面面。創(chuàng)建NiosII系系統(tǒng)模模塊AdvancedFeatures的設(shè)置頁頁面是QuartusII6.1版本才有有的設(shè)置置,這里里不選擇擇Includecpu_resetrequestandcpu_resettakensignals點(diǎn)擊Next進(jìn)入JTAGDebugModule設(shè)置。創(chuàng)建NiosII系系統(tǒng)模模塊共有4個調(diào)試級級別可供供選擇,,這里選選擇Level1即可,該該級別支支持軟件件的斷點(diǎn)點(diǎn)調(diào)試。。JTAG調(diào)試模塊塊要占用用較多的的邏輯資資源,如如果整個個系統(tǒng)調(diào)調(diào)試完畢畢了可以以選用NoDebugger以減少系系統(tǒng)占用用資源點(diǎn)點(diǎn)擊Next進(jìn)入自定定義指令令的設(shè)置置。因?yàn)楸纠挥玫降饺魏蔚牡淖远x義指令,,這里不不作任何何的設(shè)置置,點(diǎn)擊擊Finish完成CPU模塊的添添加。創(chuàng)建NiosII系系統(tǒng)模模塊創(chuàng)建NiosII系系統(tǒng)模模塊除了NiosIICPU,電子鐘鐘設(shè)計(jì)需需要添加加的IP模塊包括括:TimerButtonPIOLCD控制器ExternalRAMBusExternalFlashBusExternalRAMinterfaceExternalFlashInterface創(chuàng)建NiosII系系統(tǒng)模模塊1.添添加定時時器定時器和和NiosIICPU一一樣,用用戶可以以對其進(jìn)進(jìn)行定定制。添添加定時時器的步步驟如下下:(1)在在Avaloncomponents下下的other庫中選選擇IntervalTimer并單單擊Add,Avalon_Timer-timer_0的向向?qū)Т翱诳诔霈F(xiàn);;(2)配配置定時時器,點(diǎn)點(diǎn)擊Finish,完完成定時時器的添添加。(3)可可以對Timer進(jìn)行行重命名名,我們們這里取取缺省的的名字。。創(chuàng)建NiosII系系統(tǒng)模模塊2.添加ButtonPIO(1)在Avaloncomponents下的other下選擇PIO,單擊Add,出現(xiàn)AvalonPIO-PIO_0的向?qū)?;;?)在BasicSettings頁中,設(shè)設(shè)置width=4bits,direction為InputPortsOnly;創(chuàng)建NiosII系系統(tǒng)模模塊(3)在InputOptions頁中,在在EdgeCaptureRegister下選中SynchronouslyCapture,然后選選擇EitherEdge;(4)在Interrupt下選中GenerateIRQ,然后選選擇Edge;(5)點(diǎn)擊Finish,返回到到AlteraSOPCBuilderNIOS2的窗口;;(6)右鍵單單擊ModuleName下的pio_0,從菜單單選擇rename,重命名名為button_pio.創(chuàng)建NiosII系系統(tǒng)模模塊3.添加LCD控制器(1)在“SOPCBuider系統(tǒng)模塊塊設(shè)計(jì)窗窗口”的左側(cè)的的Avaloncomponents下的display庫中選擇擇CharacterLCD(162,Optrex16027),單擊Add;(2)ModuleName下出現(xiàn),,lcd_16027_0;(3)將其重重命名lcd_display。4.添加外部部RAM接口(1)Avaloncomponents下的Memory下面選擇擇CypressCY7C1380CSSRAM,單擊Add,出現(xiàn)SSRAM(CypressCY7C1380C)-ext_ssram的向?qū)?;;?)在TimingParameters下面設(shè)置置ReadLatency為2clocks,在SSRAM下面設(shè)置置MemorySize為2Mbytes(3)單擊Finish,返回到到AlteraSOPCBuilderNIOS2的窗口;;(4)右鍵單單擊ModuleName下的ssram_0,從菜單單選擇rename,重命名名為ext-ssram。5.添添加外部部閃存接接口(1)在在Avaloncomponents下下的Memory下面面選擇FlashMemory((CommonFlashInterface),,單擊Add,,出現(xiàn)外外部閃存存接口向向?qū)?;?)在在Attributes頁中中,可以以在Presets列列表中選選擇相應(yīng)應(yīng)的閃存存的接口口,這些些閃存的的接口都都是經(jīng)過過測試的的,如果果列表中中沒有,,用戶可可以自己己定義閃閃存的Size和DataWidth;;創(chuàng)建NiosII系系統(tǒng)模模塊(3)在在timing頁中,,可以設(shè)設(shè)置閃存存的讀寫寫時序要要求,可可以設(shè)置置Setup,Waite,hold時間等等參數(shù),,通常保保留缺省省的設(shè)置置;(4)如如應(yīng)用選選擇的閃閃存接口口不在列列表中,,需要自自己定義義Size和DataWidth,和時時序要求求;(5)點(diǎn)點(diǎn)擊Finish,返返回到AlteraSOPCBuilderNIOS2的窗口口,ModuleName出現(xiàn)cfi_flash_0,對對其重命命名為ext_flash。。創(chuàng)建NiosII系系統(tǒng)模模塊6.添添加外部部RAM總線和和外部flash總線線(Avalon三態(tài)態(tài)總線橋橋)為了使NiosII系統(tǒng)統(tǒng)能與開開發(fā)板上上的外部部存儲器器通信,,必須在在Avalon總線和和外部存存儲器之之間加入入Avalon三態(tài)橋橋。步驟如下下:(1)在在Bridge下,,選擇AvalonTri-StateBridge,點(diǎn)點(diǎn)擊Add,出出現(xiàn)AvalonTri-StateBridge–tri_state_bridge_0向?qū)?;?2)Registered選項(xiàng)項(xiàng)默認(rèn)為為選中;;(3)單單擊Finish,返返回到AlteraSOPCBuilderNIOS2的窗口口;(4)將其重命命名為ext_ssram_bus;(5)重復(fù)前三三個步驟驟,在添添加一個個Avalon三態(tài)總線線橋,并并重命名名為ext_flash_bus.7.添加加JTAGUART(1)在在Avaloncomponents下下的Communication下下選擇JTAGUART,點(diǎn)擊擊ADD,出現(xiàn)現(xiàn)添加向向?qū)?。?)按按照缺省省設(shè)置,,點(diǎn)擊Finish。。(3)將將其重重命名為為JTAG_UART.8.NiosII系統(tǒng)的的連接主要是外外部RAM接口口要和RAM的的三態(tài)橋橋連接,,外部的的Flash接接口要和和flash的的三態(tài)橋橋連接。。所有添添加的IP連接接都是系系統(tǒng)自動動完成的的,除了了上面提提到的三三態(tài)橋和和外部存存儲器的的接口的的連接之之外,其其它的連連接用戶戶不用修修改,但但對于三三態(tài)橋和和外部存存儲器接接口的連連接,系系統(tǒng)的自自動連接接可能和和用戶的的開發(fā)板板不匹配配,用戶戶需要進(jìn)進(jìn)行手動動的更改改。針對對我們所所用的開開發(fā)板的的情況進(jìn)進(jìn)行的設(shè)設(shè)置,因因?yàn)楸緯鴷玫降牡拈_發(fā)板板外部的的SRAM和外外部的Flash沒有有使用共共用的數(shù)數(shù)據(jù)線和和地址線線,所以以必須為為它們分分別添加加一個三三態(tài)橋。。創(chuàng)建NiosII系系統(tǒng)模塊創(chuàng)建NiosII系系統(tǒng)模塊三、分配IP模塊的地址和和中斷號在以上添加IP的過程中,SOPCBuilder為各個IP模塊分配了一一個默認(rèn)的基基地址,用戶戶可以改變這這些默認(rèn)的分分配。如果用用戶自己分配配的地址出現(xiàn)現(xiàn)沖突,SOPCBuilder會給出警告,,用戶可以按按照下面的步步驟來進(jìn)行分分配和解決地地址沖突問題題。創(chuàng)建NiosII系系統(tǒng)模塊下面我們給出出一種自定義義的地址分配配實(shí)例,將閃閃存的基地址址設(shè)定為0x00000000,步驟如下::(1)單擊Flash外設(shè)設(shè)的的Base欄,,將將地地址址改改為為0x0,然然后后回回車車,,這這時時SOPCBuilder的消消息息框框中中出出現(xiàn)現(xiàn)錯錯誤誤的的提提示示信信息息,,這這是是因因?yàn)闉殚W閃存存的的地地址址和和其其它它的的外外設(shè)設(shè)地地址址發(fā)發(fā)生生了了沖沖突突。。(2)選選擇擇Module菜單單中中的的LockBaseAddress操作作,,一一個個掛掛鎖鎖的的圖圖標(biāo)標(biāo)出出現(xiàn)現(xiàn)在在閃閃存存基基地地址址的的旁旁邊邊。。(3)選選擇擇System菜單單中中的的AutoAssignBaseAddress操作作,,來來解解決決外外設(shè)設(shè)的的地地址址分分配配沖沖突突問問題題,,SOPCBuilder調(diào)整整其其它它外外設(shè)設(shè)的的地地址址來來避避開開與與閃閃存存地地址址的的沖沖突突,,錯錯誤誤提提示示的的消消息息就就會會消消失失了了。。(4)用用戶戶可可以以手手動動修修改改各各個個外外設(shè)設(shè)的的中中斷斷號號,,中中斷斷號號越越低低,,中中斷斷優(yōu)優(yōu)先先級級越越高高,,用用戶戶也也可可以以采采用用自自動動分分配配中中斷斷號號,,選選擇擇System菜單單中中的的AutoAssignIRQs,但但SOPCBuilder不處處理理軟軟件件操操作作,,采采用用自自動動分分配配中中斷斷的的策策略略不不一一定定是是最最優(yōu)優(yōu)的的,,用用戶戶最最好好是是根根據(jù)據(jù)自自己己的的應(yīng)應(yīng)用用來來確確定定外外設(shè)設(shè)的的中中斷斷優(yōu)優(yōu)先先級級,,采采用用手手動動的的分分配配。。創(chuàng)建建NiosII系系統(tǒng)統(tǒng)模模塊塊四、、配配置置NIOSII系統(tǒng)統(tǒng)系統(tǒng)統(tǒng)的的IP模塊塊添添加加完完成成之之后后,,還還需需要要對對系系統(tǒng)統(tǒng)進(jìn)進(jìn)行行配配置置。。點(diǎn)點(diǎn)擊擊NiosIIMore““cpu_0””Settings頁,,用用戶戶可可以以進(jìn)進(jìn)行行如如下下的的設(shè)設(shè)置置::ResetAddress:可可以以選選擇擇存存放放BootLoader的存存儲儲器器和和設(shè)設(shè)置置BootLoader在存存儲儲器器中中的的偏偏移移,,我我們們這這里里選選擇擇ext_flash,偏偏移移選選擇擇默默認(rèn)認(rèn);;ExceptionAddress:可可以以選選擇擇存存放放異異常常向向量量表表的的存存放放的的存存儲儲器器和和設(shè)設(shè)置置異異常常向向量量表表在在存存儲儲器器中中的的偏偏移移,我們們選選擇擇ext_ssram,偏偏移移選選擇擇默默認(rèn)認(rèn);;BreakLocation:如果果NIOSII包含有有一個個JTAGDebug模塊,,SOPCBuilder會顯示示這項(xiàng)項(xiàng)內(nèi)容容。其其MemoryModule總是JTAGDebugModule,Offset固定為為0x20,地址由由JTAGdebugmodule基地址址決定定。用用戶不不能修修改BreakLocation的各個個域的的內(nèi)容容。五、生生成NIOSII并加入入到工工程中中NIOSII系統(tǒng)是是工程程的一一部分分,我我們首首先是是生成成它,,然后后加入入到工工程中中去,,然后后將整整個工工程下下載到到FPGA芯片中中去。。單擊擊SystemGeneration,在Option下進(jìn)行行如下下的設(shè)設(shè)置::創(chuàng)建NiosII系系統(tǒng)模模塊選中Simulation,如果果安裝裝了ModelSim軟件,,會生生成用用于仿仿真的的相應(yīng)應(yīng)的文文件。。單擊exit退出SOPCBuilder。單擊Generate,SOPCBuilder會提示示生成成系統(tǒng)統(tǒng)的進(jìn)進(jìn)程,,系統(tǒng)統(tǒng)生成成完成成時會會提示示”SUCCESS:SYSTEMGENERATIONCOMPLETED””。選中HDL,會生生成系系統(tǒng)模模塊的的硬件件語言言文件件。系統(tǒng)生生成完完成之之后,,SOPCBuilder為這個個定制制的NIOSII系統(tǒng)模模塊創(chuàng)創(chuàng)建了了一個個符號號,要要把NiosII系統(tǒng)加加入到到工程程中去去,遵遵循如如下的的步驟驟:(1)在QuartusII軟件中中,打打開頂頂層實(shí)實(shí)體((BDF格式)),在在BDF窗口中中任意意處雙雙擊,,出現(xiàn)現(xiàn)Symbol對話框框;(2)在Symbol對話框框中單單擊Project來展開開工程程目錄錄,其其下出出現(xiàn)NIOS2(本例例采用用的系系統(tǒng)名名),,選中中它,,右側(cè)側(cè)出現(xiàn)現(xiàn)了系系統(tǒng)的的符號號表示示;(3)單擊擊OK,Symbol對話框框關(guān)閉閉,NIOS2的符號號輪廓廓被附附著在在鼠標(biāo)標(biāo)的指指針上上。(4)BDF窗口中中任意意空白白處單單擊一一下,,NIOS2的符號號出現(xiàn)現(xiàn)在BDF窗口中中,這這樣我我們創(chuàng)創(chuàng)建的的系統(tǒng)統(tǒng)已經(jīng)經(jīng)被加加入到到工程程中了了。創(chuàng)建NiosII系系統(tǒng)模模塊創(chuàng)建NiosII系系統(tǒng)模模塊六、引引腳和和嵌入入式鎖鎖相環(huán)環(huán)除了NIOSII系統(tǒng)之之外,,可能能還要要有其其它的的硬件件邏輯輯,我我們這這里加加入一一個嵌嵌入式式鎖相相環(huán),,嵌入入式鎖鎖相環(huán)環(huán)有兩兩個時時鐘輸輸出,,一個個輸出出SSRAM提供時時鐘,,另一一個時時鐘的的輸出出為NIOSIICPU提供時時鐘,,然后后添加加輸入入、輸輸出、、雙向向引腳腳,以以實(shí)現(xiàn)現(xiàn)和FPGA外部的的外設(shè)設(shè)進(jìn)行行通信信。加入嵌嵌入式式鎖相相環(huán)的的步驟驟如下下:創(chuàng)建NiosII系系統(tǒng)模模塊(1)點(diǎn)擊ToolsMegaWizardPlug-InManager,出現(xiàn)現(xiàn)MegaWizardPlug-InManager向?qū)age1窗口,點(diǎn)擊next創(chuàng)建NiosII系系統(tǒng)模模塊(2)在MegaWizardPlug-InManagerPage2窗窗口中中的IO下下面選選擇ALTPLL,,器件件選擇擇CycloneII,輸輸出文文件類類型選選擇VHDL,,文件件名為為ssram_pll,,選中中Returntothispageforanothercreateoperation,然然后點(diǎn)點(diǎn)擊Next,,出現(xiàn)現(xiàn)MegaWizardPlug-InManager-ALTPLL[Page3of10];創(chuàng)建NiosII系系統(tǒng)模模塊(3)在窗口口中,,做如圖圖選擇,,點(diǎn)擊擊next,進(jìn)入page4(4)在page4中不作作任何何配置置,直直接點(diǎn)點(diǎn)擊next;創(chuàng)建NiosII系系統(tǒng)模模塊(5)點(diǎn)擊next創(chuàng)建NiosII系系統(tǒng)模模塊(6)在Page6窗窗口中中,設(shè)設(shè)置c0輸輸出時時鐘,,首先先選中中Usethisclock選項(xiàng)項(xiàng),設(shè)設(shè)置時時鐘頻頻率為為85MHz,,占空空比為為50%。。點(diǎn)擊擊Next會進(jìn)進(jìn)入c1輸輸出時時鐘的的設(shè)置置;創(chuàng)建NiosII系系統(tǒng)模模塊(7)嵌入式式PLL可可提供供3個個輸出出時鐘鐘,我我們使使用其其中的的兩個個,Page7窗窗口口中,,在c1時時鐘的的設(shè)置置頁面面上,,選中中Usethisclock選項(xiàng)項(xiàng),設(shè)設(shè)置時時鐘頻頻率為為85MHz,,點(diǎn)擊擊Next;創(chuàng)建NiosII系系統(tǒng)模模塊創(chuàng)建NiosII系系統(tǒng)模模塊(8)在MegaWizardPlug-InManager-ALTPLL[Page8of10]窗口中中,不不選中中Usethisclock選項(xiàng),,即我我們不不使用用c2時鐘,,點(diǎn)擊擊Next;(9)在MegaWizardPlug-InManager-ALTPLL[Page9of10]窗口中中,給給出了了用于于仿真真必須須要產(chǎn)產(chǎn)生的的文件件,點(diǎn)點(diǎn)擊Next;(10)在MegaWizardPlug-InManager-ALTPLL[Page10of10]窗口中中,給給出了了用戶戶選擇擇要產(chǎn)產(chǎn)生的的文件件,不不做改改變,,采用用默認(rèn)認(rèn)配置置,點(diǎn)點(diǎn)擊Finish完成PLL的生成成。在頂層層實(shí)體體的bdf窗口中中雙擊擊鼠標(biāo)標(biāo),出出現(xiàn)Symbol添加窗窗口,,在project下面選選擇剛剛才建建立的的ssram_pll,點(diǎn)擊擊OK。ssram_pll的輪廓廓會附附著在在鼠標(biāo)標(biāo)上,,點(diǎn)擊擊bdf窗口的的空白白處,,將嵌嵌入式式鎖相相環(huán)加加入到到了工工程中中。引腳添添加的的步驟驟如下下:(1)在頂頂層實(shí)實(shí)體的的bdf窗口的的空白白處雙雙擊鼠鼠標(biāo),,出現(xiàn)現(xiàn)Symbol添加窗窗口(2)在altera/quartus/libraries下面選選擇primitives,再在在其下下選擇擇pin,在其其中有有三種種類型型的引引腳,,有bidir,input,output,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼杉木林地買賣合同
- 對講機(jī)購銷合同
- 手房中介購房合同
- 網(wǎng)絡(luò)工程合同協(xié)議
- 鍋爐采購合同
- 交通行業(yè)智能交通管控方案
- 鋼筋購買銷售合同
- 衛(wèi)星通信系統(tǒng)建設(shè)工程承包合同
- 勞動合同和人力資源公司簽訂
- 光伏安裝勞務(wù)分包合同
- 圓柱的表面積(說課稿)-2023-2024學(xué)年六年級下冊數(shù)學(xué)北師大版
- 《神經(jīng)系統(tǒng)MRI解讀》課件
- 2024年江蘇信息職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2025年學(xué)校春季開學(xué)典禮校長講話致辭 (匯編11份)
- 城市軌道交通專業(yè)英語(第三版) 課件 U7 Tram
- 高等院校附屬醫(yī)院醫(yī)共體合作制度
- 2025年中國半導(dǎo)體第三方檢測行業(yè)市場集中度、市場規(guī)模及未來前景分析報(bào)告
- 2025年餐飲部主管年度工作計(jì)劃
- 學(xué)工管理系統(tǒng)功能設(shè)計(jì)方案
- 健康管理師考試題與參考答案
- 智慧檔案館信息化綜合管理平臺建設(shè)方案
評論
0/150
提交評論