Проектирование цифровых устройств с использованием ПЛИС (1055366), страница 8
Текст из файла (страница 8)
Цельглобального размещения — создание наилучших условий для локального размещения и трассировки. Для достижения этой целииспользуется информация о соответствии устройства внешних выводов сигналам, существенно влияющая на назначение свободныхобластей ПЛИС частям схемы. Как правило, назначение логических ресурсов кристалла макрообластям производят с избыточностью, облегчающей последующую трассировку.• Локальное размещение (Placement) — детальное назначениелогических ресурсов макрообластей, выбранных на стадии глобального размещения, частям схемы.
При этом преследуются целиравномерного заполнения макрообластей элементами и трассами,минимизации суммарной длины линий связи и др. Основная цельлокального размещения — создание наилучших условий для трассировки.53• Трассировка (Routing) — определение связей между логическими блоками, макроячейками и блоками ввода/вывода в видекоммутированных участков трасс.
На данной стадии преследуютсяцели выбора трасс, обеспечивающих заданное время распространения сигнала; минимизации суммарного количества программируемых точек связи; минимизации времени распространения сигнала по самой длинной линии связи. По результатам трассировкимогут быть определены временные параметры полученного варианта устройства и выполнено их сравнение с заданными ограничениями.Процесс проектирования является итерационным. После выполнения каждой подзадачи производится верификация полученного описания, для чего применяются различные средства моделирования и анализа. В современных САПР для моделированияиспользуются следующие виды описаний:• исходное поведенческое описание;• описание уровня регистровых передач (RTL-описание);• технологическое описание после синтеза;• описание на вентильном уровне;• технологическое описание с учетом результатов размещения;• технологическое описание с учетом результатов трассировки.Особое внимание разработчиков уделяется описанию тестовыхвоздействий, так как грамотно составленный тест позволяет выявить большинство ошибок.
Описание тестов может быть выполнено несколькими способами, в том числе следующими:• Описание генератора тестовых воздействий, не подлежащегодальнейшему синтезу. Для моделирования этим способом используется пара взаимосвязанных описаний: описание генератора иописание целевого устройства.
На выходных портах целевого устройства в процессе моделирования определяется оклик на тестовоевоздействие. Этот способ является универсальным — описанноена языке VHLD или Verilog тестирующее устройство-генераторможет успешно применяться в любом моделирующем пакете.Кроме того, при описании теста на языках VHDL, Verilog могутбыть использованы широкие алгоритмические возможности языков: циклы, ожидания, ловушки, сообщения, генерации и т. д.• Описание тестовых воздействий в специальном графическом редакторе.
Такой способ подходит для простых тестовых воздействий.54После выполнения трассировки и верификации результатов автоматически может быть генерирован файл c конфигурационнойпоследовательностью, содержащий информацию о коммутации ифункциональности всех ресурсов кристалла. На заключительномэтапе маршрута проектирования выполняются программированиеПЛИС и последующая внутрисхемная верификация устройства(проверка работоспособности на макетной ПЛИС).
При этом разработчик может использовать дополнительное оборудование (осциллографы, логические анализаторы, генераторы сигналов) иливоспользоваться специализированными, встраиваемыми в ПЛИС,логическими анализаторами.3.2. САПР Xilinx ISEМаршрут проектирования в САПР Xilinx ISEФирма Xilinx является мировым лидером в производствеПЛИС: ею производится около 50 % современных ПЛИС. Помимосамих микросхем с программируемой структурой Xilinx такжепредоставляет программные средства проектирования, такие каксистема сквозного проектирования ISE.
Эта САПР автоматизируетвсе этапы проектирования с использованием ПЛИС, от ввода описания устройств до его внутрисхемной верификации.Фирма Xilinx выпускает несколько версий САПР ISE:• версия Foundation с неограниченной номенклатурой используемых ПЛИС и средствами внутрисхемной верификации;• свободно распространяемая версия Web Edition с ограниченной номенклатурой используемых ПЛИС и упрощенными версиями некоторых модулей (ограничение касается кристаллов с большой емкостью, модуля симуляции и поддержки операционнойсистемы Sun Solaris и 64-разрядных операционных систем).
Версия доступна для загрузки по адресу: http://www.xilinx.com/ise/logic_design_prod/webpack.htm.Рассмотрим более подробно версию Xilinx ISE 9.1 Web Editionдля операционной системы Windows XP. В ее состав входят следующие модули.• Навигатор проекта (Project Navigator) — программа, интегрирующая используемые в маршруте проектирования модули.55• Схемотехнический редактор (Schematic Editor), обеспечивающий графический ввод схем, создание новых примитивов, использование библиотечных примитивов.• Редактор ввода на языках VHDL и Verilog (HDL Editor),обеспечивающий ввод языковых описаний.• Графический редактор цифровых автоматов (State Cad) —средство визуального проектирования автоматов, их моделирования и преобразования графического описания в описание на языкеVHDL или Verilog.• Генератор устройств (CORE Generator) — программа-мастердля интерактивной настройки описаний часто используемых компонентов (в терминологии ПЛИС — ядер).• Редакторы ограничений (Constraints Editor, Pinout and AreaConstraints Editor) — программы для создания и редактированияфайла ограничений проекта (User Constraints File, UCF), используемого при синтезе, размещении и трассировке.• Синтезатор (XST Tool) — программа синтеза низкоуровневого описания устройств.• Программы визуализации низкоуровневых описаний (RTLViewer, Technology Viewer), представляющие низкоуровневыеописания в схемотехническом виде.• Программа функционального и временнόго моделирования(ISE Simulator Lite), позволяющая также в визуальном режиме редактировать тестовые воздействия.• Программа анализа временных параметров (Static TimingAnalyzer), определяющая времена распространения сигналов исравнивающая их с заданными ограничениями.• Программы автоматического размещения и трассировкиПЛИС (MAP Tool, PAR Tool), учитывающие заданные временныеограничения.• Программы ручного размещения и оптимизации проекта(Floor Planner, FPGA Editor)• Программа для анализа рассеиваемой мощности (XPower).• Программы загрузки конфигурационной последовательностив ПЛИС FPGA и программирования ПЛИС CPLD и ППЗУ(iMPACT).Совместно с САПР ISE Web Edition фирма Xilinx предоставляет программу моделирования ModelSim XE III Starter фирмы56MentorGraphics с ограниченной лицензией.
Более подробное описание указанных модулей будет приведено ниже.На рис. 13 показан обобщенный маршрут проектирования, используемый в САПР Xilinx ISE.Проектирование начинается с создания проекта в программеProject Navigator. При этом указываются ключевые параметрыпроекта (номенклатура ПЛИС, тип корпуса, способ описания модуля верхнего уровня), выбираются одна из доступных программсинтеза и программа моделирования, выбирается предпочитаемыйязык описания (Verilog и VHDL).Рис. 13. Маршрут проектирования в САПР Xilinx ISEСледующей стадией является ввод описаний устройств, объединенных в дерево проекта. Вершиной дерева является модульверхнего уровня, объединяющий остальные функциональные части проекта.
Модуль верхнего уровня может быть описан с помо57щью языка VHDL или Verilog, а также схемотехнического редактора. На данной стадии используются модули: Schematic Editor,HDL Editor, State Cad, CORE Generator. Помимо структуры устройств описываются тестовые воздействия и ограничения реализации. Описание тестов в САПР Xilinx ISE может быть выполнено спомощью разработки генератора тестовых воздействий или графического редактора тестовых воздействий ISE Simulator Lite.В САПР Xilinx ISE предусматривается несколько уровней моделирования, выполняемых в программе ModelSim XE III Starter:• функциональное моделирование RTL-описания, технологического описания после синтеза (Behavioral Simulation) и описанияна вентильном уровне (Post Translate Simulation);• временное моделирование описания после размещения (PostMap Simulation) и моделирование после трассировки (Post-RouteSimulation).При использовании модуля ISE Simulator Lite доступны только моделирование поведенческого описания (BehavioralSimulation) и описания после размещения и трассировки (PostTranslate Simulation).В целях верификации может быть выполнен анализ временных параметров устройства с помощью модуля Static TimingAnalyzer и анализ рассеиваемой мощности с помощью программы XPower.Для описания ограничений в САПР Xilinx ISE могут быть использованы модули: Constraints Editor для описания ограниченийввода/вывода и временных параметров, а также PACE для ограничения размещения.После стадии ввода описания выполняется автоматический синтез низкоуровневого описания, результаты которого могут быть просмотрены с помощью модулей RTL Viewer и Technology Viewer.Далее выполняются автоматизированные стадии размещения итрассировки, полученные результаты могут быть проанализированы и вручную отредактированы с помощью модулей ручного размещения и оптимизации проекта Floor Planner и FPGA Editor.Маршрут реализации проекта на основе ПЛИС типа CPLD несколько отличается от маршрута реализации FPGA.
Так, этапы размещения и трассировки реализованы в виде одного этапа — сборки(Fitting).58После стадии трассировки генерируется файл конфигурацииПЛИС, который может быть переформатирован в файл содержимого конфигурационного ППЗУ. На этой стадии разработчик задает последовательность начальной загрузки конфигурации в ПЛИСи программирует с помощью модуля iMPACT все необходимыедля этого устройства (ППЗУ или ПЛИС).Навигатор проекта Project NavigatorНавигатор проекта реализован с помощью многооконного интерфейса, в котором пользователь может по своему усмотрениюнастраивать состав и набор видимых окон. На рис.
14 представленвид навигатора проекта, выбираемый по умолчанию. Помимо основного меню и кнопок быстрого запуска, активизирующихся всоответствии со стадией проектирования, доступны окна, визуализирующие иерархию описаний проекта (окно Sources), окно с указанием результатов выполнения стадий проектирования (окноProject), окно с текстовой информацией и средствами командногоуправления (окно Transcript).В центральной части окна выделено рабочее поле для размещения интегрируемых в навигатор интерфейсов модулей. Большинство из перечисленных выше модулей могут быть размещеныв рабочем поле навигатора проекта или использованы независимов виде отдельного приложения.
При любом способе можно задействовать стандартные возможности интерфейса со свободной навигацией: выбор инструментов в главном меню и на панели быстрого запуска, контекстное меню и т. д.Схемотехнический редактор Schematic EditorМодуль Schematic Editor позволяет создавать, просматривать,модифицировать и соединять компоненты устройства, отображаемые в символическом виде.