




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上*級學生EDA課程設(shè)計 EDA課程設(shè)計報告書課題名稱 基于EDA的簡易計算器的設(shè)計姓 名 學 號 院 系 專 業(yè) 指導教師 年 月 日 一、設(shè)計任務(wù)及要求:設(shè)計任務(wù): 設(shè)計一個簡易的計算器。要 求: 在可編程邏輯器件上實現(xiàn)一個簡易計算器,可以進行4位二進制數(shù)的加法 和乘法運算,其中被加(乘)數(shù)取值范圍015,加(乘)數(shù)取值范圍-1515。要求用原理圖的輸入方式及硬件描述語言的結(jié)構(gòu)描述方式完成。指導教師簽名: 年 月 日 二、指導教師評語:指導教師簽名: 年 月 日 三、成績驗收蓋章 2011 年 月 日 基于EDA的簡易計算器的設(shè)計 1 設(shè)計目的(1)學習面向可編程器
2、件的FPGA的簡單數(shù)字系統(tǒng)的設(shè)計流程;(2)掌握EDA軟件Quartus II的原理圖輸入方式,以及硬件描述語言描述方式;(3)熟悉EDA編輯軟件。2設(shè)計的主要內(nèi)容和要求 1、設(shè)計一個1位全加器。運用波形仿真檢查功能正確后,將其封裝成1位全加器模塊。 2、以1中已封裝的1位全加器模塊為基礎(chǔ)設(shè)計一個4位全加器并將其封裝成模塊。 3、以全加器為基礎(chǔ)設(shè)計一個4位乘法器并封裝成乘法器模塊,輸出顯示乘積和 正負數(shù)標志。 4、以2、3中生成的器件模塊為基礎(chǔ)構(gòu)成一個簡易計算器,實現(xiàn)如圖2.1所示。根據(jù)S的輸入,分別完成YA+B或YA×B。 要求: (1) 加數(shù)為正時,實現(xiàn)兩個4位二進制數(shù)與來自低位
3、進位的加法運算,輸出顯示和及高位進位。 (2) 加數(shù)為負時,實現(xiàn)兩個4位二進制數(shù)的減法運算,輸出顯示差的原碼和正負數(shù)標志。 圖2.1 簡易計算器框圖3 整體設(shè)計方案根據(jù)設(shè)計要求和系統(tǒng)所具有功能,并參考相關(guān)的文獻資料經(jīng)行方案,先設(shè)計一個全加器,再四位全加器,四位乘法器,然后構(gòu)成簡易計算器。4 硬件電路的設(shè)計4.1 設(shè)計一位全加器一位全加器電路如圖4.1所示。其中A1、B1分別為兩個加數(shù),C1為來自低位的進位,S為輸出的全加和,C01為向高位的進位。 圖4.1 一位全加器檢查正確無誤后,進行全編譯,然后將其封裝成一位全加器模塊,如圖4.2所示。圖4.2 一位全加器模塊4.2設(shè)計四位全加器要實現(xiàn)一個
4、四位全加器,能進行加減法且以原碼方式輸出結(jié)果,分三步進行,流程如圖4.3所示。四位加法四位全加輸出全加 圖4.3 四位全加器流程圖(1)設(shè)計四位加法器用四個一位全加器的串行接法,即可得到四位串行加法器,實現(xiàn)四位二進制數(shù)的加法,用原理圖的方式在Quartus II中構(gòu)建原理圖如圖4.4。圖中A3A2A1A0、B3B2B1B0為兩個加數(shù),CO1為來自低位的進位,S3S2S1S0為全加和,CO2為向高位的進位 。 圖4.4 四位全加器原理圖檢查正確無誤后,進行全編譯,然后將其封裝成四位加法器模塊,如圖4.5所示。圖4.5 四位全加器模塊圖中A3A2A1A0、B3B2B1B0為兩個加數(shù),CO1為來自低
5、位的進位,S3S2S1S0為全加和,CO2為向高位的進位 。(2)設(shè)計可進行加減運算的四位全加器 在四位全加器電路中增設(shè)控制端k,當k=0時,對輸入的兩數(shù)進行加法運算,當k=1時,對輸入的兩數(shù)進行減法運算,并以原碼形式輸出差值。思路:將控制端k與加數(shù)和低位進位進行異或運算,這樣k=1時,異或后得到原加數(shù)的反碼,低位進位為1,此時被加數(shù)和加數(shù)的補碼相加,得到差的補碼,再將補碼取反加1后得到差的原碼;k=0時,異或后原加數(shù)不變,此時被加數(shù)和加數(shù)相加,進行的是加法運算。主要通過控制端k的各種異或運算實現(xiàn),具體電路如圖4.6所示。其中A3A2A1A0為被加數(shù),B3B2B1B0為加數(shù),k為控制端,當k=
6、0時,進行加法運算,CO1為來自低位的進位,和為Y3Y2Y1Y0,CO為和向高位的進位;當k=1時,進行減法運算,即A3A2A1A0 B3B2B1B0, CO為差的符號,CO=0表示差為正數(shù),差值為Y3Y2Y1Y0,CO=1表示差為負數(shù),差的原碼為Y3Y2Y1Y0。圖4.6 檢查正確無誤后,進行全編譯,然后將其封裝成四位全加器模塊,如圖4.7.圖4.7其中A3A2A1A0為被加數(shù),B3B2B1B0為加數(shù),k為控制端,其功能如下:當k=0時,進行加法運算,CO1為來自低位的進位,和為Y3Y2Y1Y0,CO為和向高位的進位;當k=1時,進行減法運算,即A3A2A1A0 B3B2B1B0, CO為差
7、的符號,CO=0表示差為正數(shù),差值為Y3Y2Y1Y0,CO=1表示差為負數(shù),差的原碼為Y3Y2Y1Y0。(3)實現(xiàn)四位全加器的原碼輸出(2)中得到的四位全加器模塊,其輸出和是二進制原碼,要想用數(shù)碼管顯示,需要將其轉(zhuǎn)換成對應(yīng)的十進制數(shù)。該全加器模塊的最大和為30,需用兩個數(shù)碼管顯示結(jié)果,因此需要將(2)中結(jié)果Y3Y2Y1Y0表示成兩個十進制的數(shù),符號位CO接到發(fā)光二極管上,用于指示和的正負。具體思路及實現(xiàn)過程如下。用Q3Q2Q1Q0、P3P2P1P0分別表示個位和十位的數(shù)碼管的輸入端,SF為符號位,現(xiàn)在需要找出Q3Q2Q1Q0、P3P2P1P0與Y3Y2Y1Y0及CO的關(guān)系。首先只考慮將二進制數(shù)
8、轉(zhuǎn)化成十進制數(shù),即先不考慮正負數(shù),通過列真值表發(fā)現(xiàn),當CO1Y3Y2Y1Y0表示的十進制數(shù)為09時,P3P2P1P0=0000,Q3Q2Q1Q0= Y3Y2Y1Y0;當CO1Y3Y2Y1Y0表示的十進制數(shù)為1019時,P3P2P1P0=0001,Q3Q2Q1Q0= Y3Y2Y1Y0+0110;當CO1Y3Y2Y1Y0表示的十進制數(shù)為2029時,P3P2P1P0=0010,Q3Q2Q1Q0= Y3Y2Y1Y0+1100;當CO1Y3Y2Y1Y0表示的十進制數(shù)為3039時,P3P2P1P0=0011,Q3Q2Q1Q0= Y3Y2Y1Y0+0010。其中CO1、SF與k及CO的關(guān)系如下表:KCOCO
9、1SF0000(正數(shù))0110(正數(shù))1000(正數(shù))1101(負數(shù))因此,CO1= K CO,SF= KCO。由上述知,可以通過一個四位加法器來實現(xiàn)CO1Y3Y2Y1Y0到Q3Q2Q1Q0的變換。四位全加器的輸入端為A3A2A1A0和B3B2B1B0。將Y3Y2Y1Y0接到B3B2B1B0端,現(xiàn)在求A3A2A1A0與CO1Y3Y2Y1Y0的關(guān)系。通過真值表、卡諾圖化簡得到:A3= (Y3Y2+ Y3Y1) CO1A2= CO1(Y3Y2Y1)+ CO1 Y3 (Y2+Y1)A1= CO1 Y3 (Y2+Y1)+ CO1(Y3Y2+ Y3Y2 Y1Y0)A0=0按照此關(guān)系連接好電路后,四位加法
10、器的輸出端S3S2S1S0即是Q3Q2Q1Q0。P3P2P1P0與CO1Y3Y2Y1Y0的關(guān)系也可類似得到:P3=P2=0P1= CO1(Y3Y2+ Y3(Y1+Y0)P0= A1.這樣就得到了Q3Q2Q1Q0、P3P2P1P0、SF與Y3Y2Y1Y0及CO的關(guān)系。連接電路如圖4.8所示。 圖4.8 四位全加器源碼輸出電路檢查正確無誤后,進行全編譯,然后將其封裝成四位譯碼全加器模塊,如圖4.9所示。其中A3A2A1A0為被加數(shù),B3B2B1B0為加數(shù),k為控制端,CO1為來自低位的進位,k=0時,進行加法運算,k=1時,進行減法運算。SF為符號位,SF=0表示結(jié)果為正數(shù),SF=1表示結(jié)果為負數(shù)
11、,將Q3Q2Q1Q0、P3P2P1P0分別連到表示個位和十位的數(shù)碼管上,則數(shù)碼管既可以顯示結(jié)果。如,結(jié)果為-13時,SF=1,Q3Q2Q1Q0=0011,P3P2P1P0=0001圖4.9 封裝后的四位譯碼全加器模塊4.3 設(shè)計四位乘法器要實現(xiàn)兩個四位二進制數(shù)的乘法運算,即是實現(xiàn)相乘、移位、相加的功能,為此分三步進行,過程如圖4.10所示。 八位乘法器 四位乘法器譯碼輸出八位 乘積 圖4.10 四位乘法器流程圖具體實現(xiàn)過程如下。(1)設(shè)計八位加法器利用2(1)中的四位加法器實現(xiàn)一個八位的串行加法器電路,如圖4.11所示。 圖4.11 八位的串行加法器電路 檢查正確無誤后,進行全編譯,然后將其封
12、裝成八位加法器模塊,如圖4.12。其中A7A6A5A4A3A2A1A0、B7B6B5B4B3B2B1B0為兩個加數(shù),CO1為來自低位的進位,S7S6S5S4S3S2S1S0為和,CO2為向高位的進位。圖4.12 封裝后的八位加法器模塊(2)設(shè)計四位乘法器 A3A2A1A0為被乘數(shù),B3B2B1B0為乘數(shù),BSF為乘數(shù)的符號位。 思路:將A3A2A1A0分別與B3、B2、B1、B0相乘,得到四個八位二進制數(shù),將這四個八位二進制數(shù)相加即得到乘積的結(jié)果。S7S6S5S4S3S2S1S0表示乘積,SF表示乘積的符號。原理圖圖4.13所示。 圖4.13 四位乘法電路 檢查正確無誤后,進行全編譯,然后將其
13、封裝成四位乘法器模塊,如圖4.13所示。封裝后的圖如圖4.13所示其中A3A2A1A0為被乘數(shù),B3B2B1B0為乘數(shù),BSF為乘數(shù)的符號位,S7S6S5S4S3S2S1(3)將乘積結(jié)果轉(zhuǎn)化為十進制數(shù)圖4.13 封裝后的四位乘法器模塊通過全編譯,將其封裝,得到譯碼器模塊,如下圖4.14所示。其功能是將八 位二進制數(shù)A7A6A5A4A3A2A1A0轉(zhuǎn)換成B11B10B9B8B7B6B5B4B3B2B1B0,將B11B10B9B8、B7B6B5B4、B3B2B1B0分別接到數(shù)碼管ABC上,即可顯示十進制數(shù)ABC。S0表示乘積,SF表示乘積的符號。圖4.14 譯碼器模塊4.4 構(gòu)成簡易計算器實驗任務(wù)
14、要求,最終的計算器框圖如圖4.15.具有如下功能:根據(jù)S的輸入,分別完成YA+B或YA×B4.15 簡易計算器思路:將輸入的四位二進制數(shù)A3A2A1A0、B3B2B1B0分別與S進行與運算后接到四位譯碼全加器的輸入端,將A3A2A1A0、B3B2B1B0分別與S進行與運算后接到四位乘法器的輸入端,最后將加法器和乘法器的對應(yīng)輸出做或運算,作為最終的輸出。這樣,S=0時,加法器輸出0,乘法器輸出兩個數(shù)的乘積,最終得到的是乘積,即進行了乘法運算;S=1時,乘法器輸出0,加法器輸出兩個數(shù)的和,最終得到的是和,即進行了加法運算。原理圖如下 圖4.16 簡易計算器原理圖半編譯后,建立波形文件,進
15、行功能仿真,結(jié)果如下:檢查正確無誤后,進行全編譯,然后將其封裝成簡易計算器模塊,如圖4.17所示。圖4.17 封裝后的簡易計算器模塊A3A2A1A0為被加數(shù)(被乘數(shù)),B3B2B1B0為加數(shù)(乘數(shù)),BSF為B3B2B1B0的符號,S為控制端,將P11P10P9P8、P7P6P5P4、P3P2P1P0分別接到數(shù)碼管ABC上,SF接到發(fā)光二極管上,功能如下:S=0時,ABC顯示兩個輸入的數(shù)的乘積,二極管顯示符號,發(fā)光表示負數(shù),不發(fā)光表示正數(shù);S=1時,ABC顯示兩個輸入的數(shù)的和,二極管顯示符號,發(fā)光表示負數(shù),不發(fā)光表示正數(shù)。5 軟件設(shè)計四位乘法器乘積的結(jié)果為一個八位的二進制數(shù),為了使其能夠用三位
16、數(shù)碼管表示出來,需要將八位二進制數(shù)轉(zhuǎn)化為三位十進制數(shù),即完成譯碼功能。用原理圖的方式較復(fù)雜,且不易實現(xiàn),因此考慮用VHDL語言編寫程序。程序如下:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY yimaqi IS PORT (A:IN STD_LOGIC_VECTOR(7 DOWNTO 0); B:OUT STD_LOGIC_VECTOR(11 DOWNTO 0);END yimaqi; IF A(1)='0'
17、; THEN a1:=0;ELSE a1:=1;END IF; IF A(2)='0' THEN a2:=0;ELSE a2:=1;END IF; IF A(3)='0' THEN a3:=0;ELSE a3:=1;END IF; IF A(4)='0' THEN a4:=0;ELSE a4:=1;END IF; IF A(5)='0' THEN a5:=0;ELSE a5:=1;END IF; IF A(6)='0' THEN a6:=0;ELSE a6:=1;END IF; IF A(7)='0'
18、; THEN a7:=0;ELSE a7:=1;END IF; SUM:=a7*128+a6*64+a5*32+a4*16+a3*8+a2*4+a1*2+a0; b2:=SUM/100; b1:=SUM/10 MOD 10; b0:=SUM MOD 10; CASE b2 IS WHEN 0=> B(11 DOWNTO 8)<="0000" WHEN 1=> B(11 DOWNTO 8)<="0001" WHEN 2=> B(11 DOWNTO 8)<="0010" WHEN others=>
19、B(11 downto 8)<="1111" END CASE; CASE b1 IS WHEN 0=> B(7 DOWNTO 4)<="0000" WHEN 1=> B(7 DOWNTO 4)<="0001" WHEN 2=> B(7 DOWNTO 4)<="0010" WHEN 3=> B(7 DOWNTO 4)<="0011" WHEN 4=> B(7 DOWNTO 4)<="0100" WHEN 5=&
20、gt; B(7 DOWNTO 4)<="0101" WHEN 6=> B(7 DOWNTO 4)<="0110" WHEN 7=> B(7 DOWNTO 4)<="0111" WHEN 8=> B(7 DOWNTO 4)<="1000" WHEN 9=> B(7 DOWNTO 4)<="1001" WHEN others=>B(7 downto 4)<="1111" END CASE; CASE b0 IS A
21、RCHITECTURE mulyima OF yimaqi IS BEGIN PROCESS(A) VARIABLE a0,a1,a2,a3,a4,a5,a6,a7,SUM,b0,b1,b2:INTEGER; BEGIN IF A(0)='0' THEN a0:=0; ELSE a0:=1; END IF; WHEN 0=> B(3 DOWNTO 0)<="0000" WHEN 1=> B(3 DOWNTO 0)<="0001" WHEN 2=> B(3 DOWNTO 0)<="0010&qu
22、ot; WHEN 3=> B(3 DOWNTO 0)<="0011" WHEN 4=> B(3 DOWNTO 0)<="0100" WHEN 5=> B(3 DOWNTO 0)<="0101" WHEN 6=> B(3 DOWNTO 0)<="0110" WHEN 7=> B(3 DOWNTO 0)<="0111" WHEN 8=> B(3 DOWNTO 0)<="1000" WHEN 9=> B(3 DOWNTO 0)<="1001" WHEN others=>B(3 downto 0)<="1111" END CASE; END PROCESS; END ARCHITECTURE;6 系統(tǒng)仿真與分析6.1 仿真結(jié)果利用quartusII軟件對本程序進行編譯,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 時尚音樂活動策劃方案
- 春季期中隊活動方案
- 教育活動語言活動方案
- 新店超市活動方案
- 明達中學創(chuàng)建活動方案
- 新山慈善活動方案
- 春節(jié)工會爬山活動方案
- 新生體驗課堂活動方案
- 新年公司團隊活動方案
- 新店紋身活動方案
- 美團外賣員工合同范本
- GB 45671-2025建筑防水涂料安全技術(shù)規(guī)范
- 2025屆廣東省東莞市東華中學八年級數(shù)學第二學期期末檢測試題含解析
- 殲20課件教學課件
- 盤古開天辟地試題及答案
- 廣東深圳2025年公開招聘農(nóng)村黨務(wù)(村務(wù))工作者筆試題帶答案分析
- 2025-2030中國電池行業(yè)發(fā)展分析及市場競爭格局與發(fā)展前景預(yù)測研究報告
- 社區(qū)矯正人員日常行為規(guī)范
- 藥食同源106種25年4月更新
- 農(nóng)村自建房業(yè)主培訓課件
- 財產(chǎn)申報表-被執(zhí)行人用
評論
0/150
提交評論