Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Методы и средства проектирования устройств с программируемой логикой

 

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

Все современные методики проектирования ЦУ на базе схем программируемой логики высокой сложности основаны на применении САПР. Новейшие САПР предоставляют широкий набор инструменты для проектирования на этапах описания, компиляции, отладки, функционального и временного моделирования, конфигурирования, физического моделирования и программирования [7].

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

Графический способ разработки дизайна подразумевает макетное построение схемы с использованием библиотечных элементов САПР, которые могут быть представлены в виде примитивов, в виде макрофункций в базисе элементов стандартных серий ТТЛ(Ш) или в виде параметризованных модулей. Главное достоинство графического способа – его традиционность и наглядность.

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

Использование стандартных универсальных языков описания аппаратуры (HDL, Hardware Description Languages) обеспечивает простоту переноса проекта с одной аппаратной платформы на другую и переход от одной САПР к другой [7]. Текстовые описания имеют две основные разновидности – языки низкого уровня (аналоги языков программирования типа ассемблера) и высокого уровня. Примерами таких языков могут служить язык AHDL (Altera HDL) и ABEL (фирмы Xilinx). Языки высокого уровня менее связаны с аппаратными платформами и поэтому более универсальны. Среди них наиболее распространены языки VHDL и Verilog [7].

Описание в виде граф-схемы переходов (диаграммы состояний) является наиболее распространённым вариантом задания цифровых автоматов. Графические редакторы для создания автоматов включаются в состав средств задания исходных проектов современных САПР (например, в САПР Foundation фирмы Xilinx разработки фирмы ALDEC).

После составления описания проекта производится его компиляция. Данная процедура разбивается на ряд последовательных действий: сборка базы данных проекта, контроль соединений, логическая минимизация проекта, формирование загрузочного (конфигурационного) файла и др. Результат компиляции – загрузочный файл.

Тестирования проекта часто производится путём работы с редактором временных диаграмм. В данном варианте анализ производится на основе созданного генератора воздействия. Например в САПР MAX+PLUS II предусмотрено автоматическое вычисление трёх основных классов временных параметров:

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

- максимально возможной производительности устройства (пропускной способности) в виде максимальной частоты тактирования элементов памяти, используемых в проекте.

- времён предустановки и выдержки сигналов, гарантирующих надёжную работу схем при фиксации сигналов в синхронных элементах памяти [7].

Многие САПР позволяют также выделять критические пути передачи и преобразования информации для схемного или топологического представления проекта.

При выборе той или иной элементной базы не маловажным критерием является наличие достаточно развитых и удобных средств разработки проектов на её основе.

Ряд фирм предлагает бесплатные версии САПР, представляющих собой базовый набор инструментов для проектирования ЦУ на базе ПЛИС. Примерами могут служить САПР MAX+PLUS II BASELINE – среда проектирования устройств на базе ПЛИС фирмы Altera, WebPACK ISE – версия САПР для ПЛИС фирмы Xilinx. Среди бесплатных САПР Xilinx следует также выделить систему WebFITTER, первый в своем роде продукт, основанный на использовании Internet.

Многие крупные фирмы-производители САПР интегральных схем активно включились в процесс создания программного обеспечения, поддерживающего ПЛИС различных производителей. Это позволяет проводить разработку алгоритмов, пригодных к реализации на ПЛИС не только разных семейств, но и различных производителей, что облегчает переносимость алгоритма и ускоряет процесс разработки. Примером таких систем являются продукты серии FPGA Express фирмы Synopsys, OrCAD Express фирмы OrCAD, продукты фирм VeryBest, Aldec, Cadence Design Systems и многих других. САПР фирмы Altera поддерживает интерфейс со многими из названных продуктов.

3.3 САПР MAX + PLUS II

 

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

Название MAX+PLUS II является аббревиатурой от Multiple Array MatriX Programmable Logic User System (пользовательская система программирования логики упорядоченных структур). Система MAX+PLUS II имеет полный спектр возможностей логического дизайна: разнообразные средства описания проектов с иерархической структурой, мощный логический синтез, компиляцию с заданными временными параметрами, разделение на части (использование нескольких кристаллов), функциональное и временное тестирование (симуляцию), тестирование нескольких связанных устройств, анализ временных параметров системы, автоматическую локализацию ошибок, а также программирование и верификацию устройств [8]. Процедуру разработки нового проекта от концепции до завершения можно упрощённо представить следующим образом:

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

2) задание имени файла - проекта верхнего уровня в качестве имени проекта;

3) назначение семейства ПЛИС для проекта;

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

5) в случае успешной компиляции возможен временной анализ в окне Timing Analyzer и симуляция в окне Simulator

6) программирование с использованием программатора MPU (Master Programming Unit) или подключение загрузочных устройств BitBlaster, Byte-Blaster или FLEX Download Cable к устройству, программируемому в системе;

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

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

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

 

Таблица 1 Приложения системы MAX+PLUS II.

Приложение Выполняемая функция
Hierarchy Display Обзор иерархии - отображает текущую иерархическую структуру файлов в виде дерева с ветвями, представляющими собой подпроекты.
Graphic Editor Графический редактор - позволяет разрабатывать схемный логический проект в формате реального отображения на экране WYSIWYG.
Symbol Editor Символьный редактор - позволяет редактировать существующие символы и создавать новые.
Text Editor Текстовый редактор - позволяет создавать и редактировать текстовые файлы логического дизайна, написанные на языках AHDL, VHDL, Verilog HDL.
Waveform Editor Сигнальный редактор - выполняет двойную функцию: инструмент для разработки дизайна и инструмент для ввода тестовых векторов и наблюдения результатов тестирования.
Floorplan Editor Поуровневый планировщик - позволяет графическими средствами делать назначения контактам устройства и ресурсов логических элементов.
Compiler Компилятор - обрабатывает логические проекты.
Simulator Симулятор - позволяет тестировать логические операции и внутреннюю синхронизацию проектируемой логической цепи.
Timing Analyzer Временной анализатор - анализирует работу проектируемой логической цепи после того, как она была синтезирована и оптимизирована компилятором.
Programmer Программатор - позволяет программировать, конфигурировать, проводить верификацию и тестировать ПЛИС фирмы ALTERA.
Message Processor Генератор сообщений - выдает сообщения об ошибках, предупреждающие и информационные сообщения.

 

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

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

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

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

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

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

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

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

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

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

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

Кроме того, компилятор создает программирующие файлы, используемые программатором для программирования одного или нескольких устройств. У разработчика также есть возможность настроить обработку проекта. Например, можно задать стиль логического синтеза проекта по умолчанию и другие параметры логического синтеза в рамках всего проекта. Кроме того, можно ввести требования по синхронизации в рамках всего проекта, точно задать разбиение большого проекта на части для реализации в нескольких устройствах и выбрать варианты параметров устройств, которые будут применены для всего проекта в целом. Загрузку готового проекта в ПЛИС или конфигурационное ПЗУ выполняют с помощью программатора (Programmer).


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...