最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Verilog 數(shù)據(jù)類型

2022-01-16 22:06 作者:專心當(dāng)一個(gè)坑  | 我要投稿

Verilog 數(shù)據(jù)類型

Verilog中,數(shù)據(jù)類型主要分為兩類:物理數(shù)據(jù)類型(主要包括連線型和寄存器型)和抽象數(shù)據(jù)類型(主要包括:整型、時(shí)間型、實(shí)型和參數(shù)型)

物理數(shù)據(jù)類型與實(shí)際硬件電路的硬件關(guān)系比較明顯,抽象程度比較低

抽象數(shù)據(jù)類型是進(jìn)行輔助設(shè)計(jì)和驗(yàn)證的數(shù)據(jù)類型

1 物理數(shù)據(jù)類型

Verilog中主要的物理數(shù)據(jù)類型是:連線型、寄存器型、存儲(chǔ)器型

使用四種邏輯電平(0,1,x,z)和八種信號(hào)強(qiáng)度(strength)對(duì)實(shí)際的電路進(jìn)行建模

四種邏輯電平是對(duì)信號(hào)的抽象

信號(hào)強(qiáng)度表示數(shù)字電路中不同強(qiáng)度的驅(qū)動(dòng)源,用來解決不同驅(qū)動(dòng)強(qiáng)度下的賦值沖突,八種強(qiáng)度如下,自上往下,強(qiáng)度遞減

1.1 連線型

連線表示邏輯單元的物理連接,可以對(duì)應(yīng)電路中的物理信號(hào)連線,這種變量不能保持電荷(trireg除外)

連線型變量必須要有驅(qū)動(dòng)源,一種是連接到一個(gè)門或者模塊的輸出端,另一種是用assign對(duì)它進(jìn)行賦值,若沒有驅(qū)動(dòng)源,將保持高阻態(tài)z

連線型有如下幾種:

1.1.1 wire和tri

wire(連線)和tri(三態(tài)線)是最常見的,語法和語義是一致的。

不同之處如下:

  • wire型變量通常用來表示單個(gè)驅(qū)動(dòng)門或assign賦值語句的連線

  • tri型變量用來表示多驅(qū)動(dòng)器驅(qū)動(dòng)的連線型數(shù)據(jù),主要用于定義三態(tài)的線網(wǎng)

  • 上述真值表是:同時(shí)有兩個(gè)驅(qū)動(dòng)強(qiáng)度相同的驅(qū)動(dòng)源來驅(qū)動(dòng)wire或tri變量時(shí)的輸出結(jié)果

    注意:這里并非是與邏輯,可以理解為都想給線賦值,因此當(dāng)出現(xiàn)0和1同時(shí)賦值時(shí),由于驅(qū)動(dòng)強(qiáng)度相同,因此最終結(jié)果是不定值x

1.1.2 wor和trior

1.1.3 wand和triand

wand和triand便是與邏輯,因此當(dāng)0和1同時(shí)出現(xiàn)時(shí),結(jié)果是0&1的結(jié)果

1.1.4 tri0和tri1

tri的特征是,若無驅(qū)動(dòng)源,其值為緊跟的數(shù)字

1.1.5 supply0和supply1

supply0表示GND,supply1表示VCC

1.1.6 trireg線網(wǎng)

trireg線網(wǎng)型可以存儲(chǔ)數(shù)值,類似于寄存器數(shù)據(jù)類型,用于電容節(jié)點(diǎn)的建模。

當(dāng)三態(tài)寄存器(trireg)的所有驅(qū)動(dòng)源都處于高阻態(tài)z時(shí),trireg保持作用在線網(wǎng)的最后一個(gè)邏輯值。

trireg的缺省初始值為x

存儲(chǔ)電荷強(qiáng)度有如下幾個(gè)關(guān)鍵字控制:

small、medium、large,默認(rèn)電荷強(qiáng)度為medium

對(duì)于trireg型數(shù)據(jù),仿真時(shí)其電荷衰減時(shí)間應(yīng)制定為延遲時(shí)間

1.2 寄存器型

reg型變量對(duì)應(yīng)的硬件電路元件具有狀態(tài)保持作用,能夠存儲(chǔ)數(shù)據(jù)

reg型變量常用于行為級(jí)描述,由過程賦值語句對(duì)其進(jìn)行賦值

reg和wire的區(qū)別:

  • reg保持最后一次的賦值,wire需要持續(xù)的驅(qū)動(dòng)

  • reg默認(rèn)初始值為不定值x,wire默認(rèn)初始值為不定值z

reg型變量一般是無符號(hào)的,若將負(fù)數(shù)賦值給reg型變量,會(huì)自動(dòng)轉(zhuǎn)成其補(bǔ)碼形式

1.3 連線型和寄存器型數(shù)據(jù)聲明對(duì)比

1.3.1 連線型數(shù)據(jù)聲明

語法為<net_declaration><drive_strength><range><delay><list_of_variables>

drive_strength、range、delay是可選項(xiàng)目,list_of_variables為必選項(xiàng)

  • net_declaration:數(shù)據(jù)的類型,可以是wire、tri、tri0、tri1、wand、triand、trior、wor、trireg中的任意一個(gè)

  • drive_strength:驅(qū)動(dòng)強(qiáng)度

  • range:用來指定數(shù)據(jù)位標(biāo)量或矢量。默認(rèn)表示數(shù)據(jù)類型為1bit的標(biāo)量,超過1bit就為矢量形式

  • delay:指定仿真延遲時(shí)間

  • list_of_variables:變量名稱

1.3.2 寄存器型數(shù)據(jù)聲明

語法為:reg <range><list_of_variables>

  • range:可選項(xiàng),確定變量位寬

  • list_of_variables:變量名稱

1.4 存儲(chǔ)器型

存儲(chǔ)器型本質(zhì)上是寄存器型變量的陣列,所以用reg型變量建立寄存器組實(shí)現(xiàn)存儲(chǔ)器功能。

存儲(chǔ)器變量聲明格式:reg<range1><name_of_list><range2>

其中,range1和range2是可選項(xiàng),缺省是都為1

說明:

  • range1:表示存儲(chǔ)器中寄存器的位寬

  • range2:表示寄存器的個(gè)數(shù)

例如:reg [7:0] mem [255:0]表示由256個(gè)位寬為8bit的寄存器組成的存儲(chǔ)器

2 抽象型數(shù)據(jù)類型

抽象型數(shù)據(jù)類型有:整型(integer)、時(shí)間型(time)、實(shí)型(real)和參數(shù)型(parameter)

2.1 整型

整型數(shù)據(jù)常用于對(duì)循環(huán)控制變量的說明,在算術(shù)運(yùn)算中被視為二進(jìn)制補(bǔ)碼形式的有符號(hào)數(shù)

整型數(shù)據(jù)默認(rèn)為32bit有符號(hào)數(shù)

2.2 時(shí)間型

時(shí)間型與整型數(shù)據(jù)類似,不過時(shí)間型是64bit無符號(hào)數(shù)

時(shí)間型數(shù)據(jù)主要用于對(duì)模擬時(shí)間的存儲(chǔ)與計(jì)算處理,常與系統(tǒng)函數(shù)$time一起使用

2.3 實(shí)型

Verilog支持實(shí)型常量與變量,實(shí)型數(shù)據(jù)在機(jī)器碼表示法中是浮點(diǎn)型數(shù)據(jù),可用于對(duì)延遲時(shí)間的計(jì)算

2.4 參數(shù)型

參數(shù)型數(shù)據(jù)屬于常量,在仿真開始之前就被賦值,并在仿真過程中保持不變

參數(shù)定義方法可以提高程序可可讀性和可維護(hù)性,常用來定義延遲時(shí)間和變量的位寬


Verilog 數(shù)據(jù)類型的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
绍兴县| 南安市| 江永县| 清流县| 新乡县| 鸡泽县| 承德市| 烟台市| 宜州市| 江西省| 临泉县| 平罗县| 莎车县| 江川县| 加查县| 江油市| 高陵县| 萍乡市| 凤冈县| 南乐县| 通许县| 大方县| 彭泽县| 沁源县| 自治县| 永康市| 邢台市| 华池县| 鸡西市| 东兰县| 余江县| 连南| 公主岭市| 大渡口区| 长岭县| 武胜县| 文水县| 梁河县| 达孜县| 新源县| 博罗县|