Реализация проектов на базе ПЛИС FPGA фирмы Xilinx в САПР WebPACK ISE

№ 4’2002
Продолжая изучение процесса проектирования цифровых устройств на базе ПЛИС семейств FPGA [6–8] фирмы Xilinx® в среде WebPACK™ ISE™, переходим к этапу реализации проекта. Пакет WebPACK ISE включает средства, позволяющие выполнять размещение и трассировку проекта как в ручном, так и в автоматическом режиме. В настоящей статье рассматриваются процедуры этапа реализации, выполняемого в автоматическом режиме.

Продолжая изучение процесса проектирования цифровых устройств на базе ПЛИС семейств FPGA [6–8] фирмы Xilinx® в среде WebPACK™ ISE™, переходим к этапу реализации проекта. Пакет WebPACK ISE включает средства, позволяющие выполнять размещение и трассировку проекта как в ручном, так и в автоматическом режиме. В настоящей статье рассматриваются процедуры этапа реализации, выполняемого в автоматическом режиме.

Структура этапа реализации проектов

Этап реализации (Implementation) проектов включает в себя три фазы: трансляция (Translate), отображение логического описания проекта на физические ресурсы кристалла (MAP), размещение и трассировка (Place and Route). В процессе трансляции выполняется объединение всех списков соединений в формате EDIF, входящих в состав проекта, и информации обо всех ограничениях, которая содержится в файлах UCF (User Constraints File) и NCF (Netlist Constraints File). Результатом фазы трансляции является формирование логического описания проекта в терминах примитивов Xilinx низкого уровня с учетом временных и топологических ограничений, выполненного в формате NGD (Native Generic Database). На второй стадии рассматриваемого этапа логическое описание проекта, полученное на предыдущем шаге, проецируется на физические ресурсы выбранного типа ПЛИС. При этом выполняется оптимизация в соответствии с выбранным критерием и заданными ограничениями. В процессе размещения и трассировки выбирается наилучшее расположение конфигурируемых логических блоков, реализующих соответствующие функции проекта, и выполняются необходимые соединения с учетом временных и топологических ограничений.

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

Параметры процесса реализации проектов

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

, расположенную на оперативной панели Навигатора проекта, или воспользоваться командой Properties контекстно-зависимого всплывающего меню, которое выводится при щелчке правой кнопкой мыши. Затем в появившейся диалоговой панели нужно установить требуемые значения параметров. При втором способе в окне процессов (рис. 1) выделяется строка «Implement Design» и далее выполняется та же последовательность действий, что и в первом случае. Рассмотрим подробнее параметры процесса реализации.

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

При использовании второго способа диалоговая панель параметров содержит пять страниц с закладками: «Translate Property», «MAP Property», «Place and Route Properties», «Post-Map Static Timing Report Properties», «Post-Place & Route Timing Report Property» (рис. 2). Установка значений параметров производится теми же методами, что и в диалоговой панели параметров синтеза, рассмотренными в предыдущей статье [5].

Диалоговая панель параметров процесса реализации (страница «Translate Property»)

Страница «Translate Property» содержит таблицу параметров, используемых для управления процедурой трансляции проекта.

Параметр Ignore LOC Constraints позволяет исключить в процессе трансляции топологические ограничения, устанавливаемые с помощью выражений LOC = …, которые располагаются в модулях исходного описания и файлах UCF. Блокировка ограничений размещения объектов и цепей проекта необходима в случае изменения архитектуры или семейства ПЛИС, используемых для его реализации. По умолчанию установлено значение «выключено», запрещающее исключение ограничений размещения LOC при трансляции проекта.

С помощью параметра Netlist Translation Type устанавливается режим обновления промежуточных файлов (NGO) в процессе повторной трансляции проекта. Если в состав проекта входят модули, содержащие списки цепей (netlist), представленные в формате EDIF или XNF, то непосредственно перед трансляцией они автоматически преобразуются в промежуточные файлы двоичного формата. При повторной трансляции (когда соответствующие файлы NGO уже существуют) эта операция может исключаться в зависимости от значения параметра Netlist Translation Type. Выпадающий список значений этого параметра содержит три элемента:

  • Timestamp, установлено по умолчанию, повторное автоматическое преобразование выполняется только для тех списков цепей (файлов EDIF и XNF), которые имеют более поздние дату и время создания, чем соответствующий промежуточный файл NGO;
  • On предписывает всегда выполнять перед трансляцией автоматическое обновление промежуточных файлов (NGO) для всех списков цепей, представленных в формате EDIF и XNF;
  • Off повторное автоматическое преобразование файлов EDIF и XNF не производится (используются существующие версии промежуточных файлов NGO).

Значение параметра Implementation User Constraints File определяет название файла временных и топологических ограничений, используемого на этапе реализации проекта. Разработчик может получить несколько вариантов реализации проекта при различных сочетаниях ограничений, подготовив для этого соответствующие файлы UCF. По умолчанию, если значение этого параметра не задано, используется файл ограничений, название которого совпадает с именем модуля исходного описания верхнего уровня иерархии проекта, со стандартным расширением ucf. Название файла ограничений может быть введено непосредственно с клавиатуры после активизации поля редактирования значения этого параметра или выбрано при использовании стандартной диалоговой панели открытия файла — кнопка с пиктограммой в виде многоточия («…»).

Опция Disable Implementation Constraints применяется совместно с предыдущим параметром для предотвращения использования файла временных и топологических ограничений, установленного по умолчанию. Если значение параметра Implementation User Constraints File явно не определено, а параметр Disable Implementation Constraints установлен в состояние «включено», то в процессе размещения и трассировки не учитываются никакие файлы UCF. По умолчанию параметр Disable Implementation Constraints принимает значение «выключено».

Macro Search Path позволяет указать полное название каталога, в котором производится дополнительный поиск описаний макросов, компонентов схем, определяемых с помощью атрибутов FILE, а также промежуточных файлов NGO. Изменить значение этого параметра можно теми же способами, которые рассмотрены выше для определения названия файла временных и топологических ограничений Implementation User Constraints File. В строке значения параметра Macro Search Path можно указать названия нескольких каталогов, отделяя их друг от друга точкой с запятой.

Create I/O Pads from Ports разрешает или запрещает автоматическое формирование контактов (PAD) для всех интерфейсных цепей (Ports) верхнего уровня иерархии. Этот параметр следует использовать при наличии списков цепей, представленных в формате EDIF, в которых символы выводов представлены в виде сигналов интерфейса. По умолчанию для этого параметра установлено значение «выключено», запрещающее автоматическое создание контактов для интерфейсных цепей верхнего уровня иерархии.

С помощью параметра Allow Unexpanded Blocks осуществляется управление процессом создания результирующего файла NGD при обнаружении нетранслируемых блоков. В процессе трансляции выполняется преобразование блоков списков цепей к уровню NGD-примитивов. Если встречается блок, который не может быть представлен на уровне примитивов, то при этом в нормальном режиме выдается сообщение об ошибке и файл NGD не создается. При установке параметра Allow Unexpanded Blocks в состояние «включено» в случае обнаружения нераскрываемых блоков средства трансляции формируют выходной файл NGD, в который помещаются также нетранслируемые элементы, и соответствующее предупреждение. Таким образом, можно выполнить процессы размещения, трассировки, временного анализа и моделирования для незаконченных проектов. Значение «выключено», установленное по умолчанию, останавливает процесс трансляции при обнаружении нераскрываемых блоков.

User Rules File for Netlister Launcher определяет название файла, содержащего набор инструкций, которые используются для управления процессами трансляции. В этом файле разработчик может указать допустимые файлы списков цепей и параметры процесса их чтения. Для определения значения этого параметра можно воспользоваться теми же способами, которые рассмотрены выше для определения названия файла временных и топологических ограничений Implementation User Constraints File. Название файла инструкций, определяемого разработчиком, должно иметь расширение urf.

Параметр Ignore LOC Constraints on Invalid Object Names позволяет исключить из рассмотрения топологические ограничения, устанавливаемые с помощью выражений LOC = …, которые относятся к объектам, имеющим некорректные названия. По умолчанию для этого параметра установлено значение «выключено», запрещающее исключение указанных выражений ограничений.

На странице «MAP Property» (рис. 3) расположены параметры управления процедурой отображения логического описания проекта на физические ресурсы кристалла.

Страница «MAP Property» диалоговой панели параметров процесса реализации проекта

Параметру Trim Unconnected Signals по умолчанию установлено значение «включено», предписывающее удаление неподключенных компонентов и цепей перед выполнением рассматриваемой процедуры (MAP). Для предварительной оценки требуемых физических ресурсов кристалла и временных характеристик незавершенного проекта рекомендуется установить этот параметр в состояние «выключено». Незаконченные фрагменты проекта не будут исключаться из рассмотрения.

Replicate Logic to Allow Logic Level Reduction разрешает или запрещает замену одиночных элементов, которые имеют несколько нагрузок, соответствующим количеством их экземпляров с единственной цепью нагрузки. Данный параметр рекомендуется использовать при создании стратегии распределения ресурсов кристалла для реализации проекта, обеспечивающей быстрое и легкое выполнение временных ограничений. Значение «включено», установленное по умолчанию, обеспечивает сокращение количества уровней логики и тем самым уменьшение длительности задержек распространения сигналов.

Значение параметра Map to Input Functions указывает максимальное количество аргументов (входных сигналов) функций, реализуемых конфигурируемыми логическими блоками (Configurable Logic Block, CLB) ПЛИС семейств Virtex и Spartan-II [6–8]. Выпадающий список возможных значений этого параметра содержит три элемента: «4», «5», «6». Значение «4», установленное по умолчанию, соответствует использованию стандартных ресурсов функциональных генераторов. При выборе значения «5» допускается реализация функций пяти переменных за счет использования ресурсов дополнительной логики CLB (мультиплексоров F5). Установка «6» позволяет реализовывать функции шести переменных за счет использования мультиплексоров F6, которые входят в состав дополнительной логики CLB-кристаллов семейств Virtex и Spartan-II.

С помощью параметра Optimization Strategy (Cover Mode) определяется стратегия оптимизации, выполняемой во время фазы распределения ресурсов CLB-кристалла. На этой фазе производится назначение функциональных генераторов CLB для реализации соответствующих функций. Выпадающий список возможных значений включает четыре элемента:

  • Area, установленное по умолчанию, определяет в качестве критерия оптимизации минимизацию количества используемых таблиц преобразования (LUT), а следовательно, и конфигурируемых логических блоков;
  • Speed — целью оптимизации является уменьшение задержек распространения сигналов за счет сокращения количества уровней логики;
  • Balanced позволяет сочетать рассмотренные выше стратегии оптимизации;
  • Off запрещает оптимизацию при распределении ресурсов CLB-кристалла.

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

User Floorplanner File определяет возможность использования и название файла Map Floorplanner File (MFP), который создается с помощью топологического редактора Floorplanner и может применяться в процессе распределения ресурсов кристалла в качестве управляющего. Название файла вводится непосредственно с клавиатуры после активизации поля редактирования значения этого параметра или выбирается с помощью стандартной диалоговой панели открытия файла, которая выводится при нажатии кнопки с пиктограммой в виде многоточия («…»). Если значение этого параметра не определено (по умолчанию), то файл MFP не используется.

С помощью параметра Use Guide Design File указывается название файла NCD (Native Circuit Description), который используется в качестве образца. Этот параметр целесообразно использовать при внесении незначительных изменений в проект. Тогда в качестве образца может использоваться файл NCD, полученный на этапе реализации предыдущей версии проекта. Название используемого файла определяется теми же способами, что и значение предыдущего параметра.

Guide Mode устанавливает режим выполнения процедур по образцу. Выпадающий список значений этого параметра содержит три элемента:

  • Exact блокирует изменения уже отображенной части проекта;
  • Leverage — предпринимаются попытки сохранить представление реализованной части проекта, но в случае необходимости допускается его изменение;
  • None, установленное по умолчанию, запрещает использование шаблонов.

Значение параметра Ignore RLOC Constraints разрешает или запрещает учитывать топологические ограничения, устанавливаемые с помощью опции RLOC, которые задают расположение конфигурируемых логических блоков по отношению к другим. По умолчанию установлено значение «выключено», запрещающее исключать ограничения относительного расположения RLOC. Если Ignore RLOC Constraints переводится в состояние «включено», то при этом также игнорируются все топологические ограничения, определяемые с помощью параметра RLOC, которые содержат некорректную информацию, приводящую к появлению ошибок в процессе размещения и трассировки.

Параметр Pack I/O Registers/Latches into IOBs предназначен для управления упаковкой триггеров и защелок в ячейки ввода-вывода. Выпадающий список содержит четыре значения параметра:

  • Off, установленное по умолчанию, соответствует нормальному режиму распределения ресурсов, при котором триггеры и защелки упаковываются в ячейки ввода-вывода только при наличии соответствующих указаний в модулях исходного описания проекта;
  • For Inputs Only — для упаковки триггеров и защелок используются только соответствующие входные элементы блоков ввода-вывода;
  • For Outputs Only — для упаковки триггеров и защелок используются только соответствующие выходные элементы блоков ввода-вывода;
  • For Inputs and Outputs — разрешает выполнять упаковку триггеров и защелок, используя входные и выходные элементы ячеек ввода-вывода.

Disable Register Ordering разрешает или запрещает упорядочивание триггеров. По умолчанию установлено значение «выключено», разрешающее упорядочивание триггеров, которое выполняется в процессе оптимизации.

Значение параметра CLB Pack Factor Percentage указывает процент конфигурируемых логических блоков кристалла, используемых в MAP-процессе. Применяя этот параметр, можно повысить плотность упаковки проекта в кристалл, но это может неблагоприятно сказаться на результатах трассировки (появление неразведенных цепей). По умолчанию для ПЛИС семейств Virtex, VirtexE, Virtex-II и Spartan-II установлено значение 100 %.

С помощью параметра Tri-state Buffer Transformation Mode задается способ отображения буферных элементов с тристабильными выходами при использовании ПЛИС семейств Virtex-II и Spartan-II. В выпадающем списке возможных значений представлено три элемента: Aggressive, Limit, Off. При выборе Aggressive все тристабильные буферные элементы представляются с помощью ресурсов CLB. Значение Limit устанавливает режим частичного преобразования, когда трансформируется только часть буферных элементов с тристабильными выходами, превышающая ограничения кристалла. По умолчанию установлено значение Off, запрещающее реализацию тристабильных буферных элементов с помощью ресурсов CLB.

Опция Perform Timing-Driven Packing позволяет включить оптимизацию с учетом временных ограничений в процессе упаковки проекта. При значении «выключено», установленном по умолчанию, такая оптимизация не производится.

Параметр Map Slice Logic into Unused Block RAMs разрешает или запрещает привлекать ресурсы неиспользуемой блочной памяти для размещения элементов проекта. По умолчанию установлено значение «выключено», запрещающее использовать блочную память для отображения иных элементов.

Страница «Place and Route Properties» объединяет параметры управления процедурами размещения и трассировки проекта.

Place and Route Effort Level (Overall) устанавливает уровень эффективности процедур размещения и трассировки проекта в кристалл. Этот параметр позволяет за счет выбора более совершенных алгоритмов размещения и трассировки (соответственно за счет увеличения времени выполнения рассматриваемого этапа) достичь более высоких результатов. И наоборот, при выборе менее сложных алгоритмов сокращается время выполнения процесса размещения и трассировки, но полученные результаты далеки от оптимальных. Для сложных проектов снижение времени, необходимого для выполнения размещения и трассировки, может привести к появлению неразведенных цепей и увеличению задержек распространения сигналов. В выпадающем списке — пять элементов, расположенных в порядке возрастания уровня эффективности результатов размещения и трассировки: Lowest, Low, Normal, High, Highest. Значение Lowest позволяет минимизировать время размещения и трассировки за счет низкого уровня оптимизации этих процессов. При выборе Highest достигаются наилучшие результаты, но требуется максимальное время для выполнения всех процедур.

Параметры Placer Effort Level (Overrides Overall Level) и Router Effort Level (Overrides Overall Level) предназначены для раздельной установки уровня эффективности результатов размещения и трассировки соответственно. Выпадающие списки допустимых значений этих параметров содержат шесть элементов, расположенных в порядке повышения уровня эффективности получаемых результатов: None, Lowest, Low, Normal, High, Highest. Lowest позволяет минимизировать время выполнения процедур, но при этом получить самый низкий уровень их результатов. Для достижения наилучших результатов следует выбрать значение Highest, которое предписывает использовать комплексные алгоритмы размещения и трассировки, требующие максимального времени исполнения. В большинстве случаев рекомендуется использовать значение None, установленное по умолчанию, которое не оказывает никакого влияния на процессы размещения и трассировки соответственно. При этом управление этими процессами осуществляется с помощью предыдущего параметра. Если для какого-либо из параметров Placer Effort Level (Overrides Overall Level) и Router Effort Level (Overrides Overall Level) задано значение, отличающееся от None, то оно имеет более высокий приоритет по сравнению со значением параметра Place and Route Effort Level (Overall).

Extra Effort (Highest PAR level only) определяет возможность выделения дополнительного времени для выполнения процедур размещения и трассировки, необходимого для удовлетворения различных временных ограничений проекта. Этот параметр используется только в случае, если Place and Route Effort Level (Overall) принимает значение Highest. По умолчанию установлено значение Off, которое запрещает выделение дополнительного времени. При выборе Extra 1 допускается увеличение времени выполнения процедур размещения и трассировки.

С помощью параметра Starting Placer Cost Table (0–100) можно указать начальное значение, соответствующее стартовому индексу таблицы весовых коэффициентов, который используется в первой итерации процесса размещения и трассировки. Установленное число (в диапазоне от 0 до 100) является базовым при вычислении этого значения в последующих итерациях. Для каждого фактора, влияющего на результаты реализации проекта, как, например, временные и топологические ограничения, длина соединений, задается весовой коэффициент, определяющий его приоритет. Каждой стратегии размещения и трассировки соответствует определенное сочетание весовых коэффициентов, образующее таблицу весов. По умолчанию для этого параметра используется значение 1, которое может быть изменено с помощью клавиатуры после активизации соответствующего поля диалоговой панели (рис. 4).

Страница «Place and Route Properties» диалоговой панели параметров размещения и трассировки

Do Not Run Placer позволяет исключить процедуру размещения проекта. Значение «выключено», установленное по умолчанию, разрешает запуск и выполнение программ размещения.

Параметр Do Not Run Router разрешает или запрещает выполнение процедуры трассировки проекта в кристалл. По умолчанию этот параметр находится в состоянии «выключено», разрешающем запуск и выполнение программ трассировки.

Значение параметра Number of Routing Passes (0–2000) определяет максимальное количество итераций процедуры трассировки. Разработчик может с помощью клавиатуры задать любое число в диапазоне от 0 до 2000. Увеличение количества прогонов трассировки позволяет повысить эффективность результатов, но требует больших временных затрат.

С помощью параметра Cost-based Clean-up Passes (0–5) указывается количество дополнительных проходов процедуры трассировки, необходимых для углубленной оптимизации результатов этого процесса. Дополнительные итерации используются для повторной трассировки цепей с некорректной разводкой, которая выполняется на основании имеющихся в наличии ресурсов кристалла. Значение этого параметра, которое вводится с помощью клавиатуры после активизации соответствующего поля диалоговой панели (рис. 4), может находиться в диапазоне от 0 до 5. При нулевом значении, установленном по умолчанию, углубленная оптимизация не выполняется.

Delay-based Clean-up Passes (0–5) используется для управления повторной трассировкой цепей с некорректной разводкой, которая может быть выполнена на основании расчетов временных характеристик проектируемого устройства. С помощью клавиатуры можно указать число дополнительных проходов (в диапазоне от 0 до 5), используемых для углубленной оптимизации. По умолчанию повторная трассировка цепей, имеющих некорректную разводку, не производится.

Функции параметра Delay-based Clean-up Passes (Completely Routed Design) (0–5) аналогичны функциям предыдущей опции. Основное отличие заключается в том, что в случае установки ненулевого значения для Delay-based Clean-up Passes (Completely Routed Design) (0–5) углубленная оптимизация производится только после полной трассировки проекта. Следует обратить внимание на то, что при использовании ПЛИС семейств Virtex, VirtexE, Virtex-II и Spartan-II рекомендуется не изменять значения последних трех параметров, установленные по умолчанию. Дополнительные итерации процедуры трассировки проектов, реализуемых на базе кристаллов указанных семейств, требуют больших временных затрат, но имеют незначительный эффект.

Place and Route Mode определяет режим выполнения процесса размещения и трассировки. Выпадающий список содержит пять допустимых значений параметра:

  • Normal Place and Route, установленное по умолчанию, соответствует нормальному режиму трассировки и размещения, при котором выполняются все процедуры с учетом параметров, указанных разработчиком, или установленных по умолчанию;
  • Quick Place and Route — размещение и трассировка производятся без учета временных ограничений с минимальным уровнем эффективности, что позволяет сократить время их выполнения;
  • Quick Place and No Route позволяет провести быстрое размещение проекта без учета временных ограничений;
  • Route Only — используется для блокировки процедуры размещения, когда необходимо выполнить только трассировку проекта;
  • Reentrant Route — осуществляется многократное повторение процедур трассировки с целью оптимизации результатов.

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

С помощью параметра Use Guide Design File указывается название файла NCD, который используется в качестве образца на стадии размещения и трассировки. Этот параметр целесообразно использовать при внесении незначительных изменений в проект. Тогда в качестве образца может использоваться файл NCD, полученный на этапе реализации предыдущей версии проекта. Название используемого файла определяется теми же способами, что и значение параметра User Floorplanner File.

Параметр Guide Mode устанавливает режим выполнения по образцу процедур размещения и трассировки. Выпадающий список содержит три элемента:

  • Exact блокирует изменения размещения и трассировки уже размещенной и разведенной части проекта;
  • Leverage — средства размещения и трассировки пытаются сохранить расположение реализованной части проекта, но в случае необходимости (при размещении дополнительных элементов) допускается его изменение;
  • None, установленное по умолчанию, запрещает использование шаблонов.

Параметр Use Timing Constraints определяет, будут ли средствами размещения и трассировки приниматься во внимание временные ограничения проекта. При включенном значении этого параметра, установленном по умолчанию, оптимизация в процессе размещения и трассировки производится с учетом всех временных ограничений, указанных в модулях исходных описаний проекта и файлах ограничений UCF и NCF. Если для параметра Use Timing Constraints задано значение «выключено», то средства размещения и трассировки игнорируют всю информацию о временных ограничениях.

С помощью параметра Use Bonded I/Os разрешается или запрещается размещение внутренней интерфейсной логики в ячейки ввода-вывода, подключаемые к выводам кристалла, которые не используются при реализации проекта. По умолчанию установлено значение «выключено», при котором внутренняя интерфейсная логика распределяется в ячейки ввода-вывода, не подключенные к контактам ПЛИС. При переводе данного параметра в состояние «включено» необходимо убедиться в том, что соответствующие выводы кристалла не используются для подключения к внешним цепям, в том числе к цепям питания и «земля». Однако следует учитывать, что неподключенные контакты кристалла являются источником помех, которые могут привести к сбоям в работе ПЛИС.

Generate Detailed PAR Report указывает уровень детализации отчета о выполнении процедур размещения и трассировки. При установке значения «включено» в отчет помещается дополнительная информация, в частности о размещении макросов. По умолчанию используется значение «выключено», запрещающее запись в отчет дополнительной информации.

Страница «Post-Map Static Timing Report Properties» содержит параметры отчета о выполнении процедуры временного анализа, который может быть проведен после отображения логического описания проекта на физические ресурсы кристалла.

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

  • Error Report, установленное по умолчанию, отчет содержит только сообщения об ошибках и данные задержек сигналов для соответствующих цепей;
  • Страница «Post-Map Static Timing Report Properties» диалоговой панели параметров процесса реализации проекта
  • Verbose Report предписывает включать в состав отчета подробную информацию о задержках всех цепей проекта, для которых установлены ограничения.

Значение параметра Number of items in Error/Verbose Report (0–32000) указывает максимальное количество элементов, представленных в отчете об ошибках. По умолчанию принимает значение «3».

С помощью Timing Report (Number of items) ограничивается объем отчета о временных характеристиках. По умолчанию в отчет включается не более трех элементов.

Опция Perform Advanced Analysis позволяет провести углубленный анализ выполнения всех временных ограничений, указанных в проекте. Значение «выключено», установленное по умолчанию, запрещает проведение расширенного анализа.

Параметр Change Device Speed To рекомендуется использовать для исследования временных характеристик критических цепей проекта при изменении быстродействия кристалла, используемого для его реализации. Варьируя значение этого параметра, можно определить быстродействие ПЛИС, необходимое для удовлетворения всех временных ограничений проекта.

Report Uncovered Paths (Number of Items) указывает количество сообщений о цепях, на которые не влияют временные ограничения.

На странице «Post-Place & Route Timing Report Property», приведенной на рис. 6, представлены параметры отчета о выполнении процедуры временного анализа, который может быть проведен после размещения и трассировки проекта в кристалл.

Страница «Post-Place & Route Timing Report Property» диалоговой панели параметров процесса реализации проекта

Параметры Report Type, Number of items in Error/Verbose Report (0–32000), Timing Report (Number of items), Perform Advanced Analysis, Change Device Speed To и Report Uncovered Paths (Number of Items) выполняют те же функции, что и одноименные опции, рассмотренные выше, но относятся к отчету о результатах временного анализа, который осуществляется после размещения и трассировки проекта в кристалл.

Analyze Clock Skew for All Clocks разрешает или запрещает проведение анализа перекосов в распространении сигналов синхронизации и включение в отчет соответствующих результатов. По умолчанию используется значение «выключено», при котором анализ перекосов не выполняется.

С помощью параметра Stamp Timing Model Filename можно указать название файлов, которые описывают временную модель проекта и могут использоваться в процессе анализа результатов размещения и трассировки. Изменить значение этого параметра можно стандартными методами выбора названия файла, рассмотренными выше.

Timing Specification Interaction Report File позволяет задать название файла отчета со спецификацией взаимосвязей и его расположение на диске. Для модификации этого параметра используются способы определения названия файлов, представленные выше.

Выполнение этапа реализации проектов

После установки требуемых значений параметров для процедур реализации проекта следует подтвердить их нажатием клавиши ОК в нижней части диалоговой панели. Далее следует активизировать процесс реализации или поочередно каждую его фазу. Активизация процесса в полном объеме осуществляется двойным щелчком левой кнопкой мыши на строке Implement Design в окне процедур Навигатора проекта (рис. 1). Информация о ходе его выполнения отображается в окне консольных сообщений. Завершение выполнения каждой фазы этого процесса отмечается соответствующей пиктограммой в строке с ее названием и сопровождается отчетом о полученных результатах. Для просмотра отчета о выполнении трансляции следует дважды щелкнуть левой кнопкой мыши на строке Translation Report. В качестве примера на рис. 7 приведен отчет о выполнении трансляции проекта счетчика Джонсона, рассмотренного в предыдущих публикациях цикла, реализуемого на ПЛИС xc2v40. Отчет содержит информацию о каждом шаге трансляции (формировании файла в формате Xilinx NGD, проверке временных спецификаций, верификации логической структуры проекта), а также об ошибках и предупреждениях.

Пример отчета о выполнении процесса трансляции проекта

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

  1. Design Information содержит информацию об исходных параметрах процесса.
  2. Design Summary представляет статистику используемых ресурсов ПЛИС.
  3. Errors отображает сообщения об ошибках.
  4. Warnings содержит список предупреждений.
  5. Informational предлагает рекомендации для получения более эффективных результатов.
  6. Removed Logic Summary отражает общую информацию об элементах проекта, удаленных в процессе оптимизации.
  7. Removed Logic представляет детальную информацию об элементах, исключенных при оптимизации проекта.
  8. IOB Properties содержит подробное описание параметров блоков ввода-вывода кристалла, используемых для реализации проекта.
  9. RPMs отражает информацию о макросах с относительным размещением (Relationally Placed Macro), используемых в проекте.
  10. Guide Report представляет отчет о выполнении процедур по образцу.
  11. Area Group Summary содержит общую информацию о топологических группах.
  12. Modular Design Summary отражает данные модульного (распределенного) проектирования.

После выполнения заключительной фазы (Place-and-Route) процесса реализации формируются три отчета:

  • Place-and-Route Report предоставляет информацию обо всех итерациях процедур размещения и трассировки, которая включает данные о количестве разведенных и неразведенных цепей, сообщения об ошибках и предупреждения.
  • Asynchronous Delay Report содержит значения задержек сигналов для всех цепей проекта.
  • Pad Report описывает назначение всех выводов кристалла после загрузки конфигурационных данных проекта.

Чтобы открыть соответствующий отчет о результатах выполнении размещения и трассировки следует дважды щелкнуть левой кнопкой мыши на одноименной строке в окне процессов Навигатора проекта (рис. 1).

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

Литература

  1. Зотов В. WebPACK ISE — свободно распространяемый пакет проектирования цифровых устройств на базе ПЛИС фирмы Xilinx // Компоненты и технологии, 2001. № 6.
  2. Зотов В. WebPACK ISE: Интегрированная среда разработки конфигурации и программирования ПЛИС фирмы Xilinx. Создание нового проекта // Компоненты и технологии. 2001. № 7.
  3. Зотов В. Схемотехнический редактор пакета WebPACK ISE. Создание принципиальных схем и символов // Компоненты и технологии. 2001. № 8.
  4. Зотов В. Синтез, размещение и трассировка проектов, реализуемых на базе ПЛИС CPLD фирмы Xilinx, в САПР WebPACK ISE // Компоненты и технологии. 2002. № 1.
  5. Зотов В. Синтез проектов, реализуемых на базе ПЛИС FPGA фирмы Xilinx, в САПР WebPACK ISE // Компоненты и технологии. 2002. № 3.
  6. Кнышев Д. А., Кузелин М. О. ПЛИС фирмы Xilinx: описание структуры основных семейств. М.: Издательский дом «Додэка-XXI». 2001.
  7. Кузелин М. ПЛИС фирмы Xilinx: семейство Spartan-II // Компоненты и технологии. 2001. № 3.
  8. Кузелин М. ПЛИС фирмы Xilinx: семейство Virtex-II // Chip News. 2002. № 2.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *