第2章_Quartus_II開發(fā)環(huán)境的使用_第1頁
第2章_Quartus_II開發(fā)環(huán)境的使用_第2頁
第2章_Quartus_II開發(fā)環(huán)境的使用_第3頁
第2章_Quartus_II開發(fā)環(huán)境的使用_第4頁
第2章_Quartus_II開發(fā)環(huán)境的使用_第5頁
已閱讀5頁,還剩121頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第2章章 SOPC開發(fā)流程及開發(fā)流程及Quartus II的使用的使用 2.1 SOPC開發(fā)流程和開發(fā)工具vSOPC設(shè)計包括硬件和軟件兩部分。設(shè)計包括硬件和軟件兩部分。 硬件設(shè)計:主要基于硬件設(shè)計:主要基于Quartus II和和 SOPC Builder。 軟件設(shè)計:基于軟件設(shè)計:基于Nios II IDE。SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動程序用戶C/C+應(yīng)用程序代碼和定制的庫自定義的功能模塊建立Quartus II工程,建立頂層圖*.bdf打開SOPC Builder定義和生成系統(tǒng)集成S

2、OPC生成的系統(tǒng)到Quartus II工程使用Nios IIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到Nios II系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性使用IDE編程工具燒寫配置文件和軟件代碼在進(jìn)行SOPC開發(fā)之前,首先必須確定系統(tǒng)的需求,如應(yīng)用系統(tǒng)需求的計算性能、需要的帶寬和吞吐量、需求的接口類型以及是否需求多線程的軟件等。每個開發(fā)過程開始時都應(yīng)建立一個工程,Q

3、uartus II是以工程的方式對設(shè)計過程進(jìn)行管理。在工程中建立頂層模塊文件.bdf相當(dāng)于 傳 統(tǒng) 電 路 設(shè) 計 中 的 電 路 板(PCB)。在SOPC Builder中添加需要的功能模塊(Nios II及其標(biāo)準(zhǔn)外設(shè)模塊),完成后生成一個系統(tǒng)模塊。如果需要,用戶可以定制指令和外設(shè)邏輯。(可參考第8章)SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動程序用戶C/C+應(yīng)用程序代碼和定制的庫自定義的功能模塊建立Quartus II工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到Quartus II工程使用Ni

4、os IIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到Nios II系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性在Quartus II軟件中包含了大量的Altera公司提供的LPM功能模塊,相當(dāng)與傳統(tǒng)設(shè)計中除處理器以外的邏輯芯片(如74系列);當(dāng)設(shè)計中現(xiàn)有模塊不能滿足設(shè)計要求時,可設(shè)計自己的功能模塊。并在頂層模塊中使用;打開SOPC Builder定義和生成系統(tǒng)在頂層模塊中

5、,分別將SOPC Builder生成的系統(tǒng)模塊、LPM功能模塊以及用戶自定義功能模塊添加到頂層模塊中;然后將各個功能模塊用連線連起來組成系統(tǒng)功能原理圖。這個兩過程類似傳統(tǒng)電路設(shè)計中,將所有要使用的芯片焊接到電路板上,然后通過PCB上的連線將各個芯片連接起來,組成電路系統(tǒng)。 使用IDE編程工具燒寫配置文件和軟件代碼SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動程序用戶C/C+應(yīng)用程序代碼和定制的庫自定義的功能模塊建立Quartus II工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到Quartus II工程

6、使用Nios IIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到Nios II系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性打開SOPC Builder定義和生成系統(tǒng)為系統(tǒng)功能原理圖選擇芯片載體并為各個輸入輸出信號分配芯片的管腳;設(shè)置編譯選項,從而讓編譯器按照用戶設(shè)定來進(jìn)行編譯;編譯系統(tǒng)生成硬件系統(tǒng)的配置文件*.sof和*.pof。編譯系統(tǒng)是一個非常復(fù)雜的過程,包括優(yōu)化邏輯的組

7、合、綜合邏輯、適配FPGA、布線以及時序分析等步驟。使用IDE編程工具燒寫配置文件和軟件代碼SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動程序用戶C/C+應(yīng)用程序代碼和定制的庫自定義的功能模塊建立Quartus II工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到Quartus II工程使用Nios IIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到Nios II系統(tǒng)下載

8、配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性打開SOPC Builder定義和生成系統(tǒng)軟件開發(fā)也可以在SOPC Builder 生成系統(tǒng)模塊后立即進(jìn)行!與傳統(tǒng)軟件開發(fā)類似,唯一不同在于系統(tǒng)是自己定制的,所受局限??!使用IDE編程工具燒寫配置文件和軟件代碼SOPC開發(fā)流程簡圖分析系統(tǒng)需求NiosII內(nèi)核&標(biāo)準(zhǔn)外設(shè)定制指令&定制外設(shè)邏輯硬件抽象層(HAL)&外設(shè)驅(qū)動程序用戶C/C+應(yīng)用程序代碼和定制的庫自定義的功能模塊建立Quartus II工程,建立頂層圖*.bdf集成SOPC生成的系統(tǒng)到Qua

9、rtus II工程使用Nios IIIDE開發(fā)軟件Altera的LPM模塊連接各功能模塊選擇FPGA型號并進(jìn)行管腳分配進(jìn)行編譯選項設(shè)置編譯硬件系統(tǒng)生成配置文件sof編譯軟件生成可執(zhí)行文件elf在目標(biāo)板上下載可執(zhí)行軟件到Nios II系統(tǒng)下載配置文件到FPGA器件在目標(biāo)板上運(yùn)行/調(diào)試軟件調(diào)試好的硬件和軟件在IDE中使用ISS運(yùn)行/調(diào)試軟件設(shè)置軟件運(yùn)行硬件環(huán)境屬性打開SOPC Builder定義和生成系統(tǒng) 設(shè)置好軟件運(yùn)行的硬件環(huán)境屬性后,便可進(jìn)行編譯、鏈接和調(diào)試、運(yùn)行程序。對用戶程序進(jìn)行編譯,生成可執(zhí)行文件*.elf。 接下來在IDE的指令集仿真器(ISS)上仿真軟件和運(yùn)行/調(diào)試軟件。 將配置文件

10、.sof下載到FPGA,將可執(zhí)行文件.elf下載到RAM。 在目標(biāo)板上反復(fù)調(diào)試軟件。 直到硬件和軟件設(shè)計都達(dá)到設(shè)計要求。 最后利用IDE的編程工具將配置文件燒寫到FPGA的配置芯片或Flash,將可執(zhí)行文件*.elf編程到Flash中。使用IDE編程工具燒寫配置文件和軟件代碼2.1 SOPC開發(fā)流程和開發(fā)工具硬件開發(fā)硬件開發(fā)配置Nios II處理器選擇并配置外設(shè).IP連接各外設(shè)模塊分配外設(shè)地址和中斷SOPC Builder GUI自定義命令I(lǐng)P 模塊處理器庫外設(shè)模塊庫硬件開發(fā)硬件開發(fā)Nios II IDE軟件開發(fā)軟件開發(fā)Quartus IIGNU Tools 用用SOPC Builder軟件從

11、軟件從NiosII處理器內(nèi)核和處理器內(nèi)核和NiosII開發(fā)套件提供的外設(shè)列表中開發(fā)套件提供的外設(shè)列表中選取合適的選取合適的CPU、存儲器以、存儲器以及各外圍器件及各外圍器件,并定制和配置并定制和配置它們的功能;它們的功能; 分配外設(shè)地址及中斷號;分配外設(shè)地址及中斷號; 設(shè)定復(fù)位地址;設(shè)定復(fù)位地址; 最后生成系統(tǒng)。最后生成系統(tǒng)。 用戶也可以添加用戶自身用戶也可以添加用戶自身定制指令邏輯到定制指令邏輯到NiosII內(nèi)核內(nèi)核以加速以加速CPU性能;性能; 添加用戶自己設(shè)計的添加用戶自己設(shè)計的IP模塊。模塊。 2.1 SOPC開發(fā)流程和開發(fā)工具v硬件開發(fā)硬件開發(fā)配置Nios II處理器選擇并配置外設(shè).

12、IP連接各外設(shè)模塊分配外設(shè)地址和中斷SOPC Builder GUI自定義命令I(lǐng)P 模塊處理器庫外設(shè)模塊庫硬件開發(fā)硬件開發(fā)Nios II IDE軟件開發(fā)軟件開發(fā)Quartus IIGNU Tools 編譯編譯Quartus II工程,對工程,對HDL文件進(jìn)行布局布線,從文件進(jìn)行布局布線,從HDL源文件綜合生成一個適源文件綜合生成一個適合 目 標(biāo) 器 件 網(wǎng) 表 , 生 成合 目 標(biāo) 器 件 網(wǎng) 表 , 生 成FPGA配置文件配置文件(.sof); HDL 源文件 測試臺 用戶邏輯設(shè)計 其它的IP模塊 SOPC Builder的 頂層.bdf文件管腳連接分配編譯(分析與綜合、布局布線、時序分析等

13、)驗證調(diào)試硬件配置文件JTAG串口、以太網(wǎng)片上調(diào)試(軟件跟蹤、硬件斷點(diǎn) SignalTap II) 用下載電纜用下載電纜(如如 ByteBlaster II),將配置文件將配置文件下載到目標(biāo)板上。硬件校驗下載到目標(biāo)板上。硬件校驗完成后,可將新的硬件配置完成后,可將新的硬件配置文件下載到目標(biāo)板上的非易文件下載到目標(biāo)板上的非易失存儲器失存儲器(如如EPCS器件器件)。2.1 SOPC開發(fā)流程和開發(fā)工具v硬件開發(fā)硬件開發(fā)配置Nios II處理器選擇并配置外設(shè).IP連接各外設(shè)模塊分配外設(shè)地址和中斷SOPC Builder GUI自定義命令I(lǐng)P 模塊處理器庫外設(shè)模塊庫硬件開發(fā)硬件開發(fā)Nios II ID

14、E軟件開發(fā)軟件開發(fā)Quartus IIGNU Tools 編譯編譯Quartus II工程,對工程,對HDL文件進(jìn)行布局布線,從文件進(jìn)行布局布線,從HDL源文件綜合生成一個適源文件綜合生成一個適合 目 標(biāo) 器 件 網(wǎng) 表 , 生 成合 目 標(biāo) 器 件 網(wǎng) 表 , 生 成FPGA配置文件配置文件(.sof); HDL 源文件 測試臺 用戶邏輯設(shè)計 其它的IP模塊 SOPC Builder的 頂層.bdf文件管腳連接分配編譯(分析與綜合、布局布線、時序分析等)驗證調(diào)試硬件配置文件JTAG串口、以太網(wǎng)片上調(diào)試(軟件跟蹤、硬件斷點(diǎn) SignalTap II) 用下載電纜用下載電纜(如如 ByteBla

15、ster II),將配置文件將配置文件下載到目標(biāo)板上。硬件校驗下載到目標(biāo)板上。硬件校驗完成后,可將新的硬件配置完成后,可將新的硬件配置文件下載到目標(biāo)板上的非易文件下載到目標(biāo)板上的非易失存儲器失存儲器(如如EPCS器件器件)。2.1 SOPC開發(fā)流程和開發(fā)工具v軟件開發(fā)軟件開發(fā)使用軟件開發(fā)使用Nios II IDE,它是一個基于,它是一個基于Eclipse IDE架構(gòu)的集成架構(gòu)的集成開發(fā)環(huán)境,它包括:開發(fā)環(huán)境,它包括:vGNU開發(fā)工具開發(fā)工具(標(biāo)準(zhǔn)標(biāo)準(zhǔn)GCC編譯器,連接器,匯編器和編譯器,連接器,匯編器和makefile工具等工具等);v基于基于GDB的調(diào)試器,包括軟件仿真和硬件調(diào)試;的調(diào)試器,

16、包括軟件仿真和硬件調(diào)試;v提供用戶一個硬件抽象層提供用戶一個硬件抽象層HAL;v提供嵌入式操作系統(tǒng)提供嵌入式操作系統(tǒng)MicroC/OS-II和和LwTCP/IP協(xié)議棧的支持;協(xié)議棧的支持;v提供幫助用戶快速入門的軟件模板;提供幫助用戶快速入門的軟件模板;v提供提供Flash下載支持下載支持(Flash Progrmmer 和和QuartusII Programmer)2.1 SOPC開發(fā)流程和開發(fā)工具v軟件開發(fā)軟件開發(fā)配置Nios II處理器選擇并配置外設(shè).IP連接各外設(shè)模塊分配外設(shè)地址和中斷SOPC Builder GUI自定義命令I(lǐng)P 模塊處理器庫外設(shè)模塊庫硬件開發(fā)硬件開發(fā)Nios II

17、IDE軟件開發(fā)軟件開發(fā)Quartus IIGNU Tools 使用使用SOPC Builder生成生成系統(tǒng)后,可以直接使用系統(tǒng)后,可以直接使用Nios II IDE開始設(shè)計開始設(shè)計C/C+應(yīng)應(yīng)用程序代碼。用程序代碼。Altera提供外提供外設(shè)驅(qū)動程序和硬件抽象層設(shè)驅(qū)動程序和硬件抽象層(HAL),使用戶能夠快速編寫使用戶能夠快速編寫與低級硬件細(xì)節(jié)無關(guān)的與低級硬件細(xì)節(jié)無關(guān)的Nios II程序;程序; HDL 源文件 測試臺 用戶邏輯設(shè)計 其它的IP模塊 SOPC Builder的 頂層.bdf文件管腳連接分配編譯(分析與綜合、布局布線、時序分析等)驗證調(diào)試硬件配置文件JTAG串口、以太網(wǎng)片上調(diào)試(

18、軟件跟蹤、硬件斷點(diǎn) SignalTap II) C頭文件 用戶庫函數(shù) 外設(shè)驅(qū)動 除了應(yīng)用代碼,用戶還可除了應(yīng)用代碼,用戶還可以在以在Nios II IDE 工程中工程中設(shè)計和重新使用定制庫。設(shè)計和重新使用定制庫。 用戶代碼 庫函數(shù) 操作系統(tǒng)(RTOS)硬件開發(fā)使用Quartus II和SOPC Builder2.2 SOPC硬件開發(fā)實(shí)例 第一步是要進(jìn)行需求分析,根據(jù)這個要求來建立硬件系統(tǒng)。第一步是要進(jìn)行需求分析,根據(jù)這個要求來建立硬件系統(tǒng)。 電子鐘的設(shè)計要求:電子鐘的設(shè)計要求: 在液晶屏上顯示日期、時間;在液晶屏上顯示日期、時間; 可以設(shè)置日期、時間;可以設(shè)置日期、時間; 根據(jù)系統(tǒng)要求實(shí)現(xiàn)的功

19、能,電子鐘的設(shè)計要用到的外圍器件有:根據(jù)系統(tǒng)要求實(shí)現(xiàn)的功能,電子鐘的設(shè)計要用到的外圍器件有: LCD:電子鐘顯示屏幕;:電子鐘顯示屏幕; 按鍵:電子鐘設(shè)置功能鍵;按鍵:電子鐘設(shè)置功能鍵; Flash存儲器:存儲軟、硬件程序;存儲器:存儲軟、硬件程序; SRAM存儲器:程序運(yùn)行時將其導(dǎo)入存儲器:程序運(yùn)行時將其導(dǎo)入SRAM。 根據(jù)所要用到的外設(shè)、要實(shí)現(xiàn)的功能以及開發(fā)板的配置,在根據(jù)所要用到的外設(shè)、要實(shí)現(xiàn)的功能以及開發(fā)板的配置,在SOPC Builder中建立系統(tǒng)要添加的模塊包括:中建立系統(tǒng)要添加的模塊包括:Nios II CPU、定時器、按鍵、定時器、按鍵PIO、LCD控制器、控制器、AVALON

20、三態(tài)橋、外部三態(tài)橋、外部RAM接口、外部接口、外部Flash接口。接口。2.2 SOPC硬件開發(fā)實(shí)例v使用的開發(fā)環(huán)境如下:使用的開發(fā)環(huán)境如下:vWinXP操作系統(tǒng)操作系統(tǒng)vNios II 6.0嵌入式處理器嵌入式處理器vQuartus II 6.0v基于基于Cyclone II 的的SOPC開發(fā)板開發(fā)板2.2.1 創(chuàng)建工程v進(jìn)行完需求分析之后,進(jìn)行硬件系統(tǒng)的創(chuàng)建。進(jìn)行完需求分析之后,進(jìn)行硬件系統(tǒng)的創(chuàng)建。v首先必須建立一個首先必須建立一個Quartus II 的工程,的工程,v步驟如下:步驟如下: 1. 開始開始程序程序AlteraQuartus II 6.1Quartus II 6.1(32

21、bit),啟動,啟動Quartus II軟件;軟件; 2.選擇選擇File菜單菜單New Project Wizard,出現(xiàn),出現(xiàn)Introduction頁面,該頁面介紹所要完成的具體任頁面,該頁面介紹所要完成的具體任務(wù),點(diǎn)擊務(wù),點(diǎn)擊next。2.2.1 創(chuàng)建工程2.2.1 創(chuàng)建工程2.2.1 創(chuàng)建工程3. 進(jìn)行項目名稱的設(shè)定、工作目錄的選擇。進(jìn)行項目名稱的設(shè)定、工作目錄的選擇。指定工程存放的目錄,工程名和頂層實(shí)體指定工程存放的目錄,工程名和頂層實(shí)體名,工程名和頂層實(shí)體名要求相同,工程名,工程名和頂層實(shí)體名要求相同,工程目錄可以隨意設(shè)置,但必須是英文的目錄,目錄可以隨意設(shè)置,但必須是英文的目錄

22、,工程名和頂層實(shí)體名也要求是英文名字,工程名和頂層實(shí)體名也要求是英文名字,我們的工程名和頂層實(shí)體名為我們的工程名和頂層實(shí)體名為clock,選擇,選擇Next。2.2.1 創(chuàng)建工程2.2.1 創(chuàng)建工程v4.可以為工程添加先期已經(jīng)輸入的設(shè)計文件,指定可以為工程添加先期已經(jīng)輸入的設(shè)計文件,指定用戶自定義的元件庫的路徑,這里我們沒有事先輸用戶自定義的元件庫的路徑,這里我們沒有事先輸入好的文件,也沒有自定義的元件庫,點(diǎn)擊入好的文件,也沒有自定義的元件庫,點(diǎn)擊Next進(jìn)進(jìn)入下一步。入下一步。2.2.1 創(chuàng)建工程2.2.1 創(chuàng)建工程5. 用戶指定目標(biāo)器件,根據(jù)開發(fā)板的所使用的用戶指定目標(biāo)器件,根據(jù)開發(fā)板的所

23、使用的器件來選擇,實(shí)際開發(fā)中,通過查看核心板器件來選擇,實(shí)際開發(fā)中,通過查看核心板的參考手冊來獲取所使用的器件具體型號,的參考手冊來獲取所使用的器件具體型號,可以使用窗口右邊的可以使用窗口右邊的Filters來加快器件的選來加快器件的選擇,選擇完畢點(diǎn)擊擇,選擇完畢點(diǎn)擊Next。 2.2.1 創(chuàng)建工程2.2.1 創(chuàng)建工程6. 指定在指定在Quartus II 之外的用于,設(shè)計輸入、之外的用于,設(shè)計輸入、綜合、仿真、時序分析的第三方綜合、仿真、時序分析的第三方EDA工具,工具,Quartus II對第三方工具的支持比較完善。對第三方工具的支持比較完善。這里我們不做選擇,直接點(diǎn)擊這里我們不做選擇,直

24、接點(diǎn)擊Next。2.2.1 創(chuàng)建工程2.2.1 創(chuàng)建工程v所見新工程的信息,確認(rèn)所創(chuàng)建工程的主所見新工程的信息,確認(rèn)所創(chuàng)建工程的主要信息,點(diǎn)擊要信息,點(diǎn)擊Finish完成工程的建立,在開完成工程的建立,在開發(fā)的過程中,還可以通過菜單發(fā)的過程中,還可以通過菜單assignmentSettings來對這些配置進(jìn)行來對這些配置進(jìn)行修改。修改。v點(diǎn)擊點(diǎn)擊Finish按鈕,按鈕,Quartus II自動會打開這自動會打開這個工程,可以看到頂層實(shí)體名出現(xiàn)在工程個工程,可以看到頂層實(shí)體名出現(xiàn)在工程導(dǎo)航窗口中。導(dǎo)航窗口中。2.3 創(chuàng)建創(chuàng)建Nios II 系統(tǒng)模塊系統(tǒng)模塊v創(chuàng)建完成工程之后,需要創(chuàng)建頂層實(shí)體。創(chuàng)

25、創(chuàng)建完成工程之后,需要創(chuàng)建頂層實(shí)體。創(chuàng)建完頂層設(shè)計文件之后,使用建完頂層設(shè)計文件之后,使用SOPC Builder創(chuàng)建創(chuàng)建NIOS II 嵌入式處理器,添加、配置系統(tǒng)嵌入式處理器,添加、配置系統(tǒng)的外設(shè)的外設(shè)IP,組成,組成Nios II系統(tǒng)模塊。系統(tǒng)模塊。 Nios II 系系統(tǒng)模塊設(shè)計完成之后要加入到該頂層實(shí)體中,統(tǒng)模塊設(shè)計完成之后要加入到該頂層實(shí)體中,然后進(jìn)行其他片上邏輯的開發(fā)。然后進(jìn)行其他片上邏輯的開發(fā)。2.3.1 創(chuàng)建頂層實(shí)體(1)新建的工程窗口中,選擇)新建的工程窗口中,選擇FileNew;(2)在)在Device Design File頁中,選擇頁中,選擇Block Diagram

26、Schematic File,即原理圖文件,即原理圖文件,也可以選擇硬件描述語言的文件形式。單擊也可以選擇硬件描述語言的文件形式。單擊OK。(3)出現(xiàn)一個模塊編輯窗口。)出現(xiàn)一個模塊編輯窗口。2.3.1 創(chuàng)建頂層實(shí)體2.3.1 創(chuàng)建頂層實(shí)體(4) 選擇選擇FileSave As,出現(xiàn),出現(xiàn)Save As對話對話框,顯示的目錄為之前設(shè)置的工程目錄,文框,顯示的目錄為之前設(shè)置的工程目錄,文件名為之前設(shè)置的頂層實(shí)體名(由于這是工件名為之前設(shè)置的頂層實(shí)體名(由于這是工程的第一個文件,系統(tǒng)會默認(rèn)為頂層設(shè)計實(shí)程的第一個文件,系統(tǒng)會默認(rèn)為頂層設(shè)計實(shí)體的名字)。確定體的名字)。確定Add to Current

27、 Project選項被選中,點(diǎn)擊選項被選中,點(diǎn)擊Save文件被保存并被加入文件被保存并被加入到工程中。到工程中。2.3.1 創(chuàng)建頂層實(shí)體2.3.2 創(chuàng)建Nios II系統(tǒng)模塊 創(chuàng)建創(chuàng)建NIOS II系統(tǒng)模塊需要使用系統(tǒng)模塊需要使用SOPC Builder,它,它是是Quartus II中的一個工具,使用中的一個工具,使用SOPC Builder可可以創(chuàng)建一個以創(chuàng)建一個Nios II 系統(tǒng)模塊,或者創(chuàng)建多主設(shè)備系統(tǒng)模塊,或者創(chuàng)建多主設(shè)備SOPC模塊。模塊。 一個完整一個完整Nios II的系統(tǒng)模塊包括的系統(tǒng)模塊包括Nios II處理器和相處理器和相關(guān)的系統(tǒng)外設(shè)。所以創(chuàng)建系統(tǒng)模塊的流程是先創(chuàng)建關(guān)的

28、系統(tǒng)外設(shè)。所以創(chuàng)建系統(tǒng)模塊的流程是先創(chuàng)建一個系統(tǒng),然后添加一個系統(tǒng),然后添加Nios II CPU和外設(shè)和外設(shè)IP,然后進(jìn),然后進(jìn)行相應(yīng)的設(shè)置,最后生成實(shí)例,然后將其加入到工行相應(yīng)的設(shè)置,最后生成實(shí)例,然后將其加入到工程的頂層實(shí)體中去。程的頂層實(shí)體中去。2.3.2 創(chuàng)建Nios II系統(tǒng)模塊一、創(chuàng)建系統(tǒng)一、創(chuàng)建系統(tǒng) 啟動啟動SOPC Builder,選擇,選擇ToolsSOPC Builder,出現(xiàn)圖,出現(xiàn)圖2-10的的Create New System對話框。鍵入系統(tǒng)的名字,選擇硬件對話框。鍵入系統(tǒng)的名字,選擇硬件描述語言描述語言Verilog或者是或者是VHDL。2.3.2 創(chuàng)建Nios

29、II系統(tǒng)模塊2.3.2 創(chuàng)建Nios系統(tǒng)模塊二二 、設(shè)置系統(tǒng)主頻和指定目標(biāo)、設(shè)置系統(tǒng)主頻和指定目標(biāo)FPGAv在Target欄中的Board部分指定我們這本書使用的核心開發(fā)板Cyclone II (EP2C35)。也可以在Board部分選擇Unspecified,然后在Device Family選擇Cyclone II。v用戶需要設(shè)置系統(tǒng)的時鐘頻率,該頻率用于計算硬件和軟件開發(fā)中的定時,比如時鐘分頻或波特率。這里我們設(shè)成85MHz,還可以選擇是否選用流水線。三、加入三、加入Nios II CPU和和 IP模塊模塊 首先加入首先加入Nios II軟核,軟核,Nios II 是軟核是軟核CPU,共有

30、三種類型的共有三種類型的CPU可供選擇:可供選擇:Nios II/e(經(jīng)經(jīng)濟(jì)型濟(jì)型)、Nios II/s(標(biāo)準(zhǔn)型)和(標(biāo)準(zhǔn)型)和Nios II/f(快(快速型)。用戶可以根據(jù)實(shí)際的情況進(jìn)行選擇。速型)。用戶可以根據(jù)實(shí)際的情況進(jìn)行選擇。Nios II是一個用戶可以自行進(jìn)行定制的是一個用戶可以自行進(jìn)行定制的CPU,用戶可以增加新的外設(shè)、新的指令等。用戶可以增加新的外設(shè)、新的指令等。添加添加Nios II CPU的步驟如下:的步驟如下:v1. Avalon Components 下面選擇下面選擇Nios II Processor;v2. 點(diǎn)擊點(diǎn)擊 Add,出現(xiàn),出現(xiàn)Nios II CPU的配置向?qū)В?/p>

31、的配置向?qū)В灿腥N類型的共有三種類型的CPU可供選擇;可供選擇; 根據(jù)需要選擇相應(yīng)的一種根據(jù)需要選擇相應(yīng)的一種Nios II核,我們選核,我們選擇標(biāo)準(zhǔn)型的擇標(biāo)準(zhǔn)型的Nios II核,核,Hardware Multiply選選擇擇none,不選擇,不選擇Hardware Divide點(diǎn)擊點(diǎn)擊Next,進(jìn)入進(jìn)入Caches & Tightly Coupled Memories設(shè)置窗口;設(shè)置窗口; 設(shè)置設(shè)置Nios II的的Cache和與和與CPU直接相連的存直接相連的存儲器端口(不通過儲器端口(不通過Avalon總線),選擇總線),選擇Instruction Cache為為4Kbytes

32、,不選中,不選中Include tightly coupled instruction master port(s) ,點(diǎn)擊,點(diǎn)擊Next進(jìn)入進(jìn)入Advanced Features設(shè)置頁面。設(shè)置頁面。 Advanced Features的設(shè)置頁面是的設(shè)置頁面是Quartus II 6.1 版本才有的設(shè)置,這里不選擇版本才有的設(shè)置,這里不選擇Include cpu_resetrequest and cpu_resettaken signals點(diǎn)擊點(diǎn)擊Next進(jìn)入進(jìn)入JTAG Debug Module設(shè)置。設(shè)置。 共有共有4個調(diào)試級別可供選擇,這里選擇個調(diào)試級別可供選擇,這里選擇Level1即可,

33、該級別支持軟件的斷點(diǎn)調(diào)試。即可,該級別支持軟件的斷點(diǎn)調(diào)試。JTAG調(diào)試模塊要占用較多的邏輯資源,如果調(diào)試模塊要占用較多的邏輯資源,如果整個系統(tǒng)調(diào)試完畢了可以選用整個系統(tǒng)調(diào)試完畢了可以選用No Debugger以減少系統(tǒng)占用資源點(diǎn)擊以減少系統(tǒng)占用資源點(diǎn)擊Next進(jìn)入自定義指進(jìn)入自定義指令的設(shè)置。令的設(shè)置。 因為本例不用到任何的自定義指令,這里不因為本例不用到任何的自定義指令,這里不作任何的設(shè)置,點(diǎn)擊作任何的設(shè)置,點(diǎn)擊Finish完成完成CPU模塊的模塊的添加。添加。v除了除了Nios II CPU,電子鐘設(shè)計需要添加的,電子鐘設(shè)計需要添加的IP模塊包模塊包括:括:vTimervButton PI

34、OvLCD控制器控制器vExternal RAM BusvExternal Flash Bus vExternal RAM interfacevExternal Flash Interface 1. 添加定時器添加定時器 定時器和定時器和Nios II CPU一樣,用戶可以對其進(jìn)一樣,用戶可以對其進(jìn) 行定制。添加定時器的步驟如下:行定制。添加定時器的步驟如下: (1)在)在Avalon components下的下的other庫中庫中選選 擇擇Interval Timer并單擊并單擊Add,Avalon_Timer-timer_0的向?qū)Т翱诔霈F(xiàn);的向?qū)Т翱诔霈F(xiàn); (2)配置定時器,點(diǎn)擊)配置定時

35、器,點(diǎn)擊Finish,完成定時器的添加。完成定時器的添加。 (3)可以對)可以對Timer進(jìn)行重命名,進(jìn)行重命名,我們這里取缺省的名字我們這里取缺省的名字。 2. 添加添加Button PIO (1)在)在 Avalon components下的下的other下選擇下選擇PIO,單擊單擊Add,出現(xiàn),出現(xiàn)Avalon PIO-PIO_0的向?qū)В坏南驅(qū)В?(2)在)在Basic Settings頁中,設(shè)置頁中,設(shè)置width=4bits,direction為為Input Ports Only; (3)在)在Input Options頁中,在頁中,在Edge Capture Register下選中

36、下選中Synchronously Capture,然后,然后選擇選擇Either Edge;(4)在)在Interrupt下選中下選中Generate IRQ,然后,然后選擇選擇Edge; (5)點(diǎn)擊)點(diǎn)擊Finish,返回到,返回到Altera SOPC Builder NIOS2的窗口;的窗口;(6)右鍵單擊)右鍵單擊Module Name下的下的pio_0,從,從菜單選擇菜單選擇rename,重命名為,重命名為button_pio. 3. 添加添加LCD控制器控制器(1)在圖)在圖2-11的窗口中的左側(cè)的的窗口中的左側(cè)的Avalon components下的下的display庫中選擇庫中

37、選擇Character LCD(16 2, Optrex 16027),單,單擊擊Add;(2)Module Name下出現(xiàn),下出現(xiàn),lcd_16027_0; (3)將其重命名)將其重命名lcd_display。 4.添加外部添加外部RAM接口接口 (1)Avalon components下的下的Memory下面選擇下面選擇Cypress CY7C1380C SSRAM,單擊,單擊Add,出現(xiàn),出現(xiàn)SSRAM (Cypress CY7C1380C)-ext_ssram的向?qū)?;的向?qū)В?(2)在)在Timing Parameters下面設(shè)置下面設(shè)置Read Latency 為為2 clocks,

38、在,在SSRAM下面設(shè)置下面設(shè)置Memory Size為為2Mbytes (3)單擊)單擊Finish,返回到,返回到Altera SOPC Builder NIOS2的窗的窗口;口; (4)右鍵單擊)右鍵單擊Module Name下的下的ssram_0,從菜單選擇,從菜單選擇rename,重命名為,重命名為ext-ssram。 5. 添加外部閃存接口添加外部閃存接口(1)在)在Avalon components下的下的Memory下面選擇下面選擇Flash Memory(Common Flash Interface),單),單擊擊Add,出現(xiàn)外部閃存接口向?qū)В?,出現(xiàn)外部閃存接口向?qū)В唬?)在

39、)在Attributes頁中,可以在頁中,可以在Presets列表中選擇列表中選擇相應(yīng)的閃存的接口,這些閃存的接口都是經(jīng)過測試相應(yīng)的閃存的接口,這些閃存的接口都是經(jīng)過測試的,如果列表中沒有,用戶可以自己定義閃存的的,如果列表中沒有,用戶可以自己定義閃存的Size和和Data Width;(3)在)在timing頁中,可以設(shè)置閃存的讀寫時序要求,頁中,可以設(shè)置閃存的讀寫時序要求,可以設(shè)置可以設(shè)置Setup, Waite, hold時間等參數(shù),通常保時間等參數(shù),通常保留缺省的設(shè)置;留缺省的設(shè)置;(4)如應(yīng)用選擇的閃存接口不在列表中,需要自己)如應(yīng)用選擇的閃存接口不在列表中,需要自己定義定義Size

40、和和Data Width,和時序要求;,和時序要求;(5)點(diǎn)擊)點(diǎn)擊Finish,返回到,返回到Altera SOPC Builder NIOS2的窗口,的窗口,Module Name出現(xiàn)出現(xiàn)cfi_flash_0,對其重命名為對其重命名為ext_flash。 6. 添加外部添加外部RAM總線和外部總線和外部flash總線(總線(Avalon三三態(tài)總線橋)態(tài)總線橋) 為了使為了使Nios II 系統(tǒng)能與開發(fā)板上的外部存儲器通信,必須在系統(tǒng)能與開發(fā)板上的外部存儲器通信,必須在Avalon總線和外部存儲器之間加入總線和外部存儲器之間加入Avalon三態(tài)橋。三態(tài)橋。 步驟如下:步驟如下:(1) 在在

41、Bridge下,選擇下,選擇Avalon Tri-State Bridge,點(diǎn)擊,點(diǎn)擊Add,出現(xiàn)出現(xiàn)Avalon Tri-State Bridge tri_state_bridge_0向?qū)?;向?qū)В?(2) Registered選項默認(rèn)為選中;選項默認(rèn)為選中; (3)單擊單擊Finish,返回到,返回到Altera SOPC Builder NIOS2的窗口;的窗口;(4) 將其重命名為將其重命名為ext_ssram_bus;(5) 重復(fù)前三個步驟,在添加一個重復(fù)前三個步驟,在添加一個Avalon三態(tài)三態(tài)總線橋,并重命名為總線橋,并重命名為ext_flash_bus.v7.添加JTAG UAR

42、T(1)在)在Avalon components下的下的Communication下選擇下選擇 JTAG UART,點(diǎn)擊,點(diǎn)擊ADD,出現(xiàn)添加向?qū)А?,出現(xiàn)添加向?qū)?。?)按照缺省設(shè)置,點(diǎn)擊)按照缺省設(shè)置,點(diǎn)擊Finish。(3) 將其重命名為將其重命名為JTAG_UART.7. Nios II系統(tǒng)的連接系統(tǒng)的連接v主要是外部主要是外部RAM接口要和接口要和RAM的三態(tài)橋連接,外的三態(tài)橋連接,外部的部的Flash接口要和接口要和flash的三態(tài)橋連接。所有添加的三態(tài)橋連接。所有添加的的IP連接都是系統(tǒng)自動完成的,除了上面提到的三連接都是系統(tǒng)自動完成的,除了上面提到的三態(tài)橋和外部存儲器的接口的連接

43、之外,其它的連接態(tài)橋和外部存儲器的接口的連接之外,其它的連接用戶不用修改,但對于三態(tài)橋和外部存儲器接口的用戶不用修改,但對于三態(tài)橋和外部存儲器接口的連接,系統(tǒng)的自動連接可能和用戶的開發(fā)板不匹配,連接,系統(tǒng)的自動連接可能和用戶的開發(fā)板不匹配,用戶需要進(jìn)行手動的更改。針對我們所用的開發(fā)板用戶需要進(jìn)行手動的更改。針對我們所用的開發(fā)板的情況進(jìn)行的設(shè)置,因為本書用到的開發(fā)板外部的的情況進(jìn)行的設(shè)置,因為本書用到的開發(fā)板外部的SRAM和外部的和外部的Flash沒有使用共用的數(shù)據(jù)線和地沒有使用共用的數(shù)據(jù)線和地址線,所以必須為它們分別添加一個三態(tài)橋。址線,所以必須為它們分別添加一個三態(tài)橋。 Altera公司提供

44、了豐富的外設(shè)公司提供了豐富的外設(shè)IP可供用戶加可供用戶加入到設(shè)計當(dāng)中,如片內(nèi)入到設(shè)計當(dāng)中,如片內(nèi)ROM,communication UART、LED PIO、Seven Segment PIO、外部、外部DDR SDRAM的接口等的接口等等。本設(shè)計沒有用到上述的外設(shè)等。本設(shè)計沒有用到上述的外設(shè)IP,所以不,所以不做講述,讀者可以通過做講述,讀者可以通過Quartus II的幫助文的幫助文件,或者通過件,或者通過Altera公司的技術(shù)資料來獲得公司的技術(shù)資料來獲得相應(yīng)的信息。相應(yīng)的信息。2.3.3分配IP模塊的地址和中斷號v在以上添加在以上添加IP的過程中,的過程中,SOPC Builder為各

45、為各個個IP模塊分配了一個默認(rèn)的基地址,用戶可模塊分配了一個默認(rèn)的基地址,用戶可以改變這些默認(rèn)的分配。如果用戶自己分配以改變這些默認(rèn)的分配。如果用戶自己分配的地址出現(xiàn)沖突,的地址出現(xiàn)沖突,SOPC Builder會給出警告,會給出警告,用戶可以按照下面的步驟來進(jìn)行分配和解決用戶可以按照下面的步驟來進(jìn)行分配和解決地址沖突問題。地址沖突問題。v下面我們給出一種自定義的地址分配實(shí)例,下面我們給出一種自定義的地址分配實(shí)例,將閃存的基地址設(shè)定為將閃存的基地址設(shè)定為0 x00000000,步驟如,步驟如下:下:(1)單擊)單擊Flash外設(shè)的外設(shè)的Base欄,將地址改為欄,將地址改為0 x0,然后,然后回

46、車,這時回車,這時SOPC Builder的消息框中出現(xiàn)錯誤的提示的消息框中出現(xiàn)錯誤的提示信息,這是因為閃存的地址和其它的外設(shè)地址發(fā)生了信息,這是因為閃存的地址和其它的外設(shè)地址發(fā)生了沖突。沖突。(2)選擇)選擇Module菜單中的菜單中的Lock Base Address操作,操作,一個掛鎖的圖標(biāo)出現(xiàn)在閃存基地址的旁邊。一個掛鎖的圖標(biāo)出現(xiàn)在閃存基地址的旁邊。(3)選擇)選擇System菜單中的菜單中的Auto Assign Base Address操作,來解決外設(shè)的地址分配沖突問題,操作,來解決外設(shè)的地址分配沖突問題,SOPC Builder調(diào)整其它外設(shè)的地址來避開與閃存地址調(diào)整其它外設(shè)的地址

47、來避開與閃存地址的沖突,錯誤提示的消息就會消失了。的沖突,錯誤提示的消息就會消失了。(4)用戶可以手動修改各個外設(shè)的中斷號,中斷號越)用戶可以手動修改各個外設(shè)的中斷號,中斷號越低,中斷優(yōu)先級越高,用戶也可以采用自動分配中斷低,中斷優(yōu)先級越高,用戶也可以采用自動分配中斷號,選擇號,選擇System菜單中的菜單中的Auto Assign IRQs,但,但SOPC Builder不處理軟件操作,采用自動分配中斷的不處理軟件操作,采用自動分配中斷的策略不一定是最優(yōu)的,用戶最好是根據(jù)自己的應(yīng)用來策略不一定是最優(yōu)的,用戶最好是根據(jù)自己的應(yīng)用來確定外設(shè)的中斷優(yōu)先級,采用手動的分配。確定外設(shè)的中斷優(yōu)先級,采用

48、手動的分配。2.3.4 配置配置NIOS II 系統(tǒng)系統(tǒng)v系統(tǒng)的系統(tǒng)的IP模塊添加完成之后,還需要對系統(tǒng)進(jìn)行配模塊添加完成之后,還需要對系統(tǒng)進(jìn)行配置。點(diǎn)擊置。點(diǎn)擊Nios II More “cpu_0” Settings 頁,用戶頁,用戶可以進(jìn)行如下的設(shè)置:可以進(jìn)行如下的設(shè)置:vReset Address:可以選擇存放:可以選擇存放Boot Loader的存儲器和設(shè)的存儲器和設(shè)置置Boot Loader在存儲器中的偏移,我們這里選擇在存儲器中的偏移,我們這里選擇ext_flash,偏移選擇默認(rèn);偏移選擇默認(rèn);vException Address:可以選擇存放異常向量表的存放的存:可以選擇存放異

49、常向量表的存放的存儲器和設(shè)置異常向量表在存儲器中的偏移儲器和設(shè)置異常向量表在存儲器中的偏移,我們選擇我們選擇ext_ssram,偏移選擇默認(rèn);,偏移選擇默認(rèn);vBreak Location:如果:如果NIOS II 包含有一個包含有一個JTAG Debug模模塊,塊,SOPC Builder會顯示這項內(nèi)容。其會顯示這項內(nèi)容。其Memory Module總總是是JTAG Debug Module,Offset 固定為固定為0 x20, 地址由地址由JTAG debug module基地址決定。用戶不能修改基地址決定。用戶不能修改Break Location的各個域的內(nèi)容。的各個域的內(nèi)容。2.3.

50、5 生成生成NIOS II并加入到工程中并加入到工程中vNIOS II系統(tǒng)是工程的一部分,我們首先是生成它,系統(tǒng)是工程的一部分,我們首先是生成它,然后加入到工程中去,然后將整個工程下載到然后加入到工程中去,然后將整個工程下載到FPGA芯片中去。單擊芯片中去。單擊System Generation,在,在Option下進(jìn)行如下的設(shè)置:下進(jìn)行如下的設(shè)置: 選中選中 HDL,會生成系統(tǒng)模塊的硬件語言文件。,會生成系統(tǒng)模塊的硬件語言文件。 選中選中 Simulation,如果安裝了,如果安裝了ModelSim軟件,會軟件,會生成用于仿真的相應(yīng)的文件。生成用于仿真的相應(yīng)的文件。 單擊單擊 Generat

51、e,SOPC Builder會提示生成體統(tǒng)的會提示生成體統(tǒng)的進(jìn)程,系統(tǒng)生成完成時會提示進(jìn)程,系統(tǒng)生成完成時會提示”SUCCESS: SYSTEM GENERATION COMPLETED”。單擊。單擊exit 退出退出SOPC Builder。v系統(tǒng)生成完成之后,系統(tǒng)生成完成之后,SOPC Builder為這個定制的為這個定制的NIOS II系系統(tǒng)模塊創(chuàng)建了一個符號,要把統(tǒng)模塊創(chuàng)建了一個符號,要把Nios II系統(tǒng)加入到工程中去,系統(tǒng)加入到工程中去,遵循如下的步驟:遵循如下的步驟: (1)在)在 Quartus II軟件中,打開頂層實(shí)體(軟件中,打開頂層實(shí)體(BDF格式),格式),在在BDF窗

52、口中任意處雙擊,出現(xiàn)窗口中任意處雙擊,出現(xiàn) Symbol對話框?qū)υ捒? (2)在)在Symbol對話框中單擊對話框中單擊Project來展開工程目錄,其下來展開工程目錄,其下出現(xiàn)出現(xiàn)NIOS2(本例采用的系統(tǒng)名),選中它,右側(cè)出現(xiàn)了系(本例采用的系統(tǒng)名),選中它,右側(cè)出現(xiàn)了系統(tǒng)的符號表示;統(tǒng)的符號表示; (3)單擊)單擊OK,Symbol對話框關(guān)閉,對話框關(guān)閉,NIOS2的符號輪廓被附的符號輪廓被附著在鼠標(biāo)的指針上。著在鼠標(biāo)的指針上。 (4)BDF窗口中任意空白處單擊一下,窗口中任意空白處單擊一下,NIOS2的符號出現(xiàn)在的符號出現(xiàn)在BDF窗口中,這樣我們創(chuàng)建的系統(tǒng)已經(jīng)被加入到工程中了。窗口中,

53、這樣我們創(chuàng)建的系統(tǒng)已經(jīng)被加入到工程中了。 2.3.6 加入引腳和嵌入式鎖相環(huán)加入引腳和嵌入式鎖相環(huán)v除了除了NIOS II系統(tǒng)之外,可能還要有其它的硬系統(tǒng)之外,可能還要有其它的硬件邏輯單元,我們這里加入一個嵌入式鎖相件邏輯單元,我們這里加入一個嵌入式鎖相環(huán),嵌入式鎖相環(huán)有兩個時鐘輸出,一個輸環(huán),嵌入式鎖相環(huán)有兩個時鐘輸出,一個輸出出SSRAM提供時鐘,另一個時鐘的輸出為提供時鐘,另一個時鐘的輸出為NIOS II CPU提供時鐘,然后添加輸入、輸提供時鐘,然后添加輸入、輸出、雙向引腳,以實(shí)現(xiàn)和出、雙向引腳,以實(shí)現(xiàn)和FPGA外部的外設(shè)外部的外設(shè)進(jìn)行通信。進(jìn)行通信。 v加入嵌入式鎖相環(huán)的步驟如下:加

54、入嵌入式鎖相環(huán)的步驟如下:(1) 點(diǎn)擊點(diǎn)擊ToolsMegaWizard Plug-In Manager,出現(xiàn),出現(xiàn)MegaWizard Plug-In Manager向?qū)驅(qū)age1窗口窗口,點(diǎn)擊點(diǎn)擊nextv在在MegaWizard Plug-In Manager Page2 窗口中窗口中的的IO下面選擇下面選擇ALTPLL,器件選擇,器件選擇Cyclone II,輸,輸出文件類型選擇出文件類型選擇VHDL,文件名為,文件名為ssram_pll,選,選中中Return to this page for another create operation,然后點(diǎn)擊,然后點(diǎn)擊Next,出現(xiàn),出

55、現(xiàn)MegaWizard Plug-In Manager-ALTPLL Page 3of 9;v在在MegaWizard Plug-In Manager-ALTPLL Page 4 of 10窗口中,不做任何選擇,點(diǎn)擊窗口中,不做任何選擇,點(diǎn)擊next;v在在MegaWizard Plug-In Manager-ALTPLL Page 5 of 10窗口中,單擊窗口中,單擊next;v在在MegaWizard Plug-In Manager-ALTPLL Page 6 of 10窗口中,設(shè)置窗口中,設(shè)置c0輸出時鐘,首先選中輸出時鐘,首先選中Use this clock選項,選項,設(shè)置時鐘頻率為

56、設(shè)置時鐘頻率為85MHz,占空比為,占空比為50%。點(diǎn)擊。點(diǎn)擊Next會進(jìn)入會進(jìn)入c1輸出時鐘的設(shè)置;輸出時鐘的設(shè)置;v嵌入式嵌入式PLL可提供可提供3個輸出時鐘,我們使用其中的個輸出時鐘,我們使用其中的兩個,兩個,MegaWizard Plug-In Manager-ALTPLL Page 7 of 10窗口中,在窗口中,在c1時鐘的設(shè)置頁面上,時鐘的設(shè)置頁面上,選中選中Use this clock選項,設(shè)置時鐘頻率為選項,設(shè)置時鐘頻率為85MHz,點(diǎn)擊,點(diǎn)擊Next;v在在MegaWizard Plug-In Manager-ALTPLL Page 8 of 10窗口中,不選中窗口中,不選

57、中Use this clock選項,即我們不使用選項,即我們不使用c2時鐘,點(diǎn)擊時鐘,點(diǎn)擊Next;v在在MegaWizard Plug-In Manager-ALTPLL Page 9 of 10窗口中,給出了用于仿真必窗口中,給出了用于仿真必須要產(chǎn)生的文件,點(diǎn)擊須要產(chǎn)生的文件,點(diǎn)擊Next;v在在MegaWizard Plug-In Manager-ALTPLL Page 10 of 10窗口中,給出了用戶選擇窗口中,給出了用戶選擇要產(chǎn)生的文件,不做改變,采用默認(rèn)配置,要產(chǎn)生的文件,不做改變,采用默認(rèn)配置,點(diǎn)擊點(diǎn)擊Finish完成完成PLL的生成。的生成。v在頂層實(shí)體的在頂層實(shí)體的bdf窗

58、口中雙擊鼠標(biāo),出現(xiàn)窗口中雙擊鼠標(biāo),出現(xiàn)Symbol添加窗口,在添加窗口,在project下面選擇剛才下面選擇剛才建立的建立的ssram_pll,點(diǎn)擊,點(diǎn)擊OK。ssram_pll的的輪廓會附著在鼠標(biāo)上,點(diǎn)擊輪廓會附著在鼠標(biāo)上,點(diǎn)擊bdf窗口的空白窗口的空白處,將嵌入式鎖相環(huán)加入到了工程中。處,將嵌入式鎖相環(huán)加入到了工程中。v引腳添加的步驟如下:引腳添加的步驟如下:v(1)在頂層實(shí)體的)在頂層實(shí)體的bdf窗口的空白處雙擊鼠標(biāo),出窗口的空白處雙擊鼠標(biāo),出現(xiàn)現(xiàn)Symbol添加窗口,在添加窗口,在alteraquartuslibraries下面選擇下面選擇primitives,再在其下選擇,再在其下選

59、擇pin,在其中有三種類型的引腳,有在其中有三種類型的引腳,有bidir,input,output,分別為雙向、輸入和輸出引腳,選擇相應(yīng),分別為雙向、輸入和輸出引腳,選擇相應(yīng)類型的引腳,點(diǎn)擊類型的引腳,點(diǎn)擊OK。v(2)點(diǎn)擊)點(diǎn)擊bdf窗口的空白處,即將引腳加入到了工窗口的空白處,即將引腳加入到了工程中。程中。v(3)重復(fù)上面的步驟添加為各個端口添加相應(yīng)類)重復(fù)上面的步驟添加為各個端口添加相應(yīng)類型的引腳。型的引腳。v連接引腳和命名引腳連接引腳和命名引腳v第一個加入的引腳的名稱缺省為第一個加入的引腳的名稱缺省為pin_name,之后,之后加入的引腳名稱依次為加入的引腳名稱依次為pin_name1

60、,pin_name2向向上遞增,為了便于理解和記憶,需要對引腳重新命上遞增,為了便于理解和記憶,需要對引腳重新命名,使其和其傳輸?shù)男盘柭?lián)系起來。名,使其和其傳輸?shù)男盘柭?lián)系起來。v命名引腳的方法如下:命名引腳的方法如下:(1) 雙擊引腳的雙擊引腳的“pin_namen”部分,部分,pin_namen的文字變成高亮,可以對其編輯。的文字變成高亮,可以對其編輯。v(2) 對其他的引腳重復(fù)以上的操作,修改成具有對其他的引腳重復(fù)以上的操作,修改成具有意義的名字。意義的名字。v(3) 對于總線型的引腳,引腳名稱之后要標(biāo)識出對于總線型的引腳,引腳名稱之后要標(biāo)識出總線的位數(shù),如總線的位數(shù),如ddr_a12.0,在引腳名稱之后加,在引腳名稱之后加上方括號,然后寫上最高位和最低位,用兩個上方括號,然后寫上最高位和最低位,用兩個.隔隔開。開。

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論