版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第三講的基本語法verilog2009--TJU.ASICCenter---ArnoldShi第一頁,共二百一十八頁,編輯于2023年,星期五3.1數(shù)據(jù)類型及其常量及變量天津大學(xué)電子科學(xué)與技術(shù)系史再峰shizaifeng@verilog2009--TJU.ASICCenter---ArnoldShi第二頁,共二百一十八頁,編輯于2023年,星期五0、低、偽、邏輯低、地、VSS、負插入01XZ0bufbufbufbufif11、高、真、邏輯高、電源、VDD、正插入X、不確定:邏輯沖突無法確定其邏輯值HiZ、高阻抗、三態(tài)、無驅(qū)動源Verilog的四種邏輯值x和X、z和Z不區(qū)別大小寫。Z有時候也用?代替verilog2009--TJU.ASICCenter---ArnoldShi第三頁,共二百一十八頁,編輯于2023年,星期五數(shù)據(jù)類型VerilogHDL中共有19種數(shù)據(jù)類型,分成常量和變量最基本最常用的4種:寄存器型reg線網(wǎng)型wire整形integer參數(shù)型parameter其余的包括:large\medium\scalared\time\small\tri\trio\tri1\triand\trior\trireg\vectored\wand\wor型,主要與基本單元庫有關(guān),設(shè)計時很少使用verilog2009--TJU.ASICCenter---ArnoldShi第四頁,共二百一十八頁,編輯于2023年,星期五一、常量在程序運行中,其值不能被改變的量叫常量兩類最基本的常量:數(shù)字型常量和參數(shù)(parameter)數(shù)字型常量:整型數(shù)可以按如下兩種方式書寫簡單的十進制數(shù)格式基數(shù)格式verilog2009--TJU.ASICCenter---ArnoldShi第五頁,共二百一十八頁,編輯于2023年,星期五基數(shù)表示法(一)格式:[位寬]’進制
值無符號數(shù)。位寬是按照二進制數(shù)來計算的。進制可以為b或B(二進制)、o或O(八進制)、d或D(十進制)、h或H(十六進制)。值是基于進制的數(shù)字序列。如:3’b001,3’B110三位二進制6’o12,6’O12六位八進制4’d9,4’D9十位十進制8’hBF,8’HBF八位十六進制verilog2009--TJU.ASICCenter---ArnoldShi第六頁,共二百一十八頁,編輯于2023年,星期五基數(shù)表示法(二)基數(shù)格式計數(shù)形式的數(shù)通常為無符號數(shù)。這種形式的整型數(shù)的長度定義是可選的。如果沒有定義一個整數(shù)型的長度,數(shù)的長度為相應(yīng)值中定義的位數(shù)。下面是兩個例子:'o7219位八進制數(shù)'hAF8位十六進制數(shù)verilog2009--TJU.ASICCenter---ArnoldShi第七頁,共二百一十八頁,編輯于2023年,星期五基數(shù)表示法(三)如果定義的長度比為常量指定的長度長,通常在左邊填0補位。但是如果數(shù)最左邊一位為x或z,就相應(yīng)地用x或z在左邊補位。例如:10'b10左邊添0占位,000000001010'bx0x1左邊添x占位,xxxxxxx0x1如果長度定義得更小,那么最左邊的位相應(yīng)地被截斷。例如:3'b1001_0011與3'b011相等5'H0FFF與5'H1F相等?字符在數(shù)中可以代替值z在值z被解釋為不分大小寫的情況下提高可讀性verilog2009--TJU.ASICCenter---ArnoldShi第八頁,共二百一十八頁,編輯于2023年,星期五下劃線下劃線可以用來分割數(shù)的表達式以提高程序的可讀性,但不能用在位寬和進制處,只能用于具體的數(shù)字之間比如16’b1010_1011_11111_000//合法格式8’b_0011_1011//非法格式verilog2009--TJU.ASICCenter---ArnoldShi第九頁,共二百一十八頁,編輯于2023年,星期五負數(shù)一個數(shù)字可以被定義成負數(shù),只要在位寬表達式前加一個減號-8’d5//合法格式8’d-5//非法格式verilog2009--TJU.ASICCenter---ArnoldShi第十頁,共二百一十八頁,編輯于2023年,星期五簡單的十進制格式這種形式的整數(shù)定義為帶有一個可選的“+”(一元)或“-”(一元)運算符的數(shù)字序列。這種形式的整數(shù)值代表一個有符號的數(shù)。負數(shù)使用補碼形式表示。例如15 相當于二進制01111-15 相當于二進制10001
verilog2009--TJU.ASICCenter---ArnoldShi第十一頁,共二百一十八頁,編輯于2023年,星期五實數(shù)類型實數(shù)可以用下列兩種形式定義十進制記數(shù)法,例如:2.0;-0.1等科學(xué)記數(shù)法,例如:235.1e2 等于23510.0234_12e2 等于2341200.0實數(shù)小數(shù)通過四舍五入被隱式地轉(zhuǎn)換為最相近的整數(shù)。例如:42.446,42.45轉(zhuǎn)換為整數(shù)4292.5,92.699轉(zhuǎn)換為整數(shù)93-5.62轉(zhuǎn)換為整數(shù)-6-26.22轉(zhuǎn)換為整數(shù)-6verilog2009--TJU.ASICCenter---ArnoldShi第十二頁,共二百一十八頁,編輯于2023年,星期五常量的位數(shù),x(或z)在十六進制值中代表4位x(或z),在八進制中代表3位x(或z),在二進制中代表1位x(或z)當常量不說明位數(shù)時候默認是32位,每個字母用8位ASCII碼來表示10=32’d10=32’b10101=32’d1=32’b1-1=-32’d1=32’hFFFF_FFFF‘BX=32’BX=32’BXXXXXXXXXX...“AB”=16’B010000001_01000010A的ASCII值是85,B的值是86verilog2009--TJU.ASICCenter---ArnoldShi第十三頁,共二百一十八頁,編輯于2023年,星期五字符串字符串是雙引號內(nèi)的字符串列。一個字符可用八位二進制表示。如:“INTEGER”需要8*7位。 例: reg[8*14:1]Message; Message=“INTERNALERROR”;verilog2009--TJU.ASICCenter---ArnoldShi第十四頁,共二百一十八頁,編輯于2023年,星期五課堂練習(xí)下列表達式的位模式是什么?寫出其具體的二進制表示值7'o44,'Bx0,5'bx110,'hA0,10'd2,'hzFVerilog描述實際的二進制值7'o44100100'Bx0x05'bx110xx110'hA01010_000010'd20000_0000_10'hzFzzzz1111verilog2009--TJU.ASICCenter---ArnoldShi第十五頁,共二百一十八頁,編輯于2023年,星期五參數(shù)參數(shù)是一個常量。用parameter定義一個標識符來代表一個常量。參數(shù)經(jīng)常用于定義時延和變量的寬度。格式:parameterparam1=const_expr1,param2=const_expr2, …, paramN=const_exprN;如:parameterDelay=1;
parameterA=32,B=4’b0001;
parameterstring=“exec_command”;verilog2009--TJU.ASICCenter---ArnoldShi第十六頁,共二百一十八頁,編輯于2023年,星期五參數(shù)的傳遞參數(shù)值也可以在編譯時被改變。改變參數(shù)值可以使用參數(shù)定義語句或通過在模塊初始化語句中定義參數(shù)值當某個模塊在另一個模塊內(nèi)被引用時,高層模塊能夠改變低層模塊的參數(shù)值。模塊參數(shù)值的改變可采用下述兩種方式:參數(shù)定義語句(defparam);帶參數(shù)值的模塊引用。verilog2009--TJU.ASICCenter---ArnoldShi第十七頁,共二百一十八頁,編輯于2023年,星期五defparam舉例module
TOP(NewA,NewB,NewS,NewC);input
NewA,NewB;output
NewS,NewC;defparam
Ha1.XOR_DELAY=5,//實例Ha1中的參數(shù)XOR_DELAY。Ha1.AND_DELAY=2;//實例Ha1中參數(shù)的AND_DELAY。HAHa1(NewA,NewB,NewS,NewC);endmodulemoduleHA(A,B,S,C);inputA,B;outputS,C;parameterAND_DELAY=1,XOR_DELAY=2;assign#XOR_DELAYS=A^B;assign#AND_DELAYC=A&B;endmoduleHATOPverilog2009--TJU.ASICCenter---ArnoldShi第十八頁,共二百一十八頁,編輯于2023年,星期五參數(shù)值的模塊引用module
TOP3(NewA,NewB,NewS,NewC);input
NewA,NewB;output
NewS,NewC;HA
#(5,2)Ha1(NewA,NewB,NewS,NewC);//第1個值5賦給參數(shù)AND_DELAY,該參數(shù)在模塊HA中說明。//第2個值2賦給參數(shù)XOR_DELAY,該參數(shù)在模塊HA中說明。endmoduleverilog2009--TJU.ASICCenter---ArnoldShi第十九頁,共二百一十八頁,編輯于2023年,星期五課堂練習(xí)-參數(shù)傳遞假定一個模塊為BK,內(nèi)部兩個參數(shù)P1,P2;另外一個模塊為HA,內(nèi)部參數(shù)P3,P4其在TOP模塊中實例化調(diào)用的名稱分別為U1,U2請嘗試在top模塊中用兩種不同的方法改變其參數(shù)值p1-p4分別為1,2,3,4verilog2009--TJU.ASICCenter---ArnoldShi第二十頁,共二百一十八頁,編輯于2023年,星期五二、變量在Verilog中有兩大主要數(shù)據(jù)類型:線網(wǎng)類型(wire)、寄存器類型(reg)。線網(wǎng)類型
包含下述不同種類的線網(wǎng)子類型。
wire,tri 用于連線的最常見的線網(wǎng)類型
wor,trior線或
wand,triand線與
trireg 此線網(wǎng)存儲數(shù)值,用于電容節(jié)點的建模
tri1,tri0用于線邏輯的建模,上拉或下拉驅(qū)動
supply0,supply1supply0用于對“地”建模,supply1對電源建模verilog2009--TJU.ASICCenter---ArnoldShi第二十一頁,共二百一十八頁,編輯于2023年,星期五nets(網(wǎng)絡(luò)連線)nets(網(wǎng)絡(luò)連線):由模塊或門驅(qū)動的連線。驅(qū)動端信號的改變會立刻傳遞到輸出的連線上。例如:右圖上,selb的改變,會自動地立刻影響或門的輸出。netsabslselbselansloutverilog2009--TJU.ASICCenter---ArnoldShi第二十二頁,共二百一十八頁,編輯于2023年,星期五Nets(線網(wǎng)型)例:
wireBpW;
assignBpW=Error&Wait;
assignBpW=Valid|Clear;BpW電路圖verilog2009--TJU.ASICCenter---ArnoldShi第二十三頁,共二百一十八頁,編輯于2023年,星期五Nets(網(wǎng)絡(luò)連線,線網(wǎng)類型)簡單的線網(wǎng)類型定義說明語句為:net_kind[msb:lsb]net1,net2,….netN;當一個線形有兩個或多個驅(qū)動時,線網(wǎng)的有效值按如下表確定。verilog2009--TJU.ASICCenter---ArnoldShi第二十四頁,共二百一十八頁,編輯于2023年,星期五補充:CMOSNORABF001010100110A+BABABABverilog2009--TJU.ASICCenter---ArnoldShi第二十五頁,共二百一十八頁,編輯于2023年,星期五補充:CMOSNANDABA?BABABF001011101110ABverilog2009--TJU.ASICCenter---ArnoldShi第二十六頁,共二百一十八頁,編輯于2023年,星期五Nets(網(wǎng)絡(luò)連線)verilog2009--TJU.ASICCenter---ArnoldShi第二十七頁,共二百一十八頁,編輯于2023年,星期五補充知識:連續(xù)賦制值語句連續(xù)賦制語句用于把值賦給線網(wǎng)型變量(不能為寄存器型變量賦值)語句形式為:assignA=B&C;連續(xù)賦值語句在什么時候執(zhí)行呢?只要在右端表達式的操作數(shù)上有事件(事件為值的變化)發(fā)生時,表達式即被計算;如果結(jié)果值有變化,新結(jié)果就賦給左邊的線網(wǎng)。verilog2009--TJU.ASICCenter---ArnoldShi第二十八頁,共二百一十八頁,編輯于2023年,星期五連續(xù)賦值的目標類型標量線網(wǎng)向量線網(wǎng)向量的常數(shù)型位選擇,如a[1]向量的常數(shù)型部分選擇如:a[3:1]上述類型的任意的拼接運算結(jié)果verilog2009--TJU.ASICCenter---ArnoldShi第二十九頁,共二百一十八頁,編輯于2023年,星期五連續(xù)賦值語句舉例module
FA_Df(A,B,Cin,Sum,Cout);input
A,B,Cin;output
Sum,Cout;assign
Sum=A^B^Cin;assign
Cout=(A&Cin)|(B&Cin)|(A&B);endmodule在本例中,有兩個連續(xù)賦值語句。這些賦值語句是并發(fā)的,與其書寫的順序無關(guān)verilog2009--TJU.ASICCenter---ArnoldShi第三十頁,共二百一十八頁,編輯于2023年,星期五數(shù)據(jù)流描述方式例:worBpW;wandBpR;
assignBpW=Error&Wait;
assignBpW=Valid|Clear;
assignBpR=Error^Valid;
assignBpR=!Clear;BpW和BpR電路圖verilog2009--TJU.ASICCenter---ArnoldShi第三十一頁,共二百一十八頁,編輯于2023年,星期五寄存器(register)類型變量寄存器(register)類型變量register型變量能保持其值,直到它被賦于新的值。register型變量常用于行為建模,產(chǎn)生測試的激勵信號。常用行為語句結(jié)構(gòu)來給寄存器類型的變量賦值。abslselbselansloutreg_areg_selreg_bverilog2009--TJU.ASICCenter---ArnoldShi第三十二頁,共二百一十八頁,編輯于2023年,星期五reg型寄存器是數(shù)據(jù)存儲單元的抽象reg型數(shù)據(jù)常用來表示always塊內(nèi)的指定信號,常代表觸發(fā)器reg型數(shù)據(jù)用initial或者always塊中指定信號reg型數(shù)據(jù)的缺省值是x??梢员毁x正值或者負值。當它作為一個表達式中的操作數(shù)時候,作為無符號數(shù)。reg數(shù)據(jù)類型定義格式為reg[n-1:0]數(shù)據(jù)名1,....;或者reg[n:1]數(shù)據(jù)名1,....;verilog2009--TJU.ASICCenter---ArnoldShi第三十三頁,共二百一十八頁,編輯于2023年,星期五寄存器陣列
Verilog語言支持寄存器陣列的聲明:integerNUMS[7:0];//8個整型變量的寄存器陣列timet_vals[3:0];//4個時間變量的寄存器陣列數(shù)據(jù)類型為reg的陣列常稱為存儲器(即memory):reg[15:0]MEM[0:1023];//1Kx16位的存儲器reg[7:0]PREP[‘hfffe:‘hffff];//2x8位的存儲器可以用參數(shù)來表示存儲器的大?。簆arameterwordsize=16;parametermemsize=1024;reg[wordsize-1:0]MEM3[memsize-1:0];只能一次選擇一個字,不允許對存儲器變量值部分進行部分選擇或位選擇.如dram[60][2:4]是錯誤的verilog2009--TJU.ASICCenter---ArnoldShi第三十四頁,共二百一十八頁,編輯于2023年,星期五存儲器memory型變量存儲器memory型用一個寄存器數(shù)組來對存儲器建模。格式:reg[msb:lsb]存儲器名[upper1:lower1];如:reg[3:0]MyMem[63:0];//64個四位寄存器組
verilog2009--TJU.ASICCenter---ArnoldShi第三十五頁,共二百一十八頁,編輯于2023年,星期五其他類型變量integer整數(shù)寄存器有符號數(shù)。主要用來高層次建模。如:integerA; //整形寄存器,32位integerB[1023:0];//10位time時間類型寄存器如:timeCurrentTime;//CurrentTime存儲一個時間值 CurrentTime=$time;verilog2009--TJU.ASICCenter---ArnoldShi第三十六頁,共二百一十八頁,編輯于2023年,星期五輸入端口(input)可以由寄存器(reg)或線網(wǎng)(wire)連接驅(qū)動,但它本身只能驅(qū)動網(wǎng)絡(luò)連接。輸出端口(output)可以由寄存器或線網(wǎng)連接驅(qū)動,但它本身只能驅(qū)動線網(wǎng)連接。輸入/輸出端口(inout)只可以由線網(wǎng)連接驅(qū)動,但它本身只能驅(qū)動線網(wǎng)連接。如果信號變量是在過程塊(initial塊或always塊)中被賦值的,必須把它聲明為寄存器類型變量
如何選擇正確的數(shù)據(jù)類型?verilog2009--TJU.ASICCenter---ArnoldShi第三十七頁,共二百一十八頁,編輯于2023年,星期五moduletop;wirey;
rega,b;DUTu1(y,a,b);
initial
begina=0;b=0;#10a=1;….
endendmodule
模塊DUT的邊界輸入口輸出口輸出/入口netnetnet/registernetnet/registernetinoutmoduleDUT(Y,A,B_);outputY;inputA,B:wireY,A,B;and(Y,A,B);endmodule舉例說明數(shù)據(jù)類型的選擇verilog2009--TJU.ASICCenter---ArnoldShi第三十八頁,共二百一十八頁,編輯于2023年,星期五在過程塊(alwaysinitial)中對變量賦值時,忘了把它定義為寄存器類型(reg)或已把它定義為連接類型了(wire)把實例的輸出連接出去時,把它定義為寄存器類型把模塊的輸入信號定義為寄存器類型。這是經(jīng)常犯的三個錯誤?。。∵x擇數(shù)據(jù)類型時常犯的錯誤verilog2009--TJU.ASICCenter---ArnoldShi第三十九頁,共二百一十八頁,編輯于2023年,星期五3.2運算符及表達式天津大學(xué)電子科學(xué)與技術(shù)系史再峰shizaifeng@verilog2009--TJU.ASICCenter---ArnoldShi第四十頁,共二百一十八頁,編輯于2023年,星期五3.2運算符(操作符)及表達式VerilogHDL中的運算符可以分為下述類型:算術(shù)運算符關(guān)系運算符相等運算符邏輯運算符按位運算符縮減(歸約)運算符移位運算符條件運算符連接和復(fù)制運算符verilog2009--TJU.ASICCenter---ArnoldShi第四十一頁,共二百一十八頁,編輯于2023年,星期五按所帶操作數(shù)的個數(shù)分類單目運算符(unaryoperator)帶一個操作數(shù),操作數(shù)在運算符的右邊如~clock雙目運算符(binaryoperator)帶兩個操作數(shù),操作數(shù)分別在運算符的兩邊如a|b三目運算符(ternaryoperator)帶三個操作數(shù),用三目運算符隔開verilog2009--TJU.ASICCenter---ArnoldShi第四十二頁,共二百一十八頁,編輯于2023年,星期五3.2.1算術(shù)運算符算術(shù)運算符有:+(一元加和二元加)-(一元減和二元減)*(乘)/(除)%(取模)整數(shù)除法截斷任何小數(shù)部分。例如:7/4結(jié)果為1取模運算符求出與第一個運算符符號相同的余數(shù)。7%4結(jié)果為3而-7%4結(jié)果為-3verilog2009--TJU.ASICCenter---ArnoldShi第四十三頁,共二百一十八頁,編輯于2023年,星期五課堂練習(xí)以下表達式在verilogHDL中的值是多少?(結(jié)果用16位hex表示表示)5/3(-9)/6(-9)%611%(-5)12/(-7)答案是5/3=16’h0001(-9)/6=16’hFFFF(-9)%6=16’hFFFD11%(-5)=16’h000112/(-7)=16’hFFFFverilog2009--TJU.ASICCenter---ArnoldShi第四十四頁,共二百一十八頁,編輯于2023年,星期五3.2.2按位運算符按位運算符有:~(一元非)&(二元與)|(二元或)^(二元異或)~^,^~(二元異或非)這些運算符在輸入操作數(shù)的對應(yīng)位上按位操作,并產(chǎn)生向量結(jié)果。不同長度操作符運算時,會右端對齊,左端補0verilog2009--TJU.ASICCenter---ArnoldShi第四十五頁,共二百一十八頁,編輯于2023年,星期五按位非運算符verilog2009--TJU.ASICCenter---ArnoldShi第四十六頁,共二百一十八頁,編輯于2023年,星期五按位與運算符verilog2009--TJU.ASICCenter---ArnoldShi第四十七頁,共二百一十八頁,編輯于2023年,星期五按位或運算符verilog2009--TJU.ASICCenter---ArnoldShi第四十八頁,共二百一十八頁,編輯于2023年,星期五按位異或運算符verilog2009--TJU.ASICCenter---ArnoldShi第四十九頁,共二百一十八頁,編輯于2023年,星期五按位異或非運算符verilog2009--TJU.ASICCenter---ArnoldShi第五十頁,共二百一十八頁,編輯于2023年,星期五按位操作符舉例假定A='b0110;B='b0100;那么:A|B結(jié)果為0110A&B結(jié)果為01004'b1011^4'bx010=4'bx001如果操作數(shù)長度不相等,長度較小的操作數(shù)在最左側(cè)添0補位。例如,'b0110^'b10000與如下式的操作相同:'b00110^'b10000結(jié)果為'b10110。verilog2009--TJU.ASICCenter---ArnoldShi第五十一頁,共二百一十八頁,編輯于2023年,星期五3.2.3邏輯運算符邏輯運算符有:&&(邏輯與)||(邏輯或)!(一元邏輯非)這些運算符在邏輯值0或1上運算。邏輯運算的結(jié)構(gòu)為0或1。verilog2009--TJU.ASICCenter---ArnoldShi第五十二頁,共二百一十八頁,編輯于2023年,星期五邏輯與運算舉例assigna=8'haa;assignb=8'hff;assignc_out=a&b;assignc_out2=a&&b;c_out2結(jié)果是0000_0001verilog2009--TJU.ASICCenter---ArnoldShi第五十三頁,共二百一十八頁,編輯于2023年,星期五課堂練習(xí)以下表達式在verilogHDL中的值是多少?(結(jié)果用8位表示)assignd_0=4'b1101^8'h0a;assignd_1=4'b1101^~8'h0a;assignd_2=4'b1z01|8'h0a;assignd_3=4'b1101&&8'h0a;assignd_4=!4'b1x01;assignd_5=4'b1010||8'h55;答案是#hexd_0is07#hexd_1isF8#binaryd_2is0000_1x11#hexd_3is01#hexd_4is00#hexd_5is01verilog2009--TJU.ASICCenter---ArnoldShi第五十四頁,共二百一十八頁,編輯于2023年,星期五3.2.4關(guān)系運算符關(guān)系運算符有:>(大于)<(小于)>=(不小于)<=(不大于)關(guān)系運算符的結(jié)果為真(1)或假(0)。如果操作數(shù)中有一位為X或Z,那么結(jié)果為X。例如:23>45結(jié)果為假(0)52<8‘hxFF結(jié)果為x。verilog2009--TJU.ASICCenter---ArnoldShi第五十五頁,共二百一十八頁,編輯于2023年,星期五關(guān)系運算符語法如果操作數(shù)長度不同,長度較短的操作數(shù)在最重要的位方向(左方)添0補齊。例如:'b1000>='b01110等價于:'b01000>='b01110結(jié)果為假(0)verilog2009--TJU.ASICCenter---ArnoldShi第五十六頁,共二百一十八頁,編輯于2023年,星期五3.2.5相等關(guān)系運算符相等關(guān)系運算符有:==(邏輯相等)!=(邏輯不等)===(全等)!==(非全等)如果比較結(jié)果為假,則結(jié)果為0;否則結(jié)果為1。在全等比較中,值x和z嚴格按位比較。verilog2009--TJU.ASICCenter---ArnoldShi第五十七頁,共二百一十八頁,編輯于2023年,星期五相等關(guān)系運算舉例Data='b11x0;Addr='b11x0;那么(Data==Addr)不定,值為x,但:Data===Addr為真,值為1。如果操作數(shù)的長度不相等,長度較小的操作數(shù)在左側(cè)添0補位,例如:2'b10==4'b0010與下面的表達式相同:4'b0010==4'b0010結(jié)果為真(1)。verilog2009--TJU.ASICCenter---ArnoldShi第五十八頁,共二百一十八頁,編輯于2023年,星期五關(guān)系及相等關(guān)系運算符練習(xí)判斷以下表達式中的d值是多少assignd_relation1=(4'b1011>=4'b10x1);
assignd_relation2=(4'b1011==4'b10x1);
assignd_relation3=(4'b10x1==4'b10x1);
assignd_relation4=(4'b10z1===4'b10x1);assignd_relation5=(4'b10x1!==4'b10x1);assignd_relation6=(4'b10x1!=4'b10x1);答案是:#bind_relation1is1'bx#bind_relation2is1'bx#bind_relation3is1'bx#bind_relation4is1'b0#bind_relation5is1'b0#bind_relation6is1'bxverilog2009--TJU.ASICCenter---ArnoldShi第五十九頁,共二百一十八頁,編輯于2023年,星期五3.2.6縮減(歸約)運算符歸約運算符在單一操作數(shù)的所有位上操作,并產(chǎn)生1位結(jié)果。歸約運算符有:&(歸約與):如果存在位值為0,那么結(jié)果為0;若如果存在位值為x或z,結(jié)果為x;否則結(jié)果為1。~&(歸約與非):與歸約運算符&相反。
|(歸約或):如果存在位值為1,那么結(jié)果為1;如果存在位x或z,結(jié)果為x;否則結(jié)果為0。~|(歸約或非):與歸約運算符|相反。
^(歸約異或):如果存在位值為x或z,那么結(jié)果為x;否則如果操作數(shù)中有偶數(shù)個1,結(jié)果為0;否則結(jié)果為1。
~^(歸約異或非):與歸約運算符^正好相反。verilog2009--TJU.ASICCenter---ArnoldShi第六十頁,共二百一十八頁,編輯于2023年,星期五縮減(歸約)運算符練習(xí)判斷以下表達式中的d值是多少
assignd_reduction1=&8'b1011_0011;
assignd_reduction2=~|8'b1011_0011;
assignd_reduction3=~&8'b1011_0011;assignd_reduction4=~^8'b1011_0011;
assignd_reduction5=^8'b1011_0011;assignd_reduction6=~|8'b1011_00x1;
assignd_reduction7=^8'b10z1_0011;
assignd_reduction8=&8'b1011_00x1;assign
d_reduction8=&~8'b1011_00x1;modelsim仿真驗證的答案是#bind_reduction1is1'b0#bind_reduction2is1'b0#bind_reduction3is1'b1#bind_reduction4is1'b0#bind_reduction5is1'b1#bind_reduction6is1'b0#bind_reduction7is1'bx#bind_reduction8is1'b0
Error:./vlog_test.v(57):near"~":syntaxerror,
verilog2009--TJU.ASICCenter---ArnoldShi第六十一頁,共二百一十八頁,編輯于2023年,星期五3.2.7移位運算符移位運算符有:<<(左移)
>>(右移)移位運算符左側(cè)操作數(shù)移動右側(cè)操作數(shù)表示的次數(shù),它是一個邏輯移位??臻e位添0補位。如果右側(cè)操作數(shù)的值為x或z,移位操作的結(jié)果為x。假定:reg
[0:7]Qreg;...Qreg=4'b0111;那么:Qreg>>2是8'b0000_0001verilog2009--TJU.ASICCenter---ArnoldShi第六十二頁,共二百一十八頁,編輯于2023年,星期五3.2.8條件運算符條件運算符根據(jù)條件表達式的值選擇表達式,形式如下:cond_expr
?expr1:expr2如果cond_expr為真(即值為1),選擇expr1;如果cond_expr為假(值為0),選擇expr2。如果cond_expr為x或z,結(jié)果將是按以下邏輯expr1和expr2按位操作的值:0與0得0,1與1得1,其余情況為x。verilog2009--TJU.ASICCenter---ArnoldShi第六十三頁,共二百一十八頁,編輯于2023年,星期五條件運算符舉例wire
[0:2]Student=Marks>18?GA:GC;計算表達式Marks>18;如果真,GA賦值給Student;如果Marks<=18,GC賦值給Student。再例如:always#5Ctr=(Ctr!=25)?(Ctr+1):5;過程賦值中的表達式表明如果Ctr不等于25,則加1;否則如果Ctr值為25時,將Ctr值重新置為5。verilog2009--TJU.ASICCenter---ArnoldShi第六十四頁,共二百一十八頁,編輯于2023年,星期五3.3.8連接和復(fù)制操作連接操作是將小表達式合并形成大表達式的操作。形式如:{expr1,expr2,...,exprN}實例如下所示:wire[7:0]Dbus;wire[11:0]Abus;assignDbus[7:4]={Dbus[0],Dbus[1],Dbus[2],Dbus[3]};//以反轉(zhuǎn)的順序?qū)⒌投?位賦給高端4位。assignDbus={Dbus[3:0],Dbus[7:4]};//高4位與低4位交換。verilog2009--TJU.ASICCenter---ArnoldShi第六十五頁,共二百一十八頁,編輯于2023年,星期五復(fù)制運算符通過指定重復(fù)次數(shù)來執(zhí)行操作。形式如下:{repetition_number{expr1,expr2,...,exprN}}以下是一些實例:Abus={3{4'b1011}};/位向量12'b1011_1011_1011)Abus={{4{Dbus[7]}},Dbus};/*符號擴展*/verilog2009--TJU.ASICCenter---ArnoldShi第六十六頁,共二百一十八頁,編輯于2023年,星期五運算符的優(yōu)先級verilog2009--TJU.ASICCenter---ArnoldShi第六十七頁,共二百一十八頁,編輯于2023年,星期五3.2.10關(guān)鍵詞所有關(guān)鍵詞都是事先定義好的確認符,用于組織語言結(jié)構(gòu),全部是小寫定義。常用的有assignalwaysinitialbeginendbufbufif0bufif1casexcasezcmosdeassigndefaultdefparamdisableedgecaseifelseendcasejoinlargeforkjoinnotnotif0notif1xorwireregworxorxnorwhiletritri0tri1triandtriorrepeattaskfunctionforeverendtask等等verilog2009--TJU.ASICCenter---ArnoldShi第六十八頁,共二百一十八頁,編輯于2023年,星期五作業(yè)練習(xí)題假定32位總線Address_Bus,編寫一個表達式,計算從第11位到第20位的歸約與非。假定一條總線Control_Bus[15:0],編寫賦值語句將總線分為兩條總線:Abus[0:9]和Bbus[6:1]。編寫一個表達式,執(zhí)行算術(shù)移位,將Qparity中包含的8位有符號數(shù)算術(shù)移位。使用條件運算符,編寫賦值語句選擇NextState的值。如果CurrentState的值為RESET,那么NextState的值為GO;如果CurrentState的值為GO,則NextState的值為BUSY;如果CurrentState的值為BUSY;則NextState的值為RESET。verilog2009--TJU.ASICCenter---ArnoldShi第六十九頁,共二百一十八頁,編輯于2023年,星期五習(xí)題解答錯誤解答:assign
CurrentState==RESET?NextState=Go:(CurrentState==Go?NextState=BUSY:(CurrentState==BUSY?NextState=RESET:))正確解答:assignnextstate=(currentstate==RESET)?GO:((currentstate==GO)?BUSY:((currentstate==BUSY)?RESET:1’bz));verilog2009--TJU.ASICCenter---ArnoldShi第七十頁,共二百一十八頁,編輯于2023年,星期五3.3數(shù)據(jù)流建模天津大學(xué)電子科學(xué)與技術(shù)系史再峰shizaifeng@verilog2009--TJU.ASICCenter---ArnoldShi第七十一頁,共二百一十八頁,編輯于2023年,星期五一、連續(xù)賦制值語句連續(xù)賦制語句用于把值賦給線網(wǎng)型變量(不能為寄存器型變量賦值)語句形式為:assignA=B&C;只要在右端表達式的操作數(shù)上有事件(事件為值的變化)發(fā)生時,表達式即被計算;如果計算的結(jié)果值有變化,新結(jié)果就賦給左邊的線網(wǎng)。verilog2009--TJU.ASICCenter---ArnoldShi第七十二頁,共二百一十八頁,編輯于2023年,星期五數(shù)據(jù)流的模型化連續(xù)賦值語句將值賦給線網(wǎng)(連續(xù)賦值不能為reg)例如assign
Mux=(S==0)?A:1'bz;assign
Mux=(S==1)?B:1'bz;assign
Mux=(S==2)?C:1'bz;assign
Mux=(S==3)?D:1'bz;assign
Mux=(S==0)?A:1‘bz,//也可以這樣在一個語句中寫Mux=(S==1)?B:1‘bz,
Mux=(S==2)?C:1‘bz,
Mux=(S==3)?D:1'bz;verilog2009--TJU.ASICCenter---ArnoldShi第七十三頁,共二百一十八頁,編輯于2023年,星期五連續(xù)賦值的目標類型標量線網(wǎng)wirea;向量線網(wǎng)wire[7:0]a;向量線網(wǎng)的常數(shù)型位選擇,如a[1]向量線網(wǎng)的常數(shù)型部分選擇如:a[3:1]上述類型的任意的拼接運算結(jié)果{3a[2],a[2:1]}verilog2009--TJU.ASICCenter---ArnoldShi第七十四頁,共二百一十八頁,編輯于2023年,星期五連續(xù)賦值語句舉例module
FA_Df(A,B,Cin,Sum,Cout);input
A,B,Cin;output
Sum,Cout;assign
Sum=A^B^Cin;assign
Cout=(A&Cin)|(B&Cin)|(A&B);endmodule在本例中,有兩個連續(xù)賦值語句。這些賦值語句是并發(fā)的,與其書寫的順序無關(guān)verilog2009--TJU.ASICCenter---ArnoldShi第七十五頁,共二百一十八頁,編輯于2023年,星期五對應(yīng)的電路連接關(guān)系verilog2009--TJU.ASICCenter---ArnoldShi第七十六頁,共二百一十八頁,編輯于2023年,星期五賦值給向量線網(wǎng)的拼接wire
Cout,Cin;wire[3:0]Sum,A,B;assign{Cout,Sum}=A+B+Cin;verilog2009--TJU.ASICCenter---ArnoldShi第七十七頁,共二百一十八頁,編輯于2023年,星期五數(shù)據(jù)流描述方式例:worBpW;wandBpR;
assignBpW=Error&Wait;
assignBpW=Valid|Clear;
assignBpR=Error^Valid;
assignBpR=!Clear;BpW和BpR電路圖verilog2009--TJU.ASICCenter---ArnoldShi第七十八頁,共二百一十八頁,編輯于2023年,星期五用數(shù)據(jù)流描述對2-4解碼器電路的建模verilog2009--TJU.ASICCenter---ArnoldShi第七十九頁,共二百一十八頁,編輯于2023年,星期五參考答案`timescale1ns/1nsmoduleDecoder2x4(A,B,EN,Z);inputA,B,EN;output[0:3]Z;wireAbar,Bbar;assignAbar=~A;assignBbar=~B;assignZ[0]=~(Abar&Bbar&EN);assignZ[1]=~(Abar&B&EN);assignZ[2]=~(A&Bbar&EN);assignZ[3]=~(A&B&EN);endmoduleverilog2009--TJU.ASICCenter---ArnoldShi第八十頁,共二百一十八頁,編輯于2023年,星期五課堂練習(xí)題使用連續(xù)賦值語句,描述圖示的優(yōu)先編碼器電路的行為2bar02bar12bar2verilog2009--TJU.ASICCenter---ArnoldShi第八十一頁,共二百一十八頁,編輯于2023年,星期五某同學(xué)的解答module(Data,Encode,Valid);input[3:0]Data;output[1:0]Encode;wire2bar0,2bar1,0bar;assign2bar0=~Data[2];assign2bar1=2bar0&Data[1];assign0bar=Data[0]|Data[1];assignEncode[0]=Data[3]|2bar1;assignEncode[1]=Data[3]|Data[2];assignValid=Data[3]|Data[2]|0bar;endmodule程序基本沒有問題,但是:第1行module沒有命名,這是不可以的第4行變量定義的時候,標識符的首字母應(yīng)該是字母或者下劃線verilog2009--TJU.ASICCenter---ArnoldShi第八十二頁,共二百一十八頁,編輯于2023年,星期五正確解答moduleencoder(Data,Encode,Valid);input[3:0]Data;output[1:0]Encode;wirebar0,bar1,bar;assignbar0=~Data[2];assignbar1=2bar0&Data[1];assignbar=Data[0]|Data[1];assignEncode[0]=Data[3]|2bar1;assignEncode[1]=Data[3]|Data[2];assignValid=Data[3]|Data[2]|0bar;endmoduleverilog2009--TJU.ASICCenter---ArnoldShi第八十三頁,共二百一十八頁,編輯于2023年,星期五二、線網(wǎng)說明賦值連續(xù)賦值可作為線網(wǎng)說明本身的一部分。這樣的賦值被稱為線網(wǎng)說明賦值。如:wire[3:0]Sum=4'b0;wireClear='b1;wireA_GT_B=A>B,B_GT_A=B>A;等價于
wireclear;
assignclear=‘b1;不允許在同一個線網(wǎng)上出現(xiàn)多個線網(wǎng)說明賦值。如果多個賦值是必需的,則必須使用連續(xù)賦值語句。verilog2009--TJU.ASICCenter---ArnoldShi第八十四頁,共二百一十八頁,編輯于2023年,星期五隱式線網(wǎng)如果在VerilogHDL模型中一個線網(wǎng)沒有被特別說明,那么它被缺省聲明為1位線網(wǎng)。但是`default_nettype編譯指令能夠用于取代缺省線網(wǎng)類型.例:`default_nettypewand
//根據(jù)此編譯指令,所有后續(xù)未說明的線網(wǎng)都是wand類型再例:`default_nettypewiremoduleAND4to1(Z,D0,D1,D2,D3,S0);outputZ;inputD0,D1,D2,D3,S0;
assignZ=S0?(D0&D1&D2&D3):1’b0;
endmoduleverilog2009--TJU.ASICCenter---ArnoldShi第八十五頁,共二百一十八頁,編輯于2023年,星期五數(shù)據(jù)流建模課堂練習(xí)verilog2009--TJU.ASICCenter---ArnoldShi第八十六頁,共二百一十八頁,編輯于2023年,星期五數(shù)據(jù)流建模參考答案moduleMSDFF_DF(D,C,Q,Qbar);inputD,C;outputQ,Qbar;//wireNotC,NotD,NotY,Y,D1,D2,Ybar,Y1,;Y2assignNotD=~D;assignNotC=~C;assignNotY=~Y;assignD1=~(D&C);assignD2=~(C&NotD);assignY=~(D1&Ybar);assignYbar=~(Y&D2);assignY1=~(Y&NotC);assignY2=~(NotY&NotC);assignQ=~(Qbar&Y1);assignQbar=~(Y2&Q);endmoduleverilog2009--TJU.ASICCenter---ArnoldShi第八十七頁,共二百一十八頁,編輯于2023年,星期五三、時延說明assign#6Ask=Quiet||Late;規(guī)定右邊表達式結(jié)果的計算到其賦給左邊目標需經(jīng)過6個時間單位時延。例如,如果在時刻5,Late值發(fā)生變化,則賦值的右端表達式被計算,并且Ask在時刻11(=5+6)被賦于新值verilog2009--TJU.ASICCenter---ArnoldShi第八十八頁,共二百一十八頁,編輯于2023年,星期五時延VerilogHDL模型中的所有時延都根據(jù)時間單位定義使用編譯指令將時間單位與物理時間相關(guān)聯(lián)。這樣的編譯器指令需在模塊描述前定義,如下所示:`timescale
1ns/100ps此語句說明時延時間單位為1ns并且時間精度為100ps(時間精度是指所有的時延必須被限定在0.1ns內(nèi))。如果此編譯器指令所在的模塊包含上面的連續(xù)賦值語句,#2代表2ns。如果沒有這樣的編譯器指令,VerilogHDL模擬器會指定一個缺省時間單位。IEEEVerilogHDL標準中沒有規(guī)定缺省時間單位。verilog2009--TJU.ASICCenter---ArnoldShi第八十九頁,共二百一十八頁,編輯于2023年,星期五為什么會有延時?以下兩個最基本的電路單元verilog2009--TJU.ASICCenter---ArnoldShi第九十頁,共二百一十八頁,編輯于2023年,星期五CMOSNANDABA?BABABF001011101110ABverilog2009--TJU.ASICCenter---ArnoldShi第九十一頁,共二百一十八頁,編輯于2023年,星期五CMOSNORABF001010100110A+BABABABverilog2009--TJU.ASICCenter---ArnoldShi第九十二頁,共二百一十八頁,編輯于2023年,星期五MOSFET的結(jié)構(gòu)verilog2009--TJU.ASICCenter---ArnoldShi第九十三頁,共二百一十八頁,編輯于2023年,星期五MOS電容verilog2009--TJU.ASICCenter---ArnoldShi第九十四頁,共二百一十八頁,編輯于2023年,星期五靜態(tài)CMOS的開關(guān)模型AReqARpARpARnCLACLBRnARpBRpARnCintBRpARpARnBRnCLCintNAND2INVNOR2verilog2009--TJU.ASICCenter---ArnoldShi第九十五頁,共二百一十八頁,編輯于2023年,星期五關(guān)于時延探討如果右端在傳輸給左端之前變化,右端發(fā)生在時延間隔內(nèi)的變化被濾掉。 例如:assign#4Cab=Drm;這也同樣適用于慣性時延行為:即右端值變化在能夠傳播到左端前必須至少保持時延間隔;如果在時延間隔內(nèi)右端值變化,則前面的值不能傳輸?shù)捷敵?。verilog2009--TJU.ASICCenter---ArnoldShi第九十六頁,共二百一十八頁,編輯于2023年,星期五三類時延值對于每個時延定義,總共能夠指定三類時延值:上升時延下降時延關(guān)閉時延assign#(rise,fall,turn-off)LHS=RHS_expr;如果右端從非0向量變化到0向量,那么就使用下降時延。如果右端值到達z,那么使用下降時延;否則使用上升時延。assign#4Ask=Quiet||Late;//Onedelayvalue.assign#(4,8)Ask=Quick;//Twodelayvalues.assign#(4,8,6)Arb=&DataBus;//Threedelayvalues.assignBus=MemAddr[7:4];//Nodelayvalue.verilog2009--TJU.ASICCenter---ArnoldShi第九十七頁,共二百一十八頁,編輯于2023年,星期五帶時延的譯碼器建模`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);endmoduleverilog2009--TJU.ASICCenter---ArnoldShi第九十八頁,共二百一十八頁,編輯于2023年,星期五結(jié)果波形verilog2009--TJU.ASICCenter---ArnoldShi第九十九頁,共二百一十八頁,編輯于2023年,星期五3.3.3線網(wǎng)時延時延也可以在線網(wǎng)說明中定義,如:wire#5Arb;線網(wǎng)時延效果如圖線網(wǎng)時延Textassign時延assign時延驅(qū)動2驅(qū)動2驅(qū)動1RHS表達式RHS表達式線網(wǎng)目標verilog2009--TJU.ASICCenter---ArnoldShi第一百頁,共二百一十八頁,編輯于2023年,星期五線網(wǎng)時延舉例wire#5Arb;assign#2Arb=Bod⋒因為定義了線網(wǎng)時延,實際對Arb的賦值發(fā)生在時刻17(=10+2+5)。verilog2009--TJU.ASICCenter---ArnoldShi第一百零一頁,共二百一十八頁,編輯于2023年,星期五課后作業(yè)數(shù)據(jù)流建模以下的奇偶發(fā)生器verilog2009--TJU.ASICCenter---ArnoldShi第一百零二頁,共二百一十八頁,編輯于2023年,星期五3.4門級結(jié)構(gòu)建模天津大學(xué)電子科學(xué)與技術(shù)系史再峰shizaifeng@verilog2009--TJU.ASICCenter---ArnoldShi第一百零三頁,共二百一十八頁,編輯于2023年,星期五3.4門級結(jié)構(gòu)建模moduleaddbit(a,b,ci,sum,co);inputa,b,ci;outputsum,co;wirea,b,ci,sum,co,n1,n2,n3;xor(n1,a,b,);xor(sum,n1,ci);and(n2,a,b);and(n3,n1,ci);or(co,n2,n3);endmodule由一些Verilog原型列出結(jié)構(gòu)化的元件并按網(wǎng)表連接verilog2009--TJU.ASICCenter---ArnoldShi第一百零四頁,共二百一十八頁,編輯于2023年,星期五3.4.1內(nèi)置的基本門VerilogHDL為門級電路建模的能力.提供下列內(nèi)置基本門:
多輸入門:and,nand,or,nor,xor,xnor多輸出門:buf,not三態(tài)門:bufif0,bufif1,notif0,notif1上拉、下拉電阻:pullup,pulldownMOS開關(guān):cmos,nmos,pmos,rcmos,rnmos,rpmos雙向開關(guān):tran,tranif0,tranif1,rtran,rtranif0,rtranif1verilog2009--TJU.ASICCenter---ArnoldShi第一百零五頁,共二百一十八頁,編輯于2023年,星期五門級結(jié)構(gòu)建模語法語句形式gate_type[instance_name](term1,term2,...,termN);注意,instance_name是可選的;gate_type為前面列出的某種門類型。各term用于表示與門的輸入/輸出端口相連的線網(wǎng)或寄存器.同一門類型的多個實例能夠在一個結(jié)構(gòu)形式中定義gate_type[instance_name1](term1,term2,...,termN),[instance_name2](term1,term2,...,termN),[instance_name3](term1,term2,...,termN),[instance_name4](term1,term2,...,termN);verilog2009--TJU.ASICCenter---ArnoldShi第一百零六頁,共二百一十八頁,編輯于2023年,星期五3.4.2多輸入門內(nèi)置的多輸入門包括:andnandnororxorxnor這些邏輯門只有單個輸出,1個或多個輸入。門實例語句的語法如:multi_input_gate_type[instance_name](OutputA,Input1,Input2,...,InputN);第一個端口是輸出,其它端口是輸入多輸入門input1input2inputNOutputAverilog2009--TJU.ASICCenter---ArnoldShi第一百零七頁,共二百一十八頁,編輯于2023年,星期五多輸入門語法舉例andA1(Out1,In1,In2);andRBX(Sty,Rib,Bro,Qit,Fi)x;xor(Bar,Bud[0],Bud[1],Bud[2]),(Car,Cut[0],Cut[1]),(Sar,Sut[2],Sut[1],Sut[0],Sut[3]);verilog2009--TJU.ASICCenter---ArnoldShi第一百零八頁,共二百一十八頁,編輯于2023年,星期五多輸入門的真值表(一)nand01XZ01111110XXX1XXXZ1XXXand01XZ00000101XXX0XXXZ0XXXverilog2009--TJU.ASICCenter---ArnoldShi第一百零九頁,共二百一十八頁,編輯于2023年,星期五多輸入門的真值表(二)nor01XZ010XX10000XX0XXZX0XXor01XZ001XX11111XX1XXZX1XXverilog2009--TJU.ASICCenter---ArnoldShi第一百一十頁,共二百一十八頁,編輯于2023年,星期五多輸入門的真值表(三)xnor01XZ010XX101XXXXXXXZXXXXxor01XZ001XX110XXXXXXXZXXXXverilog2009--TJU.ASICCenter---ArnoldShi第一百一十一頁
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 朔州職業(yè)技術(shù)學(xué)院《自動化工程項目管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 面粉采購框架合同范例
- 城市公共交通發(fā)展策略研究
- 房屋搭棚合同范例
- 制冷機房保養(yǎng)合同范例
- 用數(shù)據(jù)說話數(shù)據(jù)分析報告的匯報制作要點
- 私人交易房子合同范例
- 辦公商務(wù)租車合同范例
- 水井報廢維修合同范例
- 飯店廚師用工合同范例
- 脫發(fā)演示課件
- 高考小說閱讀分類導(dǎo)練:詩化小說(知識導(dǎo)讀+強化訓(xùn)練+答案解析)
- 合理使用抗生素
- 內(nèi)地律師事務(wù)所委托香港律師事務(wù)所的委托代理協(xié)議
- 周周清方案全套
- 分布式光伏發(fā)電緊急事件應(yīng)急預(yù)案
- 拍賣公司投標書范文精簡處理
- 2023天地偉業(yè)安防產(chǎn)品技術(shù)參數(shù)和檢測報告
- “課程思政”融入專業(yè)課教學(xué)的探索課程思政與專業(yè)課結(jié)合
- 湖北省武漢市實驗外國語學(xué)校小學(xué)部六年級上學(xué)期數(shù)學(xué)期末試卷帶答案
- 詩朗誦《強國力量》朗誦稿
評論
0/150
提交評論