Poluektovich 0 3 апреля, 2013 Опубликовано 3 апреля, 2013 · Жалоба `uvm_analysis_imp_decl(_ingress) `uvm_analysis_imp_port(_egress) class myscoreboard extends uvm_component; uvm_analysis_imp_ingress#(mydata, myscoreboard) ingress; uvm_analysis_imp_egress#(mydata, myscoreboard) egress; ... function new(string name, uvm_component parent); super.new(name,parent); ingress = new("ingress", this); egress = new("egress", this); endfunction function void write_ingress(mydata t); function void write_egress(mydata t); endfunction Осталось соеденить мониторы с портами ingress/egress. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
true_pb 0 17 апреля, 2013 Опубликовано 17 апреля, 2013 · Жалоба кто-нибудь реализовывал virtual sequencer? в чем преимущества его использования по сравнению с обычными? (делаю, как пишут в cookbook, ничего особенно не выходит) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Poluektovich 0 23 апреля, 2013 Опубликовано 23 апреля, 2013 · Жалоба Дело скорее не приемуществах, а в назначении - предоставление доступа к другим sequencers окружения и использование в virtual sequences. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
true_pb 0 25 апреля, 2013 Опубликовано 25 апреля, 2013 · Жалоба Дело скорее не приемуществах, а в назначении - предоставление доступа к другим sequencers окружения и использование в virtual sequences. спасибо, что отписываетесь-) ну то есть разницы в целом нет, запущу я несколько sequence через разные sequencer'ы в тесте, или запущу одну virtual sequence через virtual sequencer, а в ней запущу несколько разных sequence через свои sequencer'ы? (если я правильно понимаю, как это используется. воплотить получилось, но в чем же тогда разница?) upd: за register model поясните тоже, пожалуйста. это отдельная структура объектов для сравнения значений в dut и в тестбенче? (я, конечно, читаю, но общая картина и назначение представляется не очень хорошо. может, не то читаю) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Poluektovich 0 25 апреля, 2013 Опубликовано 25 апреля, 2013 · Жалоба Register model - это некое умное зеркало регитрового простарнства DUT. Исходя из спецификации на блок мы наполняем reg_model. Функциями set/get задаем/получаем значение виртуального регистра или отдельных полей. Главная фича - оперируя с reg_model регистрами через функции write/read, мы производим транзакции на системной системной шине с помощью специального адаптера и пишем/читаем регистры DUT. К такому же эффекту приводит использование методов update/mirror (для mirror нужно включить режим auto_predict, иначе виртуальный регистр не обновится), в этом случае удобно писать/читать отдельные поля reg_model регистра. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
true_pb 0 29 апреля, 2013 Опубликовано 29 апреля, 2013 · Жалоба Register model - это некое умное зеркало регитрового простарнства DUT. Исходя из спецификации на блок мы наполняем reg_model. Функциями set/get задаем/получаем значение виртуального регистра или отдельных полей. Главная фича - оперируя с reg_model регистрами через функции write/read, мы производим транзакции на системной системной шине с помощью специального адаптера и пишем/читаем регистры DUT. К такому же эффекту приводит использование методов update/mirror (для mirror нужно включить режим auto_predict, иначе виртуальный регистр не обновится), в этом случае удобно писать/читать отдельные поля reg_model регистра. спасибо, а что с классами, объектами, их иерархией и другими связями между ними? map - исключительно для адресов (типа адресного пространства?) чем отличаются register, register file и memories? зачем используются два доступа к register model - front door и back door? необходимо ли создавать sequence специально для register model? (вопросы большей частью риторические, но если укажете направление, буду очень благодарен. сейчас читаю cookbook и uvm user guide, не знаю, может есть что полегче/доступнее) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Poluektovich 0 30 апреля, 2013 Опубликовано 30 апреля, 2013 · Жалоба Map - карта адресного пространства, в нее добавляются ссылки на инстанцированные в reg_block регистры и памяти с адресами и правами доступа. Front door - штатный режим доступа к регистру/памяти путем операции на системной шине, Back door - доступ к регистру в обход системной шины, операции осуществляются через заданный путь к регистру в RTL-модели. Sequnce специально создавать не обязательно для основных тестов. Но они могут понадобиться в тесте регистров - при проверке дефолтных значения и записи/чтения. Помимо чтива можно посмотреть примеры в поставке UVM, каталог integrated. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
true_pb 0 14 мая, 2013 Опубликовано 14 мая, 2013 · Жалоба Map - карта адресного пространства, в нее добавляются ссылки на инстанцированные в reg_block регистры и памяти с адресами и правами доступа. Front door - штатный режим доступа к регистру/памяти путем операции на системной шине, Back door - доступ к регистру в обход системной шины, операции осуществляются через заданный путь к регистру в RTL-модели. Sequnce специально создавать не обязательно для основных тестов. Но они могут понадобиться в тесте регистров - при проверке дефолтных значения и записи/чтения. Помимо чтива можно посмотреть примеры в поставке UVM, каталог integrated. спасибо! а может подскажете тулы для автоматической генерации register model? они генерируют только саму структуру (блок, регистр, поля, карта) или и создание, конфигурацию и соединение в нужных местах? благодарю заранее-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Poluektovich 0 14 мая, 2013 Опубликовано 14 мая, 2013 · Жалоба Вот свободный тул для генерации reg_model (блок, регистр, поля, карта) из ip-xact(xml) описания: https://bitbucket.org/vlotorev/reggi Есть и в Cadence Incisive (v12) такой тул: iregGen Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться