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

Материал из SRNS
Перейти к: навигация, поиск
(Написание TB'ей)
Строка 38: Строка 38:
 
[[file:20160404_vivado_revolution6.png|center]]
 
[[file:20160404_vivado_revolution6.png|center]]
  
Новому файлсету даем осмысленное название, например, ''sim_imichnl_synthesizer''
+
Новому файлсету даем осмысленное название, например, sim_imichnl_synthesizer
 
[[file:20160404_vivado_revolution7.png|center]]
 
[[file:20160404_vivado_revolution7.png|center]]
  
Строка 44: Строка 44:
 
<center>[[file:20160404_vivado_revolution8.png]][[file:20160404_vivado_revolution9.png]] </center>
 
<center>[[file:20160404_vivado_revolution8.png]][[file:20160404_vivado_revolution9.png]] </center>
  
 +
Добавляем файлы, которые потребуются для работы тестируемого модуля. В данном случае это сам модуль imichnl_synthesizer из каталога verilog
 +
[[file:20160404_vivado_revolution10.png|center]]
 +
 
== Ссылки ==
 
== Ссылки ==
  

Версия 18:33, 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.png20160404 vivado revolution9.png

Добавляем файлы, которые потребуются для работы тестируемого модуля. В данном случае это сам модуль imichnl_synthesizer из каталога verilog

20160404 vivado revolution10.png

Ссылки

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

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

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