




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第二講Verilog語法的基本概念主要內(nèi)容●
Verilog建模概述●模塊的基本概念
簡單示例模塊特點模塊結(jié)構(gòu)模塊語法●三種建模方式●模塊的測試●有關(guān)VerilogHDL的幾個重要基本概念
VerilogHDL是一種用于數(shù)字邏輯電路設(shè)計的語言:-用VerilogHDL描述的電路設(shè)計就是該電路的VerilogHDL模型。-VerilogHDL既是一種行為描述的語言也是一種結(jié)構(gòu)描述的語言。這也就是說,既可以用電路的功能描述也可以用元器件和它們之間的連接來建立所設(shè)計電路的VerilogHDL模型。Verilog模型可以是實際電路的不同級別的抽象。這些抽象的級別和它們對應(yīng)的模型類型共有以下五種:2.1Verilog的建模概述Verilog的建模級別1系統(tǒng)級(system):用高級語言結(jié)構(gòu)實現(xiàn)設(shè)計模塊的外部性能的模型.2算法級(algorithmic):用高級語言結(jié)構(gòu)實現(xiàn)設(shè)計算法的模型,不包含時序信息。3RTL級(RegisterTransferLevel):描述數(shù)據(jù)在寄存器之間流動和如何控制這些數(shù)據(jù)的模型。4門級(gate-level):描述邏輯門以及邏輯門之間的連接的模型。5開關(guān)級(switch-level):描述器件中三極管和儲存節(jié)點以及它們之間連接的模型。算法級是高級的建模,一般對特大型設(shè)計或有較復(fù)雜的算法時使用,特別是通訊方面的一些系統(tǒng),通過算法級的建模來保證設(shè)計的系統(tǒng)性能,在算法級通過后,再把算法級用RTL級進(jìn)行描述,門級一般對小型設(shè)計時使用。開關(guān)級一般在版圖級進(jìn)行??删C合的VerilogHDL模型算法級(AlgorithmLevel)-部分可綜合寄存器傳輸級(RegisterTransferLevel)-完全可綜合門級(GateLevel)-完全可綜合開關(guān)級(SwitchLevel)
-用于基本邏輯器件仿真模型的建庫Verilog的功能1可描述順序執(zhí)行或并行執(zhí)行的程序結(jié)構(gòu)。2用延遲表達(dá)式或事件表達(dá)式來明確地控制過程的啟動時間。3通過命名的事件來觸發(fā)其它過程里的激活行為或停止行為。4提供了條件、if-else、case、循環(huán)程序結(jié)構(gòu)。5提供了可帶參數(shù)且非零延續(xù)時間的任務(wù)(task)程序結(jié)構(gòu)。6提供了可定義新的操作符的函數(shù)結(jié)構(gòu)(function)。7提供了用于建立表達(dá)式的算術(shù)運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符。8VerilogHDL語言作為一種結(jié)構(gòu)化的語言也非常適合于門級和開關(guān)級的模型設(shè)計。
2.2模塊的基本概念模塊(module)是Verilog的基本描述單位,用于描述某個設(shè)計的功能或結(jié)構(gòu)及與其他模塊通信的外部端口。模塊在概念上可等同一個器件就如我們調(diào)用通用器件(與門、三態(tài)門等)或通用宏單元(計數(shù)器、ALU、CPU)等,因此,一個模塊可在另一個模塊中調(diào)用。一個電路設(shè)計可由多個模塊組合而成,因此一個模塊的設(shè)計只是一個系統(tǒng)設(shè)計中的某個層次設(shè)計,模塊設(shè)計可采用多種建模方式。例2.1modulemuxtwo(out,a,b,sl);inputa,b,sl;outputout;regout;always@(sloraorb)if(!sl)out=a;elseout=b;endmodule例2.2modulemuxtwo(out,a,b,sl);inputa,b,sl;outputout;wirensl,sela,selb;assignnsl=~sl;assignsela=a&~nsl;assignselb=b&~nsl;assignout=sela|selb;endmodule例2.3modulemuxtwo(out,a,b,sl);inputa,b,sl;outputout;wirensl,sela,selb;notu1(nsl,sl);and#1u2(sela,a,nsl);and#1u3(selb,b,sl);or#1u4(out,sela,selb);endmodule/*一個名為adder的三位加法器的例子。*/moduleadder(count,sum,a,b,cin);//模塊定義開始
input[2:0]a,b;//輸入信號定義
inputcin;//輸出信號定義
outputcount;//輸出信號定義
output[2:0]sum;//輸出信號定義
assign{count,sum}=a+b+cin;//模塊功能描述endmodule
//模塊定義結(jié)束例2.4例2.5比較器modulecompare(equal,a,b);outputequal;//聲明輸出信號equal
input[1:0]a,b;//聲明輸入信號a,b
/*如果a、b兩個輸入信號相等,輸出為1,否則為0*/
assignequal=(a==b)?1:0; endmodule
這個程序描述了一個比較器.在這個程序中,/*........*/和//.........表示注釋部分,注釋只是為了方便程序員理解程序,對編譯是不起作用的。例2.6三態(tài)門
moduletrist1(out,in,enable);
outputout;inputin,enable;mytritri_inst(out,in,enable);//調(diào)用由mytri模塊定義的實例元件tri_instendmodulemodulemytri(out,in,enable);
outputout;input
in,enable;assignout=enable?in:'bz;endmodule例2.7三態(tài)門moduletrist2(out,in,enable);
outputout;inputin,enable;bufif1mubuf(out,in,enable);//調(diào)用由門級原語實例bufif1endmodulemodulesample(q,a,b,sel,clk,resetn);
//模塊定義
input
a,b,sel,clk,resetn;
//輸入信號定義
output
q;
//輸出信號定義
wire
c;
//模塊內(nèi)信號線的定義
reg
q;
//輸出端子數(shù)型定義
always@(posedgeclkornegedgeresetn)begin
//非同步復(fù)位的F/F
if(resetn==1‘b0)
q<=1’b0;
else
q<=c;
end
assign
c=(sel)?a:b;
//選擇邏輯組合endmodule選擇輸出的非同步復(fù)位觸發(fā)器一個設(shè)計是由一個個模塊構(gòu)成的。一個模塊的設(shè)計如下:1模塊內(nèi)容是嵌套在module和endmodule兩個語句之間。每個模塊實現(xiàn)特定的功能,模塊是可以進(jìn)行層次嵌套的。正因為如此,才可以將大型的數(shù)字電路設(shè)計分割成不同的小模塊來實現(xiàn)特定的功能,最后通過頂層模塊調(diào)用子模塊來實現(xiàn)整體功能。2每個模塊要進(jìn)行端口定義,并說明輸入輸出口,然后對模塊的功能進(jìn)行行為邏輯描述。模塊的端口定義部分:如上例:moduleaddr(a,b,cin,count,sum);其中module是模塊的保留字,adddr時模塊的名字,相當(dāng)于器件名。()內(nèi)是該模塊的端口聲明,定義了該模塊的管腳名,是該模塊與其它模塊通訊的外部接口,相當(dāng)于器件的pin。
模塊的內(nèi)容,包括I/O說明,內(nèi)部信號、調(diào)用模塊等的聲明語句和功能定義語句。2.2.2模塊的概念
I/O說明如:input[2:0]a;input[2:0]b;inputcin;outputcount;其中的input、output、input是保留字,定義了管腳信號的流向,[n:0]表示該信號的位寬(總線或單根信號線)。邏輯功能描述部分如:assignd_out=d_en?din:’bz;Mytriu_mytri(din,d_en,d_out);
功能描述用來產(chǎn)生各種邏輯(主要是組合邏輯和時序邏輯,可用多種方法進(jìn)行描述)還可實例化一個器件,該器件可以時廠家的器件庫也可以時我們自己用HDL設(shè)計的模塊(相當(dāng)于在原理輸入時調(diào)用一個庫元件)。在邏輯功能描述中,主要用到assign和always兩個語句。3對每個模塊都要進(jìn)行端口定義,并說明輸入、輸出口,然后對模塊的功能進(jìn)行邏輯描述,當(dāng)然對測試模塊,可以沒有輸入輸出口4VerilogHDL程序的書寫格式自由,一行可以寫幾個語句,一個語句也可以分寫多行。5除了endmodule語句外,每個語句和數(shù)據(jù)定義的最后必須有分號表示語句結(jié)束??梢杂?*.....*/和//...對VerilogHDL程序的任何部分作注釋。一個好的,有使用價值的源程序都應(yīng)當(dāng)加上必要的注釋,以增強(qiáng)程序的可讀性和可維護(hù)性。2.2.3語言的主要特點module(模塊)module能夠表示:物理塊,如IC或ASIC單元邏輯塊,如一個CPU設(shè)計的ALU部分整個系統(tǒng)每一個模塊的描述從關(guān)鍵詞module開始,有一個名稱(如SN74LS74,DFF,ALU等等),由關(guān)鍵詞endmodule結(jié)束。module是層次化設(shè)計的基本構(gòu)件邏輯描述放在module內(nèi)部語言的主要特點—模塊端口(moduleports)端口在模塊名字后的括號中列出端口可以說明為input,output及inout端口等價于硬件的引腳(pin)module
adder(cout,sum,a,b,cin);
input[2:0]a,b;
input
cin;
output
cout;
output[2:0]sum;
assign
{cout,sum}=a+b+cin;endmodule例設(shè)計三位全加器這個例子描述了一個三位的加法器。從例子中可以看出整個VerilogHDL程序是嵌套在module和endmodule聲明語句里的,只出現(xiàn)了一個assign語句。addersum[2:0]a[2:0]b[2:0]cincout模塊名端口列表端口聲明數(shù)據(jù)流語句例SR觸發(fā)器模塊//SR觸發(fā)器module
SR_FF(Q,Q_n,S,R);outputQ,Q_n;//端口聲明inputS,R;nandn1(Q,S,Q_n);nandn2(Q_n,R,Q);endmodule模塊中的5個部分并沒全部出現(xiàn),只出現(xiàn)在低層次模塊實例化nand為verilog中的與非門門級原語部件D觸發(fā)器模塊//D觸發(fā)器moduleD_FF(d,clk,clr,q,qb);outputq,qb;inputd,clk,clr;regq,qb;//輸出端口q,qb值保存always@(posedge
clk)beginif(clr)Q<=1’b0;elseQ<=d;endAssignqb=~q;endmodule
該模塊內(nèi)包括always行為塊語句always塊行為描述語句語言的主要特點模塊實例化(moduleinstances)moduleDFF(d,clk,clr,q,qb);....endmodulemoduleREG4(d,clk,clr,q,qb);output[3:0]q,qb;input[3:0]d;inputclk,clr;
DFFd0(d[0],clk,clr,q[0],qb[0]);DFFd1(d[1],clk,clr,q[1],qb[1]);DFFd2(d[2],clk,clr,q[2],qb[2]);DFFd3(d[3],clk,clr,q[3],qb[3]);endmodule語言的主要特點可以將模塊的實例通過端口連接起來構(gòu)成一個大的系統(tǒng)或元件。在上面的例子中,REG4有模塊DFF的四個實例。注意,每個實例都有自己的名字(d0,d1,d2,d3)。實例名是每個對象唯一的標(biāo)記,通過這個標(biāo)記可以查看每個實例的內(nèi)部。實例中端口的次序與模塊定義的次序相同。模塊實例化與調(diào)用程序不同。每個實例都是模塊的一個完全的拷貝,相互獨(dú)立、并行。模塊實例化(moduleinstances)端口與外部信號的連接在調(diào)用模塊時,可以用順序連接和按名連接把模塊定義的端口與外部信號連接起來順序連接:需要連接的信號需要與模塊聲明的端口列表一致;按名連接:端口和外部信號按名字連接在一起.
D_FFd0(d[0],clk,clr,q[0],qb[0]);D_FFd1(d[1],clk,clr,q[1],qb[1]);D_FFd2(d[2],clk,clr,q[2],qb[2]);D_FFd3(d[3],clk,clr,q[3],qb[3]);當(dāng)設(shè)計大規(guī)模系統(tǒng)時,端口太多,記住端口順序不大可能,可以采用按名連接方法。不需要連接的端口直接忽略掉即可D_FFd0(.dd[0]),.clk(clk),.clr(clr),.q(q[0]),.qb(qb[0]));D_FFd0(.d(d[0]),.clk(clk),.clr(clr),.q(q[0]));書寫語法建議一個模塊用一個文件;模塊名與文件名要同名;一行一條語句。信號方向按輸入、輸出、雙向順序描述。設(shè)計模塊時可考慮采用參數(shù)化,提供設(shè)計的重用。2.3建模方式模塊的功能定義可以用采用下面的4種方式描述:
1)數(shù)據(jù)流方式;
2)行為方式;
3)結(jié)構(gòu)方式;
4)混合描述方式。2.3.1數(shù)據(jù)流描述方式數(shù)據(jù)流的建模方式就是通過對數(shù)據(jù)流在設(shè)計中的具體行為的描述的來建模。最基本的機(jī)制就是用連續(xù)賦值語句。在連續(xù)賦值語句中,某個值被賦給某個線網(wǎng)變量(信號),語法如下:assign[delay]net_name=expression;如:assign#2A=B;用連續(xù)賦值語句“assign”,只能描述組合邏輯。
無論右邊的操作數(shù)何時發(fā)生變化,右邊表達(dá)式都重新計算,并且在指定的時延后賦給左邊線網(wǎng)變量。如果沒有定義時延值,缺省時延為0。在數(shù)據(jù)流描述方式中,還必須借助于HDL提供的一些運(yùn)算符,如按位邏輯運(yùn)算符:邏輯與(&),邏輯或(|)等。數(shù)據(jù)流描述舉例1`timescale1ns/1nsmoduleDecoder2x4(A,B,EN,Z);inputA,B,EN;output[0:3]Z;wireAbar,Bbar;assign#1Abar=~A;assign#1Bbar=~B;。assign#2Z[0]=~(Abar&Bbar&EN);assign#2Z[1]=~(Abar&B&EN);assign#2Z[2]=~(A&Bbar&EN);assign#2Z[3]=~(A&B&EN);endmodule連續(xù)賦值語句是并發(fā)執(zhí)行的,也就是說各語句的執(zhí)行順序與其在描述中出現(xiàn)的順序無關(guān)。如上,當(dāng)A有變化時,S1、T3、T1將同時變化,S1的變化又會造成Sum的變化。2-4解碼器電路數(shù)據(jù)流描述舉例2`timescale1ns/100psmoduleFA_flow(A,B,Cin,Sum,Count)inputA,B,Cin;outputSum,Count;wireS1,T1,T2,T3;assign#2S1=A^B;assign#2Sum=S1^Cin;assign#2T3=A&B;assign#2T1=A&Cin;assign#2T2=B&Cin;Endmodule如上,當(dāng)A有個變化時,S1、T3、T1將同時變化,S1的變化又會造成Sum的變化。2.3.2行為描述方式行為方式的建模是指采用對信號行為級的描述(不是結(jié)構(gòu)級的描述)的方法來建模,在表示方面,類似數(shù)據(jù)流的建模方式,但一般是把用initial塊語句或always塊語句描述的歸為行為建模方式。行為建模方式通常需要借助一些行為級的運(yùn)算符如加法運(yùn)算符(+),減法運(yùn)算符(-)等1)initial語句:此語句只執(zhí)行一次。2)always語句:此語句總是循環(huán)執(zhí)行,或者說重復(fù)執(zhí)行。只有寄存器類型數(shù)據(jù)能夠在這兩種語句中被賦值。所有的initial語句和always語句在0時刻并發(fā)執(zhí)行。行為描述舉例用always語句對1位全加器電路建模module
FA_Seq(A,B,Cin,Sum,Cout);inputA,B,Cin;outputSum,Cout;regSum,Cout;regT1,T2,T3;always@(AorBorCin)
beginSum=(A^B)^Cin;T1=A&Cin;T2=B&Cin;T3=A&B;Cout=(T1|T2)|T3;endendmodule1位全加器電路一位全加器的行為建模moduleFA_behav2(A,B,Cin,Sum,Cout);inputA,B,Cin;outputSum,Cout;regSum,Cout;always@(AorBorCin){Count,Sum}=A+B+Cin;endmodule在本例中,采用更加高級(更趨于行為級)描述方式,即直接采用“+”來描述加法。{Count,Sum}表示對位數(shù)的擴(kuò)展,因為兩個1bit相加,和有兩位,低位放在Sum變量中,進(jìn)位放在Count中。需要先建立以下概念1、只有寄存器類型的信號才可以在always和initial語句中進(jìn)行賦值,類型定義通過reg語句實現(xiàn)。2、always語句是一直重復(fù)執(zhí)行,由敏感表(always語句括號內(nèi)的變量)中的變量觸發(fā)。這意味著只要A、B或Cin上發(fā)生事件,即A、B或Cin之一的值發(fā)生變化,順序過程就執(zhí)行。3、always語句從0時刻開始。4、在begin和end之間的語句是順序執(zhí)行,屬于串行語句。并且在順序過程執(zhí)行結(jié)束后被掛起。順序過程執(zhí)行完成后,always語句再次等待A、B或Cin上發(fā)生的事件。
2.3.3結(jié)構(gòu)化描述方式
結(jié)構(gòu)化的建模方式就是通過對電路結(jié)構(gòu)的描述來建模,即通過對器件的調(diào)用(HDL概念稱為例化),并使用線網(wǎng)來連接各器件的描述方式。這里的器件包括VerilogHDL的內(nèi)置門如與門and,異或門xor等,也可以是用戶的一個設(shè)計。結(jié)構(gòu)化的描述方式反映了一個設(shè)計的層次結(jié)構(gòu)。在VerilogHDL中可使用如下方式描述結(jié)構(gòu):
1)內(nèi)置門原語(在門級);
2)開關(guān)級原語(在晶體管級);
3)用戶定義的原語(在門級);
4)模塊實例(創(chuàng)建層次結(jié)構(gòu))。
模塊的結(jié)構(gòu)化描述moduleFA_Str(A,B,Cin,Sum,Cout);inputA,B,Cin;outputSum,Cout;wireS1,T1,T2,T3;
xorX1(S1,A,B);
xorX2(Sum,S1,Cin);andA1(T3,A,B);andA2(T2,B,Cin);andA3(T1,A,Cin);orO1(Cout,T1,T2,T3);Endmodule1位全加器電路該實例顯示了一個全加器由兩個異或門、三個與門、一個或門構(gòu)成。S1、T1、T2、T3則是門與門之間的連線。代碼顯示了用純結(jié)構(gòu)的建模方式,其中xor
、and、or是VerilogHDL內(nèi)置的門器件。以xorx1(S1,A,B)該例化語句為例:xor
表明調(diào)用一個內(nèi)置的異或門,器件名稱xor
,代碼實例化名x1(類似原理圖輸入方式)。括號內(nèi)的S1,A,B表明該器件管腳的實際連接線(信號)的名稱,其中A、B是輸入,S1是輸出。其他同。4位全加器可以使用4個1位全加器模塊描述moduleFourBitFA(FA,FB,FCin,FSum,FCout);input[3:0]FA,FB;output[3:0]FSuminputFCin;inputFCout;wire[1:3]FTemp;FA_StrFA1(.A(FA[1]),.B(FB[1]),.Cin(FCin),.Sum(FSum[1]),.Cout(FTemp[1]));FA_StrFA2(.A(FA[2]),.B(FB[2]),.Cin(FTemp[1]),.Sum(FSum[2]),.Cout(FTemp[2]));FA_StrFA3(FA[3],FB[3],FTemp[2],FSum[3],FTemp[3]);FA_StrFA4(FA[4],FB[4],FTemp[3],FSum[4],FCout);endmodule模塊實例用于建模4位全加器。在模塊實例語句中,端口可以與名稱或位置關(guān)聯(lián)。前兩個實例FA1和FA2使用命名關(guān)聯(lián)方式,也就是說,端口的名稱和它連接的線網(wǎng)被顯式描述(每一個的形式都為“.port_name(net_name))。最后兩個實例語句,實例FA3和FA4使用位置關(guān)聯(lián)方式將端口與線網(wǎng)關(guān)聯(lián)。這里關(guān)聯(lián)的順序很重要,例如,在實例FA4中,第一個FA[4]與FA_Str
的端口A連接,第二個FB[4]與FA_Str
的端口B連接,余下的由此類推?;旌厦枋龇绞浇Y(jié)構(gòu)的和行為的描述自由混合。模塊描述中可以包含實例化的門、模塊實例化語句、連續(xù)賦值語句以及always語句。moduleFA_Mix(A,B,Cin,Sum,Cout);inputA,B,Cin;outputSum,Cout;regCout;regT1,T2,T3;wireS1;xorX1(S1,A,B);//門實例語句。always@(AorBorCin)//always語句beginT1=A&Cin;T2=B&Cin;T3=A&B;
Cout=(T1|T2)|T3;endassignSum=S1^Cin;//連續(xù)賦值語句endmodule只要A或B上有事件發(fā)生,門實例語句即被執(zhí)行。只要A、B或Cin上有事件發(fā)生,就執(zhí)行always語句。只要S1或Cin上有事件發(fā)生,就執(zhí)行連續(xù)賦值語句。要點分析如果用Verilog模塊實現(xiàn)一定的功能,首先應(yīng)該清楚哪些是同時發(fā)生的,哪些是順序發(fā)生的?!癮ssign”語句、實例元件和“always”塊描述的邏輯功能是同時執(zhí)行的,也就是并發(fā)的,如果把這三項寫到一個VeriIog
模塊文件中去,它們的次序不會影響邏輯實現(xiàn)的功能。在“always”模塊內(nèi),邏輯是按照指定的順序執(zhí)行的?!癮lways”塊中的語句稱為“順序語句”。兩個或更多的“always”模塊也是同時執(zhí)行的,但是模塊內(nèi)部的語句是順序執(zhí)行的。注意在實際的設(shè)計中,往往是多種設(shè)計模型的混合。一般地,對頂層設(shè)計,采用結(jié)構(gòu)描述方式,對低層模塊,可采用數(shù)據(jù)流、行為級或兩者的結(jié)合。如上面的4bit全加器,對頂層模塊(Four_bit_FA)采用結(jié)構(gòu)描述方式對低層進(jìn)行例化,對低層模塊(FA)可采用結(jié)構(gòu)描述、數(shù)據(jù)流描述或行為級描述。舉例寫出二選一MUX功能模塊的VerilogHDL的行為描述和結(jié)構(gòu)描述數(shù)據(jù)流描述模塊modulemux_beh(out,a,b,sel);outputout;inputa,b,sel;Assignout=(sel==0)?a:b;endmodule行為描述模塊modulemuxtwo(out,a,b,sl);inputa,b,sl;outputout;regout;always@(sloraorb)if(!sl)out=a;elseout=b;endmodule結(jié)構(gòu)描述模塊modulemux_str(out,a,b,sel);outputout;inputa,b,sel;notgate1(net1,sel);andgate2(net2,a,net1);andgate3(net3,b,sel);orgate4(out,net2,net3);endmodule全加器的門級描述全加器的行為級描述2.4模塊的測試需要有測試激勵信號輸入到被測模塊需要記錄被測模塊的輸出信號需要把用功能和行為描述的Verilog模塊轉(zhuǎn)換為門級電路互連的電路結(jié)構(gòu)(綜合)。
需要對已經(jīng)轉(zhuǎn)換為門級電路結(jié)構(gòu)的邏輯進(jìn)行測試(門級電路仿真)。需要對布局布線后的電路結(jié)構(gòu)進(jìn)行測試。(布局布線后仿真)。模塊的測試1測試平臺(TestBench)在輸入端口加入測試信號,從輸出端口檢測其輸出結(jié)果是否正確2通常將需要測試的對象稱之為DUT(DeviceUnderTest)3測試模塊要調(diào)用DUT包含用于測試的激勵信號源能夠?qū)嵤敵鲂盘柕臋z測,并報告檢測的結(jié)果測試平臺測試平臺是驗證對象電路的工作狀態(tài)是否正確的測試用模塊。測試平臺的作用是對對象電路的輸入信號加上測試圖形,并通過觀察輸出信號來驗證電路是否正常工作。VerilogHDL不僅提供描述設(shè)計的能力,而且提供對激勵、控制、存儲響應(yīng)和設(shè)計驗證的建模能力。被測模塊激勵和控制信號輸出響應(yīng)和驗證測試平臺-TestBench電路仿真所需要的數(shù)據(jù)㈠被測電路的HDL描述。㈡測試平臺的HDL描述
HDL仿真器將測試平臺中描述的激勵信號按照所定時間提供給被測電路。對被測電路進(jìn)行仿真。將仿真后被測電路產(chǎn)生的輸出信號以部波形、數(shù)據(jù)或文字的方式表示出來。modulet;reg…;//被測模塊輸入/輸出變量類型定義wire…;//被測模塊輸入/輸出變量類型定義initialbegin…;…;…;end……//產(chǎn)生測試信號always#delaybegin…;end……//產(chǎn)生測試信號Testedmdm(.in1(ina),.in2(inb),.out1(outa)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化工項目建設(shè)合同范本
- 0物業(yè)合同范本
- 廠家和平臺合同范本
- 吊車交易合同范例
- 吹塑加工采購合同范例
- 單位貨車出售合同范本
- 農(nóng)村公墓建設(shè)合同范本
- 信貸擔(dān)保合同范本
- 吊裝安裝服務(wù)合同范本
- 個人投資股票借款合同范本
- 某住宅樓招投標(biāo)文件
- 第四章-國防動員
- 2022云南省中考道法真題試卷和答案
- 跨文化商務(wù)交際導(dǎo)論-教學(xué)課件Unit 3 Cultural patterns
- 成語故事-引狼入室
- 勞務(wù)經(jīng)濟(jì)人培訓(xùn)課件
- 漢字真有趣教學(xué)設(shè)計
- 綠色金融案例分析實證分析報告
- 【屋頂花園的防水設(shè)計與施工探究6500字(論文)】
- 自導(dǎo)式教學(xué)心得體會范文【3篇】
- 防范游戲充值詐騙保護(hù)個人游戲賬號安全
評論
0/150
提交評論