版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、加減法運(yùn)算器的設(shè)計(jì)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)二 加減法運(yùn)算器的設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?1、理解加減法運(yùn)算器的原理圖設(shè)計(jì)方法2、掌握加減法運(yùn)算器的verilog語言描述方法3、理解超前進(jìn)位算法的基本原理4、掌握基于模塊的多位加減運(yùn)算器的層次化設(shè)計(jì)方法5、掌握溢出檢測方法和標(biāo)志線的生成技術(shù)6、掌握加減運(yùn)算器的宏模塊設(shè)計(jì)方法二、實(shí)驗(yàn)任務(wù)1、 用verilog設(shè)計(jì)完成一個(gè)4位行波進(jìn)位的加減法運(yùn)算器,要求有溢出和進(jìn)位標(biāo)志,并封裝成模塊。模塊的端口描述如下:module lab2_ripplecarry 寬度可定制(默認(rèn)為4位)的行波進(jìn)位有符號(hào)數(shù)的加減法器。 #(parameter width=4)( input signe
2、d width-1:0 dataa,input signed width-1:0 datab,input add_sub, / if this is 1, add; else subtractinput clk, input cclr,input carry_in, /1 表示有進(jìn)位或借位output overflow,output carry_out, output reg width-1:0 result)2、 修改上述運(yùn)算器的進(jìn)位算法,設(shè)計(jì)超前進(jìn)位無符號(hào)加法算法器并封裝成模塊。模塊的端口描述如下:module lab2_lookaheadcarry / 4位超前進(jìn)位無符號(hào)加法器(inpu
3、t 3:0 a,input 3:0 b,input c0, /carry_ininput clk, input cclr,output reg carry_out,output reg 3:0sum);3、 在上述超前進(jìn)位加法運(yùn)算器的基礎(chǔ)上,用基于模塊的層次化設(shè)計(jì)方法,完成一個(gè)32位的加法運(yùn)算器,組內(nèi)超前進(jìn)位,組間行波進(jìn)位。4、 用宏模塊的方法實(shí)現(xiàn)一個(gè)32位加減運(yùn)算器。三、實(shí)驗(yàn)內(nèi)容1、用verilog設(shè)計(jì)完成一個(gè)4位行波進(jìn)位的加減法運(yùn)算器,要求有溢出和進(jìn)位標(biāo)志,并封裝成模塊。模塊的端口描述如下:1)將清零信號(hào)cclr(sw16)設(shè)為1無效,將控制加減的信號(hào)add_sub(sw17)設(shè)為1加法,
4、將輸入信號(hào)dataa(sw3sw0)和輸入信號(hào)datab(sw7sw4)設(shè)為幾組不同的值,觀察輸出信號(hào)result(ledr3ledr0),輸出信號(hào)overflow(ledg6),和輸出信號(hào)carry_out(ledr7)觀察并記錄輸出;2)將清零信號(hào)cclr(sw16)設(shè)為0有效,將原來的數(shù)據(jù)清除,觀察并記錄輸出,可以驗(yàn)證清零是否有效;3)再將清零信號(hào)cclr(sw16)設(shè)為1無效,將控制加減的信號(hào)add_sub(sw17)設(shè)為0減法,將輸入信號(hào)dataa(sw3sw0)和datab(sw7sw4)設(shè)為幾組不同的值,觀察輸出信號(hào)result(ledr3ledr0),輸出信號(hào)overflow(
5、ledg6),和輸出信號(hào)carry_out(ledr7)觀察并記錄輸出,觀察并記錄輸出。4)在時(shí)鐘信號(hào)處輸入一個(gè)上升沿(按下key0),觀察并記錄輸出。2、超前進(jìn)位無符號(hào)加法算法器并封裝成模塊1)將清零信號(hào)cclr(sw17)設(shè)為1無效,將輸入信號(hào)a(sw3sw0)和b(sw7sw4)和c0(sw15)設(shè)為幾組不同的值,觀察輸出信號(hào)sum(ledg3ledg0)和carry_out(ledg7),觀察并記錄輸出;2)將清零信號(hào)cclr(sw17)設(shè)為0有效,觀察是否可以清零,驗(yàn)證清零是否有效,觀察并記錄輸出。3、用基于模塊2的層次化設(shè)計(jì)方法,完成一個(gè)32位的加法運(yùn)算器,組內(nèi)超前進(jìn)位,組間行波進(jìn)
6、位。 1)調(diào)用一個(gè)32計(jì)數(shù)器模塊并封裝,引用兩個(gè)該計(jì)數(shù)器,分別給的加數(shù)和被加數(shù)輸入,將低位來的進(jìn)位c0(sw0)設(shè)為0,加法器清零信號(hào)cclr(sw17)設(shè)為0無效,計(jì)數(shù)器的使能控制端enable(sw15)設(shè)為 1有效,計(jì)數(shù)器的復(fù)位信號(hào)reset1(sw0)設(shè)為0無效,觀察并記錄觀察結(jié)果; 2)在1)的基礎(chǔ)上,將低位來的進(jìn)位c0(sw0)設(shè)為1,加法器清零信號(hào)cclr(sw17)設(shè)為0無效,計(jì)數(shù)器的使能控制端enable(sw15)設(shè)為 1有效,計(jì)數(shù)器的復(fù)位信號(hào)reset1(sw0)設(shè)為0無效,觀察并記錄觀察結(jié)果; 3)在1)的基礎(chǔ)上,將低位來的進(jìn)位c0(sw0)設(shè)為0,加法器清零信號(hào)ccl
7、r(sw17)設(shè)為1有效,計(jì)數(shù)器的使能控制端enable(sw15)設(shè)為 1有效,計(jì)數(shù)器的復(fù)位信號(hào)reset1(sw0)設(shè)為0無效,觀察并記錄觀察結(jié)果; 4)在1)的基礎(chǔ)上,將低位來的進(jìn)位c0(sw0)設(shè)為0,加法器清零信號(hào)cclr(sw17)設(shè)為0無效,計(jì)數(shù)器的使能控制端enable(sw15)設(shè)為 0無效,計(jì)數(shù)器的復(fù)位信號(hào)reset1(sw0)設(shè)為0無效,觀察并記錄觀察結(jié)果; 5)在1)的基礎(chǔ)上,將低位來的進(jìn)位c0(sw0)設(shè)為0,加法器清零信號(hào)cclr(sw17)設(shè)為1有效,計(jì)數(shù)器的使能控制端enable(sw15)設(shè)為 1有效,計(jì)數(shù)器的復(fù)位信號(hào)reset1(sw0)設(shè)為1有效,觀察并記
8、錄觀察結(jié)果;4、用宏模塊的方法實(shí)現(xiàn)一個(gè)32位加減運(yùn)算器 1)引用一個(gè)32位的加減法器,并將其封裝成模塊,仍用任務(wù)三中的32位計(jì)數(shù)器給加數(shù)和被加數(shù)值; 2)將輸入信號(hào)cclr(sw16)設(shè)為0無效,加減法控制信號(hào)add_sub(sw17)設(shè)為1加法,計(jì)數(shù)器的使能信號(hào)enable(sw15)設(shè)為1,計(jì)數(shù)器的復(fù)位信號(hào)reset1(sw0)設(shè)為0無效,觀察在信號(hào)檢測中引出的觀察對象; 3)將輸入信號(hào)cclr(sw16)設(shè)為0無效,加減法控制信號(hào)add_sub(sw17)設(shè)為0減法,計(jì)數(shù)器的使能信號(hào)enable(sw15)設(shè)為1,計(jì)數(shù)器的復(fù)位信號(hào)reset1(sw0)設(shè)為0無效,觀察在信號(hào)檢測中引出的觀
9、察對象; 4)將輸入信號(hào)cclr(sw16)設(shè)為0無效,加減法控制信號(hào)add_sub(sw17)設(shè)為1加法,計(jì)數(shù)器的使能信號(hào)enable(sw15)設(shè)為1有效,計(jì)數(shù)器的復(fù)位信號(hào)reset1(sw0)設(shè)為1有效,觀察在信號(hào)檢測中引出的觀察對象; 5)將輸入信號(hào)cclr(sw16)設(shè)為0無效,加減法控制信號(hào)add_sub(sw17)設(shè)為1加法,計(jì)數(shù)器的使能信號(hào)enable(sw15)設(shè)為0無效,計(jì)數(shù)器的復(fù)位信號(hào)reset1(sw0)設(shè)為1有效,觀察在信號(hào)檢測中引出的觀察對象。 四、實(shí)驗(yàn)儀器及設(shè)備:一、電腦( quartus 10.0) 二、de2_115開發(fā)板 五、實(shí)驗(yàn)步驟1 根據(jù)自己預(yù)習(xí)情況,編
10、寫verilog代碼2進(jìn)行功能仿真進(jìn)行分析與綜合,排除語法上的錯(cuò)誤建立波形仿真文件,輸入激勵(lì)生成功能仿真網(wǎng)表進(jìn)行功能仿真,觀察輸出結(jié)果3選擇器件選擇de2_115開發(fā)板的cyclone iv 4ce1154 分配管腳5 下載驗(yàn)證de2_115開發(fā)板的下載:使用usb-blaster進(jìn)行下載6 按照實(shí)驗(yàn)要求設(shè)置波段開關(guān),觀察ledr0的顯示,驗(yàn)證任務(wù)一、二的功能是否正確。7 按照實(shí)驗(yàn)原理進(jìn)行仿真,驗(yàn)證任務(wù)三、四的結(jié)果,仿真圖像如下:任務(wù)三任務(wù)四六、實(shí)驗(yàn)心得通過本次加減法運(yùn)算器的設(shè)計(jì)的實(shí)驗(yàn),我進(jìn)一步了解了verilog語言的基本語法,利用verilog語句實(shí)現(xiàn)了用verilog設(shè)計(jì)的帶有溢出和進(jìn)位
11、標(biāo)志的一個(gè)4位行波進(jìn)位的加減法運(yùn)算器,超前進(jìn)位無符號(hào)加法算法器,并將其封裝為模塊,調(diào)用實(shí)現(xiàn)了32位的加法計(jì)數(shù)器(組內(nèi)超前,組間行波行進(jìn)),以及用宏模塊的方法實(shí)現(xiàn)一個(gè)8位加減運(yùn)算器。在驗(yàn)證試驗(yàn)準(zhǔn)確性時(shí),學(xué)會(huì)了如何利用de2_115開發(fā)板進(jìn)行檢測。另外,在實(shí)驗(yàn)過程中,我也了解到了,我們要時(shí)刻細(xì)心嚴(yán)謹(jǐn),認(rèn)真做好每一步,避免出現(xiàn)低級(jí)錯(cuò)誤。七、思考題1、加減運(yùn)算電路中減法是如何實(shí)現(xiàn)的?回答:在加減運(yùn)算電路中,一個(gè)數(shù)減去另一個(gè)數(shù)是由一個(gè)數(shù)加上另一個(gè)數(shù)的補(bǔ)碼(即加上這個(gè)數(shù)取反再加1)來實(shí)現(xiàn)的。1、 超前進(jìn)位的原理是什么?回答:超前進(jìn)位加法器是利用輸入信號(hào)同時(shí)計(jì)算出每一位的進(jìn)位產(chǎn)生信號(hào)和進(jìn)位傳遞信號(hào),各級(jí)的進(jìn)
12、位彼此獨(dú)立產(chǎn)生,只與輸入數(shù)據(jù)和c0有關(guān),將各級(jí)間的進(jìn)位級(jí)聯(lián)傳播給去掉了,因此減小了進(jìn)位產(chǎn)生的延遲,實(shí)現(xiàn)了各位的并行運(yùn)算。令gi 為進(jìn)位產(chǎn)生信號(hào), pi 為進(jìn)位傳遞信號(hào)則ci+1= gi+ pi *ci即:c1=g0 + p0c0c2=g1 + p1c1 = g1 + p1g0 + p1p0 c0c3=g2 + p2c2 = g2 + p2g1 + p2p1g0 + p2p1p0c0c4=g3 + p3c3 = g3 + p3g2 + p3p2g1 + p3p2p1g0 + p3p2p1p0c02、 列出三種溢出檢測算法?回答:(1)根據(jù)操作數(shù)的符號(hào)位來檢測 fa和fb分別表示兩個(gè)操作數(shù)的(a,
13、b)的符號(hào)位,fs表示結(jié)果的符號(hào)位,則溢出信號(hào)為ovl =,若ovl=1則表示有溢出,若為0則沒有溢出。(2)根據(jù)進(jìn)位來檢測ci表示符號(hào)位的進(jìn)位,c表示數(shù)值最高位的進(jìn)位,則溢出信號(hào)ovl=cic,若ovl=1則表示有溢出,若為0則沒有溢出。(3)雙符號(hào)位法fs1和fs2表示結(jié)果的雙符號(hào)位,則則溢出信號(hào)ovl=fs1fs2,若ovl=1則表示有溢出,若為0則沒有溢出。3、 標(biāo)志線的生成方法是什么?回答:在此我們的設(shè)計(jì)方案中采取雙符號(hào)位法,對輸入數(shù)據(jù)進(jìn)行雙符號(hào)位表示,標(biāo)志位取最終結(jié)果高兩位的異或值,若結(jié)果為1,表示存在溢出;否則,表示沒有溢出。4、 如何理解模塊封裝和層次化的設(shè)計(jì)思想?回答:將一個(gè)
14、設(shè)計(jì)分為不同的層次進(jìn)行設(shè)計(jì),然后對每一部分的設(shè)計(jì)進(jìn)行封裝,最后在總的設(shè)計(jì)中進(jìn)行調(diào)用。模塊化的設(shè)計(jì)很好的體現(xiàn)了自上而下的設(shè)計(jì)思想。對于較大的工程,可以清洗的明白設(shè)計(jì)的邏輯,另外封裝好的模塊可以多次調(diào)用,節(jié)省了設(shè)計(jì)時(shí)間。5、 宏模塊的設(shè)計(jì)有何優(yōu)點(diǎn)與缺點(diǎn)?應(yīng)在何時(shí)使用?回答:優(yōu)點(diǎn):直接調(diào)用系統(tǒng)的模塊,大大節(jié)省了設(shè)計(jì)者的時(shí)間,并且減少了設(shè)計(jì)者出錯(cuò)的可能性,方便快捷。 缺點(diǎn):宏模塊都是已經(jīng)定以設(shè)計(jì)好的,用戶不能根據(jù)自己的需要進(jìn)行修改,因此具有一定的局限性。 何時(shí)使用:在設(shè)計(jì)對模塊內(nèi)部構(gòu)造要求不高時(shí),可以使用宏模塊,以減少設(shè)計(jì)的工作量。八、verilog代碼1、實(shí)現(xiàn)用verilog設(shè)計(jì)完成一個(gè)4位行波進(jìn)位
15、的加減法運(yùn)算器,要求有溢出和進(jìn)位標(biāo)志,并封裝成模塊。module lab_2_1#(parameter width=4)(input signed width-1:0 dataa,input signed width-1:0 datab,input add_sub, / if this is 1, add; else subtractinput clk, input cclr,input carry_in,output overflow,output carry_out,output reg width-1:0 result);wire width:0 dataa_temp;wire widt
16、h:0 datab_temp;reg width:0 ci_temp;reg width:0 result_temp;reg carry_in_temp;integer i; integer temp;assign dataa_tempwidth:0= dataawidth-1,dataawidth-1:0;assign datab_tempwidth:0=(add_sub=1)?databwidth-1,databwidth-1:0:databwidth-1,databwidth-1:0;assign overflow = (result_tempwidthresult_tempwidth-
17、1)? 1b1:1b0; assign carry_out=ci_tempwidth;always (dataa_temp or datab_temp or carry_in )begincarry_in_temp=(add_sub=1)?carry_in:carry_in;ci_temp0=carry_in_temp;temp=carry_in_temp;result_temp0= dataa_temp0datab_temp0ci_temp0; for (i=0;iwidth;i=i+1)begin ci_tempi+1=(dataa_tempidatab_tempi)&temp|(data
18、a_tempi&datab_tempi);/? result_tempi+1= dataa_tempi+1datab_tempi+1ci_tempi+1; temp=ci_tempi+1; end endalways (posedge clk or negedge cclr)beginif (!cclr )begin resultwidth-1:0 = 4b0000;end else begin resultwidth-1:0=result_tempwidth-1:0;endendendmodule2、實(shí)現(xiàn)修改上述運(yùn)算器的進(jìn)位算法,設(shè)計(jì)超前進(jìn)位無符號(hào)加法算法器并封裝成模塊module lab_
19、2_2 (input 3:0 a,input 3:0 b,input c0, input clk, input cclr,output reg carry_out,output reg 3:0sum);wire c1,c2,c3,c4;wire p0,p1,p2,p3; wire g0,g1,g2,g3; wire sum0,sum1,sum2,sum3;assign g0=a0&b0;assign g1=a1&b1;assign g2=a2&b2;assign g3=a3&b3;assign p0=a0b0;assign p1=a1b1;assign p2=a2b2;assign p3=a3b3;assign c1=g0|c0&p0;assign c2=g1|(g0&p1)|(c0&p0&p1);assign c3=g2|(g1&p2)|(g0&p1&p2)|(c0&p0&p1&p2);assign c4=g3|(g2&p3)|(g1&p2&p3)|(g0&p1&p2&p3)|(c0&p0&p1&p2&p3);assign sum0=p0c0;assign sum1=p1c1;assign sum2=p2c2;assign
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 奢侈品培訓(xùn)汽車
- 專業(yè)分包化標(biāo)準(zhǔn)精裝修工程管理
- Windows Server網(wǎng)絡(luò)管理項(xiàng)目教程(Windows Server 2022)(微課版)3.6 DHCP-任務(wù)5 DHCP客戶端配置
- 語法選修課 高中英語 非謂語動(dòng)詞 A篇
- 江蘇省徐州市銅山區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期中英語試卷(含答案解析)
- 第六章質(zhì)量與密度基礎(chǔ)練習(xí)題(含解析)2024-2025學(xué)年初中物理人教版八年級(jí)上冊
- 2024至2030年中國干豬膀胱行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年中國多用途雙面黏貼布帶行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年中國保安單元?dú)?shù)據(jù)監(jiān)測研究報(bào)告
- 2024年山東省中考語文試題含解析
- 買賣合同法律風(fēng)險(xiǎn)防范講座課件
- 《種樹郭橐駝傳》課件25張-統(tǒng)編版高中語文選擇性必修下冊
- 八年級(jí)體育與健康學(xué)科:第二章 素質(zhì)與鍛煉之柔韌練習(xí)教案-柔韌性練習(xí)1
- 遼寧省阜新市基層診所醫(yī)療機(jī)構(gòu)衛(wèi)生院社區(qū)衛(wèi)生服務(wù)中心村衛(wèi)生室名單目錄信息
- 人教版九年級(jí)英語全一冊總復(fù)習(xí)課件
- 廣播操比賽打分表
- 體育運(yùn)動(dòng)類知識(shí)競賽參考題庫200題(含答案)
- 第一單元 分?jǐn)?shù)乘法應(yīng)用題專項(xiàng)過關(guān)卷(單元測試)六年級(jí)上冊數(shù)學(xué)人教版
- 華為大學(xué)人才培養(yǎng)與發(fā)展實(shí)踐
- 圖形推理1概要課件
- 蘇教版二年級(jí)心理健康教育上冊第三課《不開心的時(shí)候》課件
評論
0/150
提交評論