Скачиваний:
7
Добавлен:
29.12.2022
Размер:
6.23 Mб
Скачать
    1. Компиляция проекта

  • Выбрать в главном меню "Assignments\Devise…" ("Назначения\Микросхема…"). В открывшемся окне "Devise " в списке "Familiy" ("Семейство") выбрать для нашего примера семейство микросхем MAX3000A. В расположенном ниже списке "Available devices:" ("Доступные микросхемы:") выбрать микросхему, например, EPM3032ALC44-10.

Примечание: Семейство MAX3000A относится к архитектуре CPLD, базирующейся на логических элементах "И" и "ИЛИ". Микросхема EPM3032ALC44-10 – одна из наиболее дешевых микросхем (стоимость около 1,55$) и легко устанавливаются на макетную плату. Микросхемы семейства MAX3000A хранят информации о конфигурации "загруженной" схемы во внутренней памяти EEPROM.

  • Выбрать в главном меню "Processing\StartCompilacion" ("Процессы\Запуск Компиляции").

В процессе компиляции будут присутствовать окна. Практический интерес представляют два окна:

- окно сообщений ("Message Windows"): выводит информационное сообщение на различных этапах обработки данных проекта, а также предупреждения (warnings) и сообщения об ошибках (error messages), если они имеются. Щелчок мыши по сообщению об ошибке в логике проекта вызывает выделение на схеме элемента, к котрому относится ошибка;

- информационное окно ("Quartus II") – появляется по окончании процесса компиляции: сообщает о его успешном или неудачном завершении.

После успешного завершения компиляции следует убедиться в правильном функционировании разработанного устройства, а также определить его основные временные параметры. Для этого необходимо использовать систему моделирования пакета ("Simulation"). Суть моделирования состоит в том, что на входные выводы спроектированного устройства подаются все возможные комбинации сигналов в различные промежутки времени. Эти сигналы задаются с помощью временных диаграмм ("Wavevorm"). Составляемых разработчиком в редакторе временных диаграмм ("Wavevorm Editor").

    1. Задание временных диаграмм для симулятора

  • Выбрать в главном меню "Processing\Generate Fnctional Simulation Netlist" ("Процессы\Создание Списка Цепей для Функционального Моделирования"). На этом этапе из конструкторского файла извлекается список цепей для функционального моделирования (без учета временных задержек).

  • Выбрать в главном меню "File\New" и в появившемся окне "New" активизировать закладку "Other Files " ("Прочие Файлы") и в списке файлов на этой закладке выбрать строку "Vector Waveform File". Щелкнуть по кнопке " OK" окна "New". На рабочем поле приложения поверх других окон появится окно редактора временных диаграмм с пустым файлом, именуемым "Waveworm.vwf".

  • Выбрать в главном меню "File\Save As…" и в появившемся окне "Сохранить как…", где файлу будет дано по умолчанию имя проекта (в нашем примере, magor.vmf). Нажать кнопку "Сохранить".

  • Щелкнуть правой кнопкой мыши в поле имен узлов и шин редактора временных диаграмм. Выбрать в появившемся контекстном меню строку "Insert Node or Bus…" ("Ввести Узел или Шину…"). На экране появится окно "Insert Node or Bus". Это окно позволяет ввести в файл временных диаграмм отдельный узел или шину, набрав вручную имя в верхнем поле "Name:" окна. Для входного узла остальные параметры можно оставить без изменения и щелкнуть по кнопке "OK". Однако рассмотрим более удобный способ автоматического ввода узлов и шин из числа существующих в конструкторском файле.

Для этого необходимо:

  • Не меняя параметров окна "Insert Node or Bus…" ("Ввести Узел или Шину…"), щелкнуть по кнопке справа "Node Finder…" ("Регистратор узлов…"). На экране появится окно "Node Finder". Окно Регистратор узлов обеспечивает просмотр списка всех узлов и шин, существующих в конструкторском файле проекта, а также выбор из требуемых узлов и занесение их в список для файла временных диаграмм. В окне "Node Finder…"в поле ввода "Named" ("Из имен:") оставить символ для всех возможных имен - "*". В списке "Filter" ("Фильтр") выбрать строку "Pins: all" для "фильтрации" в список входных и выходных выводов проекта .

  • Щелкнуть по кнопке "List" ("Извлечь Список"). В списке "Nodes Found:" ("Найденные узлы:") появится список всех входных узлов проекта.

Примечание: Если выделить в списке "Nodes Found:" один или несколько узлов и щелкнуть по кнопке "≥", то только выделенные узлы будут занесены в список "Selected Nodes:" ("Выбранные узлы"). Если, не выделяя узлов, щелкнуть по кнопке ">>", то все узлы из списка "Nodes Found:" будут занесены в список "Selected Nodes:" (Для выделения группы следующих друг за другом узлов необходимо щелкнуть по первому, затем щелкнуть с нажатой клавишей "Schist" по последнему из выделяемых узлов.).

Ошибочно внесенные узлы можно удалить из списка "Selected Nodes:". Щелчок по кнопке "≤" удалит выделенные в этом списке узлы; щелчок по кнопке "<<" – все внесенные узлы.

  • Не выделяя узлов, щелкнуть по кнопке ">>". Все входные узлы будут занесены в список "Selected Nodes:", где их имена предваряются именем модуля в вертикальных скобках. Щелкнуть по кнопке "OK" окна "Node Finder" и затем по кнопке "OK" окна "Insert Node or Bus". В поле "Name"

Редактируемого файла временных диаграмм появится список имен входных узлов, в поле "Value" появятся значения "В 0" (""), а в поле диаграмм – соответствующие нулевому значению диаграммы во всем временном диапазоне.

Примечание: По умолчанию в программном пакете установлен по оси времени диапазон 0 ÷ 1 us (0 ÷ 1 микросекунда). Конечное значение диапазона можно изменить, выбрав в главном меню ("Edit\End Time…") ("Редактирование\Конечное Время") и установив в появившемся окне

"End Time" в поле ввода "Time:" требуемое значение верхнего предела времени, а в расположенном справа списке – нужные единицы измерения:

- s - секунды;

- ms - миллисекунды;

- us - микросекунды;

- ns - наносекунды;

- ps - пикосекунды.

Начальное значение временного диапазона всегда равно нулю.

Следует отметить, что содержание меню "Edit" и "View", а также вертикальной линейки инструментов зависит от того, какой в данный момент редактируется файл (какое окно внутри приложения активно). Поэтому указанную выше строку "End Time…" можно в меню не найти, если случайно активизировать, например, окно с конструкторским файлом.

Для удобства редактирования диаграмм временная ось снабжена невидимой сеткой, разбивающей её на равные промежутки. Шаг (период) сетки может быть установлен разработчиком проекта. Как правило, каждому промежутку назначают свою комбинацию входных сигналов. В нашем примере требуется опробовать восемь возможных комбинаций (наборов таблицы истинности мажоритарного устройства). Поэтому целесообразно установить "круглый" шаг – 100 ns (нс), чтобы обеспечить формирование десяти клеток сетки на протяжении всей оси (напомним, диапазон всей оси времени задан 0 ÷ 1 us (мкрс). Для этого:

  • Выбрать в главном меню "View\Fit in Window" ("Вид\По размерам Окна"). Установленный временной диапазон 0 ÷ 1 us (мкрс) целиком расположится в пределах рабочего поля временных диаграмм.

Для функционального моделирования рассматриваемого устройства необходимо сформировать диаграммы сигналов х1, х2..…, х7 так, чтобы они воспроизводили комбинации значений аргументов из таблицы истинности для мажоритарного устройства на три входа (аргумента). Для этого:

  • Выделить узел х1 в редакторе временных диаграмм, щелкнув по изображению вывода или по имени х1. Выделенный узел вместе со своей диаграммой будет помечен голубым цветом. Нажать на кнопку

и сформировать временную диаграмму в соответствии с таблицей истинности.

  • Сформировать временные диаграммы для оставшихся входных узлов х2…х7 аналогично, как и для входного узла х1.

  • Сохранить файл с входными временными диаграммами, выбрав в главном меню "File\Save".