2.2.6 Компиляция проекта
Таким образом мы задались входными данными. Теперь можно начать процесс реализации данного устройства на ПЛИС фирмы Altera.
Сначала выполним компиляцию проекта. Для этого выберем на инструментальной панели пиктограмму Compiler. В компиляторе, в меню Processing нужно выбрать пункт Generate AHDL TDO File, чтобы сформировать AHDL описание. Нажав кнопку Start, запускаем компиляцию. По окончании компиляции можно видеть какие файлы были сформированы, какое семейство и конкретное устройство были выбраны автоматически. Также выводится сообщение об успешном прохождении компиляции (рисунок 2.20).
Рисунок 2.20 – Компиляция проекта
Компилятор генерирует файл отчёта (.rpt) (report file), в котором задокументирована информация о разбиении проекта, именах входных и выходных контактов, временных параметрах проектах и неиспользованных ресурсах для каждого устройства в проекте. Он также автоматически формирует файл трассировки (.fit). В нём документируются назначения ресурсов и устройств для всего проекта, а также информация о трассировке. Компилятор создаёт файл (.snf) для функционального тестирования и тестирования временных параметров в симуляторе.
2.2.7 Верификация проекта
Дальше следует заняться верификацией проекта. Для этого используем симулятор (Simulator), анализатор временных параметров (Timing Analizer) и сигнальный редактор
(Waveform Editor).
Рисунок 2.21 – Завершение временного анализа
Рисунок 2.22 – Завершение симуляции
По завершении симуляции проекта откроем файл SCF кнопкой Open SCF.
Рисунок 2.23 – Смоделированные значения выходного сигнала
Выбрав в меню File команду Create Table File можно сформировать табличный файл, содержащий результаты моделирования, с расширением .tbl, который можно просматривать в текстовом редакторе.
Сравнив параметры выходного сигнала с таблицей истинности, можно сказать, что устройство, реализованное на ПЛИС Altera семейства MAX7000 – EPM7032LC44-6, работает правильно.
По заданному булеву выражению построить таблицу истинности устройства. Построить схему, состоящую из двоичных логических элементов, в графическом редакторе Graphic Editor. В сигнальном редакторе Waveform Editor построить входные сигналы проекта. Осуществить компиляцию и симуляцию проекта на ПЛИС с созданием всех необходимых файлов. По результатам моделирования сделать вывод о правильности реализации цифрового устройства на ПЛИС.
Таблица 2.3 – Варианты заданий для самостоятельной разработки.
Номер варианта | Булево выражение |
1 | |
2 | |
3 | |
4 | |
5 |
продолжение таблицы 2.3
Номер варианта | Булево выражение |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 |
2.3 Лабораторная работа №2. Описание цифровых схемы на языке AHDL
Цель и содержание работы: В этой работе изучается процесс описания цифрового устройства на языке AHDL и создание нового элемента на базе этого описания. С помощью редактора Text Editor создаётся текстовый файл описания схемы на языке AHDL. На основе текстового файла создаётся символьный файл, который с помощью редактора Graphic Editor включается в иерархический проект. После этого выполняется трансляция проекта, формирование тестовых векторов и симуляция в последовательности, аналогичной предыдущей работе.
Язык описания аппаратуры 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.
─ Новую строку можно начинать в любом свободном месте, то есть на местах пустых строк, табуляций, пробелов. Основные конструкции языка отделяются пустым пространством.