OVM/Архитектура теста — различия между версиями
Материал из Wiki
< OVM
Vidokq (обсуждение | вклад) (→Общий вид) |
Vidokq (обсуждение | вклад) (→Названия файлов описания) |
||
| (не показаны 12 промежуточных версий 2 участников) | |||
| Строка 1: | Строка 1: | ||
== Общий вид == | == Общий вид == | ||
{| align=center | {| align=center | ||
| − | ! <html><img src="https://docs.google.com/drawings/d/14PCLQWzk8U3maebwNx0Rk9dfixyy_efgP4GbyfJhxGA/pub?w= | + | ! <html><img src="https://docs.google.com/drawings/d/14PCLQWzk8U3maebwNx0Rk9dfixyy_efgP4GbyfJhxGA/pub?w=800"> </html> |
|- | |- | ||
| − | ! Рисунок 1 — | + | ! Рисунок 1 — Архитектура OVM теста ([https://docs.google.com/drawings/d/14PCLQWzk8U3maebwNx0Rk9dfixyy_efgP4GbyfJhxGA/edit edit]) |
| + | |} | ||
| + | |||
| + | == Структура проекта == | ||
| + | {{OVM_TOC}} | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! Папки !! Описание | ||
| + | |- | ||
| + | | /ovm || Корневая папка проекта | ||
| + | |- | ||
| + | | /ovm/raduga7 || Папка с описанием и спецификацией блока | ||
| + | |- | ||
| + | | /ovm/raduga7/rtl || Папка содержащее rtl описание на языках vhdl или verilog | ||
| + | |- | ||
| + | | /ovm/raduga7/tlm || Папка содержащая описание поведения модели на языке C/C++/SystemC | ||
| + | |- | ||
| + | | /ovm/raduga7/vplan || План верификации написанный на xml (формат word, excel) | ||
| + | |- | ||
| + | | /ovm/sim || Содержит результаты запусков моделирования и скрипты запуска | ||
| + | |- | ||
| + | | /ovm/sim/script || Скрипты запуска моделирования | ||
| + | |- | ||
| + | | /ovm/tb || Папка содержит тесты для запуска во время моделирования | ||
| + | |- | ||
| + | | /ovm/tb/sv || Содержит среду верификации на языке SystemVerilog | ||
| + | |- | ||
| + | | /ovm/tb/golden || Содержит файлы паттернов тестов | ||
| + | |} | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | == Названия файлов описания == | ||
| + | |||
| + | '''/ovm/tb/sv''' - папка тестового окружения | ||
| + | |||
| + | * Имя файла для удобства должно соответствовать названию класса | ||
| + | * '''NAME''' - название '''RTL''' проекта. | ||
| + | * '''Discription''' - описание функционального назначения или содержания класса (одно или два слова). | ||
| + | |||
| + | |||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! Название файла !! Название класса !! Описание | ||
| + | |- | ||
| + | | '''top'''.sv || top || модуль верхнего уровня | ||
| + | |- | ||
| + | | NAME_'''test'''_Discription.svh || NAME_test_Discription || Описание класса содержащего тест. Принято для каждого теста создавать свой класс. | ||
| + | |- | ||
| + | | NAME_'''env'''.svh || NAME_env || Тестовое окружение в тесте (тестбенч). Содержит в себе обычно Agent и Scoreboard | ||
| + | |- | ||
| + | | NAME_'''agent'''.svh || NAME_agent || Агент - модуль, который содержит sequencer, sequencer_driver, monitor, coverage | ||
| + | |- | ||
| + | | NAME_'''scoreboard'''.svh || NAME_scoreboard || Табло - модуль, который содержит comparator и вызов обработки эталонной модели. | ||
| + | |- | ||
| + | | NAME_'''sequencer'''.svh || NAME_sequencer || Объект, содержащий в себе последовательность транзакций для посылки в DUT | ||
| + | |- | ||
| + | | NAME_'''sequencer_driver'''.svh || NAME_sequencer_driver || Объект, который преобразует транзакции в переключения на входной шине dut. | ||
| + | |- | ||
| + | | NAME_'''monitor'''.svh || NAME_monitor || Объект который получает с пинов DUT переключения обрабатывает их и преобразовывает в транзакции и записывает analisys_port (через запись в порт транзакция передается ии может быть прочитана в scoreboarde) | ||
| + | |- | ||
| + | | NAME_'''coverage'''.svh || NAME_coverage || Файл содержит covergroup (группа, содержащая точки проверки во время моделирования ... отвечает на вопрос Are we done?, а также объект, создающий, вызывающий и записывающий пункт проверки(анализирует транзакцию через анализ порт и дает заключение выплняется ли одно из условий описанных в covergroup) ) | ||
| + | |- | ||
| + | | NAME_'''comparator'''.svh || NAME_comparator || Класс который получает транзакции из scoreboard(они туда поступают по analisys_porty из монитора) и из gold модели написанной на c++ и сравнивает и выдает сообщение и подсчитывает совпадения и несовпадения. | ||
| + | |- | ||
| + | | NAME_'''tr'''.svh || NAME_tr || Объект, содержащий описание ограничений для задаваемых значений, транзакции для посылки в DUT, и описание передаваемых транзакций между блоками. Обязательно или ключевой особенностью транзакции является наличие rand параметров, парметры которые при генерации будут задаваться в соответсвии с указанными ограничениями или случайно или по алгоритму. | ||
| + | |- | ||
| + | | NAME_'''sv_utils'''.svh || NAME_'''sv_utils''' || Содержит описание класса - интерфейс подключения к DUT | ||
| + | |- | ||
| + | | NAME_'''fpu_reference_model'''.svh || NAME_'''fpu_reference_model''' || Содержит класс с описанием запуска golden модели. | ||
|} | |} | ||
Текущая версия на 01:23, 9 апреля 2013
Общий вид
| |
|---|
| Рисунок 1 — Архитектура OVM теста (edit) |
Структура проекта
| Папки | Описание |
|---|---|
| /ovm | Корневая папка проекта |
| /ovm/raduga7 | Папка с описанием и спецификацией блока |
| /ovm/raduga7/rtl | Папка содержащее rtl описание на языках vhdl или verilog |
| /ovm/raduga7/tlm | Папка содержащая описание поведения модели на языке C/C++/SystemC |
| /ovm/raduga7/vplan | План верификации написанный на xml (формат word, excel) |
| /ovm/sim | Содержит результаты запусков моделирования и скрипты запуска |
| /ovm/sim/script | Скрипты запуска моделирования |
| /ovm/tb | Папка содержит тесты для запуска во время моделирования |
| /ovm/tb/sv | Содержит среду верификации на языке SystemVerilog |
| /ovm/tb/golden | Содержит файлы паттернов тестов |
Названия файлов описания
/ovm/tb/sv - папка тестового окружения
- Имя файла для удобства должно соответствовать названию класса
- NAME - название RTL проекта.
- Discription - описание функционального назначения или содержания класса (одно или два слова).
| Название файла | Название класса | Описание |
|---|---|---|
| top.sv | top | модуль верхнего уровня |
| NAME_test_Discription.svh | NAME_test_Discription | Описание класса содержащего тест. Принято для каждого теста создавать свой класс. |
| NAME_env.svh | NAME_env | Тестовое окружение в тесте (тестбенч). Содержит в себе обычно Agent и Scoreboard |
| NAME_agent.svh | NAME_agent | Агент - модуль, который содержит sequencer, sequencer_driver, monitor, coverage |
| NAME_scoreboard.svh | NAME_scoreboard | Табло - модуль, который содержит comparator и вызов обработки эталонной модели. |
| NAME_sequencer.svh | NAME_sequencer | Объект, содержащий в себе последовательность транзакций для посылки в DUT |
| NAME_sequencer_driver.svh | NAME_sequencer_driver | Объект, который преобразует транзакции в переключения на входной шине dut. |
| NAME_monitor.svh | NAME_monitor | Объект который получает с пинов DUT переключения обрабатывает их и преобразовывает в транзакции и записывает analisys_port (через запись в порт транзакция передается ии может быть прочитана в scoreboarde) |
| NAME_coverage.svh | NAME_coverage | Файл содержит covergroup (группа, содержащая точки проверки во время моделирования ... отвечает на вопрос Are we done?, а также объект, создающий, вызывающий и записывающий пункт проверки(анализирует транзакцию через анализ порт и дает заключение выплняется ли одно из условий описанных в covergroup) ) |
| NAME_comparator.svh | NAME_comparator | Класс который получает транзакции из scoreboard(они туда поступают по analisys_porty из монитора) и из gold модели написанной на c++ и сравнивает и выдает сообщение и подсчитывает совпадения и несовпадения. |
| NAME_tr.svh | NAME_tr | Объект, содержащий описание ограничений для задаваемых значений, транзакции для посылки в DUT, и описание передаваемых транзакций между блоками. Обязательно или ключевой особенностью транзакции является наличие rand параметров, парметры которые при генерации будут задаваться в соответсвии с указанными ограничениями или случайно или по алгоритму. |
| NAME_sv_utils.svh | NAME_sv_utils | Содержит описание класса - интерфейс подключения к DUT |
| NAME_fpu_reference_model.svh | NAME_fpu_reference_model | Содержит класс с описанием запуска golden модели. |