
- •1. Введение 3
- •2. Использование ahdl 13
- •3. Элементы ahdl 64
- •4. Структура проекта 83
- •1. Введение
- •1.1 Описание устройства с помощью ahdl
- •1.1.1 Как работает ahdl?
- •1.2 Структура ahdl-файла
- •1.2.1 Разделы ahdl-файла
- •1.2.2 Иерархические проекты
- •1.2.3 Подключение библиотек
- •1.3.1 Шаблоны и примеры ahdl
- •1.3.2 Контекстно-зависимая помощь
- •1.3.3 Выделение цветом групп символов
- •1.3.4 Локализация ошибок
- •1.4 Компиляция ahdl-проектов
- •1.5 Советы
- •2. Использование ahdl
- •2.1 Введение
- •2.1.1 Использование чисел
- •2.1.2 Использование констант и вычисленных функций
- •2.1.3 Вставка ahdl-шаблона
- •2.1.4 Примеры ahdl
- •2.2 Комбинационные устройства
- •2.2.1 Описание комбинационных устройств с помощью логических уравнений
- •2.2.2 Объявление узлов
- •2.2.3 Описание групп
- •2.2.4 Использование операторов ветвления
- •Использование оператора if…then
- •Использование оператора case
- •Сравнение операторов if…then и case
- •2.2.5 Создание декодеров
- •2.2.6 Использование значений «по умолчанию» для переменных
- •2.2.7 Описание активно-низкой логики
- •2.2.8 Двунаправленные выводы
- •2.2.9 Описание тристабильных выводов
- •2.3 Устройства с памятью
- •2.3.1 Использование регистров
- •2.3.2Определение регистровых входов
- •2.3.3 Создание счетчиков
- •2.4 Графы переходов
- •2.4.1 Описание графа переходов
- •2.4.2 Назначение автомату сигналов синхронизации, сброса, разрешения по входу
- •2.4.3 Кодирование состояний автомата
- •2.4.4 Описание автомата Мура (Moore machine)
- •2.4.5 Описание автомата Мили (Mealy machine)
- •2.5 Создание иерархического проекта
- •2.5.1 Использование не параметризированных функций
- •2.5.2 Использование параметризированных функций
- •2.5.3 Создание и использование макрофункций
- •2.5.4 Экспорт и импорт графов переходов автоматов
- •2.6 ИспользованиеLcell иSofTпримитивов
- •2.8 Перегрузка имени оператора
- •2.9 Использование циклически генерируемой логики
- •2.10 Использование условно генерируемой логики
- •3. Элементыahdl
- •3.1 Ключевые слова и идентификаторы
- •3.1.1 Ключевые слова
- •3.1.2 Зарезервированные идентификаторы
- •3.2 Символы
- •3.3 Имена вAhdl, использование кавычек
- •3.4 Группы
- •3.4.1 Способы объявления и записи групп
- •3.4.2 Размеры групп и подгрупп
- •3.5 Числа вAhdl
- •3.6 Арифметические выражения
- •3.7 Логические выражения
- •3.7.1 Логические операторы
- •3.7.2 Использование оператораNot
- •3.7.3 Использование операторовAnd, nand, or, nor, xor, xnor
- •3.7.4 Использование арифметических операторов в логических выражениях
- •3.7.5 Операторы сравнения
- •3.7.6 Приоритеты логических операторов и операторов сравнения
- •3.8 Мегафункции
- •3.9 Порты
- •3.9.1 Порты файла
- •3.9.2 Использование портов
- •4. Структура проекта
- •4.1 Введение
- •4.2 Заголовок (Title Statement)
- •4.2 Раздел объявления параметров (Parameters Statement)
1.2.2 Иерархические проекты
Проект какого-либо устройства разрабатываемого с помощью САПР MAX+PLUS II может состоять из множества подпроектов, хранящихся в различных файлах (см. рис. 1.1) и описывающих некоторую составную часть более сложного проекта, таким образом, достигается иерархия разработок. Каждый такой файл (подпроект) подключается к проекту более высокого уровня при помощи своих входов и выходов.
1.2.3 Подключение библиотек
Библиотека – текстовый файл (с расширением .inc), подключаемый к проекту, при помощи директивы «include “имя файла”» AHDL. При компиляции эта директива («include “имя файла”») будет заменена содержимым подключаемой библиотеки. Библиотечный файл может содержать следующие разделы: раздел определения прототипов функций, раздел определения констант, раздел определения параметров.
Если вы разрабатываете какую-либо часть главного проекта, используя графический редактор или текстовый редактор, вы можете автоматически создать библиотечный файл данного подпроекта выбрав Create Default Include File в менюFile. Вы также можете вручную создавать подключаемый файл.
Более
подробную информацию по этому вопросу
вы можете получить, прочитав раздел
«Creating a Default Include File» помощи
поMAX+PLUS II.
1.3 Текстовый редактор MAX+PLUS II
AHDL-проект (расширение .tdf) может быть разработан с использованием текстового редактора САПР MAX+PLUS II или любого другого текстового редактора. Встроенный редактор MAX+PLUS II позволяет использовать при разработке проектов следующие особенности, присущие только ему:
Контекстно-зависимую помощь
Множество примеров и шаблонов
Выделение цветом групп символов
Позиционирование курсора на выражении, содержащем ошибку
Более
подробную информацию по этому вопросу
вы можете получить, прочитав раздел
«MAX+PLUS II Text Editor» помощи поMAX+PLUS II.
1.3.1 Шаблоны и примеры ahdl
В состав MAX+PLUS II входит множество примеров и шаблонов, позволяющих облегчить разработку вашего устройства.
Шаблоны AHDL (AHDL Templates) – вы можете вставить AHDL-шаблон в ваш проект и затем вместо заменителей вписать необходимые имена переменных и идентификаторов.
Примеры (AHDL Examples) – в состав MAX+PLUS II входит множество примеров, которые могут быть использованы для иллюстрации возможностей языка.
Для получения более подробной информации см. следующие разделы:
Вставка AHDL-шаблона
Примеры AHDL
1.3.2 Контекстно-зависимая помощь
Из текстового редактора MAX+PLUS II можно получить контекстно-зависимую помощь по всем зарезервированным словам, операторам, примитивам, мега и макрофункциям, поддерживаемым языком.
1.3.3 Выделение цветом групп символов
Текстовый редактор MAX+PLUS II позволяет показывать элементы проекта различными цветами, что повышает читабельность исходного текста.
Для включения и отключения вышеописанной возможности необходимо проделать следующее:
Выберите Syntax Coloring из менюOptions
Для присвоения цвет определенной группе символов выберите Color Palette из менюOptions.
Более
подробную информацию по этому вопросу
вы можете получить, прочитав разделы
«Using Syntax Coloring in Text Files» и
«Changing Colors in MAX+PLUS II» помощи
поMAX+PLUS II.