第4章 Verilog初步.ppt_第1頁(yè)
第4章 Verilog初步.ppt_第2頁(yè)
第4章 Verilog初步.ppt_第3頁(yè)
第4章 Verilog初步.ppt_第4頁(yè)
第4章 Verilog初步.ppt_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第4章 Verilog設(shè)計(jì)初步,主要內(nèi)容,4.1 Verilog簡(jiǎn)介 4.2 Verilog模塊的結(jié)構(gòu) 4.3 Verilog基本組合電路設(shè)計(jì) 4.4 Verilog基本時(shí)序電路設(shè)計(jì) 4.5 Synplify Pro綜合器 4.6 Synplify綜合器,4.1 Verilog簡(jiǎn)介,Verilog語(yǔ)言是1983年由GDA(Gateway Design Automation)公司的Phil Moorby首創(chuàng)的,之后Moorby又設(shè)計(jì)了Verilog-XL仿真器,Verilog-XL仿真器大獲成功,也使得Verilog語(yǔ)言得到推廣使用。 1989年,Cadence收購(gòu)了GDA,1990年,Cade

2、nce公開發(fā)表了Verilog HDL,并成立了OVI組織專門負(fù)責(zé)Verilog HDL的發(fā)展。 Verilog于1995年成為IEEE標(biāo)準(zhǔn),稱為IEEE Standard 1364-1995(Verilog-1995) IEEE“1364-2001”標(biāo)準(zhǔn)(Verilog-2001)也獲得通過(guò),多數(shù)綜合器、仿真器都已支持Verilog-2001標(biāo)準(zhǔn),Verilog語(yǔ)言的特點(diǎn),既適于可綜合的電路設(shè)計(jì),也可勝任電路與系統(tǒng)的仿真。 能在多個(gè)層次上對(duì)所設(shè)計(jì)的系統(tǒng)加以描述,從開關(guān)級(jí)、門級(jí)、寄存器傳輸級(jí)(RTL)到行為級(jí),都可以勝任,同時(shí)語(yǔ)言不對(duì)設(shè)計(jì)規(guī)模施加任何限制。 靈活多樣的電路描述風(fēng)格,可進(jìn)行行為描

3、述,也可進(jìn)行結(jié)構(gòu)描述;支持混合建模,在一個(gè)設(shè)計(jì)中各個(gè)模塊可以在不同的設(shè)計(jì)層次上建模和描述。 Verilog的行為描述語(yǔ)句,如條件語(yǔ)句、賦值語(yǔ)句和循環(huán)語(yǔ)句等,類似于軟件高級(jí)語(yǔ)言,便于學(xué)習(xí)和使用。 內(nèi)置各種基本邏輯門,便于進(jìn)行門級(jí)結(jié)構(gòu)描述;內(nèi)置各種開關(guān)級(jí)元件,可進(jìn)行開關(guān)級(jí)的建模。 易學(xué)易用,功能強(qiáng),可滿足各個(gè)層次設(shè)計(jì)人員的需要。,4.2 Verilog模塊的結(jié)構(gòu),module aoi(a,b,c,d,f); /* 模塊名為aoi,端口列表a,b,c,d,f */ input a,b,c,d;/模塊的輸入端口為a,b,c,d output f; /模塊的輸出端口為f wire a,b,c,d,f;

4、/定義信號(hào)的數(shù)據(jù)類型 assign f=(a /邏輯功能描述 endmodule,“與-或-非”電路,4.2 Verilog模塊的結(jié)構(gòu),Verilog程序是由模塊構(gòu)成的。每個(gè)模塊的內(nèi)容都嵌在module和endmodule兩個(gè)關(guān)鍵字之間;每個(gè)模塊實(shí)現(xiàn)特定的功能。 每個(gè)模塊首先要進(jìn)行端口定義,并說(shuō)明輸入和輸出口(input、output或inout),然后對(duì)模塊的功能進(jìn)行定義。 Verilog程序書寫格式自由,一行可以寫幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句也可以分多行寫。 除了endmodule等少數(shù)語(yǔ)句外,每個(gè)語(yǔ)句的最后必須有分號(hào)。 可用 /*/ 和 /對(duì)Verilog程序作注釋。,1模塊聲明,模塊聲明包括模塊

5、名字,模塊輸入、輸出端口列表。模塊定義格式如下: module 模塊名(端口1,端口2,端口3,);,2端口(Port)定義,對(duì)模塊的輸入輸出端口要明確說(shuō)明,其格式為: input 端口名1,端口名2, 端口名n;/輸入端口 output 端口名1,端口名2, 端口名n; /輸出端口 inout 端口名1,端口名2, 端口名n;/輸入輸出端口,3信號(hào)類型聲明,對(duì)模塊中所用到的所有信號(hào)(包括端口信號(hào)、節(jié)點(diǎn)信號(hào)等)都必須進(jìn)行數(shù)據(jù)類型的定義。Verilog語(yǔ)言提供了各種信號(hào)類型,分別模擬實(shí)際電路中的各種物理連接和物理實(shí)體。 如果信號(hào)的數(shù)據(jù)類型沒(méi)有定義,則綜合器將其默認(rèn)為是wire型。,4邏輯功能定義

6、,模塊中最核心的部分是邏輯功能定義。 定義邏輯功能的幾種基本方法: (1)用assign持續(xù)賦值語(yǔ)句定義 assign語(yǔ)句多用于組合邏輯的賦值,稱為持續(xù)賦值方式。 (2)用always過(guò)程塊定義 always過(guò)程語(yǔ)句既可以用來(lái)描述組合電路,也可以描述時(shí)序電路。 (3)調(diào)用元件(元件例化) 調(diào)用元件的方法類似于在電路圖輸入方式下調(diào)入圖形符號(hào)來(lái)完成設(shè)計(jì),這種方法側(cè)重于電路的結(jié)構(gòu)描述。,Verilog 模塊的模板,module (); output 輸出端口列表; /輸出端口聲明 input 輸入端口列表; /輸入端口聲明 /*定義數(shù)據(jù),信號(hào)的類型,函數(shù)聲明*/ reg 信號(hào)名; /邏輯功能定義 a

7、ssign =; /使用assign語(yǔ)句定義邏輯功能 /用always塊描述邏輯功能 always () begin /過(guò)程賦值 /if-else,case語(yǔ)句 /while,repeat,for循環(huán)語(yǔ)句 /task,function調(diào)用 end /調(diào)用其他模塊 (); /門元件例化 門元件關(guān)鍵字 (); endmodule,【例4.5】 三人表決電路的Verilog描述 module vote(a,b,c,f);/模塊名與端口列表 input a,b,c;/模塊的輸入端口 output f;/模塊的輸出端口 wire a,b,c,f; /定義信號(hào)的數(shù)據(jù)類型 assign f=(a/邏輯功能描

8、述 endmodule,4.3 Verilog基本組合電路設(shè)計(jì),4.3 Verilog基本組合電路設(shè)計(jì),【例4.6】4位二進(jìn)制加法器的Verilog描述 module add4_bin(cout,sum,ina,inb,cin); input cin; input3:0 ina,inb; output3:0 sum; output cout; assign cout,sum=ina+inb+cin; /*邏輯功能定義*/ endmodule,綜合 (RTL級(jí)),4位二進(jìn)制加法器RTL級(jí)綜合結(jié)果(Synplify Pro),綜合(門級(jí)),4位二進(jìn)制加法器門級(jí)綜合視圖(Synplify Pro),

9、【例4.8】 BCD碼加法器 module add4_bcd(cout,sum,ina,inb,cin); input cin; input3:0 ina,inb; output3:0 sum; reg3:0 sum; output cout; reg cout; reg4:0 temp; always (ina,inb,cin) /always過(guò)程語(yǔ)句 begin temp9) cout,sum=temp+6; /兩重選擇的IF語(yǔ)句 else cout,sum=temp; end endmodule,4.3 Verilog基本組合電路設(shè)計(jì),4.4 Verilog基本時(shí)序電路設(shè)計(jì),【例4.9】

10、 基本D觸發(fā)器的Verilog描述 module dff(q,d,clk); input d,clk; output reg q; always (posedge clk) begin q=d; end endmodule,4.4 Verilog基本時(shí)序電路設(shè)計(jì),【例4.10】 帶同步清0/同步置1(低電平有效)的D觸發(fā)器 module dff_syn(q,qn,d,clk,set,reset); input d,clk,set,reset; output reg q,qn; always (posedge clk) begin if(reset) begin q=1b0;qn=1b1;end

11、 /同步清0,低電平有效 else if(set) begin q=1b1;qn=1b0;end /同步置1,低電平有效 else begin q=d; qn=d; end end endmodule,4.4 Verilog基本時(shí)序電路設(shè)計(jì),【例4.11】 帶異步清0/異步置1(低電平有效)的D觸發(fā)器 module dff_asyn(q,qn,d,clk,set,reset); input d,clk,set,reset; output reg q,qn; always (posedge clk or negedge set or negedge reset) begin if(reset)

12、begin q=1b0;qn=1b1; end /異步清0,低電平有效 else if(set) begin q=1b1;qn=1b0; end /異步置1,低電平有效 else begin q=d;qn=d; end end endmodule,4.4 Verilog基本時(shí)序電路設(shè)計(jì),【例4.12】 4位二進(jìn)制加法計(jì)數(shù)器 module count4(out,reset,clk); input reset,clk; output reg3:0 out; always (posedge clk) begin if(reset) out=0;/同步復(fù)位 else out=out+1;/計(jì)數(shù) end

13、 endmodule,綜合 (RTL級(jí)),4位二進(jìn)制加法計(jì)數(shù)器RTL級(jí)綜合視圖 (Synplify Pro),綜合(門級(jí)),4位二進(jìn)制加法計(jì)數(shù)器門級(jí)綜合視圖 (Synplify Pro),【例4.15】 Johnson計(jì)數(shù)器(異步復(fù)位) module johnson(clk,clr,qout); parameter WIDTH=4; input clk,clr; output reg(WIDTH-1):0 qout; always (posedge clk or posedge clr) begin if(clr) qout=0; else begin qout=qout1; qout0=qoutWIDTH-1; end end endmodule,Synplify Pro新建項(xiàng)目對(duì)話框,Synplify Pro新建文件對(duì)話框,Implementation Option對(duì)話框,約翰遜計(jì)數(shù)器綜合后的RTL級(jí)原理圖,約翰遜計(jì)數(shù)器綜合后的門級(jí)原理圖(MAX7000器件),在Synplify

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論