91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

數字硬件建模SystemVerilog-按位運算符

OpenFPGA ? 來源:OpenFPGA ? 作者:碎碎思 ? 2022-08-12 14:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數字硬件建模SystemVerilog-按位運算符

經過幾周的更新,SV核心部分用戶自定義類型和包內容已更新完畢,接下來就是RTL表達式和運算符。

馬上HDLBits-SystemVerilog版本也開始準備了,基本這一部分完成后就開始更新~

00f8259a-19ee-11ed-ba43-dac502259ad0.png

介紹

(按)位運算符(Bitwise operators)

位運算符一次執行一位操作,從最右邊的位(最低有效位)向最左邊的位(最高有效位)移動。表5-3列出了按位運算符功能。

表5-3:RTL建模的位運算符
運算符 示例用法 描述
~ ~m 將m(1的補碼)的每一位反轉
& m&n m和n的每一位相與(AND)
^ m ^ n m與n的每一位相異或(XOR)
^~或者~^ m ^~n m和n的每一位相同或
I mIn m和n的每一位相或(OR)

(I代表 | - 或操作)

沒有位NAND或NOR運算符。NAND或NOR操作是分別反轉AND或OR操作的結果,如~(m&n)。需要括號,以便先執行AND運算。

位運算要求兩個操作數的向量大小相同。在執行操作之前,較小的操作數將擴展以匹配較大操作數的大小。

(按)位反轉

按位反轉(Bitwise inversion.)。位反轉運算符將其單個操作數的每一位反轉,從右向左操作,結果是操作數值的一個補數。位反轉運算符是X-pessimistic-反轉X或Z值的結果始終是X。表5-4顯示了位反轉的真值表。表中的結果針對操作數的每一位。

表5-4:位反轉真值表
~ 結果
0 1
1 0
X X
Z X

位反轉操作的一個示例結果是:

0127f2f2-19ee-11ed-ba43-dac502259ad0.png

(按)位AND

按位和(Bitwise AND)。位AND運算符對第一個操作數的每一位與第二個操作數中的對應位進行布爾AND運算,從右到左運算。位AND運算符是X-optimistic:0與任何值的AND運算都將得到0。表5-5顯示了位AND的真值表。表中的結果針對兩個操作數的每一位。

表5-5:位AND真值表
014758ae-19ee-11ed-ba43-dac502259ad0.png

位AND運算的一些示例結果如下:

016a1402-19ee-11ed-ba43-dac502259ad0.png

(按)位OR

按位或(Bitwise OR)。位OR運算符對第一個操作數的每一位與第二個操作數中的對應位進行布爾OR運算,從右向左進行運算。位OR運算符是X-optimistic-與任何值進行OR運算結果都是1。表5-6顯示了位OR的真值表。

表5-6:位OR真值表
018acc60-19ee-11ed-ba43-dac502259ad0.png

按位OR運算的一些結果示例如下:

01bdb9ae-19ee-11ed-ba43-dac502259ad0.png01d7dabe-19ee-11ed-ba43-dac502259ad0.png

(按)位XOR

按位異或(Bitwise XOR)。位XOR運算符對第一個操作數的每一位與第二個操作數的對應位進行布爾異或XOR運算,從右到左進行運算。按位異或運算符為X-pessimistic——對X或Z值進行異或運算的結果始終為X。表5-7顯示了按位異或的真值表。

表5-7:按位異或真值表
01fc2dec-19ee-11ed-ba43-dac502259ad0.png

按位異或運算的一些示例結果如下:

0210b488-19ee-11ed-ba43-dac502259ad0.png

(按)位XNOR

按位XNOR(Bitwise XNOR)。位XNOR運算符對第一個操作數的每一位與第二個操作數的對應位進行布爾XNOR運算,從右到左進行運算。位XNOR運算符為X-pessimistic ——對X或Z值進行XNOR運算的結果為X。表5-8顯示了按位XNOR的真值表。

表5-8:按位XNOR真值表
02369482-19ee-11ed-ba43-dac502259ad0.png

按位XNOR運算的一些示例結果如下:

02548870-19ee-11ed-ba43-dac502259ad0.png

示例5-5說明了一個利用按位運算符的小型RTL模型。

示例5-5:使用按位運算符:多路N位寬和/異或操作
//`begin_keywords"1800-2012"//useSystemVerilog-2012keywords

//User-definedtypedefinitions
packagedefinitions_pkg;
typedefenumlogic{AND_OP,XOR_OP}mode_t;
endpackage:definitions_pkg

//MultiplexedN-bitwidebitwise-ANDorbitwise-XORoperation
moduleand_xor
importdefinitions_pkg::*;
#(parameterN=4)//opsize(default8-bits)
(inputmode_tmode,//1-bitenumeratedinput
inputlogic[N-1:0]a,b,//scalableinputsize
outputlogic[N-1:0]result//scalableoutputsize
);
timeunit1ns;timeprecision1ns;

always_comb
case(mode)
AND_OP:result=a&b;
XOR_OP:result=a^b;
endcase
endmodule:and_xor
//`end_keywords

圖5-5顯示了示例5-5中的RTL模型綜合結果,如上一節前面所述,綜合創建的實現可能受到多個因素的影響,包括:目標設備、與運算符一起使用的任何其他運算符或編程語句、使用的綜合編譯器以及指定的綜合選項和約束。

 
圖5-5:示例5-5的綜合結果:按位AND和OR運算
027822a8-19ee-11ed-ba43-dac502259ad0.png

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

    關注

    29

    文章

    1367

    瀏覽量

    112319
  • 按位運算符
    +關注

    關注

    0

    文章

    3

    瀏覽量

    4835

原文標題:(按)位XNOR

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    C語言運算符的使用方法

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

    【跟我學單片機C語言】詳解運算符和表達式的運算符

    【跟我學單片機C語言】詳解運算符和表達式的運算符學過匯編的朋友都知道匯編對位的處理能力是很強的,但是單片機C語言也能對運算對象進行
    發表于 12-07 13:51

    STM32運算運算符學習記錄

    學習過程中的一些疑問記錄一下,方便自己復習(多數內容為轉載,自己心得部分)STM32學習一、運算運算符(&)參加
    發表于 02-25 06:21

    數字硬件建模SystemVerilog-歸約運算符

    介紹歸約運算符對單個操作數的所有執行運算,并返回標量(1)結果。表5-9列出了歸約運算符。表5-9:RTL
    發表于 10-20 15:03

    第八課 運算符和表達式(運算符)

    學過匯編的朋友都知道匯編對位的處理能力是很強的,但是單片機C語言也能對運算對象進行操作,從而使單片機C語言也能具有一定的對硬件直接進行操作的能力。
    發表于 11-22 12:50 ?777次閱讀

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

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

    移位運算符的應用實例講解

    移位運算符在程序設計中,是操作運算符的一種。移位運算符可以在二進制的基礎上對數字進行平移。按照平移的方向和填充
    的頭像 發表于 11-19 07:04 ?3780次閱讀
    移位<b class='flag-5'>運算符</b>的應用實例講解

    python運算符是什么

    運算符: 算術運算符 比較(關系)運算符 賦值運算符 邏輯運算符
    的頭像 發表于 02-21 16:44 ?2709次閱讀

    SystemVerilog-運算符/表達式規則

    RTL建模中廣泛使用的運算符是條件運算符,也稱為三元運算符,該運算符用于在兩個表達式之間進行選擇——表5-2列出了用于表示條件
    的頭像 發表于 08-03 09:03 ?3719次閱讀

    條件(三元)運算符

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

    什么是運算符

    沒有NAND或NOR運算符。NAND或NOR操作是分別反轉AND或OR操作的結果,如~(m&n)。需要括號,以便先執行AND運算
    的頭像 發表于 02-09 15:44 ?1939次閱讀
    什么是<b class='flag-5'>按</b><b class='flag-5'>位</b><b class='flag-5'>運算符</b>

    什么是移位運算符

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

    Python中運算符介紹

    : print(“a《30”) if 4 《= a 《= 30: print(“1《=a《=10”) if 4 《= a a 《= 30”) 3. 運算符
    的頭像 發表于 03-08 17:22 ?1398次閱讀

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

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

    C語言中運算符的基礎用法

    運算符是一組用于在二進制數之間進行操作的運算符
    發表于 08-21 14:52 ?845次閱讀
    C語言中<b class='flag-5'>位</b><b class='flag-5'>運算符</b>的基礎用法
    主站蜘蛛池模板: 四虎成人免费网站在线 | 又长又大又粗又硬3p免费视 | 天天做日日干 | 天天插天天射 | 久操精品在线观看 | 四虎午夜影院 | 成熟女人免费一级毛片 | 国产午夜在线观看视频播放 | 被cao到合不拢腿腐男男 | 国产精品香蕉成人网在线观看 | 亚洲免费小视频 | 黄色的视频网站在线观看 | 免费午夜在线视频 | 四虎影院4hu | 久久美女精品 | 欧美最猛黑人xxxx黑人猛交黄 | 精品国产成人三级在线观看 | 爱爱免费视频网站 | 久久亚洲精品成人综合 | 六月丁香啪啪六月激情 | www.99在线| 亚洲人一区 | 日本色片视频 | 国产午夜精品久久久久免费视小说 | 人人干干人人 | 高清一区高清二区视频 | 天天干天天操天天舔 | 天天做天天爱天天爽天天综合 | 你懂的网址免费国产 | 免费观看一级特黄欧美大片 | 亚洲视频在线网 | 国产精品久久久久久久久 | 亚洲三级成人 | 丁香网五月网 | www.在线 | 男女性接交无遮挡免费看视频 | 天天草综合 | 久久在线免费观看 | 色综合视频在线观看 | 成人羞羞视频国产 | 国产caoni111在线观看视频 |