版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、n9.1 硬件描述語言概述硬件描述語言概述n9.2 Verilog HDL簡介簡介n 9.2.1 基本程序結(jié)構(gòu)基本程序結(jié)構(gòu)n 9.2.2 詞法構(gòu)成詞法構(gòu)成n 補充:常用語句補充:常用語句n 9.2.3 模塊的描述方式模塊的描述方式n9.3 用用Verilog HDL描述邏輯電路的實例描述邏輯電路的實例n 組合邏輯電路的組合邏輯電路的Verilog HDL描述描述n 時序邏輯電路的時序邏輯電路的Verilog HDL描述描述第九章第九章 硬件描述語言簡介硬件描述語言簡介9.1 硬件描述語言概述硬件描述語言概述可編程邏輯器件、電子設(shè)計自動化(可編程邏輯器件、電子設(shè)計自動化(EDA)與)與硬件描述語
2、言硬件描述語言l可編程邏輯器件是一種功能可變的集成器件可編程邏輯器件是一種功能可變的集成器件l可通過編程的方法設(shè)計其完成不同的邏輯功能可通過編程的方法設(shè)計其完成不同的邏輯功能l設(shè)計需借助軟件工具,即采用電子設(shè)計自動化的方式設(shè)計需借助軟件工具,即采用電子設(shè)計自動化的方式l設(shè)計形式有原理圖和硬件描述語言兩種設(shè)計形式有原理圖和硬件描述語言兩種l硬件描述語言是用來描述數(shù)字電路系統(tǒng)的一種語言硬件描述語言是用來描述數(shù)字電路系統(tǒng)的一種語言9.1 硬件描述語言概述硬件描述語言概述l硬件描述語言硬件描述語言HDL(Hardware Description Language )是一種高級程序語言,用來描述數(shù)字電)
3、是一種高級程序語言,用來描述數(shù)字電路和數(shù)字邏輯系統(tǒng)。數(shù)字邏輯電路設(shè)計者可利用這種路和數(shù)字邏輯系統(tǒng)。數(shù)字邏輯電路設(shè)計者可利用這種語言來編寫設(shè)計文件描述自己的設(shè)計思想,在語言來編寫設(shè)計文件描述自己的設(shè)計思想,在EDA工工具中建立電路模型。通過對電路結(jié)構(gòu)或功能行為的描具中建立電路模型。通過對電路結(jié)構(gòu)或功能行為的描述,可以在不同的抽象層次對電路進行逐層描述,然述,可以在不同的抽象層次對電路進行逐層描述,然后利用后利用EDA工具進行仿真驗證,再自動綜合到門級電工具進行仿真驗證,再自動綜合到門級電路,最后用路,最后用ASIC或或FPGA實現(xiàn)其功能。實現(xiàn)其功能。9.1 硬件描述語言概述硬件描述語言概述目前常
4、用的硬件描述語言有兩種目前常用的硬件描述語言有兩種VHDLVerilog HDLVery High Speed Integrated Circuit Hardware Description Language超高速集成電路硬件描述語言超高速集成電路硬件描述語言Verilog Hardware Description LanguageVerilog硬件描述語言硬件描述語言n 分別在分別在1987年和年和1995年被采納為年被采納為IEEE國際標準,廣泛用于國際標準,廣泛用于 數(shù)字集成電路的設(shè)計和驗證領(lǐng)域數(shù)字集成電路的設(shè)計和驗證領(lǐng)域。n 從使用者數(shù)量來看,目前兩種語言平分秋色。從使用者數(shù)量來看,目
5、前兩種語言平分秋色。n 兩種語言相似的地方很多,學會一種可自學另一種。兩種語言相似的地方很多,學會一種可自學另一種。 Verilog HDL國國際際標準標準名稱名稱時間時間備注備注VerilogIEEE1364-19951995年年12月月基于基于Verilog HDL的優(yōu)越性,的優(yōu)越性,IEEE制定了制定了Verilog HDL的的IEEE標準,即標準,即Verilog HDL 1364-1995Verilog-A1996年年Verilog-A是由是由OVI提出的一種硬件描述語言。提出的一種硬件描述語言。是模擬電路行業(yè)的標準建模語言,來源于是模擬電路行業(yè)的標準建模語言,來源于IEEE1364
6、 Verilog規(guī)范規(guī)范1999年年模擬和數(shù)字都適用的模擬和數(shù)字都適用的Verilog標準公開發(fā)表標準公開發(fā)表VerilogIEEE1364-20012001年年IEEE制定了制定了Verilog IEEE1364-2001標準,并標準,并公開發(fā)表;其中公開發(fā)表;其中HDL部分相對于部分相對于1995標準有標準有較大增強,較大增強,PLI部分變化不大部分變化不大SystemVerilog IEEE1800-20052005年年此標準是繼此標準是繼VHDL和和Verilog HDL之后,仿真之后,仿真工具支持的語言,它建立在工具支持的語言,它建立在Verilog HDL語言語言的基礎(chǔ)上,是的基礎(chǔ)
7、上,是 IEEE 1364 Verilog-2001 標準的標準的擴展增強,兼容擴展增強,兼容Verilog-2001,并將成為下一,并將成為下一代硬件設(shè)計和驗證的語言代硬件設(shè)計和驗證的語言9.2 Verilog HDL簡介簡介Verilog HDL在在數(shù)字集成電路設(shè)計流程中數(shù)字集成電路設(shè)計流程中的的作用作用9.2 Verilog HDL簡介簡介章節(jié)目錄章節(jié)目錄n9.1 硬件描述語言概述硬件描述語言概述n9.2 Verilog HDL簡介簡介n 9.2.1 基本程序結(jié)構(gòu)基本程序結(jié)構(gòu)n 9.2.2 詞法構(gòu)成詞法構(gòu)成n 補充:常用語句補充:常用語句n 9.2.3 模塊的描述方式模塊的描述方式n9.
8、3 用用Verilog HDL描述邏輯電路的實例描述邏輯電路的實例n 組合邏輯電路的組合邏輯電路的Verilog HDL描述描述n 時序邏輯電路的時序邏輯電路的Verilog HDL描述描述9.2.1 Verilog HDL的基本程序結(jié)構(gòu)的基本程序結(jié)構(gòu)nVerilog HDL程序設(shè)計由程序設(shè)計由模塊模塊(module)構(gòu)成的,以模塊集構(gòu)成的,以模塊集合的形式來描述數(shù)字電路系統(tǒng)。合的形式來描述數(shù)字電路系統(tǒng)。n模塊模塊(module)是是Verilog HDL語言中描述電路的語言中描述電路的基本單元基本單元。模塊對應(yīng)硬件上的邏輯實體,描述這個實體的功能或結(jié)構(gòu),模塊對應(yīng)硬件上的邏輯實體,描述這個實體
9、的功能或結(jié)構(gòu),以及它與其他模塊的接口。以及它與其他模塊的接口。n所描述的可以是簡單的邏輯門,也可以是功能復雜的系統(tǒng)。所描述的可以是簡單的邏輯門,也可以是功能復雜的系統(tǒng)。n模塊在概念上可等同一個器件,就如我們調(diào)用通用器件(與模塊在概念上可等同一個器件,就如我們調(diào)用通用器件(與門、三態(tài)門等)或通用宏單元(譯碼器、計數(shù)器、門、三態(tài)門等)或通用宏單元(譯碼器、計數(shù)器、ALU、CPU)等,因此,)等,因此,一個模塊可在另一個模塊中調(diào)用一個模塊可在另一個模塊中調(diào)用。n一個電路設(shè)計可由多個模塊組合而成,因此一個模塊的設(shè)計一個電路設(shè)計可由多個模塊組合而成,因此一個模塊的設(shè)計只是一個系統(tǒng)設(shè)計中的某個層次設(shè)計,只
10、是一個系統(tǒng)設(shè)計中的某個層次設(shè)計,模塊設(shè)計可采用多種模塊設(shè)計可采用多種建模(描述)方式建模(描述)方式。8 一、模塊端口的定義一、模塊端口的定義n模塊端口定義用來聲明電路設(shè)計模塊模塊端口定義用來聲明電路設(shè)計模塊 的輸入的輸入/輸出端口,端口定義格式如下:輸出端口,端口定義格式如下: module 模塊名模塊名 (端口(端口1,端口,端口2,端口,端口3,););n在端口定義的括號中,是設(shè)計電路模塊與外界聯(lián)系的全部輸入在端口定義的括號中,是設(shè)計電路模塊與外界聯(lián)系的全部輸入/輸出端口信號或引腳,是設(shè)計實體對外的一個通信界面,是外輸出端口信號或引腳,是設(shè)計實體對外的一個通信界面,是外界可以看到的部分(
11、不包含電源和接地端),多個端口之間用界可以看到的部分(不包含電源和接地端),多個端口之間用“,”分隔。分隔。 例如例如1位全加器位全加器adder模塊的端口定義為模塊的端口定義為nmodule adder1 (A, B, CI ,S, CO);nmodule BCD_adder (A, B, CIN ,SUM, COUT);9模塊模塊(module) 的基本語法結(jié)構(gòu)的基本語法結(jié)構(gòu)module ();endmodule 二、模塊內(nèi)容二、模塊內(nèi)容 模塊內(nèi)容包括模塊內(nèi)容包括I/O聲明、信號類型聲明和功能描述。聲明、信號類型聲明和功能描述。 (1)模塊的)模塊的I/O聲明聲明 模塊的模塊的I/O聲明用
12、來聲明模塊端口定義中各端口數(shù)據(jù)流聲明用來聲明模塊端口定義中各端口數(shù)據(jù)流動方向,包括輸入動方向,包括輸入(input)、輸出、輸出(output)和雙向和雙向(inout)。I/O聲明格式如下:聲明格式如下: input msb:lsb 端口端口1,端口,端口2,端口,端口3,; /聲明輸入端口聲明輸入端口 output msb:lsb 端口端口1,端口,端口2,端口,端口3,;/聲明輸出端口聲明輸出端口n例如,例如,1位全加器的位全加器的I/O聲明為聲明為 input A, B, CI; output S, CO; 10input 3:0 A,B;output 3:0 SUM;input CI
13、N;output COUT; (2)信號類型聲明)信號類型聲明n信號類型聲明是聲明設(shè)計電路的功能描述中所用的信號類型聲明是聲明設(shè)計電路的功能描述中所用的信號的數(shù)據(jù)類型和函數(shù)。信號的數(shù)據(jù)類型主要有連信號的數(shù)據(jù)類型和函數(shù)。信號的數(shù)據(jù)類型主要有連線(線(wire)、寄存器()、寄存器(reg)、整型()、整型(integer)、)、實型(實型(real)、和時間()、和時間(time)等。)等。 信號聲明格式如下:信號聲明格式如下: wire msb:lsb 端口端口1,端口,端口2,端口,端口3,; reg msb:lsb 端口端口1,端口,端口2,端口,端口3,; (3)功能描述)功能描述n功能
14、描述是功能描述是Verilog HDL程序設(shè)計中最主要的部分,程序設(shè)計中最主要的部分,用來描述設(shè)計模塊的內(nèi)部結(jié)構(gòu)和模塊端口間的邏輯用來描述設(shè)計模塊的內(nèi)部結(jié)構(gòu)和模塊端口間的邏輯關(guān)系,在電路上相當于器件的內(nèi)部電路結(jié)構(gòu)。功能關(guān)系,在電路上相當于器件的內(nèi)部電路結(jié)構(gòu)。功能描述可以用描述可以用assign語句、元件例化(語句、元件例化(instantiate)語句、語句、always塊語句、塊語句、initial塊語句等方法來實現(xiàn),塊語句等方法來實現(xiàn),通常將設(shè)計模塊描述的方法稱為建模。通常將設(shè)計模塊描述的方法稱為建模。11 用用assign語句建模語句建模n 用用assign語句建模的方法很簡單,只需要在
15、語句建模的方法很簡單,只需要在“assign”后面再加一個表達式。后面再加一個表達式。assign語句一般適合對組合邏語句一般適合對組合邏輯進行賦值,稱為連續(xù)賦值方式。輯進行賦值,稱為連續(xù)賦值方式。n例例1 一位全加器的設(shè)計一位全加器的設(shè)計n1位全加器的邏輯符號:位全加器的邏輯符號:S是全加器的和輸出端,是全加器的和輸出端,CO是進位輸出端,是進位輸出端,A和和B是兩個加數(shù)輸入端,是兩個加數(shù)輸入端,CI是低位進位輸入端。是低位進位輸入端。12n全加器的全加器的Verilog HDL源程序如下:源程序如下: module adder1 (A, B, CI ,S, CO); input A, B,
16、 CI; output S, CO; wire S, CO, A, B, CI; assign CO, S = A+B+CI; endmodule n“assign CO, S = A+B+CI;”語句實現(xiàn)語句實現(xiàn)1位位全加器的進位輸出全加器的進位輸出CO與和輸出與和輸出S的建模。的建模。n在語句表達式中,用拼接運算符在語句表達式中,用拼接運算符“”將將CO、S這兩個這兩個1位操作數(shù)拼接為一個位操作數(shù)拼接為一個2位操作數(shù)。位操作數(shù)。13 用元件例化(用元件例化(instantiate)語句建模)語句建模n元件例化語句建模是利用元件例化語句建模是利用Verilog HDL提供的元件庫提供的元件庫
17、實現(xiàn)的。例如,用與門例化元件定義一個三輸入端與實現(xiàn)的。例如,用與門例化元件定義一個三輸入端與門可以寫為門可以寫為nand myand3(y,a,b,c); and是是Verilog HDL元件庫元件庫中與門元件名,中與門元件名,myand3是例化出的三輸入端與門名,是例化出的三輸入端與門名,y是與門輸出端,是與門輸出端,a、b、c是輸入端。是輸入端。 用用always塊語句建模塊語句建模nalways塊語句可以產(chǎn)生各種邏輯,常用于時序邏輯塊語句可以產(chǎn)生各種邏輯,常用于時序邏輯的功能描述。一個程序設(shè)計模塊中,可以包含一個或的功能描述。一個程序設(shè)計模塊中,可以包含一個或多個多個always語句。程
18、序運行中,在某種條件滿足時,語句。程序運行中,在某種條件滿足時,就重復執(zhí)行一遍就重復執(zhí)行一遍always結(jié)構(gòu)中的語句。結(jié)構(gòu)中的語句。14 例例2 8位二進制加法計數(shù)器的設(shè)計位二進制加法計數(shù)器的設(shè)計n8位二進制加法計數(shù)器的邏輯符號如圖位二進制加法計數(shù)器的邏輯符號如圖nOUT是是8位二進制計數(shù)器的輸出端(位二進制計數(shù)器的輸出端(8位向量);位向量);nCOUT是進位輸出端(是進位輸出端(1位);位);nD是并行數(shù)據(jù)輸入端(是并行數(shù)據(jù)輸入端(8位向量);位向量);nLOAD是計數(shù)器的預置控制輸入端,是計數(shù)器的預置控制輸入端,n當當LOAD=1時,時,OUT=D;nCLK是時鐘控制輸入端,上升沿為有效
19、邊沿;是時鐘控制輸入端,上升沿為有效邊沿;nCLR是同步復位輸入端,當是同步復位輸入端,當CLK的上升沿到來時的上升沿到來時且且CLR=1,則計數(shù)器被復位,則計數(shù)器被復位,OUT=00000000。(邏輯符號圖是由計算機對計數(shù)器電路的(邏輯符號圖是由計算機對計數(shù)器電路的Verilog HDL源代碼源代碼編譯后產(chǎn)生的元件符號,圖中的輸入編譯后產(chǎn)生的元件符號,圖中的輸入/輸出標識符自動被改為大輸出標識符自動被改為大寫,而源程序中的標識符都是小寫。)寫,而源程序中的標識符都是小寫。)15 8位二進制加法計數(shù)器的位二進制加法計數(shù)器的Verilog HDL 源程序如下:源程序如下: module cnt
20、8 (d,load,cin,clk, clr,cout, out); input 7:0 d; input load, cin, clk, clr output 7:0 out; output cout; reg 7:0 out; always (posedge clk) begin if (load) out=d; else if(clr) out=b00000000; else out=out+1; end assign cout = &out; endmodulen用用always塊語句實現(xiàn)塊語句實現(xiàn)8位二進制加法計數(shù)器的建模。位二進制加法計數(shù)器的建模。(posedge clk)是時間控
21、制敏感函數(shù),表示是時間控制敏感函數(shù),表示clk上升沿到來上升沿到來的敏感時刻。每當?shù)拿舾袝r刻。每當clk的上升沿到來時,的上升沿到來時,always塊語句中的塊語句中的全部語句就執(zhí)行一遍。全部語句就執(zhí)行一遍?!癮ssign cout = &out;”語句產(chǎn)生語句產(chǎn)生進位輸出進位輸出cout,在語句中,在語句中“&out”是與的歸約運算式,只有是與的歸約運算式,只有out中數(shù)字全為中數(shù)字全為1時,結(jié)果才為時,結(jié)果才為1。16 用用initial塊語句建模塊語句建模nInitial塊語句與塊語句與always語句類似,不過在程序中它只執(zhí)行語句類似,不過在程序中它只執(zhí)行1次就結(jié)束了。次就結(jié)束了。nI
22、nitial塊語句的使用格式塊語句的使用格式 : Initial Begin 語句語句1; 語句語句2; : endn例例3 用用Initial過程語句對測試變量賦值過程語句對測試變量賦值 initial begin for(addr=0; addr 大于大于= 大于等于大于等于 右移右移4 結(jié)果結(jié)果A=8b00001101而而A4 結(jié)果結(jié)果A=8b00010000。條件條件操作操作符符 ?: 操作數(shù)操作數(shù)=條件?表達式條件?表達式1:表:表達式達式2;當條件為真(值為當條件為真(值為1)時,操)時,操作數(shù)作數(shù)=表達式表達式1;為假(值為為假(值為0)時,操作數(shù))時,操作數(shù)=表達式表達式2。
23、三元操作符,即條件操作符有三個操作數(shù)。三元操作符,即條件操作符有三個操作數(shù)。例如例如 a?b:c若條件操作數(shù)若條件操作數(shù)a是邏輯是邏輯1,則算子返回表達式,則算子返回表達式1操操作數(shù)作數(shù)b;若若a是邏輯是邏輯0,則算子返回表達式,則算子返回表達式2操作數(shù)操作數(shù)c。 并接并接操作操作符符 , 將兩個或兩個以上用逗號分隔的表達式按位連將兩個或兩個以上用逗號分隔的表達式按位連接在一起。還可以用常數(shù)來指定重復的次數(shù)。接在一起。還可以用常數(shù)來指定重復的次數(shù)。例如例如 a,2a,b 等價于等價于a,a,b,a,b。 將將1位全加器的進位位全加器的進位co和和s并接,表達式為并接,表達式為co,s=a+b+
24、ci; 23n同其他高級語言類似,各類操作符號之間有優(yōu)先級之分,如下表:同其他高級語言類似,各類操作符號之間有優(yōu)先級之分,如下表:優(yōu)先級序號優(yōu)先級序號操作符操作符操作符名稱操作符名稱! 、 邏輯非、按位取反邏輯非、按位取反*、/、%乘、除、求余乘、除、求余+、-加、減加、減左移、右移左移、右移、 、=小于、小于等于、大于、大于等于小于、小于等于、大于、大于等于=、!=、=、!=等于、不等于、全等、不全等等于、不等于、全等、不全等&、& 歸約與、歸約與非歸約與、歸約與非 、歸約異或、歸約同或歸約異或、歸約同或|、 |歸約或、歸約或非歸約或、歸約或非&邏輯與邏輯與|邏輯或邏輯或?: 條件操作符條件
25、操作符列表頂部是最高優(yōu)先級,底部是最低優(yōu)先級。列在同一行中的操作符具有相同的優(yōu)先級。所有列表頂部是最高優(yōu)先級,底部是最低優(yōu)先級。列在同一行中的操作符具有相同的優(yōu)先級。所有操作符(?:除外)在表達式中都是從左向右結(jié)合的。圓括號()用于改變優(yōu)先級或使得表達操作符(?:除外)在表達式中都是從左向右結(jié)合的。圓括號()用于改變優(yōu)先級或使得表達式中運算順序更加清晰,提高源文件的可讀性。式中運算順序更加清晰,提高源文件的可讀性。24 (3)數(shù)值常量)數(shù)值常量n Verilog HDL中的數(shù)值常量有整型和實型兩大類,分為十進制、十六進制、中的數(shù)值常量有整型和實型兩大類,分為十進制、十六進制、八進制或二進制。若
26、在前面加上一個正八進制或二進制。若在前面加上一個正“+”或負或負“”號就表示有符號數(shù),否號就表示有符號數(shù),否則所代表的就是無符號數(shù)。在數(shù)值常量的任意位置可以隨意插入下劃線則所代表的就是無符號數(shù)。在數(shù)值常量的任意位置可以隨意插入下劃線“_”以提高可讀性。以提高可讀性。n常量定義格式為:常量定義格式為:parameter 常量名常量名1=表達式,常量名表達式,常量名2=表達式,表達式,常量名,常量名n=表達式;表達式;parameter是常量定義關(guān)鍵字,常量名是用戶定義的標識符,表達式為常量賦是常量定義關(guān)鍵字,常量名是用戶定義的標識符,表達式為常量賦值。值。例如例如 parameter Vcc=5
27、, fbus=8b11010001;nVerilog HDL中的整型數(shù)值常量就是整數(shù),有兩種書寫格式:中的整型數(shù)值常量就是整數(shù),有兩種書寫格式:n第一種是無位寬的十進制表示法,如第一種是無位寬的十進制表示法,如-132。n第二種是定義位寬和進制的表示法,這種表示方法通常是無符號數(shù)。第二種是定義位寬和進制的表示法,這種表示方法通常是無符號數(shù)。n常數(shù)書寫格式是:常數(shù)書寫格式是: sizebase value 其中其中size是位寬,定義了數(shù)值常量的位數(shù)(長度);是位寬,定義了數(shù)值常量的位數(shù)(長度);base 代表這個數(shù)據(jù)的進代表這個數(shù)據(jù)的進制,取值范圍和相應(yīng)的進制如下表;制,取值范圍和相應(yīng)的進制如
28、下表;value是一個數(shù)值常量的值,書寫格式與是一個數(shù)值常量的值,書寫格式與進制進制base相對應(yīng)。相對應(yīng)。 例如例如 16h6a8c,表示一個表示一個4位十六進制數(shù)。位十六進制數(shù)。 8hf5 等于等于8b11110101; 8b1111xxxx 等價等價8hfx; 8b1101zzzz 等價等價8hdz。25P448 表表9.2.2 Verilog HDL中的進制中的進制base進制代碼取值進制代碼取值對應(yīng)的進制對應(yīng)的進制b或或B二進制二進制o或或O八進制八進制d或或D十進制十進制h或或H十六進制十六進制 Verilog HDL中的實型數(shù)值常量就是浮點數(shù),可以用十進制與科學計中的實型數(shù)值常量
29、就是浮點數(shù),可以用十進制與科學計數(shù)法兩種形式書寫。如果采用十進制格式,小數(shù)點兩邊必須都有數(shù)字。數(shù)法兩種形式書寫。如果采用十進制格式,小數(shù)點兩邊必須都有數(shù)字。 Verilog HDL的編程最終是與硬件相對應(yīng)的。由于硬件電路中信號的編程最終是與硬件相對應(yīng)的。由于硬件電路中信號的邏輯狀態(tài)具有特殊性,即不僅有的邏輯狀態(tài)具有特殊性,即不僅有0(低電平)和(低電平)和1(高電平),還有可(高電平),還有可能是能是X(未知狀態(tài))和(未知狀態(tài))和Z(高阻態(tài)),因此(高阻態(tài)),因此Verilog HDL數(shù)值集合有四個數(shù)值集合有四個基本值:基本值:0:邏輯:邏輯0或假狀態(tài);或假狀態(tài);1:邏輯:邏輯1或真狀態(tài);或真
30、狀態(tài);X:邏輯不確定;:邏輯不確定;Z:高阻態(tài)。:高阻態(tài)。26(4)字符串)字符串n字符串是雙引號字符串是雙引號“”“”括起來的字符序列,必須包含在同括起來的字符序列,必須包含在同 一行中,不一行中,不能多行書寫。在表達式或賦值語句中作為操作數(shù)的字符串被看作能多行書寫。在表達式或賦值語句中作為操作數(shù)的字符串被看作ASCII值序列,即一個字符串中的每一個字符對應(yīng)一個值序列,即一個字符串中的每一個字符對應(yīng)一個8位位ASCII值。值。(5)標識符)標識符n標識符是模塊、寄存器、端口、連線、示例和標識符是模塊、寄存器、端口、連線、示例和begin-end塊等元素的塊等元素的名稱,是賦給對象的唯一的名稱
31、。標識符可以是字母、數(shù)字、名稱,是賦給對象的唯一的名稱。標識符可以是字母、數(shù)字、$符和符和下劃線下劃線“_”字符的任意組合序列。字符的任意組合序列。n定義標識符規(guī)則:定義標識符規(guī)則:n首字符不能是數(shù)字,必須以字母或下劃線首字符不能是數(shù)字,必須以字母或下劃線“_”開頭。開頭。n字符數(shù)不能多于字符數(shù)不能多于1024。n標識符區(qū)分大小寫。標識符區(qū)分大小寫。n不要與關(guān)鍵字同名。不要與關(guān)鍵字同名。n例如例如 ina、inb、adder、adder8、name_adder是正確的,而是正確的,而1a ?b是錯誤的。是錯誤的。(6)關(guān)鍵字)關(guān)鍵字n關(guān)鍵字是關(guān)鍵字是Verilog HDL預先定義的專用詞。在預
32、先定義的專用詞。在IEEE標準標準Verilog HDL 1364-1995中規(guī)定了中規(guī)定了102個關(guān)鍵詞,都采用小寫形式。關(guān)鍵詞個關(guān)鍵詞,都采用小寫形式。關(guān)鍵詞有其特定和專有的語法作用,用戶不能再對它們做新的定義。有其特定和專有的語法作用,用戶不能再對它們做新的定義。27nP449 表表9.2.3 關(guān)鍵字關(guān)鍵字AlwaysandAssignattributeBeginBufBufif0Bufif1CaseCasexCasezCmosDeassignDefaultdefparamDisableedgeelseendendattributeendcaseendfunctionendmodulee
33、ndprimitiveendspecifyendtableendtaskeventforforceforeverforkfunctionhighz0 highzlifinitialinoutinputintegerjoinlargemacromodulemediummodulenandnegedgenmosnornotnotif0 notifloroutputparameterpmosposedgeprimitivepull0pull1pulldownpulluprcmosrealrealtimeregreleaserepeat rtraniflscalaredsignedsmallspeci
34、fyspecpramstrengthstrong0strong1supply0supply1tabletasktimetrantranif0tranif1 tritri0tri1triandtriortritegunsignedvectoredwaitwandweak0weak1whilewireworxnorxor 28 (7)變量)變量n變量是在程序運行時其值可以改變的量。在變量是在程序運行時其值可以改變的量。在Verilog HDL中,變量分為中,變量分為網(wǎng)絡(luò)型(網(wǎng)絡(luò)型(nets type)和寄存器型()和寄存器型(register type)兩種。)兩種。 網(wǎng)絡(luò)型變量網(wǎng)絡(luò)型變量nnet
35、s型變量是輸出值始終根據(jù)輸入變化而更新的變量,一般用來定義硬型變量是輸出值始終根據(jù)輸入變化而更新的變量,一般用來定義硬件電路中的各種物理連線。件電路中的各種物理連線。Verilog HDL提供了多種提供了多種nets型變量。型變量。n常見的常見的nets型變量及說明型變量及說明類型類型功能說明功能說明wire、 tri連線類型(兩者功能完全相同)連線類型(兩者功能完全相同)wor、 trior具有線或特性的連線(兩者功能一致)具有線或特性的連線(兩者功能一致)wand、 triand具有線與特性的連線(兩者功能一致)具有線與特性的連線(兩者功能一致)tri1、 tri0分別為上拉電阻和下拉電阻
36、分別為上拉電阻和下拉電阻supply1、 supply0分別為電源(邏輯分別為電源(邏輯1)和地(邏輯)和地(邏輯0)29 寄存器型變量寄存器型變量nregister型變量是用來描述硬件系統(tǒng)的基本數(shù)據(jù)對象。作為一種數(shù)值型變量是用來描述硬件系統(tǒng)的基本數(shù)據(jù)對象。作為一種數(shù)值容器,可以容納當前值,也可以保持歷史值。與寄存器的記憶功能相容器,可以容納當前值,也可以保持歷史值。與寄存器的記憶功能相對應(yīng),可以作為模塊各器件間的信息傳遞通道。對應(yīng),可以作為模塊各器件間的信息傳遞通道。nregister型變量與型變量與wire型變量的區(qū)別在于:型變量的區(qū)別在于:nregister型變量需要被明確的賦值,并且在
37、重新賦值前一直保持原值。型變量需要被明確的賦值,并且在重新賦值前一直保持原值。nregister型變量是在型變量是在always、initial等過程語句中定義,并通過過程等過程語句中定義,并通過過程語句賦值。語句賦值。n常見的常見的register型變量及說明型變量及說明類型類型功能說明功能說明reg常用的寄存器型變量常用的寄存器型變量integer32位帶符號整數(shù)型變量位帶符號整數(shù)型變量real64位帶符號實數(shù)型變量位帶符號實數(shù)型變量time無符號時間型變量無符號時間型變量30章節(jié)目錄章節(jié)目錄n9.1 硬件描述語言概述硬件描述語言概述n9.2 Verilog HDL簡介簡介n 9.2.1
38、基本程序結(jié)構(gòu)基本程序結(jié)構(gòu)n 9.2.2 詞法構(gòu)成詞法構(gòu)成n 補充:常用語句補充:常用語句n 9.2.3 模塊的描述方式模塊的描述方式n9.3 用用Verilog HDL描述邏輯電路的實例描述邏輯電路的實例n 組合邏輯電路的組合邏輯電路的Verilog HDL描述描述n 時序邏輯電路的時序邏輯電路的Verilog HDL描述描述補充:補充: Verilog HDL的常用語句的常用語句nVerilog HDL的語句包括賦值語句、條件語句、循環(huán)語句、結(jié)的語句包括賦值語句、條件語句、循環(huán)語句、結(jié)構(gòu)聲明語句和編譯預處理語句等類型,每一類語句又包括幾種構(gòu)聲明語句和編譯預處理語句等類型,每一類語句又包括幾種
39、不同的語句。在這些語句中,有些語句屬于順序執(zhí)行語句,有不同的語句。在這些語句中,有些語句屬于順序執(zhí)行語句,有些語句屬于并行執(zhí)行語句。些語句屬于并行執(zhí)行語句。(1)賦值語句)賦值語句n在在Verilog HDL中,賦值語句常用于描述硬件設(shè)計電路輸出與中,賦值語句常用于描述硬件設(shè)計電路輸出與輸入之間的信息傳送,改變輸出結(jié)果。輸入之間的信息傳送,改變輸出結(jié)果。Verilog HDL有有4種賦值種賦值方法:門基元、連續(xù)賦值、過程賦值和非阻塞賦值。方法:門基元、連續(xù)賦值、過程賦值和非阻塞賦值。門基元賦值語句門基元賦值語句n門基元賦值語句的格式為:門基元賦值語句的格式為:n基本邏輯門關(guān)鍵字基本邏輯門關(guān)鍵字
40、 (門輸出,門輸入(門輸出,門輸入1,門輸入,門輸入2,門輸,門輸入入n););n例如例如 4輸入與非門的門基元賦值語句為輸入與非門的門基元賦值語句為 nand (y,a,b,c,d); /與語句與語句assign y=(a&b&c&d)等效等效32 連續(xù)賦值語句連續(xù)賦值語句n連續(xù)賦值語句的關(guān)鍵字連續(xù)賦值語句的關(guān)鍵字assign,賦值符號是,賦值符號是“=”,賦值語,賦值語句的格式為:句的格式為: assign 賦值變量賦值變量=表達式;表達式;n例如例如 assign y=(a&b&c&d);n連續(xù)賦值語句的連續(xù)賦值語句的“=”兩邊的變量都應(yīng)該是兩邊的變量都應(yīng)該是wire型變量。在型變量。在
41、執(zhí)行中,輸出執(zhí)行中,輸出y的變化跟隨輸入的變化跟隨輸入a、b、c、d的變化而變化,的變化而變化,反映了信息傳送的連續(xù)性。連續(xù)賦值語句用于邏輯門和組合反映了信息傳送的連續(xù)性。連續(xù)賦值語句用于邏輯門和組合邏輯電路的描述。邏輯電路的描述。n例例1 四輸入端與非門的四輸入端與非門的Verilog HDL源程序源程序 module example1(y,a,b,c,d); output y; input a,b,c,d; assign #1 y=(a&b&c&d); /#1表示輸出與輸入信號之間具有表示輸出與輸入信號之間具有1個單位的時間延遲個單位的時間延遲 endmodule33 過程賦值語句過程賦值
42、語句n過程賦值語句出現(xiàn)在過程賦值語句出現(xiàn)在initial和和always塊語句中,賦值符號塊語句中,賦值符號是是“=”,語句格式為:,語句格式為: 賦值變量賦值變量=表達式;表達式;n過程賦值語句過程賦值語句“=”左邊的賦值變量必須是(寄存器)左邊的賦值變量必須是(寄存器)reg型型變量,變量,其值在該語句結(jié)束時即可得到。其值在該語句結(jié)束時即可得到。n如果一個塊語句中包含若干條過程賦值語句,按順序一條一如果一個塊語句中包含若干條過程賦值語句,按順序一條一條執(zhí)行,前面的語句沒完成,后面的語句就不能執(zhí)行。條執(zhí)行,前面的語句沒完成,后面的語句就不能執(zhí)行。n因此,過程賦值語句也稱為阻塞賦值語句。因此,
43、過程賦值語句也稱為阻塞賦值語句。34 非阻塞賦值語句非阻塞賦值語句n非阻塞賦值語句也是出現(xiàn)在非阻塞賦值語句也是出現(xiàn)在initial和和always塊語句中,賦值符號是塊語句中,賦值符號是“=”,語句格式為:語句格式為: 賦值變量賦值變量=表達式;表達式;n非阻塞賦值語句非阻塞賦值語句“=”左邊的賦值變量必須是(寄存器)左邊的賦值變量必須是(寄存器)reg型變量,型變量,其值其值在塊語句結(jié)束時才可得到在塊語句結(jié)束時才可得到,與過程賦值語句不同。,與過程賦值語句不同。n例如例如 下面的塊語句包含下面的塊語句包含4條賦值語句條賦值語句 always (posedge clock) begin m=3
44、; n=75; n=m; r=n; endn語句執(zhí)行結(jié)束后,語句執(zhí)行結(jié)束后,r的值是的值是75,而不是,而不是3,因為第,因為第3行是非阻塞賦值語句行是非阻塞賦值語句“n=m”,該語句要等到本塊語句結(jié)束時,該語句要等到本塊語句結(jié)束時,n的值才能改變。的值才能改變。n塊語句的塊語句的“(posedge clock)”是定時控制敏感函數(shù),表示時鐘信號是定時控制敏感函數(shù),表示時鐘信號clock的上升沿到來的敏感時刻。的上升沿到來的敏感時刻。n例例2 上升沿觸發(fā)的上升沿觸發(fā)的D觸發(fā)器的觸發(fā)器的Verilog HDL源程序源程序 module D_FF(q,d,clock); input d,clock
45、; /屬于屬于wire型變量型變量 output q; /屬于屬于reg型變量型變量 reg q; always (posedge clock) q=d; endmodule35 (2)條件語句)條件語句n條件語句包含條件語句包含if語句和語句和case語句,它們都是順序語句,應(yīng)放在語句,它們都是順序語句,應(yīng)放在always塊中。塊中。 if語句語句n完整的完整的Verilog HDL的的if語句結(jié)構(gòu)如下:語句結(jié)構(gòu)如下: if(表達式)(表達式) begin 語句;語句; end else if(表達式)(表達式) begin 語句;語句; end else begin 語句;語句; endn
46、在在if語句中,語句中,“表達式表達式”是邏輯表達式或關(guān)系表達式,也可以是位寬為是邏輯表達式或關(guān)系表達式,也可以是位寬為1位的位的變量。變量。n系統(tǒng)對表達式的值進行判斷,系統(tǒng)對表達式的值進行判斷, 若為若為0,x,z按按“假假”處理;若為處理;若為1,按,按“真真”處理,執(zhí)行指定的語句。處理,執(zhí)行指定的語句。36 例例3 8線線-3線優(yōu)先編碼器的設(shè)計線優(yōu)先編碼器的設(shè)計n8線線-3線優(yōu)先編碼器的功能表線優(yōu)先編碼器的功能表 module code(y,a); input 7:0 a; output 2:0 y; reg 2:0 y; always (a) begin if(a7) y=3b111;
47、 else if(a6) y=3b110; else if(a5) y=3b101; else if(a4) y=3b100; else if(a3) y=3b011; else if(a2) y=3b010; else if(a1) y=3b001; else y=3b000; end endmodule輸入輸入輸出輸出in0 in1 in2 in3 in4 in5 in6 in7out2 out1 out0 x x x x x x x 0 x x x x x x 0 1 x x x x x 0 1 1 x x x x 0 1 1 1 x x x 0 1 1 1 1 x x 0 1 1 1
48、1 1 x 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 037 case語句語句ncase語句是一種多分支的條件語句,語句是一種多分支的條件語句,case語句的格式為:語句的格式為: case(表達式)(表達式) 選擇值選擇值1: 語句語句1; 選擇值選擇值2: 語句語句2; 選擇值選擇值n: 語句語句n; default: 語句語句n+1 endcasen執(zhí)行執(zhí)行case語句時,首先計算表達式的值,然后執(zhí)行條件句中語句時,首先計算表達式的值,然后執(zhí)行條件句中相應(yīng)的相應(yīng)的“選擇值選擇值”
49、的語句。當所有的條件句的的語句。當所有的條件句的“選擇值選擇值”與表與表達式的值不同時,則執(zhí)行達式的值不同時,則執(zhí)行“default”后的語句。后的語句。default可以可以省略。省略。 ncase語句多用于數(shù)字系統(tǒng)中的譯碼器、數(shù)據(jù)選擇器、狀態(tài)機語句多用于數(shù)字系統(tǒng)中的譯碼器、數(shù)據(jù)選擇器、狀態(tài)機及微處理器的指令譯碼器等電路的描述。及微處理器的指令譯碼器等電路的描述。38 例例4:用:用case語句描述語句描述4選選1數(shù)據(jù)選擇器數(shù)據(jù)選擇器n控制信號控制信號s1,s2有有4種組合,控制種組合,控制a,b,c,d中的一個數(shù)據(jù)送到輸出端。中的一個數(shù)據(jù)送到輸出端。n4選選1數(shù)據(jù)選擇器數(shù)據(jù)選擇器Veril
50、og HDL的描述如下:的描述如下: module mux_4_1(z,a,b,c,d,s1,s2); input s1,s2; input a,b,c,d; output z; reg z; always (a,b,c,d,s1,s2) begin case(s1,s2) 2b00: z=a; 2b01: z=b; 2b10: z=c; 2b11: z=d; endcase end endmodulencase語句還有兩種變體形式,語句還有兩種變體形式,casez和和casex語句。與語句。與case語句的區(qū)別是語句的區(qū)別是不考慮語句中的高阻不考慮語句中的高阻z和未知和未知x的那些位,只關(guān)注
51、其他位的比較結(jié)果。的那些位,只關(guān)注其他位的比較結(jié)果。s1 s2z0 00 11 01 1abcd4選選1數(shù)據(jù)選擇器功能表數(shù)據(jù)選擇器功能表39 (3)循環(huán)語句)循環(huán)語句n循環(huán)語句包含循環(huán)語句包含for語句、語句、repeat語句、語句、while語句和語句和forever語語句句4種。種。 for語句語句nfor語句的格式為:語句的格式為: for(循環(huán)指針(循環(huán)指針=初值;循環(huán)指針初值;循環(huán)指針 終值;循環(huán)指針終值;循環(huán)指針=循環(huán)指針循環(huán)指針+步長值)步長值) begin 語句;語句; endnfor語句可以是一組語句重復執(zhí)行,語句中的參數(shù)一般屬于整語句可以是一組語句重復執(zhí)行,語句中的參數(shù)一般
52、屬于整型變量或常量。語句重復執(zhí)行的次數(shù)由語句中的參數(shù)確定。即型變量或常量。語句重復執(zhí)行的次數(shù)由語句中的參數(shù)確定。即 循環(huán)重復次數(shù)循環(huán)重復次數(shù)=(終值(終值-初值)初值)/步長值步長值40 例例5:8位奇偶校驗器的描述位奇偶校驗器的描述n用用a表示輸入信號,長度為表示輸入信號,長度為8位的向量。在程序中,用位的向量。在程序中,用for語句對語句對a的值,逐位進行模的值,逐位進行模2加運算(即異或加運算(即異或XOR),循環(huán)指針變量),循環(huán)指針變量n控控制模制模2加的次數(shù)。加的次數(shù)。 11100110 奇數(shù)個奇數(shù)個1n循環(huán)變量的初值為循環(huán)變量的初值為0,終值為,終值為8,因此,控制循環(huán)共執(zhí)行了,因
53、此,控制循環(huán)共執(zhí)行了8次。次。 例例5 用用Verilog HDL對對8位奇偶校驗器的描述如下:位奇偶校驗器的描述如下: module test8(a,out); input7:0 a; output out; reg out; integer n; always (a) begin out=0; for(n=0;n=b) max=a; else max=b; end endfunctionn函數(shù)調(diào)用的格式如下函數(shù)調(diào)用的格式如下: 函數(shù)名函數(shù)名 (關(guān)聯(lián)參數(shù)表);(關(guān)聯(lián)參數(shù)表);n函數(shù)調(diào)用一般是出現(xiàn)在模塊、任務(wù)或函數(shù)語句中。通過函數(shù)的調(diào)用來函數(shù)調(diào)用一般是出現(xiàn)在模塊、任務(wù)或函數(shù)語句中。通過函數(shù)的調(diào)
54、用來完成某些數(shù)據(jù)的運算或轉(zhuǎn)換。例如,調(diào)用上例中求最大值函數(shù)的語句完成某些數(shù)據(jù)的運算或轉(zhuǎn)換。例如,調(diào)用上例中求最大值函數(shù)的語句為為 z=max(x, y);n其中,其中,x和和y是與函數(shù)定義的兩個參數(shù)是與函數(shù)定義的兩個參數(shù)a、b相關(guān)聯(lián)的關(guān)聯(lián)參數(shù)。通過函相關(guān)聯(lián)的關(guān)聯(lián)參數(shù)。通過函數(shù)的調(diào)用,求出數(shù)的調(diào)用,求出x和和y中的最大值,并用函數(shù)名中的最大值,并用函數(shù)名max返回。返回。49 函數(shù)和任務(wù)存在以下幾處區(qū)別:函數(shù)和任務(wù)存在以下幾處區(qū)別:n(1)任務(wù)可以有任意不同類型輸入)任務(wù)可以有任意不同類型輸入/輸出參數(shù),函輸出參數(shù),函數(shù)不能將數(shù)不能將inout類型作為輸出。類型作為輸出。n(2)任務(wù)只可以在過程
55、語句中調(diào)用,不能在連續(xù))任務(wù)只可以在過程語句中調(diào)用,不能在連續(xù)賦值語句賦值語句assign中調(diào)用;函數(shù)可以作為表達式中的中調(diào)用;函數(shù)可以作為表達式中的一個操作數(shù),在過程賦值語句和連續(xù)賦值語句中均一個操作數(shù),在過程賦值語句和連續(xù)賦值語句中均可調(diào)用??烧{(diào)用。n(3)任務(wù)可以調(diào)用其他任務(wù)或函數(shù);函數(shù)可以調(diào))任務(wù)可以調(diào)用其他任務(wù)或函數(shù);函數(shù)可以調(diào)用其他函數(shù),但不能調(diào)用任務(wù)。用其他函數(shù),但不能調(diào)用任務(wù)。n(4)任務(wù)不向表達式返回值,函數(shù)向調(diào)用它的表)任務(wù)不向表達式返回值,函數(shù)向調(diào)用它的表達式返回一個值。達式返回一個值。50(5)語句的順序執(zhí)行與并行執(zhí)行)語句的順序執(zhí)行與并行執(zhí)行nVerilog HDL中
56、有順序執(zhí)行語句中有順序執(zhí)行語句和并行執(zhí)行語句之分。和并行執(zhí)行語句之分。nalways塊語句中的語句是順序語塊語句中的語句是順序語句,按照程序書寫的順序執(zhí)行。句,按照程序書寫的順序執(zhí)行。nalways塊本身卻是并行語句,它塊本身卻是并行語句,它與其他與其他always語句及語句及assign語語句、元件例化語句的執(zhí)行都是同句、元件例化語句的執(zhí)行都是同時(即并行)的。時(即并行)的。n例例9 同步清除十進制加法計數(shù)器同步清除十進制加法計數(shù)器的描述的描述n同步清同步清0是在時鐘信號作用下,是在時鐘信號作用下,計數(shù)器的狀態(tài)被計數(shù)器的狀態(tài)被clr清清0,清,清0信號信號clr高電平有效;高電平有效;n時
57、鐘信號時鐘信號clk上升沿觸發(fā)。計數(shù)器上升沿觸發(fā)。計數(shù)器計數(shù)狀態(tài)從計數(shù)狀態(tài)從4b0000到到4b1001循環(huán)。循環(huán)。module cnt10(clr,clk,q,co); input clr,clk; output3:0 q; output co; reg 3:0 q; reg co; always (posedge clk) begin if(clr) begin co=0; q=4b0000; end else if (q=4b1001) begin q=4b0000; co=1; end else begin co=0; q=q+1; end end endmodule 51章節(jié)目錄章節(jié)
58、目錄n9.1 硬件描述語言概述硬件描述語言概述n9.2 Verilog HDL簡介簡介n 9.2.1 基本程序結(jié)構(gòu)基本程序結(jié)構(gòu)n 9.2.2 詞法構(gòu)成詞法構(gòu)成n 補充:常用語句補充:常用語句n 9.2.3 模塊的描述方式模塊的描述方式n9.3 用用Verilog HDL描述邏輯電路的實例描述邏輯電路的實例n 組合邏輯電路的組合邏輯電路的Verilog HDL描述描述n 時序邏輯電路的時序邏輯電路的Verilog HDL描述描述9.2.3 Verilog HDL模塊的描述方式(建模方法)模塊的描述方式(建模方法)n系統(tǒng)級系統(tǒng)級(system): 用高級語言結(jié)構(gòu)用高級語言結(jié)構(gòu)實現(xiàn)設(shè)計模塊的外部性能
59、的模型。實現(xiàn)設(shè)計模塊的外部性能的模型。n算法級算法級(algorithmic): 用高級語言用高級語言結(jié)構(gòu)實現(xiàn)設(shè)計算法的模型。結(jié)構(gòu)實現(xiàn)設(shè)計算法的模型。nRTL級級(Register Transfer Level): 描述數(shù)據(jù)在寄存器之間流動和如何描述數(shù)據(jù)在寄存器之間流動和如何處理這些數(shù)據(jù)的模型。處理這些數(shù)據(jù)的模型。n門級門級(gate-level): 描述邏輯門以及描述邏輯門以及邏輯門之間的連接的模型。邏輯門之間的連接的模型。n開關(guān)級開關(guān)級(switch-level): 描述器件描述器件中三極管和儲存節(jié)點以及它們之間中三極管和儲存節(jié)點以及它們之間連接的模型。連接的模型。 邏輯級邏輯級 電路級電
60、路級 系統(tǒng)級系統(tǒng)級 算法級算法級 算法級算法級 RTL 級級 RTL 級級 門級門級 門級門級 開關(guān)級開關(guān)級 VHDL Verilog HDL 行為級行為級 用用Verilog HDL描述的電路就稱為描述的電路就稱為該設(shè)計電路的該設(shè)計電路的Verilog HDL模型模型建模層次:不同抽象級別的建模層次:不同抽象級別的Verilog HDL模型模型53Verilog HDL模塊的描述方式模塊的描述方式n1、結(jié)構(gòu)描述結(jié)構(gòu)描述:描述元器件間連接關(guān)系:描述元器件間連接關(guān)系: 主要采用元件例化語句主要采用元件例化語句instantiate;n2、數(shù)據(jù)流描述數(shù)據(jù)流描述:描述電路數(shù)據(jù)流的流向:描述電路數(shù)據(jù)流
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司重大突發(fā)事件總體應(yīng)急預案樣本(2篇)
- 個人房屋買賣合同簡單版
- 家庭裝修合同簡版
- 運輸機電維護員安全生產(chǎn)責任制模版(2篇)
- 買賣個人房屋合同范本4
- 2025年在收購儀式上的講話模版(3篇)
- 房屋裝修借款合同
- 2025年上半年娛樂場所消防安全工作總結(jié)(2篇)
- 軟件技術(shù)支持工程師崗位的基本職責(3篇)
- 規(guī)范學校辦學行為制度范文(2篇)
- 養(yǎng)老機構(gòu)績效考核及獎勵制度
- 龍巖市2022-2023學年七年級上學期期末生物試題【帶答案】
- DB32-T 4750-2024 模塊化裝配式污水處理池技術(shù)要求
- 企業(yè)員工績效管理與員工工作動機的激發(fā)
- 妊娠合并肺結(jié)核的診斷與治療
- 網(wǎng)絡(luò)畫板智慧樹知到期末考試答案2024年
- (正式版)JBT 14544-2024 水下機器人用直流電動機技術(shù)規(guī)范
- 2024年杭州市水務(wù)集團有限公司招聘筆試參考題庫附帶答案詳解
- 2024年江西人民出版社有限責任公司招聘筆試參考題庫附帶答案詳解
- 職高家長會課件
- CSR法律法規(guī)及其他要求清單(RBA)2024.3
評論
0/150
提交評論