В. Лобанов Проектирование в САПР MAX+PLUS IIРедакция журнала уделяет самое пристальное внимание освещению проблем, связанных с внедрением высоких технологий в отечественные разработки. Несмотря на весьма обширный объ╦м публикаций в "Chip News" по системе автоматизированного проектирования (САПР) MAX+PLUS II [1-5], интерес разработчиков к этой теме не ослабевает. Публикуемая статья освещает практическую сторону вопроса.Появление на отечественном рынке ПЛИС фирмы ALTERA и САПР MAX+PLUS II для разработки цифровых устройств на базе изделий этой фирмы совершило небольшую техническую революцию в среде инженеров-цифровиков. Сегодня специалист, не владеющий современной технологией проектирования, ставит себя в очень невыгодные условия. Автор хотел бы помочь отечественным электронщикам в освоении этого достаточно совершенного инструмента. Основной материал по элементной базе и языку описания цифровых устройств AHDL можно найти в [6,7]. САПР MAX+PLUS II предназначена для разработки цифровых устройств и предоставляет для решения этой задачи следующие инструменты:
Рассмотрим сквозное проектирование в САПР MAX+PLUS II на примере разработки упрощ╦нного ТВ-синхрогенератора. Пусть задана входная тактовая частота 4 МГц. Необходимо получить кадровый гасящий импульс (КГИ), строчный гасящий импульс (СГИ), кадровый сихроимпульс (КСИ) и строчный синхроимпульс (ССИ). Для КГИ заданы следующие характеристики: период Т = 20 мс, длительность импульса ДИ = 1,6 мс; для Т = 20 мс - ДИ = 68 мкс. КСИ должен располагаться по центру КГИ. Для СГИ Т = 64 мкс, ДИ = 12 мкс. ССИ имеет следующие параметры: Т = 64 мкс, ДИ = 4 мкс. ССИ должен быть привязан к центру КСИ. В этом простом учебном примере некоторые характеристики не соответствуют ГОСТ 7845-79, но из-за специфики задачи с этим прид╦тся смириться. Разработка любого устройства начинается с эвристического этапа. Из технического задания следует, что для получения КГИ и СГИ потребуется сч╦тчик с коэффициентом деления К = 20 мс/250 нс = = 80000. Для формирования СГИ и ССИ достаточно сч╦тчика с К = 64 мкс / 250 нс = 256. Сч╦тчики должны быть синхронными, поскольку привязка фронтов всех формируемых импульсов к тактовой частоте достаточно ж╦сткая. Кроме того необходима некоторая комбинационная схема, которая будет преобразовывать состояния сч╦тчиков в импульсы ТВ-синхронизации. В [1] уже отмечалось, что проектирование только в графическом редакторе является непрофессиональным. Даже в таком простом примере, где нет микропрограммного автомата в полном смысле этого слова [2], мы начн╦м разработку с создания текстового файла программы ks1.tdf (рис. 1) на языке AHDL. Связано это с тем, что синтезируемые логические функции достаточно громоздки, и рисовать полученную комбинационную схему весьма нудно. К тому же теряется прозрачность решения. Кстати, создавать проект только в текстовом редакторе тоже не следует по той же самой причине: теряется наглядность. Поэтому разработка любого цифрового устройства должна быть, если так можно выразиться, тексто-графической. Программа ks1.tdf принимает выходы двух синхронных сч╦тчиков Q, Y и синтезирует логические функции требуемых ТВ-синхроимпульсов. Рисунок 1. Создание файла ks1.tdf
После того, как программа ks1.tdf написана и отлажена, необходимо создать е╦ Include-файл и соответствующий ему символ библиотечного элемента, чтобы потом работать в графическом редакторе. Только в н╦м обеспечивается самое наглядное представление проекта. Создание Include-файла и символа библиотечного элемента:
Затем уже в графическом редакторе изображается вся схема проекта с использованием только что полученного библиотечного элемента (рис. 2). После трансляции и запуска симулятора были получены временные диаграммы (рис. 3), полностью соответствующие ТЗ на ТВ-синхрогенератор. По окончании отладки проекта выполняется назначение ресурсов и программирование ПЛИС (см. ниже Инструкцию по пакету MAX+PLUS II). Рисунок 2. Схема синхрогенератора При создании полной принципиальной схемы с применением ПЛИС необходимо учитывать следующие факторы. Крутизна фронта входного сигнала должна быть не более 40 нс. Это означает, что все входы требуют буферизации. В качестве такого буфера можно использовать ИС инвертора 1533ЛН1. Нагрузочная способность выходов по току весьма высока (24 мА), но емкостная нагрузка составляет 12 пФ. Приходится буферировать выходы ПЛИС. Для этой цели можно использовать 1533ЛН8 или любую другую ИС с не менее качественными параметрами. В качестве тактового генератора желательно применять ИС кварцевого генератора ГК56П. Рисунок 3. Временные диаграммы синхрогенератора В заключение привед╦м краткий информационно-справочный материал по САПР MAX+PLUS II для разработчиков, не имеющих перевода фирменных рекомендаций. Инструкция по пакету MAX+PLUS IIПрограммное обеспечение системы MAX+PLUS II содержит 11 приложений и главную управляющую программу. Различные приложения, обеспечивающие создание проекта, могут быть активизированы мгновенно, что позволяет пользователю переключаться между ними щелчком "мыши" или с помощью команд меню. В это же время может работать одно из фоновых приложений, например, компилятор, симулятор, анализатор синхронизации и программатор. Одни и те же команды разных приложений работают одинаково, что облегчает задачу разработки логического дизайна. Hierarchy Display - обзор иерархии - отображает текущую иерархическую структуру файлов в виде дерева с ветвями, представляющими собой подпроекты. Graphic Editor - графический редактор - позволяет разрабатывать схемный логический проект в формате реального отображения на экране WYSIWYG. Symbol Editor - символьный редактор - позволяет редактировать существующие символы и создавать новые. Text Editor - текстовый редактор - позволяет создавать и редактировать текстовые файлы логического дизайна, написанные на языках AHDL, VHDL, Verilog HDL. Waveform Editor - сигнальный редактор - выполняет двойную функцию: инструмент для разработки дизайна и инструмент для ввода тестовых векторов и наблюдения результатов тестирования. Floorplan Editor - поуровневый планировщик - позволяет графическими средствами делать назначения контактам устройства и ресурсов логических элементов. Compiler - компилятор - обрабатывает графические проекты. Работа с графическим редакторомВыбрав графический редактор, открываем новый файл (как в Word). Двойным щелчком в окне редактора вызваем библиотеку. На первых порах лучше работать с библиотекой mf, которая содержит стандартные элементы серии 74ХХ. Схему любого библиотечного элемента можно посмотреть, выполнив двойной щелчок на выделенном элементе. Кроме того, можно посмотреть справочник, выполнив следующие операции:
В этом справочнике имеется прототип функции для текстового редактора и таблица истинности для выбранного элемента. При работе с мегафункцией необходимо выполнить следующие операции:
Графический редактор Altera похож на редактор PaintBrush. Но многие операции имеют свои особенности. Проведение шин выполняется через команду Options/LineStyle с выбором вида соединительной линии. Обозначение шины выполняется латиницей в режиме указателя (наклонная стрелка в левом инструментальном поле), но лучше это делать в текстовом режиме, поместив маркер в тексте входа/выхода или над маркируемой линией. Например, rg[12..1], где 12 и 1 - соответственно старший и младший индексы связей. Обозначение отдельной связи в шине состоит из имени шины и е╦ индекса, например rg[1]. Линии, идущие от входов/выходов можно не обозначать, так как им автоматически присваиваются имена входов/выходов. Входы и выходы задаются с помощью примитивов, которые вызываются двойным щелчком. Они также должны быть поименованы. Точка на шине или связи ставится с помощью инструментальной линейки слева. Связи лучше проводить с помощью инструмента в виде прямого угла. С помощью примитивов можно вводить GND и VCC ("землю" и питание). Примитивы вызываются двойным щелчком левой клавиши "мыши". Вращение элемента выполняется командой Rotate, выбираемой из меню, которое появляется после щелчка правой клавишей "мыши" (контекстное меню). Проще выполнить команду вращения из опции Edit. Распечатка схем из графического редактора:
Создание библиотечного элемента:
Реализация иерархического проекта в графическом редакторе:
Работа с текстовым редакторомЭтот редактор созда╦т файлы с расширением *.tdf. Можно использовать языки AHDL и VHDL. Для просмотра include-файлов нужно щ╦лкнуть по иконке с изображением папки, выбрать директорию maxplus2max2inc при ключе All files и просмотреть файлы с расширением *.inc. Их содержимое можно увидеть в директории maxplus2 max2libmf. Чтобы увидеть содержимое function (include), нужно щ╦лкнуть по опции Templates (стр. 121, ч. 1 фирм. перевода). Создание Include-файла:
Просмотр Include-файла из стандартной библиотеки:
Просмотр Include-файла из собственной библиотеки:
Настройка на ПЛИС серии MAX7000S:
Создание комбинированного проектаРациональное проектирование связано с использованием графического и текстового редакторов одновременно. Стандартные узлы (сч╦тчики, регистры, сумматоры и т. п.) удобно создавать в графическом редакторе. Микропрограммные автоматы (МПА), произвольные логические функции, операции с условиями, циклами и так далее нужно синтезировать в текстовом редакторе. При таком проектировании экономится время, а схема получается достаточно прозрачной. Порядок решения задачи в этом случае может быть следующим:
Компиляция и отладкаПеред компиляцией в опции File/ Project задать имя проекта (имя головного файла с расширением *.gdf). Компиляция проводится либо через опцию MAX+plusII/Compiler, либо через главную инструментальную линейку. При появлении окна компилятора нужно щ╦лкнуть по клавише Start. При наличии ошибок в компилируемом файле появляются соответствующие сообщения. Выделив нужное сообщение и щ╦лкнув по кнопке Location, можно локализовать ошибку. Для отмены глобальных входов тактирования, сброса и выбора кристалла нужно в меню выбрать опцию Assign, а в ней Global Project Logic Synthesis и убрать все "галочки" в секциях Automatic Global, MAX Device Synthesis Options и других. Убедиться, что в окне Global Project Synthesis Style установлен режим NORMAL. В этом случае глобальные входы можно использовать в качестве обычных. Для определения объ╦ма проекта необходимо выполнить следующие операции:
МоделированиеОткрываем файл с расширением *.sсf, щ╦лкнув по соответствующему значку главной инструментальной линейки. Двойным щелчком вызываем меню ввода входных/выходных переменных. Для установки интервала времени моделирования нужно войти в опцию File/EndTime и выставить нужное время (us, ms, s) или масштаб (1, 10, 100, 1000). Для задания тактовой частоты нужно использовать левую инструментальную линейку (иконка с символом "С"), предварительно щелчком выделив диаграмму тактовой частоты. Для установки значений входных сигналов нужно с помощью вертикального репера установить щелчком с протаскиванием длительность сигнала, а затем и его значение с помощью иконки с символом "1" на левой инструментальной панели. Если при установке частоты не срабатывает задание шага, то щ╦лкнуть по 3-ей справа иконке на горизонтальной инструментальной линейке, а потом снова на вертикальной линейке повторить задание частоты. Для запуска пакета моделирования (симулятор) необходимо щ╦лкнуть по кнопке симулятора главной инструментальной панели. Назначение ресурсовДля указания нумерации выводов следует выполнить следующие операции:
Просмотреть результаты своей работы по распределению ресурсов можно, вызвав файл .acf, где - имя проекта. Программирование ПЛИСПосле назначения ресурсов возможно программирование ПЛИС. Программирование выполняется в следующем порядке:
Литература
|
RadikLon пишет... Мой вк radik_y2014 телефон 8-927-611-34-99 вайбер вотсап телеграм скайп kruzzor
17/03/2018 01:36:47 |
NeooSob пишет... Здесь вы можете заказать копию любого сайта под ключ, недорого и качественно, при этом не тратя свое время на различные программы и фриланс-сервисы.
11/09/2019 01:30:14 |
Антон пишет... Перезвоните мне пожалуйста 8 (495) 248-01-88 Антон. 13/10/2019 17:04:51 |
KREY44 пишет... Здравствуйте!!!
05/10/2021 12:37:08 |
KAUB80 пишет... Добрый день.
14/10/2021 18:18:46 |
ROGADO05 пишет... Всем привет!
16/10/2021 17:10:10 |
MATTEI73 пишет... Доброго утра!
16/10/2021 21:48:33 |
MCCADDEN38 пишет... Всем доброго дня.
18/10/2021 13:53:53 |
APREA67 пишет... Доброе утро!!
19/10/2021 17:29:37 |
SECOND88 пишет... Доброго вечера!!!
20/10/2021 12:19:24 |
KAMPS70 пишет... Всем здравствуйте!!!
21/10/2021 07:01:30 |
KRY94 пишет... Всем привет.
21/10/2021 15:17:59 |
PUN12 пишет... Приветствую!!
21/10/2021 19:28:16 |
LANGFORD75 пишет... Добрый вечер!
24/10/2021 01:47:33 |
STOUDMIRE34 пишет... Приветствую!!!
24/10/2021 06:30:32 |
FESTERMAN33 пишет... Доброго утра!
26/10/2021 00:21:05 |
BURRELL04 пишет... Здравствуйте!!!
03/11/2021 09:09:30 |
MICHELS49 пишет... Всем доброго дня!
08/11/2021 13:16:33 |
GLENDE21 пишет... Всем доброго дня.
10/11/2021 07:18:20 |
JURAN26 пишет... Доброе утро!!!
22/11/2021 11:46:45 |
PITSCH78 пишет... Доброго утра!!
28/11/2021 05:04:38 |
SKAAR60 пишет... Всем доброго дня!
28/11/2021 15:51:36 |
HUNTINGTON89 пишет... Добрый день!!
01/12/2021 03:04:11 |
MENOR09 пишет... Добрый день!!!
01/12/2021 20:38:43 |
BERBER38 пишет... Доброго утра.
03/12/2021 18:03:39 |
MCKINDRA33 пишет... Всем доброго дня!
06/12/2021 23:34:16 |
CARIN91 пишет... Всем доброго дня!!!
11/12/2021 22:41:51 |
CULLEN11 пишет... Добрый вечер!
19/12/2021 03:01:26 |
TADGERSON41 пишет... Всем привет!
30/12/2021 17:10:42 |
RANALLO80 пишет... Всем привет!
10/01/2022 16:35:39 |
ppu-prof_Tes пишет... Забота о недвижимости - это забота о вашем комфорте. Изоляция наружных поверхностей - это не только модный облик, но и обеспечение тепла в вашем удобном уголке. Наша бригада, наши мастера, предлагаем вам превратить ваш дом в идеальный уголок для проживания.
24/01/2024 12:48:23 |
Teplo_Dom_Tes пишет... Переутомились промерзать зимой и переплачивать за отопление?
06/02/2024 01:53:10 |
Ваш комментарий к статье | ||||