精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

Verilog基本語法之運算符

jf_GctfwYN7 ? 來源:IC修真院 ? 2023-06-25 10:17 ? 次閱讀

運算符分類

運算符按功能分為9類:

算術運算符

邏輯運算符

關系運算符

等式運算符

縮減運算符

條件運算符

位運算符

移位運算符

位拼接運算符

運算符按操作數的個數分為3類:

單目運算符:帶一個操作數 邏輯非!,按位取反~,縮減運算符,移位運算符

雙目運算符:帶兩個操作數 算術,關系,等式運算,邏輯,位運算符的大部分

三目運算符:帶三個操作數 條件運算符

01 算術運算符:

+
-
*
/
% 求模
算術運算符 說明

進行整數除法時,結果值略去小數部分,只取整數部分

%為求模運算符,要求%兩側均為整型數據

求模運算結果值的符號位取第一個操作數的符號位

例:-11%3 結果為-2

進行算術運算時,若某操作數為不定值x,則整個結果也為x

02 邏輯運算符:

邏輯運算符把它的操作數當成布爾變量

非零的操作數被認為是真(1’b1);

零被認為是假(1’b0);

不確定的操作數如4‘bxx00,被認為是不確定的(可能為零,也可能是非零);但4‘bxx11,被認為是真

&&(雙目) 邏輯與
||(雙目) 邏輯或
!(單目) 邏輯非
邏輯運算符 說明

進行邏輯運算后的結果為布爾值(1或0)

&&和||的優先級除高于條件運算符外,低于關系運算符,等式運算符等幾乎所有運算符

邏輯非!優先級最高

例:(a>b)&&(b>c) 可簡寫為:a>b && b>c

(a==b)||(x==y) 可簡寫為:a==b || x==y

(!a) || (a>b) 可簡寫為:!a || a>b

建議采用帶括號形式

03 位運算符:

~(單目) 按位取反
&(雙目) 按位與
| (雙目) 按位或
^(雙目) 按位異或
^~,~^(雙目) 按位同或
位運算符 說明

位運算其結果與操作數位數相同。位運算符中的雙目運算符要求對兩個操作數的相應位逐位進行運算

兩個不同長度的操作數進行位運算時,將自動按右端對齊,位數少的操作數會在高位0補齊

例 a=5'b11011 b=3'b001 a&b = 5'00001

04 關系運算符(雙目):

< 小于
<= 小于等于
> 大于
>= 大于等于
關系運算符 說明

運算結果為1位的邏輯值1或0或x.

關系運算時,若關系為真,則返回值為1;若關系為假,則返回值為0;若某操作數為不定值x,則返回值為x。

所有關系運算符優先級別相同。

關系運算符的優先級別低于算術運算符。

例:a

05 等式運算符:

== 等于
!= 不等于
=== 全等
!== 不全等
等式運算符 說明

運算結果為1位的邏輯值1或0或x.

等于運算符(==)和全等運算符(===)的區別:

使用等式運算符時兩個操作數必須逐位相等,結果才為1;若某些位為x或z,則結果為x;

使用全等運算符時,若兩個操作數的相應位完全一致(如同是1,0,x,z)則結果為1;否則為0.

所有的等式運算符優先級別相同

===和!==運算符常用于case表達式的判別,又稱為"case等式運算符".

==真值表

== 0 1 x z
0 0 0 x x
1 0 1 x x
x x x x x
z x x x x

===真值表

=== 0 1 x z
0 0 0 0 0
1 0 1 0 0
x 0 0 1 0
z 0 0 0 1

06 縮減運算符(單目):

&
~& 與非
|
~| 或非
^ 異或
^~,~^ 同或
縮減運算符 說明

對單個操作數進行遞推運算,即先將操作數的最低位于第二位進行與,或,非運算,再將運算結果與第三位進行相同運算,一次類推直至高位。

最后運算結果縮減為1位二進制數

例:reg[3:0] a;

b =|a; //等效于b=((a[0] | a[1]) |a(2)) | a[3]

07 移位運算符(單目):

>> 右移
< 左移
移位運算符 說明

A >>n 或A<< n

將操作數右移或左移n位,同時用n個0填補移出的空位

左移會擴充位數,右移位數不變,但數據會丟失

08 條件運算符(三目):

信號 = 條件?表達式1:表達式2

當條件為真,信號取表達式1的值,條件為假,則取表達式2的值

09 位拼接運算符:

運算符號{ },用于將兩個或多個信號的某些位拼接起來,表示一個整體信號。

{信號1,信號2}

output [3:0] sum;      
output cout;
input  [3:0] ina, inb;
input  cin;
assign  {cout,sum} =ina + inb + cin;  //進位與和拼接在一起
算術運算符

用重復法簡化表達式,如:{4{w}} //等同于{w,w,w,w}

還可用嵌套方法簡化書寫,如{b,{3{a,b}} //{b,a,b,a,b,a}

在為拼接表達式中,不允許存在沒有指明位數的信號,必須指明信號的位數;若未指明,則默認為32位的二進制數;

如{1,0}=64’h00000001_00000000, 不是2‘b10

8299d1aa-11b1-11ee-962d-dac502259ad0.png





審核編輯:劉清

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

    關注

    2

    文章

    794

    瀏覽量

    41602
  • Verilog語言
    +關注

    關注

    0

    文章

    113

    瀏覽量

    8219

原文標題:IC學霸筆記 | Verilog基本語法之運算符

文章出處:【微信號:IC修真院,微信公眾號:IC修真院】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    C語言運算符的使用方法

    詳細介紹了C語言表達式、算術運算符、賦值運算符、關系運算符、條件結構、邏輯運算符、位運算符語法
    發表于 11-02 11:30 ?1511次閱讀
    C語言<b class='flag-5'>運算符</b>的使用方法

    算術運算符的相關資料分享

    一:算術運算符算術運算符非常地簡單,就是小學數學里面的一些加減乘除操作。不過呢,還是有一些語法細節需要注意的。1.加法運算符 + 1 在第3行利用加法
    發表于 11-30 06:09

    條件運算符是什么_條件運算符有哪些

    運算符優先級高于賦值、逗號運算符,低于其他運算符。關系運算實際上是邏輯比較運算,它是邏輯運算
    發表于 11-16 16:02 ?1.1w次閱讀
    條件<b class='flag-5'>運算符</b>是什么_條件<b class='flag-5'>運算符</b>有哪些

    單目運算符是什么_單目運算符有哪些

    單目運算符是指運算所需變量為一個的運算符,又叫一元運算符,其中有邏輯非運算符:!、按位取反運算符
    的頭像 發表于 02-24 15:42 ?6w次閱讀
    單目<b class='flag-5'>運算符</b>是什么_單目<b class='flag-5'>運算符</b>有哪些

    C運算符的優先級和結合性詳細解決

    運算符是一種告訴編譯器執行特定的數學或邏輯操作的符號。 C語言內置了豐富的運算符,大體可分為10類:算術運算符、關系運算符、邏輯運算符、位
    的頭像 發表于 02-22 17:27 ?3202次閱讀

    淺析MySQL中的各類運算符

    MySQL支持多種運算符,我們在寫SQL腳本時經常會需要用到各種各樣的運算符,這些運算符可以用來連接表達式,進而從數據庫中查詢我們需要的結果集等。這些類型主要包括算術運算符、比較
    的頭像 發表于 05-03 17:41 ?2031次閱讀
    淺析MySQL中的各類<b class='flag-5'>運算符</b>

    python運算符是什么

    python運算符 0. 什么是運算符? 本章節主要說明Python的運算符。舉個簡單的例子 4 +5 = 9 。 例子中,4和5被稱為操作數,“+”號為運算符。 Python語言支持
    的頭像 發表于 02-21 16:44 ?2358次閱讀

    Verilog邏輯設計中的循環語句和運算符

    “ 本文主要分享了在Verilog設計過程中一些經驗與知識點,主要包括循環語句(forever、repeat、while和for)、運算符。”
    的頭像 發表于 03-15 11:41 ?5130次閱讀

    C語言總結_語句、運算符

    當前文章復盤C語言的: 位運算運算符、基本運算符、數據類型、變量、for語句、while語句、goto語句、switch語句、運算符優先級強制轉換等。
    的頭像 發表于 08-14 09:39 ?984次閱讀

    什么是運算符重載

    重載運算符是具有特殊名稱的函數,是通過關鍵字** operator **后跟運算符的符號來定義的
    的頭像 發表于 01-20 15:30 ?2449次閱讀

    條件(三元)運算符

    RTL建模中廣泛使用的運算符是條件運算符,也稱為三元運算符,該運算符用于在兩個表達式之間進行選擇——表5-2列出了用于表示條件運算符的重點。
    的頭像 發表于 02-09 15:42 ?1315次閱讀
    條件(三元)<b class='flag-5'>運算符</b>

    什么是移位運算符

    移位運算符將向量的位向右或向左移位指定的次數。SystemVerilog具有按位和算術移位運算符
    的頭像 發表于 02-09 15:49 ?1789次閱讀
    什么是移位<b class='flag-5'>運算符</b>

    Go語言運算符主要包括哪些呢?

    Go語言運算符主要包括:算數運算符、關系運算符、邏輯運算符、位運算符、賦值運算符和其他
    的頭像 發表于 05-26 15:54 ?842次閱讀
    Go語言<b class='flag-5'>運算符</b>主要包括哪些呢?

    verilog的邏輯運算符

    寫在前面 之前曾經整理過verilog的各類運算符的表達方式,但是在學習的過程中并未深入研究關于邏輯運算符的相關知識,導致在實際使用過程中錯誤頻出,下面是我從網絡上整理的相關verilog
    的頭像 發表于 09-21 10:07 ?2234次閱讀
    <b class='flag-5'>verilog</b>的邏輯<b class='flag-5'>運算符</b>

    Verilog語法運算符的用法

    verilog語法中使用以下兩個運算符可以簡化我們的位選擇代碼。
    的頭像 發表于 10-25 15:17 ?332次閱讀
    <b class='flag-5'>Verilog</b><b class='flag-5'>語法</b>中<b class='flag-5'>運算符</b>的用法