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

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

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

不同情況下,在Verilog中什么時(shí)候用wire,什么時(shí)候用reg

電子工程師 ? 來(lái)源:FPGA設(shè)計(jì)論壇 ? 作者:FPGA設(shè)計(jì)論壇 ? 2020-09-28 11:26 ? 次閱讀

Verilog中何時(shí)用wire,何時(shí)用reg?

Verilog HDL中的變量可以定義為wire型和reg型,這兩種類型的變量在定義時(shí)要設(shè)置位寬,缺省為1位,變量的每一位可以取0、1、x、z,其中x代表未預(yù)置初始狀態(tài),z代表高阻狀態(tài)。
reg相當(dāng)于存儲(chǔ)單元,wire型相當(dāng)于物理連線,即reg型變量保持最后一次的賦值,而wire型變量需要持續(xù)的驅(qū)動(dòng)。

那么,在Verilog HDL中何時(shí)用wire,何時(shí)用reg型變量呢?
wire為連線,本身不帶邏輯性,所以輸入什么輸出就是什么
若變量放在begin…end內(nèi),則聲明為reg型;否則,聲明為wire型
在always塊中的變量,只能是reg型
使用wire型變量時(shí),必須搭配assign
input、output、inout聲明的變量,默認(rèn)都是wire型

若wire和reg用錯(cuò)了,編譯器會(huì)提醒,一般不用太擔(dān)心,下面再?gòu)?a target="_blank">仿真和綜合的角度解釋一下。


簡(jiǎn)單來(lái)說(shuō),硬件描述語(yǔ)言有兩種用途:仿真、綜合,對(duì)于wire和reg的理解,也可以從這兩個(gè)角度來(lái)考慮。

從仿真的角度來(lái)說(shuō),HDL語(yǔ)言面對(duì)的是編譯器,相當(dāng)于軟件思路,這時(shí):
wire對(duì)應(yīng)于連續(xù)賦值,如assign
reg對(duì)應(yīng)于過(guò)程賦值,如always塊、initial塊

從綜合的角度來(lái)說(shuō),HDL語(yǔ)言面對(duì)的是綜合器,要從電路的角度來(lái)考慮,這時(shí):
wire型的變量綜合出來(lái)一般是一根導(dǎo)線。
reg變量在always塊中有兩種情況:(1) always后的敏感表中是(a orb or c)形式的,也就是不帶時(shí)鐘邊沿的,綜合出來(lái)還是組合邏輯。(2) always后的敏感表中是(posedgeclk)形式的,也就是帶邊沿的,綜合出來(lái)一般是時(shí)序邏輯,會(huì)包含觸發(fā)器。


在設(shè)計(jì)中,一般來(lái)說(shuō)我們并不知道輸入信號(hào)是來(lái)自上一級(jí)寄存器的輸出還是組合邏輯的輸出,那么對(duì)于本級(jí)而言就是一根導(dǎo)線,也就是wire型。而輸出信號(hào)則由你自己來(lái)決定是寄存器輸出還是組合邏輯輸出,wire型和reg型都可以,但通常整個(gè)設(shè)計(jì)的外部輸出(即最頂層模塊的輸出)是寄存器輸出,這樣電路比較穩(wěn)定。

責(zé)任編輯:xj

原文標(biāo)題:在Verilog中何時(shí)用wire,何時(shí)用reg?

文章出處:【微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110100
  • Reg
    Reg
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    11486
  • Wire
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    15880

原文標(biāo)題:在Verilog中何時(shí)用wire,何時(shí)用reg?

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)AFE4400讀取的數(shù)據(jù)什么時(shí)候才會(huì)出現(xiàn)0?

    我目前的是AFE4400,讀取的是紅光、紅外光和去環(huán)境紅光,我想知道讀取的數(shù)據(jù)什么時(shí)候才會(huì)出現(xiàn)0?隨著光照增強(qiáng),是不是接受到的數(shù)據(jù)會(huì)變得更大?我讀取數(shù)據(jù)的時(shí)候,完全屏蔽掉接收端能夠讀到0,但是
    發(fā)表于 12-20 10:03

    TPA3116D2EVM電感位置,第二和第三種情況什么時(shí)候使用的?

    1、請(qǐng)問(wèn)電感位置,第二和第三種情況什么時(shí)候使用的? 2、電感電流選擇怎么選的?如果是BTL,4歐姆負(fù)載。按極限電流算純電阻做功,每通道都是130W左右了。標(biāo)的是50W。余量大概是多少?
    發(fā)表于 10-22 06:55

    等效電阻什么時(shí)候外加電源

    求解等效電阻時(shí),使用外加電源的方法主要適用于含有受控源或復(fù)雜電路的情況。以下是對(duì)使用外加電源法求等效電阻的介紹: 一、外加電源法的原理 外加電源法是通過(guò)電路的端口上施加一個(gè)已知的電壓源或電流源
    的頭像 發(fā)表于 09-30 09:48 ?1401次閱讀

    一般運(yùn)算放大器什么時(shí)候是數(shù)字電壓供電什么時(shí)候是模擬電壓供電?

    您好,我發(fā)現(xiàn)在有的電路,運(yùn)算放大器是數(shù)字電源,有時(shí)候又是模擬電源供電,請(qǐng)問(wèn)一般運(yùn)算放大器什么時(shí)候是數(shù)字電壓供電什么時(shí)候是模擬電壓供電?
    發(fā)表于 09-11 06:03

    什么時(shí)候需要用到no phase reversal運(yùn)放呢?

    什么時(shí)候需要用到no phase reversal運(yùn)放呢? 此時(shí)不用的話會(huì)造成什么影響呢?
    發(fā)表于 08-02 14:09

    請(qǐng)問(wèn)ESP32S2什么時(shí)候可以支持USB HOST讀取U盤(pán)?

    請(qǐng)問(wèn) ESP32S2什么時(shí)候可以支持USB HOST讀取U盤(pán)
    發(fā)表于 06-21 06:07

    stm32輔助時(shí)鐘AFIO,什么時(shí)候使能該時(shí)鐘?其作用是什么?

    一直不知道AFIO,請(qǐng)指點(diǎn)一,什么時(shí)候使能該時(shí)鐘。其作用是什么?
    發(fā)表于 05-15 08:01

    USB中斷setup,in和out階段到底什么時(shí)候進(jìn)入中斷?

    進(jìn)入中斷 還是發(fā)給host數(shù)據(jù)data0之后呢,或者是ACK之后? 第三個(gè)問(wèn)題:同理out處理時(shí)什么時(shí)候進(jìn)入中斷,是收到out packet之后 還是設(shè)備收到data1數(shù)據(jù)之后,還是ACK之后?
    發(fā)表于 04-29 08:37

    EXTI9_5仿真過(guò)程PR是什么時(shí)候掛起和解掛的?

    EXTI9_5仿真過(guò)程,EXTI->PR什么時(shí)候是掛起的,什么時(shí)候是解掛的? 今天晚上我練習(xí)了5.6.7號(hào)中斷線的使用。首先產(chǎn)生
    發(fā)表于 04-19 06:23

    條件相同情況下,stm8L與STM32L誰(shuí)的功耗會(huì)更低?

    stm8L與STM32L誰(shuí)的功耗會(huì)更低,條件相同情況下,正常運(yùn)行和低功耗模式時(shí)。
    發(fā)表于 04-16 07:17

    PMG1 PoR復(fù)位時(shí)POWER_DRILL2GO什么時(shí)候進(jìn)入?

    我有兩個(gè)關(guān)于 PMG1 PoR 的問(wèn)題。 1.復(fù)位時(shí)POWER_DRILL2GO什么時(shí)候進(jìn)入? 也許您想在電壓低于預(yù)設(shè)值時(shí)強(qiáng)制 EZ-PD? PMG1-S1 MCU 設(shè)備復(fù)位
    發(fā)表于 03-06 06:03

    小米SU7正式發(fā)布會(huì)什么時(shí)候開(kāi)?

    小米SU7正式發(fā)布會(huì)什么時(shí)候開(kāi)?網(wǎng)傳小米SU7的正式發(fā)布會(huì)將于2024年3月下旬舉行。而小米創(chuàng)辦人雷軍去年12月28日的小米汽車(chē)技術(shù)發(fā)布會(huì)上表示,小米SU7還在量產(chǎn)爬坡,正式發(fā)布
    的頭像 發(fā)表于 03-04 18:16 ?2295次閱讀

    龍旗科技什么時(shí)候上市?

    龍旗科技什么時(shí)候上市?龍旗科技于2024年3月1日成功登陸上交所主板,開(kāi)啟全新發(fā)展階段。
    的頭像 發(fā)表于 03-01 11:43 ?1110次閱讀

    二極管電路中被鉗位是什么意思 什么時(shí)候會(huì)出現(xiàn)被鉗位

    二極管電路中被鉗位是什么意思 什么時(shí)候會(huì)出現(xiàn)被鉗位 二極管電路,被鉗位是指當(dāng)輸入信號(hào)的電壓超過(guò)或低于一定閾值時(shí),輸出電壓被限制某個(gè)范
    的頭像 發(fā)表于 02-06 13:52 ?2967次閱讀

    ATOM觸發(fā)ADC采樣中斷是什么時(shí)候產(chǎn)生?

    ATOM觸發(fā)ADC采樣中斷是什么時(shí)候產(chǎn)生?發(fā)生周期匹配的時(shí)候還是0匹配的時(shí)候,怎么進(jìn)行設(shè)置
    發(fā)表于 02-06 06:27