




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗二:8位加法器的設計1.實驗目的學習QuartusⅡ/ISESuite/ispLEVER軟件的基本使用方法。學習GW48-CK或其他EDA實驗開發系統的基本使用方法。了解VHDL程序的基本結構。2.實驗內容設計并調試好一個由兩個4位二進制加法器級聯而成的8位二進制并行加法器,并用GW48-CK或其他EDA實驗開發系統(事先應選定擬采用的實驗芯片的型號)進行硬件驗證。3.實驗要求(1)畫出系統的原理圖,說明系統中各主要組成部分的功能。(2)編寫各個VHDL源程序。(3)根據系統的功能,選好測試用例,畫出測試輸入信號波形或編號測試程序。(4)根據選用的EDA實驗開發裝置編好用于硬件驗證的管腳鎖定表格或文件。(5)記錄系統仿真、邏輯綜合及硬件驗證結果。(6)記錄實驗過程中出現的問題及解決辦法。4.實驗條件(1)開發條件:QuartusⅡ8.0。(2)實驗設備:GW48-CK實驗開發系統。(3)擬用芯片:EPM7128S-PL84。5.實驗設計1)系統原理圖為了簡化設計并便于顯示,本加法器電路ADDER8B的設計分為兩個層次,其中底層電路包括兩個二進制加法器模塊ADDER4B,再由這兩個模塊按照圖2.1所示的原理圖構成頂層電路ADDER8B。圖2.1ADDER4B電路原理圖 圖2.1ADDER8B電路原理圖2)VHDL程序加法器ADDER8B的底層和頂層電路均采用VHDL文本輸入,有關VHDL程序如下。ADDER4B的VHDL源程序:--ADDER4B.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYADDER4BISPORT(C4:INSTD_LOGIC;A4:INSTD_LOGIC_VECTOR(3DOWNTO0);B4:INSTD_LOGIC_VECTOR(3DOWNTO0);S4:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CO4:OUTSTD_LOGIC);ENDENTITYADDER4B;ARCHITECTUREARTOFADDER4BISSIGNALS5:STD_LOGIC_VECTOR(4DOWNTO0);SIGNALA5,B5:STD_LOGIC_VECTOR(4DOWNTO0);BEGINA5<='0'&A4;B5<='0'&B4;S5<=A5+B5+C4;S4<=S5(3DOWNTO0);CO4<=S5(4);ENDARCHITECTUREART;ADDER8B的VHDL源程序:--ADDER8B.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYADDER8BISPORT(C8:INSTD_LOGIC;A8:INSTD_LOGIC_VECTOR(7DOWNTO0);B8:INSTD_LOGIC_VECTOR(7DOWNTO0);S8:OUTSTD_LOGIC_VECTOR(7DOWNTO0);CO8:OUTSTD_LOGIC);ENDENTITYADDER8B;ARCHITECTUREARTOFADDER8BISCOMPONENTADDER4BISPORT(C4:INSTD_LOGIC;A4:INSTD_LOGIC_VECTOR(3DOWNTO0);B4:INSTD_LOGIC_VECTOR(3DOWNTO0);S4:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CO4:OUTSTD_LOGIC);ENDCOMPONENTADDER4B;SIGNALSC:STD_LOGIC;BEGINU1:ADDER4BPORTMAP(C4=>C8,A4=>A8(3DOWNTO0),B4=>B8(3DOWNTO0),S4=>S8(3DOWNTO0),CO4=>SC);U2:ADDER4BPORTMAP(C4=>SC,A4=>A8(7DOWNTO4),B4=>B8(7DOWNTO4),S4=>S8(7DOWNTO4),CO4=>CO8);ENDARCHITECTUREART;CTRLS的VHDL程序--CTRLS.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCTRLSISPORT(CLK:INSTD_LOGIC;SEL:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDENTITYCTRLS;ARCHITECTUREARTOFCTRLSISSIGNALCNT:STD_LOGIC_VECTOR(2DOWNTO0);BEGINPROCESS(CLK)ISBEGINIFCLK'EVENTANDCLK='1'THENIFCNT="111"THENCNT<="000";ELSECNT<=CNT+'1';ENDIF;ENDIF;ENDPROCESS;SEL<=CNT;ENDARCHITECTUREART;DISPLAY的VHDL程序--DISPLAY.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYDISPLAYISPORT(SEL:INSTD_LOGIC_VECTOR(2DOWNTO0);--DATAIN:INSTD_LOGIC_VECTOR(15DOWNTO0);DATAIN:INSTD_LOGIC_VECTOR(7DOWNTO0);COM:OUTSTD_LOGIC_VECTOR(7DOWNTO0);--LEDW:OUTSTD_LOGIC_VECTOR(2DOWNTO0);SEG:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYDISPLAY;ARCHITECTUREARTOFDISPLAYISSIGNALDATA:STD_LOGIC_VECTOR(3DOWNTO0);--SIGNALDATA:STD_LOGIC_VECTOR(7DOWNTO0);BEGINP1:PROCESS(SEL)ISBEGINCASESELISWHEN"000"=>COM<="11111110";WHEN"001"=>COM<="11111101";WHEN"010"=>COM<="11111011";WHEN"011"=>COM<="11110111";WHEN"100"=>COM<="11101111";WHEN"101"=>COM<="11011111";WHEN"110"=>COM<="10111111";WHEN"111"=>COM<="01111111";WHENOTHERS=>COM<="11111111";ENDCASE;ENDPROCESSP1;--LEDW<=SEL;P2:PROCESS(SEL)BEGINCASESELISWHEN"000"=>DATA<=DATAIN(3DOWNTO0);WHEN"001"=>DATA<=DATAIN(7DOWNTO4);--WHEN"010"=>DATA<=DATAIN(11DOWNTO8);--WHEN"011"=>DATA<=DATAIN(15DOWNTO12);WHENOTHERS=>DATA<="0000";ENDCASE;CASEDATAIS WHEN"0000"=>SEG<="00111111"; WHEN"0001"=>SEG<="00000110"; WHEN"0010"=>SEG<="01011011"; WHEN"0011"=>SEG<="01001111"; WHEN"0100"=>SEG<="01100110"; WHEN"0101"=>SEG<="01101101"; WHEN"0110"=>SEG<="01111101"; WHEN"0111"=>SEG<="00000111"; WHEN"1000"=>SEG<="01111111"; WHEN"1001"=>SEG<="01101111"; WHENOTHERS=>SEG<="00000000"; ENDCASE;ENDPROCESSP2;ENDARCHITECTUREART;ADDER8B動態掃描的VHDL程序--ADDER8B.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYADDER8BISPORT(C8:INSTD_LOGIC;A8:INSTD_LOGIC_VECTOR(7DOWNTO0);B8:INSTD_LOGIC_VECTOR(7DOWNTO0);CLK:INSTD_LOGIC;--S8:OUTSTD_LOGIC_VECTOR(7DOWNTO0);S8:BUFFERSTD_LOGIC_VECTOR(7DOWNTO0);CO8:OUTSTD_LOGIC;COM:OUTSTD_LOGIC_VECTOR(7DOWNTO0);SEG:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDENTITYADDER8B;ARCHITECTUREARTOFADDER8BIS--COMPONENTADDER4BCOMPONENTADDER4BISPORT(C4:INSTD_LOGIC;A4:INSTD_LOGIC_VECTOR(3DOWNTO0);B4:INSTD_LOGIC_VECTOR(3DOWNTO0);S4:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CO4:OUTSTD_LOGIC);ENDCOMPONENTADDER4B;--COMPONENTCTRLSCOMPONENTCTRLSISPORT(CLK:INSTD_LOGIC;SEL:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDCOMPONENTCTRLS;--COMPONENTDISPLAYCOMPONENTDISPLAYISPORT(SEL:INSTD_LOGIC_VECTOR(2DOWNTO0);--DATAIN:INSTD_LOGIC_VECTOR(15DOWNTO0);DATAIN:INSTD_LOGIC_VECTOR(7DOWNTO0);COM:OUTSTD_LOGIC_VECTOR(7DOWNTO0);SEG:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDCOMPONENTDISPLAY;SIGNALSC:STD_LOGIC;SIGNALSB:STD_LOGIC_VECTOR(2DOWNTO0);BEGINU1:ADDER4BPORTMAP(C4=>C8,A4=>A8(3DOWNTO0),B4=>B8(3DOWNTO0),S4=>S8(3DOWNTO0),CO4=>SC);U2:ADDER4BPORTMAP(C4=>SC,A4=>A8(7DOWNTO4),B4=>B8(7DOWNTO4),S4=>S8(7DOWNTO4),CO4=>CO8);U3:CTRLSPORTMAP(CLK,SB);U4:DISPLAYPORTMAP(SB,S8(7DOWNTO0),COM(7DOWNTO0),SEG(7DOWNTO0));ENDARCHITECTUREART;3)仿真波形設置本設計包括兩個層次,因此先進行底層的二進制加法器ADDER4B的仿真,再進行頂層ADDER8B的仿真。圖2.2是ADDER4B仿真輸入設置及可能結果估計圖。同理可進行ADDER8B仿真輸入設置及可能結果估計,圖1.3為ADDER8B仿真輸入設置及可能結果估計圖。4)管腳鎖定文件根據圖1.1所示的ADDER8B電路原理圖,本設計實體的輸入信號C8、A8、B8,輸出信號S8、CO,據此可選擇實驗電路結構圖NO.0,對應實驗模式0。圖NO.1實驗電路結構圖根據圖2.5所示的實驗電路結構圖NO.1和圖2.1確定引腳的鎖定。選用EPM7128S-PL84芯片,其引腳鎖定過程如表2.1所示,其中PIO3~PIO0接A8[3..0],PIO7~PIO4接A8[7..4],PIO11~PIO8接B8[3..0],PIO15~PIO12接B8[7..4],PIO49接C8。A8接鍵2與鍵1,B8接鍵4與鍵3,C8接鍵8,PIO23~PIO20,PIO19~PIO16接數碼管6、數碼管5,溢出位由PIO39輸出,當有進位時接發光管D8。表2.1ADDER8B管腳鎖定過程表設計實體I/O標識設計實體I/O來源/去路插座序號EPM7128S-PL84I/O號->管腳號A8[3..0]鍵1PIO3~PIO0PIO3~PIO0A8[7..4]鍵2PIO7~PIO4PIO7~PIO4B8[3..0]鍵3PIO11~PIO8PIO11~PIO8B8[7..4]鍵4PIO15~PIO12PIO15~PIO12C8鍵8PIO49PIO49S8[3..0]經譯碼后接數碼管5PIO19~PIO16PIO19~PIO16S8[7..4經譯碼后接數碼管6PIO23~PIO20PIO23~PIO20備注驗證設備:GW48-CK;實驗芯片:EPM7128S-PL84;實驗模式:NO.1;模式圖及管腳對應表見圖2.1和表2.2。6.試驗結果及總結1)系統仿真情況ADDER4B和ADDER8B及其動態掃描的時序仿真結果分別如圖2.3和2.4、2.5所示(本仿真結果是通過同時按下“CTRL+PrintScreen”鍵抓取當前屏幕信息放入剪貼板中,再通過Windows的畫圖工具進行粘貼裁剪后復制,最后在Word等文檔中通過粘貼的方法獲得)。圖2.3ADDER4B的時序仿真結果圖2.4ADDER8B的時序仿真結果圖2.5ADDER8B動態掃描的時序仿真結果從系統仿真結果可以看出,本系統底層和頂層的程序設計完全符合設計要求。同時從系統時序仿真結果可以看出,從輸入到輸出有一定的延時,大約為5ns,這正是器件延時特性的反應。2)邏輯綜合結果使用QuartusⅡ8.0進行邏輯綜合后,ADDER4B,ADDER8B及其動態掃描的RTL視圖如圖2.6所示,對CNT9999進行邏輯綜合后的資源使用情況為:Family:MAX7000S,Device:EPM7128SLC84-10,Totalmacrocells:19/128(15%),Totalpins:23/68(34%)。圖2.6ADDER4B的RTL視圖圖2.6ADDER8B的RTL視圖圖2.6ADDER8B的動態掃描RTL視圖3)硬件驗證情況
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論