Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带切换的Verilog随机函数_Verilog_System Verilog - Fatal编程技术网

带切换的Verilog随机函数

带切换的Verilog随机函数,verilog,system-verilog,Verilog,System Verilog,如何使用随机函数生成verilog testvector,但只需50%的位切换 例如:地址[7:0]值从0到255不等-->要生成的地址,如01010101、00001111111000010101010等您可以通过计算随机值与其先前值异或时设置的位数来限制更改位数 class req; rand bit[7:0] Address; constraint toggle_bits {$countones(Address ^ const'(Address)) == 4; }

如何使用随机函数生成verilog testvector,但只需50%的位切换
例如:地址[7:0]值从0到255不等-->要生成的地址,如01010101、00001111111000010101010等

您可以通过计算随机值与其先前值异或时设置的位数来限制更改位数

 class req;
     rand bit[7:0] Address;
     constraint toggle_bits {$countones(Address ^ const'(Address)) == 4; }
 endclass

您可以尝试完整的示例。

您可以通过计算随机值与其以前的值异或时设置的位数来限制更改的位数

 class req;
     rand bit[7:0] Address;
     constraint toggle_bits {$countones(Address ^ const'(Address)) == 4; }
 endclass
完整的例子,你可以尝试