close

Вход

Забыли?

вход по аккаунту

?

5472.Обзор маршрута проектирования ПЛИС FPGA Advantage компании Mentor Graphics

код для вставкиСкачать
70
www.finestreet.ru
компоненты
ПЛИС
Обзор маршрута проектирования
ПЛИС FPGA Advantage
компании Mentor Graphics
Алексей РАБОВОЛЮК
al1@megratec.ru
Введение
В течение последних лет в мире наблюдается заметный рост числа проектов, использующих ПЛИС типа FPGA. С одной стороны,
эти схемы практически сравнялись по своим
функционально-скоростным характеристикам со специализированными полузаказными схемами типа ASIC (десятки миллионов
вентилей и сотни мегагерц). С другой стороны, они обладают такими очевидными преимуществами, как короткий и недорогой цикл
разработки, гибкость, обеспечиваемая возможностью перепрограммирования (в том
Рис. 1. Структурная схема маршрута проектирования
Учитывая большой интерес к средствам проектирования ПЛИС, а также
недостаток соответствующей литературы на русском языке, мы начинаем
серию публикаций, целью которой является познакомить инженеров
с основами проектирования в маршруте FPGA Advantage. В дальнейшем
предполагается также уделить внимание другим этапам маршрута
проектирования, особенно интеграции с проектированием печатных плат.
числе в составе изделия), снижение стоимости самих кристаллов с переходом на субмикронные технологические нормы и т. п.
В последних поколениях FPGA появились
серии, ориентированные на создание «систем-на-программируемом-кристалле», предлагающие разработчикам такие «системные»
функции, как встроенные процессоры, высокоскоростные последовательные интерфейсы, специализированные арифметические
модули большой разрядности, например
для DSP-приложений, встроенные блоки памяти различной конфигурации и назначения
и многое другое. Все это предъявляет чрезвы-
чайно высокие требования к средствам проектирования. По существу, инженеры, проектирующие сложные системы на таких кристаллах, как Virtex-II Pro, Virtex-4, Stratix-II,
ProASIC3 и других, должны иметь в своем распоряжении набор средств, обеспечивающий
не только все этапы проектирования и верификации самого кристалла, но и их интеграцию с маршрутом проектирования печатных
плат. Средства проектирования, поставляемые
изготовителями ПЛИС, в основном рассчитаны на проекты не самого высокого уровня
сложности и не решают все проблемы, возникающие при проектировании «систем-на-кристалле». Другой очевидный недостаток пакетов изготовителей: эти программы привязаны
к собственной технологии и не позволяют работать с комбинированными проектами,
включающими кристаллы нескольких изготовителей.
Компания Mentor Graphics, которая была
одним из пионеров в области разработки
и поставки средств проектирования ПЛИС,
предлагает сквозной маршрут, реализующий
все этапы проектирования, включая:
1. Системное проектирование и высокоуровневый синтез.
2. Создание HDL-проекта и управление процессом проектирования.
3. Моделирование и отладка проекта.
4. Формальная верификация при прототипировании ASIC.
5. Программно-аппаратная верификация.
6. Логический и физический синтез.
7. Интеграция с процессом проектирования
печатных плат.
Ядром маршрута проектирования Mentor
Graphics являются пакеты HDL Designer,
ModelSim и Precision Synthesis, реализующие,
соответственно, этапы 2, 3 и 6. Эти средства
объединены в комплексный маршрут проектирования FPGA Advantage. Структурная схе-
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 7 '2005
ПЛИС
ма маршрута проектирования приведена
на рис. 1. FPGA Advantage поддерживает операционные системы Windows, Linux и Unix.
HDL Designer — это комплексное средство для создания HDL-проекта на уровне RTLописания. Он обеспечивает возможность
текстового, табличного и графического ввода
и редактирования VHDL, Verilog и «смешанного» описания проекта, а также функции управления запуском программ моделирования
и синтеза, управления базами данных проекта, в том числе функцию контроля версий.
HDL Designer ускоряет процесс функциональной верификации проекта благодаря встроенному механизму контроля правил проектирования и графической отладки в режиме моделирования. Пакет поддерживает функции
коллективного проектирования и повторного использования блоков, в том числе импорт
IP-блоков. Встроенный менеджер обеспечивает навигацию проекта и поиск по множеству критериев. HDL Designer автоматически генерирует графическую документацию
в формате HTML. Являясь составной частью
интегрированного маршрута проектирования FPGA Advantage, HDL Designer в то же
время поддерживает работу с программами
моделирования и синтеза от других поставщиков. В целом он существенно повышает
продуктивность разработки HDL-проекта на
уровне RTL.
ModelSim — система моделирования и среда верификации цифровых систем. Она характеризуется высокой производительностью и расширенными возможностями отладки. Использование архитектуры единого
моделирующего ядра (SKS — Single Kernel
Simulator) и оптимизированной компиляции
(Native Compiled) позволяет успешно моделировать и отлаживать проекты, основанные
на смешанном языковом описании (VHDL,
Verilog, SystemC, SystemVerilog и другие). Предоставляя удобный графический интерфейс,
расширенную поддержку языковых стандартов, интегрированные средства отладки, возможности эффективной оптимизации процессов компиляции и моделирования, поддержку 32-разрядных и 64-разрядных ОС,
расширенные возможности адаптации к среде пользователя, ModelSim является одним
из самых распространенных и популярных
HDL-симуляторов.
Precision Synthesis — это средство логического синтеза высокопроизводительных
ПЛИС типа PLD и FPGA, оптимизированное
с точки зрения простоты использования и получения высокого качества результатов.
Precision Synthesis поддерживает работу
с многомиллионными программируемыми
«системами-на-кристалле» (FPSoC) последнего поколения. Этот пакет получает входные данные о проекте в виде описания
на VHDL или Verilog и реализует синтез логической схемы с учетом заданных ограничений на основе встроенных библиотек изготовителей. Он имеет встроенную систему
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 7 '2005
компоненты
71
Рис. 2. Главное окно HDL Designer в режиме просмотра библиотек
статического временного анализа, возможность анализа и отладки в инкрементном режиме и интуитивно понятный пользовательский интерфейс, позволяющий легко управлять процессом синтеза как опытному
инженеру, так и новичку. Precision Synthesis
включает уникальный алгоритм оптимизации — Architecture Signature Extraction (ASE),
который автоматически выделяет в проекте
наиболее критичные области, ограничивающие производительность всей системы, такие как конечные автоматы, логические пути между различными уровнями иерархии
проекта или логические пути с очень большим количеством комбинационной логики.
Алгоритм ASE использует эвристический
анализ в автоматическом режиме для уменьшения объема проекта и увеличения его производительности, исключая необходимость
ручного вмешательства пользователя. Пакет
имеет опцию физического синтеза (Precision
Physical Synthesis), реализующую инкрементную оптимизацию проекта, и оперирует непосредственно с параметрами размещения
и задержки, которые формируются программой размещения и трассировки поставщиков ПЛИС. Precision Synthesis поддерживает
все библиотеки Xilinx, Altera, Actel и Lattice.
Краткое описание
процесса проектирования.
Открытие существующего проекта,
моделирование и синтез
Одним из центральных понятий в маршруте проектирования FPGA Advantage является
понятие проекта. Проект — это совокупность
библиотек, содержащих логические объекты,
и так называемый файл проекта, имеющий
расширение .hdp и содержащий имена логических библиотек и пути к физическим директориям, в которых находятся эти библиотеки.
На рис. 2 приведено главное окно HDL
Designer в режиме просмотра библиотек. Чтобы открыть другой проект, можно два раза
щелкнуть по уже открытому файлу проекта,
при этом в случае, если открыты какие-либо
библиотеки, система выдаст соответствующее
предупреждение и предложит автоматически
закрыть их, после чего появится окно Open
Project, в котором можно выбрать один из ранее созданных проектов, либо указать другой
файл проекта.
Файл проекта является текстовым, так что
при необходимости его можно отредактировать в любом текстовом редакторе. Если
открыть в текстовом редакторе тот же файл
проекта, что и на рис. 2, можно увидеть, что
некоторые пути в этом файле начинаются
с переменных. Соответствующие переменные необходимо создать на уровне операционной системы. В Windows это делается в разделе «Переменные окружения», а в Linux,
если используется bash, — при помощи команды export. Благодаря файловой организации
проект физически может быть разбросан
по разным директориям. Например библиотека, которая содержит объекты, используемые несколькими разработчиками,
может находиться на сетевом диске с возможностью одновременного доступа с нескольких рабочих мест. Для создания нового проекта используется стандартный
путь в меню: File > New > Project.
Кроме основного файла проекта существует дополнительный. По умолчанию он называется shared.hdp. Общие для нескольких
разработчиков библиотеки описываются
именно в этом файле. Такое разделение
на два независимых файла одной и той же
информации вполне понятно, поскольку над
одним проектом одновременно могут работать несколько человек, которые могут иметь
как свои личные, так и общие наработки.
Права доступа к объектам проектирования
могут разграничиваться как средствами операционной системы (любой объект — это
отдельный файл или директория, содержащая файлы), так и средствами HDL Designer
посредством назначения прав администра-
компоненты
72
ПЛИС
Рис. 3
тора или пользователя общей библиотеки.
В последнем случае объекты из библиотеки
доступны только для чтения. Примером общих данных может служить стандартная
библиотека IEEE. Если щелкнуть правой
кнопкой мыши по файлу shared.hdp и в появившемся меню выбрать Edit Shared Project,
то в списках библиотек останутся только общие библиотеки.
Для просмотра содержимого библиотеки,
например MyTestLib, необходимо просто
дважды щелкнуть по ней. При этом откроется окно выбранной библиотеки. Одновременно может быть открыто несколько библиотек, переключаться между которыми можно при помощи закладок внизу окна.
На рис. 3 представлено содержимое выбранной библиотеки. В верхнем вложенном
окне перечислены все объекты, содержащиеся в библиотеке, в нижнем — иерархия выбранных объектов. Включать и выключать
вложенное окно иерархии можно при помощи меню View > Sub Windows > Design
Hierarchy. Возможно перемещение объекта
из верхнего вложенного окна в нижнее.
В верхнем вложенном окне можно посмотреть, «как устроен» объект. На рис. 4 раскрыт
объект BCDCounter_tb. Он состоит из символа и структуры. Символ описывает интерфейс объекта, а архитектура описывает его
поведение. Вообще говоря, концепция структуры данных проекта полностью соответствует структуре проекта на языке VHDL,
а именно: Библиотека > Интерфейс > Архитектура. Такой подход делает проект очень
гибким. Например, в одном объекте может
содержаться несколько архитектур с разной
степенью детализации описания. Синий треугольник рядом с архитектурой struct показывает рабочую или текущую архитектуру
(архитектуру по умолчанию). Выбрать текущую архитектуру можно, щелкнув правой кнопкой мыши по нужной архитектуре
и выбрав пункт Set Default View.
При проведении каких-либо манипуляций
с объектом HDL Designer автоматически предлагает отслеживать зависимости. Например,
если изменяется интерфейс объекта (скажем,
добавляется входной сигнал), то появится
сообщение с вопросом, требуется ли произвести соответствующие изменения во всех
вхождениях данного объекта в проекте.
Другой пример: при копировании объекта
в другую библиотеку необходимо щелкнуть
правой кнопкой мыши по объекту и выбрать
Copy, затем перейти в нужную библиотеку,
щелкнуть правой кнопкой мыши по имени
этой библиотеки и выбрать Paste Special.
При этом появляется вопрос, что именно требуется скопировать: только выбранный объект; выбранный объект со всеми компонентами; выбранный объект со всеми компонентами, в том числе с компонентами, которые
располагаются в защищенных библиотеках
и т. д. При попытке удалить объект также будет задан вопрос о том, нужно ли удалять всю
иерархию. Если объект в данный момент редактируется одним из пользователей, удаление будет невозможно.
Справа от окна проекта (Design Explorer)
располагается панель задач (Tasks). Если этой
панели нет, ее можно включить через меню
View > Sub Windows > Tasks and Templates.
Для того, чтобы выполнить какую-нибудь задачу, необходимо выделить в окне проекта
нужный объект и два раза щелкнуть по соответствующей задаче. HDL Designer предлагает большое число готовых задач. Увидеть их
можно, щелкнув правой клавишей мыши
по надписи My Tasks и выбрав Supplied Tasks.
Для создания новой задачи вместо Supplied
Tasks необходимо использовать New Tool или
New Flow. Отдельные задачи (Tools) могут
быть объединены в процессы (Flows). Например, чтобы промоделировать измененный
проект, его необходимо сначала «сгенерировать», затем «откомпилировать» и только после этого запустить на моделирование.
Эти действия объединены в стандартный
процесс ModelSim Flow.
В меню View > Sub Windows > есть два интересных пункта: Side Data и Downstream.
Они открывают вложенные окна с соответствующими названиями. В окне Downstream
можно увидеть файлы, полученные в результате работы средств, вызванных из Tasks,
а в окне Side Data перечислены файлы сторонних программ. Там могут располагаться
какие-то картинки, текстовые файлы, таблицы и т. д. При помощи этих окон в HDL
Designer реализована функция управления
«нестандартными» данными проекта. Иными словами, для управления «дополнительными» данными нет необходимости пользоваться еще какими-то средствами.
Если щелкнуть два раза по объекту
BCDCounter_tb, то раскроется его «архитектура по умолчанию» (рис. 4). Архитектура
BCDCounter_tb представлена в виде блок-диаграммы (Block Diagram) — схематического
Рис. 4
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 7 '2005
ПЛИС
Рис. 5
набора связанных цепями объектов. Кроме
блок-диаграммы существует еще несколько
вариантов реализации архитектуры: конечный автомат (State Diagram), блок-схема
(Flow Chart), таблица истинности (Truth
Table), таблица интерфейсов (IBD-Interface
Based Design), а также ASM.
Слева на рис. 4 отображено графическое
представление, а справа перечислены все
находящиеся на диаграмме объекты: объявления библиотек, вхождения компонентов
и сигналы (в полном соответствии с языком VHDL). У всех элементов, присутствующих на блок-диаграмме, есть свойства, относящиеся к функциональным возможностям (Properties), и свойства, относящиеся
к внешнему виду (Appearance). Настройки
имеют два уровня иерархии: относящиеся
к конкретному объекту и относящиеся
ко всем объектам данного типа в проекте
(например, ко всем надписям на всех блокдиаграммах).
Общие для всех настройки задаются через
меню Options > Main. Например, можно выбрать закладку Diagrams и в ней — Default Font.
Теперь во всех новых диаграммах будет использован выбранный шрифт. Для того чтобы эти настройки применить к существующей блок-диаграмме, необходимо открыть
ее и использовать меню Options > Master
Preferences > Apply to New and Existing Objects.
Все сигналы, имеющие одинаковое имя, считаются соединенными. Чтобы посмотреть,
что находится внутри иерархического объекта, необходимо два раза щелкнуть по нему.
При этом будет открыта текущая архитектура. Чтобы открыть символ компонента
(то есть интерфейс), необходимо щелкнуть
по интересующему объекту правой кнопкой
мыши и выбрать Open As > Interface. Будет
открыт редактор символа, имеющий два способа представления информации: графический и табличный. Переключение между режимами осуществляется кнопками Interface
и Symbol, находящимися на панели Structure
Navigator, расположенной справа.
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 7 '2005
Для того чтобы получить из графического представления HDL код, необходимо либо открыть объект, либо в окне объектов выделить нужный и использовать меню Tasks
> Generate > Run Single. Таким образом будет сгенерирован только выбранный объект.
Для генерации иерархии необходимо вместо Run Single использовать Run Through
Blocks (для генерации всех блоков) или Run
Through Components (для генерации всех
компонентов), или Run Through Components
from the Design Root (для генерации от корня проекта). Корень проекта обозначен желтым ромбиком. Чтобы сменить корень проекта, необходимо щелкнуть правой кнопкой
мыши по интересующему объекту и выбрать
Set Design Root. Корень проекта не имеет физического смысла с точки зрения языка
VHDL. Это просто метка, используемая HDL
Designer. Напротив, метка архитектуры,
по умолчанию, с точки зрения VHDL имеет
смысл, поскольку в VHDL есть конструкция
configuration, описывающая конфигурацию
проекта, в которой, кроме всего прочего, указывается, какую из доступных архитектур
использовать.
Чтобы запустить проект на моделирование, необходимо выделить интересующий
объект (например BCDCounter_tb) и щелкнуть два раза по задаче ModelSim Flow в панели задач справа. При этом в автоматическом режиме будет выполнена генерация
VHDL-описания, подготовка дополнительных данных и запуск ModelSim, в результате
появится окно Start ModelSim в которомможно повлиять на процесс запуска ModelSim.
Если никакие изменения не требуются, необходимо нажать кнопку Ok.
После загрузки ModelSim можно выбрать
объект bcdcounter_tb и в появившемся меню
выбрать Add > Add to Wave для вывода сигналов на временную диаграмму. Далее вводится
время моделирования (например, 10 µs) и несколько раз нажимается кнопка Run (рис. 5).
Подробнее процесс моделирования будет описан в последующих публикациях.
компоненты
73
Рассмотрим процесс запуска синтеза, объектом будет устройство BCDCounter. Для выполнения синтеза необходимо открыть список библиотек и выбрать XYZLib. Далее необходимо выделить объект BCDCounter и два
раза щелкнуть по кнопке Precision Synthesis
Flow. Затем в появившемся окне нужно выбрать конкретную технологическую библиотеку, например Xilinx Virtex, включить кнопки EDIF и VHDL и нажать Ok.
Результатом работы Precision Synthesis является список соединений библиотечных
элементов, входящих в выбранную технологическую библиотеку. Таким образом, создается так называемый нетлист проекта.
В процессе синтеза Precision Synthesis выполняет оптимизацию проекта по множеству
параметров, которая особенно эффективна
на больших проектах. После выполнения
синтеза нетлист передается на размещение
и трассировку (Place & Route). Этот этап выполняется программами, которые поставляются изготовителями ПЛИС и не входят
в поставку FPGA Advantage. Эти программы
запускаются непосредственно из меню
Precision Synthesis путем нажатия кнопки Place & Route. Все необходимые для размещения и трассировки данные передаются
автоматически, а отчеты, формируемые программами размещения и трассировки, доступны непосредственно из Precision
Synthesis. В качестве примера в этой и последующих статьях будет использован пакет ISE
компании Xilinx.
На рис. 6 показана последовательность действий, выполняемых при синтезе проекта.
После запуска Precision Synthesis необходимо выбрать закладку Design на панели слева
и последовательно нажать кнопки Compile
и Synthesize. Далее в закладке ISE нажать
кнопку Place & Route. В закладке Design
Analysis можно получить различные отчеты
о текущем проекте. Для сохранения проекта
необходимо нажать кнопку Save. В противном случае после завершения работы про-
Рис. 6
74
компоненты
ПЛИС
Заключение
Компания Mentor Graphics — один из мировых
лидеров в области САПР электроники. Диапазон
средств, предлагаемых Mentor Graphics, охваты*
вает все основные этапы проектирования и вери*
фикации интегральных схем, печатных плат и сис*
тем — от концептуального уровня до подготовки
производства изделий. Направлениями, в которых
компания занимает доминирующее положение
на мировом рынке, являются проектирование си*
стем на печатных платах (включая проектирование
ПЛИС), функциональная верификация «систем*на*
кристалле», физическая верификация топологии
СБИС в субмикронном диапазоне, тестирование
и диагностика, проектирование кабельных соеди*
нений. Mentor Graphics — один из пионеров рос*
сийского рынка. Начиная с 1992 года, в России
и других республиках СНГ было установлено бо*
лее 700 рабочих мест САПР.
Важными факторами при поставке средств проек*
тирования Mentor Graphics являются большой объ*
ем переведенной на русский язык пользователь*
граммы Precision Synthesis директория, содержащая результаты работы, будет удалена.
Теперь остается только открыть данные, полученные после размещения и трассировки,
в программе подготовки двоичного файла для
загрузки в ПЛИС и сгенерировать этот файл.
ской и учебной документации (Expedition, PADS,
FPGA Advantage), поставка специальных утилит
для выпуска документации в соответствии с отече*
ственными стандартами, высокий уровень техни*
ческой поддержки пользователей. Большое значе*
ние имеет также «масштабируемость» линейки про*
дуктов Mentor Graphics, под которой понимается
оптимальное соотношение стоимости и произво*
дительности для каждого сектора рынка, а также
специальная система скидок. В качестве примера
можно привести стартовые конфигурации сквоз*
ных маршрутов проектирования PCB и FPGA, сто*
имость которых, соответственно, составляет $4369
и $4800.
Компания Mentor Graphics придает исключитель*
но важное значение российскому рынку, как одно*
му из наиболее перспективных на нынешний день.
В ближайшее время внимание специалистов ком*
пании будет сфокусировано на улучшении качест*
ва курсов обучения, а также на выпуске дополни*
тельной литературы на русском языке.
Этот процесс подробно описан в инструкциях, предоставляемых поставщиками ПЛИС.
Итак, в первой статье был представлен
краткий обзор всего маршрута проектирования. В следующих статьях мы более подробно остановимся на каждом этапе.
Материал основан на стандартном курсе
обучения FPGA Adavantage, состоящем
из теоретической части и ряда лабораторных работ. Эти работы могут быть проделаны читателем самостоятельно. Данные
для их выполнения можно скачать в Интернет по адресу: http://ftp.inlinegroup.ru/output/
megratec_fpgaadv_training/.
Далее необходимо распаковать файл
fpga_adv_data_61.zip, если вы работаете
в Windows, или файл fpga_adv_data_61.tar.gz,
если вы работаете в Linux или Unix, в какуюлибо директорию и создать переменные окружения FPGADV_LABS и HDS_LIBS, указывающие путь к директории с лабораторными
работами и путь к файлу проекта соответственно.
Например:
FPGADV_LABS => <путь_к_лабораторным>\LabData
HDS_LIBS => <путь_к_лабораторным>\LabData\FPGAdv_Training.hdp
Теперь при запуске HDL Designer автоматически будет открываться файл проекта
FPGAdv_Training.hdp.
■
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 7 '2005
Документ
Категория
Без категории
Просмотров
70
Размер файла
328 Кб
Теги
компания, 5472, обзор, плис, fpga, маршрут, mentor, проектирование, advantages, graphics
1/--страниц
Пожаловаться на содержимое документа