日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Verilog HDL中位运算符、逻辑运算符和缩减运算符的区别

發布時間:2023/12/2 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Verilog HDL中位运算符、逻辑运算符和缩减运算符的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、單目運算符、雙目運算符和三目運算符
  • 二、位運算符
  • 三、邏輯運算符
  • 四、縮減運算符
  • 五、總結


前言

我們在學習和理解Verilog HDL中的一些運算符的意義時,可能會對一些運算符的使用產生混亂,因此本文整理了Verilog HDL中&與&&、|與||、!與~等容易造成誤解的運算符的區別。


一、單目運算符、雙目運算符和三目運算符

在介紹這幾種運算符之間的差別之前需要先介紹一個概念。在Verilog HDL中運算符被分為3種,單目運算符、雙目運算符和三目運算符。

1、單目運算符就是運算符只有右邊有一個操作數。

例如: a = ~2’b01 ==> a = 2’b10

2、雙目運算符則要求運算符兩側各有一個操作。

例如: a = 2’b01 | 2’b11 ==> a = 2’b11;

3、三目運算符則要求運算符有三個操作數。

例如: out = sel ? a : b;


二、位運算符

運算符&、| 和 ~ 都是位運算符,當然了,還包括按位異或運算符^ 和按位同或運算符 ^~。在本篇文章中,主要介紹的前三種,也為了說明它們和邏輯運算符的區別。
這三個運算符都是按位操作,原操作數位寬為幾位,運算結束之后還是幾位。

例如:
a = 2’b01 & 2’b11 ==> a = 2’b01;
a = 2’b01 | 2’b11 ==> a = 2’b11;
a = ~2’b01 ==> a = 2’b10;


三、邏輯運算符

邏輯與 &&
邏輯或 ||
邏輯非 !
邏輯運算符和上面介紹的位運算符最大的區別就是輸出結果是一個邏輯結果,是一位的,如果是”1“就代表邏輯”真“,如果是”0“就代表邏輯”假“。

例如:
log = (x>y)&&(a<b); ==> 若真,則 log=1;若假,則 log=0;
log = (x>y)||(a<b);
log = !(x>y);


四、縮減運算符

還有一種運算符,它們和位運算符十分相像,但是使用的方式卻不一樣,它們就是縮減運算符,也是一種單目運算符,它們包括&、|、&、|、^ 和 ~^。

例如:
out = & 4’b0101; ==> out = ((( 1’b0 & 1’b1) & 1’b0) & 1’b1);

最終會得到一個一位寬的邏輯值。


五、總結

在本篇博文中,比較了位運算符、邏輯運算符和縮減運算符的區別,這在Verilog HDL的學習中很容易造成錯誤。

總結

以上是生活随笔為你收集整理的Verilog HDL中位运算符、逻辑运算符和缩减运算符的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。