Главная              Рефераты - Разное

«Использование сапр «max+plus II» для разработки цифровых устройств - реферат

Кафедра ИКТ

КУРСОВАЯ РАБОТА

на тему

«Использование САПР «MAX+plus II»

для разработки цифровых устройств

на ПЛИС фирмы «Альтера»»

Руководитель темы Леохин

Исполнитель Жижченко А.М.

Аннотация

САПР «MAX+plus II» представляет собой интегрированную среду для разработки цифровых устройств на базе программируемых логических интегральных схем (ПЛИС) фирмы «Альтера» («Altera») и обеспечивает выполнение всех этапов, необходимых для выпуска готовых изделий:

· создание проектов устройств;

· синтез структур и трассировку внутренних связей ПЛИС;

· подготовку данных для программирования или конфигурирования ПЛИС (компиляцию);

· верификацию проектов (функциональное моделирование и временной анализ);

программирование или конфигурирование ПЛИС.

Схема встроенного блока логических наблюдений BILBO:


В курсовой работе требуется рассмотреть 4 режима работы схемы:

  • B1 = 0, B2= 1 – сброс в ноль, т.е. все элементы памяти обнуляются;
  • B1=B2=1 – этот режим используется в системном рабочем режиме;
  • В1=0, В2=0, C = 1 – генератор псевдослучайных чисел;
  • В1=1, В2=0, С=1 – многоканальный сигнатурный анализатор.

Оглавление

Аннотация.......................................................................................................................................... 2

Оглавление......................................................................................................................................... 3

Область применения.......................................................................................................................... 4

Функциональные требования к программе.................................................................................... 5

Требования к составу и параметрам технических средств............................................................ 6

Список вопросов................................................................................................................................ 7

Этап 1: создание схемы проекта

Создание схемы проекта целесообразно начинать с размещения узлов входов и выходов и присвоения этим узлам имён. В нашем случае необходимо разместить входы Z1...Z4, входы В2...В4 и вход синхроимпульса. Выходов у нашей схемы четыре: Q1...Q4. Используем для этой цели библиотеку примитивов, которая содержит примитивы INPUT (для входов) и OUTPUT (для выходов). Каждому вводу должно быть присвоено своё имя.

Также для нашего элемента понадобятся некоторые логические элементы:

· 5 элементов 7408(элемент «И»)

· 4 элемента 7402 (элемент «ИЛИ-НЕ»)

· 6 элементв 7486 (элемент «Исключающее ИЛИ»)

Также используется 4 D-триггера 7474.

Рис. 4. Готовый проект устройства формирования сигнала записи в порт

Заметим, что предложенный вариант реализации логики устройства – не единственный и не самый лучший. Заинтересованный читатель может реализовать этот проект с использованием языка AHDL (самый предпочтительный вариант) или мегафункции LPM_OR.

Этап 2: компиляция и создание символа проекта

Следующий этап – компиляция и создание символа проекта для включения его в файл проекта верхнего уровня. Перед компиляцией можно выполнить проверку корректности введённого проекта. Проверка осуществляется через подменю «Project» (меню «File» главного меню рабочего окна) путём выбора пункта «Save&Check» или щелчком левой кнопки мыши на пиктограмме соответствующего инструмента основной панели инструментов.

Компиляция осуществляется также через подменю «Project» путём выбора пункта «Save&Compile» или опять же с помощью соответствующего инструмента основной панели инструментов.

Рис. 5. Вид окна компилятора после успешного завершения компиляции

По результатам компиляции процессор сообщений проинформирует нас о том, что для реализации данного проекта могут быть использованы ПЛИС семейства «MAX3000A», а именно ПЛИС типа «EPM 3032ALC44» (в корпусе PLCC с 44 выводами).

Создание символа проекта осуществляется через подменю «Project», в котором следует выбрать пункт «Create Default Symbol» – этот пункт становится доступным только после закрытия окна компилятора. Созданный символ будет помещён в каталог проекта. Использование созданных символов, так же как и элементов других библиотек, производится через диалоговое окно «Enter Symbol».

Этап 3

Следующий шаг – создание проекта и символа комбинационной схемы преобразования двоичного кода тетрады в сигналы управления сегментами индикатора.

Таблица 1

Перечень состояний комбинационной схемы преобразования двоичного кода тетрады

Состояния входов 1

HEХ-код

Состояния выходов 2

In3

In2

In1

In0

/a

/b

/c

/d

/e

/f

/g

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

1

1

1

0

0

1

1

1

1

0

0

1

0

2

0

0

1

0

0

1

0

0

0

1

1

3

0

0

0

0

1

1

0

0

1

0

0

4

1

0

0

1

1

0

0

0

1

0

1

5

0

1

0

0

1

0

0

0

1

1

0

6

0

1

0

0

0

0

0

0

1

1

1

7

0

0

0

1

1

1

1

1

0

0

0

8

0

0

0

0

0

0

0

1

0

0

1

9

0

0

0

0

1

0

0

1

0

1

0

A

0

0

0

1

0

0

0

1

0

1

1

B

1

1

0

0

0

0

0

1

1

0

0

C

0

1

1

0

0

0

1

1

1

0

1

D

1

0

0

0

0

1

0

1

1

1

0

E

0

1

1

0

0

0

0

1

1

1

1

F

0

1

1

1

0

0

0

1 Приведены все возможные состояния входов, соответствующие значениям двоичного кода.

2 Приведены состояния выходных сигналов управления сегментами индикатора, обеспечивающие отображение символов шестнадцатеричного кода (значения кода см. в отдельной колонке).

Для создания проекта этого устройства используем редактор временных диаграмм («Waveform Editor»). Для этого следует нажать кнопку открытия нового файла на панели инструментов, в открывшемся диалоговом окне «New» отметить пункт «Waveform Editor file», в соседнем окне выбрать расширение .WDF (расширение .SCF используется для моделирования) и нажать «ОК», после чего открывается окно редактора.

Окно редактора имеет четыре поля, разделённых вертикальными линиями. Первое поле слева («Name») предназначено для ввода имени узла, во втором поле («Type») отображается тип ввода (INPUT, OUTPUT, BIDIR), в третьем поле («Value») показаны состояния выводов, соответствующие положению специальной вертикальной визирной линии, которая при открытии окна установлена в начало горизонтальной оси, размеченной в единицах времени.

Для перемещения визира в нужное место необходимо совместить курсор с вершиной визира (при этом курсор примет крестообразную форму) и при нажатой левой кнопке мыши перетащить визир в нужное место.

Четвёртое поле предназначено для задания требуемых состояний выводов, при этом используются инструменты с панели инструментов редактора, которая расположена вертикально вдоль левой стороны окна. Активизация панели инструментов происходит только в том случае, если выделен один из узлов. Чтобы выделить узел, необходимо щёлкнуть левой кнопкой мыши на имени узла, можно также выделить любой участок вдоль горизонтальной оси, при этом границы выделяемых участков привязываются к сетке.

Параметры сетки устанавливаются следующим образом: с помощью пункта «End Time» (меню «File») задаётся максимальное значение временного интервала с указанием единиц измерения, а с помощью пункта «Grid Size» (меню «Options») – шаг сетки. В верхней части экрана расположены окна для точного отсчёта интервалов времени.

Сохраним созданный файл в каталоге \MOD_IND под именем CONV_BIN_HEX и присвоим проекту имя созданного файла (через подменю «Project» меню «File» главного меню рабочего окна, путём выбора пункта «Set Project to Current File»).

Для ввода имени узла можно использовать пункт «Insert Mode» меню «Node».

Рис. 6. Диалоговое окно пункта «Insert Mode»

В верхнее поле «Node Name» необходимо ввести имя узла, в окне «I/O Type» указать тип вывода и нажать «ОК». Кроме того, имена узлов можно вводить другим способом. Для этого необходимо щёлкнуть левой кнопкой мыши в поле «Name», при этом автоматически открывается диалоговое окно «Insert Mode».

Размещённые узлы можно редактировать, перемещать, удалять, размножать (с обязательным редактированием имени или типа, если это необходимо). Для редактирования используется то же диалоговое окно «Insert Mode». Остальные операции осуществляются аналогично тому, как это делается в графическом редакторе.

В нашем случае (см. табл. 1) необходимо задать 16 возможных состояний 4-х входов и состояния 7-ми выходов, соответствующие каждому состоянию входов. Для этого вся горизонтальная ось должна быть разбита на 16 дискрет. Например, установив значение «End Time» 160 нс, а «Grid Size» – 10 нс, получим 16 дискрет с шагом сетки 10 нс. После этого последовательно выделяем узлы и дискреты и с помощью панели инструментов задаём требуемые состояния входов и выходов.

Рис. 7. Введённый файл проекта примера

Далее компилируем файл и создаём символ этого устройства, как описано выше.

После этого в графическом редакторе создаем и компилируем файл проекта всего устройства в целом. В качестве регистра порта используем макрофункцию 74374, а в качестве остальных элементов – элемент WRITE_PORT и два элемента CONV_BIN_HEX.

Порядок открытия, создания и компиляции файла проекта верхнего уровня ничем не отличается от порядка создания и компиляции файла WRITE_PORT, который был рассмотрен выше.

Рис. 8. Схема описанного в примере проекта устройства индикации

Назначение типа ПЛИС и выводов ПЛИС

Тип ПЛИС, необходимый для реализации проекта, может быть выбран автоматически или назначен вручную. При создании файла проекта по умолчанию установлен режим автоматического выбора минимальной по объёму ПЛИС, в которой может быть реализован данный проект. При необходимости тип ПЛИС может быть назначен вручную с помощью пункта «Device» (меню «Assign» основного меню системы). После назначения устройства проект необходимо перекомпилировать.

Выводы ПЛИС также первоначально назначаются автоматически. После завершения работы над проектом необходимо закрепить или переназначить выводы ПЛИС, для того чтобы при возможной последующей доработке (отладке) проекта в составе всего изделия компилятор не мог изменить их назначение. Эта операция выполняется с помощью редактора «Floorplan Editor», который запускается либо через меню «MAX+plus II» (в основном меню), либо через панель инструментов.

Рис. 9. Окно редактора связей «Floorplan Editor» (при установленном режиме отображения текущих назначений выводов)

С левой стороны окна имеется панель инструментов, среди которых имеется две кнопки: одна из них устанавливает режим отображения результатов компиляции (...last compilation), вторая – режим отображения текущих назначений выводов (...current assignments). Напомним, что назначение кнопок панелей инструментов поясняется в строке подсказки в нижней части окна.

Для назначения или закрепления выводов необходимо мышью перетащить имена выводов, отображаемых в окне «Unassigned Nodes&Pins», на соответствующие номера выводов ПЛИС, а затем перекомпилировать проект. После этого любые изменения, вносимые во внутреннюю структуру проекта, т.е. не связанные с добавлением или удалением выводов, не будут изменять назначение выводов. Заметим, что ПЛИС семейства «MAX 7000S» (а также некоторые другие) имеют встроенную систему программирования ISP, которая использует четыре вывода: #TDI, #TDO, #TMS и #TSK. Эти выводы не должны использоваться для других целей.

Завершение работы

Все результаты работы над проектом фиксируются в файле с расширением .RPT, который представляет собой обычный текстовый файл и содержит подробное описание реализованного проекта, в том числе и описание назначения выводов, необходимое для разработки принципиальной схемы целевого устройства. Файл .RPT можно открыть через меню «File» или нажатием соответствующей кнопки на панели инструментов.

Для завершения работы над проектом необходимо провести функциональное моделирование. Для этого необходимо создать исходный файл с расширением .SCF, задать тестовые (эталонные) состояния входов, выбрать проверяемые выходы и запустить «Simulator».

Для создания исходного файла необходимо открыть новый файл, в диалоговом окне «New» отметить пункт «Waveform Editor file», установить в соседнем поле окна расширение .SCF и нажать «ОК», а затем сохранить его через меню «File» основного меню. После этого необходимо связать файл с проектом. Для этого необходимо войти в меню «Node» и выбрать пункт «Enter Nodes from SNF».

Рис . 10. Диалоговое окно «Enter Nodes from SNF»

После нажатия кнопки «List» в левой панели диалогового окна «Enter Nodes from SNF» появляется список доступных узлов («Available Nodes&Groups»), выделенный синим цветом, который необходимо перенести на правую панель («Selected Nodes&Groups»), для чего необходимо нажать кнопку со стрелкой, расположенную между панелями. После нажатия кнопки «ОК» в окне редактора появляется готовый шаблон (заготовка) для задания тестовых состояний входов.

Перед началом ввода тестовых состояний необходимо в порядке, описанном выше, задать длительность интервала моделирования и установить шаг сетки с учётом временных параметров реальных сигналов, которые будут подаваться на вход ПЛИС в целевом устройстве.

Сами тестовые состояния входов вводятся так же, как и при создании проекта (см. выше). В данном случае моделируется процесс записи двоичного кода 01010101 по адресу 10h.

Рис. 11. Фрагмент исходного файла для моделирования разработанного устройства с заданными состояниями входов

«Simulator» может быть запущен либо через меню «MAX+plus II» (в основном меню), либо через панель инструментов, при этом открывается диалоговое окно с кнопками «Start» и «Open SCF». Для начала моделирования необходимо нажать кнопку «Start», а для просмотра результатов – «Open SCF».

Рис. 12. Фрагмент файла с результатами функционального моделирования

Для определения временных соотношений используется приложение «Timing Analyzer», которое запускается так же, как «Simulator». Результаты расчёта временных задержек отображаются в виде таблицы «Delay Matrix»

Рис. 13. Фрагмент таблицы «Delay Matrix»

В заключение ещё раз подчеркнём, что рассмотренный пример является одним из самых простых и иллюстрирует только некоторые приёмы и возможности работы с САПР «MAX+plus II». Вместе с тем надеемся, что приведённый пример достаточно хорошо иллюстрирует эффективность системы «MAX+plus II» и способен стимулировать стремление заинтересованных специалистов к более глубокому изучению, освоению и использованию этого инструмента в их практической работе. Желаем творческих успехов!