![FPGA課程設計實驗報告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/1c2212f9-3c5a-4e39-9522-f7935a868794/1c2212f9-3c5a-4e39-9522-f7935a8687941.gif)
![FPGA課程設計實驗報告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/1c2212f9-3c5a-4e39-9522-f7935a868794/1c2212f9-3c5a-4e39-9522-f7935a8687942.gif)
![FPGA課程設計實驗報告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/1c2212f9-3c5a-4e39-9522-f7935a868794/1c2212f9-3c5a-4e39-9522-f7935a8687943.gif)
![FPGA課程設計實驗報告_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/1c2212f9-3c5a-4e39-9522-f7935a868794/1c2212f9-3c5a-4e39-9522-f7935a8687944.gif)
![FPGA課程設計實驗報告_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/1c2212f9-3c5a-4e39-9522-f7935a868794/1c2212f9-3c5a-4e39-9522-f7935a8687945.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、合肥工業(yè)大學大學實驗報告課程名稱: FPGA設計 實驗名稱: 移位乘法器設計 & 8位Booth乘法器設計 姓 名: 陶輝 學 號: 20114712 班 級: 電子科學與技術11-1班 指導教師: 倪偉 合肥工業(yè)大學電子科學與應用物理學院制2移位乘法器一、 實驗原理移位和相加乘法原理,乘法通過逐項移位相加原理來實現(xiàn),從被乘數(shù)的最低位開始,若為1,則乘數(shù)右移后與上一次的和相加;若為0,左移后以全零相加,直至被乘數(shù)的最高位。 移位乘法器工作流程圖二、 實驗步驟算法主程序module MUL(A,B,data );input 7:0 A;input 7:0 B;output 15:0 da
2、ta;wire 15:0 data;reg 7:0 D;reg 7:0 A1;reg 7:0 B1;reg C;always (A or B)beginA1 = A;B1 = B;D = 0;C = 0;repeat(8)beginif(A10=1)C,D = D + B1;elseC,D = D + 0;C,D,A1 = C,D,A1 >> 1;endendassign data = D,A1;endmodule移位乘法器測試文件module test;reg 7:0 A;reg 7:0 B;/ Outputswire 15:0 data;/ Instantiate the Un
3、it Under Test (UUT)MUL uut (.A(A), .B(B), .data(data);initial begin/ Initialize InputsA = 0;B = 0;/ Wait 100 ns for global reset to finish#20;A = 8'b0000_0010;B = 8'b0000_1101; / Add stimulus hereend endmodule三、 實驗結果及分析2進制輸入輸出結果10進制輸入輸出結果四、 體會通過移位乘法器的設計,簡單的了解了ISE軟件的基本功能,主要菜單選項,以及如何建立一個工程,如何在
4、工程里面寫程序和進行編譯和綜合等。 總體來說最困難的部分就是把這個移位乘法器的算法弄明白??赡芪覀兤匠W约核愠朔]有任何困難,但是要通過編碼的形式,讓計算機能夠了解整個算法的流程卻不是一件容易的事情。在整個編寫移位乘法器的過程中,看懂整個流程圖花費了我很長的時間。了解整個算法的流程之后編程自然順理成章了。所以,我在之后做自己的課題“booth乘法器”的時候我也花費了很長的時間通過上網查詢,詳細了解這個算法的確切含義。雖然花費了很長的時間在研究算法上,但是我覺得是值得的,因為那是最根本的地方。最后結果也如愿出來了。所以,我覺得以后在編程的時候,了解你要編寫模塊的作用以及通過什么算法來實現(xiàn)是一件很
5、重要的事情。8位booth乘法器設計一、 實驗原理Booth算法是一種十分有效的計算有符號數(shù)乘法的算法。算法的新型之處在于減法也可用于計算乘積。Booth發(fā)現(xiàn)加法和減法可以得到同樣的結果。因為在當時移位比加法快得多,所以Booth發(fā)現(xiàn)了這個算法,Booth算法的關鍵在于把1分類為開始、中間、結束三種,如下圖所示當然一串0或者1的時候不操作,所以Booth算法可以歸類為以下四種情況:Booth算法根據(jù)乘數(shù)的相鄰2位來決定操作,第一步根據(jù)相鄰2位的4中情況來進行加或減操作,第二部仍然是將積寄存器右移,算法描述如下:(1) 根據(jù)當前為和其右邊的位,做如下操作: 00: 0的中間,無任何操作; 01:
6、 1的結束,將被乘數(shù)加到積的左半部分; 10:1的開始,積的左半部分減去被乘數(shù); 11: 1的中間,無任何操作。(2) 將積寄存器右移1位。 因為Booth算法是有符號數(shù)的乘法,因此積寄存器移位的時候,為了保留符號位,進行算術右移。同時如果乘數(shù)或者被乘數(shù)為負數(shù),則其輸入為該數(shù)的補碼,若積為負數(shù),則輸出結果同樣為該數(shù)的補碼。二、 實驗步驟主程序代碼:module booth8(data_on,data_out);input data_on;wire 15:0 data_on;output 19:0 data_out;wire 19:0 data_out;reg 7:0 R0,R1,R2;reg
7、c1,p;reg 4:0 i;reg 3:0 tmp;reg 19:0 data;always(data_on)beginR0=0;R1=data_on7:0;R2=data_on15:8;p=0;repeat(8)begincase(R20,p)2'b00: R0=R0;2'b01: R0=R0+R1;2'b10: R0=R0-R1;2'b11: R0=R0;endcasec1=R07;c1,R0,R2,p=c1,R0,R2,p>>1;enddata=0;repeat(16)beginrepeat(5)begintmp,data=tmp,data&
8、lt;<4;if(tmp>=5)tmp=tmp+3;elsetmp=tmp;data3:0=tmp;enddata,R0,R2=data,R0,R2<<1;endendassign data_out=data;endmodule頂層模塊:module top(clk,rst,data_out,data_in);input clk,rst;output 19:0 data_out;output 15:0 data_in;wire 15:0 data_in;reg 2:0 addra,ct;reg clk1;always(posedge clk or negedge rst
9、)beginif(rst = 0)beginct<=0;clk1<=0;endelse if(ct=7)beginclk1<=clk1;ct<=0;endelsect<=ct+1;endbooth8 U1(.data_out(data_out),.data_on(data_in);rom U2(.clka(clk1), / input clka.addra(addra), / input 2 : 0 addra.douta(data_in) / output 15 : 0 douta);always(posedge clk1 or negedge rst)begi
10、nif (rst=0)addra <= 0;elseaddra <= addra + 1;endendmodule測試模塊:module test;/ Inputsreg clk;reg rst;/ Outputswire 19:0 data_out;wire 15:0 data_in;/ Instantiate the Unit Under Test (UUT)top uut (.clk(clk), .rst(rst), .data_out(data_out), .data_in(data_in);initial begin/ Initialize Inputsclk = 0;r
11、st = 1;#10 rst=0;#10 rst=1;/ Wait 100 ns for global reset to finish#800 $stop; / Add stimulus hereendalways #5 clk=clk; endmodule三、 實驗結果及分析COE文件,輸入的8組數(shù)據(jù)cdc輸出結果:A:乘數(shù) B:被乘數(shù) data_booth:BCD輸出積A:乘數(shù) B:被乘數(shù) data_booth:十進制輸出積測試波形四、 體會經過兩個禮拜的不懈努力,終于把最后的實驗結果按要求完成了。從一開始的一頭霧水到逐漸明白了方向,了解了該如何操作。一切都是對未知知識上下求索。雖然團隊只有三個人,但是我們互相協(xié)助,各司其職,每個人分派自己的任務,并且每天按時按量完成;雖然我們三個人的基礎不是很好,但是我們齊心協(xié)力,把劣勢變成優(yōu)勢,把壓力當成動力,每天在實驗室忙完了還會主動的在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北工藝美術職業(yè)學院《傳統(tǒng)體育養(yǎng)生術》2023-2024學年第二學期期末試卷
- 浙江電力職業(yè)技術學院《工程力學(下)》2023-2024學年第二學期期末試卷
- 蘇科版數(shù)學七年級上冊4.3.1《用一元一次方程解決問題》聽評課記錄
- 北師大版道德與法治九年級上冊第3課 第1站《打開財富之門》聽課評課記錄
- 北師大的數(shù)學試卷
- 湖南汽車工程職業(yè)學院《圖像與視覺實驗》2023-2024學年第二學期期末試卷
- 認識壓強聽評課記錄表
- 鹽城博物館施工方案
- 實驗設計全解析
- 小學公開課聽評課記錄
- 2022年試行林木采伐管理方案
- 灌腸操作評分標準
- 企業(yè)年金基金管理機構基本服務和收費標準規(guī)范規(guī)范行業(yè)自律公約
- 小學二年級部編人教版上冊語文期末整理復習題
- 東華醫(yī)院麻醉科QoR-40隨訪表
- DB5106∕T 16-2021 機插水稻育秧基質制備技術規(guī)程
- 堤壩工程施工組織設計
- 常用鋼材化學成分及力學性能
- CPIM BSCM__v3_0_VC(課堂PPT)
- 雀巢面試的開放性問題
- 會議審批表模板
評論
0/150
提交評論