




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上*級(jí)學(xué)生EDA課程設(shè)計(jì) EDA課程設(shè)計(jì)報(bào)告書課題名稱 基于EDA的簡(jiǎn)易計(jì)算器的設(shè)計(jì)姓 名 學(xué) 號(hào) 院 系 專 業(yè) 指導(dǎo)教師 年 月 日 一、設(shè)計(jì)任務(wù)及要求:設(shè)計(jì)任務(wù): 設(shè)計(jì)一個(gè)簡(jiǎn)易的計(jì)算器。要 求: 在可編程邏輯器件上實(shí)現(xiàn)一個(gè)簡(jiǎn)易計(jì)算器,可以進(jìn)行4位二進(jìn)制數(shù)的加法 和乘法運(yùn)算,其中被加(乘)數(shù)取值范圍015,加(乘)數(shù)取值范圍-1515。要求用原理圖的輸入方式及硬件描述語言的結(jié)構(gòu)描述方式完成。指導(dǎo)教師簽名: 年 月 日 二、指導(dǎo)教師評(píng)語:指導(dǎo)教師簽名: 年 月 日 三、成績(jī)驗(yàn)收蓋章 2011 年 月 日 基于EDA的簡(jiǎn)易計(jì)算器的設(shè)計(jì) 1 設(shè)計(jì)目的(1)學(xué)習(xí)面向可編程器
2、件的FPGA的簡(jiǎn)單數(shù)字系統(tǒng)的設(shè)計(jì)流程;(2)掌握EDA軟件Quartus II的原理圖輸入方式,以及硬件描述語言描述方式;(3)熟悉EDA編輯軟件。2設(shè)計(jì)的主要內(nèi)容和要求 1、設(shè)計(jì)一個(gè)1位全加器。運(yùn)用波形仿真檢查功能正確后,將其封裝成1位全加器模塊。 2、以1中已封裝的1位全加器模塊為基礎(chǔ)設(shè)計(jì)一個(gè)4位全加器并將其封裝成模塊。 3、以全加器為基礎(chǔ)設(shè)計(jì)一個(gè)4位乘法器并封裝成乘法器模塊,輸出顯示乘積和 正負(fù)數(shù)標(biāo)志。 4、以2、3中生成的器件模塊為基礎(chǔ)構(gòu)成一個(gè)簡(jiǎn)易計(jì)算器,實(shí)現(xiàn)如圖2.1所示。根據(jù)S的輸入,分別完成YA+B或YA×B。 要求: (1) 加數(shù)為正時(shí),實(shí)現(xiàn)兩個(gè)4位二進(jìn)制數(shù)與來自低位
3、進(jìn)位的加法運(yùn)算,輸出顯示和及高位進(jìn)位。 (2) 加數(shù)為負(fù)時(shí),實(shí)現(xiàn)兩個(gè)4位二進(jìn)制數(shù)的減法運(yùn)算,輸出顯示差的原碼和正負(fù)數(shù)標(biāo)志。 圖2.1 簡(jiǎn)易計(jì)算器框圖3 整體設(shè)計(jì)方案根據(jù)設(shè)計(jì)要求和系統(tǒng)所具有功能,并參考相關(guān)的文獻(xiàn)資料經(jīng)行方案,先設(shè)計(jì)一個(gè)全加器,再四位全加器,四位乘法器,然后構(gòu)成簡(jiǎn)易計(jì)算器。4 硬件電路的設(shè)計(jì)4.1 設(shè)計(jì)一位全加器一位全加器電路如圖4.1所示。其中A1、B1分別為兩個(gè)加數(shù),C1為來自低位的進(jìn)位,S為輸出的全加和,C01為向高位的進(jìn)位。 圖4.1 一位全加器檢查正確無誤后,進(jìn)行全編譯,然后將其封裝成一位全加器模塊,如圖4.2所示。圖4.2 一位全加器模塊4.2設(shè)計(jì)四位全加器要實(shí)現(xiàn)一個(gè)
4、四位全加器,能進(jìn)行加減法且以原碼方式輸出結(jié)果,分三步進(jìn)行,流程如圖4.3所示。四位加法四位全加輸出全加 圖4.3 四位全加器流程圖(1)設(shè)計(jì)四位加法器用四個(gè)一位全加器的串行接法,即可得到四位串行加法器,實(shí)現(xiàn)四位二進(jìn)制數(shù)的加法,用原理圖的方式在Quartus II中構(gòu)建原理圖如圖4.4。圖中A3A2A1A0、B3B2B1B0為兩個(gè)加數(shù),CO1為來自低位的進(jìn)位,S3S2S1S0為全加和,CO2為向高位的進(jìn)位 。 圖4.4 四位全加器原理圖檢查正確無誤后,進(jìn)行全編譯,然后將其封裝成四位加法器模塊,如圖4.5所示。圖4.5 四位全加器模塊圖中A3A2A1A0、B3B2B1B0為兩個(gè)加數(shù),CO1為來自低
5、位的進(jìn)位,S3S2S1S0為全加和,CO2為向高位的進(jìn)位 。(2)設(shè)計(jì)可進(jìn)行加減運(yùn)算的四位全加器 在四位全加器電路中增設(shè)控制端k,當(dāng)k=0時(shí),對(duì)輸入的兩數(shù)進(jìn)行加法運(yùn)算,當(dāng)k=1時(shí),對(duì)輸入的兩數(shù)進(jìn)行減法運(yùn)算,并以原碼形式輸出差值。思路:將控制端k與加數(shù)和低位進(jìn)位進(jìn)行異或運(yùn)算,這樣k=1時(shí),異或后得到原加數(shù)的反碼,低位進(jìn)位為1,此時(shí)被加數(shù)和加數(shù)的補(bǔ)碼相加,得到差的補(bǔ)碼,再將補(bǔ)碼取反加1后得到差的原碼;k=0時(shí),異或后原加數(shù)不變,此時(shí)被加數(shù)和加數(shù)相加,進(jìn)行的是加法運(yùn)算。主要通過控制端k的各種異或運(yùn)算實(shí)現(xiàn),具體電路如圖4.6所示。其中A3A2A1A0為被加數(shù),B3B2B1B0為加數(shù),k為控制端,當(dāng)k=
6、0時(shí),進(jìn)行加法運(yùn)算,CO1為來自低位的進(jìn)位,和為Y3Y2Y1Y0,CO為和向高位的進(jìn)位;當(dāng)k=1時(shí),進(jìn)行減法運(yùn)算,即A3A2A1A0 B3B2B1B0, CO為差的符號(hào),CO=0表示差為正數(shù),差值為Y3Y2Y1Y0,CO=1表示差為負(fù)數(shù),差的原碼為Y3Y2Y1Y0。圖4.6 檢查正確無誤后,進(jìn)行全編譯,然后將其封裝成四位全加器模塊,如圖4.7.圖4.7其中A3A2A1A0為被加數(shù),B3B2B1B0為加數(shù),k為控制端,其功能如下:當(dāng)k=0時(shí),進(jìn)行加法運(yùn)算,CO1為來自低位的進(jìn)位,和為Y3Y2Y1Y0,CO為和向高位的進(jìn)位;當(dāng)k=1時(shí),進(jìn)行減法運(yùn)算,即A3A2A1A0 B3B2B1B0, CO為差
7、的符號(hào),CO=0表示差為正數(shù),差值為Y3Y2Y1Y0,CO=1表示差為負(fù)數(shù),差的原碼為Y3Y2Y1Y0。(3)實(shí)現(xiàn)四位全加器的原碼輸出(2)中得到的四位全加器模塊,其輸出和是二進(jìn)制原碼,要想用數(shù)碼管顯示,需要將其轉(zhuǎn)換成對(duì)應(yīng)的十進(jìn)制數(shù)。該全加器模塊的最大和為30,需用兩個(gè)數(shù)碼管顯示結(jié)果,因此需要將(2)中結(jié)果Y3Y2Y1Y0表示成兩個(gè)十進(jìn)制的數(shù),符號(hào)位CO接到發(fā)光二極管上,用于指示和的正負(fù)。具體思路及實(shí)現(xiàn)過程如下。用Q3Q2Q1Q0、P3P2P1P0分別表示個(gè)位和十位的數(shù)碼管的輸入端,SF為符號(hào)位,現(xiàn)在需要找出Q3Q2Q1Q0、P3P2P1P0與Y3Y2Y1Y0及CO的關(guān)系。首先只考慮將二進(jìn)制數(shù)
8、轉(zhuǎn)化成十進(jìn)制數(shù),即先不考慮正負(fù)數(shù),通過列真值表發(fā)現(xiàn),當(dāng)CO1Y3Y2Y1Y0表示的十進(jìn)制數(shù)為09時(shí),P3P2P1P0=0000,Q3Q2Q1Q0= Y3Y2Y1Y0;當(dāng)CO1Y3Y2Y1Y0表示的十進(jìn)制數(shù)為1019時(shí),P3P2P1P0=0001,Q3Q2Q1Q0= Y3Y2Y1Y0+0110;當(dāng)CO1Y3Y2Y1Y0表示的十進(jìn)制數(shù)為2029時(shí),P3P2P1P0=0010,Q3Q2Q1Q0= Y3Y2Y1Y0+1100;當(dāng)CO1Y3Y2Y1Y0表示的十進(jìn)制數(shù)為3039時(shí),P3P2P1P0=0011,Q3Q2Q1Q0= Y3Y2Y1Y0+0010。其中CO1、SF與k及CO的關(guān)系如下表:KCOCO
9、1SF0000(正數(shù))0110(正數(shù))1000(正數(shù))1101(負(fù)數(shù))因此,CO1= K CO,SF= KCO。由上述知,可以通過一個(gè)四位加法器來實(shí)現(xiàn)CO1Y3Y2Y1Y0到Q3Q2Q1Q0的變換。四位全加器的輸入端為A3A2A1A0和B3B2B1B0。將Y3Y2Y1Y0接到B3B2B1B0端,現(xiàn)在求A3A2A1A0與CO1Y3Y2Y1Y0的關(guān)系。通過真值表、卡諾圖化簡(jiǎ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 四位全加器源碼輸出電路檢查正確無誤后,進(jìn)行全編譯,然后將其封裝成四位譯碼全加器模塊,如圖4.9所示。其中A3A2A1A0為被加數(shù),B3B2B1B0為加數(shù),k為控制端,CO1為來自低位的進(jìn)位,k=0時(shí),進(jìn)行加法運(yùn)算,k=1時(shí),進(jìn)行減法運(yùn)算。SF為符號(hào)位,SF=0表示結(jié)果為正數(shù),SF=1表示結(jié)果為負(fù)數(shù)
11、,將Q3Q2Q1Q0、P3P2P1P0分別連到表示個(gè)位和十位的數(shù)碼管上,則數(shù)碼管既可以顯示結(jié)果。如,結(jié)果為-13時(shí),SF=1,Q3Q2Q1Q0=0011,P3P2P1P0=0001圖4.9 封裝后的四位譯碼全加器模塊4.3 設(shè)計(jì)四位乘法器要實(shí)現(xiàn)兩個(gè)四位二進(jìn)制數(shù)的乘法運(yùn)算,即是實(shí)現(xiàn)相乘、移位、相加的功能,為此分三步進(jìn)行,過程如圖4.10所示。 八位乘法器 四位乘法器譯碼輸出八位 乘積 圖4.10 四位乘法器流程圖具體實(shí)現(xiàn)過程如下。(1)設(shè)計(jì)八位加法器利用2(1)中的四位加法器實(shí)現(xiàn)一個(gè)八位的串行加法器電路,如圖4.11所示。 圖4.11 八位的串行加法器電路 檢查正確無誤后,進(jìn)行全編譯,然后將其封
12、裝成八位加法器模塊,如圖4.12。其中A7A6A5A4A3A2A1A0、B7B6B5B4B3B2B1B0為兩個(gè)加數(shù),CO1為來自低位的進(jìn)位,S7S6S5S4S3S2S1S0為和,CO2為向高位的進(jìn)位。圖4.12 封裝后的八位加法器模塊(2)設(shè)計(jì)四位乘法器 A3A2A1A0為被乘數(shù),B3B2B1B0為乘數(shù),BSF為乘數(shù)的符號(hào)位。 思路:將A3A2A1A0分別與B3、B2、B1、B0相乘,得到四個(gè)八位二進(jìn)制數(shù),將這四個(gè)八位二進(jìn)制數(shù)相加即得到乘積的結(jié)果。S7S6S5S4S3S2S1S0表示乘積,SF表示乘積的符號(hào)。原理圖圖4.13所示。 圖4.13 四位乘法電路 檢查正確無誤后,進(jìn)行全編譯,然后將其
13、封裝成四位乘法器模塊,如圖4.13所示。封裝后的圖如圖4.13所示其中A3A2A1A0為被乘數(shù),B3B2B1B0為乘數(shù),BSF為乘數(shù)的符號(hào)位,S7S6S5S4S3S2S1(3)將乘積結(jié)果轉(zhuǎn)化為十進(jìn)制數(shù)圖4.13 封裝后的四位乘法器模塊通過全編譯,將其封裝,得到譯碼器模塊,如下圖4.14所示。其功能是將八 位二進(jìn)制數(shù)A7A6A5A4A3A2A1A0轉(zhuǎn)換成B11B10B9B8B7B6B5B4B3B2B1B0,將B11B10B9B8、B7B6B5B4、B3B2B1B0分別接到數(shù)碼管ABC上,即可顯示十進(jìn)制數(shù)ABC。S0表示乘積,SF表示乘積的符號(hào)。圖4.14 譯碼器模塊4.4 構(gòu)成簡(jiǎn)易計(jì)算器實(shí)驗(yàn)任務(wù)
14、要求,最終的計(jì)算器框圖如圖4.15.具有如下功能:根據(jù)S的輸入,分別完成YA+B或YA×B4.15 簡(jiǎn)易計(jì)算器思路:將輸入的四位二進(jìn)制數(shù)A3A2A1A0、B3B2B1B0分別與S進(jìn)行與運(yùn)算后接到四位譯碼全加器的輸入端,將A3A2A1A0、B3B2B1B0分別與S進(jìn)行與運(yùn)算后接到四位乘法器的輸入端,最后將加法器和乘法器的對(duì)應(yīng)輸出做或運(yùn)算,作為最終的輸出。這樣,S=0時(shí),加法器輸出0,乘法器輸出兩個(gè)數(shù)的乘積,最終得到的是乘積,即進(jìn)行了乘法運(yùn)算;S=1時(shí),乘法器輸出0,加法器輸出兩個(gè)數(shù)的和,最終得到的是和,即進(jìn)行了加法運(yùn)算。原理圖如下 圖4.16 簡(jiǎn)易計(jì)算器原理圖半編譯后,建立波形文件,進(jìn)
15、行功能仿真,結(jié)果如下:檢查正確無誤后,進(jìn)行全編譯,然后將其封裝成簡(jiǎn)易計(jì)算器模塊,如圖4.17所示。圖4.17 封裝后的簡(jiǎn)易計(jì)算器模塊A3A2A1A0為被加數(shù)(被乘數(shù)),B3B2B1B0為加數(shù)(乘數(shù)),BSF為B3B2B1B0的符號(hào),S為控制端,將P11P10P9P8、P7P6P5P4、P3P2P1P0分別接到數(shù)碼管ABC上,SF接到發(fā)光二極管上,功能如下:S=0時(shí),ABC顯示兩個(gè)輸入的數(shù)的乘積,二極管顯示符號(hào),發(fā)光表示負(fù)數(shù),不發(fā)光表示正數(shù);S=1時(shí),ABC顯示兩個(gè)輸入的數(shù)的和,二極管顯示符號(hào),發(fā)光表示負(fù)數(shù),不發(fā)光表示正數(shù)。5 軟件設(shè)計(jì)四位乘法器乘積的結(jié)果為一個(gè)八位的二進(jìn)制數(shù),為了使其能夠用三位
16、數(shù)碼管表示出來,需要將八位二進(jìn)制數(shù)轉(zhuǎn)化為三位十進(jìn)制數(shù),即完成譯碼功能。用原理圖的方式較復(fù)雜,且不易實(shí)現(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軟件對(duì)本程序進(jìn)行編譯,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 5《鋪滿金色巴掌的水泥道》教學(xué)設(shè)計(jì)-2024-2025學(xué)年三年級(jí)上冊(cè)語文統(tǒng)編版
- 1我是獨(dú)特的(教學(xué)設(shè)計(jì))2023-2024學(xué)年統(tǒng)編版道德與法治六年級(jí)下冊(cè)
- 學(xué)校室內(nèi)油漆 合同范本
- 3《公民意味著什么》第2課時(shí) 教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治六年級(jí)上冊(cè)統(tǒng)編版
- Module 6 Unit 2(教學(xué)設(shè)計(jì)) 2024-2025學(xué)年外研版英語八年級(jí)上冊(cè)
- 買賣門合同范本
- 現(xiàn)場(chǎng)布置采購(gòu)合同范本
- 3《我們班 他們班》 第1課時(shí) 教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治四年級(jí)上冊(cè)統(tǒng)編版
- 14 學(xué)習(xí)有方法 第一課時(shí) 教學(xué)設(shè)計(jì)-2023-2024學(xué)年道德與法治二年級(jí)下冊(cè)統(tǒng)編版
- 商品房買賣合同補(bǔ)充協(xié)議合同協(xié)議
- 地理中圖版2025新版七年級(jí)下冊(cè) 中圖版七年級(jí)下地理教學(xué)計(jì)劃
- 北京某中學(xué)2024-2025學(xué)年九年級(jí)上學(xué)期期中數(shù)學(xué)試題
- 2025-2025年七年級(jí)英語下冊(cè)教學(xué)計(jì)劃
- 酒店客房管理手冊(cè)
- 基坑支護(hù)及土方開挖施工方案
- 國(guó)家安全教育(臨沂職業(yè)學(xué)院)知到智慧樹答案
- 公司安全生產(chǎn)事故隱患內(nèi)部報(bào)告獎(jiǎng)勵(lì)工作制度
- 《室內(nèi)設(shè)計(jì)公共空間》課件
- 投資合作協(xié)議范本:投資合作協(xié)議書范本
- 外研版一年級(jí)上冊(cè)新交際英語(2024)Unit 6 Colour單元整體教學(xué)設(shè)計(jì)
- 抖音基礎(chǔ)課程培訓(xùn)
評(píng)論
0/150
提交評(píng)論