版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、 初識(shí)Verilog HDLVerilog HDL三、Verilog HDL Verilog HDL 行為(xngwi)(xngwi)語(yǔ)句主要主要(zhyo)內(nèi)容:內(nèi)容:二、 Verilog HDL Verilog HDL 基礎(chǔ)(jch)(jch)四、Verilog HDVerilog HDL L設(shè)計(jì)風(fēng)格五、常見(jiàn)組合與時(shí)序邏輯電路Verilog HDLVerilog HDL描述第1頁(yè)/共33頁(yè)第一頁(yè),共34頁(yè)。常用組合電路(dinl)模塊的設(shè)計(jì)常用(chn yn)時(shí)序電路模塊的設(shè)計(jì)常見(jiàn)組合與時(shí)序(sh x)邏輯電路Verilog HDL描述用 Verilog HDL描述電路模塊小結(jié)第2頁(yè)/
2、共33頁(yè)第二頁(yè),共34頁(yè)。一、用 Verilog HDL描述電路(dinl)模塊小結(jié) 模塊中最重要(zhngyo)的部分是邏輯功能定義部分。 有3種方法可在模塊中產(chǎn)生邏輯功能: (1)用實(shí)例元件:內(nèi)置門(mén)元件、開(kāi)關(guān)元件、自行設(shè)計(jì)生成的元件。(結(jié)構(gòu)描述) 如:and #2 ul(q,a,b) 端口信號(hào)名稱(chēng)可以采用位置關(guān)聯(lián)方法和名稱(chēng)關(guān)聯(lián)方法進(jìn)行連接。 (2)用“assign”聲明語(yǔ)句連續(xù)賦值。(數(shù)據(jù)流描述) 采用“assign”語(yǔ)句是描述組合邏輯電路最常用的方法之一。 (3)用“always”或“initial”過(guò)程塊。 (行為描述)第3頁(yè)/共33頁(yè)第三頁(yè),共34頁(yè)。使用(shyng)initial
3、和always的區(qū)別 “always”塊既可用于描述組合邏輯,也可描述時(shí)序邏輯。 always語(yǔ)句(yj)是不斷地重復(fù)活動(dòng)的,直到仿真過(guò)程結(jié)束。但always語(yǔ)句(yj)后的過(guò)程塊是否運(yùn)行,則要看它的觸發(fā)條件是否滿(mǎn)足,如滿(mǎn)足則運(yùn)行過(guò)程塊一次,再次滿(mǎn)足則再運(yùn)行一次,直至仿真過(guò)程結(jié)束。 “initial”塊一般用于變量初始化及仿真波形產(chǎn)生。 Initial語(yǔ)句(yj)只執(zhí)行一次。 一個(gè)模塊中這三種表達(dá)方式是并發(fā)執(zhí)行的,有多個(gè)實(shí)例元件、“assign”聲明語(yǔ)句(yj)、“always”塊也是并發(fā)執(zhí)行的。但“always”塊內(nèi)是順序執(zhí)行的。 在一個(gè)模塊中,使用initial和always語(yǔ)句(yj)的
4、次數(shù)是不受限制的,它們都是同時(shí)開(kāi)始運(yùn)行的。第4頁(yè)/共33頁(yè)第四頁(yè),共34頁(yè)。行為(xngwi)描述 “always”或“initial”過(guò)程塊構(gòu)成了行為級(jí)建模的基礎(chǔ),即所有行為級(jí)語(yǔ)句只能出現(xiàn)在這兩種塊之中。 只有實(shí)例元件和“assign”連續(xù)賦值語(yǔ)句可以獨(dú)立在塊外。 行為級(jí)描述時(shí)如果分支條件比較(bjio)少,且有先后順序,選擇if-else語(yǔ)句; 如果條件分支比較(bjio)多,使用case(casez、casex)語(yǔ)句更加方便。 循環(huán)語(yǔ)句有4種(for、 repeat、 while 、forever),建議首選for語(yǔ)句。第5頁(yè)/共33頁(yè)第五頁(yè),共34頁(yè)。二、常用(chn yn)組合電路模
5、塊的設(shè)計(jì) 組合邏輯電路在數(shù)字系統(tǒng)中起著基本組件的作用(zuyng)。 組合邏輯電路包括:門(mén)電路、雙向三態(tài)門(mén)、加法器、多路選擇器、比較器、乘法器、總線等。第6頁(yè)/共33頁(yè)第六頁(yè),共34頁(yè)。(一)簡(jiǎn)單(jindn)組合電路的描述1 1、基本(jbn)(jbn)門(mén)電路的描述第7頁(yè)/共33頁(yè)第七頁(yè),共34頁(yè)。(2)用assign連續(xù)賦值語(yǔ)句描述module gate1(F,A,B,C,D);input A,B,C,D;output F;assign F=(A&B)|(B&C&D);/連續(xù)賦值語(yǔ)句endmodule(3)用過(guò)程語(yǔ)句always塊描述module gate2(F,A
6、,B,C,D);input A,B,C,D; output F;reg F;always (A or B or C or D) /always過(guò)程語(yǔ)句 F=(A&B)|(B&C&D);endmodule(1 1)調(diào)用(dioyng)(dioyng)內(nèi)置門(mén)元件描述module gate3(F,A,B,C,D);input A,B,C,D; output F;nand (F1,A,B); and(F2,B,C,D); or(F,F1,F2); /調(diào)用(dioyng)內(nèi)置門(mén)endmoduleassign F1=(A&B);assign F2=(B&C&
7、D);assign F=F1|F2;或第8頁(yè)/共33頁(yè)第八頁(yè),共34頁(yè)。2 2、三態(tài)門(mén)的描述(mio sh)(mio sh)reg out;beginalways (en or in)out=en ? in: bz;end(2)用assign連續(xù)(linx)賦值語(yǔ)句描述 (3)用過(guò)程(guchng)語(yǔ)句always塊描述(1)調(diào)用內(nèi)置門(mén)元件描述bufif1 b1(out,in,en);assign out=en ? in: bz;第9頁(yè)/共33頁(yè)第九頁(yè),共34頁(yè)。在Verilog HDL中,描述簡(jiǎn)單的組合邏輯通常使用(shyng)assign結(jié)構(gòu)。 注意:條件運(yùn)算符是一種在組合邏輯實(shí)現(xiàn)分支判斷
8、時(shí)常使用(shyng)的格式。第10頁(yè)/共33頁(yè)第十頁(yè),共34頁(yè)。(二)復(fù)雜組合電路(dinl)的描述 一般用always塊實(shí)現(xiàn)較復(fù)雜的組合(zh)邏輯電路1 1、3 3線-8-8線譯碼器module decoder_38(out,in); output7:0 out; input 2:0 in; reg7:0out; always (in) begin case(in) 3b000:out=8b11111110; 3b001:out=8b11111101; 3b010:out=8b11111011; 3b011:out=8b11110111; 3b100:out=8b11101111; 3b
9、101:out=8b11011111; 3b110:out=8b10111111; 3b111:out=8b01111111; default: out =8 bx; endcase endendmodule第11頁(yè)/共33頁(yè)第十一頁(yè),共34頁(yè)。QUARTUS II編譯(biny)后的生成的模塊符號(hào):2第12頁(yè)/共33頁(yè)第十二頁(yè),共34頁(yè)。module decode4_7(a,b,c,d,e,f,g,D3,D2,D1,D0); output a,b,c,d,e,f,g; input D3,D2,D1,D0; reg a,b,c,d,e,f,g; always (D3 or D2 or D1 o
10、r D0) begin case(D3,D2,D1,D0) 4d0:a,b,c,d,e,f,g=7b1111110; 4d1:a,b,c,d,e,f,g=7b0110000; 4d2:a,b,c,d,e,f,g=7b1101101; 4d3:a,b,c,d,e,f,g=7b1111001; 4d4:a,b,c,d,e,f,g=7b0110011; 4d5:a,b,c,d,e,f,g=7b1011011; 4d6:a,b,c,d,e,f,g=7b1011111; 4d7:a,b,c,d,e,f,g=7b1110000; 4d8:a,b,c,d,e,f,g=7b1111111; 4d9:a,b,c
11、,d,e,f,g=7b1111011; default:a,b,c,d,e,f,g=7bz; endcase endendmodule2 2、BCDBCD碼七段數(shù)碼(shm)(shm)顯示譯碼器第13頁(yè)/共33頁(yè)第十三頁(yè),共34頁(yè)。QUARTUS II編譯后的生成的模塊(m kui)符號(hào):第14頁(yè)/共33頁(yè)第十四頁(yè),共34頁(yè)。3 3、8 8線- -3 3線優(yōu)先( (y y u ux xi i n)n)編碼器module encoder8_3(outcode,a,b,c,d,e,f,g,h); output2:0 outcode; input a,b,c,d,e,f,g,h; reg2:0 ou
12、tcode; always (a or b or c or d or e or f or g or h) begin if(h) outcode=3b111; else if(g) outcode=3b110; else if(f) outcode=3b101; else if(e) outcode=3b100; else if(d) outcode=3b011; else if(c) outcode=3b010; else if(b) outcode=3b001; else if(a) outcode=3b000; else outcode=3bzzz; end endmodule要求:輸入
13、高電平有效,輸出(shch)為原碼,哪一個(gè)(y )輸入的優(yōu)先權(quán)最高?哪一個(gè)(y )最低?第15頁(yè)/共33頁(yè)第十五頁(yè),共34頁(yè)。QUARTUS II編譯后的生成的模塊(m kui)符號(hào):第16頁(yè)/共33頁(yè)第十六頁(yè),共34頁(yè)。4 4、數(shù)據(jù)(shj)(shj)選擇器(2 2選1 1、4 4選1)1)(略)5 5、奇偶校驗(yàn)位產(chǎn)生器module parity(even,odd,bus); input 7:0 bus; output even,odd; assign odd=bus ; /縮位運(yùn)算(yn sun)產(chǎn)生奇校驗(yàn)位 assign even=odd; /產(chǎn)生偶校驗(yàn)位endmodule第17頁(yè)/共3
14、3頁(yè)第十七頁(yè),共34頁(yè)。6、程序(chngx)如左所示,說(shuō)出for 語(yǔ)句的執(zhí)行過(guò)程,說(shuō)明該電路的功能module voter7(pass,vote); output pass; input6:0 vote; reg2:0 sum; integer i; reg pass; always (vote) begin sum=0; for(i=0;i=6;i=i+1) if(votei) sum=sum+1; if(sum2) pass=1; else pass=0; endendmodule(vote6 or vote5 or vote4 or vote3 or vote2 or vote1 or
15、 vote0 )3b000循環(huán)體 /i=7時(shí)這條語(yǔ)句得到執(zhí)行,判斷(pndun)sum是否大于等于4電路功能(gngnng):7人多數(shù)表決器第18頁(yè)/共33頁(yè)第十八頁(yè),共34頁(yè)。練習(xí):采用Verilog HDL case 語(yǔ)句對(duì)半加器進(jìn)行行為(xngwi)描述module halfadder(A,B,S,C); input A,B; output S,C; reg S,C; always (A or B) begin case (A,B) 2B00: S,C=2B00; 2B01: S,C=2B10; 2B10: S,C=2B10; 2B11: S,C=2B01; endcase endend
16、module第19頁(yè)/共33頁(yè)第十九頁(yè),共34頁(yè)。(一) 簡(jiǎn)單(jindn)時(shí)序邏輯電路的描述通常使用(shyng)always (posedge clk)或 (negedge clk)塊來(lái)描述時(shí)序邏輯?;綝 D觸發(fā)器module DFF(Q,D,CLK); output Q; input D,CLK; reg Q; always (posedge CLK) Q=D;endmodule三、常用(chn yn)時(shí)序電路模塊設(shè)計(jì)上升沿有效的邊沿結(jié)構(gòu)的上升沿有效的邊沿結(jié)構(gòu)的D D觸發(fā)器觸發(fā)器第20頁(yè)/共33頁(yè)第二十頁(yè),共34頁(yè)。(二) 復(fù)雜時(shí)序邏輯電路(lu j din l)的描述通常在alway
17、s 過(guò)程語(yǔ)句里使用條件語(yǔ)句來(lái)實(shí)現(xiàn)較復(fù)雜(fz)的時(shí)序邏輯電路 。第21頁(yè)/共33頁(yè)第二十一頁(yè),共34頁(yè)。1 1、帶清零、帶清零(qn(qn ln ln) )端、置端、置1 1端的端的D D觸發(fā)器觸發(fā)器module DFF1(q,qn,d,clk,set,reset); output q,qn; input d,clk,set,reset; reg q,qn; always (posedge clk ) begin if(!reset) begin q=0; qn=1; end else if(!set) begin q=1; qn=0; end else begin q=d; qn=d; en
18、d endendmoduleor negedge set or negedge reset同步清零(qn ln),低電平有效.優(yōu)先級(jí)高同步(tngb)置數(shù),低電平有效.優(yōu)先級(jí)低異步置數(shù)或異步清零?第22頁(yè)/共33頁(yè)第二十二頁(yè),共34頁(yè)。2 2、帶清零、帶清零(qn(qn ln ln) )端、置端、置1 1端的端的JKJK觸發(fā)器觸發(fā)器module JK_FF(CLK,J,K,Q,RS,SET); input CLK,J,K,SET,RS; output Q; reg Q; always (posedge CLK or negedge RS or negedge SET ) begin if(!R
19、S) Q=1B0; else if(!SET) q=1B1; else case(J,K) 2b00: Q=Q; 2b01:Q=1b0; 2b10:Q=1b1; 2b11:Q=Q; endcase endendmodule 異步清零(qn ln)、異步置數(shù)異步清零(qn ln),低電平有效第23頁(yè)/共33頁(yè)第二十三頁(yè),共34頁(yè)。3 3、數(shù)據(jù)、數(shù)據(jù)(shj)(shj)寄存器寄存器module reg8(out_data,in_data,clk,clr); output7:0 out_data; input7:0 in_data; input clk,clr; reg7:0 out_data; a
20、lways (posedge clk or posedge clr) begin if(clr) out_data=0; else out_data=in_data; endendmodule 異步清零(qn ln),高電平有效第24頁(yè)/共33頁(yè)第二十四頁(yè),共34頁(yè)。4 4、數(shù)據(jù)、數(shù)據(jù)(shj)(shj)鎖存器鎖存器module latch_8(qout, data,clk); output7:0 qout; input7:0 data; input clk; reg7:0 qout; always ( clk or data) if(clk) qout=data;endmodule 第25頁(yè)
21、/共33頁(yè)第二十五頁(yè),共34頁(yè)。寄存器與鎖存器 寄存器與鎖存器的異同: 相同點(diǎn): 功能相同,都具有保存(bocn)數(shù)據(jù)的功能。 區(qū)別:鎖存器一般是由電平信號(hào)來(lái)控制的,屬于電平敏感型,而寄存器一般由同步時(shí)鐘信號(hào)控制,屬于邊沿敏感型, 若數(shù)據(jù)有效滯后于控制信號(hào)有效,則只能使用鎖存器,若數(shù)據(jù)提前于控制信號(hào),并要求同步操作,則可以選擇寄存器來(lái)存放數(shù)據(jù) 第26頁(yè)/共33頁(yè)第二十六頁(yè),共34頁(yè)。module shifter(din,clk,clr,dout); input din,clk,clr; output7:0 dout; reg7:0 dout; always (posedge clk) begi
22、n if(clr) dout=8b0; else begin dout=dout1; dout0=din; end endendmodule5 5、左移寄存器、左移寄存器第27頁(yè)/共33頁(yè)第二十七頁(yè),共34頁(yè)。6、循環(huán)(xnhun)左移寄存器 module shifter(clk,clr,dout,load,d); input clk,clr,load; input7:0d; output7:0 dout; reg7:0 dout; reg din; always (posedge clk) begin if(clr) dout=8b0; /同步低電平復(fù)位(f wi) else if(load) dout=d; /同步高電平置數(shù) else begin din=dout7; /循環(huán)左移 dout=dout1; dout0=din; end end endmodule第28頁(yè)/共33頁(yè)第二十八頁(yè),共34頁(yè)。仿真(fn zhn)波形第29頁(yè)/共33頁(yè)第二十九頁(yè),共34頁(yè)。7 7、計(jì)數(shù)器、計(jì)數(shù)器module updown_count(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 拖拉機(jī)零部件國(guó)產(chǎn)化趨勢(shì)-洞察分析
- 通信設(shè)備維修人員職業(yè)素養(yǎng)提升-洞察分析
- 土衛(wèi)六大氣化學(xué)-洞察分析
- 血塞通注射液市場(chǎng)推廣策略-洞察分析
- 響應(yīng)式頁(yè)面優(yōu)化-洞察分析
- 胸膜炎的微創(chuàng)手術(shù)治療-洞察分析
- 星系磁場(chǎng)與暗物質(zhì)分布-洞察分析
- 藥品包裝設(shè)備創(chuàng)新-洞察分析
- 網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評(píng)估-第12篇-洞察分析
- 腺體分泌與腸道菌群研究-洞察分析
- 機(jī)械加工刀具中英文對(duì)照外文翻譯文獻(xiàn)
- 泰達(dá)時(shí)代中心樓頂發(fā)光字施工方案
- 七年級(jí)上冊(cè)數(shù)學(xué)期末考試(難的)
- 北京匯文中學(xué)新初一均衡分班語(yǔ)文試卷
- 國(guó)家開(kāi)放大學(xué)電大《政治學(xué)原理》期末試題標(biāo)準(zhǔn)題庫(kù)及答案(試卷號(hào)2208)
- 作物生產(chǎn)與經(jīng)營(yíng)管理專(zhuān)業(yè)調(diào)研報(bào)告
- 金銀花的藥理作用研究進(jìn)展
- 中小學(xué)國(guó)防教育主題班會(huì)PPT
- 借用施工路段施工方案
- 正常心電圖教學(xué)課件
- 財(cái)務(wù)崗總結(jié) 財(cái)務(wù)工作者的個(gè)人總結(jié)
評(píng)論
0/150
提交評(píng)論