verilog位拼接運算符{}怎么用的???
在Verilog HDL語(yǔ)言有一個(gè)特殊的運算符:位拼接運算符{},用這個(gè)運算符可以把兩個(gè)或多個(gè)信號的某些位拼接起來(lái)進(jìn)行運算操作DF印前拼合遇到問(wèn)題。其使用方法如下:
021yin.com /d043ad4bd11373f07b57b341a80f4bfbfaed0480
即把某些倍號的某些位詳細地列出來(lái)DF印前拼合遇到問(wèn)題,中間用逗號分開(kāi),最后用大括號括起來(lái)表示一個(gè)整體信號,例如:
021yin.com /c83d70cf3bc79f3d34f038eeb6a1cd11738b29df
也可以寫(xiě)成為:
021yin.com /bba1cd11728b47106b3e2112cfcec3fdfd0323df
在位拼接表達式中不允許存在沒(méi)有指明位數的信號DF印前拼合遇到問(wèn)題。這是因為在計算拼接信號的位寬的大小時(shí)必需知道其中每個(gè)信號的位寬。
位拼接也可以用重復法來(lái)簡(jiǎn)化表達式DF印前拼合遇到問(wèn)題,如下所示:
021yin.com /43a7d933c895d1435b1e38fd7ff082025baf0780
位拼接還可以用嵌套的方式來(lái)表達DF印前拼合遇到問(wèn)題,如下所示:
021yin.com /0e2442a7d933c895241644a5dd1373f083020080
【拓展資料】
Verilog HDL的語(yǔ)言的運算符的范圍很廣DF印前拼合遇到問(wèn)題,按照其功能大概可以分為以下幾類(lèi):
(1)算術(shù)運算符 +DF印前拼合遇到問(wèn)題,-,*,/,%
(2)賦值運算符 =DF印前拼合遇到問(wèn)題,
(3)關(guān)系運算符 ,=,
(4)邏輯運算符 , ||, !
(5)條件運算符 DF印前拼合遇到問(wèn)題?:
(6)位運算符 ~, | , ^ , ,^~
(7)移位運算符
(8)拼接運算符 {}
(9)其他DF印前拼合遇到問(wèn)題。
1)基本的算術(shù)運算符:加減乘都比較簡(jiǎn)單這里不再記錄DF印前拼合遇到問(wèn)題。
在進(jìn)行整數的除法運算時(shí),結果要略去小數部分,只取整數部分;而進(jìn)行取模運算時(shí)(%,亦稱(chēng)作求余運算符)結果的符號位采用模運算符中第一個(gè)操作數的符號DF印前拼合遇到問(wèn)題。
-10%3 結果 -1 11%-3 結果為2
注意:在進(jìn)行算術(shù)運算時(shí),如果某一個(gè)操作數有不確定的值x,則整個(gè)結果也為不確定值xDF印前拼合遇到問(wèn)題。
2)位運算符:
按位取反~ 、按位與 、按位或 | 、按位異或 ^ 、按位同或 ^~
在不同長(cháng)度的數據進(jìn)行位運算時(shí),系統會(huì )自動(dòng)的將兩個(gè)數右端對齊,位數少的操作數會(huì )在相應的高位補0,一時(shí)的兩個(gè)操作數按位進(jìn)行操作DF印前拼合遇到問(wèn)題。
3)邏輯運算符:
邏輯與 、邏輯或 ||、邏輯非 DF印前拼合遇到問(wèn)題!
其中和||是雙目運算符,其優(yōu)先級別低于關(guān)系運算符,而 !高于算術(shù)運算符DF印前拼合遇到問(wèn)題。
4)關(guān)系運算符
、 = 如果關(guān)系運算是假的,則返回值是0,如果聲明的關(guān)系是真的,則返回值是1DF印前拼合遇到問(wèn)題。 關(guān)系運算符的優(yōu)先級別低于算數運算符。
如: a