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

Материал из SRNS
Перейти к: навигация, поиск
(Написание TB'ей)
(Написание TB'ей)
Строка 32: Строка 32:
 
В открывшемся окне в разделе ''Simulation'' в графе ''Simulation top modulw name'' создаем новый файлсет, выбирая ''Create Simulation Set''
 
В открывшемся окне в разделе ''Simulation'' в графе ''Simulation top modulw name'' создаем новый файлсет, выбирая ''Create Simulation Set''
 
[[file:20160404_vivado_revolution3.png|center]]
 
[[file:20160404_vivado_revolution3.png|center]]
 +
 +
'''ВНИМАНИЕ''' Не занимайте и не удаляйте файлсет sim_1. Vivado его очень любит и будет создавать заново, делая при этим активным. Лучше оставить sim_1 пустым.
  
 
Новому файлсету даем осмысленное название, например, sim_imichnl_synthesizer
 
Новому файлсету даем осмысленное название, например, sim_imichnl_synthesizer
Строка 44: Строка 46:
 
[[file:20160404_vivado_revolution12.png|center]]
 
[[file:20160404_vivado_revolution12.png|center]]
  
 +
В контекстном меню файлсета sim_imichnl_synthesizer, выпадающем при нажатии правой кнопкой мыши, выбираем добавление новых файлов ''Add Sources''
 +
[[file:20160404_vivado_revolution13.png|center]]
  
 
Далее ''Add or create simulation sources''  
 
Далее ''Add or create simulation sources''  
Строка 50: Строка 54:
 
В следующем окне создаем новый fileset для симуляции через ''Specify simulation set -> Create Simulation Set''.  
 
В следующем окне создаем новый fileset для симуляции через ''Specify simulation set -> Create Simulation Set''.  
  
'''ВНИМАНИЕ''' Не занимайте и не удаляйте файлсет sim_1. Vivado его очень любит и будет создавать заново, делая при этим активным. Лучше оставить sim_1 пустым.
+
 
 
[[file:20160404_vivado_revolution6.png|center]]
 
[[file:20160404_vivado_revolution6.png|center]]
  

Версия 18:57, 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) в разделе Simulation выбираем Simulation Settings

20160404 vivado revolution2.png

В открывшемся окне в разделе Simulation в графе Simulation top modulw name создаем новый файлсет, выбирая Create Simulation Set

20160404 vivado revolution3.png

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

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

20160404 vivado revolution7.png

Очищаем графу Simulation top module name, т.к. файл с кодом TB'а у нас ещё не создан.

На вкладке Advanced запрещаем включать в TB все файлы проекта, снимая галку с Include all design sources for simulation. Иначе он добавит все наши файлы в файлсет этого TB'а, что нам не нужно.

20160404 vivado revolution11.png

Закрываем окно, нажимая Ok. Vivado задает вопрос, сделать ли данный TB активным. Можно соглашаться. В итоге в Source проекта появился новый пустой файлсет для симуляции sim_imichnl_synthesizer

20160404 vivado revolution12.png

В контекстном меню файлсета sim_imichnl_synthesizer, выпадающем при нажатии правой кнопкой мыши, выбираем добавление новых файлов Add Sources

20160404 vivado revolution13.png

Далее Add or create simulation sources

20160404 vivado revolution4.png

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


20160404 vivado revolution6.png

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

20160404 vivado revolution8.png20160404 vivado revolution9.png

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

20160404 vivado revolution10.png

Ссылки

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

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

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