Методические указания к практическим (лабораторным) работам Екатеринбург 2003 icon

Методические указания к практическим (лабораторным) работам Екатеринбург 2003



Смотрите также:
Методические указания по лабораторным работам Факультет: электроэнергетический...
Методические указания к лабораторным работам По дисциплине...
Методические указания к лабораторным работам По дисциплине...
Методические указания к лабораторным работам санкт-петербург...
Методические указания к лабораторным работам для студентов второго курса специальности 101600...
Методические указания к лабораторным работам «спектральный анализ»...
Методические указания к лабораторным работам по курсу «Электротехника и электроника» для...
Методические указания к лабораторным работам №1,2,3...
Методические указания к лабораторным работам №1,2...
Методические указания к лабораторным работам по курсу "Базы данных" Москва...
Методические указания к лабораторным работам Чебоксары 2006...
Методические указания к лабораторным работам по курсу «Основы оптики»...



страницы:   1   2   3
скачать
Министерство образования Российской Федерации


ПРОЕКТИРОВАНИЕ ЦИФРОВЫХ УСТРОЙСТВ НА ПЛИС


Методические указания к практическим (лабораторным) работам


Екатеринбург 2003


Содержание


Список сокращений, условных обозначений и терминов

Введение

  1. Обзор существующих пакетов проектирования ЦУ на ПЛИС

    1. Программные средства фирмы Xilinx

    2. Моделирование цифровых устройств и разработка ПЛИС в системе OrCAD

    3. Системы разработки фирмы Altera

  2. Система проектирования цифровых устройств на ПЛИС MAX+PLUS II

    1. Описание основных функций и принципов работы с САПР MAX+PLUS II

    2. Лабораторная работа №1. Графический ввод схемы устройства и функциональная симуляция с использованием САПР MAX+PLUS II

      1. Запуск системы MAX+PLUS II

      2. Создание нового проекта

      3. Проектирование цифрового устройства

      4. Создание элемента в MegaWizard Plug-In Manager

      5. Создание исходных данных для проектирования устройства

      6. Компиляция проекта

      7. Верификация проекта

      8. Задание для самостоятельной разработки

    3. Лабораторная работа №2. Описание цифровых схем на языке AHDL

      1. Общие сведения о языке описания аппаратуры AHDL

      2. Элементы языка AHDL

      3. Управление синтезом

      4. Использование чисел и констант в языке AHDL

      5. Комбинационная логика

      6. Описание цифровой схемы на языке AHDL

      7. Задание для самостоятельной разработки


Список сокращений, условных обозначений и терминов


MAX+plus – Multiple Array MatriX Programmable Logic User System (Пользовательская система программирования логики упорядоченных структур)

AHDL – Altera Hardware Description Language (Язык описания аппаратуры Altera)

VHDL – Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (язык описания аппаратуры сверхвысокоскоростных интегральных схем)

ПЛИС – программируемая логическая интегральная схема

ПЗУ – постоянное запоминающее устройство

ОЗУ – оперативное запоминающее устройство

ДОС – дисковая операционная система


Введение

Прогресс микроэлектроники привёл к созданию программируемых пользователем логических интегральных схем (ПЛИС) с очень высокой степенью интеграции, применение которых, совместно с использованием современных микропроцессоров и микроконтроллеров, позволяет в короткие сроки выполнить разработку и начать производство электронной аппаратуры нового поколения.

Развитие ПЛИС существенно изменило задачи и возможности проектировщиков цифровой аппаратуры. Проектирование сложных цифровых устройств на классической базе — наборе простейших вентилей и триггеров, сохранилось только при реализации изделий в виде заказных микросхем, изготавливаемых на основе базовых матричных кристаллов или создаваемых из стандартных ячеек. Разработка таких устройств выполняется с помощью дорогостоящих систем автоматизированного проектирования (САПР СБИС), применение которых обеспечивает эффект в случае создания высокосложных изделий массового применения — микропроцессоров, микроконтроллеров, стандартных интерфейсных устройств и узлов телекоммуникационного оборудования. Для большинства электронных изделий малой и средней серийности наиболее перспективной является их реализация на базе ПЛИС, которые освободили проектировщиков от необходимости сборки разрабатываемых устройств из отдельных микросхем малой и средней степени интеграции (монтаж из “россыпи”). Можно с уверенностью сказать, что эффективное использование ПЛИС при разработке широкой номенклатуры цифровых устройств является непременным условием для достижения успеха в создании современной электронной аппаратуры.

Применение ПЛИС требует новых знаний и навыков от специалистов промышленности, а следовательно, и от преподавателей технических университетов и студентов. Новой становится технология проектирования цифровых устройств, центральное место в ней занимает описание проекта на языках высокого уровня типа HDL (Hardware Description Language), например, AHDL, VHDL и VerilogHDL. Процесс проектирования стал замкнутым в рамках одного класса инструментальных средств, поскольку появилась возможность исследовать проект с использованием редактора конфигурации микросхемы, функционального симулятора и временного анализатора.

Одним из наиболее известных производителей ПЛИС является фирма Altera. В качестве средства автоматизации проектирования устройств на основе собственных

микросхем фирма Altera разработала систему MAX+plusII. Её продукция стала одним из стандартов “де-факто”, отличающимся высоким уровнем при невысокой цене микросхем ПЛИС и скромных требованиях к инструментальному компьютеру (достаточно PC типа 486-DX4 с оперативной памятью от 16 Мбайт).


^ 1 Обзор существующих пакетов проектирования ЦУ на ПЛИС


    1. Программные средства фирмы Xilinx


Компания XILINX начала выпуск программируемых вентильных матриц Field Programmable Gate Arrays (FPGA), с возможностью конфигурирования через Internet непосредственно в системе. Архитектура, названная, Internet Reconfigurable Logic (IRL), позволяет при необходимости дистанционно менять конфигурацию и принцип действия пользовательских сетевых устройств.

В основе архитектуры лежит подход, дающий возможность загружать прикладные программы на основе языка Java и с их помощью воздействовать на аппаратные средства. В результате, логическая схема сетевого оборудования, реализованного на вентильных матрицах компании XILINX, известных как Virtex, может быть неоднократно изменена для обеспечения новых функций локальных и глобальных сетей.

Считается, что технологии IRL станут базисом для построения продуктов, которые будут иметь возможность удалённого обновления не только программного, но и аппаратного обеспечения на стороне клиента.

Можно отметить, что компания XILINX уже получила большое признание за счёт применения идеи реконфигурирования логических схем на базе программируемых вентильных матриц в автономных изделиях, таких как оборудование для микширования и монтажа цифрового звука, а также в некоторых сетевых устройствах, таких как маршрутизаторы. Сейчас компания прилагает усилия, чтобы победить в борьбе за применение концепции удалённого реконфигурирования для принципиально разных приложений, например, для систем кабельного и сетевого телевидения, персональных и сетевых компьютеров, мобильных телефонов и видеофонов, интегрированных систем безопасности и систем управления производственными процессами, так как рано или поздно все они будут объединены в сети различной степени интеграции, в том числе и Internet.

В целях получения дополнительного содействия фирма XILINX заключила договоры о партнёрстве с компаниями SUN MICROSYSTEMS, SIEMENS AG, с разработчиком систем электронного проектирования (EDA) SYNPLICITY (Саннивейл, штат Калифорния), поставщиком перепрограммируемых плат ANNAPOLIS MICROSYSTEMS (Аннаполис, штат Мэриленд), а также заручилась поддержкой IBM и COMPAQ.

По мнению представителей компании XILINX, для разработки продуктов на основе архитектуры IRL необходимо применение и развитие трёх современных технологий: всеохватывающего объединения в сети, языка Java и частично переконфигурируемых матриц Virtex. Архитектура Virtex уже сейчас позволяет разрабатывать устройства с количеством вентилей до миллиона и может включать в себя аппаратную реализацию интерпретатора Java–программ Java Virtual Machine.

Компания XILINX представляет два новых инструментальных пакета для проектирования систем по технологии IRL. Пакет JBits предназначен для создания специальных аплетов на языке Java, которые могли бы использоваться для модификации аппаратных средств компьютера через Internet. Другой пакет ChipScope представляет собой платформонезависимый интерактивный отладчик, реализованный на языке Java и дающий возможность разработчикам проверять функционирование схем на базе FPGA компании XILINX через канал Internet.

Пакет JBits представляет собой набор программных средств на основе языка Java, позволяющий разработчикам записывать информацию непосредственно в FPGA производства XILINX. JBits передаёт в FPGA последовательные данные, которые частично или полностью видоизменяют логическую схему устройства, реализованную на базе вентильных матриц. Кроме того, пакет JBits имеет возможность формирования синхроимпульсов и, тем самым, обеспечивает интеграцию программируемых матриц Virtex с другими цифровыми устройствами, такими как встраиваемые микропроцессоры или периферийное оборудование. Аплеты JBits используют интерфейс прикладного программирования Java для системы Boundary Scan компании XILINX.

Второй пакет, предлагаемый компанией XILINX, ChipScope позволяет отслеживать внутреннее состояние системы из нескольких матриц FPGA, контролировать форму и уровни сигналов, а также состояние многоразрядных шин данных. Пакет может использоваться для удалённой отладки оборудования систем IRL или для соразработки автономных систем или отдельных кристаллов через Internet различными рабочими группами.

Продукты JBits и ChipScope представляют собой новые системы электронного проектирования, развивающиеся в рамках инициативы Silicon Xpresso компании XILINX.

^ 1.2 Моделирование цифровых устройств и разработка ПЛИС в

системе OrCAD


В версиях OrCAD 7.x в модель OrCAD Express входил редактор проектов Capture и программы синтеза ПЛИС и моделирования цифровых устройств. Начиная с версии OrCAD 9.0 модуль OrCAD Capture поставляется отдельно, обеспечивая создание всех типов проектов с помощью принципиальных схем и/или текстового VHDL-описания. Команды синтеза ПЛИС вызываются из менеджера проектов модуля OrCAD Capture. Программа моделирования цифровых устройств реализована в виде программы Simulate.exe.

ПЛИС типа CPLD и FPGA фирм Actel, Altera, Lattice, Lucent, Philips, Vantis, Xilinx и др. (таблица 1) синтезируется с помощью соответствующих программ типа MAX + Plus фирм, производящих ПЛИС, которые не входят в состав OrCAD Express и поставляются отдельно. С помощью OrCAD Capture можно лишь составить схемное или текстовое описание проекта (с помощью библиотек *.olb, *.vhd), а с помощью OrCAD Express выполняется лишь подготовка к синтезу ПЛИС и производится обмен данными со специализированными программами синтеза.

Самостоятельно с помощью OrCAD Express выполняется синтез лишь простых ПЛИС (Simple PLD, SPLD). По терминологии OrCAD Express к простым относятся ПЛИС типа EP1800, EP180C, EP1830, EP310, EP910C, GAL16V8, PAL10H8,PAL20x8C, PEEL22CV10z, PHD48N22, PROM8KB8.

Существуют две версии программы: OrCAD Express Plus и OrCAD Express.

Версия OrCAD Express Plus по сравнению с OrCAD Express обеспечивает возможность синтеза ПЛИС с учётом временных ограничений (timing-driven synthesis option) и имеет более широкую номенклатуру ПЛИС (ORCA 3C фирмы Lucent Semiconductor и Xilinx SPARTAN фирмы Xilinx). Кроме того, Express Plus обеспечивает дополнительные возможности синтеза ПЛИС (Register Transfer Level, RTL), используемых при синтезе сложных FPGA, содержащих более 100 тысяч вентилей.

Компиляция описания ПЛИС в OrCAD состоит из двух процессов: синтеза и оптимизации.

Процедура логического синтеза заключается в составлении списка соединений проекта на основании составленной принципиальной схемы и VHDL-описаний. Этот список соединений затем передаётся в программы размещения и трассировки кристалла ПЛИС. Процедура оптимизации заключается в преобразовании списка соединений для

упрощения его физической реализации в виде ПЛИС выбранного типа с учётом ряда ограничений, задаваемых пользователем.


Таблица 1.1 – Перечень ПЛИС

Семейство ПЛИС

Фирма-производитель

Название пакета программ для разработки ПЛИС

1

2
3

ACT1

Actel
Actel Designer Series

ACT2

ACT3

1200XL

3200DX

40MX

42MX

54SX

MAX5

Altera

MAX+Plus II

MAX7

MAX9

FLEX6

FLEX8

FLEX10

ispLSI

Lattice

Lattice pDS+

ORCA2 или 2A

Lucent

Lucent ORCA Foundry

ORCA 3C/3T

XPLA

Philips

Philips XPLA

MACH

Vantis

Vantis MACH-XL

Продолжение таблицы 1.1

1

2

3

XC3x00A/L

Xilinx M1

XACTStep Series

XC4000E

XC4000EX

XC4000XL

XC5200

XC9500

Spartan

SpartanXL

Virtex

XC3000

Xilinx-XACT5

XACTStep Series

XC4000

XC4000E

XC5200

XC7200

XC7300

XC900

GAL/PAL/PROM

Простые ПЛИС

OrCAD Express


При оптимизации уравнений проекта стараются обеспечить достижение экстремумов двух целевых функций: уменьшение геометрических размеров кристалла и повышение его быстродействия. Оптимизация сложных ПЛИС производится с помощью программы Leonardo Spectrum фирмы Exemplar Logic, оптимизация простых ПЛИС выполняется с помощью модуля OrCAD Express. Для уменьшения количества вариантов реализации ПЛИС при выполнении процедуры оптимизации проекта принимаются во внимание требования, задаваемые пользователем.


    1. ^ Системы разработки фирмы Altera


До последнего времени MAX+PLUS II являлась единственной системой проектирования устройств на ПЛИС Altera. Только в 1999 году появилась система проектирования нового поколения Quartus, предназначенная для разработки устройств на ПЛИС APEX20K. Программное обеспечение системы MAX+PLUS II, представляющее собой единое целое, обеспечивает управление пользователя средой логического проектирования и помогает достичь максимальной эффективности и производительности. Все пакеты работают как на платформе IBM PC, так и на платформах SUN, IBM RISC/6000 и HP9000.

Система MAX+PLUS II предлагает полный спектр возможностей логического дизайна: разнообразные средства описания проектов с иерархической структурой, мощный логический синтез, компиляцию с заданными временными параметрами, разделение на части, функциональное и временное тестирование (симуляцию), тестирование нескольких связанных устройств, анализ временных параметров системы, автоматическую локализацию ошибок, а также программирование и верификацию устройств. В системе MAX+PLUS II можно как читать, так и записывать файлы на языке AHDL и файлы трассировки в формате EDIF, файлы на языках описания аппаратуры Verilog HDL и VHDL, а также схемные файлы OrCAD.


Таблица 1.2 – Основные характеристики пакета MAX+PLUS II

BASELINE ver.9.6

Функции


Характеристики

1


2
^

Поддерживаемые устройства


EPF10K10, EPF10K10A, EPF10K20, EPF10K30, EPF10K30A, EPF10K30E, (до 30000 эквивалентных вентилей), EPM9320, EPM9320A, EPF8452A, EPF8282A, MAX7000, FLEX6000, MAX5000, MAX3000A, Classic
^

Средства описания проекта


Схемный ввод, поддержка AHDL, средства интерфейса с САПР третьих фирм, топологический редактор, иерархическая структура проекта, наличие библиотеки параметризируемых модулей
^

Средства компиляции проекта


Логический синтез и трассировка, автоматическое обнаружение ошибок, поддержка мегафункций, по программам MegaCore и AMPP

продолжение таблицы 1.2

1


2
^

Средства верификации проекта


Временной анализ, функциональное и временное моделирование, анализ сигналов, возможность использования программ моделирования (симуляторов) третьих фирм


Кроме того, система MAX+PLUS II читает файлы трассировки, созданные с помощью программного обеспечения XILINX, и записывает файлы задержек в формате SDF для удобства взаимодействия с пакетами, работающими с другими промышленными стандартами.

Увеличение логической ёмкости ПЛИС и появление новой идеологии проектирования систем-на-кристалле (System-on-Chip) привели к тому, что ведущие производители ПЛИС вместе с выпуском на рынок собственно кристаллов с эквивалентной ёмкостью более 500 000 вентилей существенно обновили программное обеспечение, предоставив разработчику возможность использовать все преимущества новых БИС.

В середине 1999 года на рынок вышел САПР 4-го поколения фирмы Altera – система Quartus. Отличительные свойства данного пакета:

  • интеграция с программным обеспечением третьих фирм (Advanced Tools Integration). В рамках программы Native Link обеспечена совместимость с САПР ведущих производителей программного обеспечения. Поддерживаются стандарты EDIF, SDF, Vital 95, VHDL 1987 и 1993, Verilog HDL;

  • возможность коллективной работы над проектом (Workgroup Computing);

  • возможность анализа сигналов “внутри” ПЛИС с использованием функции Signal Tap;

  • интеграционная компиляция проекта, позволяющая не изменять уже отлаженные участки проекта (nSTEP Compiler);

  • улучшенные средства синтеза в архитектуре APEX (CoreSyn);

  • многоплатформенность (Win NT, SUN, HP);

  • полная интеграция системы;

  • разнообразие средств описания проекта;

  • поддержка языков описания аппаратуры;

  • Internet поддержка;

поддержка мегафункций MegaCore.

В дополнение к уже привычным редакторам, используемым в пакете MAX+PLUS II, введён редактор блоков (Block Editor), позволяющий упростить графическое описание проекта, используя механизм параметризируемых блоков. Поуровневый планировщик (FloorPlan Editor), имеет возможность распределять ресурсы как внутри логических блоков, так и по мегаблокам.

Новым средством, облегчающим работу над иерархическим проектом является навигатор проекта (Project Navigator), позволяющий легко ориентироваться во всех файлах проекта.

Улучшены возможности синтеза с заданными временными параметрами (Time driven Compilation).

Возрастающее внимание уделяется функциональному и поведенческому моделированию с использованием языков описания аппаратуры, в том числе тестирование проектов из нескольких ПЛИС. Наличие встроенного логического анализатора Signal TAP позволяет проводить контроль сигналов внутри ПЛИС.

Механизм подсказок сориентирован на использование Internet технологий.

^ 2 Система проектирования

MAX+Plus II


Название системы MAX+PLUS II является аббревиатурой от Multiple Array MatriX Programmable Logic User System. Что переводится как, пользовательская система программирования логики упорядоченных структур. Система MAX+PLUS II имеет средства удобного ввода проекта, компиляции и отладки, а также непосредственного программирования устройств.

Процедуру разработки нового проекта от концепции до завершения можно упрощённо представить следующим образом:

1. Задание имени файла – проекта верхнего уровня (Top of hierarchy) в качестве имени проекта (Project name);

2. Создание нового файла (design file) проекта или иерархической структуры нескольких файлов проекта с помощью любого сочетания редакторов в системе MAX+PLUS II, то есть графического, текстового и сигнального редакторов;

3. Назначение семейства ПЛИС для проекта. Это может быть произведено вручную или автоматически;

4. Открытие окна компилятора Compiler и выбор кнопки Start для начала компиляции проекта. По желанию пользователя можно подключить модуль извлечения временных параметров проекта Timing SNF Extractor для создания файла, используемого при временном моделировании;

5. В случае успешной компиляции возможен временной анализ, для чего следует выполнить следующее:

  • для проведения временного анализа задержек открыть окно Timing Analyzer, выбрать режим анализа и нажать кнопку Start;

для проведения симуляции нужно сначала создать тестовый вектор в файле канала тестирования (.scf), пользуясь сигнальным редактором, или в файле вектора (.vec), пользуясь текстовым редактором. Затем открыть окно отладчика Simulator и нажать кнопку Start;

6. Открытие окна программатора Programmer с последующим выбором одного из двух способов: использование программатора MPU (Master Programming Unit)

или подключение загрузочных устройств BitBlaster, Byte-Blaster или FLEX Download Cable к устройству, программируемому в системе;

7. Выбор кнопки Program для программирования устройств с памятью типа EPROM или EEPROM либо выбор кнопки Configure для конфигурации устройства с памятью типа SRAM (FLEX).

При запуске системы MAX+PLUS II автоматически открывается её Главное окно, меню которого охватывают все приложения системы MAX+PLUS II.

Н
а рисунке 2.1 представлено Главное окно пакета MAX+PLUS II:


Рисунок 2.1 – Главное окно системы MAX+PLUS II


В верхней части окна отображается имя проекта и текущего файла проекта. Затем следует строка меню, под ней панель основных инструментов системы, обеспечивающая быстрый вызов её компонентов. В нижней части окна располагается строка подсказки.

ПО системы MAX+PLUS II содержит 11 приложений и главную управляющую программу. Различные приложения, обеспечивающие создание проекта, могут быть активизированы мгновенно, что позволяет пользователю переключаться между ними щелчком мыши или с помощью команд меню. В это же время может работать одно из фоновых приложений, например, компилятор, симулятор, анализатор синхронизации и программатор. Одни и те же команды разных приложений работают одинаково, что облегчает задачу разработки логического дизайна проекта.

Окно любого приложения можно свернуть до пиктограммы, не закрывая приложения, а затем снова развернуть его. Это позволяет работать эффективно, не загромождая рабочий экран.

В
ызов компонентов системы удобно производить через окно меню MAX+PLUS II, представленное на рисунке 2.2


Рисунок 2.2 – Окно меню MAX+PLUS II


В таблице 2.1 приведено описание приложений.


Таблица 2.1 – Описание приложений САПР MAX+PLUS II

Приложение

Выполняемая функция

1

2

Hierarchy Display

Обзор иерархии – отображает текущую иерархическую структуру файлов в виде дерева с ветвями, представляющими собой подпроекты

Graphic Editor

Графический редактор – позволяет разрабатывать схемный логический проект в формате реального отображения на экране WYSIWYG

продолжение таблицы 2.1

1

2

Symbol Editor

Символьный редактор – позволяет редактировать существующие символы и создавать новые

Text Editor

Текстовый редактор – позволяет создавать и редактировать текстовые файлы логического дизайна, написанные на языках AHDL, VHDL, Verilog HDL

Waveform Editor

Сигнальный редактор – выполняет двойную функцию: инструмент для рахработки дизайна и инструмент для ввода тестовых векторов и наблюдения результатов тестирования

Floorplan Editor

Поуровневый планировщик – позволяет графическими средствами делать назначения контактам устройства и ресурсов логических элементов

Compiler

Компилятор – обрабатывает графические проекты

Simulator

Симулятор – позволяет тестировать логические операции и внутреннюю синхронизацию проектируемой логической цепи

Timing Analyzer

Временной анализатор – анализирует работу проектируемой логической цепи после того, как она была синтезирована и оптимизирована компилятором

Programmer

Программатор – позволяет программировать, конфигурировать, проводить верификацию и тестировать ПЛИС фирмы ALTERA

продолжение таблицы 2.1

Message Processor

Генератор сообщений – выдает на экран сообщения об ошибках, предупреждающие и информационные сообщения


Перед тем как начать работать в системе MAX+PLUS II, следует понять разницу между файлами проекта, вспомогательными файлами и проектами.

Файл проекта — это графический, текстовый или сигнальный файл, созданный с помощью графического или сигнального редакторов системы MAX+PLUS II или в любом другом, использующем промышленные стандарты, схемном или текстовом редакторе либо при помощи программы netlist writer, имеющейся в пакетах, поддерживающих EDIF, VHDL и Verilog HDL. Этот файл содержит логику для проекта MAX+PLUS II и обрабатывается компилятором. Компилятор может автоматически обрабатывать следующие файлы проекта:

  • графические файлы проекта (.gdf);

  • текстовые файлы проекта на языке AHDL (.tdf);

  • сигнальные файлы проекта (.wdf);

  • файлы проекта на языке VHDL (.vhd);

  • файлы проекта на языке Verilog (.v);

  • схемные файлы OrCAD (.sch);

  • входные файлы EDIF (edf);

  • файлы формата Xilinx Netlist (.xnf);

  • файлы проекта Altera (.adf);

  • файлы цифрового автомата (.smf).

Вспомогательные файлы – это файлы, связанные с проектом MAX+PLUS II, но не являющиеся частью его иерархического дерева. Большинство таких файлов не содержит логики проекта. Некоторые из них создаются автоматически приложением системы MAX+PLUS II, другие – пользователем. Примерами вспомогательных файлов являются файлы назначений и конфигурации (.acf), символьные файлы (.sym), файлы отчета (.rpt) и файлы тестовых векторов (.vec).

Проект состоит из всех файлов иерархической структуры проекта, в том числе вспомогательных и выходных файлов. Именем проекта является имя файла проекта верхнего уровня без расширения. Система MAX+PLUS II выполняет компиляцию,

тестирование, анализ синхронизации и программирование сразу целого проекта, хотя пользователь может в это время редактировать файлы этого проекта в рамках другого п
роекта.


Рисунок 2.3 – Иерархия проекта в MAX+Plus II


В иерархической структуре проекта на любом уровне допускается смешанное использование файлов с расширениями “.gdf .tdf .vhd .v .edf .sch”. Однако файлы с расширением “.wdf .xnf .adf .smf ” должны быть либо на самом нижнем иерархическом уровне проекта, либо быть единственными.

Для каждого проекта желательно создавать отдельный подкаталог в рабочем каталоге системы MAX+PLUS II.

В системе MAX+PLUS II легко доступны все инструменты для создания проекта. Разработка проекта ускоряется за счёт имеющихся стандартных функций, в том числе примитивов, мегафункций, библиотеки параметризованных модулей (LPM) и макрофункций устаревшего типа микросхем 74 серии.

В системе MAX+PLUS II есть три редактора для разработки проекта: графический, текстовый и сигнальный, а также два вспомогательных редактора: поуровневый планировщик и символьный редактор. Схемные файлы проекта создаются в графическом редакторе MAX+PLUS II. Можно также открыть, редактировать и сохранять схемы, созданные схемным редактором OrCAD.

Проекты на языках AHDL, VHDL и Verilog HDL создаются в текстовом редакторе MAX+PLUS II или любом другом текстовом редакторе.

Сигнальные проекты создаются в сигнальном редакторе MAX+PLUS II.

Файлы формата EDIF и Xilinx, разработанные другими стандартными инструментами системы EDA, могут быть импортированы в среду MAX+PLUS II.

Схемные и тестовые файлы, созданные в системе MAX+PLUS II (под ДОС) и программных пакетах фирмы Altera A+PLUS и SAM+PLUS могут быть интегрированы в среде MAX+PLUS II.


Назначения физических ресурсов для любого узла или контакта в текущем проекте могут быть введены в графическую среду с помощью поуровневого планировщика.

В
о всех приложениях MAX+PLUS II есть возможность с помощью команд из меню Assign (Назначить) вводить, редактировать и удалять типы назначений ресурсов, устройств и параметров, которые управляют компиляцией проекта. На рисунке 2.4 представлены команды меню Assign.


Рисунок 2.4 – Меню назначений проекта Assign


Пользователь может делать назначения для текущего проекта независимо от того, открыт ли какой-нибудь файл проекта или окно приложений. Система MAX+PLUS II сохраняет информацию для проекта в файле с расширением .acf. Изменения назначений, сделанные в окне поуровневого планировщика, также сохраняются в файле ACF.

Следующие функции являются общими для всех приложений MAX+PLUS II: назначение устройств, ресурсов и зондов; сохранение предыдущей версии; глобальные опции устройства в проекте; глобальные параметры проекта; глобальные требования к временным параметрам проекта; глобальный логический синтез проекта.

Ресурс является частью устройства, как, например контакт или логический элемент, который выполняет конкретное, определённое пользователем задание. Управление

компиляцией проекта и его временными параметрами осуществляется с помощью различных назначений (Assign).Доступны следующие типы назначений:

Clique assignment (Назначение клики) задаёт, какие логические функции должны оставаться вместе в одном и том же блоке логической структуры LAB, блоке ячеек памяти EAB, в одном ряду или устройстве.

Chip assignment (Назначение кристалла) задаёт, какие логические функции должны быть реализованы в одном и том же устройстве в случае разделения проекта на несколько устройств.

Pin assignment (Назначение контакта) назначает вход или выход одной логической функции конкретному контакту или нескольким контактам чипа.

Location assignment (Назначение ячейки) назначает единственную логическую функцию конкретной ячейке чипа.

Probe assignment (Назначение зонда) присваивает уникальное имя входу или выходу логической функции.

Connected pin assignment (Назначение соединенных контактов) задаёт внешнее соединение двух или более контактов на схеме пользователя.

Local routing assignment (Назначение местной разводки) присваивает коэффициент разветвления по выходу узла логическому элементу, находящемуся в том же блоке LAB, что и узел, или в соседнем LAB, прилежащем к узлу, с использованием общих местных разводок.

Device assignment (Назначение устройства) назначает тип ПЛИС, на которой реализуется проект.

Logic option assignment (Назначение логической опции) управляет логическим синтезом отдельных логических функций во время компиляции с применением стиля логического синтеза.

Timing assignment (Назначение временных параметров) управляет логическим синтезом и подгонкой отдельных логических функций для получения требуемых характеристик для времени задержки tPD (вход – неподрегистренный выход), tCO (синхросигнал – выход), tSU (синхросигнал – время установки), fMAX (частота синхросигнала).

Можно определить глобальные опции устройства для компилятора, чтобы он использовал их для всех устройств при обработке проекта. Для резервирования дополнительных возможностей на будущее можно задать процентное соотношение контактов и логических элементов, которые должны оставаться неиспользованными во время текущей компиляции.


С использованием команды Global Project Parameters можно задать имена и глобальные установки, которые будут использованы компилятором для параметров всех параметризованных функций в проекте.

При помощи команды Global Project Timing Requirements можно ввести глобальные требования по синхронизации для проекта, задавая общие характеристики для времени задержки tPD (вход – нерегистрируемый выход), tCO (синхросигнал – выход), tSU (синхросигнал – время установки), fMAX (частота синхросигнала).

Команда Global Project Logic Synthesis позволяет сделать глобальные установки для компилятора в части логического синтеза проекта.

Все пять редакторов MAX PLUS II и три редактора создания дизайна (графический, текстовый и сигнальный) имеют общие функции, такие как, например, создание, сохранение и открытие файла. Кроме того, приложения редактора MAX PLUS II имеют следующие общие функции:

  • создание файлов символов и файлов с прототипами функций (Include-файлы), (symbol and include file generator);

  • поиск узлов (node location);

  • траверз иерархического дерева (hierarchy traversal);

  • всплывающие окна меню, зависящего от контекста (contextsensitive menu commands);

  • временной анализ (Timing Analysis);

  • поиск и замена фрагментов текста (Find and Replace Text);

  • отмена последнего шага редактирования, его возвращения, вырезка, копирование, вставка и удаление выбранных фрагментов, обмен фрагментами между приложениями MAX PLUS II или приложениями Windows (Undo, Cut, Copy, Paste & Delete);

  • печать (print).

Графический редактор (Graphic Editor) обеспечивает проектирование в реальном формате изображения (WYSIWIG). Графические файлы проекта (.gdf) или схемные файлы OrCAD (.sch), созданные в данном графическом редакторе, могут включать любую комбинацию символов примитивов, мегафункций и макрофункций. Символы могут представлять собой любой тип файла проекта (.gdf .sch .tdf .vhd .v .wdf .edf .xnf .adf .smf).





Рисунок 2.5 – Окно графического редактора


Инструмент выбора (“стрелка”) облегчает разработку дизайна. Он позволяет двигать и копировать объекты, а также вводить новые символы. Если переместить его на контакт или конец линии, он автоматически преобразуется в инструмент рисования ортогональных линий. Если им щелкнуть на тексте, он автоматически преобразуется в инструмент редактирования текста.

Символы соединяются сигнальными линиями или линиями шин (bus), которые представляют собой несколько логически сгруппированных узлов. Узлом называется именованный вход или выход логического примитива, макро- или мегафункции. Если присвоить узлу имя, то его можно соединить с другими узлами или символами только по имени. Шины соединяются по имени, но возможно и их графическое соединение.

Пользователь может переопределить порты, используемые в каждом отдельном примере символа мега- или макрофункции, а также инвертировать их. При этом, для указания инвертированного порта появляется кружок, обозначающий инверсию.

Можно выбрать несколько объектов. В прямоугольной области и редактировать их вместе или по отдельности. При перемещении выбранной области сигнальные связи сохраняются.

Для каждого символа можно просматривать назначения зондов, выводов, расположения, чипов, клик, временных параметров, местную трассировку, логические опции и назначения параметров. Для облегчения тестирования можно также создать назначения

групп выводов, которые будут определять соединения внешнего устройства между выводами.

Поставляемые фирмой Altera примитивы, мега- и макрофункции сокращают время разработки дизайна. Пользователь может также создавать свои собственные библиотеки функций. При редактировании символа или восстановлении его по умолчанию можно автоматически создавать выбранные примеры или все примеры этого символа в файле в графическом редакторе.

Графический редактор обеспечивает ряд других возможностей. Например, можно увеличивать или уменьшать масштаб отображения на экране и увидеть дизайн целиком или какую-либо его деталь. Можно выбирать гарнитуру и размер шрифта, задавать стили линий, устанавливать и отображать направляющие. Можно копировать, вырезать, вставлять и удалять выбранные фрагменты; получать зеркальное отображение (вертикальное или горизонтальное); поворачивать выделенные фрагменты на 90, 180 или 270 градусов; задавать размер и ориентацию текущего листа схемы по вертикали и горизонтали.

С
имвольный редактор (Symbol Editor) позволяет просматривать, создавать и редактировать символ. Символьный файл имеет то же имя, что и проект, и расширение “.sym”. Команда Create Default Symbol меню File, которая есть в графическом, текстовом и сигнальном редакторах, создает символ для любого файла проекта.


Рисунок 2.6 – Окно символьного редактора

Символьный редактор обладает следующими характеристиками:

  • можно переопределить символ, представляющий файл проекта;

  • создавать и редактировать выводы и их имена, используя входные, выходные и двунаправленные выводы, а также задавать варианты ввода символа в файл графического редактора: с отображением на экране имён выводов или без отображения, с отображением полного или сокращённого имени. Таким образом, полное имя порта и имя, отображаемое в файле в окне графического редактора, могут быть разными;

  • имена выводов автоматически дублируются за границу символа. Редактированию подлежат только имена внутри границы символа. Имена снаружи нельзя менять, они просто иллюстрируют соединение выводов;

  • задать значения параметров и их значения по умолчанию;

  • сетка и направляющие помогают выполнить точное выравнивание объектов;

  • в символе можно вводить комментарии, которые также появятся при вводе символа в файл в графическом редакторе.

Текстовый редактор (Text Editor) является инструментом для создания текстовых файлов проекта на языках описания аппаратуры: AHDL (.tdf), VHDL (.vhd), Verilog HDL (.v). В этом текстовом редакторе можно работать также с произвольным файлом формата ASCII. Все перечисленные файлы проекта можно создавать в любом текстовом редакторе, однако данный редактор имеет встроенные возможности ввода файлов проекта, их компиляции и отладки с выдачей сообщений об ошибках и их локализацией в исходном тексте или в тексте вспомогательных файлов; кроме того, существуют шаблоны языковых конструкций для AHDL, VHDL и Verilog HDL, выполнено окрашивание синтаксических конструкций. В данном редакторе можно вручную редактировать файлы назначений и конфигурации (.acf), а также делать установки конфигурации для компилятора, симулятора и временного анализатора.

Пользуясь данным текстовым редактором, можно создавать тестовые векторы (.vec), используемые для тестирования, отладки функций и при вводе сигнального проекта. Можно также создавать командные файлы (.cmd — для симулятора и .edc — для EDIF), а также макробиблиотеки (.lmf).





Рисунок 2.7 – Окно текстового редактора


В текстовом редакторе MAX PLUS II обеспечивается контекстная справка.

Сигнальный редактор (Waveform Editor) служит инструментом создания описания проекта, ввода тестовых векторов и просмотра результатов тестирования. Пользователь может создавать сигнальные файлы проекта (.wdf), которые содержат временные диаграммы, описывающие логику работы проекта, а также файлы каналов тестирования (.scf), которые содержат входные вектора для тестирования и функциональной отладки. Разработка описания проекта в сигнальном редакторе является альтернативой его созданию в графическом или текстовом редакторах. Здесь можно графическим способом задавать комбинации входных логических уровней и требуемых выходов. Созданный таким образом файл WDF может содержать как логические входы, так и входы цифрового автомата, а также выходы комбинаторной логики, счётчиков и цифровых автоматов. Способ разработки дизайна в сигнальном редакторе лучше подходит для цепей с чётко определёнными последовательными входами и выходами, то есть для цифровых автоматов, счётчиков и регистров.

С помощью сигнального редактора можно легко преобразовывать временные диаграммы сигналов целиком или частично, создавая и редактируя узлы и группы. Простыми командами можно создавать файл таблицы ASCII-символов (.tbl) или импортировать файл тестовых векторов в формате ASCII (.vec) для создания файлов тестируемых каналов SCF и сигнального дизайна WDF. Можно также сохранить файл WDF как SCF для проведения

тестирования или преобразовать SCF в WDF для использования его в качестве файла проекта.





Рисунок 2.8 – Окно сигнального редактора


Сигнальный редактор имеет следующие отличительные черты:

  • можно создать или отредактировать узел для получения типа I/O (вход/выход), который представляет собой входной или выходной контакт или “замурованную” логику;

  • при разработке WDF можно задать тип логики, которая делает каждый узел контактом, причём входным, регистровым, комбинаторным или цифровым автоматом;

  • задать значения по умолчанию в логическом узле для активного логического уровня: высокий (1), неопределённый (X) или с высоким импедансом (Z), а также имя состояния по умолчанию в узле типа цифрового автомата;

  • для упрощения создания тестового вектора можно легко добавить в файл тестируемых каналов SCF несколько узлов или все из информационного файла симулятора (.snf), существующего для полностью откомпилированного и оптимизированного проекта;

  • можно объединять от 2 до 256 узлов для создания новой группы (шины) или разгруппировывать объединённые ранее в группу узлы. Можно также объединять группы с другими группами. Значение группы может быть отображено в двоичной, десятичной, шестнадцатеричной или восьмеричной системе счисления с преобразованием (или без) в код Грэя;

  • можно копировать, вставлять, перемещать или удалять выбранную часть (“интервал”) сигнала, а также весь узел или группу (то есть имя узла или группы плюс форму сигнала). Одной операцией можно отредактировать несколько интервалов, целые формы сигналов, а также целые узлы и группы. Копии целых узлов и групп связаны, так что редакционные правки одной копии отражаются во всех копиях. Можно также инвертировать, вставлять, переписывать, повторять, расширять или сжимать интервал формы сигнала любой длины с любым логическим уровнем, тактовым сигналом, последовательностью счёта или именем состояния;

  • задать и, по желанию, отображать на экране сетку для выравнивания переходов между логическими уровнями либо до их создания, либо после;

  • в любом месте файла можно вводить комментарии между формами сигнала;

  • менять масштаб отображения;

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

Поуровневый планировщик (Floorplan Editor) предназначен для назначения ресурсов физических устройств и просмотра результатов разводки, сделанных компилятором. В окне поуровневого планировщика могут быть представлены два типа изображения:

  • Device View (Вид устройства) показывает все контакты устройства и их функции;

  • LAB View (Вид логического структурного блока) показывает внутреннюю часть устройства, в том числе все логические структурные блоки (LAB) и отдельные логические элементы.

После выполнения всех назначений и задания проекта приступают к его компиляции. Сначала компилятор извлекает информацию об иерархических связях между файлами проекта и проверяет проект на простые ошибки ввода описания проекта. Он создаёт организационную карту проекта и затем, комбинируя все файлы проекта, превращает их в базу данных без иерархии, которую может эффективно обрабатывать.





Рисунок 2.9 – Окно поуровневого планировщика (LAB View)


Компилятор применяет разнообразные способы увеличения эффективности проекта и минимизации использования ресурсов устройства. Если проект слишком большой, чтобы быть реализованным в одном устройстве, компилятор может автоматически разбить его на части для реализации в нескольких устройствах того же самого семейства ПЛИС, при этом число соединений между устройствами минимизируется. В файле отчёта (.rpt) затем будет отражено, как проект будет реализован в одном или нескольких устройствах.

Кроме того, компилятор создает файлы программирования или загрузки, используемые программатором системы MAX+PLUS II или другим, для программирования одного или нескольких устройств.

Несмотря на то, что компилятор может автоматически компилировать проект, существует возможность задать обработку проекта в соответствии с точными указаниями разработчика. Например, можно задать стиль логического синтеза проекта по умолчанию и другие параметры логического синтеза в рамках всего проекта, что позволит провести логический синтез в соответствии с частными потребностями. Кроме того, можно ввести требования по синхронизации в рамках всего проекта, точно задать разбиение большого проекта на части для реализации в нескольких устройствах и выбрать варианты параметров устройств, которые будут применены для всего проекта в целом. Можно также выбрать, сколько выводов и логических элементов должно быть оставлено

неиспользованными во время текущей компиляции, чтобы зарезервировать их для последующих модификаций проекта.





Рисунок 2.10 – Окно компилятора с редактором сообщений


Компилятор автоматически обрабатывает все входные файлы текущего проекта. Процесс компиляции можно наблюдать в окне компилятора в следующем виде:

  • опустошаются и переворачиваются песочные часы, что указывает на активность компилятора;

  • высвечиваются прямоугольники модулей компилятора по очереди, по мере того как компилятор завершает каждый этап обработки;

  • под прямоугольником модуля компилятора появляется пиктограмма выходного файла, сгенерированного данным модулем. Для открытия соответствующего файла следует дважды щёлкнуть левой кнопкой мыши по пиктограмме;

  • процент завершения компиляции постепенно увеличивается (до 100%), что отражается также растущим прямоугольником “градусник”;

  • во время разбиения и монтажа кнопка компилятора Stop превращается в кнопку Stop/Show Status (Стоп/Показать состояние), которую можно выбрать для открытия диалогового окна, в котором отражается текущее состояние разбиения и монтажа проекта;

  • при обнаружении в процессе компиляции каких-либо ошибок или возможных проблем автоматически открывается окно обработчика сообщений (Message

Processor), в котором отображается список сообщений об ошибке, предупреждающих и информационных сообщений, а также сразу даётся справка по исправлению ошибки. Кроме того, возможно определить источники сообщений в файлах проекта или в его поуровневом плане назначений.

  • Компилятор системы MAX+PLUS II обрабатывает проект, используя следующие модули и утилиты:

  • экстрактор списка цепей (Compiler Netlist Extractor), включающий встроенные программы чтения форматов EDIF, VHDL, Verilog и XNF;

  • построитель базы данных (Database Builder);

  • логический синтезатор (Logic Synthesizer);

  • разделитель (Partitioner);

  • трассировщик (Fitter);

  • экстрактор для функционального тестирования (Functional SNF Extractor);

  • экстрактор для тестирования временных параметров (Timing SNF Extractor);

  • экстрактор для тестирования компоновки (Linked SNF Extractor);

  • программа записи выходного файла в формат EDIF (EDIF Netlist Writer);

  • программа записи выходного файла в формат Verilog (Verilog Netlist Writer);

  • программа записи выходного файла в формат VHDL (VHDL Netlist Writer);

  • модуль ассемблера (Assembler);

  • утилита диагностики проекта (Design Doctor Utility).

Модуль экстрактора форматов (Compiler Netlist Extractor) преобразует каждый файл проекта в один или несколько двоичных файлов с расширением .cnf (compiler netlist file). Поскольку компилятор подставляет значения всех параметров, используемых в параметризованных функциях, содержимое файла CNF может меняться последовательной компиляции, если значения параметров меняются. Данный модуль создаёт также файл иерархических взаимосвязей (.hif) (hierarchy interconnect file), в котором документируются иерархические связи между файлами проекта, а также содержится информация, необходимая для показа иерархического дерева проекта в окне “Hierarchy Display”. Кроме того, данный модуль создаёт файл базы данных узлов (.ndb) (node database), в котором содержатся имена узлов проекта для базы данных назначений ресурсов.

Модуль построителя базы данных (Database Builder) использует файл иерархических связей HIF для компоновки созданных компилятором файлов CNF, в которых содержится описание проекта. На основании данных об иерархической структуре проекта

данный модуль копирует каждый файл CNF в одну базу данных без иерархической структуры. Таким образом, эта база данных сохраняет электрическую связность проекта.

Модуль логического синтезатора (Logic Synthesizer) применяет ряд алгоритмов, которые уменьшает использование ресурсов и убирают дублированную логику, обеспечивая тем самым максимально эффективное использование структуры логического элемента для архитектуры целевого семейства устройств. Данный модуль компилятора применяет также способы логического синтеза для требований пользователя по временным параметрам и др. Кроме того, логический синтезатор ищет логику для несоединённых узлов. Если он находит неприсоединённый узел, он убирает все примитивы, относящиеся к этому узлу.

Если проект не помещается при монтаже в одно устройство, модуль Partitioner (разделитель) разделяет базу данных на несколько ПЛИС одного и того же семейства, стараясь при этом разделить проект на минимально возможное число устройств. Разбиение проекта происходит по границам логических элементов, а число выводов, используемое для сообщения между устройствами, минимизируется.

Используя базу данных, обновлённую модулем разбиения, модуль трассировки (Fitter) приводит в соответствие требования проекта с известными ресурсами одного или нескольких устройств. Он назначает каждой логической функции расположение реализующего её логического элемента и выбирает соответствующие пути взаимных соединений и назначений выводов. Данный модуль пытается согласовать назначения ресурсов, то есть выводов, логических элементов, элементов ввода/вывода, ячеек памяти, чипов, клик, устройств, местной трассировки, временных параметров и назначения соединения выводов из файла назначений и конфигурации (.acf) (Assignment & Configuration File), с имеющимися ресурсами. Модуль имеет параметры, позволяющие определить способы трассировки, например автоматическое введение логических элементов или ограничение коэффициента объединения по входу. Если трассировка не может быть выполнена, то выдаётся сообщение, предлагающее выбор, игнорировать некоторые или все назначения либо прекратить компиляцию. Независимо от того, завершена ли полная трассировка проекта, данный модуль генерирует файл отчёта (.rpt) (report file), в котором документируется информация о разбиении проекта, именах входных и выходных контактов, временных параметрах проекта и неиспользованных ресурсах для каждого устройства в проекте. Возможно включить в файл отчёта разделы, показывающие назначения пользователя, файловую иерархию, взаимные соединения логических элементов и уравнения, реализованные в логических элементах.

Компилятор также автоматически создаёт файл трассировки (.fit), в котором документируются назначения ресурсов и устройств для всего проекта, а также информация о трассировке. Существует возможность дать указание модулю трассировщика сгенерировать выходные текстовые файлы проекта на языке AHDL (.tdo).

Экстрактор для функционального тестирования (Functional SNF Extractor) создаёт файл для функционального тестирования (.snf) Компилятор генерирует этот файл перед синтезом проекта, поэтому он содержит все узлы, присутствующие в первоначальных файлах проекта. Этот функциональный файл SNF не содержит информации о временных параметрах. Его генерация возможна только в случае, если компиляция проекта произошла без ошибок.

Экстрактор для тестирования временных параметров (Timing SNF Extractor) создаёт файл для тестирования временных параметров (,snf), который содержит данные о временных параметрах проекта.

Экстрактор для тестирования компоновки (Linked SNF Extractor) создаёт файл (.snf) для тестирования компоновки нескольких проектов. Такой файл SNF комбинирует информацию из файлов SNF двух типов: для тестирования временных параметров и функционального тестирования, которые были сгенерированы для этих нескольких проектов по отдельности. Скомпонованные проекты могут использовать устройства, принадлежащие разным семействам.

Программа записи в формат EDIF (EDIF Netlist Writer). Компилятор MAX+PLUS II может взаимодействовать с большинством стандартных программных средств САПР, которые могут читать файлы стандартного формата EDIF 200 или 300. Данный модуль компилятора, содержащий программу записи в формат EDIF, создаёт один или несколько выходных файлов в формате EDIF (.edo), содержащих информацию о функциях и временных параметров, полученную после проведения синтеза.

Программа записи в формат Verilog (Verilog Netlist Wtiter). Необязательный модуль, программа записи в формат Verilog. Генерирует выходные файлы с расширением .vo, содержащие информацию о функциях и временных параметрах, полученную после проведения синтеза.

Программа записи в формат VHDL (VHDL Netlist Writer). Необязательный модуль компилятора с программой записи в формат VHDL генерирует один или несколько выходных файлов (.vho) на языке VHDL с синтаксисом 1987 или 1993, содержащих информацию о функциях и временных параметрах, полученную после проведения синтеза.

Выходные файлы на языках описания аппаратуры можно использовать при верификации проекта с использованием внешнего симулятора.

Модуль ассемблера (Assembler). Модуль ассемблера преобразует назначения логических элементов, выводов и устройств, сделанные модулем трассировки Fitter, в программный образ для устройства в виде одного или нескольких двоичных объектных файлов для программатора (.pof), для некоторых устройств компилятор также генерирует ASCII-файлы JEDEC (.jed), содержащие информацию для программатора, конфигурационные ASCII-файлы (.ttf) и ASCII-файлы формата Intel (.hex).

Утилита диагностики проекта (Design Doctor Utility). Необязательная утилита диагностики проекта проверяет логику каждого файла проекта для выявления элементов, которые могут вызвать проблемы надёжности на системном уровне. Существует возможность выбора одного из трёх предварительно определённых наборов правил разработки проекта с разными уровнями. Кроме того, возможно разработать свой собственный свод правил разработки дизайна.

Для верификации проекта в системе MAX+PLUS II используется три приложения: симулятор (Simulator), анализатор временных параметров (Timing Analyzer) и сигнальный редактор (Waveform Editor).

Перед тестированием проект компилируется с генерацией файла (.snf) для функционального тестирования и тестирования временных параметров.

Симулятор тестирует логические операции и внутреннюю синхронизацию проекта, позволяя пользователю моделировать проект.





Рисунок 2.11 – Симулятор MAX+PLUS II


В качестве источника входных векторов используется либо графический сигнальный файл каналов тестирования (.scf), либо текстовый ASCII-файл (.vec). Для проектов, работающих с памятью, можно задать некое исходное содержимое памяти в файлах шестнадцатеричного формата (Intel) с расширением .hex или в файлах инициализации памяти с расширением .mif. Сигнальный редактор может автоматически создавать файл SCF (Simulator Channel File) по умолчанию, который пользователь может редактировать с целью получения нужных ему тестовых входных векторов. Если вместо этого используется текстовый ASCII-файл векторов, сигнальный редактор автоматически генерирует из него файл каналов тестирования SCF. Симулятор позволяет проверить выходные значения, получаемые в ходе тестирования, по выходам, содержащимся в файле SCF.

Используя различные опции симулятора можно контролировать проект на появление сбоев (glitches), а также нарушение установочных параметров и временных задержек. После тестирования можно открыть обновлённый SCF файл в сигнальном редакторе или сохранить полученные выходные значения в табличном файле (.tbl) и просмотреть его затем в текстовом редакторе. Если компилятор сгенерирует файл SCF для функционального тестирования, то при функциональном тестировании можно смоделировать все узлы проекта. При функциональном тестировании симулятор игнорирует все задержки распространения. Поэтому в файле SCF для функционального тестирования нет задержек, выходные логические уровни изменяются одновременно со входными векторами. Файл SNF для тестирования временных временных параметров компилятор генерирует после того как проведены полный синтез и оптимизация проекта. Поэтому этот файл содержит только те узлы, которые не были уничтожены в процессе логического синтеза.

Из этого файла симулятор берёт информацию об аппаратной части, которая была собрана из файлов моделей устройств (.dmf), имеющихся в комплекте системы MAX+PLUS II.

Если проект был разбит на несколько устройств, компилятор создаёт файл SNF для проекта в целом и для каждого устройства. Однако тестирование временных параметров осуществляется только для проекта в целом.

При создании файла SNF для тестирования компоновки нескольких проектов компилятор комбинирует файлы SNF для функционального тестирования и/или файлы для тестирования временных параметров нескольких отдельных проектов. Отдельные “подпроекты” в компоновочном SNF файле могут быть предназначены для устройств разных семейств. Кроме того, поскольку файлы SNF для функционального тестирования

создаются до окончания полной компиляции, можно ввести подпроекты, которые представляют логику, не реализованную в устройстве фирмы Altera.

Компоновочный файл SNF можно использовать для тестирования на уровне платы. Кроме того, если он содержит только информацию о временных параметрах, его можно использовать для прогона временного анализатора системы MAX+PLUS II.

Симулятор позволяет выполнить следующие задачи:

  • задать ожидаемые логические уровни на выходе, которые можно сравнить с результатами тестирования;

  • смоделировать отдельные узлы или узлы, объединённые в группы. Можно комбинировать биты цифрового автомата в проекте, моделировать их как группу и обращаться к ним по имени состояния;

  • определить временной интервал, представляющий собой дрожание фронта импульса или сбой, и проанализировать проект на наличие обоих этих условий или одного из них;

  • контролировать наличие в проекте нарушений начальных установок регистров и временных задержек;

  • регистрировать действительные значения выходов устройств вместо моделированных;

  • проводить функциональное тестирование. Можно проверить, являются ли смоделированные выходные значения функционально эквивалентными реальным выходам устройств;

  • задавать условия точки останова, которые заставляют симулятор делать паузу при их реализации в процессе тестирования;

  • составлять перечень имён и логических уровней любой комбинации узлов и групп и инициализировать логические уровни узла или группы перед тестированием;

  • инициализировать содержимое блоков памяти RAM (ОЗУ) или ROM (ПЗУ) перед тестированием;

  • сохранять инициализированные значения узлов и групп, в том числе инициализированное содержимое памяти, в файле инициализации симулятора (.sif) или перегружать инициализированные значения, хранящиеся в файле;

  • регистрировать команды симулятора в текстовом файле протокола испытаний (.log) того же формата, что и командный файл (.cmd), используемый при

тестировании в автоматическом режиме, а затем использовать этот файл LOG для повторения этого цикла тестирования.

Загрузка готового проекта в ПЛИС или конфигурационное ПЗУ выполняется с помощью программатора (Programmer).

    1. Лабораторная работа №1: "Графический ввод схемы устройства и функциональная симуляция с использованием САПР MAX+PLUS II"


Цель и содержание работы: В данной работе изучается графический редактор и осуществляется ввод в систему MAX+plusII принципиальной схемы комбинационного устройства, описанного булевым уравнением. После этого выполняется трансляция проекта, с помощью редактора логико-временных диаграмм формируется последовательность входных тестовых векторов и осуществляется симуляция (логическое моделирование). В результате система MAX+plusII формирует диаграмму состояний для выходов устройства, анализируя которую совместно с таблицей истинности, можно сделать заключение о правильности функционирования разработанного устройства.


2.2.1 Запуск системы MAX+plusII

Запуск САПР осуществляется из стартового меню Windows командой MAX+plus II 9.6 BASELINE, которая находится в группе MAX+plusII.




оставить комментарий
страница1/3
Дата29.09.2011
Размер0,8 Mb.
ТипМетодические указания, Образовательные материалы
Добавить документ в свой блог или на сайт

страницы:   1   2   3
отлично
  1
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Документы

наверх