Jump to content

    

true_pb

Участник
  • Content Count

    12
  • Joined

  • Last visited

Community Reputation

0 Обычный
  1. спасибо! а может подскажете тулы для автоматической генерации register model? они генерируют только саму структуру (блок, регистр, поля, карта) или и создание, конфигурацию и соединение в нужных местах? благодарю заранее-)
  2. спасибо, а что с классами, объектами, их иерархией и другими связями между ними? map - исключительно для адресов (типа адресного пространства?) чем отличаются register, register file и memories? зачем используются два доступа к register model - front door и back door? необходимо ли создавать sequence специально для register model? (вопросы большей частью риторические, но если укажете направление, буду очень благодарен. сейчас читаю cookbook и uvm user guide, не знаю, может есть что полегче/доступнее)
  3. спасибо, что отписываетесь-) ну то есть разницы в целом нет, запущу я несколько sequence через разные sequencer'ы в тесте, или запущу одну virtual sequence через virtual sequencer, а в ней запущу несколько разных sequence через свои sequencer'ы? (если я правильно понимаю, как это используется. воплотить получилось, но в чем же тогда разница?) upd: за register model поясните тоже, пожалуйста. это отдельная структура объектов для сравнения значений в dut и в тестбенче? (я, конечно, читаю, но общая картина и назначение представляется не очень хорошо. может, не то читаю)
  4. кто-нибудь реализовывал virtual sequencer? в чем преимущества его использования по сравнению с обычными? (делаю, как пишут в cookbook, ничего особенно не выходит)
  5. а в чем конкретно проблема или задача? это скорее фаза тестирования, объявляется как function void start_of_simulation_phase (uvm_phase phase); ... endfunction и выполняется до run_phase и после end_of_elaboration_phase в соответствующем компоненте
  6. >ЕМНИП что?:) >там же есть разные фазы запуска окружения, есть фаза когда все компоненты созданы да, речь идет о run_phase обоих объектов >и можно найти нужный по символьному имени и присвоить указатель/ссылку на этот объект локальной переменной. символьное имя? имя объекта, который создается в agent? объекты последнего уровня иерархии не видят классов своих братьев (не могу объявить переменную типа Scoreboard в Sequencer) если обращаться по полному пути (env.agent.scoreboard.name_field) не загружается дизайн при симуляции
  7. если я правильно понимаю иерархию компонентов uvm: обращение к потомкам/предкам проблем не составляет, но что если я хочу обратится из sequncer к scoreboard (/driver/monitor), которые, по сути, являются друг другу "братьями" (т.к. они создаются их предком agent)? или, не дай б-г, из sequence к свойству объекта scoreboard?
  8. обошлись обменом данных через поля объекта класса test (родителя-родителя-родителя driver/monitor/sequencer/scoreboard). может кто знает более изящное решение
  9. как? что значит ссылку на объект?
  10. небольшой вопрос, вдруг кто знает как обратится к объекту (и его методу/свойству) из другого объекта в рамках иерархии компонентов uvm (driver/monitor/sequencer/scoreboard)? при попытке обратиться по полному пути (env.agent.scoreboard.name_field) не загружается дизайн при симуляции.
  11. я хочу невозможного??? надо из logic [5:0] сделать стринг, чтоб вывести число на экран через uvm_report. пытаюсь привести через str_val = 'string(logic_val), но пишет всякие символы! ткните носом, пожалуйста(
  12. Не могу ничего найти про эту библиотеку на форуме. Кто-нибудь работал с ней? Появилась необходимость освоить, было накопано немало туториалов, обучающих видео etc, но из-за слабого знания ооп (или чего еще там-), дело продвигается медленно. Предлагаю накидать сюда каких-нибудь ссылок, а если появятся знатоки, можно и вопросы будет задать. Статья про установку библиотеки, как я понимаю, под юникс системы Видео много про что, в том числе про первые шаги в UVM небольшой туториал или даже не знаю, как его назвать Серия обучающих видео