《硬件描述語言與FPGA設計技術》課件第6章 宏功能模塊與IP應用_第1頁
《硬件描述語言與FPGA設計技術》課件第6章 宏功能模塊與IP應用_第2頁
《硬件描述語言與FPGA設計技術》課件第6章 宏功能模塊與IP應用_第3頁
《硬件描述語言與FPGA設計技術》課件第6章 宏功能模塊與IP應用_第4頁
《硬件描述語言與FPGA設計技術》課件第6章 宏功能模塊與IP應用_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第6章宏功能模塊與IP應用LPM是LibraryofParameterizedModules(參數(shù)可設置模塊庫)的縮寫,Altera提供的可參數(shù)化宏功能模塊和LPM函數(shù)均基于Altera器件的結(jié)構(gòu)做了優(yōu)化設計。在許多實際情況中,必須利用宏功能模塊才可以使用一些Altera特定器件的硬件功能。例如各類片上存儲器、DSP模塊、LVDS驅(qū)動器、嵌入式PLL以及SERDES和DDIO電路模塊等。這些可以以圖形或硬件描述語言模塊形式方便調(diào)用的宏功能塊,使得基于EDA技術的電子設計的效率和可靠性有了很大的提高。6.1LPM存儲器設計接下頁6.1.1ROM模塊設計1建立初始化數(shù)據(jù)文件初始化數(shù)據(jù)文件即寫入ROM中的波形數(shù)據(jù)文件。QuartusII能接受的LPM_ROM模塊中的初始化數(shù)據(jù)文件的格式有兩種:MemoryInitializationFile(.mif)格式Hexadecimal(Intel-Format)File(.hex)格式。實際應用中只要使用其中一種格式的文件即可。

(1)建立.mif格式文件QuartusIImif文件編輯器mif文件2.LPM_ROM設計LPM_ROM設計首先利用MegaWizardPlug-InManager定制正弦信號數(shù)據(jù)ROM宏功能塊,并將以上的波形數(shù)據(jù)加載于此ROM中。設計步驟如下:(1)打開MegaWizardPlug-InManager初始對話框。(2)選擇ROM控制線、地址線和數(shù)據(jù)線。(3)選擇指定路徑上的文件sin2.mif。在圖6-8的“Doyouwantto...”

欄選擇“Yes,usethisfileforthememorycontentdata”

項,并按Browse鈕,選擇指定路徑上的文件sin2.mif。設計完成的LPM_ROM模塊6.1.2RAM模塊設計選擇LPM_RAM宏功能塊并指定存放路徑和文件名RAM模塊的仿真波形6.1.3FIFO(先進先出存儲器)模塊設計首先新建目錄,然后編輯FIFO模塊定制完成后,直接測試可進行以下操作退出定制界面,file-->new,調(diào)入定制的文本文件(VHDL)-->saveas(這樣可方便生成工程)-->產(chǎn)生工程,以下過程與新建project相同F(xiàn)IFO模塊的仿真波形6.2DSP模塊構(gòu)建乘法器乘法器仿真波形6.3正弦信號發(fā)生器設計作為LPM_ROM的應用實例,利用前面設計完成的LPM_ROM構(gòu)成一個正弦信號發(fā)生器。正弦信號發(fā)生器的結(jié)構(gòu)由四個部分組成:(1)計數(shù)器或地址發(fā)生器(這里選擇7位)。(2)正弦信號數(shù)據(jù)ROM(7位地址線,8位數(shù)據(jù)線),含有128個8位數(shù)據(jù)(一個正弦周期)。(3)電路頂層設計模塊。(4)8位D/A(硬件系統(tǒng)中可用DAC0832模數(shù)轉(zhuǎn)換器件)。正弦信號發(fā)生器結(jié)構(gòu)圖正弦信號發(fā)生器頂層模塊電路模塊仿真波形6.3.2使用嵌入式邏輯分析儀測試數(shù)據(jù)波形用嵌入式邏輯分析儀SignalTapII對FPGA內(nèi)部信號進行分析測試。這里SignalTapII的參數(shù)設置為:采樣深度是4K;采用時鐘是信號源的時鐘CLK;觸發(fā)信號是計數(shù)時鐘使能信號CLK_EN,觸發(fā)模式是E=1上升沿觸發(fā)采樣。SignalTapII實時測試輸出數(shù)據(jù)SignalTapII測試正弦信號發(fā)生器波形6.4在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應用利用QuartusII的在系統(tǒng)(In-System)讀寫編輯器,對于CycloneII/III等系列的FPGA,只要對使用的LPM_ROM或LPM_RAM模塊適當設置,就能直接通過JTAG口讀取或改寫FPGA內(nèi)處于工作狀態(tài)的存儲器中的數(shù)據(jù),讀取過程不影響FPGA的正常工作。6.4.1打開在系統(tǒng)存儲單元編輯窗口6.4.2讀取ROM中的波形數(shù)據(jù)

從FPGA中ROM讀取的波形數(shù)據(jù)6.4.3ROM寫入數(shù)據(jù)ROM數(shù)據(jù)修改后SignalTapII的釆樣波形6.5IP核NCO數(shù)控振蕩器設計基于QuartusII和DSPBuilder的MegaCore有多種,如FIR數(shù)字濾波器、FFT離散信號快速傅里葉變換器、NCO數(shù)控振蕩器(可作為實現(xiàn)DSP、數(shù)字調(diào)制解調(diào)器、FSK的重要部件),PCI總線核、CSC色彩格式變換器核(用于電視與VGA色彩編碼方式相互變換)、Viterbi譯碼器(最大相似譯碼器,用于對卷積碼的解碼)IP核等。下面以數(shù)控振蕩器NCO(NumericallyControlledOscillators)核的設置使用為例,介紹利用QuartusII使用IP核的方法。IP核NCO選擇界面IP核NCO選擇界面NCO參數(shù)設置窗NCOImplementation參數(shù)設置窗6.5.4生成仿真文件6.5.5加入IP授權文件加入NCO授權文件和QuartusII授權文件。這里設授權文件位置路徑:C:\altera\90\license.DAT。有了授權文件,在Option對話框的LicensedAMPP/MegaCorefunctions欄中可以看到FIR、PCI、NCO等IP的授權碼,這樣就可以編譯出能夠?qū)慒lash的SOF文件。也可以先轉(zhuǎn)變?yōu)殚g接配置編程文件寫入EPCSFlash。6.5.6編譯與功能檢測

NCO32模塊的測試電路嵌入式邏輯分析儀測試波形6.6LPM嵌入式鎖相環(huán)設計

Altera的FPGA器件CycloneII/III/IV及StraixII/III/IV等系列中含有高性能的嵌入式模擬鎖相環(huán),其性能遠優(yōu)于普通數(shù)字鎖相環(huán)。這些鎖相環(huán)PLL可以與一輸入的時鐘信號同步,并以其作為參考信號實現(xiàn)鎖相,從而輸出一至多個同步倍頻或分頻的片內(nèi)時鐘,以供邏輯系統(tǒng)應用。與直接來自外部的時鐘相比,這種片內(nèi)時鐘可以減少時鐘延時和時鐘變形,減少片外干擾;還可以改善時鐘的建立時間和保持時間,是系統(tǒng)穩(wěn)定工作的保證。6.6.1建立嵌入式鎖相環(huán)元件設置鎖相環(huán)輸入?yún)⒖紩r鐘inclk0為20MHz選擇控制信號選擇輸出頻率c0為0.00258MHz嵌入式鎖相環(huán)時鐘正弦信號發(fā)生器電路6.6.2鎖相環(huán)仿真測試和硬件特性

鎖相環(huán)仿真波形部分Cyclone系列FPGA的下限至上限的頻率范圍:Cyclone系列FPGA的PLL:20MHz至270MHz;CycloneII系列FPGA的PLL:10MHz至400MHz;CycloneIII系列FPGA的PLL:2KHz至1300MHz;CycloneIV系列FPGA的PLL:2KHz至1000MHz。其中從CycloneIII系列FPGA起,嵌入式PLL的輸出頻域大幅度擴展,為高質(zhì)量的數(shù)字系統(tǒng)設計提供了很好的支持。6.78051單片機IP軟核應用已經(jīng)廣為熟悉的89C51或與其兼容的單片機基本配置有ROM和RAM。在FPGA中,調(diào)用8051軟核并接上ROM和RAM后就成為一個完整的51單片機,本節(jié)以此為例介紹8051軟核在FPGA中的設計與使用方法?;?051CPU核應用電路LPM_RAM參數(shù)設置LPM_ROM設置單片機雙向端口電路設置FPGA的總線口輸出為上拉LPM_ROM初始化文件路徑6.8LPM模塊的文本調(diào)用

參數(shù)設置好的LPM宏功能模塊可以在圖形方式中調(diào)用,也可以采用文本方式調(diào)用,這就是宏功能模塊進行例化。6.8.1在QuartusII中對宏功能模塊進行例化對宏功能模塊例化的途徑有多種,如可以在BlockEditor中直接例化;在HDL代碼中例化(通過端口和參數(shù)定義例化,或使用MegaWizardPlug-InManager對宏功能模塊進行參數(shù)化并建立包裝文件),也可以通過界面,在QuartusII中對Altera宏功能模塊和LPM函數(shù)進行例化。6.8.2LPM模塊的VHDL文本方式調(diào)用可以使用MegaWizardPlug-InManager建立宏功能模塊或自定義宏功能模塊變量。再利用MegaWizardPlug-InManager建立包含宏功能模塊實例的VerilogHDL或VHDL包裝文件,然后,可以在設計中使用此文件。對于VHDL宏功能模塊,MegaWizardPlug-Inanager還建立組件申明文件??梢蕴峁┦褂枚丝诤蛥?shù)定義,采用或調(diào)用任何其他模塊或組件相類似方法調(diào)用函數(shù),直接在VerilogHDL或VHDL設計中對宏功能模塊進行例化。在VHDL中,還需要使用組件申明。在VHDL中例化方法如下:1.打開LPM模塊文本并測試定制好LPM模塊后應將其設置成工程進行仿真測試,以確保其功能的可靠,并熟悉該元件的時序情況。對于LPM_ROM應當通過仿真了解數(shù)據(jù)文件是否己被加載進去?!纠?-2】正弦波形數(shù)據(jù)ROM文件LIBRARYieee;USEieee.std_logic_1164.all;LIBRARYaltera_mf;USEaltera_mf.altera_mf_components.all;--使用宏功能庫中的所有元件ENTITYsin2_romIS PORT(address:INSTD_LOGIC_VECTOR(5DOWNTO0); inclock:INSTD_LOGIC; q :OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDsin2_rom;ARCHITECTURESYNOFsin2_romIS SIGNALsub_wire0 :STD_LOGIC_VECTOR(7DOWNTO0); COMPONENTaltsyncram--例化altsyncram元件,調(diào)用了LPM模塊altsyncram GENERIC(--參數(shù)傳遞語句

intended_device_family :STRING;--類屬參量數(shù)據(jù)類型定義

width_a :NATURAL;widthad_a :NATURAL; numwords_a :NATURAL;operation_mode :STRING; outdata_reg_a :STRING;address_aclr_a :STRING;outdata_aclr_a :STRING; width_byteena_a :NATURAL; init_file :STRING; lpm_hint :STRING; lpm_type :STRING ); PORT( clock0 :INSTD_LOGIC;--altsyncram元件接口聲明

address_a :INSTD_LOGIC_VECTOR(5DOWNTO0); q_a :OUTSTD_LOGIC_VECTOR(7DOWNTO0)); ENDCOMPONENT;BEGIN q<=sub_wire0(7DOWNTO0); altsyncram_component:altsyncram GENERICMAP(intended_device_family=>"Cyclone",--參數(shù)傳遞映射

width_a=>8,--數(shù)據(jù)線寬度8 widthad_a=>6,--地址線寬度6 numwords_a=>64,--數(shù)據(jù)數(shù)量64 operation_mode=>"ROM",--LPM模式ROM outdata_reg_a=>"UNREGISTERED",--輸出無鎖存

address_aclr_a=>"NONE",--無異步地址清0 outdata_aclr_a=>"NONE",--無輸出鎖存異步清0 width_byteena_a=>1,--byteena_a輸入口寬度1 init_file=>"../wave_edit/SIN2.mif",--ROM初始化數(shù)據(jù)文件lpm_hint=>"ENABLE_RUNTIME_MOD=YES,INSTANCE_NAME=NONE", lpm_type=>"altsyncram")--LPM類型

PORTMAP(clock0=>inclock,address_a=>address,q_a=>sub_wire0);ENDSYN;2.編寫VHDL頂層設計文件并仿真LIBRARYIEEE;--正弦信號發(fā)生器源文件USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSIN_LPM_ROMISPORT(CLK:

溫馨提示

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

評論

0/150

提交評論