電子電路設(shè)計訓(xùn)練數(shù)字部分(Verilog):第四講 簡單數(shù)字電路設(shè)計_第1頁
電子電路設(shè)計訓(xùn)練數(shù)字部分(Verilog):第四講 簡單數(shù)字電路設(shè)計_第2頁
電子電路設(shè)計訓(xùn)練數(shù)字部分(Verilog):第四講 簡單數(shù)字電路設(shè)計_第3頁
電子電路設(shè)計訓(xùn)練數(shù)字部分(Verilog):第四講 簡單數(shù)字電路設(shè)計_第4頁
電子電路設(shè)計訓(xùn)練數(shù)字部分(Verilog):第四講 簡單數(shù)字電路設(shè)計_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 Verilog設(shè)計24.1 門級電路n一個邏輯電路是由許多邏輯門和開關(guān)所組成,因此用邏輯門的模型來描述邏輯電路結(jié)構(gòu)是最直觀的。Verilog提供了一些描述門類型的關(guān)鍵字,可以用于門級結(jié)構(gòu)建模。nVerilog基本元件模型共有26種,其中14種為基本門級元件,12種為開關(guān)級元件, Verilog設(shè)計34.1 門級電路n門級電路列表多輸入門and(與門) nand(與非門)or (或門) nor (或非門) xor(異或門) xnor (異或非門,同或門)多輸出門buf (緩沖器)not(非門)三態(tài)門bufif0 (高電平使能緩沖器) bufif1 (低電平使能緩沖器)notif0 (高電平使

2、能非門) notif1(低電平使能非門)上拉,下拉電阻pullup(上拉電阻) pulldown(下拉電阻) Verilog設(shè)計44.1 門級電路n門級電路調(diào)用 ,例:nand #10 nd1(a,data,clock,clear);這個例子說明在模塊中使用了一個名為nd1的與非門實例,輸入為clock, data, clear 輸出為a,輸出與輸入的延時為10個單位時間。 Verilog設(shè)計54.1 門級電路n門級電路例子-D觸發(fā)器 Verilog設(shè)計6n門級電路例子-D觸發(fā)器(續(xù))module flop (data,clock,clear,q,qb);inputdata,clock,cle

3、ar;output q,qb;endmodulenand#10 nd1(a,data,clock,clear), nd2(b,ndata,clock), nd4(d,c,b,clear), nd5(e,c,nclock), nd6(f,d,nclock), nd8(qb,q,f,clear);nand#9 nd3(c,a,d), nd7(q,e,qb);not#10 iv1(ndata,data), iv2(nclock,clock); Verilog設(shè)計74.1 門級電路n門級電路例子4位寄存器include “flop.v”module hardreg(d,clk,clrb,q);inpu

4、tclk,clrb;input3:0 d;output3:0 q;endmoduleflop f0 (d0,clk,clrb,q0,), f1 (d1,clk,clrb,q1,), f2 (d2,clk,clrb,q2,), f3 (d3,clk,clrb,q3,);注意但是,推薦的作法: Verilog設(shè)計84.1 門級電路n門級電路例子行為描述對比include “flop.v”module hardreg(d,clk,clrb,q);inputclk,clrb;input3:0 d;output3:0 q;endmodulealways (posedge clk or clrb) beg

5、in if (!clrb) q=0; else q Y) (X = Y) (X = Y) (X = Y) (X Y) = X( Y)(X Y) XGY = 1; / 設(shè)置X 大于Y的信號為1 else XGY = 0; if (X Y) XSY = 1; / 設(shè)置X 小于Y的信號為1 else XSY = 0; endendmodule Verilog設(shè)計154.2 常用組合邏輯電路n多路器module muxtwo(out,a,b,sl); input a,b,sl; output out; reg out; always (sl or a or b) if(!sl) out=a; else

6、 out =b;endmodulen 位數(shù)據(jù)選擇信號數(shù)據(jù)輸出數(shù)據(jù)輸入D0D112 nD二選一8選一? Verilog設(shè)計164.2 常用組合邏輯電路n多路器module Mux_8(addr,in1,in2,in3,in4,in5,in6,in7,in8,Mout,nCS); parameter width=8; input2:0 addr; inputwidth-1:0 in1,in2,in3,in4,in5,in6,in7,in8; input nCS; output windth-1:0 Mout; reg windth-1:0 Mout; always (addr or in1 or

7、in2 or in3 or in4 or in5 or in6 or in7 or in8 or nCS) begin if(!nCS)case(addr) 3b000:Mout=in1; 3b001:Mout=in2; . endcase elseMout=0; endendmodule八選一 Verilog設(shè)計174.2 常用組合邏輯電路n編碼器(8-3編碼器)module encode8to3(in,out); input7:0 in; output 2:0 out; reg 2:0 out; always (in) begin case(in) 8b00000001:out=3b000

8、; 8b00000010:out=3b001; 8b00000100:out=3b010;8b00001000:out=3b011; 8b00010000:out=3b100; 8b00100000:out=3b101;8b01000000:out=3b110;8b10000000:out=3b111;default: out = 3b000; /討論,default的重要性 endcase endendmodule Verilog設(shè)計184.2 常用組合邏輯電路n譯碼器(3-8譯碼器)module decode3to8(addr,out); input2:0 addr; output 7:0

9、 out; assign out=1b1addr; endmodule Verilog設(shè)計194.3 常用時序邏輯電路n輸出不只是當前輸入的邏輯電平的函數(shù),還與目前電路所處的狀態(tài)有關(guān)。n時序邏輯通常是由多個觸發(fā)器和多個組合邏輯塊組成的網(wǎng)絡(luò),時序邏輯電路是設(shè)計復(fù)雜數(shù)字電路的核心。 Verilog設(shè)計204.3 常用時序邏輯電路nRS觸發(fā)器module RS_FF ( R, S, Q, QB );input R, S;output Q, QB;reg Q, QB;always ( R or S )case ( R , S )0: begin Q = Q; QB = QB; end1: begin

10、Q = 1; QB = 0; end2: begin Q = 0; QB = 1; end3: begin Q = 1bx; QB = 1bx; end /思考是否影響綜合?思考是否影響綜合? endcaseendmodule Verilog設(shè)計214.3 常用時序邏輯電路nRS觸發(fā)器 Verilog設(shè)計224.3 常用時序邏輯電路n同步RS觸發(fā)器 Verilog設(shè)計234.3 常用時序邏輯電路n同步RS觸發(fā)器module SY_RS_FF ( R, S, CLK, Q, QB ); input R, S, CLK; output Q, QB;reg Q;assign QB = Q;alway

11、s ( posedge CLK ) case ( R ,S )0:Q = 0;1:Q = 1;2:Q = 0; 3:Q = 1bx; endcase endmodule Verilog設(shè)計244.3 常用時序邏輯電路n同步RS觸發(fā)器module SY_RS_FF ( R, S, CLK, Q, QB ); input R, S, CLK; output Q, QB;reg Q;assign QB = Q;always ( posedge CLK ) case ( R ,S )0:Q = 0;1:Q = 1;2:Q = 0; 3:Q = 1bx; endcase endmodule Verilo

12、g設(shè)計254.3 常用時序邏輯電路nD觸發(fā)器 D Qn Qn+1 0 0 1 1 0 1 0 1 0 0 1 1 module SY_D_FF ( D, CLK, Q, QB ); input D, CLK;output Q, QB;reg Q;assign QB = Q;always ( posedge CLK )Q = D; endmodule Verilog設(shè)計264.3 常用時序邏輯電路nJK觸發(fā)器 Verilog設(shè)計274.3 常用時序邏輯電路nJK觸發(fā)器module SY_JK_FF ( J, K, CLK, Q, QB );input J, K, CLK;output Q, QB

13、 ;reg Q;assign QB = Q; always ( posedge CLK ) case ( J , K ) 0:Q = Q; 1:Q = 0; 2:Q = 1; 3:Q = Q; endcaseendmodule QnJK010001111011101000 Verilog設(shè)計284.3 常用時序邏輯電路n寄存器 module REG4 ( CLR, D, CLK, Q ); input CLR, CLK; input 3:0 D; output 3:0 Q; reg 3:0 Q; always ( posedge CLK or negedge CLR ) Q = ( !CLR

14、)? 0: D; endmodule Verilog設(shè)計294.3 常用時序邏輯電路n移位寄存器module shifter_1( in, clk, clr, Q); input in, clk, clr; output 3:0 Q; reg 3:0 Q; always (posedge clk) begin if(clr)/清零清零 Q = 4b0; else begin Q = Q1;/左移一位左移一位 Q0 = in;/把輸入信號放入寄存器的最低位把輸入信號放入寄存器的最低位 end end endmodule Verilog設(shè)計304.3 常用時序邏輯電路n移位寄存器module shif

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論