Конвертирование проектов цифровых устройств, разрабатываемых на основе ПЛИС и полностью программируемых систем на кристалле фирмы Xilinx в среде ISE Design Suite, в формат САПР Vivado Design Suite. Часть 2
Процесс конвертирования проектов, как сформированных с помощью управляющей оболочки пакета ISEDesign Suite Project Navigator, так и разработанных в среде PlanAhead, в формат САПР Vivado Design Suite с использованием функции автоматического импортирования можно выполнять альтернативным способом. Для этого нужно в стартовом окне интегрированной среды разработки Vivado Integrated Design Environment (рис. 3, КиТ № 8`2013, стр. 62) выбрать вариант Open Project, позволяющий открыть существующий проект. В том случае, если в САПР Vivado Design Suite уже открыт какой-либо проект, то нужно активизировать одноименную команду из всплывающего меню File, как показано на рис. 15. При выполнении команды Open Project на экран выводится диалоговая панель поиска файлов проектов, созданных в среде Project Navigator, PlanAhead и VivadoIntegrated Design Environment, вид которой аналогичен представленному на рис. 9 (КиТ № 8`2013, стр. 64). С помощью этой диалоговой панели нужно выбрать проект, который должен быть преобразован в формат САПР Vivado Design Suite.
После выбора требуемого проекта на экран выводится диалоговая панель, заголовок которой зависит от типа конвертируемого проекта. Если открывается проект, разработанный с помощью Project Navigator, то на экране появляется диалоговая панель с заголовком Import ISE Project As, вид которой приведен на рис. 16.
При открытии проекта, выполненного средствами PlanAhead, на экран выводится диалоговая панель с заголовком Convert PlanAhead Project to Vivado, вид которой показан на рис. 17.
В верхней части этих диалоговых панелей содержатся предупреждения, информирующие о том, что в процессе импортирования будет изменен тип кристалла, используемый для реализации конвертированного проекта, игнорируются файлы временных и топологических ограничений в формате UCF, а также файлы об установке стратегий синтеза и реализации, предлагаемых по умолчанию в интегрированной среде разработки Vivado Integrated Design Environment. Диалоговые панели с заголовками Import ISE Project As и ConvertPlanAhead Project to Vivado включают в себя поля редактирования Project Name и Project Location, в которых отображается название конвертированного проекта и место его расположения на диске соответственно. По умолчанию для записи проекта, формируемого в результате импортирования, предлагается рабочий каталог исходного проекта. В качестве названия нового проекта предлагается вариант project_n, где n — порядковый номер проекта в указанном каталоге. Рекомендуется изменить предлагаемые варианты названия и расположения конвертированного проекта теми же способами, которые были рассмотрены в первой части этой статьи. Рабочий каталог сформированного проекта целесообразно создать в той же папке, в которой находится рабочий каталог исходного проекта.
Для автоматического создания нового рабочего каталога необходимо, чтобы индикатор состояния Createproject subdirectory находился во включенном положении, отмеченный маркером (рис. 16, 17). Активизация процесса автоматического импортирования проекта, созданного с помощью Project Navigator и средствамиPlanAhead, осуществляется нажатием клавиши OK, расположенной в нижней части диалоговых панелей Import ISE Project As и Convert PlanAhead Project to Vivado соответственно. После успешного завершения этого процесса в большинстве случаев необходимо скорректировать параметры проекта, сгенерированного в результате конвертирования.
Корректировка основных параметров конвертированного проекта разрабатываемого устройства или встраиваемой микропроцессорной системы
Для изменения значений параметров конвертированного проекта разрабатываемого устройства или встраиваемой микропроцессорной системы в САПР Vivado Design Suite следует воспользоваться кнопкой быстрого доступа Ico3.bmp, расположенной на оперативной панели, или командой Project Settings, которая представлена в разделе Project Manager панели управления основными процессами Flow Navigator (рис. 14, КиТ № 8`2013, стр. 65), а также во всплывающем меню Tools. После нажатия этой кнопки или активизации команды Project Settings на экран выводится диалоговая панель установки параметров проекта, имеющая одноименный заголовок. Ее первоначальный вид показан на рис. 18.
Диалоговая панель Project Settings включает в себя шесть страниц, каждая из которых объединяет определенную категорию параметров проекта. Доступ к требуемым страницам предоставляют пиктограммы, расположенные в левой части этой диалоговой панели, и соответствующие команды Flow Navigator — панели управления основными процессами, выполняемыми в ходе проектирования. Страница General, отображаемая при открытии диалоговой панели Project Settings, содержит основные параметры проекта САПР Vivado Design Suite. На этой странице, прежде всего, необходимо уточнить тип кристалла, используемого для реализации разрабатываемого устройства или встраиваемой микропроцессорной системы, который представлен в поле редактирования/выбора Project Device (рис. 18).
Если исходный проект разрабатывался в среде ISE Design Suite на базе ПЛИС серий Artix-7, Kintex-7, Virtex-7 [2, 11–17] или расширяемых вычислительных платформ семейства Zynq-7000 AP SoC [3–9], то для реализации конвертированного проекта в САПР Vivado Design Suite будет предложен тот же тип кристалла. Если же в проекте ISE Design Suite был выбран тип ПЛИС, который не поддерживается САПР Vivado Design Suite, то поле редактирования/выбора Project Device будет содержать условное обозначение типа кристалла, предлагаемого по умолчанию в среде разработки Vivado Integrated Design Environment. Для изменения предлагаемого типа ПЛИС или расширяемой вычислительной платформы следует воспользоваться кнопкой с пиктограммой в виде многоточия, которая расположена справа от поля Project Device. При нажатии на нее на экране появляется диалоговая панель выбора типа кристалла с заголовком Select Device, первоначальный вид которой изображен на рис. 19.
В этой диалоговой панели представлена таблица, в которой перечислены все типы ПЛИС и расширяемых вычислительных платформ, которые поддерживаются используемой редакцией САПР Vivado Design Suite, а также их основные параметры. В соответствующих колонках таблицы приведена информация о количестве доступных пользовательских входов/выходов (I/O Pin Count), блоков ввода/вывода (Available IOBs), таблиц преобразования (LUT Elements), триггеров (FlipFlops), модулей блочной памяти (Block Rams), секций цифровой обработки сигналов (DSPs), высокоскоростных последовательных приемопередатчиков различного типа (GB, GTXE2 и GTPE2 Transceivers), контроллеров интерфейса PCI Express (PCI Buses) и комбинированных модулей управления синхронизацией (MMCMs), а также сведения о температурных характеристиках (Min, Ref, Max OperatingTemperature и Temperature Grade Letter) и напряжении питания ядра (Min, Ref, Max Operating Voltage) каждого кристалла. Такое представление основных характеристик ПЛИС и расширяемых вычислительных платформ позволяет быстро выбрать требуемый тип кристалла, не обращаясь к документации.
Для облегчения и сокращения времени поиска требуемого типа ПЛИС или программируемой системы на кристалле рекомендуется использовать соответствующие фильтры, которые можно устанавить с помощью полей выбора, расположенных над таблицей в диалоговой панели Select Device (рис. 19). Эти поля позволяют указать следующие параметры отбора кристаллов:
- Категорию, к которой относится выбираемая серия ПЛИС или расширяемая вычислительная платформа.
- Серию ПЛИС или программируемых систем на кристалле, на базе которой разрабатывается проектируемое устройство.
- Семейство кристаллов программируемой логики или расширяемых вычислительных платформ, выбранное для реализации разрабатываемого устройства.
- Тип корпуса ПЛИС или программируемой системы на кристалле.
- Градация быстродействия используемого кристалла.
- Температурный диапазон, поддерживаемый ПЛИС или расширяемой вычислительной платформой.
Установка перечисленных ограничений выбора кристаллов позволяет существенно сократить список возможных вариантов при определении требуемого типа ПЛИС или расширяемой вычислительной платформы для реализации импортированного проекта.
Чтобы указать категорию, к которой относится кристалл программируемой логики или расширяемой вычислительной платформы, выбираемый для реализации конвертированного проекта, нужно в выпадающем списке поля выбора Product Category выделить название соответствующей группы. Фирма Xilinxклассифицирует все выпускаемые семейства кристаллов в соответствии с областью их применения по следующим категориям:
- семейства ПЛИС и расширяемых вычислительных платформ общего назначения (General Purpose);
- семейства кристаллов, ориентированные на применение в автомобильной электронике (Automotive);
- семейства ПЛИС и расширяемых вычислительных платформ повышенной надежности, предназначенные для использования в военной технике (Military/Hi-Reliability);
- семейства ПЛИС и расширяемых вычислительных платформ, выпускаемые в радиационно-стойком исполнении (Radiation Hardened).
Если при последующем выборе необходимо отобразить список всех доступных семейств кристаллов (без деления по категориям), следует для параметра Product Category выбрать значение All.
Для определения серии ПЛИС или расширяемой вычислительной платформы, на базе которой проектируется устройство или встраиваемая микропроцессорная система, следует воспользоваться полем выбора значения параметра Family. При нажатии на кнопку, находящуюся в правой части этого поля выбора, на экране отображается выпадающий список серий кристаллов, которые относятся к выбранной ранее категории ПЛИС и расширяемых вычислительных платформ. Если для параметра Product Category используется значение All,предлагаемое по умолчанию, то в этом списке будут содержаться названия всех семейств ПЛИС и расширяемых вычислительных платформ, которые поддерживает применяемая редакция средств проектирования Vivado Design Suite.
С помощью поля выбора параметра Sub-Family можно указать конкретное семейство, в рамках которого должен осуществляться поиск кристалла для реализации конвертированного проекта. Выпадающий список этого поля выбора содержит названия всех семейств ПЛИС или расширяемых вычислительных платформ, входящих в состав выбранной серии. При использовании варианта All в таблице будут отображаться условные обозначения кристаллов всех семейств серии, указанной в поле выбора параметра Family.
Тип корпуса ПЛИС или программируемой системы на кристалле, применяемой для реализации импортированного проекта, конкретизируется в поле выбора параметра Package. Выпадающий список возможных значений этого поля содержит условные обозначения только тех типов корпусов, в которых выпускаются кристаллы выбранного семейства. В случае выбора значения All в таблице будут приведены сведения обо всех видах корпусного исполнения кристаллов программируемой логики или расширяемых вычислительных платформ этого семейства.
Для определения категории быстродействия кристалла, используемого для реализации конвертированного проекта, предназначено поле выбора параметра Speed grade. Выпадающий список этого поля отображает выпускаемый ряд градации по быстродействию для выбранного семейства ПЛИС или расширяемых вычислительных платформ. Если в поле выбора параметра Speed grade указан вариант All, то в таблице будут представлены условные обозначения кристаллов заданного семейства, обладающих различным быстродействием.
Конкретизация температурного диапазона, в котором может функционировать ПЛИС или программируемая система на кристалле, применяемая для реализации конвертированного проекта, осуществляется с помощью поля выбора параметра Temp grade. Выпадающий список этого поля выбора включает в себя условные обозначения температурного исполнения кристаллов программируемой логики или расширяемых вычислительных платформ. Если в поле выбора параметра Temp grade установлено значение All,то в таблице будут представлены условные обозначения ПЛИС или программируемых систем на кристалле заданного семейства со всеми вариантами температурного исполнения.
После установки всех необходимых значений параметров выбора кристалла в таблице, представленной в диалоговой панели Select Device, будет отображаться информация только о тех ПЛИС или программируемых системах на кристалле, которые соответствуют заданным критериям поиска. Для выбора конкретного типа кристалла достаточно поместить курсор на соответствующую строку этой таблицы и щелкнуть левой кнопкой мыши. В результате условное обозначение требуемого типа ПЛИС или расширяемой вычислительной платформы появится в поле выбора Project Device на странице General диалоговой панели Project Settings (рис. 18).
Если для реализации конвертированного проекта предполагается использовать инструментальный модуль, выпускаемый фирмой Xilinx или компанией Avnet Electronic Marketing совместно с Digilent, Inc., то в диалоговой панели Select Device целесообразно указать не тип соответствующего кристалла, а название требуемой отладочной платы. Для этого во встроенной панели Specify, расположенной в диалоговой панели выбора типа кристалла (рис. 19), следует выбрать вариант Boards, расположив курсор на пиктограмме Ico4.bmp и щелкнув левой кнопкой мыши. После этого диалоговая панель Select Device приобретает вид, показанный на рис. 20.
В таблице, представленной в этой диалоговой панели, отображается информация обо всех отладочных платах, поддерживаемых текущей версией средств проектирования. Содержание списка поддерживаемых отладочных плат зависит от используемой редакции САПР Vivado Design Suite. Полный спектр выпускаемых средств аппаратной отладки, включающий в себя, в частности, инструментальные модули Xilinx Zynq-7000 SoCZC702 Evaluation Board [25], ZedBoard (Zynq Evaluation and Development Board) [26] и Xilinx KC705 Evaluation Board [27], доступен только в редакции System Edition.
В колонке Board рассматриваемой таблицы приводятся полные названия инструментальных модулей. По мере выпуска новых средств аппаратной отладки и последующих версий САПР Vivado Design Suite этот список будет расширяться. В колонку Board Vendor включены сведения о производителе отладочной платы в виде названия официальной интернет-страницы соответствующей компании. В колонке Board Library отображается название библиотеки, к которой относится инструментальный модуль. Это название совпадает с обозначением серии кристалла, установленного на отладочной плате. Колонка Board Name содержит сокращенные названия отладочных плат. В колонке Board Version отображается условное обозначение модификации (версии исполнения) инструментального модуля. В остальных колонках таблицы представлена информация об основных характеристиках кристалла, установленного на соответствующей отладочной плате.
Для ускорения поиска требуемого инструментального модуля можно воспользоваться полями выбора, которые расположены в верхней части диалоговой панели Select Device. С помощью поля выбора Board Vendorможно ограничить отображаемый список названиями отладочных плат только определенного производителя. В поле выбора Library можно задать серию ПЛИС или расширяемых вычислительных платформ, на базе которых выполнена отладочная плата. Поле выбора Name позволяет указать конкретное название инструментального модуля. В поле выбора Version определяется состав отображаемых модификаций (версий исполнения) отладочных плат. По умолчанию в этом поле предлагается вариант Latest, при котором в таблице приводятся сведения только о последних версиях инструментальных модулей. Если во всех перечисленных полях выбора представлен вариант All, то таблица будет содержать информацию обо всех разновидностях отладочных плат, поддерживаемых текущей версией применяемой редакции средств проектирования Vivado Design Suite.
Далее нужно уточнить (и при необходимости изменить) язык HDL, который будет использоваться по умолчанию в качестве основного в конвертированном проекте. Требуемый язык описания аппаратных средств указывается в поле выбора Target Language, которое расположено на странице основных параметров проектадиалоговой панели Project Settings (рис. 18). Выпадающий список этого поля выбора содержит два варианта — VHDL и Verilog.
Затем рекомендуется проконтролировать название модуля описания верхнего уровня иерархии в сформированном проекте, которое отображается в поле редактирования Top Module Name на странице Generalдиалоговой панели установки параметров проекта (рис. 18). Если необходимо изменить предлагаемый идентификатор, то рекомендуется воспользоваться кнопкой с пиктограммой в виде многоточия, которая расположена справа от этого поля редактирования. При нажатии на эту кнопку на экране появляется диалоговая панель с заголовком Select Top Module, вид которой изображен на рис. 21.
В этой диалоговой панели представлен список названий модулей исходного описания конвертированного проекта, которые могут использоваться в качестве модуля верхнего уровня иерархии. В приведенном списке нужно с помощью мыши выделить строку, содержащую идентификатор требуемого модуля описания, и подтвердить сделанный выбор нажатием клавиши OK, которая расположена в нижней части диалоговой панели Select Top Module (рис. 21). После этого идентификатор выбранного модуля автоматически запишется в поле редактирования Top Module Name.
Для указания дополнительных параметров языка описания аппаратных средств, применяемого в конвертированном проекте, следует воспользоваться полем редактирования Language Options, которое также находится на странице General диалоговой панели Project Settings (рис. 18). Чтобы задать требуемые параметры для используемого языка HDL, нужно нажать кнопку с пиктограммой в виде многоточия, которая расположена справа от этого поля редактирования. После нажатия на нее на экран выводится диалоговая панель с заголовком Language Options, вид которой представлен на рис. 22.
Параметры языка Verilog перечисляются в поле редактирования Verilog Options диалоговой панели Language Options. Для установки необходимых дополнительных параметров этого языка описания аппаратных средств следует воспользоваться кнопкой, расположенной справа от указанного поля редактирования. При этом появляется диалоговая панель с заголовком Verilog Options, вид которой показан на рис. 23.
В открывшейся диалоговой панели можно задать пути поиска файлов, включаемых в состав модулей исходного описания импортированного проекта директивой include. Информация о каталогах, содержащих включаемые файлы, отображается в виде списка во встроенной панели Verilog Include Files Search Paths (рис. 23). Чтобы добавить новый раздел в этот список, нужно нажать кнопку Add Directories, после чего с помощью появившейся панели навигации указать требуемый каталог.
Кроме того, диалоговая панель Verilog Options позволяет определить макросы, применяемые в модулях исходного описания конвертированного проекта. Сведения о заданных определениях макросов приводятся во встроенной панели Defines. Чтобы добавить в эту панель новое определение макроса, необходимо нажать кнопку Add, которая находится под этой панелью (рис. 23). При этом на экран выводится диалоговая панель с заголовком Add Value, вид которой показан на рис. 24. С помощью этой панели указывается новое определение макроса, которое отображается затем во встроенной панели Defines.
Чтобы все идентификаторы, используемые в модулях исходного описания на языке Verilog, были автоматически представлены в символах верхнего регистра клавиатуры, необходимо убедиться, что индикатор Uppercase all identifiers находится во включенном состоянии, отмеченном маркером.
При использовании параметризированных описаний в составе импортируемого проекта рекомендуется обратить внимание на поле редактирования Generics/Parameters, расположенное в диалоговой панели Language Options (рис. 22). В этом поле редактирования указываются значения, устанавливаемые для применяемых настраиваемых параметров (generic в VHDL-описании или parameter в Verilog-описании). При необходимости можно добавить определения значений настраиваемых параметров, используя кнопку, расположенную справа от этого поля. После ее нажатия появляется диалоговая панель с заголовком Generics/Parameters, вид которой изображен на рис. 25.
В открывшейся диалоговой панели отображается список параметров настройки и их используемых значений. Чтобы добавить в этот список новые определения настраиваемых параметров, нужно воспользоваться кнопкой Add, которая находится в указанной панели (рис. 25). При нажатии этой кнопки на экран выводится диалоговая панель с заголовком Add Value, аналогичная представленной на рис. 24. В поле редактирования Nameследует записать идентификатор настраиваемого параметра, а в поле Value — его значение, которое будет использоваться вместо значения, присваиваемого по умолчанию в модуле исходного описания проекта.
Завершая контроль и установку параметров для языка HDL, используемого в конвертированном проекте, в диалоговой панели Language Options, при необходимости, можно указать в поле редактирования Top Libraryназвание библиотеки, в которой находится модуль описания верхнего уровня иерархии, а также в поле Loop Count — максимальное количество итераций в операторах цикла (рис. 22).
После корректировки основных параметров конвертированного проекта рекомендуется проконтролировать параметры процессов моделирования, синтеза, размещения и трассировки, а также генерации конфигурационной последовательности и управления IP-ядрами.
Корректировка параметров моделирования импортированного проекта разрабатываемого устройства или встраиваемой системы
Чтобы установить требуемые значения параметров моделирования импортированного проекта разрабатываемого устройства или встраиваемой микропроцессорной системы, необходимо открыть страницу Simulation диалоговой панели Project Settings. Для этого нужно поместить курсор на пиктограмму Ico5.bmp, которая расположена в левой части этой диалоговой панели (рис. 18), и щелкнуть левой кнопкой мыши, или воспользоваться командой Simulation Settings, представленной в разделе Project Manager панели управления основными процессами, выполняемыми в ходе проектирования, Flow Navigator (рис. 14). Страница Simulation содержит общие параметры моделирования и четыре вкладки, каждая из которых предоставляет доступ к соответствующей группе специальных параметров. На рис. 26 приведено изображение рассматриваемой страницы с открытой вкладкой Compilation.
Прежде всего, на странице Simulation рекомендуется указать средства моделирования конвертированного проекта, воспользовавшись полем выбора параметра Target Simulator. Выпадающий список этого поля выбора содержит два возможных варианта — Vivado Simulator и QuestaSim/ModelSim. Для использования встроенных средств моделирования САПР Vivado Design Suite нужно указать вариант Vivado Simulator, предлагаемый по умолчанию. Если в качестве средств верификации импортированного проекта предполагается применять систему моделирования ModelSim/QuestaSim компании Mentor Graphics, то для параметра Target Simulator необходимо выбрать второй, одноименный вариант.
Затем нужно выбрать или определить набор тестовых воздействий, который будет применяться в процессе моделирования устройства или встраиваемой микропроцессорной системы. Для этой цели предназначено поле выбора Simulation Set, выпадающий список которого содержит идентификаторы сформированных наборов тестовых воздействий импортированного проекта. Для создания нового набора в выпадающем списке поля выбора Simulation Set предусмотрен также вариант Create Simulation Set, при выборе которого на экран выводится одноименная диалоговая панель (рис. 27).
В открывшейся диалоговой панели Create Simulation Set необходимо в поле редактирования EnterSimulation Set Name указать название создаваемого набора. По умолчанию в этом поле предлагается вариант названия в виде sim_n, где n — порядковый номер создаваемого набора тестовых воздействий. После закрытия диалоговой панели Create Simulation Set название сформированного набора автоматически заносится в поле выбора Simulation Set.
Далее следует с помощью поля выбора Simulation top module name указать идентификатор модуля исходного описания, который будет использоваться в качестве модуля верхнего уровня иерархии в процессе моделирования. Для отображения списка доступных модулей верхнего уровня иерархии нужно воспользоваться кнопкой, расположенной справа от этого поля выбора. При нажатии на нее появляется диалоговая панель с заголовком Select Top Module, вид которой аналогичен представленному на рис. 21. В списке идентификаторов модулей исходного описания, отображаемых в этой диалоговой панели, следует выбрать название требуемого модуля, представляющего испытательный стенд, после чего оно автоматически отобразится в поле выбора Simulation top module name.
Для автоматического удаления файлов, создаваемых в процессе моделирования, необходимо проследить, чтобы индикатор состояния параметра Clean up simulation files находился во включенном положении (рис. 26). После установки значений общих параметров моделирования конвертированного проекта нужно определить значения параметров, представленных на различных вкладках страницы Simulation диалоговой панели ProjectSettings. При этом следует обратить внимание на то, что содержание вкладок Compilation и Simulation зависит от используемого языка описания HDL и выбранных средств моделирования.
Вкладка Compilation позволяет задать требуемые значения параметров, применяемых в процессе компиляции исходных описаний импортированного проекта. На рис. 26 показан вид этой вкладки при использовании встроенных средств моделирования Vivado Simulator. Параметры языка HDL, применяемого для описания моделей разрабатываемых устройств и встраиваемых систем, определяются с помощью полей выбора Verilog Options и Generics/Parameters. Установка их значений осуществляется таким же образом, как и для одноименных параметров, представленных в диалоговой панели Language Options (рис. 22).
С помощью опции командной строки —debug указывается объем отладочных возможностей, поддерживаемых формируемой моделью. Список возможных значений этого параметра включает в себя три варианта — typical, off и all. При использовании значения typical, предлагаемого по умолчанию для рассматриваемого параметра, в состав создаваемой модели включается только наиболее часто используемая отладочная информация, чем обеспечивается высокая скорость выполнения процесса моделирования. Значение offзапрещает включение отладочной информации в состав формируемой модели. Чтобы задействовать все возможности отладки в процессе моделирования, для параметра -debug следует выбрать вариант all. В этом случае процесс моделирования сопровождается формированием полной отладочной информации, что приводит к увеличению суммарного времени выполнения этого процесса.
Опция командной строки —mt позволяет определить количество параллельно выполняемых процессов компиляции. В списке возможных значений этого параметра представлены следующие варианты — auto, off, 2, 4, 8, 16 и 32. По умолчанию для параметра —mt установлен вариант auto, при котором средства компиляции автоматически выбирают количество параллельно выполняемых процессов в соответствии с возможностями процессора применяемого компьютера.
Параметр SDF Delay предоставляет возможность выбора одного из двух вариантов значений задержек распространения сигналов, представленных в файле SDF (Standard Delay Format), при осуществлении моделирования. В выпадающем списке возможных значений этого параметра представлены следующие варианты: sdfmax и sdfmin. При использовании значения sdfmax, установленного по умолчанию, проектируемое устройство моделируется с учетом максимальной величины задержки, указанной в соответствующем файле SDF. Значение sdfmin соответствует режиму моделирования при минимальной задержке распространения сигналов в разрабатываемом устройстве.
Опция командной строки —rangecheck позволяет разрешить или запретить контроль достоверности назначаемых значений сигналов в течение выполнения процесса моделирования. При включенном состоянии индикатора этого параметра в ходе моделирования осуществляется проверка соответствия назначаемых значений сигналов допустимому диапазону, который определяется типами этих сигналов. Если индикатор параметра —rangecheck установлен в состояние «Выключено», то контроль достоверности значений сигналов в процессе моделирования не производится, что обеспечивает повышение скорости выполнения этого процесса.
Параметр Enable fast simulation models открывает возможность повышения скорости процесса моделирования за счет использования библиотеки UNIFAST Library. Рекомендуется применять эту библиотеку на этапе предварительной верификации импортированного проекта. Чтобы разрешить поддержку UNIFAST Library в процессе моделирования, необходимо установить индикатор состояния параметра Enable fast simulation models в положение «Включено».
С помощью параметра More Compilation Options можно указать дополнительные опции командной строки для управления процессом компиляции HDL-кода.
В случае выбора в качестве инструмента моделирования системы ModelSim/QuestaSim страница Simulation с вкладкой Compilation приобретает вид, представленный на рис. 28.
На странице Simulation и вкладке Compilation кроме рассмотренных ранее появляется ряд дополнительных параметров.
В поле редактирования значения параметра Compiled library location отображается название раздела, используемого для хранения скомпилированных библиотек. По умолчанию скомпилированные библиотеки располагаются в соответствующем разделе рабочего каталога конвертированного проекта. Для выбора другого раздела целесообразно воспользоваться панелью навигации по дискам компьютера, которая открывается при нажатии кнопки, расположенной справа от поля редактирования параметра Compiled library location.
С помощью параметра VHDL Syntax выбирают стандарт синтаксиса (версию) языка VHDL, в соответствии с которым формируется описание моделируемого устройства или системы. Выпадающий список возможных значений этого параметра содержит четыре строки: 87, 93 (установлено по умолчанию), 2002 и 2008, которые соответствуют стандартам IEEE VHDL Std 1076-1987, IEEE VHDL Std 1076-1993, IEEE VHDL Std 1076-2002 и IEEE VHDL Std 1076-2008.
Параметр Explicit Declarations используется для предотвращения конфликтов из-за неоднозначности, возникающей при использовании перегрузки функций. По умолчанию индикатор состояния этого параметра находится в положении «Включено», при котором устанавливается более высокий приоритет явного определения функций, чем для случая их неявного использования.
Параметры More VLOG Options и More VCOM Options позволяют определить дополнительные опции командной строки для соответствующих программ VLOG и VCOM системы моделирования ModelSim/QuestaSim. Информация о возможных дополнительных параметрах командной строки для каждой из этих программ приведена в документации рассматриваемой системы моделирования. Дополнительные опции командной строки указываются с помощью клавиатуры в поле редактирования соответствующего параметра. Если для какой-либо программы нужно задать несколько дополнительных параметров командной строки, то они должны разделяться пробелами.
На вкладке Simulation, вид которой при использовании средств Vivado Simulator приведен на рис. 29, представлены параметры, предназначенные для управления процессом моделирования.
Значение параметра Simulation Run Time определяет длительность сеанса моделирования, осуществляемого автоматически при запуске выбранных средств верификации. По умолчанию для этого параметра предлагается значение 1000 нс. Для изменения предлагаемой длительности процесса моделирования нужно активизировать поле редактирования значения параметра Simulation Run Time и с помощью клавиатуры указать требуемый временной интервал.
Опция командной строки -view позволяет открыть сформированный ранее и сохраненный файл конфигурации окна временных диаграмм (WCFG). Идентификатор требуемого файла конфигурации указывается с помощью панели навигации по дискам компьютера, которая появляется после активизации поля редактирования, расположенного в строке этого параметра.
Значение параметра Design Under Test Instance определяет идентификатор экземпляра компонента, представляющего объект верхнего уровня иерархии в тестовом модуле конвертированного проекта. По умолчанию в качестве названия экземпляра компонента, описывающего испытательный стенд, используетсяидентификатор UUT. Если необходимо изменить идентификатор, предлагаемый по умолчанию, то следует активизировать поле редактирования значения параметра Design Under Test Instance и ввести требуемое название с помощью клавиатуры.
Параметр SAIF Filename предоставляет возможность указания идентификатора файла в формате SynopsysActivity Interchange Format (SAIF), который может создаваться применяемыми средствами верификации в процессе временного моделирования. Формируемый файл используется впоследствии для оценки и оптимизации потребляемой мощности. Идентификатор генерируемого файла задается в поле редактирования значения параметра SAIF Filename.
С помощью параметра More Simulation Options могут быть заданы дополнительные команды управления для средств моделирования Vivado Simulator.
При использовании системы моделирования ModelSim/QuestaSim вкладка Simulation принимает вид, изображенный на рис. 30.
В этом случае вкладка Simulation содержит два дополнительных параметра, предназначенных для управления процессом моделирования. С помощью параметра Log All Signals выбирают состав совокупности сигналов импортированного проекта, значения которых будут запоминаться в процессе моделирования. По умолчанию индикатор состояния этого параметра установлен в положение «Выключено», при котором производится запись переключения значений сигналов, относящихся только к модулю исходного описания верхнего уровня иерархии проекта. Для запоминания изменений значений всех сигналов проектируемого устройства следует индикатор состояния параметра Log All Signals установить в положение «Включено».
С помощью параметра More VSIM Options можно определить дополнительные опции командной строки для соответствующей программы VSIM системы моделирования ModelSim.
Вкладка Netlist, вид которой изображен на рис. 31, предоставляет доступ к параметрам, используемым при генерации списков соединений моделируемого устройства.
Параметр -sdf_anno определяет необходимость включения конструкции $sdf_annotate в каждый формируемый файл списка соединений на языке Verilog. По умолчанию индикатор состояния, определяющий значение этого параметра, установлен в положение «Выключено», при котором эта конструкция не записывается в формируемые файлы.
С помощью опции командной строки —process_corner выбирают вариант совокупности характеристик используемого кристалла (технологический процесс, температура, напряжение питания), которые определяют его быстродействие. Значение этого параметра (slow или fast) определяет соответствующий вариант задержек распространения сигналов в кристалле при генерации файла SDF.
Вкладка Advanced (рис. 32) содержит дополнительные параметры моделирования импортированного проекта.
В текущей версии САПР Vivado Design Suite на этой вкладке представлен единственный параметр — Include all design sources for simulation, который предоставляет возможность использования всех исходных модулей описания конвертированного проекта в процессе моделирования. Для выборочного включения модулей исходного описания в состав списка, предназначенного для осуществления моделирования разрабатываемого устройства или встраиваемой микропроцессорной системы, следует установить индикатор состояния этого параметра в положение «Выключено».
Завершив корректировку параметров моделирования импортированного проекта, нужно проверить и установить требуемые значения параметров синтеза.
Корректировка параметров синтеза конвертированного проекта разрабатываемого устройства или встраиваемой микропроцессорной системы
Для отображения параметров синтеза конвертированного проекта следует поместить курсор на пиктограмму Ico6.bmp, которая расположена в левой части диалоговой панели Project Settings (рис. 18), и щелкнуть левой кнопкой мыши или воспользоваться командой Synthesis Settings, представленной в разделе ProjectManager панели управления Flow Navigator (рис. 14). Вид страницы Synthesis диалоговой панели параметров импортированного проекта показан на рис. 33.
На этой странице необходимо, в первую очередь, выбрать набор временных и топологических ограничений конвертированного проекта, который будет применяться по умолчанию в процессе синтеза. Для этой цели предназначено поле выбора значения параметра Default Constraint Set, выпадающий список которого содержит названия наборов временных и топологических ограничений, входящих в состав импортированного проекта.
Затем нужно установить требуемую стратегию синтеза для конвертированного проекта, используя поле выбора значения параметра Strategy (рис. 33). Под стратегией в САПР Vivado Design Suite понимается совокупность значений параметров выполнения соответствующего процесса (синтеза или размещения и трассировки в кристалле), которая соответствует определенному критерию оптимизации. Выпадающий список возможных значений поля выбора Strategy на странице параметров синтеза в рассматриваемой версии средств проектирования Vivado Design Suite изначально содержит два варианта — VivadoSynthesisDefaults и Flow_RuntimeOptimized.
При выборе стратегии VivadoSynthesisDefaults для параметров синтеза используются варианты значений, установленные по умолчанию. Стратегию Flow_RuntimeOptimized образует совокупность значений параметров, обеспечивающих оптимизацию времени выполнения процесса синтеза. На основе предлагаемых вариантов стратегий синтеза разработчик может сформировать собственную стратегию, которая наиболее полно соответствует особенностям импортированного проекта. Для этого после выбора одного из рассмотренных вариантов следует изменить значения отдельных параметров синтеза, а затем сохранить сформированную совокупность установок в виде соответствующей стратегии.
Параметры, образующие стратегию синтеза, представлены в разделе Options на странице Synthesisдиалоговой панели Project Settings (рис. 33).
Параметры tcl.pre и tcl.post позволяют указать идентификаторы файлов сценариев, содержащих последовательность директив языка Tcl, которые автоматически выполняются непосредственно перед запуском и после завершения процесса синтеза соответственно.
Опция командной строки —flatten_hierarchy определяет возможность преобразования иерархической структуры конвертированного проекта в процессе синтеза. В выпадающем списке возможных значений этого параметра представлено три варианта: none, full и rebuilt. Вариант none предписывает средствам синтеза сохранять иерархическую структуру импортированного проекта, которая определена в модулях исходного описания. При выборе значения full в процессе синтеза производится полное развертывание иерархической структуры проекта, в результате которого остается только верхний уровень иерархии. Вариант rebuilt, предлагаемый по умолчанию для рассматриваемого параметра, разрешает средствам синтеза выполнятьразвертывание иерархической структуры проекта с последующим ее перестроением с учетом оптимизации.
С помощью опции командной строки —gated_clock_conversion разрешается или запрещается автоматическое преобразование фрагментов HDL-описаний, в которых представлено распространение сигналов синхронизации через логические вентили. Выпадающий список возможных значений этого параметра содержит три варианта: on, off и auto. При выборе значения on для этого параметра средства синтеза заменяют такие конструкции более эффективными с точки зрения оптимизации цепей распространения тактовых сигналов, например, компонентами с входами разрешения синхронизации Clock Enable. Вариант off, предлагаемый по умолчанию, запрещает автоматическое преобразование указанных фрагментов HDL-кода. В случае использования значения auto преобразование осуществляется, когда средства синтеза обнаруживают логические вентили, через которые распространяются сигналы синхронизации, и установлены соответствующие временные ограничения.
Опция командной строки —bufg определяет количество глобальных буферных элементов, применяемых для распределения сигналов синхронизации, которые автоматически включаются средствами синтеза в состав формируемого описания. Задаваемое значение этого параметра должно соответствовать объему глобальных ресурсов, который указан в справочных данных для выбранного типа кристалла программируемой логики или расширяемой вычислительной платформы. По умолчанию этому параметру присваивается значение, равное 12.
Значение опции командной строки —fanout_limit устанавливает максимально допустимое количество ветвлений цепей в процессе синтеза. Наличие цепей с большим количеством ветвлений может создавать проблемы при их последующей трассировке. Для исключения возникновения таких проблем с помощью параметра —fanout_limit задается предельное значение, ограничивающее количество цепей, подключаемых к одному источнику сигнала. Средства синтеза могут сократить количество разветвлений за счет дублирования соответствующих регистров и вентилей, а также за счет установки дополнительных буферных элементов. По умолчанию параметр —fanout_limit принимает значение 100 000.
Опция командной строки —directive определяет уровень производимой оптимизации и имеет два возможных значения: Default и RuntimeOptimized. Если для этого параметра выбирается вариант Default, предлагаемый по умолчанию, то в процессе синтеза конвертированного проекта используются стандартные алгоритмы оптимизации. Вариант RuntimeOptimized соответствует меньшему уровню выполняемой оптимизации, но обеспечивает при этом сокращение времени вычислений.
С помощью опции командной строки —fsm_extraction осуществляется управление выделением описаний конечных автоматов (Finite State Machine, FSM) при синтезе HDL-кода и выбором метода их кодирования. Выпадающий список возможных значений этого параметра содержит шесть вариантов: auto, one_hot, sequential, gray, johnson и off. Значение auto, установленное по умолчанию, позволяет средствам синтеза автоматически выделять описания конечных автоматов и выбирать для каждого из них наилучший алгоритм кодирования. Вариант one_hot соответствует одноименному методу кодирования, который гарантирует, что каждый отдельный регистр предназначен для реализации одного состояния, то есть в любой момент времени активен только один триггер. При выборе значения sequential используется метод, заключающийся в идентификации длинных ветвей и применении последовательности двоичных кодов для представления состояний этих ветвей. Метод gray, гарантирующий переключение только одной переменной между двумя последовательными состояниями, минимизирует риск возникновения паразитных импульсов. Алгоритм johnson целесообразно использовать при синтезе конечных автоматов, описания которых содержат длинные цепочки без ветвлений. Вариант off запрещает средствам синтеза автоматическое выделение описаний конечных автоматов.
Опция командной строки —keep_equivalent_registers предназначена для управления оптимизацией триггеров в процессе синтеза. По умолчанию индикатор состояния этого параметра находится в выключенном положении, при котором средства синтеза исключают из состава описания проектируемого устройства триггеры, выполняющие эквивалентные функции, а также триггеры, входные сигналы которых имеют постоянный уровень, не изменяющийся в процессе функционирования устройства. При переключении индикатора параметра —keep_equivalent_registers в противоположное состояние средствам синтеза запрещается в процессе оптимизации удалять эти триггеры.
С помощью опции командной строки —resource_sharing реализуется управление совместным использованием ресурсов арифметическими операторами. В выпадающем списке возможных значений этого параметра представлено три варианта: on, auto и off. По умолчанию предлагается вариант on, разрешающий разделение ресурсов арифметическими операторами. При выборе значения auto допускается совместное использование ресурсов арифметическими операторами в зависимости от временных параметров проекта. Вариант off запрещает средствам синтеза разделение ресурсов арифметическими операторами.
Опция командной строки —control_set_opt_threshold определяет пороговое значение для оптимизации цепей синхронной установки регистров.
Значение опции командной строки —no_lc разрешает или запрещает объединение двух таблиц преобразования LUT в одну таблицу с двумя выходами. По умолчанию индикатор состояния этого параметра находится в положении «Выключено», позволяющее средствам синтеза комбинировать пару таблиц преобразования в одну таблицу с двумя выходами.
С помощью опции командной строки —shreg_min_size определяется минимальная длина последовательной цепочки триггеров, которая должна отображаться средствами синтеза в виде сдвигового регистра SRL. По умолчанию этому параметру присваивается значение, равное трем.
Параметр More Options позволяет указать дополнительные опции командной строки для управления процессом синтеза импортированного проекта.
Для сохранения совокупности установленных значений параметров синтеза в виде соответствующей стратегии следует воспользоваться пиктограммой Ico7.bmp, которая находится справа от поля выбора Strategy(рис. 33). После этого на экран выводится диалоговая панель с заголовком Save Strategy As (рис. 34).
В открывшейся диалоговой панели нужно, прежде всего, в поле редактирования значения параметра Userdefined strategy name определить с помощью клавиатуры название сохраняемой стратегии синтеза. Затем в поле редактирования значения параметра Description следует указать краткое описание этой стратегии. Во встроенной панели User defined strategies отображается список стратегий синтеза, созданных разработчиком. После сохранения модифицированной стратегии ее название добавится в представленный список.
Чтобы заранее сформировать необходимые стратегии для всех процессов (синтеза, размещения и трассировки), целесообразно использовать диалоговую панель настройки интегрированной среды разработкиVivado Integrated Design Environment. Эта панель открывается при нажатии кнопки быстрого доступа Ico8.bmp, расположенной на панели управления основного окна САПР Vivado Design Suite (рис. 15), или при выполнении команды Options из всплывающего меню Tools. После открытия диалоговой панели с заголовком Vivado Optionsнужно, используя пиктограмму Ico9.bmp, выбрать страницу управления стратегиями Strategies, первоначальный вид которой изображен на рис. 35.
На этой странице диалоговой панели настройки интегрированной среды разработки Vivado IntegratedDesign Environment приводится информация обо всех доступных стратегиях выбранного процесса проектирования. Требуемый процесс задают с помощью поля выбора Flow. Чтобы отобразить сведения о существующих стратегиях синтеза, в выпадающем списке этого поля выбора нужно указать вариант Vivado Synthesis. Для получения информации о стратегиях размещения и трассировки в кристалле следует выбрать вариант VivadoImplementation.
Отображаемый список доступных стратегий для каждого процесса включает в себя два раздела: VivadoStrategies и User Defined Strategies. В разделе Vivado Strategies перечислены названия стратегий, предоставляемых системой проектирования Vivado Design Suite. Раздел User Defined Strategies содержит названия стратегий, сформированных разработчиком. Перед созданием новой стратегии рекомендуется в представленном списке выбрать название существующей стратегии, которая будет использоваться в качестве исходной. При этом во встроенной панели Options отображается совокупность значений параметров соответствующего процесса, которые недоступны для редактирования, как показано на рис. 35. Затем нужно нажать кнопку Ico10.bmp или выполнить команду Create New Strategy из контекстно-зависимого меню, вызываемого щелчком правой кнопки мыши. В результате этих действий открывается диалоговая панель с заголовком New Strategy (рис. 36).
В этой диалоговой панели в поле редактирования Name следует указать название новой стратегии. Далее необходимо уточнить вид создаваемой стратегии с помощью поля выбора значений параметра Type, выпадающий список которого содержит два варианта: Synthesize и Implement. Для формирования стратегии синтеза нужно для параметра Type выбрать вариант Synthesize, а для стратегии размещения и трассировки в кристалле — вариантImplement.
Затем, используя поле выбора значения параметра Tool version, следует определить версию средств проектирования, для которой создается новая стратегия. Краткое описание формируемой стратегии записывается с помощью клавиатуры в поле редактирования значения параметра Description. После нажатия клавиши OK в диалоговой панели New Strategy название новой стратегии появится в разделе User Defined Strategies списка стратегий, представленного на странице Strategies (рис. 37).
Во встроенной панели Options нужно установить значения параметров, соответствующие новой стратегии синтеза или размещения и трассировки. Чтобы сохранить установленные значения параметров сформированной стратегии, необходимо нажать клавишу Apply или OK, которые расположены в нижней части страницы Strategies. Новую стратегию можно применять не только в конвертированном проекте, но и при выполнении других проектов в используемой версии САПР Vivado Design Suite.
После определения стратегии синтеза импортированного проекта рекомендуется установить требуемые значения параметров для процесса размещения и трассировки в кристалле программируемой логики или расширяемой вычислительной платформы.
- Кузелин М. О., Кнышев Д.А., Зотов В.Ю. Современные семейства ПЛИС фирмы Xilinx. Справочное пособие. М.: Горячая линия – Телеком, 2004.
- Зотов В. Особенности архитектуры нового поколения ПЛИС с архитектурой FPGA фирмы Xilinx // Компоненты и технологии. 2010. № 12.
- Zynq-7000 AllProgrammableSoCOverview. AdvanceProductSpecification. Xilinx, 2012.
- Zynq-7000 AllProgrammableSoC (XC7Z010 and XC7Z020): DC and AC Switching Characteristics. Xilinx, 2012.
- Zynq-7000 All Programmable SoC (XC7Z030 and XC7Z045): DC and AC Switching Characteristics. Xilinx, 2012.
- Zynq-7000 All Programmable SoC Technical Reference Manual. Xilinx, 2012.
- Zynq-7000 All Programmable SoC: Concepts, Tools, and Techniques (CTT) A Hands-On Guide to Effective Embedded System Design. Xilinx, 2012.
- Zynq-7000 All Programmable SoC Software Developers Guide. Xilinx, 2012.
- 7 Series FPGAs and Zynq-7000 All Programmable SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital Converter User Guide.
- Зотов В. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPack ISE. М.: Горячая линия – Телеком, 2003.
- 7 Series FPGAs SelectIO Resources User Guide. Xilinx, 2011.
- 7 Series FPGAs Clocking Resources User Guide. Xilinx, 2011.
- 7 Series FPGAs Memory Resources User Guide. Xilinx, 2012.
- 7 Series FPGAs Configurable Logic Block User Guide. Xilinx, 2012.
- 7 Series FPGAs GTX Transceivers User Guide. Xilinx, 2011.
- 7 Series FPGAs Integrated Block for PCIe User Guide. Xilinx, 2012.
- 7 Series DSP48E1 Slice User Guide. Xilinx, 2012.
- Vivado Design Suite User Guide: Using Constraints. Xilinx, 2013.
- Зотов В. Проектирование цифровых устройств, реализуемых на базе ПЛИС FPGA фирмы Xilinx, с использованием средств CORE Generator// Компоненты и технологии. 2006. № 12. 2007. № 1.
- Зотов В. Проектирование блоков синхронизации цифровых устройств, реализуемых на базе модулей DCM в ПЛИС FPGA серии Spartan-3, с помощью «мастера» Architecture Wizard САПР серии Xilinx ISE Generator// Компоненты и технологии. 2007. № 5–8.
- Зотов В. Разработка компонентов устройств цифровой обработки сигналов, реализуемых на базе аппаратных модулей DSP48E в ПЛИС FPGA серии Virtex-5, с помощью «мастера» Architecture Wizard САПР серии XilinxISE// Компоненты и технологии. 2008. № 12. 2009. № 3–7.
- Зотов В. MicroBlaze — семейство 32-разрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 9.
- Зотов В. Ю. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия – Телеком, 2006.
- Зотов В. Embedded Development Kit — система проектирования встраиваемых микропроцессорных систем на основе ПЛИС серий FPGA фирмы Xilinx// Компоненты и технологии. 2004. № 4.
- Зотов В. Аппаратные средства разработки и отладки встраиваемых микропроцессорных систем, проектируемых на основе расширяемых вычислительных платформ фирмы Xilinx семейства Zynq-7000 AP SoC// Компоненты и технологии. 2013. № 1.
- Зотов В. ZedBoard — эффективный инструмент разработки и отладки встраиваемых микропроцессорных систем, проектируемых на основе расширяемых вычислительных платформ фирмы Xilinx семейства Zynq-7000 AP SoC // Компоненты и технологии. 2013. № 6.
- Зотов В. Инструментальные средства разработки и отладки цифровых устройств и встраиваемых микропроцессорных систем, проектируемых на основе ПЛИС FPGA фирмы Xilinx серии Kintex-7 // Компоненты и технологии. 2012. № 4–5.