91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

比較Verilog中Wire和Reg的不同之處

汽車玩家 ? 來源:CSDN ? 作者:MangoWen ? 2020-03-08 17:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

wire 和reg是Verilog程序里的常見的兩種變量類型,他們都是構(gòu)成verilog程序邏輯最基本的元素。正確掌握兩者的使用方法是寫好verilog程序的前提。但同時(shí),因?yàn)樗麄冊(cè)诖蠖鄶?shù)編程語言中不存在,很多新接觸verilog語言的人并不能很清楚的區(qū)別兩種變量的不同之處。這里簡(jiǎn)單對(duì)他們做一個(gè)比較,方便在編程時(shí)區(qū)別使用。

功能和狀態(tài)

Wire主要起信號(hào)間連接作用,用以構(gòu)成信號(hào)的傳遞或者形成組合邏輯。因?yàn)闆]有時(shí)序限定,wire的賦值語句通常和其他block語句并行執(zhí)行。

Wire不保存狀態(tài),它的值可以隨時(shí)改變,不受時(shí)鐘信號(hào)限制。

除了可以在module內(nèi)聲明,所有module的input 和output默認(rèn)都是wire型的。

Reg是寄存器的抽象表達(dá),作用類似通常編程語言中的變量,可以儲(chǔ)存數(shù)值,作為參與表達(dá)式的運(yùn)算,通常負(fù)責(zé)時(shí)序邏輯,以串行方式執(zhí)行。

Reg可以保存輸出狀態(tài)。狀態(tài)改變通常在下一個(gè)時(shí)鐘信號(hào)邊沿翻轉(zhuǎn)時(shí)進(jìn)行。

賦值方式

Wire有兩種賦值方式

1.在定義變量時(shí)賦初值,方式是用=。如果之后沒有再做賦值,初值會(huì)一直保留,(是否可以給邏輯?)

wire wire_a = 1’b0;

2.用assign語句賦值,等式右邊可以是wire,reg,一個(gè)常量或者是邏輯運(yùn)算

Wire wire_a;
Wire wire_b;
Wire wire_c;
Reg reg_a;
assign wire_b = wire_a;
assign wire_c =reg_a;
assign wire_d =wire_b & wire_c;

如果不賦值,wire的默認(rèn)狀態(tài)是高阻態(tài),即z。

對(duì)reg的使用通常需要有觸發(fā)條件,在always的block下進(jìn)行。觸發(fā)條件可以是時(shí)鐘信號(hào)上升沿。賦值語句可以是=或者

Wire wire_a;
Wire wire_b;
Reg reg_a;
Reg reg_b;
Always @( posedge clk)
Begin
Reg_b =reg_a;
Reg_c = wire_a | wire_b;
end

Reg在聲明時(shí)候不賦初值。未賦值的reg變量處于不定態(tài),即x。

使用方式

在引用一個(gè)module時(shí),輸入端口可以是wire型,也可以reg型。這里可以把對(duì)input的賦值看作一個(gè)assign語句,使用的變量相當(dāng)于等號(hào)右邊的變量,所以兩者都可以。

而對(duì)于輸出端口,必須使用reg型,而不能是wire型。同樣用assign的角度考慮,module的輸出在等號(hào)右邊,而使用的變量成了等號(hào)左邊,assign語句等號(hào)左邊只能是wire型。

位寬

這是個(gè)使用注意事項(xiàng)。所有的wire和reg在聲明時(shí)如果不做特殊聲明,只有1位。這個(gè)對(duì)于熟悉其他編程語言的人是一個(gè)容易犯錯(cuò)的地方。

執(zhí)行

wire wire_a = 4’he;

語句最后得到的wire_a是0x1,而不是0xe。因?yàn)閣ire_a只取了0xe的最低位的值而省略掉了其他值。所以正確的語句應(yīng)該是

wire[3:0] wire_a = 4’he;

這樣wire_a輸出的結(jié)果才是一個(gè)0xe。

小結(jié)

這篇文章從功能,變量狀態(tài),賦值方式,使用方式等角度討論了wire和reg變量類型的區(qū)別。并且給出了一個(gè)在verilog中常見的使用錯(cuò)誤及解決方法。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5608

    瀏覽量

    129969
  • Verilog
    +關(guān)注

    關(guān)注

    30

    文章

    1374

    瀏覽量

    114523
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    太陽能光伏系統(tǒng)硬接地故障與間歇性接地故障的不同之處

    太陽能光伏系統(tǒng)的接地故障可分為持續(xù)性故障或間歇性故障。這篇小文介紹了上述兩種故障的不同之處
    的頭像 發(fā)表于 01-15 15:06 ?474次閱讀
    太陽能光伏系統(tǒng)<b class='flag-5'>中</b>硬接地故障與間歇性接地故障的<b class='flag-5'>不同之處</b>

    分享1-Wire接口數(shù)字溫度傳感器IC型號(hào)

    英尚微電子通過研究設(shè)計(jì),開發(fā)出一種適用于溫度測(cè)量的簡(jiǎn)潔高效的嵌入式測(cè)溫方案。方案采用1-Wire接口的數(shù)字溫度傳感器,以其簡(jiǎn)潔高效的特性,成為眾多嵌入式測(cè)溫方案的優(yōu)選。其中,應(yīng)用于方案的1-Wire接口數(shù)字溫度傳感器IC典型的
    的頭像 發(fā)表于 12-02 16:34 ?796次閱讀
    分享1-<b class='flag-5'>Wire</b>接口數(shù)字溫度傳感器IC型號(hào)

    半導(dǎo)體封裝“焊線鍵合(Wire Bonding)”線弧相關(guān)培訓(xùn)的詳解;

    如有雷同或是不當(dāng)之處,還請(qǐng)大家海涵。當(dāng)前在各網(wǎng)絡(luò)平臺(tái)上均以此昵稱為ID跟大家一起交流學(xué)習(xí)! 半導(dǎo)體引線鍵合(Wire Bonding)是應(yīng)用最廣泛的鍵合技術(shù),也是半導(dǎo)體封裝工藝的一個(gè)重要環(huán)節(jié),主要利用金、鋁、銅、錫等金屬導(dǎo)線建
    的頭像 發(fā)表于 12-01 17:44 ?2335次閱讀
    半導(dǎo)體封裝“焊線鍵合(<b class='flag-5'>Wire</b> Bonding)”線弧相關(guān)培訓(xùn)的詳解;

    verilog testbench運(yùn)行測(cè)試用例時(shí),運(yùn)行到make run_test出錯(cuò)怎么解決?

    按照胡老師書上的在verilog testbench運(yùn)行測(cè)試用例時(shí),在運(yùn)行到make run_test步驟時(shí)出錯(cuò),查了很多方案沒有解決。
    發(fā)表于 11-11 06:52

    三坐標(biāo)和激光跟蹤儀的不同之處

    激光跟蹤儀和三坐標(biāo)測(cè)量機(jī)(CMM)是工業(yè)領(lǐng)域兩大高精度測(cè)量設(shè)備,但它們?cè)谠?、適用范圍和典型場(chǎng)景上存在顯著差異。下面從核心區(qū)別與應(yīng)用領(lǐng)域兩方面進(jìn)行系統(tǒng)分析:一、核心區(qū)別對(duì)比1.測(cè)量原理與工作方式激光跟蹤儀基于球坐標(biāo)系,通過激光束追蹤目標(biāo)反射鏡(靶球),實(shí)時(shí)測(cè)量距離與角度,動(dòng)態(tài)捕捉目標(biāo)點(diǎn)坐標(biāo)。支持無靶標(biāo)掃描(如LeicaATS600)。特點(diǎn):非接觸或輕接觸、動(dòng)
    的頭像 發(fā)表于 07-21 15:07 ?1377次閱讀
    三坐標(biāo)和激光跟蹤儀的<b class='flag-5'>不同之處</b>

    如果在WL_REG_ON/BT_REG_ON為低時(shí)輸入PCIe REFCLK,會(huì)有什么問題嗎?

    如果在WL_REG_ON/BT_REG_ON為低時(shí)輸入PCIe REFCLK,會(huì)有什么問題嗎? 我想知道當(dāng) VBAT/VDDIO 處于開啟狀態(tài)且 WL_REG_ON/BT_REG_ON
    發(fā)表于 07-17 07:34

    尾纖和光纖具體有什么不同之處

    尾纖和光纖在通信領(lǐng)域中都是重要的傳輸介質(zhì),但它們?cè)诮Y(jié)構(gòu)、功能、應(yīng)用場(chǎng)景等方面存在明顯區(qū)別,以下是詳細(xì)對(duì)比: 一、定義與結(jié)構(gòu) 光纖 定義:光纖是一種由玻璃或塑料制成的細(xì)長柔性纖維,用于傳輸光信號(hào)。 結(jié)構(gòu):通常由纖芯(光信號(hào)傳輸?shù)暮诵牟糠?、包層(反射光信號(hào),防止泄漏)和涂覆層(保護(hù)纖芯和包層)組成。 特點(diǎn):光纖是光信號(hào)傳輸?shù)耐暾橘|(zhì),通常以長距離傳輸為主,長度可達(dá)數(shù)公里甚至更長。 尾纖 定義:尾纖是一種短距離的光纖連接
    的頭像 發(fā)表于 07-01 10:28 ?2240次閱讀
    尾纖和光纖具體有什么<b class='flag-5'>不同之處</b>呢

    DS2465 DeepCover安全認(rèn)證器具有SHA-256協(xié)處理器和1-Wire主機(jī)功能技術(shù)手冊(cè)

    ,芯片內(nèi)部用戶可調(diào)定時(shí)器將系統(tǒng)主處理器從繁瑣的1-Wire波形時(shí)序控制解放出來,支持標(biāo)準(zhǔn)和高速1-Wire通信。1-Wire總線可通過軟件控制關(guān)斷。強(qiáng)上拉功能通過1-
    的頭像 發(fā)表于 05-14 14:09 ?1067次閱讀
    DS2465 DeepCover安全認(rèn)證器具有SHA-256協(xié)處理器和1-<b class='flag-5'>Wire</b>主機(jī)功能技術(shù)手冊(cè)

    DS24L65 DeepCover安全認(rèn)證器,具有SHA-256協(xié)處理器和1-Wire主機(jī)功能技術(shù)手冊(cè)

    轉(zhuǎn)換。對(duì)于1-Wire線驅(qū)動(dòng)器,芯片內(nèi)部用戶可調(diào)定時(shí)器將系統(tǒng)主處理器從繁瑣的1-Wire波形時(shí)序控制解放出來,支持標(biāo)準(zhǔn)和高速1-Wire通信。1-
    的頭像 發(fā)表于 05-14 11:25 ?956次閱讀
    DS24L65 DeepCover安全認(rèn)證器,具有SHA-256協(xié)處理器和1-<b class='flag-5'>Wire</b>主機(jī)功能技術(shù)手冊(cè)

    DS28E16 1-Wire SHA-3安全認(rèn)證器技術(shù)手冊(cè)

    計(jì)數(shù)器和唯一的64位ROM識(shí)別碼(ROM ID)。唯一的ROM ID用作加密運(yùn)算的基本輸入?yún)?shù),也作為應(yīng)用的電子序列號(hào)。器件通過單觸點(diǎn)1-Wire?總線通信。通信采用1-Wire協(xié)議,ROM ID作為多器件1-
    的頭像 發(fā)表于 05-13 15:18 ?1087次閱讀
    DS28E16 1-<b class='flag-5'>Wire</b> SHA-3安全認(rèn)證器技術(shù)手冊(cè)

    verilog模塊的調(diào)用、任務(wù)和函數(shù)

    在做模塊劃分時(shí),通常會(huì)出現(xiàn)這種情形,某個(gè)大的模塊包含了一個(gè)或多個(gè)功能子模塊,verilog是通過模塊調(diào)用或稱為模塊實(shí)例化的方式來實(shí)現(xiàn)這些子模塊與高層模塊的連接的.
    的頭像 發(fā)表于 05-03 10:29 ?1565次閱讀
    <b class='flag-5'>verilog</b>模塊的調(diào)用、任務(wù)和函數(shù)

    開關(guān)電源反激和正激的區(qū)分

    極或者負(fù)極)和流入電流方向相反。 這個(gè)是電感的特性。圖中的一個(gè)藍(lán)色的比較粗的豎 1 是磁芯的簡(jiǎn)化圖。 2、耦合特性:先看圖片 2 看看能不能分辨出圖 A 和圖 B 有何不同之處。 文件過大,需要完整版資料可下載附件查看哦!
    發(fā)表于 04-03 13:49

    FPGA Verilog HDL語法之編譯預(yù)處理

    Verilog HDL語言和C語言一樣也提供了編譯預(yù)處理的功能。“編譯預(yù)處理”是Verilog HDL編譯系統(tǒng)的一個(gè)組成部分。Verilog HDL語言允許在程序中使用幾種特殊的命令(它們不是一般
    的頭像 發(fā)表于 03-27 13:30 ?1435次閱讀
    FPGA <b class='flag-5'>Verilog</b> HDL語法之編譯預(yù)處理

    一文詳解Verilog HDL

    Verilog HDL(Hardware Description Language)是一種硬件描述語言,用于從算法級(jí)、門級(jí)到開關(guān)級(jí)的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建?!,F(xiàn)實(shí)生活多用于專用集成電路
    的頭像 發(fā)表于 03-17 15:17 ?4296次閱讀
    一文詳解<b class='flag-5'>Verilog</b> HDL

    使用STM32F103控制兩步進(jìn)電機(jī)同時(shí)進(jìn)行不同的運(yùn)動(dòng)(軟件指令驅(qū)動(dòng)),與控制一個(gè)電機(jī)的不同之處在哪里?

    使用STM32F103控制兩步進(jìn)電機(jī)同時(shí)進(jìn)行不同的運(yùn)動(dòng)(軟件指令驅(qū)動(dòng)),與控制一個(gè)電機(jī)的不同之處在于哪里?
    發(fā)表于 03-10 08:22