Смекни!
smekni.com

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

Кафедра ИКТ

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

на тему

«Использование САПР «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 Приведены все возможные состояния входов, соответствующие значениям двоичного кода.

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» (в основном меню), либо через панель инструментов.