版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù) 字 邏 輯數(shù) 字 邏 輯2第第2 2章章 邏輯代數(shù)和硬件描述語言基礎(chǔ)邏輯代數(shù)和硬件描述語言基礎(chǔ) 本章介紹分析和設(shè)計數(shù)字邏輯電路的數(shù)學(xué)方法,包括:本章介紹分析和設(shè)計數(shù)字邏輯電路的數(shù)學(xué)方法,包括:邏輯代數(shù)的基本概念,邏輯函數(shù)及其表示方法,邏輯代數(shù)邏輯代數(shù)的基本概念,邏輯函數(shù)及其表示方法,邏輯代數(shù)的基本公式、常用公式和重要定理以及邏輯函數(shù)的簡化方的基本公式、常用公式和重要定理以及邏輯函數(shù)的簡化方法。并介紹硬件描述語言法。并介紹硬件描述語言Verilog HDL的基本知識。的基本知識。 v 2.1 邏輯代數(shù)基本概念邏輯代數(shù)基本概念 v 2.2 邏輯代數(shù)的運算法則邏輯代數(shù)的運算法則v 2.3 邏輯函
2、數(shù)的表達式邏輯函數(shù)的表達式v 2.4 邏輯函數(shù)的公式簡化法邏輯函數(shù)的公式簡化法v 2.5 Verilog HDL基礎(chǔ)基礎(chǔ)32.5.1 Verilog HDL基本結(jié)構(gòu)基本結(jié)構(gòu)2.5.2 Verilog HDL的詞法的詞法2.5.3 Verilog HDL常用語句常用語句2.5.4 不同抽象級別的不同抽象級別的Verilog HDL模型模型2.5 Verilog HDL基礎(chǔ)基礎(chǔ)4硬件描述語言簡介硬件描述語言簡介v硬件描述語言硬件描述語言(Hradware Description Language ) 是一種用形式化方是一種用形式化方法(即文本形式)來描述和設(shè)計數(shù)字電路和數(shù)字系統(tǒng)的高級模塊化語言法(
3、即文本形式)來描述和設(shè)計數(shù)字電路和數(shù)字系統(tǒng)的高級模塊化語言。它是設(shè)計人員和。它是設(shè)計人員和EDA工具之間的一個橋梁,主要用于編寫工具之間的一個橋梁,主要用于編寫設(shè)計文件設(shè)計文件,在在EDA工具中建立電路模型;也用來編寫工具中建立電路模型;也用來編寫測試文件測試文件進行仿真。進行仿真。用用HDL描描述設(shè)計述設(shè)計編程下載編程下載EDAEDA工具工具綜合、仿真綜合、仿真目標文件目標文件vHDL發(fā)展至今已有近三十年的歷史,到發(fā)展至今已有近三十年的歷史,到20世紀世紀80年代,已出現(xiàn)了數(shù)十種年代,已出現(xiàn)了數(shù)十種硬件描述語言。硬件描述語言。80年代后期,年代后期, HDL向著標準化、集成化的方向發(fā)展,向著
4、標準化、集成化的方向發(fā)展,最終最終VHDL、Verilog HDL先后成為先后成為IEEE標準。標準。 wVHDL :VHSIC Hardware Description Language(VHSICVery High Speed Integrated Circuits),甚高速集成電路的硬件),甚高速集成電路的硬件描述語言,來源于美國軍方,描述語言,來源于美國軍方,1987年成為年成為IEEE標準。目前標準化程標準。目前標準化程度最高的一種度最高的一種HDL。5Verilog HDL簡介簡介vVerilog HDL是目前應(yīng)用最為廣泛的硬件描述語言,可以用來是目前應(yīng)用最為廣泛的硬件描述語言,可
5、以用來進行數(shù)字電路的建模、仿真驗證、時序分析、邏輯綜合進行數(shù)字電路的建模、仿真驗證、時序分析、邏輯綜合。w1983年,由年,由GDA(GateWay Design Automation)公司)公司的的Phil Moorby首創(chuàng);首創(chuàng);w1989年,年,Cadence公司收購了公司收購了GDA公司;公司;w1990年,年, Cadence公司公開發(fā)表公司公開發(fā)表Verilog HDL;w1995年年,IEEE制定并公開發(fā)表制定并公開發(fā)表Verilog HDL1364-1995標標準。準。vVerilog HDL模型可以是實際電路的不同級別的抽象。抽象級模型可以是實際電路的不同級別的抽象。抽象級別
6、可分為五級:系統(tǒng)級,別可分為五級:系統(tǒng)級,算算法級,法級,RTL級,門級,開關(guān)級。級,門級,開關(guān)級。6Verilog HDL的特點的特點v 語法結(jié)構(gòu)上的主要語法結(jié)構(gòu)上的主要特點特點w 形式化地表示電路的形式化地表示電路的行為行為和和結(jié)構(gòu)結(jié)構(gòu);w 借用借用C語言語言的結(jié)構(gòu)和語句;的結(jié)構(gòu)和語句;w 可在多個層次上對所設(shè)計的系統(tǒng)加以描述,語言對設(shè)計規(guī)??稍诙鄠€層次上對所設(shè)計的系統(tǒng)加以描述,語言對設(shè)計規(guī)模不加任何限制;不加任何限制;w 具有混合建模能力:一個設(shè)計中的各子模塊可用不同級別的具有混合建模能力:一個設(shè)計中的各子模塊可用不同級別的抽象模型來描述;抽象模型來描述;w 基本邏輯門、開關(guān)級結(jié)構(gòu)模型均
7、內(nèi)置于基本邏輯門、開關(guān)級結(jié)構(gòu)模型均內(nèi)置于Verilog HDL語言庫中語言庫中,可直接調(diào)用;,可直接調(diào)用;w 易創(chuàng)建用戶定義原語(易創(chuàng)建用戶定義原語(UDP,User Designed Primitive) 。v 易學(xué)易用,功能強易學(xué)易用,功能強與與C C語言語言非常相似非常相似!7Verilog HDL與與C語言的比較語言的比較v 語句及函數(shù)的比較語句及函數(shù)的比較語句及函數(shù)語句及函數(shù)C語言語言Verilog HDL函數(shù)函數(shù)無參函數(shù),有參函數(shù)無參函數(shù),有參函數(shù) function塊語句塊語句賦值語句賦值語句賦值賦值變量變量 = 表達式表達式;阻塞阻塞賦值賦值,非阻塞非阻塞賦值賦值條件語句條件語句
8、if-elseif-else條件條件語句語句switchcase循環(huán)語句循環(huán)語句forfor循環(huán)語句循環(huán)語句whilewhile中止語句中止語句breakbreak宏定義語句宏定義語句define(以符號(以符號#開頭)開頭)define(以符號(以符號開頭)開頭)格式輸出函數(shù)格式輸出函數(shù)printfprintf8運算符的比較運算符的比較C語言語言Verilog HDL功能功能C語言語言Verilog HDL功能功能加加=小于等于小于等于減減=等于等于*乘乘!=!=不等于不等于/除除按位取反按位取反%取模取模&按位與按位與!邏輯非邏輯非|按位或按位或&邏輯與邏輯與按位異或按位異
9、或|邏輯或邏輯或大于大于右移右移=大于等于大于等于Verilog HDL與與C語言的運算符幾乎完全相同!語言的運算符幾乎完全相同!9Verilog HDL 與與VHDL的比較的比較Verilog HDLVHDL成為成為IEEE標準標準1995年1987年語法結(jié)構(gòu)語法結(jié)構(gòu)比VHDL簡單語法結(jié)構(gòu)比較嚴格,模塊風(fēng)格比較清晰學(xué)習(xí)難易程度學(xué)習(xí)難易程度容易掌握較難掌握建模能力建模能力門級開關(guān)電路描述方面很強系統(tǒng)級抽象能力較強測試激勵模塊容易編寫適合由多人合作完成的特大型項目(一百萬門以上)。較多的第三方工具的支持仿真工具比較好用102.5.1 Verilog HDL基本結(jié)構(gòu)基本結(jié)構(gòu)一、簡單的一、簡單的Ve
10、rilog HDL例子例子【例例2.13】 8位全加器位全加器module adder8 ( cout,sum,a,b,cin ); output cout; / 輸出端口聲明輸出端口聲明 output 7:0 sum; input 7:0 a,b; / 輸入端口聲明輸入端口聲明 input cin; assign cout,sum=a+b+cin;endmoduleI/O說說明明端口定義端口定義功能描述功能描述模塊名模塊名( (文件名文件名) )v整個程序嵌套在整個程序嵌套在module和和endmodule聲明語句中。聲明語句中。v每條語句相對每條語句相對module和和endmodule
11、最好縮進最好縮進2格或格或4格!格!v/ 表示注釋部分,一般只占據(jù)表示注釋部分,一般只占據(jù)一一行。對編譯不起作用!行。對編譯不起作用!單行注釋符單行注釋符11簡單的簡單的Verilog HDL例子(例子(1/3) 【例例2.14】 8位計數(shù)器位計數(shù)器module counter8 ( out,cout,data,load, cin,clk ); output 7:0 out; output cout; input 7:0 data; input load, cin,clk ; reg7:0 out; always (posedge clk) begin if(load) out = data;
12、 / 同步預(yù)置數(shù)據(jù)同步預(yù)置數(shù)據(jù) else out = out + 1 + cin; / 加加1計數(shù)計數(shù) end assign cout = &out & cin; /若若out為為8hFF,cin為為1,則,則cout為為1endmodule功能描述功能描述信號類型聲明信號類型聲明縮減運算符縮減運算符按位與按位與12簡單的簡單的Verilog HDL例子(例子(2/3)【例例2.15】三態(tài)驅(qū)動器三態(tài)驅(qū)動器module trist2(out,in,enable); output out; input in, enable; bufif1 mybuf(out,in,enable);
13、endmodule例化元件名例化元件名門元件關(guān)鍵字門元件關(guān)鍵字門元件例化門元件例化程序通過調(diào)用一程序通過調(diào)用一個在個在Verilog語言庫中現(xiàn)存的實例語言庫中現(xiàn)存的實例門元件來實現(xiàn)某邏輯門功能。門元件來實現(xiàn)某邏輯門功能。 Inputs | Output in enable| out X 0| Z 1 1| 1 0 1| 0bufif1的的真值表真值表門元件例化門元件例化13module trist1(out,in,enable); output out; input in, enable; mytri tri_inst(out,in,enable);endmodulemodule mytri(
14、out,in,enable); output out; input in, enable; assign out = enable? in:bz; / * 如果如果enable為為1,則,則out = in,否則為高阻態(tài),否則為高阻態(tài) * /endmodule簡單的簡單的Verilog HDL例子(例子(3/3)【例例2.16】三態(tài)驅(qū)動器(三態(tài)驅(qū)動器( trist1.v)例化元件名例化元件名(可可省略省略)子模塊名子模塊名頂層模塊頂層模塊子模塊子模塊模塊元件例化模塊元件例化頂層模塊(頂層模塊(trist1)調(diào)用由某子模塊()調(diào)用由某子模塊(mytri)定義的實例元件()定義的實例元件(tri_
15、inst)來實現(xiàn)某功能。)來實現(xiàn)某功能。模塊元件例化模塊元件例化14Verilog HDL基本結(jié)構(gòu)總結(jié)基本結(jié)構(gòu)總結(jié) 1.Verilog HDL程序是由程序是由模塊模塊構(gòu)成的。每個模塊嵌套在構(gòu)成的。每個模塊嵌套在module和和endmodule聲明語句中。模塊是可以進行層次聲明語句中。模塊是可以進行層次嵌套的。嵌套的。 2.每個每個Verilog HDL源文件中只準有一個頂層模塊,其源文件中只準有一個頂層模塊,其他為子模塊。他為子模塊。源文件名稱與頂層模塊同名(后綴為源文件名稱與頂層模塊同名(后綴為.v)?。?! 3.每個模塊要進行端口定義,并說明輸入輸出端口,然每個模塊要進行端口定義,并說明輸
16、入輸出端口,然后對模塊的功能進行描述。后對模塊的功能進行描述。 4.程序書寫格式自由,一行可以寫幾個語句,一個語句程序書寫格式自由,一行可以寫幾個語句,一個語句也可以分多行寫。也可以分多行寫。 5.除了除了endmodule語句、語句、begin_end語句和語句和fork_join語語句外,每個語句和數(shù)據(jù)定義的最后必須有分號。句外,每個語句和數(shù)據(jù)定義的最后必須有分號。 6.可用可用/*.*/和和/.對程序的任何部分作注釋。加上必對程序的任何部分作注釋。加上必要的注釋,以增強程序的可讀性和可維護性。要的注釋,以增強程序的可讀性和可維護性。15二、二、Verilog HDL模塊的結(jié)構(gòu)模塊的結(jié)構(gòu)v
17、 Verilog的基本設(shè)計單元是的基本設(shè)計單元是“模塊模塊(block) ” 。v Verilog模塊的結(jié)構(gòu)由在模塊的結(jié)構(gòu)由在module和和endmodule關(guān)鍵詞關(guān)鍵詞之間的之間的4個主要部分組成:個主要部分組成:module block1(a,b,c,d ); input a,b,c; output d; wire x; assign d = a | x; assign x = ( b & c );endmoduleI/O說明說明端口定義端口定義功能描述功能描述信號類型聲明信號類型聲明123416模塊端口定義與模塊端口定義與I/O說明說明1、模塊端口定義、模塊端口定義w模塊端口定
18、義用來聲明設(shè)計電路模塊的輸入輸出端口,端口定義格式:模塊端口定義用來聲明設(shè)計電路模塊的輸入輸出端口,端口定義格式: module 模塊名模塊名(端口端口1, 端口端口2, 端口端口3, );w在端口定義的圓括弧中,是設(shè)計電路模塊與外界聯(lián)系的全部輸入輸出端口在端口定義的圓括弧中,是設(shè)計電路模塊與外界聯(lián)系的全部輸入輸出端口信號或引腳,它是設(shè)計實體對外的一個通信界面,是外界可以看到的部分信號或引腳,它是設(shè)計實體對外的一個通信界面,是外界可以看到的部分(不包含電源和接地端),多個端口名之間用(不包含電源和接地端),多個端口名之間用“,”分隔。分隔。2、 I/O說明說明w模塊的模塊的I/O說明用來聲明模
19、塊端口定義中各端口數(shù)據(jù)流動方向,包括輸說明用來聲明模塊端口定義中各端口數(shù)據(jù)流動方向,包括輸入(入(input)、輸出()、輸出(output)和雙向()和雙向(inout)。)。 input 端口端口1, 端口端口2, 端口端口3, ; output 端口端口1, 端口端口2, 端口端口3, ; inout 端口端口1, 端口端口2, 端口端口3, ;w 端口定義、端口定義、I/O說明和程序語句中的標點符號及說明和程序語句中的標點符號及圓括弧均要求用圓括弧均要求用半角半角符號書寫符號書寫!17信號類型聲明與功能描述信號類型聲明與功能描述3、信號類型聲明、信號類型聲明w信號類型聲明用來說明設(shè)計電
20、路的功能描述中,所用的信號的數(shù)據(jù)信號類型聲明用來說明設(shè)計電路的功能描述中,所用的信號的數(shù)據(jù)類型以及函數(shù)聲明。類型以及函數(shù)聲明。w信號的數(shù)據(jù)類型主要有信號的數(shù)據(jù)類型主要有連線連線(wire)、)、寄存器寄存器(reg)、)、整型整型(integer)、)、實型實型(real)和)和時間時間(time)等類型。)等類型。 4、功能描述、功能描述w功能描述是功能描述是Verilog HDL程序設(shè)計中最主要的部分,用來描述設(shè)計程序設(shè)計中最主要的部分,用來描述設(shè)計模塊的模塊的內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)和模塊端口間的和模塊端口間的邏輯關(guān)系邏輯關(guān)系,在電路上相當于器件,在電路上相當于器件的內(nèi)部電路結(jié)構(gòu)。的內(nèi)部電路結(jié)構(gòu)
21、。w功能描述可以用功能描述可以用assign語句、元件例化(語句、元件例化(instantiate)、)、always塊語句等方法來實現(xiàn),通常把確定這些設(shè)計模塊描述的方法稱為塊語句等方法來實現(xiàn),通常把確定這些設(shè)計模塊描述的方法稱為建模建模。 18邏輯功能定義邏輯功能定義v在在Verilog 模塊中有模塊中有3種方法可以描述電路的邏輯功能:種方法可以描述電路的邏輯功能:用用assign 語句語句 assign x = ( b & c );數(shù)據(jù)流描述數(shù)據(jù)流描述常用于描述常用于描述組合邏輯組合邏輯結(jié)構(gòu)描述結(jié)構(gòu)描述例化元件名例化元件名門元件關(guān)鍵字門元件關(guān)鍵字 用元件例化用元件例化(instan
22、tiate)and myand3( f,a,b,c);v 注注1:元件例化即是調(diào)用:元件例化即是調(diào)用Verilog HDL提供的元件提供的元件或由某子模塊定義的實例元件;或由某子模塊定義的實例元件;v 注注2:元件例化包括:元件例化包括門門元件例化和元件例化和模塊模塊元件例化;元件例化;v 注注3:例化元件名也可以省略!若不省略,則每個例化元件名也可以省略!若不省略,則每個實例元件的名字必須實例元件的名字必須唯一唯一!以避免與其它調(diào)用該元!以避免與其它調(diào)用該元件的實例相混淆。件的實例相混淆。19邏輯功能定義(續(xù))邏輯功能定義(續(xù)) 用用“always”塊語句塊語句 always (posedg
23、e clk) / 每當時鐘上升沿到來時執(zhí)行一遍塊內(nèi)語句每當時鐘上升沿到來時執(zhí)行一遍塊內(nèi)語句 begin if(load) out = data; / 同步預(yù)置數(shù)據(jù)同步預(yù)置數(shù)據(jù) else out = data + 1 + cin; / 加加1計數(shù)計數(shù) end行為描述行為描述v注注1:“always” 塊語句塊語句常用于描述常用于描述時序時序邏輯,也可描邏輯,也可描述述組合組合邏輯。邏輯。v注注2:“always” 塊塊可用多種手段來表達邏輯關(guān)系,如可用多種手段來表達邏輯關(guān)系,如用用if-else語句或語句或case語句。語句。v注注3:“always” 塊語句與塊語句與assign語句是并發(fā)執(zhí)行
24、的,語句是并發(fā)執(zhí)行的, assign語句一定要放在語句一定要放在“always” 塊語句之外!塊語句之外!20Verilog HDL程序的三種描述方式程序的三種描述方式 對設(shè)計電路的對設(shè)計電路的結(jié)構(gòu)結(jié)構(gòu)進行描述,即描述設(shè)計電路使用的元進行描述,即描述設(shè)計電路使用的元件及這些元件之間的連接關(guān)系件及這些元件之間的連接關(guān)系屬于屬于低層次低層次的描述方法,包括門級和開關(guān)級的描述方法,包括門級和開關(guān)級2種抽象級別種抽象級別21三、三、 Verilog HDL模塊的模板模塊的模板v Verilog HDL模塊的模塊的模板(僅考慮用于邏輯綜合的模板(僅考慮用于邏輯綜合的程序程序)module () ; ou
25、tput 輸出端口列表;輸出端口列表; input 輸入端口列表輸入端口列表; /(1)使用)使用assign語句定義邏輯功能語句定義邏輯功能 wire ; assign = 表達式表達式 ; /(2)使用)使用always塊定義邏輯功能塊定義邏輯功能 always () begin /過程賦值語句過程賦值語句 /if語句語句 /case語句語句 /while,repeat,for循環(huán)語句循環(huán)語句 /task,function調(diào)用調(diào)用 end22Verilog HDL模塊的模板模塊的模板(續(xù))(續(xù))/ (3)元件例化)元件例化 (); / 模塊元件例化模塊元件例化 (); / 門元件例化門元件
26、例化endmodule例化元件名例化元件名也也可以省略!可以省略!23 2.5.2 Verilog HDL的詞法的詞法一、空白符和注釋一、空白符和注釋v Verilog HDL的的空白符空白符包括空格、包括空格、Tab、換行和換頁符號、換行和換頁符號。空白符如果不是出現(xiàn)在字符串中,編譯源程序時將被??瞻追绻皇浅霈F(xiàn)在字符串中,編譯源程序時將被忽略。忽略。v 注釋注釋用來幫助讀者理解程序,編譯源程序時將被忽略。用來幫助讀者理解程序,編譯源程序時將被忽略。注釋分為行注釋和塊注釋兩種方式。注釋分為行注釋和塊注釋兩種方式。w行注釋行注釋用符號用符號/(兩個斜杠)開始,注釋到本行結(jié)束。(兩個斜杠)開始
27、,注釋到本行結(jié)束。w塊注釋塊注釋用用/*開始,用開始,用*/結(jié)束。塊注釋可以跨越多行,但它們結(jié)束。塊注釋可以跨越多行,但它們不能嵌套。不能嵌套。 v Verilog HDL源源程序程序由空白符分隔的詞法符號流組成。由空白符分隔的詞法符號流組成。v 詞法符號包括空白符、注釋、操作符(運算符)、常數(shù)詞法符號包括空白符、注釋、操作符(運算符)、常數(shù)、字符串、標識符及關(guān)鍵字。、字符串、標識符及關(guān)鍵字。24二、常數(shù)二、常數(shù)整數(shù)的整數(shù)的3種表達方式種表達方式說說 明明 舉舉 例例 完整的表達方式完整的表達方式8b11000101或或8 hc5 缺省位寬,則位寬由機器缺省位寬,則位寬由機器系統(tǒng)決定,至少系統(tǒng)
28、決定,至少32位位hc5缺省進制為十進制,位寬缺省進制為十進制,位寬默認為默認為32位位197v 常數(shù)包括整數(shù)、常數(shù)包括整數(shù)、x(未知)和(未知)和z(高阻)值、負數(shù)、實數(shù)高阻)值、負數(shù)、實數(shù)v 整數(shù)的整數(shù)的4種進制表示形式:種進制表示形式:w二進制整數(shù)(二進制整數(shù)(b或或B););w十進制整數(shù)(十進制整數(shù)(d或或D););w十六進制整數(shù)(十六進制整數(shù)(h或或H););w八進制整數(shù)(八進制整數(shù)(o或或O)。)。v這里位寬指對應(yīng)二進制數(shù)的寬度。這里位寬指對應(yīng)二進制數(shù)的寬度。v整數(shù)型常量是可以綜合的,而實數(shù)型和整數(shù)型常量是可以綜合的,而實數(shù)型和字符串型常量都是不可綜合的字符串型常量都是不可綜合的建
29、議最好寫明建議最好寫明位寬和進制位寬和進制清楚,不易清楚,不易出錯!出錯!25x和和z值值v x和和z值值wx表示不定值,表示不定值,z表示高阻值;表示高阻值;wx和和z代表的二進制位數(shù)取決于所用的進制代表的二進制位數(shù)取決于所用的進制 “?”是是z的另一種表示符號,建議在的另一種表示符號,建議在case語句中使用語句中使用?表示高阻態(tài)表示高阻態(tài)z【例例2.17 】casez (select) 4b?1: out = a; 4b?1?: out = b; 4b?1?: out = c; 4b1?: out = d; endcasev 負數(shù)負數(shù)w在位寬前加一個負號,即表示負數(shù)在位寬前加一個負號,即
30、表示負數(shù),負數(shù)通常表示為負數(shù)通常表示為該負數(shù)的二進制補碼該負數(shù)的二進制補碼w如:如:-8d5 /-5的補碼,的補碼,= 8b1111101126實數(shù)(實數(shù)(Real)v實數(shù)的兩種表示法實數(shù)的兩種表示法w十進制表示法十進制表示法2.0,5.678,0.1/合法合法2./非法,小數(shù)點兩側(cè)都必須有數(shù)字非法,小數(shù)點兩側(cè)都必須有數(shù)字w科學(xué)計數(shù)法科學(xué)計數(shù)法43_5.1e2/ 等于等于435.1 102=435105E-4/等于等于5 10-4=0.0005, e與與E相同相同v實數(shù)通過四舍五入被轉(zhuǎn)換為最相近的整數(shù)實數(shù)通過四舍五入被轉(zhuǎn)換為最相近的整數(shù) 【例例】42.446,42.45 /若轉(zhuǎn)換為整數(shù)都是若轉(zhuǎn)
31、換為整數(shù)都是42 92.5,92.699/若轉(zhuǎn)換為整數(shù)都是若轉(zhuǎn)換為整數(shù)都是93 -15.62,-25.26 /若轉(zhuǎn)換為整數(shù)分別為若轉(zhuǎn)換為整數(shù)分別為-16,-25v下劃線下劃線“_”可隨意用在整數(shù)或?qū)崝?shù)的數(shù)字中間,以提高可讀性;可隨意用在整數(shù)或?qū)崝?shù)的數(shù)字中間,以提高可讀性;但數(shù)字的第但數(shù)字的第1個字符不能是下劃線,也不能用在位寬和進制處。個字符不能是下劃線,也不能用在位寬和進制處。27三、字符串三、字符串v 字符串字符串是用雙引號括起來的可打印字符序列,不能多行書寫。是用雙引號括起來的可打印字符序列,不能多行書寫。v 作用:在仿真時顯示一些相關(guān)信息,或者指定顯示的格式作用:在仿真時顯示一些相關(guān)信
32、息,或者指定顯示的格式u例:例:”INTERNAL ERROR”, ”this is an example for Verilog HDL”v 字符串能夠用在系統(tǒng)任務(wù)(如字符串能夠用在系統(tǒng)任務(wù)(如$display、$monitor)中作為變量,字)中作為變量,字符串的值可像數(shù)值一樣存儲在寄存器中,也可以像對數(shù)字一樣對字符符串的值可像數(shù)值一樣存儲在寄存器中,也可以像對數(shù)字一樣對字符串進行賦值、比較和拼接操作串進行賦值、比較和拼接操作【例例】$display($time,”a=%h b=%h c=%h”,a,b,c); / 顯示當前仿真時間,空顯示當前仿真時間,空3格后顯示格后顯示a=xx b=x
33、x c=xxv 字符串屬于字符串屬于reg型變型變量,寬度為字符串中量,寬度為字符串中字符的個數(shù)乘以字符的個數(shù)乘以8?!纠縭eg8*12:1 stringvar; initial begin stringvar = “Hello world!”; end28四、標識符四、標識符 v任何用任何用Verilog HDL語言描述的對象都通過其名字來識別,這語言描述的對象都通過其名字來識別,這個名字被稱為個名字被稱為標識符標識符。標識符可由字母、數(shù)字、下劃線和標識符可由字母、數(shù)字、下劃線和$符符號構(gòu)成。號構(gòu)成。v如源文件名、模塊名、端口名、變量名、常量名、實例名等。如源文件名、模塊名、端口名、變量
34、名、常量名、實例名等。v定義標識符時應(yīng)遵循如下規(guī)則定義標識符時應(yīng)遵循如下規(guī)則 首字符必須是字母或下劃線,不能是數(shù)字或首字符必須是字母或下劃線,不能是數(shù)字或$符號符號! 字符數(shù)不能多于字符數(shù)不能多于1024個。個。 大小寫字母是不同的。大小寫字母是不同的。 不要與關(guān)鍵字同名!不要與關(guān)鍵字同名! v不合法不合法的名字:的名字:w123aw$datawmodulew7seg.vwout*/不允許包含字符不允許包含字符*v 合法合法的名字:的名字:wA_99_ZwResetw_54MHz_Clock$wModule 29五、關(guān)鍵字五、關(guān)鍵字v 關(guān)鍵字(保留字)關(guān)鍵字(保留字)Verilog HDL事先
35、定義好的確事先定義好的確認符,用來組織語言結(jié)構(gòu);或者用于定義認符,用來組織語言結(jié)構(gòu);或者用于定義Verilog HDL提供的門元件(如提供的門元件(如and,not,or,buf)。)。v 每個關(guān)鍵字全部用每個關(guān)鍵字全部用小寫小寫字母定義!字母定義! 如如always,assign,begin,case,casex,else,end, endmodule ,for,function,if,input, module ,output,repeat,table,time,while,wirev Verilog -1995的關(guān)鍵字有的關(guān)鍵字有97個(見教材表個(見教材表2.14),),Verilog
36、 -2001增加了增加了5個共個共102個。個。 用戶程序中的用戶程序中的模塊模塊、變量、節(jié)點變量、節(jié)點等的等的名稱不能與名稱不能與關(guān)鍵字關(guān)鍵字同名!同名!30六、運算符及表達式六、運算符及表達式v運算符按運算符按功能功能分為分為9類類:w算術(shù)算術(shù)運算符運算符w邏輯邏輯運算符運算符w關(guān)系關(guān)系運算符運算符w等值等值運算符運算符w縮減縮減運算符運算符w條件條件運算符運算符w位位運算符運算符w移位移位運算符運算符w位拼接位拼接運算符運算符v運算符按運算符按操作數(shù)的個數(shù)操作數(shù)的個數(shù)分為分為3類:類:w 單目單目運算符運算符帶一個操作數(shù)帶一個操作數(shù) 邏輯非!,按位取反邏輯非!,按位取反,縮減運算,縮減運
37、算符,移位運算符符,移位運算符w 雙目雙目運算符運算符帶兩個操作數(shù)帶兩個操作數(shù) 算術(shù)、關(guān)系、等值運算符,邏輯算術(shù)、關(guān)系、等值運算符,邏輯運算符(運算符(除邏輯非外除邏輯非外)、位運算符)、位運算符(除按位取反外除按位取反外)w 三目三目運算符運算符帶三個操作數(shù)帶三個操作數(shù) 條件運算符條件運算符v 運算符運算符也稱為也稱為操作符操作符,是,是Verilog HDL預(yù)定義的函數(shù)符號,預(yù)定義的函數(shù)符號,這些函數(shù)對被操作的對象(即操作數(shù))進行規(guī)定的運算,這些函數(shù)對被操作的對象(即操作數(shù))進行規(guī)定的運算,得到一個結(jié)果。得到一個結(jié)果。311、算術(shù)運算符、算術(shù)運算符v 雙雙目運算符目運算符算術(shù)運算符算術(shù)運算
38、符功能功能 */%加加減減乘乘除除求模求模v 進行整數(shù)除法運算時,結(jié)果值略去小數(shù)部分,只取整數(shù)部分!進行整數(shù)除法運算時,結(jié)果值略去小數(shù)部分,只取整數(shù)部分!v 求模求模即是即是求一個數(shù)被另一個數(shù)相除后所得的余數(shù)。求一個數(shù)被另一個數(shù)相除后所得的余數(shù)。%稱為稱為求模求模(或(或求余求余)運算符,要求)運算符,要求%兩側(cè)兩側(cè)均為均為整型整型數(shù)據(jù);數(shù)據(jù);v 求模運算結(jié)果值的符號位取第一個操作數(shù)的符號位!求模運算結(jié)果值的符號位取第一個操作數(shù)的符號位! 【例例】 -11%3 結(jié)果為結(jié)果為-2v 進行算術(shù)運算時,若某操作數(shù)為不定值進行算術(shù)運算時,若某操作數(shù)為不定值x,則整個結(jié)果也為,則整個結(jié)果也為x。 322
39、、邏輯運算符、邏輯運算符v 邏輯運算符把它的操作數(shù)當作邏輯運算符把它的操作數(shù)當作布爾變量布爾變量(邏輯(邏輯1、邏輯、邏輯0或不定值):或不定值):w 非零非零的操作數(shù)被認為是的操作數(shù)被認為是真真(1b1);w 零零被認為是被認為是假假(1b0);w 不確定不確定的操作數(shù)如的操作數(shù)如4bxx00, 被認為是不確定的(可能為零,也可被認為是不確定的(可能為零,也可能為非零)(記為能為非零)(記為1bx); 但但4bxx11被認為是真(記為被認為是真(記為1b1,因,因為它肯定是非零的)。為它肯定是非零的)。邏輯運算符邏輯運算符功能功能 &(雙目雙目)|(雙目雙目)!(單目單目)邏輯與邏輯
40、或邏輯非v如果操作數(shù)不止一位,應(yīng)將操作數(shù)作為一個整體來對待!如果操作數(shù)不止一位,應(yīng)將操作數(shù)作為一個整體來對待!v進行邏輯運算后的結(jié)果為布爾值(為進行邏輯運算后的結(jié)果為布爾值(為1或或0或或x)?。?!【例例】 若若A=4b0000,B=4b0101 則則 !A=1b b1,A&B=1b0,A|B=1b1。333、位運算符、位運算符位運算符位運算符功能功能 &|,按位取反按位與按位或按位異或按位同或雙雙目運算符目運算符單單目運算符目運算符v 位運算符中的雙目運算符要求對兩個操作數(shù)的相應(yīng)位位運算符中的雙目運算符要求對兩個操作數(shù)的相應(yīng)位逐位逐位進行邏輯運算。位運算其結(jié)果與操作數(shù)位數(shù)相同
41、。進行邏輯運算。位運算其結(jié)果與操作數(shù)位數(shù)相同。v 兩個不同長度的操作數(shù)進行位運算時,將自動按兩個不同長度的操作數(shù)進行位運算時,將自動按右右端端對齊對齊,位數(shù)少的操作數(shù)會在高位用,位數(shù)少的操作數(shù)會在高位用0補齊。補齊。 【例例】若若A = 5b11001,B = 3b101, 則則A & B = (5b11001)&(5b00101)= 5b00001 344、關(guān)系運算符、關(guān)系運算符v 雙雙目運算符目運算符v 用來對兩個操作數(shù)進行比較。用來對兩個操作數(shù)進行比較。關(guān)系運算符關(guān)系運算符功能功能= 小于小于或等于大于大于或等于括號內(nèi)先運算括號內(nèi)先運算算術(shù)運算先運算算術(shù)運算先運算v 運算
42、結(jié)果為運算結(jié)果為1位的邏輯值位的邏輯值1或或0或或x。關(guān)系運算時,若聲明的關(guān)系為。關(guān)系運算時,若聲明的關(guān)系為真真,則返回值為,則返回值為1;若關(guān)系為;若關(guān)系為假假,則返回值為,則返回值為0;若某操作數(shù)為;若某操作數(shù)為不定值不定值x,則返回值為,則返回值為x,表示結(jié)果是模糊的。,表示結(jié)果是模糊的。v 所有的關(guān)系運算符優(yōu)先級別相同。所有的關(guān)系運算符優(yōu)先級別相同。v 關(guān)系運算符的優(yōu)先級關(guān)系運算符的優(yōu)先級低于低于算術(shù)運算符。算術(shù)運算符?!纠?asize - 1等同于等同于: a(size - 1) size -(1a)不等同于不等同于: size-1 n 或或 A3 的結(jié)果的結(jié)果= 4b0001;
43、 4b10014的結(jié)果的結(jié)果= 4b0000 4b10011的結(jié)果的結(jié)果= 4b0010; 4b10012的結(jié)果的結(jié)果= 4b0100; 16 = 32b0001000000將操作數(shù)右移或左移將操作數(shù)右移或左移n位,相位,相當于將操作數(shù)除以或乘以當于將操作數(shù)除以或乘以2n。右移的數(shù)據(jù)右移的數(shù)據(jù)會丟失!會丟失!388、條件運算符、條件運算符v 三三目運算符目運算符v 常用于數(shù)據(jù)選擇器的設(shè)計常用于數(shù)據(jù)選擇器的設(shè)計in1outMUXin0sel信號信號 = 條件條件?表達式表達式1:表達式表達式2;v 條件運算符為條件運算符為?:?:v 用法:用法:【例例】數(shù)據(jù)選擇器數(shù)據(jù)選擇器assign out
44、= sel? in1:in0;當條件為當條件為真真,信號取表,信號取表達式達式1的值;為的值;為假假,則,則取表達式取表達式2的值。的值。sel=1時時out=in1; sel=0時時out=in0399、位拼接運算符、位拼接運算符v 位拼接運算符為位拼接運算符為 v 用于將兩個或多個信號的某些位拼接起來,表示一個用于將兩個或多個信號的某些位拼接起來,表示一個整體整體信號。信號。v 用法:用法:信號信號1的某幾位的某幾位, 信號信號2的某幾位的某幾位, , 信號信號n的某幾位的某幾位u例如在進行全加運算時,可將進位輸出與算術(shù)和拼接在一起使用。例如在進行全加運算時,可將進位輸出與算術(shù)和拼接在一起
45、使用?!纠?.19 】output 3:0 sum; /算術(shù)和算術(shù)和 output cout; /進位輸出進位輸出 input3:0 ina,inb; input cin; assign cout,sum = ina + inb +cin;/進位與算術(shù)和拼接在一起進位與算術(shù)和拼接在一起u位拼接可以嵌套使用,或用重復(fù)法簡化書寫位拼接可以嵌套使用,或用重復(fù)法簡化書寫【例例2.20 】3a,b3:0 = a,b3,b2,b1,b0, a,b3,b2,b1,b0, a,b3,b2,b1,b040運算符的優(yōu)先級運算符的優(yōu)先級類類 別別運運 算算 符符優(yōu)先級優(yōu)先級邏輯非、按位取反! 高低算術(shù)運算符* /
46、 % 移位運算符關(guān)系運算符 =等式運算符= = ! = = !=縮減運算符& & | |邏輯運算符&|條件運算符?:v為避免錯誤,提高程為避免錯誤,提高程序的可讀性,建議使序的可讀性,建議使用用括號括號來控制運算的來控制運算的優(yōu)先級!優(yōu)先級!【例例】(ab)&(bc) (a= =b)|(x= = y) (!a)|(ab)41七、七、 Verilog HDL數(shù)據(jù)對象數(shù)據(jù)對象v Verilog HDL數(shù)據(jù)對象是指用來存放各種類型數(shù)據(jù)的容器,數(shù)據(jù)對象是指用來存放各種類型數(shù)據(jù)的容器,包括常量和變量。包括常量和變量。 (1)常量)常量w常量用來存放一個恒定不變的數(shù)據(jù),一般
47、在程序前部定義。用常量用來存放一個恒定不變的數(shù)據(jù),一般在程序前部定義。用parameter來定義一個標識符,代表一個常量,來定義一個標識符,代表一個常量,稱為稱為符號常量符號常量或或parameter常量常量。parameter 常量名常量名1 = 表達式表達式, 常量名常量名2 = 表達式表達式, , 常量名常量名n = 表達式表達式;w 每個賦值語句的右邊必須為每個賦值語句的右邊必須為常數(shù)常數(shù)表達式,即只能包含數(shù)字或先前定義過表達式,即只能包含數(shù)字或先前定義過的符號常量!的符號常量!w parameter常量常用來定義常量常用來定義延遲時間延遲時間和和變量寬度變量寬度。當程序中有多處地方用
48、。當程序中有多處地方用到相同的常量時,建議用到相同的常量時,建議用parameter常量來定義常量來定義便于修改便于修改 ,有意義,有意義 w parameter常量是常量是本地本地的,其定義只在本模塊內(nèi)有效。的,其定義只在本模塊內(nèi)有效。wparameter是常量定義關(guān)鍵字,常量名是用戶定義的標識符,表是常量定義關(guān)鍵字,常量名是用戶定義的標識符,表達式是為常量賦的值。達式是為常量賦的值?!纠?parameter addrwidth = 16;42變量變量(2)變量)變量v 在程序運行過程中,其值可以改變的量,稱為在程序運行過程中,其值可以改變的量,稱為變量變量。v 其數(shù)據(jù)類型有其數(shù)據(jù)類型有
49、19種,常用的有種,常用的有3種:種:w網(wǎng)絡(luò)型(網(wǎng)絡(luò)型(nets type)w寄存器型(寄存器型(register type )w數(shù)組(數(shù)組(memory type)v其它數(shù)據(jù)類型:其它數(shù)據(jù)類型:large型、型、medium型型、 scalared型、型、 small型、型、time型、型、tri型、型、tri0型、型、tri1型、型、triand型、型、trior型、型、trireg型、型、vectored型、型、wand型、型、wor型等型等43nets型變量型變量1. nets1. nets型變量型變量v 網(wǎng)絡(luò)型變量網(wǎng)絡(luò)型變量( nets型變量)是輸出值始終隨輸入的變化型變量)是輸出值
50、始終隨輸入的變化而變化的變量。而變化的變量。v 一般用來定義電路中的各種物理連線。一般用來定義電路中的各種物理連線。v 有兩種驅(qū)動方式:在結(jié)構(gòu)描述中將其連接到一個門元件有兩種驅(qū)動方式:在結(jié)構(gòu)描述中將其連接到一個門元件或模塊的輸出端;或用或模塊的輸出端;或用assign語句對其賦值語句對其賦值v 常用的常用的nets型變量型變量wwire,tri:連線類型(兩者功能一致),:連線類型(兩者功能一致),可綜合可綜合wwor,trior:具有線或特性的連線(兩者功能一致):具有線或特性的連線(兩者功能一致)wwand,triand:具有線與特性的連線(兩者功能一致):具有線與特性的連線(兩者功能一致
51、)wtri1,tri0:上拉電阻和下拉電阻:上拉電阻和下拉電阻wsupply1,supply0:電源(邏輯:電源(邏輯1)和地(邏輯)和地(邏輯0),),可綜合可綜合netsnets型變量型變量不能儲存值!不能儲存值!44wire型變量型變量vwire型變量型變量w最常用的最常用的nets型變量,常用來表示以型變量,常用來表示以assign語句賦值的語句賦值的組合組合邏輯信號。邏輯信號。w模塊中的輸入模塊中的輸入/輸出信號類型輸出信號類型缺省缺省為為wire型型當對輸入當對輸入/輸出信號不加輸出信號不加以信號類型聲明時,則輸入以信號類型聲明時,則輸入/輸出信號為輸出信號為wire型。型。 w可
52、用做任何方程式的輸入,或可用做任何方程式的輸入,或“assign”語句和實例元件的輸出。語句和實例元件的輸出。wire 變量名變量名1,變量變量名名2, ,變量變量名名n;【例例】 將輸入將輸入a賦值給賦值給wire型變量型變量b input a; wire b; /* 中間節(jié)點。若為中間節(jié)點。若為output信號,則信號,則默認為默認為wire型變量,不必單獨聲明型變量,不必單獨聲明 */ assign b=a; /當當a變化時,變化時,b立即隨之變化立即隨之變化45wire型向量(總線)型向量(總線)wiren-1:0 變量名變量名1,變量名變量名2, ,變量名變量名m;或或 wiren:
53、1 變量名變量名1,變量名變量名2, ,變量名變量名m;每條總線每條總線位寬為位寬為n共有共有m條總線條總線【例例】 wire型向量型向量 wire7:0 in,out; assign out=in; /將等號右邊的值賦給等號左邊的將等號右邊的值賦給等號左邊的變量。變量。位寬為位寬為1位的變量稱為位的變量稱為標量標量,位寬超過位寬超過1位的變量稱為位的變量稱為向量向量。向量的寬度定義。向量的寬度定義 :MSB : LSB /* MSB(Most Significant Bit,最高有效位),最高有效位), LSB (Least Significant Bit,最低有效位),最低有效位) */4
54、6register型變量型變量v 寄存器型變量(register型變量)對應(yīng)型變量)對應(yīng)具有狀態(tài)保持作用具有狀態(tài)保持作用的的電路元件(如觸發(fā)器、寄存器等)電路元件(如觸發(fā)器、寄存器等),常用來表示常用來表示過程塊過程塊語句語句(如(如initial,always,task,function)內(nèi)的指定信號。)內(nèi)的指定信號。v 常用的常用的register型變量型變量wreg:常代表觸發(fā)器、寄存器,:常代表觸發(fā)器、寄存器,可綜合可綜合winteger:32位帶符號整數(shù)型變量,位帶符號整數(shù)型變量,可綜合可綜合wreal:64位帶符號實數(shù)型變量,表示實數(shù)寄存器,用于位帶符號實數(shù)型變量,表示實數(shù)寄存器,
55、用于仿真仿真wtime:無符號時間變量,用于對仿真時間的存儲與處理:無符號時間變量,用于對仿真時間的存儲與處理 純數(shù)學(xué)的純數(shù)學(xué)的抽象描述抽象描述2. register2. register型變量型變量47register型變量與型變量與nets型變量的區(qū)別型變量的區(qū)別v register型變量需要被明確地賦值,并且在被重新型變量需要被明確地賦值,并且在被重新賦值前一直保持原值。賦值前一直保持原值。v register型變量必須通過型變量必須通過過程過程賦值語句賦值!不能賦值語句賦值!不能通過通過assign語句賦值!語句賦值! v nets型變量必須通過型變量必須通過assign語句賦值!不能
56、通過過語句賦值!不能通過過程賦值語句賦值!程賦值語句賦值!v 在在always、initial、task、function等過程塊內(nèi)被等過程塊內(nèi)被賦值的每個信號必須定義成賦值的每個信號必須定義成register型!型!48reg型變量型變量v reg型變量型變量wreg型變量型變量是數(shù)字系統(tǒng)中存儲設(shè)備的抽象,常用于具體的硬件描述是數(shù)字系統(tǒng)中存儲設(shè)備的抽象,常用于具體的硬件描述,是最常用的寄存器型變量。,是最常用的寄存器型變量。 w它是在過程塊中被賦值的信號,它是在過程塊中被賦值的信號,往往往往代表觸發(fā)器(代表觸發(fā)器(沿沿觸發(fā)時),但觸發(fā)時),但不一定不一定就是觸發(fā)器(也可以是組合邏輯信號,就是
57、觸發(fā)器(也可以是組合邏輯信號,電平電平觸發(fā)時)!觸發(fā)時)!reg 變量變量名名1,變量變量名名2, ,變量變量名名n;regn-1:0 變量名變量名1,變量名變量名2, ,變量名變量名m;或或 regn:1 變量名變量名1,變量名變量名2, ,變量名變量名m;【例例】 reg4:1 regc,regd; /regc,regd為為4位寬的位寬的reg型向量型向量 reg0:7 data;/8位寄存器型變量,最高有效位是位寄存器型變量,最高有效位是0,最低有效位是,最低有效位是7u向量定義后可以采用多種使用形式(即賦值)向量定義后可以采用多種使用形式(即賦值) data=8b00000000; d
58、ata5:3=3B111; data7=1; v reg型向量(總線)型向量(總線)reg型變量生成觸發(fā)器和組合邏輯舉例型變量生成觸發(fā)器和組合邏輯舉例【例例2.21】在時鐘在時鐘沿沿觸發(fā)的觸發(fā)的always塊中塊中,用,用reg型變量生成型變量生成觸發(fā)器觸發(fā)器 module rw1( clk, d, out1); input clk, d; output out1; reg out1; always (posedge clk) /沿沿觸發(fā)觸發(fā) out1 = d; endmoduledclkout1D QDFF【例例2.22】使用使用電平電平觸發(fā),用觸發(fā),用reg型變量生成型變量生成組合邏輯組合
59、邏輯 module rw2( clk, d, out1); input clk, d; output out1; reg out1; always (d) /電平電平觸發(fā)觸發(fā) out1 = d; endmoduledout1BUFF49返回返回50memory型變量型變量v 存儲器型變量存儲器型變量( memory型變量)是由若干個相同寬度的型變量)是由若干個相同寬度的reg型向型向量構(gòu)成的數(shù)組。量構(gòu)成的數(shù)組。v Verilog HDL通過通過reg型變量建立數(shù)組來對型變量建立數(shù)組來對存儲器存儲器建模。定義存儲器建模。定義存儲器,需定義存儲器的,需定義存儲器的容量容量(存儲器中存儲單元的數(shù)量)
60、和(存儲器中存儲單元的數(shù)量)和字長字長(每個(每個存儲單元的數(shù)據(jù)寬度)存儲單元的數(shù)據(jù)寬度)v memory型變量可描述型變量可描述RAM、ROM和和reg文件。文件。v memory型變量通過擴展型變量通過擴展reg型變量的地址范圍來生成型變量的地址范圍來生成:regn-1:0 存儲器名存儲器名m-1:0;或或 regn-1:0存儲器名存儲器名m:1;每個存儲單每個存儲單元位寬為元位寬為n共有共有m個存?zhèn)€存儲單元儲單元3. memory3. memory型變量型變量數(shù)組數(shù)組Quartus IIQuartus II不支持!不支持!【例例】 reg 7:0 mema m-1:0 ; /容量為容量為m、字長為、字長為8位的存儲器位的存儲器v實際設(shè)計中,我們是直實際設(shè)計中,我們是直接調(diào)用接調(diào)用Quartus
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度網(wǎng)絡(luò)安全拓展合作協(xié)議書范本3篇
- 課程設(shè)計自動打標機
- 二零二五年度廢塑料瓶回收處理及循環(huán)利用合同3篇
- 舞伴匹配課程設(shè)計
- 二零二五年度景區(qū)道路路燈安裝服務(wù)合同范本2篇
- 貨運實訓(xùn)課程設(shè)計
- 苯酚丙酮課程設(shè)計
- 建筑公司安全技術(shù)措施管理制度(2篇)
- 2025年小學(xué)防溺水安全制度樣本(3篇)
- 2025年滬科新版九年級物理上冊階段測試試卷
- 世界十大物理學(xué)家圖文
- 門店營銷氛圍的重要性
- 三年級數(shù)學(xué)(上)計算題及答案集錦
- 科目余額表模板
- 【大單元教學(xué)】Unit 8 單元整體教學(xué)設(shè)計
- 學(xué)生自主管理實施方案10篇
- 亞朵酒店管理手冊
- 紀檢機關(guān)查辦案件分析報告
- 文化藝術(shù)中心行業(yè)技術(shù)創(chuàng)新及應(yīng)用
- 2024年航空職業(yè)技能鑒定考試-航空乘務(wù)員危險品歷年考試高頻考點試題附帶答案
- 精神病院設(shè)置可行性方案
評論
0/150
提交評論