回答
SystemVerilog的將不改變動態數組的大小。因此,您需要在調用randomize()
之前分配數組,或使用約束來隨機化大小。
bit [7:0] data [];
data = new[10];
randomize(data);
或
bit [7:0] data [];
randomize(data) with {data.size inside {[5:15]} ;};
,或者如果你沒有訪問隨機化()SystemVerilog的,你可以做
data = new[10];
foreach(data[ii]) data[ii] = $urandom;
@Rahul Menon-我知道systemVerilog(randomize)中有一個特殊的方法,我在Verilog中購買了它。 – sara8d
你問過Verilog,但你的例子顯示了SystemVerilog'bit'類型,並且你使用了SystemVerilog標籤。我添加了一個沒有使用randomize()的答案。 –
@ dave_59不是動態數組system-verilog構造? –
將數組的大小限制在所需範圍內並調用randomize。它應產生用隨機數據(下面大小的30和40之間中的例子)的陣列,除非你把一個約束在其上
class rand_gen ;
rand bit [7:0] data[];
constraint db { data.size inside {[30:40]}; }
task generate();
randomize(data);
end task
endclass
- 1. 如何用隨機數從crypto.getRandomValues中隨機化數組?
- 2. 如何輕鬆隨機化數組?
- 3. 如何隨機化一組數字
- 4. 隨機化一個數組
- 5. 隨機化數組元素
- 6. 隨機化/修改數組
- 7. 將數字插入隨機數組中的隨機位置
- 8. 在數組中隨機化值的位置
- 9. 數組中的隨機數
- 10. 隨機化數組中的元素?
- 11. 隨機化數組中的引號?
- 12. 如何在C++中創建一個隨機數組的數組
- 13. 隨機數組?
- 14. 如何在verilog中初始化參數數組?
- 15. 如何在Android中獲取隨機數組文件數組?
- 16. 隨機數組在2秒內變化
- 17. 如何乘以隨機數的數組
- 18. 初始化Verilog中的數組錯誤
- 19. 組的隨機化
- 20. 如何初始化Verilog-2005中的二維參數數組?
- 21. 在Verilog中隨機映射位
- 22. Verilog:如何將值分配給大數組中的2個隨機索引?
- 23. 部分隨機化的PHP數組
- 24. 隨機化我的數組元素
- 25. 如何創建隨機標準化數字的數組?
- 26. 如何隨機從數組中獲取
- 27. 如何從數組隨機值在C#
- 28. 如何使用隨機選擇二維數組中的位置?
- 29. 如何在隨機位置查找數組的值?
- 30. Verilog隨機數發生器
你的問題說,你是新來的Verilog,但你詢問如何隨機化一個動態數組,這是一個SystemVerilog數據類型。也許你應該改變它以避免混淆。 – AndresM