Компоненты и технологии, № 4'2002 Софт
Реализация проектов на базе ПЛИС
семейств РРвД фирмы ХШпх в САПР WebPACK 1БЕ
Продолжая изучение процесса проектирования цифровых устройств на базе ПЛИС семейств РРЭД [6-8] фирмы ХШпх® в среде САПР ШеЬРДСК™ 1БЕ™, переходим к этапу реализации проекта. Пакет ШеЬРДСК 1БЕ включает средства, позволяющие выполнять размещение и трассировку проекта как в ручном, так и в автоматическом режиме.
В настоящей статье рассматриваются процедуры этапа реализации, выполняемого в автоматическом режиме.
Валерий Зотов
Структура этапа реализации проектов
Этап реализации (Implementation) проектов включает в себя три фазы: трансляция (Translate), отображение логического описания проекта на физические ресурсы кристалла (MAP), размещение и трассировка (Place and Route). В процессе трансляции выполняется объединение всех списков соединений в формате EDIF, входящих в состав проекта, и информации обо всех ограничениях, которая содержится в файлах UCF (User Constraints File) и NCF (Netlist Constraints File). Результатом фазы трансляции является формирование логического описания проекта в терминах примитивов Xilinx низкого уровня с учетом временных и топологических ограничений, выполненного в формате NGD (Native Generic Database). На второй стадии рассматриваемого этапа логическое описание проекта, полученное на предыдущем шаге, проецируется на физические ресурсы выбранного типа ПЛИС. При этом выполняется оптимизация в соответствии с выбранным критерием и заданными ограничениями. В процессе размещения и трассировки выбирается наилучшее расположение конфигурируемых логических блоков, реализующих соответствующие функции проекта, и выполняются необходимые соединения с учетом временных и топологических ограничений.
В результате выполнения рассматриваемого этапа создается двоичный файл, который описывает использование физических ресурсов кристалла для реализации элементов (функций) проектируемого устройства и выполнения необходимых соединений между ними. Этот файл затем используется в качестве исходного для генерации конфигурационной последовательности.
Параметры процесса реализации проектов
Для управления процедурами этапа реализации, выполняемыми в автоматическом режиме, используются соответствующие параметры. Их значения
могут быть заданы поочередно для каждой фазы в отдельности, например перед ее активизацией, или сразу для всего процесса в целом. В первом случае следует выделить в окне процессов (рис. 1) название соответствующей фазы, нажать кнопку Ш, расположенную на оперативной панели Навигатора проекта, или воспользоваться командой Properties контекстно-зависимого всплывающего меню, которое выводится при щелчке правой кнопкой мыши. Затем в появившейся диалоговой панели нужно установить требуемые значения параметров. При вто-
Sources in Project_________________
В 0 jcount_sch В readme В □ xc2v4Q-5f g25S-XST VHDL В laMIMHM
0 jc2jes.vhd
Module View | Д Snapshot View Ubrary View |
Processes fa Current Source:
Synthesize В О Implement Design Q T ranslate
ID Translation Report
О Generate Post-Translate Simulation Model
о Мар
в Map Report
® о Generate Post-Map Static Timing
о Floor plan Design
о Generate Post-Map Simulation Model
о Place & Route
в Place tx Route Report
в Asynchronous Delay Report
в Pad Report
щ о Generate Post-Place & Route Static Timing
о View/Edit Placed Design (FloorPlannet)
□ Analyze Power (XPower)
о Generate Post-Place I Route Simulation Model
в о Generate IBIS Model
ЕЕ- о Multi Pass Race & Route
о Back-annotate Pin Locations
Generate Programming File
Process View |~
Рис. 1. Рабочая область основного окна Навигатора проекта пакета WebPACK ^
Компоненты и технологии, № 4'2002
ром способе в окне процессов (рис. 1) выде- • ляется строка «Implement Design» и далее выполняется та же последовательность действий, что и в первом случае. Рассмотрим подробнее параметры процесса реализации.
При использовании второго способа диа- • логовая панель параметров содержит пять страниц с закладками: «Translate Property», «MAP Property», «Place and Route Properties», «Post-Map Static Timing Report Properties», «Post-Place & Route Timing Report Property» (рис. 2). Установка значений параметров производится теми же методами, что и в диалоговой панели параметров синтеза, рассмотренными в предыдущей статье [5].
Рис. 2. Диалоговая панель параметров процесса реализации (страница «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) расположены параметры управления процедурой отображения логического описания проекта на физические ресурсы кристалла.
Proccss Properties
Port-Мер Static Timing Report Properties
Post-Place I Route Sialic Timing Report Properties
Translate Properties Map Properties | Piece & Route Properties
Property llame Value
Trm Unconnected Signals F
Repkcate Logic to Alow Logic Levrt Reduction F
Map to Inpul Functions 4
Optimization Strategy (Cover Mode) Area
Generate Delated MAP Report Г
Use FlocrPtamer Fie
Use Gurie Design Fie (лей) —
Glide Mode None
kjnore RLOC Constrarts г
Pack Ю Register sAatches rto ІСЄ; Off
DcaWe Resfcter Ordering Г
CLB Pack Factor Percertage 100
Tri-state Buffer Transformation Mode Off
Perform Tmng Orv'en Pecking Г zi
Map Sice Logc into Unused Bock rams г
OK І Отмеиа | Справка
Рис. 3. Страница «MAP Property» диалоговой панели параметров процесса реализации проекта
Параметру Trim Unconnected Signals по умолчанию установлено значение «включено», предписывающее удаление неподключенных компонентов и цепей перед выполнением рас-
Є
Компоненты и технологии, № 4'2002
сматриваемой процедуры (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), который создается с помощью топологического редактора Floorp-lanner и может применяться в процессе распределения ресурсов кристалла в качестве управляющего. Название файла вводится непосредственно с клавиатуры после активизации поля редактирования значения этого параметра или выбирается с помощью стандартной диалоговой панели открытия файла, которая выводится при нажатии кнопки с пиктограммой в виде многоточия («...»). Если значение этого параметра не определено (по умолчанию), то файл 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) устанавливает уровень эффективности процедур размещения и трассировки проекта в кристалл. Этот параметр позволяет за счет выбора более совершенных алгоритмов размещения и трассировки (соответственно за счет увеличения времени выполнения рассматри-
Компоненты и технологии, № 4'2002
ваемого этапа) достичь более высоких результатов. И наоборот, при выборе менее сложных алгоритмов сокращается время выполнения процесса размещения и трассировки, но полученные результаты далеки от оптимальных. Для сложных проектов снижение времени, необходимого для выполнения размещения и трассировки, может привести к появлению неразведенных цепей и увеличению задержек распространения сигналов.
В выпадающем списке — пять элементов, расположенных в порядке возрастания уровня эффективности результатов размещения и трассировки: 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).
Process Properties
Рой-Мер Static Т mng Report Properties Post-Ptace & Route Static Timing Report Properties Translate Properties | Map Properties Race b RoUe Properties
Property llame Value
Place S Route effort Level (Overaf) ■.met, iif.та1 »j Defaul (None)
Placer Effort Level (Overrides Overal Level)
Router Effort Level (Overrides Overal Level) Detaut (None)
Extra Effort (rtghest PAR level only) OFF
SJartng Placer Cost Table (1-100) 1
Do Not Run Placer Г
Do Not Run RoUer г
Number of RoUno Passes (0-2000)
Cost-based Oan-up Passes (0-5) 0
Delay-based Oan-up Passes (0-5) Delay-based aean-up Passes (Completely Routed Desig
Place And Roue Mode Normal Place and Ro
Use Gude Design Fie
Glide Mode None
Use Tiring Constrarts F
Use Bonded UOs Г
Generate Detaled PAR Report IE
С
| ^^Отме«й^|____________| Справке
Рис. 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.
e
Компоненты и технологии, № 4'2002
Параметр 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, установленное по умолчанию, отчет содержит только сообщения об ошибках и данные задержек сигналов для соответствующих цепей;
Process Properties
т
Рой-Place & Route Stabc Timhg Report Properties Translate Properties I Mao Prooerbes | Place I Route Properties Рой-Мар Static Timing Report Properties
Property Name Value
Report Type -'iV.'l;-".'-1.! zi
Number of lems h Error/Verbose Report (0-32000) 3
Timing Report (Number of lems) 3
Perform Advanced Anatysis Г
Change Device Speed To
Report Uncovered Paths (Number of lems)
OK | Отмена | | Справка
Рис. 5. Страница «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, представлены параметры отчета о выполнении процедуры временного анализа, который может быть проведен после размещения и трассировки проекта в кристалл.
Рис. 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. Отчет содержит двенадцать разделов.
Компоненты и технологии, № 4'2002
Release 4.2WP0.x - ngdbuild Е.ЗЗ
Copyright (c) 199З-2ОО1 Xilinx, Inc. AH rights reserved.
Command Line: ngdbuild -dd f:/project/jcount/_ngo -nt timestamp -p xc2v40-fg2З6-З jc2.ngc jc2.ngd
Reading NGO file «F:/project/jcount/jc2.ngc» ...
Reading component libraries for design expansion...
Annotating constraints to design from file «jc2.ucf» ...
Checking timing specifications ...
Checking expanded design ...
WARNING:NgdBuild:479 - The input pad net 'clk' is driving one or more clock
loads that should only use a dedicated clock buffer. This could result in
large clock skews on this net. Check whether the correct type of BUF is being used to drive the clock buffer.
NGDBUILD Design Results Summary:
Number of errors: О
Number of warnings: l
Writing NGD file «jc2.ngd» ...
Writing NGDBUILD log file «jc2.bld»...
Рис. 7. Пример отчета о выполнении процесса трансляции проекта
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) процесса реализации формируются три отчета:
1. Place-and-Route Report предоставляет информацию обо всех итерациях процедур размещения и трассировки, которая включает данные о количестве разведенных и не-разведенных цепей, сообщения об ошибках и предупреждения.
2. Asynchronous Delay Report содержит значения задержек сигналов для всех цепей проекта.
3. 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.
е