女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

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

汽車玩家 ? 來源:CSDN ? 作者:MangoWen ? 2020-03-08 17:18 ? 次閱讀

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

功能和狀態

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

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

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

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

Reg可以保存輸出狀態。狀態改變通常在下一個時鐘信號邊沿翻轉時進行。

賦值方式

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

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

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變量處于不定態,即x。

使用方式

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

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

位寬

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

執行

wire wire_a = 4’he;

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

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

這樣wire_a輸出的結果才是一個0xe。

小結

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5421

    瀏覽量

    123319
  • Verilog
    +關注

    關注

    28

    文章

    1366

    瀏覽量

    111802
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    Verilogsigned和$signed()的用法

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

    Verilog 電路仿真常見問題 Verilog 在芯片設計的應用

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

    Verilog 與 ASIC 設計的關系 Verilog 代碼優化技巧

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

    Verilog 測試平臺設計方法 Verilog FPGA開發指南

    Verilog測試平臺設計方法是Verilog FPGA開發的重要環節,它用于驗證Verilog設計的正確性和性能。以下是一個詳細的Verilog
    的頭像 發表于 12-17 09:50 ?1017次閱讀

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

    Verilog 與 VHDL 比較 1. 語法和風格 VerilogVerilog 的語法更接近于 C 語言,對于有 C 語言背景的工程師來說,學習曲線較平緩。它支持結構化編程,代
    的頭像 發表于 12-17 09:44 ?1455次閱讀

    CCD傳感器與CMOS傳感器的相同之處不同之處

    ? ? ? ?本文介紹了CCD傳感器與CMOS傳感器的相同之處不同之處。 相對最早發展起來的模擬相機,數字相機也是一個很龐大的家族,早在20世紀70年代,相機里出現了以CMOS技術為核心的類型分支
    的頭像 發表于 11-24 10:39 ?2847次閱讀

    NXP MCX N23和MCX N94/54的不同之處

    繼2024年一月份發布了MCXN94/54系列之后,NXP又在6月份發布了N系列的第二款產品,MCX N23系列,下面小編就為大家揭開它的神秘面紗,來看看這款產品有何特點,了解一下它和N94/54又有什么不同之處呢!
    的頭像 發表于 11-01 12:35 ?1095次閱讀
    NXP MCX N23和MCX N94/54的<b class='flag-5'>不同之處</b>

    請問PCM2912AE2PJTR與PCM2912APJTR,兩個型號尾綴不同之處(E2)有何意義及差別?

    請問PCM2912AE2PJTR與PCM2912APJTR,兩個型號尾綴不同之處(E2)有何意義及差別?急需解答迷津,不勝感激
    發表于 10-28 08:10

    FPGA Verilog HDL代碼如何debug?

    個數找最大值,現在有兩種實現方法,哪種比較好? 一種是4級比較器,用寄存器的,4個時鐘的到結果。一種是用wire,直接assign的,馬上就能得到結果,不過我在下一個時鐘等他穩定了才取來用。 A:這兩種
    發表于 09-24 19:16

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區別?

    。但在實際工作,這三個角色的工作可能會有一定的重疊和交叉。 交流問題(二) Q:Verilog 定義信號為什么要區分 wirereg
    發表于 09-23 18:26

    FPGA Verilog HDL有什么奇技巧?

    的話,仿真波形是z,雖然出結果時不影響,有沒有必要一開始的時候直接reg賦初值?在rtl文件里能不能使用initial賦初值,這樣的rtl代碼能否綜合? A:在 Verilog ,是否有必要為所有
    發表于 09-12 19:10

    繼電器和接觸器有什么不同之處?

    繼電器和接觸器是兩種常用的電氣元件,它們在電路起著非常重要的作用。雖然它們在某些方面有相似之處,但它們之間還是存在一些不同之處。以下是對繼電器和接觸器的詳細比較: 定義和工作原理 繼
    的頭像 發表于 06-21 10:10 ?1471次閱讀

    智能制造與傳統制造有什么不同之處

    、生產方式、管理模式等方面存在很大的不同,這些不同之處正是智能制造的優勢和特點。 二、設計理念的不同 傳統制造設計理念 傳統制造的設計理念主要側重于產品的功能性、穩定性和成本效益。在設計過程,設計師需要充分考
    的頭像 發表于 06-07 15:36 ?4224次閱讀

    單片機和plc有什么相同和不同之處

    某些方面具有相似之處,但在許多關鍵方面也存在顯著差異。本文將詳細探討單片機和PLC的相同和不同之處。 一、相同之處 控制功能:單片機和PLC都具有控制功能,可以對各種設備和系統進行控制。它們可以接收輸入信號,處理這些信號,然后輸
    的頭像 發表于 06-06 14:05 ?1889次閱讀