
- •Методическое пособие по теме:
- •Содержание
- •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. Список литературы.
2.4. Краткое описание используемой отладочной платы.
В нынешнее время многими фирмами практикуется выпуск специальных отладочных комплектов, позволяющих проверить конкретную микросхему в действии и оценить её возможности, не тратя время на подробное изучение документации, рисование принципиальной схемы и разводку печатной платы. Называются такие комплекты разными словами: отладочный (оценочный) комплект (макет, плата), Starter Kit, Evaluation Kit, Evaluation Board. Также их можно использовать и для разработки устройств общего назначения.
Отладочные комплекты представляют из себя печатную плату с установленными на ней тестируемой микросхемой (ради которой всё и затевается) и еще группы различных элементов, предназначенных для правильной работы микросхемы и для её проверки (в частности, это могут быть всевозможные устройства ввода/вывода).
Архитектура FPGA фирмой Xilinx представлена в двух семействах — Spartan и Virtex. Если в двух словах, то микросхемы семейства Spartan — более простые и дешевые, а Virtex — более сложные и дорогие, причем разница между ними составляет в среднем примерно порядок, как в цене, так и в производительности.
Поэтому мы в данном методическом пособии остановимся на семействе Spartan, а точнее — на подсемействе Spartan 3E, как одной из последних на сегодняшний день разработок Xilinx.
Spartan 3E состоит из пяти микросхем: XC3S100E, XC3S250E, XC3S500E, XC3S1200E и XC3S1600E. Их названия различаются числами, которые являются количеством вентилей, из которых они состоят, разделенным на 1000. Соответственно, микросхемы различаются количеством CLB, IOB, умножителей и блоков BRAM.
В данном методическом пособии мы будем работать с микросхемой XC3S100E и отладочной платой для неё DL-BASYS фирмы DIGILENT.
Далее представлены основные сведения об отладочной плате DL-BASYS.
Отличительные особенности:
установленная ПЛИС Spartan 3 в корпусе TQFP100 (100 тыс. вентилей);
установленный резонатор 50МГц, сокет для дополнительного резонатора;
XCF02 Platform Flash ROM;
интерфейс JTAG;
PS/2 порт;
четыре разъема расширения по шесть выводов;
пользовательские светодиоды (8шт.), кнопки (4шт.), переключатели (8шт.);
четырехразрядный семисегментный индикатор;
VGA интерфейс.
Комплектация:
отладочная плата DL-BASYS;
загрузочный кабель;
источник питания.
Области применения:
системы управления
учебные цели
системы общего назначения.
2.5. Краткое описание средств проектирования плис.
Для проектирование ПЛИС, фирма Xilinx предоставляет разработчку среду Xilinx ISE, одной из разновидностью которой является свободно распространяемая Xilinx ISE WebPACK. Последнюю версию этой программы всегда можно скачать с сайта xilinx.com, пройдя несложную процедуру регистрации. Конечно, бесплатный WebPACK несколько ограничен в возможностях, но ограничения эти касаются использования только самых больших кристаллов семейства Virtex, использование которых разработчиком повлечет денежные затраты, вполне сравнимые со стоимостью среды проектирования, обладающей полным функционалом.
Итак, что же представляет собой среда Xilinx ISE?
Xilinx ISE — это так называемая система сквозного проектирования. Что такое «система проектирования», читателю должно быть понятно, но что означает слово «сквозного»? Это означает, что данная система позволяет разработчику организовать весь процесс, от постановки задачи, до готовой реализации, используя только одну эту систему.
Процесс этот состоит из следующих этапов:
Описание функционала ПЛИС (это можно сделать как при помощи как графического редактора, так и при помощи VHDL; также можно сочетать эти два приёма)
Отладка созданной в предыдущем пункте схемы или кода.
Разводка кристалла (данный процесс выполняется автоматически встроенным в систему САПР; задача разработчика сводится к установке некоторых параметров, направляющих деятельность САПР в нужное русло).
Создание конфигурационного файла и загрузка его непосредственно в кристалл.
Этап разводки кристалла, вообще говоря представляет из себя довольно сложную задачу, причем, как для человека, так и для персонального компьютера. А дело вот в чем: количество Slice даже в простых кристаллах может быть около 1000 (960 для младшего из семейства Spartan 3E), а в сложных — в несколько раз больше. Вариантов расположения этих блоков по кристаллу огромное множество, а точнее n!, где n — количество блоков. Попробуйте взять факториал хотя бы от 100, и представьте, что на расчет одного варианта расположения уходит хотя бы милисекунда, и получите, что для расчета всех возможных вариантов уйдет столько времени, что к концу вычислений наверняка уже погаснет Солнце.
Поэтому САПР может просчитать лишь относительно небольшое число вариантов расстановки, и задача человека — помочь ей вести расчеты в нужном направлении.
Этап разводки кристалла состоит из четырёх подэтапов:
Synthesize. Здесь происходит проверка исходного кода или схемы и его «компиляция».
Translate. Здесь происходит генерация списка соединений проекта.
Map. Здесь происходит распределение элементов проекта по блокам кристалла (Slice, CLB, IOB, BRAM, умножители) без привязки к конкретным блокам кристалла.
Place and Route (PAR). Здесь происходит привязка к конкретным блокам кристалла, т.е. размещение блоков на конкретные места в кристалле (Place) и трассировка соединений между блоками (Route).
Несмотря на то, что в среде Xilinx ISE имеются встроенные средства отладки, в данном методическом пособии мы будем использовать для этой задачи среду ModelSim SE, т.к. она более удобная.
ModelSim SE представляет собой систему цифрового моделирования, т.е. позволяет строить и анализировать временные диаграммы с целью отладки проекта. Кроме того, после установки эта среда интегрируется в Xilinx ISE.