Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

SYNTHESIS OF PROJECTS BASED ON PROGRAMMING LOGIC INTEGRATED CIRCUITS FPGA CAD IN WEBPACK ISE

Sadykov A.A. Tashatov N.N. Dosumbekov E.K.
The article describes the use of temporal and topological constraints in the projects realised on PLIS families of FPGA. Stages of synthesis, placement and routing of projects running in automatic mode, HDL-fusion project. This article describes the features of the synthesis phase of projects, which are used for the implementation of programming logic integrated circuits families FPGA. Stages of synthesis, placement and routing projects are usually carried out in automatic mode. To control these processes can be used the following instruments: attributes that are placed in the modules source project description, files, and temporary topological constraints, process parameters established with the help of interactive panels Navigator project. Article examined the next phase of the process of developing a digital device on FPGA company Xilinx. The content of these stages of synthesis, placement and routing projects for different families of CPLD (Complex Programmable Logic Device) and FPGA (Field Programmable Gate Array). This paper is devoted to study the synthesis and layout stages of the project using programming logic integrated circuits families FPGA.

При использовании механизма атрибутов теряется универсальность модулей исходного описания. Для их последующего применения в других проектах, которые могут быть реализованы на базе ПЛИС различных семейств, каждый раз потребуется вносить изменения в выражения, содержащие временные и топологические параметры. Вынесение этих параметров в отдельные файлы (например, в файл временных и топологических ограничений проекта User Constraints File, UCF) позволяет преодолеть указанный недостаток [4]. Целью данной статьи является определения синтез процесса при использовании средств XST пакета WebPack ISE и ПЛИС семейства FPGA. Результатом является размещения и трассировки проекта в кристалл.

Использование файла UCF наиболее предпочтительно, так как при этом сохраняется универсальность модулей исходного описания, которые могут применяться в других проектах. Кроме того, для внесения корректив в параметры ограничений не требуется редактирование различных модулей исходного описания, достаточно лишь скорректировать содержимое файла UCF. Файл временных и топологических ограничений проекта имеет текстовый формат, каждая строка которого представляет собой выражение, описывающее соответствующий параметр. Для внесения информации в файл UCF можно использовать любой текстовый редактор, работающий под управлением операционных систем семейства Windows (по умолчанию используется «Блокнот») или специальную программу Constraints Editor пакета WebPACK ISE, которая на основании данных, указанных разработчиком в диалоговом режиме, автоматически формирует соответствующие выражения для описания ограничений проекта.

Основной материал

В файлах временных и топологических ограничений могут присутствовать параметры как локального, так и глобального характера. Объектами локальных ограничений являются отдельные экземпляры элементов описания проекта (цепи, компоненты, контакты). Глобальные параметры относятся ко всему проекту в целом или оказывают влияние на все элементы проекта, тип которых указан в соответствующем выражении. Большинство глобальных ограничений удобнее задавать в виде параметров выполняемого этапа (процесса) с помощью диалоговых панелей Навигатора проекта. Поэтому в файлах временных и топологических ограничений целесообразно задавать значения параметров, которые носят локальный характер, и глобальные ограничения, отсутствующие в диалоговых панелях опций процессов Навигатора проекта [1].

HDL-синтез проекта при использовании средств XST пакета WebPack ISE и ПЛИС семейства FPGA. Этап синтеза представляет собой процесс трансформации исходного HDL-описания проектируемого устройства в список цепей, выполненный на низком логическом уровне. Элементы низкоуровневого описания, формируемого в процессе синтеза, должны соответствовать архитектуре семейства ПЛИС, выбранного для реализации проекта. Синтезированный список цепей должен быть максимально адаптирован к ресурсам используемого кристалла, что обеспечивает его наиболее эффективное отображение средствами размещения и трассировки на физическом уровне. Поэтому результаты синтеза одного и того же проекта отличаются при использовании ПЛИС семейств CPLD и FPGA.

Процесс синтеза начинается с анализа исходного HDL-описания проектируемого устройства, в ходе которого делаются попытки выделения блоков кода, представимых в виде соответствующих макросов. Использование макросов часто позволяет повысить производительность разрабатываемого устройства, поэтому средства синтеза пытаются идентифицировать как можно большее их количество. Выделенные макросы в процессе последующей оптимизации, выполняемой на этапе синтеза, могут сохраняться в виде отдельных блоков или оптимизироваться совместно с окружающей логикой. Выбор одного из этих способов представления с целью достижения наилучших результатов оптимизации определяется типом и размером макроса. Управление процессом идентификации макросов различного типа (например, ПЗУ, ОЗУ, мультиплексоров, дешифраторов, приоритетных шифраторов, регистров сдвига) осуществляется с помощью соответствующих ограничений или параметров синтеза HDL options, которые детально будут рассмотрены ниже. Выделенные макросы впоследствии могут быть реализованы с помощью макрогенераторов, входящих в состав средств синтеза, размещения и трассировки.

Следующим шагом в процессе синтеза является оптимизация, которая выполняется в два захода. Вначале выполняется оптимизация каждого отдельного объекта или модуля HDL-описания. Затем производится их объединение и создается полный список соединений (netlist) проекта. Завершающим шагом является оптимизация полученного списка цепей [2].

Основным результатом этапа синтеза, выполняемого средствами Xilinx Synthesis Technology (XST), является формирования файла NGC, который представляет собой описание проекта на низком логическом уровне в двоичном формате. Управление процессом синтеза осуществляется с помощью параметров. Для установки требуемых значений необходимо в окне процессов (рисунок) щелчком левой кнопки мыши выделить строку Synthesize, после чего нажать кнопку расположенную на оперативной панели Навигатора проекта, или воспользоваться командой Properties контекстно-зависимого всплывающего меню, которое выводится при щелчке правой кнопки мыши. Диалоговая панель параметров синтеза, отображаемая на экране монитора, как и в случае использования кристаллов семейств CPLD, содержит три страницы, снабженные закладками с их названиями: «Synthesis options», «HDL options» и «Xilinx Specific options» [3].

Пример 1

Пример отчета о результатах выполнения процесса синтеза (раздел исходных данных).

Release 4.1WP0.x - xst E.30

Copyright (c) 1995-2001 Xilinx, Inc. All rights reserved.

-- > Parameter TMPDIR set to.

CPU : 0.00 / 1.32 s | Elapsed : 0.00 / 1.00 s

-- > Parameter overwrite set to YES

CPU : 0.00 / 1.32 s | Elapsed : 0.00 / 1.00 s

-- > Parameter xsthdpdir set to ./xst

CPU : 0.00 / 1.32 s | Elapsed : 0.00 / 1.00 s

-- > = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

---- Source Parameters

Input Format : VHDL

Input File Name : jc2.prj

---- Target Parameters

Target Device : xc2v40-cs144-5

Output File Name : jc2

Output Format : NGC

Target Technology : virtex2

---- Source Options

Entity Name : jc2

Automatic FSM Extraction : YES

FSM Encoding Algorithm : Auto

FSM Flip-Flop Type : D

Mux Extraction : YES

Resource Sharing : YES

Complex Clock Enable Extraction : YES

Multiplier Style : auto

ROM Extraction : Yes

RAM Extraction : Yes

RAM Style : Auto

Mux Style : Auto

Decoder Extraction : YES

Priority Encoder Extraction : YES

Shift Register Extraction : YES

Logical Shifter Extraction : YES

XOR Collapsing : YES

Automatic Register Balancing : No

---- Target Options

Add IO Buffers : NO

Equivalent register Removal : YES

Add Generic Clock Buffer(BUFG) : 16

Global Maximum Fanout : 100

Register Duplication : YES

Move First FlipFlop Stage : YES

Move Last FlipFlop Stage : YES

Slice Packing : YES

Pack IO Registers into IOBs : auto

Speed Grade : 5

---- General Options

Optimization Criterion : Speed

Optimization Effort : 1

Check Attribute Syntax : YES

Keep Hierarchy : No

Global Optimization : AllClockNets

Write Timing Constraints : No

Incremental Synthesis : NO

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Отчет содержит шесть основных разделов. В первом разделе сведения об исходных данных, при которых выполнялся процесс синтеза. Здесь указывается установленные значения параметров синтеза, рассмотренных выше, и некоторых общих параметров проекта (семейство и тип ПЛИС), а также форматы входных и выходных файлов. Второй раздел представляет информацию о компиляции и анализе объектов исходных HDL-описаний, которые производятся в соответствии с иерархической структурой проекта. Во второй части этого раздела отображается последовательность синтеза этих объектов. В третьем разделе расположены данные о макросах, идентифицированных средствами синтеза. Четвертый раздел отображает основные фазы оптимизации, выполняемой в процессе логического синтеза. Вначале производится оптимизация каждого иерархического модуля, после чего формируется общее описание проекта. Далее выполняется глобальная оптимизация проекта в целом. В зависимости от полученных результатов рассматриваемая секция отчета также может содержать предупреждения (WARNING), указывающие пути повышения уровня оптимизации проекта в процессе синтеза. В пятой части отчета приведены данные о выходных параметрах процесса синтеза и статистические характеристики полученных результатов (количество примитивов каждого типа, использованных в синтезированном описании проектируемого устройства). Шестая, заключительная часть отчета содержит информацию о временных параметрах синтезированного проекта.

Рабочая область основного окна Навигатора проекта пакета WebPack ISE

Вывод

Все временные характеристики, приведенные в разделе, указанные выше, носят предварительный характер. Более достоверная информация может быть получена только после выполнения этапа размещения и трассировки проекта в кристалл. Раздел временных характеристик включает в себя три секции: Clock Information, Timing Summary, Timing Detail. В первой секции (Clock Information) перечисляются сигналы синхронизации и типы буферных элементов, использованных для их формирования. Секция Timing Summary представляет предельные значения основных временных характеристик: максимальное значение тактовой частоты, минимальное время установления входных сигналов по отношению к сигналу синхронизации, максимальная задержка выходных сигналов по отношению к сигналу синхронизации, максимальная задержка распространения сигнала от входа до выхода через комбинационную логику. В секции Timing Detail дается детальное описание временных характеристик критических путей.

Список литературы

  1. Зотов В. WebPACK ISE: Интегрированная среда разработки конфигурации и программирования ПЛИС фирмы Xilinx. Создание нового проекта // Компоненты и технологии. - 2001. - № 7.
  2. Зотов В. Схемотехнический редактор пакета WebPACK ISE. Создание принципиальных схем и символов // Компоненты и технологии. - 2001. - №8.
  3. Зотов В. Синтез, размещение и трассировка проектов, реализуемых на базе ПЛИС CPLD фирмы Xilinx, в САПР WebPACK ISE // Компоненты и технологии. - 2002. - №1.
  4. Зотов В. WebPACK ISE - свободно распространяемый пакет проектирования цифровых устройств на базе ПЛИС Xilinx. Создание нового проекта // Компоненты и технологии. - 2001. - № 6.