
- •Методическое пособие по теме:
- •Содержание
- •1. Введение.
- •2. Теоретическая часть.
- •2.1. Общие вопросы проектирования цифровых схем.
- •2.2. Внутренняя структура плис.
- •2.3. Основы языка описания цифровых схем vhdl.
- •2.4. Краткое описание используемой отладочной платы.
- •2.5. Краткое описание средств проектирования плис.
- •3. Практическая часть.
- •3.1. Знакомство со средой Xilinx ise WebPack. Создание проекта.
- •3.2. Реализация проекта при помощи графического редактора схем.
- •3.3. Реализация проекта при помощи языка vhdl.
- •3.4. Моделирование проекта в среде ModelSim se.
- •3.5. Конфигурирование кристалла и проверка его работы на отладочном комплекте.
- •3.6. Задание для самостоятельного выполнения.
- •4. Список литературы.
3. Практическая часть.
3.1. Знакомство со средой Xilinx ise WebPack. Создание проекта.
Итак, первым делом запускаем среду, в результате чего появляется окно, как на рисунке 3.1.1 (все скриншоты в данном методическом пособии сделаны для версий WebPACK 9.1 и ModelSim SE 6.0).
Рис. 3.1.1.
Внутри окна содержатся: сверху – главное меню и различные иконки, слева – окно с исходными файлами проекта (“Sources”) и окно управления проектом (“Processes”). Основную же часть окна занимает рабочая область (на рисунке она пустая, т.к. не открыт проект, с которым нужно работать).
Выбираем пункт меню File->New Project…, появляется диалоговое окно, в котором вводим имя проекта, его размещение на жестком диске и тип исходника верхнего уровня (как уже говорилось выше, проект можно выполнять в виде схемы в графическом редакторе или в виде кода на VHDL), см. рисунок 3.1.2.
Рис. 3.1.2.
Нажимаем кнопку Next. В следующем диалоговом окне выбираем семейство Spartan3E, кристалл XC3S100E, тип корпуса VQ100, быстродействие кристалла -4, симулятор ModelSim-SE VHDL и язык VHDL, см. рисунок 3.1.3.
Рис. 3.1.3.
Нажимаем кнопку Next. В следующем диалоговом окне предлагается сразу добавить в проект новые файлы-исходники. Учтём эту возможность, но не воспользуемся ею и снова нажмём кнопку Next.
В следующем диалоговом окне предлагается добавить в проект уже существующие исходники. Поступим аналогично предыдущей ситуации.
И наконец, в заключительном окне будет представлена краткая информация о создаваемом проекте, см. рисунок 3.1.4.
Рис. 3.1.4.
Нажимаем кнопку Finish. Проект создан. Переходим непосредственно к проектированию.
3.2. Реализация проекта при помощи графического редактора схем.
Итак, прежде всего, добавим в наш проект файл-схему (далее будем называть его и подобные ему файлы, включая vhdl-файлы словом «исходник»). Сделать это можно либо через главное меню (Project->New Source…), либо щелкнув правой кнопкой в окне Sources и в появившемся контекстном меню выбрав пункт New Source…, после чего появится диалоговое окно с полями выбора типа и ввода названия файла, см. рисунок 3.2.1.
Рис. 3.2.1.
После того как необходимые действия выполнены, нажимаем кнопку Next.
В следующем диалоговом окне будут представлены краткие сведения о добавляемом в проект файле, убедившись в правильности которых необходимо нажать кнопку Finish.
После выполнения этих действий автоматически в рабочей области появятся вкладки Design Summary и наш main_scheme.sch. Вручную открыть любой исходник можно из вкладки Sources окна Sources.
Теперь приступим к рисованию схемы. Для примера, реализуем схему, которая будет по нажатию кнопки инкрементировать счетчик, значение с которого после дешифрации попадёт на семисегментный индикатор. Для простоты возьмем диапазон цифр от 0 до 3, т.к. дело осложняется тем, что в среде нет семисегментного дешифратора и его придется сделать вручную.
Выберем вкладку main_scheme.sch в рабочей зоне, а в окне Sources – вкладку Symbols. В окне Sources можно выбирать всевозможные логические символы и устанавливать их в схему, которая теперь находится в рабочей зоне. Соединять выводы элементов можно различными способами, самый удобный из них – нажатием комбинации клавиш ctrl+W. Искомая схема представлена на рисунке 3.2.2.
Рис. 3.2.2.
Схема работает следующим образом. Сигнал с кнопки представляет собой довольно продолжительный сигнал относительно тактовой частоты, поэтому, чтобы по каждому нажатию осуществлялся переход счетчика только на одно значение вперед, применена схема преобразования фронта в импульс, состоящая из D-триггера (на рисунке – FD) и элемента «И» с одним инвертированным входом. Сигнал с кнопки задерживается триггером на один такт и инвертируется, после чего логически умножается на исходный сигнал. Другие два D-триггера служат для защиты синхронизации сигнала и защиты от метастабильности.
Полученный короткий импульс поступает на разрешающий сигнал двухразрядного двоичного счетчика (на рисунке – CB2CE). Выходы счетчика дешифрируются в значения сегментов семисегментного индикатора простыми логическими элементами (на рисунке находятся справа, расположены в столбиком).
Сигнал сброса счетчика подключен к земле, т.к. счетчик сбрасывается автоматически, когда достигает значения больше 3. Сигнал переполнения счетчика (TC) и выходной сигнал разрешения работы счетчика для каскадирования (CEO) не используются.
Схема имеет два входных вывода, Clock и Button, и 7 выходных, по количеству сегментов индикатора – Segment_A, Segment_B, Segment_C, Segment_D, Segment_E, Segment_F и Segment_G.