- •Проектирование цифровых устройств на плис
- •Содержание
- •Список сокращений, условных обозначений и терминов
- •Введение
- •1 Обзор существующих пакетов проектирования цу на плис
- •Программные средства фирмы Xilinx
- •1.2 Моделирование цифровых устройств и разработка плис в
- •Системы разработки фирмы Altera
- •2 Система проектирования
- •2.2.2 Создание нового проекта
- •2.2.3 Проектирование цифрового устройства
- •2.2.4 Создание элемента в MegaWizard Plug-In Manager.
- •2.2.5 Создание исходных данных для проектирования устройства.
- •2.2.6 Компиляция проекта
- •2.2.7 Верификация проекта
- •2.2.8 Задание для самостоятельной разработки
- •Общие сведения о языке описания аппаратуры ahdl
- •Элементы языка ahdl
- •Управление синтезом.
- •Использование чисел и констант в языке ahdl
- •Комбинационная логика
- •Описание цифровой схемы на языке ahdl
- •Задание для самостоятельной разработки
Общие сведения о языке описания аппаратуры ahdl
Язык описания аппаратуры AHDL разработан фирмой Altera и предназначен для описания комбинационных и последовательностных логических устройств, групповых операций, цифровых автоматов (state machine) и таблиц истинности с учётом архитектурных особенностей ПЛИС фирмы Altera. Он полностью интегрируется с системой автоматизированного проектирования ПЛИС MAX+PLUS II. Файлы описания аппаратуры, написанные на языке AHDL, имеют расширение .tdf (Text design file). Для создания TDF-файла можно использовать как текстовый редактор системы MAX+PLUS II, так и любой другой. Проект, выполненный в виде TDF-файла, компилируется, отлаживается и используется для формирования файла программирования или загрузки ПЛИС фирмы Altera.
Операторы и элементы языка AHDL являются достаточно мощным и универсальным средством описания алгоритмов функционирования цифровых устройств, удобным в использовании. Язык описания аппаратуры AHDL даёт возможность создавать иерархические проекты в рамках одного этого языка или использовать TDF-файлы, разработанные на языке AHDL, наряду с другими типами файлов. Для создания проектов на AHDL можно, конечно, пользоваться любым текстовым редактором, но текстовый редактор системы MAX+PLUS II предоставляет ряд дополнительных возможностей для ввода, компиляции и отладки проектов.
Проекты, созданные на языке AHDL, легко внедряются в иерархическую структуру. Система MAX+PLUS II позволяет автоматически создать символ компонента, алгоритм функционирования которого описывается TDF файлом, и затем вставить его в файл схемного описания (GDF-файл). Подобным же образом можно вводить в любой TDF-файл собственные функции разработчика и около 300 макрофункций, разработанных фирмой Altera. Для всех функций, включённых в макробиблиотеку системы MAX+PLUS II, фирма Altera поставляет файлы с расширением .inc, которые используются в операторе включения INCLUDE.
При распределении ресурсов устройств разработчик может пользоваться командами текстового редактора или операторами языка AHDL для того, чтобы сделать назначения ресурсов и устройств. Кроме того, разработчик может только проверить синтаксис или выполнить полную компиляцию для отладки и запуска проекта. Любые ошибки автоматически обнаруживаются обработчиком сообщений и высвечиваются в окне текстового редактора. При работе с AHDL следует соблюдать так называемые “Золотые правила” (Golden Rules). Выполнение их позволит эффективно применять язык AHDL и избежать многих ошибок.
“Золотые правила AHDL”.
Несмотря на то, что язык AHDL не различает прописные и строчные буквы, Altera рекомендует для улучшения читаемости использовать прописные буквы для ключевых слов.
Не применяйте вложенные конструкции условного оператора If, если можно использовать оператор выбора Case.
Строка в TDF-файле может быть длиной до 255 символов. Однако следует стремиться к длине строки, умещающейся на экране. Строки заканчиваются нажатием клавиши Enter.
Новую строку можно начинать в любом свободном месте, то есть на местах пустых строк, табуляций, пробелов. Основные конструкции языка отделяются пустым пространством.
Ключевые слова, имена и числа должны разделяться соответствующими символами или операторами и/или одним или более пробелами.
Комментарии должны быть заключены в символы процента (%). Комментарий может включать любой символ, кроме символа %, поскольку компилятор системы MAX+PLUS II игнорирует всё, заключённое в эти символы. Комментарии не могут быть вложенными.
При соединении одного примитива с другим используйте только “разрешённые” связи между ними, не все примитивы могут соединяться друг с другом.
Используйте только макрофункции EXPDFF, EXPLATCH, NANDLTCH и NORLTCH, входящие в макробиблиотеку системы MAX+PLUS II. Не создавайте свои собственные структуры перекрёстных связей. Избегайте многократного связывания вместе EXPDFF, EXPLATCH, NANDLTCH и NORLTCH. Многочисленные примеры этих макрофункций должны всегда разделяться примитивами LCELL.
Общие “золотые правила” ввода проекта:
Если многочисленные двунаправленные или выходные выводы связаны вместе, разработчик не может использовать оператор Pin Connection для соединения выводов при функциональном моделировании с аппаратной поддержкой или функциональном тестировании.
Нет необходимости создавать прототипы функций для примитивов. Однако разработчик может переопределить примитивы в объявлениях прототипов функций для изменения порядка вызова входов в TDF файле.
Не редактируйте файл Fit. Если разработчик желает отредактировать назначения для проекта, необходимо сохранить сначала файл Fit как TDF-файл или сделать обратное назначение с помощью команды Project Back-Annotate и отредактировать их с помощью команд Chip to Device, Pin/LC/Chip и Enter Assignments.
Если разработчик хочет загрузить регистр по определённому фронту глобального тактового сигнала Clock, фирма Altera рекомендует, когда регистр загружен, использовать для управления вход Clock Enable одного из триггеров типа Enable: DFFE, TFFE, JKFFE или SRFFE.
Когда разработчик начинает работать с новым файлом проекта, сразу же необходимо задать семейство ПЛИС, на которые ориентирован проект, с помощью конструкции Family для того, чтобы в дальнейшем иметь возможность воспользоваться макрофункциями, специфичными для данного семейства. Если разработчик не задаст семейство, оно будет считаться таким же, как и в текущем проекте.
Используйте опцию Design Doctor для проверки надёжности логики проекта во время компиляции.
Предоставляемые по умолчанию фирмой Altera стили для логического синтеза имеют разные установки для разных семейств устройств, что обеспечивает более эффективное использование архитектуры каждого устройства. Когда разработчик использует какой-нибудь из этих стилей, его установки изменятся при переходе к другому семейству устройств. После смены семейства необходимо проверить новые установки стиля.
