Перейти к содержанию
    

Рандомное значение ожидания

Здравствуйте.

А кто нибудь знает как можно в тестбенче задать рандомное значение ожидания?

 

После каждой операции чтения я задаю 

wait for 100ns; 

А как сделать чтобы задержка выбиралась на угад от 100ns до допустим 2000us. ?

 

А то какая то фигня.. при статичной задержке вроде все норм, но в железе как то все не очень стабильно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В Verilog'е есть системная функция $random(). Полагаю, что-то похожее должно быть и в языке VHDL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 02.08.2024 в 16:44, Worldmaster сказал:

А кто нибудь знает как можно в тестбенче задать рандомное значение ожидания?

вот небольшой пример как я в тестбенче задавал случайную паузу:


 

rd_pause_proc : process

    --uniform
    variable seed1 : positive := 951;               -- seed1 values for random generator
    variable seed2 : positive := 532;               -- seed2 values for random generator
    variable rand  : real;   -- random real-number value in range 0 to 1.0  
    --
    variable p : natural := 0; 

begin

. . .

                UNIFORM(seed1, seed2, rand);
                p := integer(rand*real(4));
            
                wait for per_rd*p;
                req_pause <= '1';
                wait for per_rd;

. . .

end process;

 

процедура UNIFORM описана в пакете  ieee.math_real

use IEEE.math_real.all;

 

В этом примере пауза была от 0 до 3 тактов клока периодом per_rd

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 07.08.2024 в 12:06, gin сказал:

процедура UNIFORM описана в пакете  ieee.math_real

Спасибо. Попробуюю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...