Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Топ:
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Интересное:
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Дисциплины:
2019-08-03 | 204 |
5.00
из
|
Заказать работу |
|
|
Создадим новый проект. В процессе создании проекта, при выборе типа проекта, укажем «RTL Project» – проект со схемой, построенной на принципе уровней регистровых передач (от англ. Register Transfer Level). Смысл такой схемы заключается в том, что она полностью описывает структуру данного устройства, элементами которой являются схемотехнические принципы (триггеры, регистры и т.д.).
Также существуют другие типы проектов:
- Post-synthesis Project – создать проект для работы с уже синтезированным проектом. В проект можно добавить уже готовые модули, провести синтез и создать файл для программирования ПЛИС;
- I/O Planning Project – создать проект для работы с входами и выходами ПЛИС;
- Imported Project – импортировать проект из других сред разработки ПЛИС: Synplify или Xilinx ISE;
- Example Project – создать проект для работы с одним из проектов-примеров.
Меню выбора типов проекта приведено на рисунке 1.2.
Рисунок 1.2 – Меню выбора типа проекта
Следующим важным шагом является выбор ПЛИС (во вкладке «Parts»), для которой создаётся проект, или сразу выбрать отладочную плату (вкладка «Boards»). В данном разделе выбираются следующие параметры:
- Product category – назначение ПЛИС;
- Family – семейство;
- Sub-Family – подсемейство;
- Package – комплекция;
- Speed Grade – класс скорости;
- Temp Grade – временные параметры.
Так как в данной работе выбор этих параметров значения не имеет, можно выбрать сразу плату, например, ZENQ-7 ZC702 (рисунок 1.3).
Рисунок 1.3 – Меню выбора платы
После создания проекта откроется основное окно рабочей среды (рисунок 1.4), состоящее из основных элементов:
- Flow Navigator (если дословно – «навигатор потока») – навигация по этапам проектирования цифрового устройства;
- Project Manager (менеджер проекта) – управление проектом (добавление ресурсов, IP-ядер, настройка);
|
- «Подвал» – позволяет открыть консоль, сообщения об этапах компиляции.
Рисунок 1.4 – Рабочая среда Xilinx Vivado
Для дальнейшей работы необходимо создать модуль на VHDL или Verilog, который опишет работу проектируемого устройства. Для этого нажимаем кнопку «Add Sources» во «Flow Navigator».
В появившемся окне из предложенных вариантов выбираем тип источника «Add or Create Design Sources». Далее, в окне, создаем новый модуль командой «Create File».
В окне создания нового модуля (рисунок 1.5) выбираем имя и язык, на котором он будет написан.
Рисунок 1.5 – Окно создания нового модуля
Для удобства можно сразу определить, какие входы и выходы есть у объекта, который мы будем описывать. Их можно определить в поле «I/O Port Definitions», окна «Define Module» (рисунок 1.6):
Port Name – имя входа/выхода – порта;
Direction – вход или выход (input/output);
Bus – является ли порт шиной;
MSB/LSB – старший/младший значащие разряды.
Рисунок 1.6 – Окно «Define Module»
с настроенными «I/O Port Definitions»
Для того, чтобы перейти к редактированию модуля, надо дважды щёлкнуть левой кнопкой мыши по нему в разделе «Sources» менеджера проектов (Project Manager), справа откроется редактор кода (рисунок 1.7).
В коде необходимо описать работу дешифратора. После служебного слова «module» идёт название самого модуля: «Decoder». В скобках указываются параметры: входящий сигнал А (трёхразрядная шина), входящий сигнал EN (разрешение работы), выходящий сигнал Х (семиразрядная шина). Блок «always @» указывает, что при определённом изменении входных сигналов необходимо делать то, что пойдёт дальше в скобках «begin-end». Если после оператора «always @» стоит «*», это означает, что работать блок будет при изменении любых сигналов. Внутри находится условный оператор: «if (<условие>) begin … end». А внутри условного оператора блок «case (<условие>) …», предполагающий более двух ветвлений.
Рисунок 1.7 – Редактор кода модуля
После того, как модуль написан, надо его сохранить. Для этого необходимо нажать кнопку «Save File». После этого автоматически пройдёт проверка файла на синтаксические ошибки.
|
Тестирование
Далее нужно написать небольшой «Testbench» – ещё один модуль, который необходим для симуляции проекта. В нём мы зададим временные параметры, в которые происходят изменения сигналов. Важно: тестбенч не имеет входных и выходных параметров. После объявления модуля описываются переменные, с которыми работает тестбенч, затем объявляется объект класса «Decoder».
После того, как тестбенч написан, можно снова сохранить файл и запустить поведенческую симуляцию по кнопке «Run Simulation» в разделе «Flow Navigator». На симуляции можно увидеть временные диаграммы (рисунок 1.8) тех сигналов, которые описаны в тестбенче. Это важный и обязательный этап проверки описанной схемы (описали модуль – описали схему). Те сигналы, которые состоят из нескольких «проводов» (являются шинами), можно развернуть, также можно регулировать масштаб временных диаграмм.
Рисунок 1.8 – Временная диаграмма работы модуля
Также можно посмотреть, какую схему составил Vivado на основе написанного кода. Для этого в меню «Flow Navigator», в разделе «RTL Analysis» нажимаем «Schematic».
Изначально, схема находится в свернутом состоянии, в виде блока, имеющего входы и выходы (рисунок 1.9). Для просмотра внутреннего строения блока (рисунок 1.10) нужно нажать на крестик в верхнем левом углу.
Рисунок 1.9 – Блок модуля
Рисунок 1.10 – Схема модуля на основе написанного кода
|
|
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!