chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

功能和狀態(tài)

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

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

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

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

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

賦值方式

Wire有兩種賦值方式

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

wire wire_a = 1’b0;

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

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的默認狀態(tài)是高阻態(tài),即z。

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

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在聲明時候不賦初值。未賦值的reg變量處于不定態(tài),即x。

使用方式

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

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

位寬

這是個使用注意事項。所有的wire和reg在聲明時如果不做特殊聲明,只有1位。這個對于熟悉其他編程語言的人是一個容易犯錯的地方。

執(zhí)行

wire wire_a = 4’he;

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

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

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

小結(jié)

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

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

    關(guān)注

    31

    文章

    5589

    瀏覽量

    129064
  • Verilog
    +關(guān)注

    關(guān)注

    30

    文章

    1370

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

    三坐標和激光跟蹤儀的不同之處

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

    如果在WL_REG_ON/BT_REG_ON為低時輸入PCIe REFCLK,會有什么問題嗎?

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

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

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

    使用STM32F103控制兩步進電機同時進行不同的運動(軟件指令驅(qū)動),與控制一個電機的不同之處在哪里?

    使用STM32F103控制兩步進電機同時進行不同的運動(軟件指令驅(qū)動),與控制一個電機的不同之處在于哪里?
    發(fā)表于 03-10 08:22

    DS2431 1024位1-Wire EEPROM技術(shù)手冊

    DS2431是一款1024位1-Wire? EEPROM芯片,由四頁存儲區(qū)組成,每頁256位。數(shù)據(jù)先被寫入一個8字節(jié)暫存器,經(jīng)校驗后復(fù)制到EEPROM存儲器。該器件的特點是,四頁存儲區(qū)相互獨立
    的頭像 發(fā)表于 02-26 15:38 ?1691次閱讀
    DS2431 1024位1-<b class='flag-5'>Wire</b> EEPROM技術(shù)手冊

    DS9490 USB至1-Wire/iButton適配器技術(shù)手冊

    和網(wǎng)絡(luò)。有關(guān)合適的1-Wire網(wǎng)絡(luò)電纜的列表,請參閱DS1402x1-Wire網(wǎng)絡(luò)線纜數(shù)據(jù)表的連接矩陣表。這兩個適配器都基于DS2490 USB-to-1-Wire橋接芯片。
    的頭像 發(fā)表于 02-26 10:45 ?1080次閱讀
    DS9490 USB至1-<b class='flag-5'>Wire</b>/iButton適配器技術(shù)手冊

    Verilogsigned和$signed()的用法

    嗎?其實不是的,因為有符號數(shù)和無符號數(shù)據(jù)的加法強結(jié)果和乘法器結(jié)構(gòu)是一樣的,signed的真正作用是決定如何對操作數(shù)擴位的問題。 2、verilog的加法和乘法操作前,會先對操作數(shù)據(jù)擴位成結(jié)果相同的位寬,然后進行加法或者乘法處理。比如a/b都為4位數(shù)據(jù),c為5位數(shù)據(jù),c
    的頭像 發(fā)表于 02-17 17:47 ?1185次閱讀
    <b class='flag-5'>Verilog</b><b class='flag-5'>中</b>signed和$signed()的用法

    淺談Verilog和VHDL的區(qū)別

    Verilog和VHDL是兩種廣泛使用的硬件描述語言(HDL),它們用于描述和模擬數(shù)字電路系統(tǒng)的行為和結(jié)構(gòu)。這兩種語言的主要作用是幫助工程師設(shè)計、仿真和驗證集成電路(IC)和系統(tǒng)級芯片(SoC)的硬件模塊。
    的頭像 發(fā)表于 02-17 14:20 ?2630次閱讀
    淺談<b class='flag-5'>Verilog</b>和VHDL的區(qū)別

    光纖跳線鎧裝和非鎧裝有哪些不同之處

    光纖跳線鎧裝和非鎧裝在多個方面存在顯著差異,以下是對這兩者的詳細比較: 一、構(gòu)造差異 鎧裝光纖跳線:采用了多層材料設(shè)計,包括光纖、Kevlar纖維(或其他增強纖維)、鋁箔、銅絲編織層和PVC護套等
    的頭像 發(fā)表于 01-06 10:12 ?1173次閱讀

    Verilog 電路仿真常見問題 Verilog 在芯片設(shè)計的應(yīng)用

    。然而,在實際應(yīng)用,設(shè)計師可能會遇到各種問題,這些問題可能會影響仿真的準確性和設(shè)計的可靠性。 Verilog電路仿真常見問題 仿真環(huán)境的搭建問題 仿真環(huán)境的搭建是進行Verilog仿真的第一步。設(shè)計師需要選擇合適的仿真工具,并
    的頭像 發(fā)表于 12-17 09:53 ?1602次閱讀

    Verilog 與 ASIC 設(shè)計的關(guān)系 Verilog 代碼優(yōu)化技巧

    Verilog與ASIC設(shè)計的關(guān)系 Verilog作為一種硬件描述語言(HDL),在ASIC設(shè)計扮演著至關(guān)重要的角色。ASIC(Application Specific Integrated
    的頭像 發(fā)表于 12-17 09:52 ?1438次閱讀

    Verilog 測試平臺設(shè)計方法 Verilog FPGA開發(fā)指南

    Verilog測試平臺設(shè)計方法是Verilog FPGA開發(fā)的重要環(huán)節(jié),它用于驗證Verilog設(shè)計的正確性和性能。以下是一個詳細的Verilog
    的頭像 發(fā)表于 12-17 09:50 ?1559次閱讀

    Verilog與VHDL的比較 Verilog HDL編程技巧

    Verilog 與 VHDL 比較 1. 語法和風(fēng)格 VerilogVerilog 的語法更接近于 C 語言,對于有 C 語言背景的工程師來說,學(xué)習(xí)曲線較平緩。它支持結(jié)構(gòu)化編程,代
    的頭像 發(fā)表于 12-17 09:44 ?2691次閱讀

    讀寫DATAOUT_CTL_REG的程序有什么錯誤嗎?

    ); // 寫入DATAOUT_CTL_REG設(shè)置值,設(shè)置為輸出數(shù)據(jù)包含輸入是否超出限度的信息。 AD_Conversion(); AD_Write(0xC8200000); // 讀
    發(fā)表于 12-13 08:38