版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第9章章 Verilog數(shù)字電路設計數(shù)字電路設計 級連加法器級連加法器 并行加法器并行加法器 超前進位加法器超前進位加法器 流水線加法器流水線加法器(1)8位級連加法器位級連加法器module add_jl(sum,cout,a,b,cin);input7:0 a,b;input cin;output7:0 sum;output cout;full_add1 f0(a0,b0,cin,sum0,cin1); full_add1 f1(a1,b1,cin1,sum1,cin2);full_add1 f2(a2,b2,cin2,sum2,cin3);full_add1 f3(a3,b3,cin3
2、,sum3,cin4);full_add1 f4(a4,b4,cin4,sum4,cin5);full_add1 f5(a5,b5,cin5,sum5,cin6);full_add1 f6(a6,b6,cin6,sum6,cin7);full_add1 f7(a7,b7,cin7,sum7,cout);endmodule8 8位級連加法器代碼位級連加法器代碼(2 2)并行加法器)并行加法器 module add_bx(cout,sum,a,b,cin);input7:0 a,b; input cin;output7:0 sum; output cout;assign cout,sum=a+b+
3、cin;endmodule全部由邏輯門實現(xiàn)全部由邏輯門實現(xiàn)(3 3) 8 8位超前進位加法器位超前進位加法器 module add_ahead(sum,cout,a,b,cin);input7:0 a,b;input cin;output7:0 sum;output cout;wire7:0 G,P;wire7:0 C,sum;assign G0=a0&b0; assign P0=a0|b0;assign C0=cin;assign sum0=G0P0C0;assign G1=a1&b1; assign P1=a1|b1;assign C1=G0|(P0&cin);as
4、sign sum1=G1P1C1;assign G2=a2&b2; assign P2=a2|b2;assign C2=G1|(P1&C1);assign sum2=G2P2C2;assign G3=a3&b3;assign P3=a3|b3;assign C3=G2|(P2&C2);assign sum3=G3P3C3;assign G4=a4&b4;assign P4=a4|b4;assign C4=G3|(P3&C3);assign sum4=G2P2C2;assign G5=a5&b5; assign P5=a5|b5;assig
5、n C5=G4|(P4&C4);assign sum5=G5P5C5;assign G6=a6&b6;assign P6=a6|b6;assign C6=G5|(P5&C5);assign sum6=G6P6C6;assign G7=a7&b7; assign P7=a7|b7;assign C7=G6|(P6&C6);assign sum7=G7P7C7;assign cout=G7|(P7&C7); endmodule(4 4)流水線加法器)流水線加法器 module adder8(cout,sum,a,b,cin,enable);input
6、7:0 a,b;input cin,enable;output7:0 sum;output cout;reg cout;reg7:0 sum;reg3:0 tempa,tempb,firsts;reg firstc;always (posedge enable)beginfirstc,firsts=a3:0+b3:0+cin;tempa=a7:4; tempb=b7:4;endalways (posedge enable)begincout,sum7:4=tempa+tempb+firstc;sum3:0=firsts;endendmodule 并行乘法器并行乘法器 移位相加移位相加 查找表查
7、找表 加法樹加法樹module mult(outcome,a,b);parameter size=8;inputsize:1 a,b;output2*size:1 outcome;assign outcome=a*b;endmodule(1 1)并行乘法器)并行乘法器利用利用Verilog語言的乘法操作符,可很容語言的乘法操作符,可很容易地實現(xiàn)并行乘法器,并可由易地實現(xiàn)并行乘法器,并可由EDA綜合軟綜合軟件自動轉(zhuǎn)化為電路網(wǎng)表結構件自動轉(zhuǎn)化為電路網(wǎng)表結構n88并行乘法器的門級綜合原理圖 (2)移位相加乘法器)移位相加乘法器n移位相加乘法器將乘移位相加乘法器將乘法變?yōu)榧臃▽崿F(xiàn),其法變?yōu)榧臃▽崿F(xiàn),其
8、設計思路是:乘法通設計思路是:乘法通過逐次移位相加實現(xiàn),過逐次移位相加實現(xiàn),每次判斷乘數(shù)的最低每次判斷乘數(shù)的最低位,若為位,若為1則將被乘數(shù)則將被乘數(shù)移位相加。移位相加。44移位相加乘法操作示意圖移位相加乘法操作示意圖(3)加法樹乘法器 加法樹乘法器示意圖加法樹乘法器示意圖 (4)查找表乘法器)查找表乘法器n查找表乘法器將乘積直接存放在存儲器中,將操作查找表乘法器將乘積直接存放在存儲器中,將操作數(shù)(乘數(shù)和被乘數(shù))作為地址訪問存儲器,得到的數(shù)(乘數(shù)和被乘數(shù))作為地址訪問存儲器,得到的輸出數(shù)據(jù)就是乘法運算的結果。輸出數(shù)據(jù)就是乘法運算的結果。n查找表方式的乘法器速度只局限于所使用存儲器的查找表方式的
9、乘法器速度只局限于所使用存儲器的存取速度。但由于查找表規(guī)模隨操作數(shù)位數(shù)增加而存取速度。但由于查找表規(guī)模隨操作數(shù)位數(shù)增加而迅速增大,因此如用于實現(xiàn)位數(shù)寬的乘法操作,需迅速增大,因此如用于實現(xiàn)位數(shù)寬的乘法操作,需要要FPGA器件具有較大的片內(nèi)存儲器模塊。比如,器件具有較大的片內(nèi)存儲器模塊。比如,要實現(xiàn)要實現(xiàn)88乘法,要求存儲器的地址位寬為乘法,要求存儲器的地址位寬為16位,位,字長為字長為16位,即存儲器大小為位,即存儲器大小為1M比特。比特。n乘累加器的結構框圖 乘累加器(乘累加器(MAC)module MAC(out,opa,opb,clk,clr);output15:0 out;input7
10、:0 opa,opb;input clk,clr; wire15:0 sum; reg15:0 out; function15:0 mult; /函數(shù)定義,函數(shù)定義,mult函數(shù)完成乘法操作函數(shù)完成乘法操作input7:0 opa,opb; reg 15:0 result; integer i;beginresult=opa0? opb : 0;for(i=1; i=7; i=i+1)begin if(opai=1) result=result+(opb(i-1);endmult=result;endendfunction assign sum=mult(opa,opb)+out;always
11、 (posedge clk or posedge clr)begin if(clr) out=0; else out=sum; end endmodulen在實際中我們經(jīng)常會遇到這樣的問題,在實際中我們經(jīng)常會遇到這樣的問題,需要進行奇數(shù)次分頻,同時又要得到占需要進行奇數(shù)次分頻,同時又要得到占空比是空比是50%的方波波形。的方波波形。n可采用如下方法:用兩個計數(shù)器,一個可采用如下方法:用兩個計數(shù)器,一個由輸入時鐘上升沿觸發(fā),一個由輸入時由輸入時鐘上升沿觸發(fā),一個由輸入時鐘下降沿觸發(fā),最后將兩個計數(shù)器的輸鐘下降沿觸發(fā),最后將兩個計數(shù)器的輸出相或,即可得到占空比為出相或,即可得到占空比為50%的方波
12、的方波波形。波形。 9.4 奇數(shù)分頻與小數(shù)分頻奇數(shù)分頻與小數(shù)分頻 (1)奇數(shù)分頻)奇數(shù)分頻占空比占空比50%的奇數(shù)分頻(模的奇數(shù)分頻(模7) module count7(RESET,CLK,COUT);input CLK,RESET; output COUT;reg2:0 m,n;wire COUT; reg COUT1,COUT2;assign COUT=COUT1|COUT2;always (posedge CLK)beginif(!RESET) begin COUT1=0; m=0; endelse if(RESET)begin if(m=6) begin m=0; endelse m=
13、m+1;if(m=2) COUT1=COUT1;else if(m=5) COUT1=COUT1;endend占空比占空比50%的奇數(shù)分頻(模的奇數(shù)分頻(模7)always (negedge CLK)beginif(!RESET) begin COUT2=0; n=0; endelse if(RESET)begin if(n=6) begin n=0; endelse n=n+1;if(n=2) COUT2=COUT2; else if(n=5) COUT2=COUT2;endendendmodule功能仿真波形功能仿真波形模模7奇數(shù)分頻器功能仿真波形圖奇數(shù)分頻器功能仿真波形圖 (2)小數(shù)分頻
14、)小數(shù)分頻 n可用下面的方法大致實現(xiàn)小數(shù)分頻,即可用下面的方法大致實現(xiàn)小數(shù)分頻,即先設計兩個不同分頻比的整數(shù)分頻器,先設計兩個不同分頻比的整數(shù)分頻器,然后通過控制兩種分頻比出現(xiàn)的不同次然后通過控制兩種分頻比出現(xiàn)的不同次數(shù)來獲得所需要的小數(shù)分頻值,從而實數(shù)來獲得所需要的小數(shù)分頻值,從而實現(xiàn)平均意義上的小數(shù)分頻?,F(xiàn)平均意義上的小數(shù)分頻。 8.1小數(shù)分頻器小數(shù)分頻器module fdiv8_1(clk_in,rst,clk_out);input clk_in,rst;output clk_out;reg clk_out;reg3:0 cnt1;/cnt1計分頻的次數(shù)計分頻的次數(shù)reg3:0 cnt2
15、;always(posedge clk_in or posedge rst)begin if(rst) begin cnt1=0; cnt2=0; clk_out=0; end else if(cnt19)/9次次8分頻分頻 begin if(cnt27) begin cnt2=cnt2+1; clk_out=0; end else begin cnt2=0; cnt1=cnt1+1; clk_out=1; end end else begin/1次9分頻 if(cnt28) begin cnt2=cnt2+1; clk_out=0; end else begin cnt2=0; cnt1=0
16、; clk_out=1; end endendendmodule8.1小數(shù)分頻功能仿真波形小數(shù)分頻功能仿真波形 功能仿真波形功能仿真波形 9.5 數(shù)字跑表數(shù)字跑表 n設計一個數(shù)字跑表,設計一個數(shù)字跑表,該跑表具有復位、該跑表具有復位、暫停、秒表計時等暫停、秒表計時等功能。功能。n 跑表設三個輸入端,分別為時鐘輸入跑表設三個輸入端,分別為時鐘輸入(CLK)、復位()、復位(CLR)和啟動)和啟動/暫停暫停(PAUSE)按鍵。復位信號高電平有效,可對)按鍵。復位信號高電平有效,可對跑表異步清零;當啟動跑表異步清零;當啟動/暫停鍵為低電平時跑暫停鍵為低電平時跑表開始計時,為高電平時暫停,變低后在原來
17、表開始計時,為高電平時暫停,變低后在原來的數(shù)值基礎上繼續(xù)計數(shù)。的數(shù)值基礎上繼續(xù)計數(shù)。 9.6 數(shù)字頻率計數(shù)字頻率計 n設計一個設計一個4位頻率計,可測量從位頻率計,可測量從1Hz到到9,999Hz的信號頻率,并將被測信號的頻的信號頻率,并將被測信號的頻率在率在4個數(shù)碼管上顯示出來。個數(shù)碼管上顯示出來。n采用一個標準的基準時鐘,在單位時間采用一個標準的基準時鐘,在單位時間(如(如1秒)里對被測信號的脈沖數(shù)進行計數(shù),秒)里對被測信號的脈沖數(shù)進行計數(shù),即為信號的頻率。即為信號的頻率。4位數(shù)字頻率計的框圖位數(shù)字頻率計的框圖 9.7 交通燈控制器交通燈控制器 n設計一個十字路口交通燈控制器,其示設計一個
18、十字路口交通燈控制器,其示意圖如圖所示,意圖如圖所示,A方向和方向和B方向各設紅方向各設紅(R)、黃()、黃(Y)、綠()、綠(G)和左拐()和左拐(L)四盞燈,四種燈按合理的順序亮滅,并四盞燈,四種燈按合理的順序亮滅,并能將燈亮的時間以倒計時的形式顯示出能將燈亮的時間以倒計時的形式顯示出來。來。A方向B方向R1 Y1 G1 L1R2Y2G2L2 9.8 樂曲演奏電路樂曲演奏電路n采用FPGA器件驅(qū)動小揚聲器構成一個樂曲演奏電路,演奏的樂曲選擇“梁?!逼?,其曲譜如下。 3562155216 13 56 523651326516 16 57 樂曲演奏的原理n組成樂曲的每個音符的頻率值(音調(diào))及
19、其組成樂曲的每個音符的頻率值(音調(diào))及其持續(xù)的時間(音長)是樂曲能連續(xù)演奏所需持續(xù)的時間(音長)是樂曲能連續(xù)演奏所需的兩個基本數(shù)據(jù),因此只要控制輸出到揚聲的兩個基本數(shù)據(jù),因此只要控制輸出到揚聲器的激勵信號的頻率的高低和持續(xù)的時間,器的激勵信號的頻率的高低和持續(xù)的時間,就可以使揚聲器發(fā)出連續(xù)的樂曲聲。就可以使揚聲器發(fā)出連續(xù)的樂曲聲。 樂曲演奏電路原理框圖樂曲演奏電路原理框圖 9.10 實用多功能數(shù)字鐘實用多功能數(shù)字鐘 n用用Verilog語言設計一個多功能數(shù)字鐘,數(shù)字鐘具語言設計一個多功能數(shù)字鐘,數(shù)字鐘具有下述功能有下述功能(1)計時功能:包括時、分、秒的計時。)計時功能:包括時、分、秒的計時。(2)定時與鬧鐘功能:能在設定的時間發(fā)出鬧鈴音。)定時與鬧鐘功能:能在設定的時間發(fā)出鬧鈴音。(3)校時功能:對小時、分鐘和秒能手動調(diào)整以校)校時功能:對小時、分鐘和秒能手動調(diào)整以校準時間。準時間。(4)整點報時功能:每逢整點,產(chǎn)生)整點報時功能:每逢整點,產(chǎn)生“嘀嘀嘀嘀嘀嘀嘀嘀嘟嘟”,四短一長的報時音。,四短一長的報時音。9-1 用狀態(tài)機設計一個帶同步復位的十進制計數(shù)器,用狀態(tài)機設計一個帶同步復位的十進制計數(shù)器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力設備供應招標合同三篇
- 珠江花園房屋買賣合同三篇
- 人力資源招聘計劃
- 《黃金與美元的對決》課件
- 《魚苗繁育技術》課件
- 《酒店銷售技巧培訓》課件
- 醫(yī)院消毒滅菌課件
- 《使用框架設計網(wǎng)》課件
- 組織胚胎學課件結締組織
- 新能源建模報告范文
- 抗菌藥物臨床應用評估與持續(xù)改進制度
- 《網(wǎng)絡營銷》試題及答案2
- 2024年上海租房合同參考模板(五篇)
- 2024秋期國家開放大學《政治學原理》一平臺在線形考(形考任務四)試題及答案
- 第二單元 我們的學校 整體教學設計-2024-2025學年道德與法治三年級上冊統(tǒng)編版
- TSG 03-2015《特種設備事故報告和調(diào)查處理導則》
- 2024秋七年級英語上冊 Unit 7 How much are these socks教案(新版)人教新目標版
- 2024-2025學年語文六年級上冊統(tǒng)編版期末綜合測試卷
- 2024年新北師大版七年級數(shù)學上冊全冊課件
- 骨科護理年會
- 學前兒童健康教育活動設計智慧樹知到答案2024年云南國防工業(yè)職業(yè)技術學院
評論
0/150
提交評論