<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Verilog的語(yǔ)言要素有哪些?

Verilog的語(yǔ)言要素有哪些?

作者: 時(shí)間:2018-08-03 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/201808/385258.htm

語(yǔ)言定義了實(shí)數如何隱式地轉換為整數。實(shí)數通過(guò)四舍五入被轉換為最相近的整數。

42.446, 42.45 轉換為整數42

92.5, 92.699 轉換為整數93

-15.62 轉換為整數-16

-26.22 轉換為整數-26

3.6.3 字符串

字符串是雙引號內的字符序列。字符串不能分成多行書(shū)寫(xiě)。例如:

INTERNAL ERROR

REACHED->HERE

用8位ASCII值表示的字符可看作是無(wú)符號整數。因此字符串是8位ASCII值的序列。為存儲字符串“INTERNAL ERROR”,變量需要8*14位。

reg [1 : 8*14] Message;

. . .

Message = INTERNAL ERROR

反斜線(xiàn) ( ) 用于對確定的特殊字符轉義。

n 換行符

t 制表符

\ 字符本身

字符

206 八進(jìn)制數206對應的字符

3.7 數據類(lèi)型

HDL 有兩大類(lèi)數據類(lèi)型。

1) 線(xiàn)網(wǎng)類(lèi)型。net type 表示結構化元件間的物理連線(xiàn)。它的值由驅動(dòng)元件的值決定,例如連續賦值或門(mén)的輸出。如果沒(méi)有驅動(dòng)元件連接到線(xiàn)網(wǎng),線(xiàn)網(wǎng)的缺省值為z。

2) 寄存器類(lèi)型。register type表示一個(gè)抽象的數據存儲單元,它只能在always語(yǔ)句和initial語(yǔ)句中被賦值,并且它的值從一個(gè)賦值到另一個(gè)賦值被保存下來(lái)。寄存器類(lèi)型的變量具有x 的缺省值。

3.7.1 線(xiàn)網(wǎng)類(lèi)型

線(xiàn)網(wǎng)數據類(lèi)型包含下述不同種類(lèi)的線(xiàn)網(wǎng)子類(lèi)型。

* wire

* tri

* wor

* trior

* wand

* triand

* trireg

* tri1

* tri0

* supply0

* supply1

簡(jiǎn)單的線(xiàn)網(wǎng)類(lèi)型說(shuō)明語(yǔ)法為:

net_kind [msb:lsb] net1, net2, . . . , netN;

net_kind 是上述線(xiàn)網(wǎng)類(lèi)型的一種。msb和lsb 是用于定義線(xiàn)網(wǎng)范圍的常量表達式;范圍定義是可選的;如果沒(méi)有定義范圍,缺省的線(xiàn)網(wǎng)類(lèi)型為1位。下面是線(xiàn)網(wǎng)類(lèi)型說(shuō)明實(shí)例。

wire Rdy, Start; //2個(gè)1位的連線(xiàn)。

wand [2:0] Addr; //Addr是3位線(xiàn)與。

當一個(gè)線(xiàn)網(wǎng)有多個(gè)驅動(dòng)器時(shí),即對一個(gè)線(xiàn)網(wǎng)有多個(gè)賦值時(shí),不同的線(xiàn)網(wǎng)產(chǎn)生不同的行為。例如,

wor Rde;

. . .

assign Rde = Blt Wyl;

. . .

assign Rde = Kbl | Kip;

本例中,Rde有兩個(gè)驅動(dòng)源,分別來(lái)自于兩個(gè)連續賦值語(yǔ)句。由于它是線(xiàn)或線(xiàn)網(wǎng),Rde的有效值由使用驅動(dòng)源的值(右邊表達式的值)的線(xiàn)或(wor)表(參見(jiàn)后面線(xiàn)或網(wǎng)的有關(guān)章節)決定。

1. wire和tri線(xiàn)網(wǎng)

用于連接單元的連線(xiàn)是最常見(jiàn)的線(xiàn)網(wǎng)類(lèi)型。連線(xiàn)與三態(tài)線(xiàn)(tri)網(wǎng)語(yǔ)法和語(yǔ)義一致;三態(tài)線(xiàn)可以用于描述多個(gè)驅動(dòng)源驅動(dòng)同一根線(xiàn)的線(xiàn)網(wǎng)類(lèi)型;并且沒(méi)有其他特殊的意義。

wire Reset;

wire [3:2] Cla, Pla, Sla;

tri [ MSB-1 : LSB +1] Art;

如果多個(gè)驅動(dòng)源驅動(dòng)一個(gè)連線(xiàn)(或三態(tài)線(xiàn)網(wǎng)),線(xiàn)網(wǎng)的有效值由下表決定。

wire (或 tri) 0 1 x z

0 0 x x 0

1 x 1 x 1

x x x x x

z 0 1 x z

下面是一個(gè)具體實(shí)例:

assign Cla = Pla Sla;

. . .

assign Cla = Pla ^ Sla;

在這個(gè)實(shí)例中,Cla有兩個(gè)驅動(dòng)源。兩個(gè)驅動(dòng)源的值(右側表達式的值)用于在上表中索引,以便決定Cla的有效值。由于Cla是一個(gè)向量,每位的計算是相關(guān)的。例如,如果第一個(gè)右側表達式的值為01x, 并且第二個(gè)右測表達式的值為11z,那么Cla 的有效值是x1x (第一位0和1在表中索引到x, 第二位1和1在表中索引到1,第三位x 和z在表中索引到x)。

2. wor和trior線(xiàn)網(wǎng)

線(xiàn)或指如果某個(gè)驅動(dòng)源為1,那么線(xiàn)網(wǎng)的值也為1。線(xiàn)或和三態(tài)線(xiàn)或(trior)在語(yǔ)法和功能上是一致的。

wor [MSB:LSB] Art;

trior [MAX-1: MIN-1] Rdx, Sdx, Bdx;

如果多個(gè)驅動(dòng)源驅動(dòng)這類(lèi)網(wǎng),網(wǎng)的有效值由下表決定。

wor (或 trior) 0 1 x z

0 0 1 x 0

1 1 1 1 1

x x 1 x x

z 0 1 x z

3. wand和triand線(xiàn)網(wǎng)

線(xiàn)與(wand)網(wǎng)指如果某個(gè)驅動(dòng)源為0,那么線(xiàn)網(wǎng)的值為0。線(xiàn)與和三態(tài)線(xiàn)與(triand)網(wǎng)在語(yǔ)法和功能上是一致的。

wand [-7 : 0] Dbus;

triand Reset, Clk;

如果這類(lèi)線(xiàn)網(wǎng)存在多個(gè)驅動(dòng)源,線(xiàn)網(wǎng)的有效值由下表決定。

wand (或 triand) 0 1 x z

0 0 0 0 0

1 0 1 x 1

x 0 x x x

z 0 1 x z

4. trireg線(xiàn)網(wǎng)

此線(xiàn)網(wǎng)存儲數值(類(lèi)似于寄存器),并且用于電容節點(diǎn)的建模。當三態(tài)寄存器(trireg)的所有驅動(dòng)源都處于高阻態(tài),也就是說(shuō),值為z時(shí),三態(tài)寄存器線(xiàn)網(wǎng)保存作用在線(xiàn)網(wǎng)上的最后一個(gè)值。此外,三態(tài)寄存器線(xiàn)網(wǎng)的缺省初始值為x。

trireg [1:8] Dbus, Abus;

5. tri0和tri1線(xiàn)網(wǎng)

這類(lèi)線(xiàn)網(wǎng)可用于線(xiàn)邏輯的建模,即線(xiàn)網(wǎng)有多于一個(gè)驅動(dòng)源。tri0(tri1)線(xiàn)網(wǎng)的特征是,若無(wú)驅動(dòng)源驅動(dòng),它的值為0(tri1的值為1)。

tri0 [-3:3] GndBus;

tri1 [0:-5] OtBus, ItBus;

下表顯示在多個(gè)驅動(dòng)源情況下tri0或tri1網(wǎng)的有效值。

tri0 (tri1) 0 1 x z

0 0 x x 0

1 x 1 x 1

x x x x x

z 0 1 x 0(1)

6. supply0和supply1線(xiàn)網(wǎng)

supply0用于對“地”建模,即低電平0;supply1網(wǎng)用于對電源建模,即高電平1;例如:

supply0 Gnd, ClkGnd;

supply1 [2:0] Vcc;

3.7.2 未說(shuō)明的線(xiàn)網(wǎng)

在Verilog HDL中,有可能不必聲明某種線(xiàn)網(wǎng)類(lèi)型。在這樣的情況下,缺省線(xiàn)網(wǎng)類(lèi)型為1位線(xiàn)網(wǎng)。

可以使用`default_nettype編譯器指令改變這一隱式線(xiàn)網(wǎng)說(shuō)明方式。使用方法如下:

`default_nettype net_kind

例如,帶有下列編譯器指令:

`default_nettype wand

任何未被說(shuō)明的網(wǎng)缺省為1位線(xiàn)與網(wǎng)。

3.7.3 向量和標量線(xiàn)網(wǎng)

在定義向量線(xiàn)網(wǎng)時(shí)可選用關(guān)鍵詞scalared 或vectored。如果一個(gè)線(xiàn)網(wǎng)定義時(shí)使用了關(guān)鍵詞vectored, 那么就不允許位選擇和部分選擇該線(xiàn)網(wǎng)。換句話(huà)說(shuō),必須對線(xiàn)網(wǎng)整體賦值(位選擇和部分選擇在下一章中講解)。例如:



關(guān)鍵詞: Verilog FPGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>