EDA課程設計之2位十進制四則運算器電路四則運算器_第1頁
EDA課程設計之2位十進制四則運算器電路四則運算器_第2頁
EDA課程設計之2位十進制四則運算器電路四則運算器_第3頁
EDA課程設計之2位十進制四則運算器電路四則運算器_第4頁
EDA課程設計之2位十進制四則運算器電路四則運算器_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《電子設計自動化》課程設計題目:2位十進制四則運算器電路院(系)信息科學與工程學院專業(yè)通信工程屆別2011級班級學號姓名任課老師彭盛亮摘要本設計是利用EDA技術實現(xiàn)的2位十進制四則運算器,是基于Quartus=2\*ROMANII7.2軟件,利用其強大、直觀、便捷和操作靈活的原理圖輸入設計的功能來完成本次設計的。此設計利用Quartus=2\*ROMANII7.2中的EP2C5T144C8芯片來控制整個程序的運行,用七段數碼管顯示各個輸入和輸出,用LED燈的亮滅來顯示運算模式,而軟件部分則是由VHDL語言來編寫的,是通過精心的設計和合理的規(guī)劃而完成的設計。設計完成后的運算器不僅能實現(xiàn)數據的加減乘除運算,而且還能使數據及其計算結果在數碼管上顯示出來,能夠實現(xiàn)0-99的十進制數字四則運算。 目錄TOC\o"1-3"\f\h\u29199第一章系統(tǒng)設計 II平臺中用VHDL語言編寫各個模塊所需要的程序或者調用Quartus II中原有的模塊并利用原理圖設計方法完成整個設計,借助EDA實驗箱進行實驗程序的調試和檢測。開始3.2程序的流程方框圖開始EN=1,RST=0EN=1,RST=0輸入數1及數2輸入數1及數2輸入模式Y加法運算加法運算?Y加法運算加法運算?NNY減法運算減法運算? Y減法運算減法運算?NYNY乘法運算乘法運算? 乘法運算乘法運算?NY除法運算?NY除法運算?除法運算除法運算輸出輸出3.3實現(xiàn)的功能及程序清單3.3.1百進制計數器功能:作為兩個2位的十進制數的輸入程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycnt99is port(clk,rst,en:instd_logic; cq:bufferstd_logic_vector(6downto0);LED1:outstd_logic_vector(3downto0); LED2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);cout:outstd_logic);endcnt99;architecturebehavofcnt99isbeginprocess(clk,rst,en)variablecqi:std_logic_vector(3downto0);variablecqii:std_logic_vector(6downto0);variablehi:std_logic_vector(3downto0);beginifrst='1'thencqi:=(others=>'0');hi:=(others=>'0');elsifclk'eventandclk='1'then ifen='1'then ifhi<9then ifcqi<9thencqi:=cqi+1; elsecqi:=(others=>'0'); hi:=hi+1; endif; elsehi:=(others=>'0'); endif; ifcqii<99thencqii:=cqii+1;elsecqii:=(others=>'0');endif;endif;endif;if(cqi=9andhi=9)thencout<='1';elsecout<='0';endif;cq<=cqii;LED1<=hi;LED2<=cqi;endprocess;endbehav;3.3.2四選一數據選擇器功能:選擇運算模式程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYjinzhi4ISPORT(CLK,RST,EN:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(1DOWNTO0);COUT:OUTSTD_LOGIC);ENDjinzhi4;ARCHITECTUREbehavOFjinzhi4ISBEGINPROCESS(CLK,RST,EN)VARIABLECQI:STD_LOGIC_VECTOR(1DOWNTO0);BEGINIFRST='1'THENCQI:=(OTHERS=>'0');ELSIFCLK'EVENTANDCLK='1'THENIFEN='1'THENCQI:=CQI+1;ENDIF;ENDIF;IFCQI=0THENCOUT<='1';ELSECOUT<='0';ENDIF;CQ<=CQI;ENDPROCESS;ENDbehav;3.3.3加法模塊:功能:進行加運算原理圖:3.3.4減法模塊功能:進行減法運算原理圖:3.3.5乘法模塊功能:進行乘法運算原理圖:3.3.6除法模塊功能:進行除法運算原理圖:3.3.7輸出模塊功能:控制輸出結果程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYsize_modISPORT( mod_sel :INSTD_LOGIC_vector(1downto0); add_out1 :INSTD_LOGIC_vector(3downto0); add_out2 :INSTD_LOGIC_vector(3downto0); add_out3 :INSTD_LOGIC_vector(3downto0); flag :INSTD_LOGIC; sub_out1 :INSTD_LOGIC_vector(3downto0); sub_out2 :INSTD_LOGIC_vector(3downto0); mul_out1 :INSTD_LOGIC_vector(3downto0); mul_out2 :INSTD_LOGIC_vector(3downto0); mul_out3 :INSTD_LOGIC_vector(3downto0); mul_out4 :INSTD_LOGIC_vector(3downto0); div_out1 :INSTD_LOGIC_vector(3downto0); div_out2 :INSTD_LOGIC_vector(3downto0); outmod :outstd_logic_vector(3downto0); outLED1 :outSTD_LOGIC_vector(3downto0); outLED2 :outSTD_LOGIC_vector(3downto0); outLED3 :outSTD_LOGIC_vector(3downto0); outLED4 :outSTD_LOGIC_vector(3downto0));ENDsize_mod;ARCHITECTUREbhvOFsize_modISBEGIN process(mod_sel) begin casemod_selis when"00"=>outmod<="1000";outLED1<=(others=>'0');outLED2<=add_out1(3downto0);outLED3<=add_out2;outLED4<=add_out3; when"01"=>outmod<="0100";outLED1<=(others=>'0');outLED2<=(others=>(notflag));outLED3<=sub_out1(3downto0);outLED4<=sub_out2; when"10"=>outmod<="0010";outLED1<=mul_out1(3downto0);outLED2<=mul_out2;outLED3<=mul_out3;outLED4<=mul_out4; whenothers=>outmod<="0001";outLED1<=(others=>'0');outLED2<=(others=>'0');outLED3<=div_out1(3downto0);outLED4<=div_out2; endcase; endprocess;endbhv; 第四章系統(tǒng)測試4.1功能的測試方法、步驟 軟件部分:1、將寫好的的程序先進行編譯 2、編譯通過后,利用波形仿真來觀察結果是否正確。 3、采用模式5進行分配管腳后,再進行編譯4、將編譯通過的程序下載到EDA實驗箱上進行硬件驗證。硬件部分選擇模式5進行測試利用多邦線將en接vcc,rst接gnd根據管腳的分配(鍵1—clk1、鍵2—clk2,鍵3—clk3),按 鍵1和鍵2來改變輸入值,按鍵3改變運算模式。比如:當按 鍵1和鍵2輸入38和47,則可在數碼管上顯示85,按鍵3 改變加法、減法、乘法、除法模式。當模式為減法時,其結果 為“F9”;當模式為乘法時,其結果為1786;當模式為除法模 式時,其結果為0.4.2儀器設備EDA技術實驗箱PC機(帶有quartus軟件)第五章結論本次設計完成了設計的基本要求,即隨機輸入兩個2位數,可進行該兩個數的四則運算并且輸出相應的結果。同時也掌握了用VHDL語言來設計四則運算的基本要求,加深了對軟件的了解。參考文獻潘松,黃繼業(yè).EDA技術與VHDL語言.第三版.北京:清華大學出版社.2011.附錄A電路圖圖紙總系統(tǒng)電路圖紙乘法模塊電路圖 除法模塊電路圖加法模塊電路圖減法模塊電路圖加法模塊電路圖減法模塊電路圖附錄B軟件程序小加法模塊程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;entitycal4_addis port( add_in1,add_in2 :instd_logic_vector(6downto0); add_out :outstd_logic_vector(7downto0));endentitycal4_add;architecturebehofcal4_addissignala1:std_logic_vector(7downto0);signala2:std_logic_vector(7downto0);signala3:std_logic_vector(7downto0);begin process(add_in1,add_in2) begin a1<='0'&add_in1; a2<='0'&add_in2; a3<=a2+a1; add_out<=a3; endprocess;endarchitecturebeh;小減法模塊程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;entitysize_subis port( sub_in1,sub_in2 :instd_logic_vector(6downto0); flag :outstd_logic; sub_out :outstd_logic_vector(6downto0));endentitysize_sub;architecturebehofsize_subisbegin process(sub_in1,sub_in2) begin ifsub_in1>sub_in2then flag<='1'; sub_out<=sub_in1-sub_in2; else flag<='0'; sub_out<=sub_in2-sub_in1; endif; endprocess;endarchitecturebeh;百進制計數器程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycnt99is port(clk,rst,en:instd_logic; cq:bufferstd_logic_vector(6downto0);LED1:outstd_logic_vector(3downto0); LED2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);cout:outstd_logic);endcnt99;architecturebehavofcnt99isbeginprocess(clk,rst,en)variablecqi:std_logic_vector(3downto0);variablecqii:std_logic_vector(6downto0);variablehi:std_logic_vector(3downto0);beginifrst='1'thencqi:=(others=>'0');hi:=(others=>'0');elsifclk'eventandclk='1'then ifen='1'then ifhi<9then ifcqi<9thencqi:=cqi+1; elsecqi:=(others=>'0'); hi:=hi+1; endif; elsehi:=(others=>'0'); endif; ifcqii<99thencqii:=cqii+1;elsecqii:=(others=>'0');endif;endif;endif;if(cqi=9andhi=9)thencout<='1';elsecout<='0';endif;cq<=cqii;LED1<=hi;LED2<=cqi;endprocess;endbehav;四選一選擇器程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYjinzhi4ISPORT(CLK,RST,EN:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(1DOWNTO0);COUT:OUTSTD_LOGIC);ENDjinzhi4;ARCHITECTUREbehavOFjinzhi4ISBEGINPROCESS(CLK,RST,EN)VARIABLECQI:STD_LOGIC_VECTOR(1DOWNTO0);BEGINIFRST='1'THENCQI:=(OTHERS=>'0');ELSIFCLK'EVENTANDCLK='1'THENIFEN='1'THENCQI:=CQI+1;ENDIF;ENDIF;IFCQI=0THENCOUT<='1';ELSECOUT<='0';ENDIF;CQ<=CQI;ENDPROCESS;ENDbehav;輸出模塊程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYsize_modISPORT( mod_sel :INSTD_LOGIC_vector(1downto0); add_out1 :INSTD_LOGIC_vector(3downto0); add_out2 :INSTD_LOGIC_vector(3downto0); add_out3 :INSTD_LOGIC_vector(3downto0); flag :INSTD_LOGIC; sub_out1 :INSTD_LOGIC_vector(3downto0); sub_out2 :INSTD_LOGIC_vector(3downto0); mul_out1 :INSTD_LOGIC_vector(3downto0); mul_out2 :INSTD_LOGIC_vector(3downto0); mul_out3 :INSTD_LOGIC_vector(3downto0); mul_out4 :INSTD_LOGIC_vector(3downto0); div_out1 :INSTD_LOGIC_vector(3downto0); div_out2 :INSTD_

溫馨提示

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

評論

0/150

提交評論