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

Можно ли описать на Верилоге механизм внесения ошибки в случайной (любой) wire или reg схемы?

Здравствуйте товарищи!

Нужна помощь в следующем вопросе!

Есть блочок АЛУ...я его отлаживаю

Можно ли написать на Верилоге каким-либо образом механизм внесения ошибки в цепи ли реги схемы случайным образом?

Т.е. в любую цепь или регистр из общего числа в схеме.

Например нужно внести всего n-ошибок, по одной при выполнении каждой операции с помощью утверждения force.

Просто как я понимаю в Верилоге нет функции рандома.

Если как-нибудь можно это реализовать, буду премного благодарен Вашим идеям!

Заранее спасибо!

Изменено пользователем McLarenfan

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


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

Здравствуйте товарищи!

Нужна помощь в следующем вопросе!

Есть блочок АЛУ...я его отлаживаю

Можно ли написать на Верилоге каким-либо образом механизм внесения ошибки в цепи ли реги схемы случайным образом?

Т.е. в любую цепь или регистр из общего числа в схеме.

Например нужно внести всего n-ошибок, по одной при выполнении каждой операции с помощью утверждения force.

Просто как я понимаю в Верилоге нет функции рандома.

Если как-нибудь можно это реализовать, буду премного благодарен Вашим идеям!

Заранее спасибо!

В Верилоге есть функция $random (seed).

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


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

Просто как я понимаю в Верилоге нет функции рандома.

Если как-нибудь можно это реализовать, буду премного благодарен Вашим идеям!

 

смотрите стандарт, все там есть.

 

хотя именно в вашем случае лучше использовать SV и его randcase

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


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

смотрите стандарт, все там есть.

 

хотя именно в вашем случае лучше использовать SV и его randcase

 

Хм, а можно поподробнее пожалуйста про SV и randcase?

Или если можно ссылку дать на литературу где это описано, то что я читал по Верилогу, там такого не увидел...

Просто есть ограничение, что работа ведется в Каденсе (NCVerilog) только...

Я знаю например что и в Active HDL есть встроенная рандомная функция, но увы только Каденс...

 

В Верилоге есть функция $random (seed).

 

В самом Верилоге есть такая функция?

Просто я работаю только в Каденсе (NCVerilog)...

а там напримересть такая функция как $deposit, которой в самом Верилоге нет...Ввели ее только в Каденсе (для внесения ошибок при отладке..похожее на утверждения force-release).

А можно поподробнее немного тогда об этой функции написать пожалуйста?

Например если нужно зафорсить цепь используя иерархический доступ к ней в тестбенче...

Я недавно начал изучать Верилог и многого не знаю, а литературы маловато по нему..ту, которую изучал эту функцию не нашел...

Изменено пользователем McLarenfan

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


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

Хм, а можно поподробнее пожалуйста про SV и randcase?

 

смотрите стандарт на System Verilog в нем все расписано. Ссылки на документы по SV в топе подфорума.

 

Просто есть ограничение...

 

функция $random это функция стандарта языка Verilog, она должна быть в любом симуляторе, который поддерживает данный стандарт. Смотрите в стандарт, там все написано. В том числе и как можно расширить набор системных функций в конкретном симуляторе, например введя функцию $deposit.

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


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

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

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

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

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

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

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

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

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

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