




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、通信工程專業(yè)實(shí)驗(yàn)實(shí)踐課程參考系列之二(可做實(shí)驗(yàn)指導(dǎo)書或課外自學(xué)參考)基于Quartus II 的FPGA/CPLD開發(fā)實(shí)訓(xùn)手冊(cè)(未經(jīng)同意不得上網(wǎng)傳播)通信工程系唐庭龍 夏平2010-3目 錄1 Quartus II軟件的安裝52 Quartus II軟件的使用、開發(fā)板的使用52.1 原理圖方式設(shè)計(jì)3-8譯碼器52.2 VHDL編程方式設(shè)計(jì)2FSK調(diào)制器242.3 原理圖結(jié)合VHDL編程方式設(shè)計(jì)流水燈433基于QuartusII的FPGA/CPLD數(shù)字系統(tǒng)設(shè)計(jì)實(shí)例623.1 數(shù)碼管靜態(tài)、動(dòng)態(tài)顯示設(shè)計(jì)(2學(xué)時(shí))623.2 液晶接口(LCD1602/LCD12864)控制設(shè)計(jì)(4學(xué)時(shí))633.3 矩
2、陣鍵盤顯示電路設(shè)計(jì)(2學(xué)時(shí))643.4 PS2協(xié)議及PS2鍵盤/鼠標(biāo)控制設(shè)計(jì)(2學(xué)時(shí))653.5 VGA接口控制設(shè)計(jì)(6學(xué)時(shí))663.6 數(shù)字頻率計(jì)設(shè)計(jì)(4學(xué)時(shí))673.7 數(shù)字鐘設(shè)計(jì)(4學(xué)時(shí))683.8 搶答器/表決器設(shè)計(jì)(2學(xué)時(shí))693.9 出租車計(jì)費(fèi)器設(shè)計(jì)(4學(xué)時(shí))703.10 電梯控制器設(shè)計(jì)(2學(xué)時(shí))713.11 交通燈控制電路設(shè)計(jì)(2學(xué)時(shí))723.12 籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)(8學(xué)時(shí))733.13 DDS正弦信號(hào)發(fā)生器設(shè)計(jì)(8學(xué)時(shí))743.14 MP3播放器設(shè)計(jì)(8學(xué)時(shí))754 數(shù)字電路設(shè)計(jì)基礎(chǔ)100實(shí)例(VHLD語(yǔ)言)第1例 帶控制端口的加法器第2例 無控制端口的加法器第3例 乘法器第
3、4例 比較器第5例 二路選擇器第6例 寄存器第7例 移位寄存器第8例 綜合單元庫(kù)第9例 七值邏輯與基本數(shù)據(jù)類型第10例 函數(shù)第11例 七值邏輯線或分辨函數(shù)第12例 轉(zhuǎn)換函數(shù)第13例 左移函數(shù)第14例 七值邏輯程序包第15例 四輸入多路器第16例 目標(biāo)選擇器第17例 奇偶校驗(yàn)器第18例 映射單元庫(kù)及其使用舉第19例 循環(huán)邊界常數(shù)化測(cè)試第20例 保護(hù)保留字第21例 進(jìn)程死鎖第22例 振蕩與死鎖第23例 振蕩電路第24例 分辨信號(hào)與分辨函數(shù)第25例 信號(hào)驅(qū)動(dòng)源第26例 屬性TRANSACTION和分辨信號(hào)第27例 塊保護(hù)及屬性EVENT,第28例 形式參數(shù)屬性的測(cè)試第29例 進(jìn)程和并發(fā)語(yǔ)句第30例
4、信號(hào)發(fā)送與接收第31例 中斷處理優(yōu)先機(jī)制建模第32例 過程限定第33例 整數(shù)比較器及其測(cè)試第34例 數(shù)據(jù)總線的讀寫第35例 基于總線的數(shù)據(jù)通道第36例 基于多路器的數(shù)據(jù)通道第37例 四值邏輯函數(shù)第38例 四值邏輯向量按位或運(yùn)算第39例 生成語(yǔ)句描述規(guī)則結(jié)構(gòu)第40例 帶類屬的譯碼器描述第41例 帶類屬的測(cè)試平臺(tái)第42例 行為與結(jié)構(gòu)的混合描述第43例 四位移位寄存器第44例 寄存計(jì)數(shù)器第45例 順序過程調(diào)用第46例 VHDL中g(shù)eneric缺省值的使用第47例 無輸入元件的模擬第48例 測(cè)試激勵(lì)向量的編寫第49例 delta延遲例釋第50例 慣性延遲分析第51例 傳輸延遲驅(qū)動(dòng)優(yōu)先第52例 多倍(次
5、)分頻器第53例 三位計(jì)數(shù)器與測(cè)試平臺(tái)第54例 分秒計(jì)數(shù)顯示器的行為描述6第55例 地址計(jì)數(shù)器第56例 指令預(yù)讀計(jì)數(shù)器第57例 加.c減.c乘指令的譯碼和操作第58例 24譯碼器結(jié)構(gòu)描述第59例 24譯碼器行為描述第60例 轉(zhuǎn)換函數(shù)在元件例示中的應(yīng)用第61例 基于同一基類型的兩分辨類型的賦值相容問題第62例 最大公約數(shù)的計(jì)算第63例 最大公約數(shù)七段顯示器編碼第64例 交通燈控制器第65例 空調(diào)系統(tǒng)有限狀態(tài)自動(dòng)機(jī)第66例 FIR濾波器第67例 五階橢圓濾波器第68例 鬧鐘系統(tǒng)的控制第69例 鬧鐘系統(tǒng)的譯碼第70例 鬧鐘系統(tǒng)的移位寄存器第71例 鬧鐘系統(tǒng)的鬧鐘寄存器和時(shí)間計(jì)數(shù)器第72例 鬧鐘系統(tǒng)的
6、顯示驅(qū)動(dòng)器第73例 鬧鐘系統(tǒng)的分頻器第74例 鬧鐘系統(tǒng)的整體組裝第75例 存儲(chǔ)器第76例 電機(jī)轉(zhuǎn)速控制器第77例 神經(jīng)元計(jì)算機(jī)第78例ccAm2901四位微處理器的ALU輸入第79例ccAm2901四位微處理器的ALU第80例ccAm2901四位微處理器的RAM第81例ccAm2901四位微處理器的寄存器第82例ccAm2901四位微處理器的輸出與移位第83例ccAm2910四位微程序控制器中的多路選擇器第84例ccAm2910四位微程序控制器中的計(jì)數(shù)器寄存器第85例ccAm2910四位微程序控制器的指令計(jì)數(shù)器第86例ccAm2910四位微程序控制器的堆棧第87例 Am2910四位微程序控制器
7、的指令譯碼器第88例 可控制計(jì)數(shù)器第89例 四位超前進(jìn)位加法器第90例 實(shí)現(xiàn)窗口搜索算法的并行系統(tǒng)(1)協(xié)同處理器第91例 實(shí)現(xiàn)窗口搜索算法的并行系統(tǒng)(2)序列存儲(chǔ)器第92例 實(shí)現(xiàn)窗口搜索算法的并行系統(tǒng)(3)字符串存儲(chǔ)器第93例 實(shí)現(xiàn)窗口搜索算法的并行系統(tǒng)(4)頂層控制器第94例 MB86901流水線行為描述組成框架第95例 MB86901寄存器文件管理的描述第96例 MB86901內(nèi)ALU的行為描述第97例 移位指令的行為描述第98例 單周期指令的描述第99例 多周期指令的描述第100例 MB86901流水線行為模型1 Quartus II軟件的安裝2 Quartus II軟件的使用、開發(fā)板
8、的使用本章將通過3個(gè)完整的例子,一步一步的手把手的方式完成設(shè)計(jì)。完成這3個(gè)設(shè)計(jì),并得到正確的結(jié)果,將會(huì)快速、有效的掌握在Altera QuartusII軟件環(huán)境下進(jìn)行FPGA設(shè)計(jì)與開發(fā)的方法、流程,并熟悉開發(fā)板的使用。2.1 原理圖方式設(shè)計(jì)3-8譯碼器一、設(shè)計(jì)目的1、通過設(shè)計(jì)一個(gè)3-8譯碼器,掌握祝組合邏輯電路設(shè)計(jì)的方法。2、初步了解QuartusII采用原理圖方式進(jìn)行設(shè)計(jì)的流程。3、初步掌握FPGA開發(fā)的流程以及基本的設(shè)計(jì)方法、基本的仿真分析方法。二、設(shè)計(jì)原理三、設(shè)計(jì)內(nèi)容四、設(shè)計(jì)步驟1、建立工程文件1)雙擊桌面上的Quartus II的圖標(biāo)運(yùn)行此軟件。開始界面 2)選擇File下拉菜單中的N
9、ew Project Wizard,新建一個(gè)工程。如圖所示。新建工程向?qū)?3)點(diǎn)擊圖中的next進(jìn)入工作目錄。新建工程對(duì)話框 4)第一個(gè)輸入框?yàn)楣こ棠夸涊斎肟?,用來指定工程存放路徑,建議可根據(jù)自己需要更改路徑,若直接使用默認(rèn)路徑,可能造成默認(rèn)目錄下存放多個(gè)工程文件影響自己的設(shè)計(jì),本步驟結(jié)束后系統(tǒng)會(huì)有提示(當(dāng)然你可不必理會(huì),不會(huì)出現(xiàn)錯(cuò)誤的)。第二個(gè)輸入框?yàn)楣こ堂Q輸入框。第三個(gè)輸入框?yàn)轫攲訉?shí)體名稱輸入框,一般情況下保證工程名稱與頂層實(shí)體名稱相同。設(shè)定完成后點(diǎn)擊next。指定工程路徑、名稱 5)設(shè)計(jì)中需要包含的其它設(shè)計(jì)文件,在此對(duì)話框中不做任何修改,直接點(diǎn)擊next。工程所需其它文件對(duì)話框 6)在
10、彈出的對(duì)話框中進(jìn)行器件的選擇。在Device Family框中選用Cyclone II,然后在Available device框中選擇EP2C35F484C8,點(diǎn)擊next進(jìn)入下一步。器件選擇界面 7)下面的對(duì)話框提示可以勾選其它的第三方EDA設(shè)計(jì)、仿真的工具,暫時(shí)不作任何選擇,在對(duì)話框中按默認(rèn)選項(xiàng),點(diǎn)擊next。第三方EDA工具選擇 8)出現(xiàn)新建工程以前所有的設(shè)定信息后,點(diǎn)擊finish完成新建工程的建立。工程信息2、建立圖形設(shè)計(jì)文件1)在創(chuàng)建好設(shè)計(jì)工程后,選擇File下拉菜單中New菜單。工程下新建設(shè)計(jì)文件 2)在New對(duì)話框中選擇Device Design Files頁(yè)下的Block D
11、iagram/Schematic File,點(diǎn)擊OK,出現(xiàn)原理圖編輯窗口。建立Block Diagram/Schematic File原理圖編輯界面圖形編輯器 3)在圖形編輯器窗口的工作區(qū)雙擊鼠標(biāo)左鍵,或點(diǎn)擊圖中的符號(hào)工具按鈕,用鼠標(biāo)點(diǎn)擊單元庫(kù)前面的“+”號(hào),展開元件庫(kù),選擇所需要的元器件,點(diǎn)擊OK按鈕,所選的符號(hào)將顯現(xiàn)在圖形編輯器的工作區(qū)域。元件庫(kù)對(duì)話框選擇所需的元件用庫(kù)元件按原理圖完成設(shè)計(jì)設(shè)計(jì)好的原理圖頂層文件 4)完成圖形編輯的輸入后,需要保存設(shè)計(jì)文件,該原理圖文件作為本設(shè)計(jì)的頂層文件,注意頂層文件的名稱要與工程名一致。保存頂層文件3、 對(duì)設(shè)計(jì)文件進(jìn)行編譯點(diǎn)擊菜單欄中的Start com
12、piler按鈕進(jìn)行設(shè)計(jì)文件的全編譯。如果文件有錯(cuò),在軟件的下方會(huì)提示錯(cuò)誤的原因和位置。整個(gè)編譯完成,軟件會(huì)提示編譯成功。編譯4、 對(duì)設(shè)計(jì)文件進(jìn)行仿真1)創(chuàng)建一個(gè)波形文件,在File下拉菜單中選擇New,選取對(duì)話框的Other File標(biāo)簽下的VectorWaveform File,點(diǎn)擊OK,打開一個(gè)空的波形編輯器窗口。建立一個(gè)仿真波形文件波形文件設(shè)置界面 2)加入輸入、輸出端口,在波形編輯器窗口的左邊端口名列表區(qū)雙擊,在彈出的菜單中選擇Node Finder按鈕。Insert Node or Bus對(duì)話框 3)出現(xiàn)Node Finder界面后,在Filer列表中選擇Pins:all,點(diǎn)擊Lis
13、t,在Node Finder窗口出現(xiàn)所有的信號(hào)名稱,點(diǎn)擊中間的“”按鈕則Selected Nodes窗口下方出現(xiàn)被選擇的端口名稱,點(diǎn)擊OK。Node Finder對(duì)話框Node or Bus 其他設(shè)置(暫不設(shè)置時(shí)點(diǎn)擊OK)波形編輯器中已加入的端口5)制定輸入端口的邏輯電平變化,最后保存該仿真波形文件,文件名與工程名相同。波形編輯器工具欄編輯輸入端口波形保存波形文件6)進(jìn)行仿真設(shè)置。在軟件中選擇Assignments 下拉菜單下的setting命令,打開仿真器設(shè)置窗口。設(shè)置菜單選擇Simulator Settings頁(yè)面下的simulator mode下的Funtional,即做功能仿真,(也可
14、選擇simulator mode下的Timing,即做時(shí)序仿真,則下面的產(chǎn)生功能仿真網(wǎng)表文件可以跳過,直接Start simulation)然后點(diǎn)擊OK即可。仿真設(shè)置功能仿真(or時(shí)序仿真)設(shè)置然后產(chǎn)生功能仿真網(wǎng)表文件,選擇Processing下拉菜單下Generate Function Simulation,產(chǎn)生功能仿真網(wǎng)表;產(chǎn)生功能仿真網(wǎng)表(功能仿真必做,時(shí)序仿真不需要該步)點(diǎn)擊開始仿真的START按鈕開始進(jìn)行仿真:運(yùn)行仿真后的仿真結(jié)果5 引腳分配6 完整工程的編譯7 下載到目標(biāo)器件1)下載設(shè)置2)下載 五、實(shí)驗(yàn)現(xiàn)象2.2 VHDL編程方式設(shè)計(jì)2FSK調(diào)制器一、實(shí)驗(yàn)?zāi)康?、通過設(shè)計(jì)一個(gè)2F
15、SK調(diào)制器,初步了解QuartusII采用VHDL編程方式進(jìn)行設(shè)計(jì)的流程。2、進(jìn)一步熟悉FPGA開發(fā)的流程以及基本的設(shè)計(jì)方法、基本的仿真分析方法。二、實(shí)驗(yàn)原理三、實(shí)驗(yàn)內(nèi)容四、實(shí)驗(yàn)步驟1、建立工程1)雙擊Quartus軟件圖標(biāo),進(jìn)入編輯環(huán)境。點(diǎn)擊File,在下拉菜單中選擇New Project Wizard,彈出如下所示的對(duì)話框。新建工程2) 點(diǎn)擊下面的Next 按鈕,彈出下圖所示的對(duì)話框,此對(duì)話框用來對(duì)新建的工程選擇保存的路徑和工程名。以PL_FSK的調(diào)制與解調(diào)為例,第一個(gè)空白處為保存的地方,第二個(gè)為新建的工程名,第三個(gè)必須要與實(shí)體名一致,即輸入PL_FSK。工程路徑、文件名3)點(diǎn)擊next出
16、現(xiàn)下面所示對(duì)話框,用來添加其他的工程文件,一般情況下不需要選擇,直接點(diǎn)擊next.添加其他的工程文件4)點(diǎn)擊next出現(xiàn)下面所示對(duì)話框,該對(duì)話框用來選擇元件庫(kù)及所使用的元件。Family 選擇CycloneII,Pin count 選擇484,元件選擇EP2C35U484C8。(一般根據(jù)實(shí)際設(shè)計(jì)選擇)選擇器件5)點(diǎn)擊Next ,出現(xiàn)下圖所示對(duì)話框。第三方EDA工具選擇上圖對(duì)話框?yàn)槟J(rèn)值,不用選擇,直接點(diǎn)擊Next,出現(xiàn)下圖所示對(duì)話框。工程信息在上圖中點(diǎn)擊Finish,即完成了新的工程的創(chuàng)建。2、VHDL程序編輯)點(diǎn)擊File下的New彈出下面所示的對(duì)話框,選擇VHDL File,點(diǎn)擊OK,出現(xiàn)
17、新的對(duì)話框,在程序編輯窗口中寫入程序。建立VHDL文件VHDL程序編輯窗口2)以FSK調(diào)制與解調(diào)VHDL程序及仿真為例,在程序編輯窗口中寫入下面的程序。library ieee; -2FSK調(diào)制VHDL程序:use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity PL_FSK isport(clk :in std_logic; -系統(tǒng)時(shí)鐘 start :in std_logic; -開始調(diào)制信號(hào) x :in std_logic; -基帶信號(hào) y :out st
18、d_logic); -調(diào)制信號(hào)end PL_FSK;architecture behav of PL_FSK issignal q1:integer range 0 to 11; -載波信號(hào)f1的分頻計(jì)數(shù)器signal q2:integer range 0 to 3; -載波信號(hào)f2的分頻計(jì)數(shù)器signal f1,f2:std_logic; -載波信號(hào)f1,f2beginprocess(clk) -此進(jìn)程通過對(duì)系統(tǒng)時(shí)鐘clk的分頻,得到載波f1beginif clk'event and clk='1' then if start='0' then q1&
19、lt;=0; elsif q1<=5 then f1<='1'q1<=q1+1; -改變q1后面的數(shù)字可以改變,載波f1的占空比 elsif q1=11 then f1<='0'q1<=0; -改變q1后面的數(shù)字可以改變,載波f1的頻率 else f1<='0'q1<=q1+1; end if;end if;end process;process(clk) -此進(jìn)程通過對(duì)系統(tǒng)時(shí)鐘clk的分頻,得到載波f2beginif clk'event and clk='1' then if s
20、tart='0' then q2<=0; elsif q2<=0 then f2<='1'q2<=q2+1; -改變q2后面的數(shù)字可以改變,載波f2的占空比 elsif q2=1 then f2<='0'q2<=0; -改變q2后面的數(shù)字可以改變,載波f2的頻率 else f2<='0'q2<=q2+1; end if;end if;end process;process(clk,x) -此進(jìn)程完成對(duì)基帶信號(hào)的FSK調(diào)制beginif clk'event and clk=
21、39;1' then if x='0' then y<=f1; -當(dāng)輸入的基帶信號(hào)x=0時(shí),輸出的調(diào)制信號(hào)y為f1 else y<=f2; -當(dāng)輸入的基帶信號(hào)x=1時(shí),輸出的調(diào)制信號(hào)y為f2 end if;end if;end process;end behav;VHDL程序編輯VHDL編程完畢,保存為PL_FSK.VHD3、編譯VHDL編程完畢,保存后,進(jìn)行編譯,編譯方法是:?jiǎn)螕艄δ馨粹o區(qū)的紅色三角形,若編譯未成功,則需對(duì)相應(yīng)地方進(jìn)行修改;若編譯成功,則出現(xiàn)下圖所示提示,然后點(diǎn)擊確定(有時(shí)會(huì)出現(xiàn)警告,但一般對(duì)操作不會(huì)產(chǎn)生影響,特殊情況下需要修改,以解除警告
22、)。編譯雖然成功,只說明程序未出現(xiàn)錯(cuò)誤,并不能說明改程序會(huì)實(shí)現(xiàn)所需的功能,所以還要進(jìn)行仿真,來判斷該程序能實(shí)現(xiàn)所需的邏輯功能。編譯完成4、仿真1)建立仿真波形文件:FilenewVerification/Debugging Files選項(xiàng),點(diǎn)擊選擇Vector Waveform File,點(diǎn)擊OK。建立仿真波形文件2) 點(diǎn)擊OK后,則出現(xiàn)下面所示的仿真圖。需要設(shè)置的仿真波形文件3).雙擊空白處,則會(huì)出現(xiàn)新的對(duì)話框,該對(duì)話框用來對(duì)端口進(jìn)行設(shè)置。Insert Node or Bus 4)在上圖中點(diǎn)擊Node finder(其他均為默認(rèn)值,不用選擇)會(huì)彈出如下窗口。Node Finder 對(duì)話框5)
23、在上圖所示的窗口中Filter選擇Pins all,點(diǎn)擊List,就會(huì)有原程序中有關(guān)的輸入輸出節(jié)點(diǎn),將這些節(jié)點(diǎn)選中,點(diǎn)擊按鈕。如圖所示。引入所有端口然后點(diǎn)擊OK,如下圖所示。Node or Bus 其他設(shè)置(暫不設(shè)置時(shí)點(diǎn)擊OK)點(diǎn)擊ok,出現(xiàn)如下仿真圖輸入端口待定的波形文件6) 下面需要對(duì)輸入信號(hào)賦予一定的值,利用波形編輯器工具對(duì)輸入信號(hào)賦值:波形編輯器工具欄首先是時(shí)鐘信號(hào),點(diǎn)擊clk所在的信號(hào),然后點(diǎn)擊工具欄中類似始終的快捷選項(xiàng),則完成了對(duì)時(shí)鐘的設(shè)置,用同樣的方法對(duì)其他輸入信號(hào)進(jìn)行設(shè)置,(輸入信號(hào)的圖標(biāo)帶有i),各個(gè)信號(hào)設(shè)置完后,如下圖;設(shè)置好的仿真文件7)點(diǎn)擊Assignments,在下拉
24、菜單中點(diǎn)擊Settings,在新彈出的對(duì)話框中選擇Simulator Settings,同時(shí)在該對(duì)話框中會(huì)出現(xiàn)相應(yīng)的選項(xiàng),要做功能仿真,故在Simulator mode 中選擇Functional即功能仿真,點(diǎn)擊OK,,設(shè)置完點(diǎn)擊保存。仿真設(shè)置 在功能仿真之前,要生成一個(gè)網(wǎng)絡(luò)表,具體方法如下:點(diǎn)擊Processing,在下拉菜單中選擇Generate Functional Simulation Net list 生成功能仿真網(wǎng)絡(luò)表下圖為網(wǎng)絡(luò)仿真表成功生成時(shí)的報(bào)告:功能仿真網(wǎng)絡(luò)表報(bào)告8)下一步進(jìn)行功能仿真,點(diǎn)擊仿真按鈕(藍(lán)色三角形),則會(huì)報(bào)告仿真成功,下圖為報(bào)告圖。仿真完成在上圖中點(diǎn)擊確定,即可
25、看到對(duì)所寫的程序邏輯上驗(yàn)證的波形圖。仿真結(jié)果9)分析如下:當(dāng)Start為高電平時(shí)進(jìn)行FSK調(diào)制,當(dāng)輸入信號(hào)X為高電平1時(shí),輸出Y的脈沖數(shù)90目多與X為低電平0時(shí)的脈沖數(shù)目。10)時(shí)序仿真方法如下:點(diǎn)擊Assignments,在下拉菜單中點(diǎn)擊Settings,在新彈出的對(duì)話框中選擇Simulator Settings,同時(shí)在該對(duì)話框中會(huì)出現(xiàn)相應(yīng)的選項(xiàng),要做功能仿真,故在Simulator mode 中選擇Timing,點(diǎn)擊OK.20.在仿真圖中就會(huì)2.3 原理圖結(jié)合VHDL編程方式設(shè)計(jì)流水燈一、實(shí)驗(yàn)?zāi)康?、通過設(shè)計(jì)一個(gè)流水燈,了解QuartusII采用原理圖結(jié)合VHDL編程方式進(jìn)行設(shè)計(jì)的流程。2
26、、進(jìn)一步熟悉FPGA開發(fā)的流程以及基本的設(shè)計(jì)方法、基本的仿真分析方法。3、掌握設(shè)計(jì)文件下載到目標(biāo)器件的過程與方法。二、實(shí)驗(yàn)原理三、實(shí)驗(yàn)內(nèi)容四、實(shí)驗(yàn)步驟1、建立工程指定工程路徑、文件名此例在D盤建立新的工程芯片的選擇2、分模塊設(shè)計(jì)1)分頻、計(jì)數(shù)模塊LED0設(shè)計(jì):a) 建立VHDL文件,寫入程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity led0 isport(clk :in std_logic;clk5hz : out s
27、td_logic;-reset :in std_logic;dout :out integer range 255 downto 0);end ;architecture a of led0 issignal q1: integer range 255 downto 0;-signal d1: integer range 4095 downto 0;signal clk05 : std_logic;beginPROCESS(clk) -產(chǎn)生顯示掃描時(shí)鐘05HZvariable cnt : INTEGER RANGE 0 TO 1999999;BEGINIF clk='1' AN
28、D clk'event THENIF cnt=1999999 THEN cnt:=0;ELSEIF cnt<1000000 THEN clk05<='1'ELSE clk05<='0'END IF;cnt:=cnt+1;END IF;clk5hz<=clk05;END IF;END PROCESS;process(clk05,q1)beginif(clk05'event and clk05='1')thenif q1=255 thenq1<=0;elseq1 <= q1+1;end if;end
29、 if;dout<=q1;end process;end ;分頻、計(jì)數(shù)模塊led0b)封裝并生成 led0元件: 當(dāng)前VHDL編輯界面下,點(diǎn)擊FileCreat/UpdateCreat Symbol Files for current File,編譯通過之后將VHDL文檔封裝。2)頂層文件設(shè)計(jì):File-New-BlockDiagram/SchematicFile,建立一個(gè)原理圖紙,雙擊原理圖紙空白處,或者點(diǎn)擊下圖中的符號(hào)工具快捷圖標(biāo)圖形編輯器在出現(xiàn)的對(duì)話框中Project下可以看到上一步封裝的led0元件模塊,選中該模塊放置到原理圖紙空白處,如下所示:封裝之后的模塊led03) 設(shè)計(jì)L
30、EDROM宏模塊:點(diǎn)擊Tools-MegaWizard Plug in Manager,(或者雙擊原理圖紙空白處,出現(xiàn)的對(duì)話框中點(diǎn)擊MegaWizard Plug in Manage下圖所示)開始創(chuàng)建宏模塊創(chuàng)建宏模塊No1創(chuàng)建宏模塊No2本設(shè)計(jì)選擇ROM:1 PORT ,命名為ledrom;創(chuàng)建宏模塊No3ROM內(nèi)256字節(jié)的數(shù)據(jù),每個(gè)字節(jié)對(duì)應(yīng)一個(gè)16位的輸出數(shù)據(jù)的地址;創(chuàng)建宏模塊No4為ledrom引入數(shù)據(jù),指向的數(shù)據(jù)為led.mif,Led.mif中數(shù)據(jù) By The Way : Mif 文件建立過程如下:點(diǎn)擊File-newMemory FileMemory Initialation F
31、ile ,按提示指定8位數(shù)據(jù)位寬及256字節(jié)的深度,并在相應(yīng)的地址填入數(shù)據(jù)如上圖所示,保存為led.mif ;其中的數(shù)據(jù)可以用Excel或者M(jìn)atlab等工具批量生成,具體方法請(qǐng)自行研究;Mif 文件建立創(chuàng)建宏模塊No4完成宏模塊ledrom后將其放置到原理圖紙中;3、完成電路原理圖連接:加入輸入輸出引腳端口,雙擊端口給其命名:clk ,led15.0(總線型);連接電路原理圖;對(duì)相關(guān)信號(hào)命名dout15.0 (總線型):如下所示:輸入、輸出、雙向端口連接好的原理圖 該原理圖文件作為頂層文件,名稱與工程文件名一致;4、仿真:1)建立仿真波形文件,引入需要仿真的端口及信號(hào)節(jié)點(diǎn);創(chuàng)建一個(gè)波形文件引
32、入端口2)對(duì)輸入信號(hào)賦予一定的值,利用波形編輯器工具對(duì)輸入信號(hào)賦值,此例只需對(duì)時(shí)鐘信號(hào)進(jìn)行設(shè)置,為50Mhz3)設(shè)置仿真方式:功能仿真;設(shè)置對(duì)波形文件進(jìn)行功能仿真仿真之前先創(chuàng)建一個(gè)網(wǎng)表文件4)運(yùn)行仿真,結(jié)果分析:仿真之后的波形注意,本例,考慮到實(shí)際人眼觀察led燈的亮滅情況,計(jì)數(shù)器頻率為5hz ,即每0.2秒ledrom地址順序加一,并讀取一次該地址中的16位數(shù)據(jù)如“1111111111111111”,對(duì)應(yīng)端口置高電平,點(diǎn)亮相應(yīng)的LED燈,若頻率過高,人眼觀察到的可能是,閃爍非??焐踔翢舻某A?;本仿真中,為減少計(jì)算機(jī)處理時(shí)間,改動(dòng)了led0模塊的程序,將計(jì)數(shù)器頻率設(shè)在5M或者更大,最后可以得到
33、Rom中的數(shù)據(jù)相應(yīng)的輸出到led15.0,仿真說明設(shè)計(jì)是正確的。下載到目標(biāo)器件,則必須考慮人眼睛的暫態(tài)效應(yīng),注意計(jì)數(shù)器的頻率。5)分配引腳A) 調(diào)出引腳分配欄調(diào)出引腳分配欄B)根據(jù)開發(fā)板實(shí)際電路圖,找到對(duì)應(yīng)的引腳:開發(fā)板的LED連接的電路圖FPGA的I/O接口可以看到:16個(gè)LED燈LED1-LED 16通過標(biāo)記為JP1的I/O接口連接到目標(biāo)芯片上,即目標(biāo)芯片的50-35引腳,查看本開發(fā)板的I/O接口對(duì)照表,EP2C35F484C8 的I/O引腳按上圖所列,引腳分配如下:分配引腳6)引腳分配之后再編譯一次,軟件會(huì)在工程目錄下生成后綴為SOF的文件可供JTAG下載;最后一次編譯5、下載1)下載設(shè)置:選擇TOOLS-Programmer,在以下界面點(diǎn)擊Hardware Setup,進(jìn)行硬件設(shè)置(一般設(shè)置一次即可,以后不必再設(shè)),選中連接到計(jì)算機(jī)的下載線,ByteBlaster或者USB-ByteBlaste等,根據(jù)實(shí)際連接情況:下載設(shè)置2)下載:選擇JTAG下方式,選中要下載的SOF文件,勾選Program/Config,點(diǎn)Start,下載完畢,在開發(fā)板上觀察結(jié)果即可。3基于QuartusII的FPGA/CPLD數(shù)字系統(tǒng)設(shè)計(jì)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山東省安全員C證考試(專職安全員)題庫(kù)附答案
- 2025-2030年中國(guó)硅藻泥行業(yè)前景趨勢(shì)調(diào)研及發(fā)展戰(zhàn)略分析報(bào)告
- 2025-2030年中國(guó)真絲絲巾產(chǎn)業(yè)市場(chǎng)運(yùn)行趨勢(shì)及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)電鎘行業(yè)發(fā)展?fàn)顩r及營(yíng)銷戰(zhàn)略研究報(bào)告
- 陜西財(cái)經(jīng)職業(yè)技術(shù)學(xué)院《工業(yè)通風(fēng)與除塵技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西昌學(xué)院《材料力學(xué)類》2023-2024學(xué)年第二學(xué)期期末試卷
- 泰州學(xué)院《分布式數(shù)據(jù)庫(kù)系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南吉利汽車職業(yè)技術(shù)學(xué)院《橋梁施工技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海立達(dá)學(xué)院《廣告策劃與新媒體設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘇州幼兒師范高等??茖W(xué)?!夺t(yī)學(xué)生物化學(xué)B》2023-2024學(xué)年第二學(xué)期期末試卷
- 兩辦意見八硬措施煤礦安全生產(chǎn)條例宣貫學(xué)習(xí)課件
- 教師課堂教學(xué)語(yǔ)言技能范例課件
- 《體育與健康說課》課件
- 人教版化學(xué)九年級(jí)下冊(cè)同步練習(xí):第九單元 溶液
- 華南師范大學(xué)附屬小學(xué)招聘教師筆試真題2022
- 山東女子學(xué)院《C語(yǔ)言程序設(shè)計(jì)》2022-2023學(xué)年期末試卷
- 2020年中國(guó)人身保險(xiǎn)產(chǎn)品研究報(bào)告
- 常見織帶花鏈的排法和穿棕方法
- 《化工工程制圖》完整教案
- 心肌梗死后心衰病例分享
- 洪恩識(shí)字識(shí)字卡(001-100)可直接打印剪裁
評(píng)論
0/150
提交評(píng)論