Добавление testbench'ей на языке Verilog в проект Vivado — различия между версиями

Материал из SRNS
Перейти к: навигация, поиск
(Написание TB'ей)
(Написание TB'ей)
Строка 40: Строка 40:
 
Новому файлсету даем осмысленное название, например, ''sim_imichnl_synthesizer''
 
Новому файлсету даем осмысленное название, например, ''sim_imichnl_synthesizer''
 
[[file:20160404_vivado_revolution7.png|center]]
 
[[file:20160404_vivado_revolution7.png|center]]
 +
 +
В том же окне ''Add Sources'' можем пометить новый TB как активный. Добавляем новый файл TB'а, нажимая кнопку ''Create File''. Даем файлу осмысленное имя с суффиксом '''tb''', например, imichnl_synthesizer_tb.v и '''обязательно''' указываем в качестве пути каталог tb дизайна imitator:
 +
[[file:20160404_vivado_revolution8.png|center]]
 +
 +
[[file:20160404_vivado_revolution9.png|center]]
  
 
== Ссылки ==
 
== Ссылки ==

Версия 18:29, 4 апреля 2016

Содержание

Пусть у нас есть дизайн для Vivado, проект которого разворачивается в соответствии со статьей Vivado и Git. Возможно, это конечный дизайн, возможно - сабмодуль для другого дизайна. Процедура добавления test bench'ей (далее TB) отличаться не будет, поэтому дальнейшее рассмотрение продолжим на примере сабмодуля imitator.


Задача - добавить TB'и для модулей imitator'а, причем

  • они должны храниться в СКВ и быть доступны всем разработчикам,
  • имеются в виду TB'и на языке Verilog для симуляторов типа Vivado Simulator, ModelSim и т.д., а не тесты на языках Си или Matlab для Verilator'а.


Подопечные

Для конкретики, будем добавлять в дизайн imitator TB'и для двух модулей:

  • imichnl_synthesizer, отвечающий за фазу несущей,
  • imitator_channel, являющийся топ-модулем для одного канала имитатора и включающий в себя первый модуль.


Наша задача разбивается на несколько этапов:

  • написать код самих TB'ей, запустить, получить результаты,
  • понять, какие файлы охватывает TB,
  • внести изменения в скрипт регенерации проекта так, чтобы сохранились все настройки и файлы TB.

Приведу один из вариантов решения подзадач, не требующий знания tcl скриптов и опирающийся по-максимуму на GUI.

Написание TB'ей

Накидаем через GUI новый TB, а потом перенесем его в tcl-скрипт! Начнем с TB для модуля imichnl_synthesizer.

В Flow Navigator (это панель слева в Vivado) в разделе Project Manager выбираем Add Sources

20160404 vivado revolution5.png

Далее Add or create simulation sources

20160404 vivado revolution4.png

В следующем окне создаем новый fileset для симуляции через Specify simulation set -> Create Simulation Set.

ВНИМАНИЕ Не занимайте и не удаляйте файлсет sim_1. Vivado его очень любит и будет создавать заново, делая при этим активным. Лучше оставить sim_1 пустым.

20160404 vivado revolution6.png

Новому файлсету даем осмысленное название, например, sim_imichnl_synthesizer

20160404 vivado revolution7.png

В том же окне Add Sources можем пометить новый TB как активный. Добавляем новый файл TB'а, нажимая кнопку Create File. Даем файлу осмысленное имя с суффиксом tb, например, imichnl_synthesizer_tb.v и обязательно указываем в качестве пути каталог tb дизайна imitator:

20160404 vivado revolution8.png
20160404 vivado revolution9.png

Ссылки

Easyelectronics:TestBench на Verilog для новичков

Персональные инструменты
Пространства имён

Варианты
Действия
SRNS Wiki
Рабочие журналы
Приватный файлсервер
QNAP Сервер
Инструменты