6.Рисовать схемы (работу в редакторе рассмотрим ниже) встроенных блоков, опираясь на средства графического редактора, соответствующие построенным функциональным схемам блоков. При составлении схем использовать стандартные компоненты.
7.Сохранить созданную схему блока – File/ Save
8.Создать символ– File/ “Create/Update” / Create Symbol File.
9.Рисовать схему блока верхнего уровня иерархии, опираясь на средства графического (схемного) редактора, соответствующие функциональной схеме узла. При составлении схем использовать стандартные компоненты и созданные символы фрагментов нижнего уровня.
10.Сохранить схему – File / Save.
11.Компилировать проект (Processing/Start Compilation), опираясь на данные о ПЛИС – Processing/Start Compilation.
12.Оценить затраты на реализацию проекта Processing / Compilation Report.
13.Просмотреть RTL вид проекта и его топологическую реализацию – Tools / RTL View и Tools / Technology Map View соответственно.
3,2. Работа в схемном редакторе
Помимо традиционных средств работы с файлами, иконки которых расположены сверху рабочего поля, работа в редакторе базируется на использовании рабочих инструментов, иконки вызова которых расположены слева от рабочего поля. Назначение инструментов традиционно:
•вызов символов схемы (Symbol Tools) и символов блоков (Block Symbol); рисование соединений символов проводами (Node Tool), шинами
(Bus Tool), кондуитами (Conduit Tool);
•средства корректировки схем: перемещение (Selection Tool), использование резиновой нити (Use Rubber-Banding), при котором провод ведется непрерывно от выбранной начальной точки до конечной, или использование средств частичного выбора линий (Use Partial Line Selection);
•управление масштабом (Zoom Tool);
•переход к полному экрану (Full Screen);
16
•управление внешним или внутренним расположением окна редактора
(Attach\Detach Window);
•инструменты традиционной графики.
Для графического редактора Quartus приняты следующие правила работы с шинами. Для любых действий шины и их фрагменты (включая одиночные линии) должны быть поименованы (например, address[7..0], address[3..0], address6, address[4]) . Для задания имен курсором выбирается шина или линия (выбранный элемент изменит цвет), далее набирается и вводится по Enter имя фрагмента. Имя будет закреплено за данным соединением и может перемещаться для удобства чтения. Места подключения фрагментов автоматически обозначаются точками.
3. 3. Работа в редакторе конечных автоматов
Работа в редакторе конечных автоматов выполняется в основном окне редактора при помощи инструментов, расположенных в окне инструментов. Задача редактора в интерактивном режиме разместить в основном окне символы состояний с их названиям и дуги переходов из состояния в состояние с указанием логического условия перехода. Кроме того рабочие инструменты позволяют добавлять входные и выходные сигналы автомата в окнах Input Table и Output Table соответственно. Требуемые значения выходных сигналов могут устанавливаться различными способами. Один из вариантов заключается в записи имен выходных сигналов и соответствующих значений в всплывающем окне State Properties\Actions, появляющемся после двойного щелчка на выбранном символе состояния автомата.
Запись логических выражений, соответствующих условиям перехода из состояния в состояние осуществляется по правилам языка Си (символ операции логического присвоения ==, логические операции &, |, ^). Набор логических выражений для каждого перехода (включая переход на исходное состояние) должен быть полным (включать все входные сигналы, обеспечивающие переходы).
3.4. Процесс моделирования работы узлов средствами пакета Quartus II
Разработанные узлы очень редко оказываются функционирующими в полном соответствии с техническим заданием на проект. Опыт показывает, что некоторые погрешности обнаруживаются даже после нескольких лет практического использования проекта. Основная задача проектировщика со-
17
стоит в уменьшении вероятности проникновения погрешностей в окончательный проект. Существенную роль в решении этой задачи играют САПР.
Программные пакеты автоматизируют процесс создания временных диаграмм, соответствующих воздействию на программную модель проекта тестовых воздействий. Различают функциональные и временные программные модели. Первый тип предполагает нулевые задержки элементов, второй
— задержки, определяемые выбранной элементной базой. Функциональное моделирование обычно применяется на начальных этапах проектирования, когда важно убедиться в правильности работы проекта. Затем переходят к моделированию с учетом задержек элементов.
В рассматриваемой САПР Quartus II построение требуемой временной диаграммы выходных сигналов выполняется при последовательном выполнении двух программных пакетов. При помощи встроенного в САПР редактора временных диаграмм (Waveform Editor) вначале создается шаблон будущей диаграммы (MAX+PLUS II\ Waveform Editor). В шаблоне задается длина диаграммы, шаг диаграммы, перечень входных и выходных сигналов, планируемое поведение входных сигналов. На следующем этапе необходимо запустить программу моделировщика (Processing\Start Simulation). После успешного завершения работы симулятора можно вернуться в редактор временных диаграмм, чтобы посмотреть поведение выходных сигналов проекта.
Рекомендуемый порядок работы в редакторе временных диаграмм приведен ниже. Наиболее проблематичной является отказ системы моделирования подготавливать выходные данные для некоторых промежуточных сигналов схем (сообщения и предупреждения системы недостаточно четко определяют причину отказа). Кардинальным методом борьбы с такой проблемой является вывод таких сигналов на выходные контакты. Конечно, подобный вывод сигналов (и требуемая последующая компиляция) обычно приводит к некоторому изменению схемы и некоторых её параметров, чаще всего после определения работоспособности интересующего фрагмента схемы введенные дополнительные контакты могут быть убраны.
3.5. Работа в редакторе временных диаграмм
Временные диаграммы создаются в редакторе временных диаграмм
(File/New/Verificaction\Debugging Files/Vector Waveform File). После этих действий появляется окно редактора. Обычно в начале работы с редактором задается общее время моделирования (Edit/End Time) и шаг временной сетки
18
(Edit/Grid Size). Для получения доступа к данным проекта целесообразно сразу выполнить команду File/Save при этом в выпадающем окне выбрать рекомендуемое имя файла. В окне редактора изменяется имя файла *.vwf.
Следующий шаг заключается в выборе входных и выходных сигналов проекта, предназначенных для отображения во временной диаграмме. После щелчка в поле Name в выпадающем окне Insert Node or Bus выбрать Node Finder и далее для окна Filter выбрать интересующий тип сигналов (Pin, Registers: pre-synthesis, …). После нажатия клавиши List выбирать в списке окна Nodes Foundes интересующие сигналы и пересылать их в окно Selected Nodes. Завершаются действия выбора сигналов традиционно последовательным нажатием клавиши OK.
Последующая работа связана с формированием требуемой последовательности входных данных (для выходных данных аналогичными действиями можно определить ожидаемые значения). Для формирования значений используется интерактивный режим работы в окне временной диаграммы с применением рабочих инструментов, расположенных слева от рабочего поля. Выделяя требуемый диапазон задания сигнала (группы сигналов), а затем и инструмент, соответствующий желаемому значения сигнала, можно строить желаемую временную диаграмму.
3.6. Оценка временных характеристик разработки.
САПР позволяет автоматизировать расчет различных временных характеристик проекта при помощи специального пакета – Processing/ Classic Timing Analyzer Tool.
Анализатор позволяет определить три типа временных характеристик: допустимую скорость изменения тактовых сигналов (Registered Performance), задержку выбранных фрагментов комбинационных схем (Custom Delays) и различные временные характеристики (tpd – время требуемое для прохождения сигнала от входного контакта через комбинационную логику до выходного, tsu – время предустановки входного сигнала для триггерных схем, tco – максимальное время требующееся для получения устойчивого сигнала на выходном контакте, th – время предустановки входных данных триггера).
4. Задания
Шифр задания состоит из пяти разделенных точками цифр (четыре десятичных и одна шестнадцатиричная), например 1.2.1.2. 80h.
19
Первая цифра указывает номер задания, вторая — вариант (для каждого задания предусмотрены несколько вариантов, в которых тип проектируемого узла сохраняется, а конкретные данные проекта варьируются), третья цифра обозначает заданное для реализации проекта семейство ПЛИС, четвертая определяет критерий качества, используемый для сравнения предлагаемых вариантов построения узла. Числа пятой позиции определяют начальный адрес зоны адресов, отведенной для адресации регистров устройства.
Таким образом, шифр задания имеет структуру:
Номер |
Номер |
Семейство |
Критерий |
Начало зо- |
задания |
варианта |
ПЛИС |
качества |
ны адресов |
|
|
|
|
|
Числа третьей позиции задают критерий качества схемы в виде: 1 — А (минимум аппаратурных затрат на реализацию узла);
2— АТ (произведение аппаратурных затрат на время получения результата или на период синхроимпульсов, тактирующих работу узла);
Варианты заданий
1. Многорежимный формирователь импульсных последовательностей
Разработать принципиальную электрическую схему устройства, формирующего заданные последовательности импульсов. Входные сигналы поступают от генератора ГТИ (генератор разрабатывается). Выходные последовательности цикличны. Длина цикла N периодов тактирующих импульсов, на выходе должны формироваться импульсы с указанными в задании номерами и заданной скважностью θ = Т/tИ.
Код, задающий режим работы схемы, а также сигналы ее пуска и останова поступают из управляющего устройства (процессора). Формирователь рассматривается как внешнее устройство процессорной системы, восьмиразрядные адреса его регистров расположены в адресном пространстве, содержащем 256 адресов. Начальный адрес зоны адресов указан в задании.
Варианты задания приведены в табл. 1
Таблица 1
Ва |
N |
Номера импульсов, проходящих на выход формирователя |
Нача |
θ |
|
|
|
|
|
20