Главная страница

Рэснаплисезадание1. РЭС на ПЛИС Лаб 1 - введение в разработку. Vivado 2016 Написание модулей на языке Verilog


Скачать 0.56 Mb.
НазваниеVivado 2016 Написание модулей на языке Verilog
АнкорРэснаплисезадание1
Дата28.09.2022
Размер0.56 Mb.
Формат файлаdocx
Имя файлаРЭС на ПЛИС Лаб 1 - введение в разработку.docx
ТипЛабораторная работа
#702306


Лабораторная работа 1

ОСНОВЫ РАЗРАБОТКИ ПРОЕКТА В СРЕДЕ VIVADO
Цель работы
Изучение среды разработки цифровых устройств на ПЛИС Xilinx Vivado 2016.4. Написание модулей на языке Verilog и тестирующих окружений. Проверка работоспособности разработанного устройства на временной симуляции в XSim.
Основные вопросы, изучаемые перед выполнением работы


  1. Основы комбинационной логики

  2. Введение в Verilog


Содержание работы


  1. Ознакомиться с приложением 1.

  2. Создать на разделе D директорию (год обучения)-(семестр). В созданном каталоге создать индивидуальную директорию (Фамилия на литинице)-(группа). Для каждой лабораторной работы создается каталог lab-(номер лабораторной). Например, полный путь для первой лабораторный работы:

D:/2021-1/Ivanov_RT51/lab-1

  1. Создание проекта в Vivado 2016.4

    1. Выбрать пункт Create New Project (рис. 1) и в открывшемся окне нажать Next

Р
ис. 1. Окно создания проекта


    1. Введите имя проекта sw_led (рис. 2) и укажите путь к созданной ранее директории, оставив отметку напротив Create project subdirectory – это позволит создать для проекта отдельный каталог и поместить в него все файлы проекта. Данная функция будет активно использована в последующих работах, в рамках которых будет создано несколько проектов.

Р
ис. 2. Окно выбора директории проекта


    1. Нажмите Next.

    2. Убедитесь, что в следующем окне установлен указатель RTL project и установлена отметка Do not specify sources at this time и нажмите next (рис. 3).



Рис. 3. Окно выбора типа проекта

    1. В следующем окне выберите вкладку Board и выберите модель отладочной платы ZedBoard и нажмите Next (рис. 4).



Рис. 4. Окно выбора отладочной платы

    1. Проверьте Project summary и нажмите finish. На данном этапе создан пустой проект для платы ZedBoard (рис. 5).



Рис. 5. Окно свойств созданного проекта

  1. Добавление design файла в проект

    1. Рассмотрите окно среды после создания проекта (рис. 6).

Панель Flow navigator – включает в себя полный набор кнопок для создания проекта. Примечательно, что кнопки на данной панели находятся в хронологическом порядке этапов создания, отладки и тестирования на отладочной плате:

- 1 – кнопка project manager – открывает окно менеджера проекта и позволяет добавлять, удалять файлы в проект;

- 2 – кнопка IP integrator – дает возможно создать блочный проект и добавить;

- 3 – Кнопка Simulation – открывает панель симуляции проекта;

- 4 - кнопка RTL анализ – генерирует RTL схемотехнику проекта и позволяет просмотреть в виде каких элементов синтезируется проект;

- 5 – кнопка Synthesis – содержит под собой элементы запуска синтеза проекта и позволяет получить отчеты по разарбатываемым устройствам;

- 6 – кнопка Implementation – запускает размещение синтезированного проекта на логических элементах выбранной микросхемы или отладочной платы;



Панель flow navigator – панель с основными этапами разработки

Панель project manager – управление файлами проекта

Вкладка project summary – обобщает всю информацию о проекте

6

5

4

3

2

1

Консольное окно

Рис. 6. Окно среды разработки после создания пустого проекта

    1. Н
      ажмите
      на кнопку Project Manager, затем на Add Sources. В открывшемся окне выберите Add or create design sources (добавить или создать файл разрабатываемого устройства) и нажмите next.

Рис. 7. Окно добавления или создания новых файлов

    1. В
      открывшемся окне (рис. 7) нажмите
      Create File

Рис. 8. Окно создания файла

      1. В открывшемся окне (рис. 8) введите имя файла swled и убедитесь, что языком разработки выбран Verilog.

      2. Нажмите OK. На этом этапе создан файл устройства (design source).

    1. После успешного создания файла, найдите и кликните на файл swled.v в дереве проекта (примечание: должна быть активна кнопка project manager).


    2. Напишите в протоколе обозначения и запишите их таблицу истинности для логических элементов на рисунке (рис.9).

Рис. 9. Условно-графическое обозначение логических элементов


    1. Пример разрабатываемой логики (рис. 10).

Рис. 10. Разрабатываемое устройство

Разрабатываемое устройство предоставляет собой входную шину in [7:0] из 8 проводов, логических элементов И, ИЛИ, НЕ, И-НЕ и простого провода, и выходную шину out [4:0].

    1. Впишите содержание файла swled.v согласно листингу ниже:

module sw_led( //название модуля

input wire [7:0] in, //входная 8-битная шина проводов

output wire [4:0] out //выходная 5-битная шина проводов

);

//присвоение 4 биту шины out логической операции И между in[6] и in[7]

assign out[4] = in[6] & in[7];

//присвоение 3 биту шины out логической операции ИЛИ между in[5] и in[4]

assign out[3] = in[5]| in[4];

//присвоение 2 биту шины out логического отрицания сигнала in[3]

assign out[2] =

in[3];

//присвоение 1 биту шины out логической операции И-НЕ между in[1] и in[2]

assign out[1] = (in[1] & in[2]);

//присвоение 0 битушины out сигналана in[0]

assign out[0] = in [0];

endmodule //завершениемодуля

    1. Нажмите Ctrl + S чтобы сохранить изменения.

    2. На данном этапе файл разрабатываемого устройства написан.

  1. Создание файла симуляции

    1. Для проверки модулей без платы необходимо написать тестовый модуль, который подключается разрабатываемому и проводит над ним необходимые операции. Такой модуль называют testbench (тестбенч).

    1. Н
      а
      панели flow navigator, под кнопкой project manager, нажмите add sources. Далее в выпавшем окне выберите add or create simulation sources (рис. 11) и нажмите next.

Рис. 11. Выбор типа добавляемого файла

    1. В
      открывшемся окне нажмите
      create file (создать файл) и введите имя файла в предложенном поле swled_tb убедившись, что выбран язык Verilog (рис. 12). Далее OK и затем finish.

Рис. 13. Ввод имени файла симуляции

    1. Активируйте кнопку project manager и отыщите созданный файл симуляции в дереве проекта. Откройте файл симуляции swled_tb.v и впишите в него содержание согласно листингу ниже:

`timescale 1ns / 1ps //параметры шкалы ШАГ ns / ТОЧНОСТЬ ps
module sw_led_tb( //название модуля тестирования

);

reg [7:0] in_tb; //регистр 8 бит, выполняет роль генератора и подает значения в модуль sw_led

wire [4:0] out_tb; //шина проводов на 5 бит, будет выполнять роль осциллогафа для снятия выходных сигналов из модуля
integer i; //целочисленная переменная для счетчика
sw_led DUT( //подключение к модулю sw_led экземпляра DUT - device under test

.in (in_tb), //поключение регистра in_tb к шине in из модуля sw_led

.out (out_tb) //поключение шины щге_tb к шине out из модуля sw_led

);
initial // блок инициализации (см прилодение 1)

begin // открытие "скобок"

for (i=0;i<256;i=i+1)

begin // открытие "скобок"

#10 in_tb = i; //присвоение регистру in_tb значения счетчика

end // закрытие "скобок"

end // закрытие "скобок"

endmodule

    1. Обратите внимание на значение задержки #10 в 19 строке кода. Нажмите ctrl + s, чтобы сохранить изменения.

    2. Запишите в протокол назначение блока initial и особенность его работы, а так же назначение i.

  1. Запуск симуляции

    1. На панели flow navigator нажмите на run simulation run behavioral simulation (это позволит запустить поведенческую симуляцию).

    2. В
      открывшемся окне отмасштабируйте окно временной симуляции (рис. 14).


Рис. 14. Набор окон после запуска поведенческой симуляции

    1. В левой части окна временной диаграммы есть элементы управления масштабом. Нажмите на zoom fit и отрегулируйте масштаб сочетанием ctrl + колесико мыши, нажмите на знак «+» рядом с названием шин intb и out_tb чтобы увидеть отдельные сигналы на каждом из проводов (рис. 15).

Рис. 15. Временные диаграммы входных и выходных сигналов


    1. Сопоставьте значение задержки из п 5.5 и данного рисунка 16, запишите вывод в протокол. Обратите внимание на значение счетчика. Измените режим отображения временной с hex на binary. Занесите в протокол 5 значений входных и выходных значений. Сохраните фрагмент окна с помощью встроенного приложения «ножницы».

  1. RTL-анализ полученной схемы

    1. Н
      а панели
      flow navigator, под кнопкой RTL Analysis, нажмите на Elaborated Design.Обратите внимание на построенное окно и сформированную таблицу (рис. 16).

Рис. 16. Набор окон RTL-анализа устройства

    1. Сопоставьте код разрабатываемого устройства из предыдущих пунктов и диаграмму. Сохраните фрагмент окна shematic и таблицу Design runs с помощью встроенного в ОС Windows приложения «ножницы». Обратите внимание на таблицу design runs: в ней указан параметр LUT (количество использованных логических элементов) равный 4.

    2. Нажмите в левом верхнем углу file close project.


Содержание отчета


  1. Принцип построения модулей на Verilog.

  2. Назначение объектов wire.

  3. Текст модуля из индивидуального задания.

  4. Назначение ключевого слова assign.

  5. Текст тестового модуля для индивидуального задания.

  6. Временные диаграммы и сохраненные фрагменты экрана с пояснением.

  7. Таблица с пятью значениями входных и выходных сигналов. Выводы о правильности работы.

Задания к лабораторной работе


Для выполнения самостоятельной работы, создайте новый проект c именем swled_sr_(номер варианта) в уже созданной директории lab-1. Разработайте модуль согласно варианту выданному преподавателем.


написать администратору сайта