2016-07-27 2 views
-2

У меня есть ModelSim, поэтому я не могу использовать рандомизацию в своем коде.Как реализовать randomize() в verilog?

Мне нужно реализовать randomize() для класса транзакций (который расширяет uvm_sequence_item). Как я могу сделать это в verilog?

+0

Я не понимаю. Если вы можете делать UVM, почему вы не можете делать случайную выборку? –

+0

Можете ли вы объяснить, почему вы думаете, что ModelSim не может этого сделать? – nguthrie

+1

http://stackoverflow.com/questions/15439710/modelsim-support-for-sv –

ответ

0

Вы можете попробовать $ random. Функция верилога основана и может работать в modelsim.

q = $random(r_seed); 
or 
q = $random(); //seed is optional 

Кроме того, чтобы получить случайное значение между 10-110 (диапазон)

q = {$random} % (110-10+1) + 10; 

Или попробуйте использовать

$urandom_range(110,10); 
$urandom(); 

Это основные рандомизации конструкции. Вам придется извлечь из этого свои ограничения.