systemverilog中位向量系統函數---$countbits/$countones/$onehot/$onehot0/$isunknown


systemverilog中位向量系統函數有如下五個:

1、**\$countbits ( expression , control_bit { , control_bit }**
此函數\$countbits()的作用是計算位向量中指定的0 1 x z的數量;返回值位一個整數,這個整數就是指定的control_bit的數量。
例如:
\$conutbits(expression, '1),返回表達式中1的數量;
\$countbits(expression, '0, '1),返回表達式中0和1的數量;
\$countbits(expression, 'x, 'z),返回表達式中x和z的數量;
使用上述函數的注意點:control_bit參數的參數類型是1位邏輯,表示在vector中計算的一個值。如果傳入一個寬度大於1的值,則只使用LSB。如果任何單獨的值在控制位中出現了不止一次,那么它將被完全視為出現過一次。
\$countbis()表達式參數應該是位流類型。為了計算返回值,這個參數被當作被賦值為{>>{expression}}一個相同大小的向量。

為了方便使用,提供以下相關函數。
**2、\$countones ( expression )** 
此函數\$countones()的作用是計算位向量中指定的1的數量,等價於\$conutbits(expression, '1)。返回值位一個整數,這個整數就是指定1的數量。

**3、\$onehot ( expression )**
\$onehot ( expression )  如果$countbits(expression,'1)==1, 返回真true(1'b1) ,否則返回 false (1'b0)。

**4、\$onehot0 ( expression )**
\$onehot0 ( expression )  如果$countbits(expression,'1)<=1, 返回真true(1'b1) ,否則返回 false (1'b0)。

**5、\$isunknown ( expression )**
$isunknown ( expression ) 如果\$countbits(expression,'x,'z)!=0,返回true (1'b1) ,否則返回 false (1'b0)。

上述每個函數的表達式參數遵循與表達式$conutbits參數相同的規則。$conutbits的返回類型是int。其他的函數返回類型是bit。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM