




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、電子設計自動化課程設計電子設計自動化課程設計題目: 2位十進制四則運算器電路 院(系) 信息科學與工程學院 專 業 通信工程 屆 別 2011級 班 級 1班 學 號 1115102040 姓 名 韋 桂 任課老師 彭盛亮 摘要本次課程設計主要內容是采用VHDL語言實現2位十進制數四則運算編程,用Quartus II 軟件實現功能仿真,并完成硬件測試。本次試驗目的是:輸入任意兩個兩十進制位數(099),選擇計算模式(加減乘除),輸出它們的計算結果,利用四個數碼 LED 分別顯示輸入的兩個兩位數,利用四個發光二極管顯示計算模式(每次只有一個二極管發光),利用另外四個數碼管顯示計算結果;實現方法是
2、:將整個系統分為輸入模塊,計算模塊和輸出模塊三個部分組成。輸入模塊由3個脈沖鍵,2個復位鍵和2個使能端組成;計算模塊分別為加法器,減法器,乘法器,除法器;輸出模塊通過8個數碼管和4個發光二極管分別顯示運算數值,運算結果和運算模式。經過多次修改,波形仿真和硬件測試均成功。設置兩個計數器的復位鍵,以便于輸入比較大的數之后,想進行比較小的數字的運算可以按復位鍵,以減少按鍵5或鍵6的次數,設置模塊時,為使電路看起來更加簡潔,應減少使用電路模塊,如:都除以10取余時,把除數端口都連接在同一個常數端。目錄第一部分 系統設計41.1設計要求:41.2系統設計方案:41.2.1設計總思路:41.2.2實驗的主
3、要方法:41.2.3電路設計:41.2.4實驗電路圖:4(1)總電路5(2)輸入模塊:5(3)計算模塊5(4)輸出模塊:61.2.5:總體方法的論證與比較:7第二部分 軟件設計72.1軟件設計平臺72.2程序流程圖72.3實驗相關程序72.3.1clkA與clkB中需要用的100進制計數器cnt100:72.3.2.四進制計數器cnt4程序:82.3.3.nu15_add中需用的加法程序:92.3.4.nu15_sub中需要用的減法程序:92.3.5.nu15_mod程序:102.4 總電路波形仿真112.5 管腳分配11(1)Input:11(2)Output:11第三部分 系統測試123.
4、1 軟件測試結構綜合結果123.2儀器設備名稱、型號123.3功能測試方法、步驟:12第四部分 結論及收獲134.1結論134.2致謝134.3 參考文獻13第一部分 系統設計1.1設計要求: 輸入兩個2位十進制數(099),輸出它們的四則運算(加減乘除)結果;發光二極管顯示運算模式;可調用LPM_MULT及LPM_DIVIDE模塊。1.2系統設計方案:1.2.1設計總思路:將總的電路大體分為以下幾個大模塊:三個輸入端,模式選擇,加法模塊,減法模塊,乘法模塊,除法模塊,輸出模塊。總思路框圖如下:1.2.2實驗的主要方法:a. 十進制數輸入以及計算模式切換借助于單脈沖按鍵實現(模式 5);b.
5、“加”和“減”功能模塊可自編VHDL 程序實現,“乘”和“除”功能模塊可調用LPM 模塊實現;c. 乘法運算的結果最多為四位數(如99*99=9801),分別取出其千位數(9),百位數(8),十位數(0)和個位數(1)然后送給四個LED 才能顯示計算結果(9801)。1.2.3電路設計:a.七個輸入端分別為:clkA,clkB,clkC,ENA,ENB,RSTA,RSTB;b.兩個100進制計數器分別為CNTA,CNTBc.一個四進制計數器cnt4d.四個模塊:加、減、乘、除分別為:nu15_add,nu15_sub,nu15_mult,nu15_dive.連接運算結果和輸出端的模塊:nu15
6、_modf.八個輸出端分別為:顯示輸入的第一個數字:outIN11(高位),outIN12(低位), 顯示輸入的第二個數字:outIN21(高位),outIN22(低位), 顯示運算后的結果:LED1(高位),LED2,LED3,LED4(低位);1.2.4實驗電路圖:(1)總電路a.總電路圖:(2)輸入模塊:b.CNTA電路:c.CNTB電路:(3)計算模塊d.加法模塊nu15_add電路:e.減法模塊.nu15_sub電路:f.乘法模塊nu15_mult電路:g.除法模塊nu15_div電路:(4)輸出模塊:h.輸出模塊nu15_mod電路:1.2.5:總體方法的論證與比較:方案一:輸入直
7、接用100進制的計數器,但要將輸入數值顯示在數碼管上,則需制作顯示模塊,對輸入的數進行除法運算,再通過輸出模塊將數值顯示在數碼管上。方案二:輸入用兩個十進制的計數器連接實現100進制,此方法可很方便地顯示輸入數值,但還需要將其合成100進制數參與后面的運算。由于對方案比較熟練,方案二對我來說不好實現,故采用方案一。第二部分 軟件設計2.1軟件設計平臺 Quartus II2.2程序流程圖2.3實驗相關程序2.3.1clkA與clkB中需要用的100進制計數器cnt100:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UN
8、SIGNED.ALL;ENTITY cnt100 IS PORT (CLK,RST,EN : IN STD_LOGIC; CQ2 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0); COUT : OUT STD_LOGIC ); END cnt100;ARCHITECTURE behav OF cnt100 ISBEGIN PROCESS(CLK, RST, EN) VARIABLE CQI : STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN IF RST = '1' THEN CQI := (OTHERS =>'0
9、39;) ; -計數器異步復位 ELSIF CLK'EVENT AND CLK='1' THEN -檢測時鐘上升沿 IF EN = '1' THEN if CQI<99 then CQI := CQI + 1; -檢測是否允許計數(同步使能) end if; END IF; END IF; IF CQI = 0 THEN COUT <= '1' ELSE COUT <= '0' END IF; CQ2 <= CQI; -將計數值向端口輸出 END PROCESS;END behav;2.3.2.四進
10、制計數器cnt4程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt4 is port (CLK:IN STD_LOGIC; CQ:BUFFER STD_LOGIC_VECTOR(1 DOWNTO 0); COUT :out std_logic );END cnt4;architecture behav of cnt4 isbegin process(CLK) variable CQI:STD_LOGIC_VECTOR(1 DOWNTO 0); begin IF CLK
11、9;EVENT AND CLK='0'THEN IF CQI<"11" THEN CQI:=CQI+1; ELSE CQI:=(others=>'0');end if; end if; if CQI=3 then COUT<='1' ELSE COUT<='0'end if; CQ<=CQI;END PROCESS; END behav;2.3.3.nu15_add中需用的加法程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.
12、STD_LOGIC_UNSIGNED.ALL;entity add isport(add_in,bdd_in : in std_logic_vector(6 downto 0); add_out: out std_logic_vector(7 downto 0);end entity add;architecture beh of add issignal a: std_logic_vector(7 downto 0);signal b :std_logic_vector(7 downto 0);beginprocess(add_in, bdd_in)begina<='0'
13、; & add_in;b<='0' & bdd_in;end process;add_out<= a + b;end architecture beh;2.3.4.nu15_sub中需要用的減法程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity sub isport(sub_in1, sub_in2: in std_logic_vector(6 downto 0);flag: out std_logic;sub_out: out std_
14、logic_vector(6 downto 0);end entity sub;architecture beh of sub isbeginprocess(sub_in1, sub_in2)beginif sub_in1>sub_in2 thenflag <= '1'sub_out <= sub_in1-sub_in2;else flag <= '0'sub_out <= sub_in2-sub_in1;end if;end process;end architecture beh;2.3.5.nu15_mod程序:LIBRARY
15、 IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY nu15_mod IS PORT(mod_sel: IN STD_LOGIC_vector(1 downto 0); add_out1: IN STD_LOGIC_vector(3 downto 0);add_out2: IN STD_LOGIC_vector(3 downto 0);add_out3: IN STD_LOGIC_vector(3 downto 0);flag: IN STD_LOGIC;sub_out1: IN STD_LOGIC_
16、vector(3 downto 0);sub_out2: IN STD_LOGIC_vector(3 downto 0);mul_out1: IN STD_LOGIC_vector(3 downto 0);mul_out2: IN STD_LOGIC_vector(3 downto 0);mul_out3: IN STD_LOGIC_vector(3 downto 0);mul_out4: IN STD_LOGIC_vector(3 downto 0);div_out1: IN STD_LOGIC_vector(3 downto 0);div_out2: IN STD_LOGIC_vector
17、(3 downto 0);outmod: out std_logic_vector(3 downto 0);outLED1: out STD_LOGIC_vector(3 downto 0);outLED2: out STD_LOGIC_vector(3 downto 0);outLED3: out STD_LOGIC_vector(3 downto 0);outLED4: out STD_LOGIC_vector(3 downto 0); END nu15_mod;ARCHITECTURE bhv OF nu15_mod ISBEGINprocess(mod_sel)begincase mo
18、d_sel iswhen "00" => outmod<="1000" outLED1<=(others=> '0');outLED2<=add_out1(3 downto 0); outLED3<=add_out2(3 downto 0);outLED4<=add_out3;when "01" => outmod<="0100" outLED1<=(others=>(not flag); outLED2<=(others=&g
19、t; '0');outLED3<=sub_out1(3 downto 0);outLED4<=sub_out2;when "10" => outmod<="0010" outLED1<=mul_out1(3 downto 0); outLED2<=mul_out2(3 downto 0);outLED3<=mul_out3(3 downto 0);outLED4<=mul_out4;when others => outmod<="0001" outLED1&l
20、t;=(others=> '0');outLED2<=(others=> '0'); outLED3<=div_out1(3 downto 0);outLED4<=div_out2;end case;end process;end bhv;2.4 總電路波形仿真波形仿真相關說明:Outmod為8、4、2、1分別對應加、減、乘、除,13+25=38;14-27=-13;14*28=392;15/30=0;通過波形仿真知道運算結果正確2.5 管腳分配(1)Input:(2)Output:第三部分 系統測試3.1 軟件測試結構綜合結果3.2儀器設備名稱、型號Altera公司Cylclone II系列EP2C5T144C8芯片3.3功能測試方法、步驟:1、 分配好管腳后,用線把試驗箱上I/048,I/049分別接Vcc(高
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 簽署儀式:管城回族區玉山路(南四環)合同正式生效
- 肝硬化患者操作流程
- 計算機一級試題庫及參考答案
- 植物學模擬考試題(附答案)
- 蘋果購銷合同模板范文
- 社交電商的可行性報告
- 腹腔鏡術后護理小技巧
- 總包與分包安全合同管理指南
- 住宅樓保潔服務合同范本
- 技術入股與股權轉讓合同
- 物理學簡明教程馬文蔚等高教出版社
- SY-T 6966-2023 輸油氣管道工程安全儀表系統設計規范
- 110KV變電站繼電保護設計畢業設計論文
- 春天就是我童聲合唱譜
- 口腔癌查房護理
- 2024情緒與健康睡眠白皮書
- 小學數學計算專項訓練之乘法分配律(提公因數)
- 車輛采購投標方案(技術方案)
- 2024年中國郵政集團有限公司重慶分公司招聘筆試參考題庫含答案解析
- 中小學必背飛花令詩詞-(春、月、風、花、山、江、人、日、動物、顏色、數字)
- 金屬表面處理中的陶瓷涂層技術
評論
0/150
提交評論