陣列型別:
定寬陣列:
⾮非合併陣列:
bit[7:0] un_packed [4];
⾼高位沒⽤用。
合併陣列:
bit [3:0] [7:0] packed;
組成⼀乙個
32bits
。必須是
[msb:lsb]
的形式。
後⾯面跟陣列的話,只能跟合併陣列。
動態陣列:
int dyn;
new分配空間。
基礎型別相同時,可跟定寬陣列相互賦值。
佇列列:
不不需要
new構造。
關聯陣列:
bit[63:0] a_arry[bit[63:0]];
適⽤用於超⼤大容量量的儲存,只為實際寫⼊入的元素分配空間。
元素是係數分布的,
for迴圈不不太適合,適合⽤用
foreach
可⽤用字串串作為索引。
陣列操作:
$size()
返回陣列的寬度。
陣列整個賦值。
陣列⾥裡里的所有元素是否相等。
array.delete()
,刪除所有元素(動態)。
exits();
檢查元素是否存在
關聯佇列列操作:
q.insert(i, j);
在q[i]
之後插⼊入jj
可以是個佇列列。
q.delete(i);
刪除q[i]
q.delete();
刪除整個佇列列。
q = {};
刪除整個佇列列。
q.push_front(), q.push_back();在q
最前或最後插⼊入。
q.pop_front(), q.pop_back();在q
最前或最後彈出,彈出之後元素消失了了。
SV 中巨集的使用
在sv中,養成使用巨集的習慣可以大大提高code 的可閱讀性,讓我們從簡單重複的工作中脫離出來,聚焦技術方法本身或者硬體的理解上,可以有效的提高我們的驗證效率。在我們驗證的過程或多或少的會遇到在tb test中使用巨集的方法,當然我們是看的懂的,但是我們一定要思考這個tb test為什麼要這麼寫,有...
SV中的隨機化
sv搭建testbench的關鍵概念 crt constraint random test 測試集的隨機化。由於物件class由資料和操作組成,所以對資料的隨機化一般放在乙個class內。對環境或環境的配置也可以反映在配置引數的隨機化上 乙個constraint包括兩部分 rand randc變數宣...
subversion的編譯安裝和配置(SVN)
1.編譯安裝 configure prefix usr local svn without berkeley db prefix指定安裝的目錄,without berkeley db表明不使用berkeley資料庫 在這一步有可能不成功,是因為有一些依賴的軟體沒裝,具體見下面 遇到的問題 make ...