Verilog HDL數(shù)字集成電路設計原理與應用(第三版)課件 第2章 Verilog HDL基礎知識_第1頁
Verilog HDL數(shù)字集成電路設計原理與應用(第三版)課件 第2章 Verilog HDL基礎知識_第2頁
Verilog HDL數(shù)字集成電路設計原理與應用(第三版)課件 第2章 Verilog HDL基礎知識_第3頁
Verilog HDL數(shù)字集成電路設計原理與應用(第三版)課件 第2章 Verilog HDL基礎知識_第4頁
Verilog HDL數(shù)字集成電路設計原理與應用(第三版)課件 第2章 Verilog HDL基礎知識_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2.1VerilogHDL的語言要素

2.2模塊

2.3端口2.1VerilogHDL的語言要素2.1.1符號1.空白符空白符包括空格符(\b)、制表符(\t)、換行符和換頁符。空白符使代碼看起來結構清晰,閱讀起來更方便。在編譯和綜合時,空白符被忽略。VerilogHDL程序可以不分行,也可以加入空白符采用多行編寫。2.注釋符VerilogHDL中允許插入注釋,表明程序代碼功能、修改、版本等信息,以增強程序的可讀性和幫助管理文檔。VerilogHDL中有以下兩種形式的注釋:(1)單行注釋。單行注釋以“//”開始,VerilogHDL忽略從此處到行尾的內容。(2)多行注釋。多行注釋以“/*”開始,到“*/”結束,VerilogHDL忽略其中的注釋內容。需要注意的是,多行注釋不允許嵌套,但是單行注釋可以嵌套在多行注釋中。3.標識符和轉義標識符在VerilogHDL中,標識符(Identifier)被用來命名信號、模塊、參數(shù)等,它可以是任意一組字母、數(shù)字、$符號和_(下畫線)符號的組合。應該注意的是,標識符的字母區(qū)分大小寫,并且第一個字符必須是字母或者下畫線。為了使用標識符集合以外的字符或標號,VerilogHDL規(guī)定了轉義標識符(EscapedIdentifier)。采用轉義標識符,可以在一條標識符中包含任何可打印的字符。轉義標識符以“\”(反斜線)符號開頭,以空白結尾(空白可以是一個空格、一個制表字符或換行符)。4.關鍵字VerilogHDL內部已經使用的詞稱為關鍵字或保留字,它是VerilogHDL內部的專用詞,是事先定義好的確認符,用來組織語言結構。用戶不能隨便使用這些關鍵字。需注意的是,所有關鍵字都是小寫的。例如,ALWAYS不是關鍵字,它只是標識符,與always(關鍵字)是不同的。表2.1-1所示為VerilogHDL中的常用關鍵字。5.數(shù)值VerilogHDL中有四種基本的邏輯數(shù)值狀態(tài)[0、1、x(X)、z(Z)],用數(shù)字或字符表達數(shù)字電路中傳送的邏輯狀態(tài)和存儲信息。其中,x和z都不區(qū)分大小寫,也就是說,0x1z與0X1Z是等同的。VerilogHDL中的四值電平邏輯如表2.1-2所示。在數(shù)值中,下畫線符號“_”除了不能放于數(shù)值的首位外,可以隨意用在整型數(shù)與實型數(shù)中,它們對數(shù)值大小沒有任何改變,只是為了提高可讀性。例如,16'b1011000110001100和16'b1011_0001_1000_1100的數(shù)值大小是相同的,只是后一種表達方式的可讀性更強。1)整數(shù)及其表示VerilogHDL中的整數(shù)可以是二進制(b或B)、八進制(o或O)、十進制(d或D)、十六進制(h或H),其基數(shù)符號與可以采用的數(shù)字字符集如表2.1-3所示。整數(shù)的表示形式如下:+/-<size>'<base_format><number>其中:“+/-”是正數(shù)和負數(shù)標識;size指換算后的二進制數(shù)的寬度;“?'?”為基數(shù)格式表示的固有字符,該字符不能缺省,否則為非法表示形式;base_format是其基數(shù)符號;number是可以使用的數(shù)字字符集,形式上是相應進制格式下的一串數(shù)值。使用整數(shù)時需要注意的是:(1)較長的數(shù)之間可以用下畫線來分開,目的是提高可讀性,下畫線本身沒有意義,如16'b1110_1011_0011_1010,但下畫線符號不能用作首字符。(2)當數(shù)字沒有說明位寬時,默認為32位。(3)?x或z在二進制中代表1位x或z,在八進制中代表3位x或z,在十六進制中代表4位x或z,其代表的寬度取決于所用的進制。(4)若沒有定義一個整數(shù)的位寬,其寬度為相應值中定義的位數(shù)。(5)若定義的位寬比實際數(shù)的位數(shù)大,則在左邊用0補齊。但如果數(shù)的最左邊一位為x或z,就相應地用x或z在左邊補齊。如果定義的位寬比實際數(shù)的位寬小,那么最左邊的位被截斷。(6)?“?”是高阻態(tài)z的另一種表示符號。在數(shù)字的表示中,字符“?”和Z或z是等價的,可互相替代。(7)整數(shù)可以帶正、負號,并且正、負號應寫在最左邊。負數(shù)表示為二進制的補碼形式。(8)如果位寬和進制都缺省,則代表十進制數(shù)。例如:-15代表十進制數(shù)?-15。(9)數(shù)字中不能有空格,但在表示進制的字母兩側可以有空格。2)實數(shù)及其表示實數(shù)有以下兩種表示方法:(1)十進制表示法。采用十進制格式,小數(shù)點兩邊必須都有數(shù)字,否則為非法的表示形式。(2)科學記數(shù)法。VerilogHDL還定義了實數(shù)轉換為整數(shù)的方法,實數(shù)通過四舍五入轉換為最相近的整數(shù)。3)字符串及其表示字符串是指用雙引號括起來的字符序列,它必須包含在同一行中,不能分行書寫。若字符串用作VerilogHDL表達式或賦值語句中的操作數(shù),則字符串被看作8位的ASCII值序列,即一個字符對應8位的ASCII值。2.1.2數(shù)據(jù)類型在VerilogHDL中,常見的數(shù)據(jù)類型有wire、tri、tri0、tri1、wand、triand、trireg、trior、wor、supply0、supply1、reg、integer、time、real、parameter。按照抽象程度,VerilogHDL的數(shù)據(jù)類型又可劃分為兩大類:物理數(shù)據(jù)類型(主要包括連線型及寄存器型)和抽象數(shù)據(jù)類型(主要包括整型、時間型、實型及參數(shù)型)。物理數(shù)據(jù)類型的抽象程度比較低,與實際硬件電路的映射關系比較明顯;抽象數(shù)據(jù)類型則是進行輔助設計和驗證的數(shù)據(jù)類型。1.物理數(shù)據(jù)類型VerilogHDL中最主要的物理數(shù)據(jù)類型是連線型、寄存器型和存儲器型,并使用四種邏輯電平和八種信號強度對實際的硬件電路建模。四值邏輯電平是對信號的抽象表示(見表2.1-2)。信號強度表示數(shù)字電路中不同強度的驅動源,用來解決不同驅動強度下的賦值沖突;對邏輯0和1可以用表2.1-4中列出的信號強度值表示,驅動強度從supply到highz依次遞減,例如(supply0,strong1)表示邏輯0的驅動程度是supply,邏輯1的驅動程度是strong。1)連線型連線型變量包含多種類型,表2.1-5給出了各種連線型數(shù)據(jù)類型及其功能說明。連線表示邏輯單元的物理連接,可以對應為電路中的物理信號連線,這種變量類型不能保持電荷(除trireg之外)。連線型變量必須有驅動源,一種是連接到一個門或者模塊的輸出端,另一種是用assign連續(xù)賦值語句對它進行賦值。若沒有驅動源,將保持高阻態(tài)z。(1)?wire和tri。在眾多的連線型數(shù)據(jù)類型中,最常見的是wire(連線)和tri(三態(tài)線)兩種,它們的語法和語義一致。不同之處在于:wire型變量通常用來表示單個門驅動或連續(xù)賦值語句驅動的連線型數(shù)據(jù),tri型變量則用來表示多驅動器驅動的連線型數(shù)據(jù),主要用于定義三態(tài)的線網(wǎng)。wire/tri的真值表如表2.1-6所示。上述真值表可以理解為,同時有兩個驅動強度相同的驅動源來驅動wire或tri變量時的輸出結果。(2)?wor和trior。當有多個驅動源驅動wor和trior型數(shù)據(jù)時,將產生線或結構,其真值表如表2.1-7所示。(3)?wand和triand。當有多個驅動源驅動wand和triand型數(shù)據(jù)時,將產生線與結構,其真值表如表2.1-8所示。(4)?tri0和tri1。tri0(tri1)的特征是:若無驅動源驅動,則其值為0(tri1的值為1)。在有多個驅動源的情況下,tri0/tri1的真值表如表2.1-9所示。(5)?supply0和supply1。supply0用于對“地”建模,即低電平0;supply1用于對電源建模,即高電平1。例如:supply0表示Gnd,supply1表示Vcc。(6)?trireg。trireg能存儲數(shù)值(類似于寄存器型數(shù)據(jù)類型),并且用于電容節(jié)點的建模。當三態(tài)寄存器(trireg)的所有驅動源都處于高阻態(tài)z時,三態(tài)寄存器連線將保存作用在線網(wǎng)上的最后一個邏輯值。三態(tài)寄存器連線的缺省初始值為x。trireg連線型數(shù)據(jù)用于模擬電荷存儲。電荷量強度可由small、medium、large三個關鍵字來控制。默認的電荷強度為medium。一個trireg連線型數(shù)據(jù)能夠模擬一個電荷存儲節(jié)點,該節(jié)點的電荷量將隨時間而逐漸衰減。對于一個trireg連線型數(shù)據(jù),電荷衰減時間就是定義的仿真延遲時間。2)寄存器型reg型變量是最常見也是最重要的寄存器型數(shù)據(jù)類型,它是數(shù)據(jù)存儲單元的抽象類型,其對應的硬件電路元件具有狀態(tài)保持作用,能夠存儲數(shù)據(jù),如觸發(fā)器、鎖存器等。reg型變量常用于行為級描述中,由過程賦值語句對其進行賦值。reg型數(shù)據(jù)與wire型數(shù)據(jù)的區(qū)別在于,reg型數(shù)據(jù)保持最后一次的賦值,而wire型數(shù)據(jù)需要有持續(xù)的驅動。一般情況下,reg型數(shù)據(jù)的默認初始值為不定值x,缺省時的位寬為1位。reg型變量一般為無符號數(shù),若將一個負數(shù)賦給reg型變量,則自動轉換成其二進制補碼形式。在過程塊內被賦值的每一個信號都必須定義成reg型,并且只能在always或initial過程塊中賦值,大多數(shù)reg型信號常常是寄存器或觸發(fā)器的輸出。2.連線型和寄存器型數(shù)據(jù)類型的聲明1)連線型數(shù)據(jù)類型的聲明缺省的連線型數(shù)據(jù)的默認類型為1位(標量)wire類型。VerilogHDL中禁止對已經聲明過的網(wǎng)絡、變量或參數(shù)再次聲明。連線型數(shù)據(jù)類型聲明的一般語法格式如下:

<net_declaration><drive_strength><range><delay>[list_of_variables];其中,drive_strength、range、delay為可選項,而list_of_variables為必選項。

說明:(1)?net_declaration:連線型數(shù)據(jù)類型,可以是wire、tri、tri0、tri1、wand、triand、trior、wor、trireg、supply1、supply0中的任意一種。(2)?drive_strength:連線型變量的驅動強度。對于trireg類型,聲明的是charge_strength(電荷強度)。(3)?range:指定數(shù)據(jù)為標量或矢量。若該項默認,則表示數(shù)據(jù)類型為1位的標量;若超過1位,則為矢量形式。

(4)?delay:指定仿真延遲時間。

(5)?list_of_variables:變量名稱,一次可定義多個名稱,之間用逗號分開。除了邏輯值外,VerilogHDL還用強度值來解決數(shù)字電路中不同強度的驅動源之間的賦值沖突,強度等級說明見表2.2-1。如果兩個具有不同強度的信號驅動同一個線網(wǎng),則競爭結果為高強度信號的值;如果兩個強度相同的信號之間發(fā)生競爭,則結果為不確定值。2)寄存器型數(shù)據(jù)類型的聲明reg型數(shù)據(jù)類型聲明的一般語法格式如下:reg<range><list_of_register_variables>;其中,range為可選項,它指定了reg型變量的位寬,缺省時為1位。

說明:list_of_register_variables:變量名稱列表,一次可以定義多個名稱,之間用逗號分開。3)物理數(shù)據(jù)類型聲明示例前面已經了解了連線型數(shù)據(jù)和寄存器型數(shù)據(jù)這兩種物理數(shù)據(jù)類型的聲明格式,下面舉例來說明這兩種聲明格式的用法。3.存儲器型存儲器型(memory)本質上還是寄存器型變量陣列,只是VerilogHDL中沒有多維數(shù)組,所以就用reg型變量建立寄存器組(數(shù)組)來實現(xiàn)存儲器的功能,也就是擴展的reg型數(shù)據(jù)地址范圍。存儲器型變量可以描述RAM型、ROM型存儲器以及reg文件。數(shù)組中的每一個單元通過一個數(shù)組索引進行尋址。

存儲器型變量的一般聲明格式如下:reg<range1><name_of_register><range2>;其中,range1和range2都是可選項,缺省時都為1。

說明:(1)?range1:存儲器中寄存器的位寬,格式為[msb:lsb]。(2)?range2:寄存器的個數(shù),格式為[msb:lsb],即有msb-lsb+1個。(3)?name_of_register:變量名稱列表,一次可以定義多個名稱,之間用逗號分開。4.抽象數(shù)據(jù)類型除了物理數(shù)據(jù)類型外,VerilogHDL還提供了整型(integer)、時間型(time)、實型(real)及參數(shù)型(parameter)等幾種抽象數(shù)據(jù)類型。它們只是純數(shù)學的抽象描述,不能與實際的硬件電路相映射。1)整型整型數(shù)據(jù)常用于對循環(huán)控制變量的說明,在算術運算中被視為二進制補碼形式的有符號數(shù)。除了寄存器型數(shù)據(jù)被當作無符號數(shù)來處理之外,整型數(shù)據(jù)與32位寄存器型數(shù)據(jù)在實際意義上相同。整型數(shù)據(jù)的聲明格式如下:integer<list_of_register_variables>;2)時間型時間型數(shù)據(jù)與整型數(shù)據(jù)類似,只是它是64位的無符號數(shù)。時間型數(shù)據(jù)主要用于處理模擬時間的存儲與計算,常與系統(tǒng)函數(shù)$time一起使用。時間型數(shù)據(jù)的聲明格式如下:time<list_of_register_variables>;3)實型VerilogHDL支持實型常量與變量。實型數(shù)據(jù)在機器碼表示法中是浮點型數(shù)值,可用于對延遲時間的計算。實型數(shù)據(jù)的聲明格式如下:real<list_of_variables>;4)參數(shù)型在VerilogHDL中,參數(shù)是一個非常重要的數(shù)據(jù)類型,屬于常量,在仿真開始之前就被賦值,在仿真過程中保持不變。采用參數(shù)定義方法,可以提高程序的可讀性和可維護性。參數(shù)常用來定義延遲時間和變量的位寬。參數(shù)型數(shù)據(jù)的定義格式如下:parameter參數(shù)名1?=?表達式1,參數(shù)名2?=?表達式2,…,參數(shù)名n?=?表達式n;其中,表達式既可以是常數(shù),也可以是常量表達式,即表達式中是常數(shù)或之前定義過的參數(shù)。參數(shù)定義完后,程序中出現(xiàn)的所有的參數(shù)名都將被替換為相對應的表達式。對于同一個模塊來說,參數(shù)一旦被定義,就不能夠通過其他語句對它重新賦值。下例是錯誤的,因為a被重復賦值。2.1.3運算符VerilogHDL的運算符主要針對數(shù)字邏輯電路制定,覆蓋范圍廣泛。VerilogHDL中的運算符及其運算優(yōu)先級如表2.1-10所示。不同的綜合開發(fā)工具在執(zhí)行這些優(yōu)先級時可能有微小的差別,因此在書寫程序時建議用括號來控制運算的優(yōu)先級,以有效避免錯誤,同時增加程序的可讀性。1.算術運算符VerilogHDL中常用的算術運算符有五種,分別是加法(?+?)、減法(?-?)、乘法(?*?)、除法(?/?)和取模(?%?)。這五種運算符都屬于雙目運算符。符號“+”“-”“*”“/”分別表示常用的加、減、乘、除四則運算;%?是取模運算,如“6%3”的值為0,“7%4”的值為3。在算術運算符的使用中,要注意如下問題:(1)算術運算結果的位寬。算術表達式結果的長度由最長的操作數(shù)決定。在賦值語句下,算術運算結果的長度由等號操作符左端的目標長度決定。(2)有符號數(shù)和無符號數(shù)的使用。在設計中要注意到哪些操作數(shù)應該是無符號數(shù),哪些應該是有符號數(shù)。無符號數(shù)值一般存儲在線網(wǎng)、reg(寄存器)型變量及普通(沒有符號標記s)的基數(shù)格式表示的整型數(shù)中。有符號數(shù)值一般存儲在整型變量、十進制形式的整數(shù)、有符號的reg(寄存器)型變量及有符號的線網(wǎng)中。2.關系運算符關系運算符也是雙目運算符,是對兩個操作數(shù)的大小進行比較。關系運算符有大于(>)、小于(<)、大于等于(>=)和小于等于(<=)幾種。在進行關系比較時,如果成立則結果為1'b1,否則返回的結果為0'b0;若不確定則返回結果為不定值(x)。例如:10>15的結果為假(0),20?>?18的結果為真(1),而4'b1101?<?4'hx的結果為不定值(x)。需注意的是,若操作數(shù)長度不同,則長度短的操作數(shù)應在左邊用0補齊。例如:'b1001>='b101100等價于?'b001001>='b101101,結果為假(0)。3.相等關系運算符相等關系運算符是對兩個操作數(shù)進行比較,比較的結果有三種,即真(1)、假(0)和不定值(x)。VerilogHDL中有四種相等關系運算符:等于(==)、不等于(!=)、全等(===)、非全等(!==)。這四種運算符都是雙目運算符,要求有兩個操作數(shù),并且這四種相等運算符的優(yōu)先級別是相同的?!?=”和“!=”稱為邏輯等式運算符,其結果由兩個操作數(shù)的值決定,由于操作數(shù)中某些位可能是不定值x和高阻態(tài)值z,所以結果可能為不定值x?!?==”和“!==”運算符則不同,它是對操作數(shù)進行按位比較,兩個操作數(shù)必須完全一致,其結果才是1,否則為0。若兩個操作數(shù)對應位同時出現(xiàn)不定值x和高阻值z,則可認為是相同的?!?==”和“!==”運算符常用于case表達式的判別,所以又稱為“case等式運算符”。表2.1-11列出了“==”和“===”的真值表,可幫助讀者理解兩者的區(qū)別。4.邏輯運算符邏輯運算符有三種,分別是邏輯與(&&)、邏輯或(||)和邏輯非(!)。其中邏輯與、邏輯或是雙目運算符,邏輯非為單目運算符。邏輯運算符的操作數(shù)只能是邏輯0或者邏輯1。三種邏輯運算符的真值表如表2.1-12所示。在邏輯運算符的操作過程中,如果操作數(shù)僅有1位,那么1就代表邏輯真,0就代表邏輯假;如果操作數(shù)是由多位組成的,則當操作數(shù)每一位都是0時才是邏輯0值,只要有某一位為1,這個操作數(shù)就是邏輯1值。例如:寄存器變量a、b的初值分別為4'b1110和4'b0000,則?!a?=?0,!b?=?1,a&&b?=?0,a?||?b?=?1。需注意的是,若操作數(shù)中存在不定態(tài)x,并且其他位都是0,則邏輯運算的結果也是不定態(tài),例如:a的初值為4'b1100,b的初值為4'b00x0,則?!a?=?0,!b?=?x,a&&b?=?x,a?||?b?=?1。5.按位運算符數(shù)字邏輯電路中,信號與信號之間的運算稱為位運算。VerilogHDL提供了五種類型的位運算符:按位取反(~)、按位與(&)、按位或(|)、按位異或(^)、按位同或(^~)。按位運算符對其自變量的每一位進行操作。例如:表達式A|B的結果是A和B的對應位相或的值。表2.1-13~表2.1-15給出了按位與、按位或和按位異或運算符的真值表。需要注意的是,兩個不同長度的數(shù)進行位運算時,會自動地將兩個操作數(shù)按右端對齊,位數(shù)少的操作數(shù)會在高位用0補齊;然后逐位進行運算,運算結果的位寬與操作數(shù)中的位寬較大者相同。6.歸約運算符歸約運算符按位進行邏輯運算,屬于單目運算符。由于這一類運算符運算的結果是產生1位邏輯值,因而被形象地稱為縮位運算符。VerilogHDL中,縮位運算符包括?&(與)、|(或)、^(異或)以及相應的非操作?~&、~|、~^、^~。歸約運算符的操作數(shù)只有一個。歸約運算符的運算過程是:設a是一個4位的寄存器型變量,它的4位分別是a[0]、a[1]、a[2]?和a[3]。當對a進行縮位運算時,先對a[0]?和a[1]?進行縮位運算,產生1位的結果,再將這個結果與a[2]?進行縮位運算,接著是a[3],最后產生1位的操作結果。7.移位運算符移位運算符有兩種:左移位運算符(<<)和右移位運算符(>>)。移位運算過程是將左邊(右邊)的操作數(shù)向左(右)移,所移動的位數(shù)由右邊的操作數(shù)來決定,然后用0來填補移出的空位。

8.條件運算符條件運算符(??:)是VerilogHDL里唯一的三目運算符,它根據(jù)條件表達式的值來選擇應執(zhí)行的表達式,其表達形式如下:<條件表達式>?<表達式1>:<表達式2>其中,條件表達式的運算結果有真(1)、假(0)和不定態(tài)(x)三種。當條件表達式的結果為真時,執(zhí)行表達式1;當條件表達式的結果為假時,執(zhí)行表達式2。如果條件表達式的運算結果為不定態(tài)x,則模擬器將按位對表達式1的值與表達式2的值進行比較,位與位的比較按表2.1-16的規(guī)則產生每個結果位,從而構成條件表達式的結果。9.連接和復制運算符VerilogHDL中還有兩個特殊的運算符:連接運算符({})和復制運算符({{}})。連接運算符是把位于大括號({})中的兩個或兩個以上信號或數(shù)值用逗號(?,?)分隔的小表達式按位連接在一起,最后用大括號括起來表示一個整體信號或數(shù)值,形成一個大的表達式。其格式如下:{信號1的某幾位,信號2的某幾位,…,信號n的某幾位}復制運算符({{}})將一個表達式放入雙重花括號中,復制因子放在第一層括號中。它為復制一個常量或變量提供了一種簡便的方法。2.2模

塊模塊(module)是VerilogHDL的基本單元,它代表一個基本的功能塊,用于描述某個設計的功能或結構,以及與其他模塊通信的外部端口。一個電路的設計不是一個模塊的設計,而是多個模塊的組合,因此一個模塊的設計只是一個系統(tǒng)設計中某個層次的設計。圖2.2-1是一個基本的模塊結構組成。從圖2.2-1中可以看出,一個模塊主要包括模塊的開始與結束、模塊端口定義、模塊數(shù)據(jù)類型說明和模塊邏輯功能描述幾個基本部分。(1)模塊的開始與結束:模塊在語言形式上是以關鍵詞module開始、以關鍵詞endmodule結束的一段程序,其中模塊開始語句必須以分號結束。模塊的開始部分包括模塊名(name)和端口列表(port_list),模塊名是模塊唯一的標識符,而端口列表是由模塊各個輸入、輸出和雙向端口變量組成的一張列表,這些端口用來與其他模塊進行連接(不妨理解為集成電路的引腳)。(2)模塊端口定義:定義端口列表里的變量哪些是輸入(input)、輸出(output)和雙向端口(inout)以及位寬。(3)模塊數(shù)據(jù)類型說明:包括wire、reg、memory和parameter等數(shù)據(jù)類型,以說明模塊中所用到的內部信號、調用模塊等的聲明語句和功能定義語句。一般來說,module的input缺省定義為wire類型;output信號可以是wire類型,也可以是reg類型(條件是在always或initial語句塊中被賦值);inout一般為tri(三態(tài)線)類型,表示有多個驅動源。(4)模塊邏輯功能描述:產生各種邏輯(主要是組合邏輯和時序邏輯),主要包括initial語句、always語句、其他子模塊實例化語句、門實例化語句、用戶自定義原語(UDP)實例化語句、連續(xù)賦值語句(assig

溫馨提示

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

評論

0/150

提交評論