Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии Vivado HLx Design Suite. Часть 19

PDF версия
Кроме вычисления уточненных значений временных параметров сигналов разрабатываемого устройства, САПР серии Xilinx Vivado HLx Design Suite предоставляет возможность углубленного анализа проекта, реализованного в кристалле программируемой логики или расширяемой процессорной платформы. Перед выполнением указанного анализа рекомендуется установить требуемые параметры этого процесса.

Все статьи цикла.

Установка параметров углубленного анализа проекта

Для установки параметров углубленного анализа проекта, реализованного в ПЛИС или программируемой системе на кристалле, необходимо вначале выделить во всплывающем меню Flow строку Report. После этого в открывшемся всплывающем меню следующего уровня нужно выбрать команду Report Design Analysis, как показано на рис. 1.

Установка основных параметров углубленного анализа проекта, реализованного в кристалле программируемой логики или расширяемой процессорной платформы

Рис. 1. Установка основных параметров углубленного анализа проекта, реализованного в кристалле программируемой логики или расширяемой процессорной платформы

Выполнение данной команды начинается с вывода на экран диалоговой панели с заголовком Report Design Analysis, предназначенной для определения параметров осуществляемого анализа проекта. В верхней области открывшейся диалоговой панели расположено поле редактирования значения параметра Results name, которое позволяет указать название отчета, содержащего результаты проведенного анализа проекта, реализованного в кристалле программируемой логики или расширяемой процессорной платформы. По умолчанию в поле редактирования предлагается идентификатор design_analysis_N, где N — порядковый номер формируемого отчета. В САПР серии Xilinx Vivado HLx Design Suite предусмотрена возможность выполнения нескольких вариантов углубленного анализа реализованного в кристалле проекта с различными сочетаниями исходных параметров. В случае использования указанной возможности для каждого варианта формируемого отчета о результатах проведенного анализа в поле редактирования значения параметра Results name следует указать мнемоническое название, информирующее об особенностях и назначении этого варианта.

В центральной области диалоговой панели Report Design Analysis представлены три вкладки с названиями Options, Advanced и Timer Settings, которые содержат соответствующие группы параметров выполняемого углубленного анализа проекта, реализованного в ПЛИС или программируемой системе на кристалле. Вкладка Options, чей вид изображен на рис. 1, позволяет указать виды осуществляемого углубленного анализа, а также определить их основные параметры. Эта вкладка содержит три раздела с названиями Timing, Complexity и Congestion. В верхней части каждого раздела находится индикатор состояния одноименного параметра, который управляет выполнением соответствующего вида анализа.

Для осуществления углубленного временного анализа реализованного в кристалле проекта необходимо установить в положение «Включено» индикатор состояния параметра Timing. При этом предоставляется доступ к группе кнопок с зависимой фиксацией, которые позволяют выбрать анализируемые пути распространения сигналов проектируемого устройства. Если в процессе выполнения углубленного временного анализа необходимо рассмотреть все пути распространения сигналов, то в нажатом состоянии следует зафиксировать кнопку All Paths. После этого становятся доступными поля выбора и редактирования значений параметров Path delay type и Maximum number of paths. С помощью поля выбора значения параметра Path delay type устанавливается тип задержек, применяемых при осуществлении углубленного временного анализа распространения сигналов. Выпадающий список возможных значений данного параметра имеет три варианта: min, max и min_max. Вариант min, устанавливающий минимальные значения задержек, применяется для оценки времени удержания анализируемых путей распространения сигналов. Вариант max, соответствующий максимальным значениям задержек, нужен при вычислении времени установления сигналов для анализируемых маршрутов. Для проведения комплексного углубленного временного анализа в поле выбора значения параметра Path delay type следует указать вариант min_max. В поле редактирования значения параметра Maximum number of paths задается максимальное число анализируемых маршрутов распространения сигналов, информация о которых включается в состав формируемого отчета. По умолчанию в генерируемом отчете отражаются сведения о временных параметрах десяти наиболее критичных путей распространения сигналов проектируемого устройства.

Для того чтобы сократить время выполнения углубленного временного анализа, можно ограничить количество рассматриваемых маршрутов, указав только интересующие пути распространения сигналов. Для этого нужно переключить в нажатое положение кнопку Specific Paths, как демонстрирует рис. 1. Анализируемые маршруты можно перечислить с помощью клавиатуры в поле редактирования, расположенном справа от указанной кнопки. Более наглядный способ определения анализируемых путей распространения сигналов обеспечивает диалоговая панель с названием Find Timing Paths, чей вид приведен на рис. 1. Панель открывается при нажатии кнопки с пиктограммой в виде многоточия, которая находится справа от поля редактирования анализируемых маршрутов.

С помощью индикатора состояния параметра Extend analysis: show worst path to the startpoint and from the endpoint for each critical path предоставляется возможность выполнения расширенного временного анализа каждого из рассматриваемых маршрутов. При осуществлении такого анализа в отчет включается информация о наихудших путях распространения сигналов для начальных и конечных точек оцениваемых маршрутов. Для проведения расширенного временного анализа нужно установить индикатор состояния указанного параметра в положение «Включено».

Индикатор состояния параметра Include logic level distribution позволяет в процессе углубленного временного анализа включить в формируемый отчет информацию о количестве уровней логики в составе анализируемых путей распространения сигналов. При этом максимальное количество анализируемых маршрутов указывается в поле редактирования значения параметра Number of paths. По умолчанию для этого параметра предлагается значение, равное 1000.

Для того чтобы в процессе углубленного анализа оценить уровень сложности списка соединений проекта, реализованного в кристалле программируемой логики или расширяемой процессорной платформы, следует установить индикатор состояния параметра Complexity во включенное положение. При этом с целью сокращения времени анализа можно указать интересующие компоненты проекта и количество анализируемых иерархических уровней. Для определения анализируемых компонентов нужно, прежде всего, установить индикатор состояния параметра Cells to Analyze в положение «Включено», как показано на рис. 2. После этого становится доступным поле редактирования значения указанного параметра, в котором с помощью клавиатуры можно перечислить идентификаторы интересующих компонентов.

Выбор анализируемых компонентов проекта, реализованного в ПЛИС или программируемой системе на кристалле

Рис. 2. Выбор анализируемых компонентов проекта, реализованного в ПЛИС или программируемой системе на кристалле

Для быстрого выбора анализируемых компонентов целесообразно воспользоваться клавишей с пиктограммой в виде многоточия, расположенной справа от поля редактирования значения параметра Cells to Analyze. При ее нажатии на экран выводится диалоговая панель с названием Specify Top level Cell, чей вид представлен на рис. 2. Открывшаяся диалоговая панель позволяет выбрать требуемые компоненты проекта, которые будут рассматриваться в процессе выполняемого углубленного анализа.

Количество анализируемых иерархических уровней проекта задается в поле редактирования значения параметра Hierarchical Depths, оно становится доступным при установке одноименного индикатора состояния во включенное положение. По умолчанию в процессе выполнения углубленного анализа проекта рассматриваются два уровня иерархии, начиная с верхнего уровня или с уровня выбранного компонента.

В ходе проведения углубленного анализа проекта предусмотрена также возможность изучения распределения загруженности ПЛИС или программируемой системы на кристалле, используемой для его реализации. Для получения информации о степени перегрузки различных областей кристалла программируемой логики или расширяемой процессорной платформы нужно установить индикатор состояния параметра Congestion во включенное положение.

Вкладка Advanced диалоговой панели Report Design Analysis, чей вид изображен на рис. 3, предоставляет возможность установки дополнительных параметров углубленного анализа проекта, реализованного в ПЛИС или программируемой системе на кристалле. В составе этой вкладки представлены два раздела с названиями File Output и Miscellaneous.

Установка дополнительных параметров углубленного анализа проекта, реализованного в ПЛИС или программируемой системе на кристалле

Рис. 3. Установка дополнительных параметров углубленного анализа проекта, реализованного в ПЛИС или программируемой системе на кристалле

В разделе File Output сосредоточены параметры управления записью отчета о результатах углубленного анализа проекта в файл на диске. В случае необходимости автоматического сохранения генерируемого отчета в виде файла следует вначале установить индикатор состояния параметра Write results to file в положение «Включено». При этом открывается доступ к полю редактирования значения указанного параметра, в котором нужно, используя клавиатуру, определить идентификатор файла, предназначенного для записи информации, сформированной в процессе углубленного анализа реализованного в кристалле проекта. Для быстрого поиска требуемого файла рекомендуется воспользоваться диалоговой панелью Choose Output File For Timing Report, чей вид изображен на рис. 3. Панель появляется при нажатии клавиши с пиктограммой в виде многоточия, которая находится справа от поля редактирования значения параметра Write results to file. После определения файла для сохранения результатов углубленного анализа нужно выбрать требуемый режим записи в этот файл, используя кнопки с зависимой фиксацией Overwrite и Append. По умолчанию в нажатом состоянии находится кнопка Overwrite, которая устанавливает режим записи нового отчета вместо информации, представленной ранее в указанном файле. Чтобы добавить сгенерированный отчет в выбранный файл с сохранением его содержимого, необходимо зафиксировать в нажатом состоянии кнопку Append.

Раздел Miscellaneous содержит параметры, управляющие обработкой ошибок и выводом сообщений в процессе выполнения углубленного анализа проекта, реализованного в кристалле программируемой логики или расширяемой процессорной платформы. С помощью параметра Ignore command errors (quiet mode) предоставляется возможность применить режим игнорирования ошибок, обнаруженных при выполнении углубленного анализа проекта и записи формируемого отчета. Чтобы задействовать этот режим, надо установить индикатор состояния указанного параметра в положение «Включено». Параметр Suspend message limits during command позволяет преодолеть ограничение на количество сообщений, генерируемых в процессе углубленного анализа проекта, реализованного в ПЛИС или программируемой системе на кристалле. Для отмены ограничения нужно перевести индикатор состояния этого параметра во включенное положение.

На вкладке Timer Settings, чей вид приведен на рис. 4, представлены параметры, определяющие временные характеристики кристалла программируемой логики или расширяемой процессорной платформы, используемые при осуществлении углубленного анализа реализованного проекта.

Параметр Interconnect позволяет выбрать вариант значений задержек распространения сигналов, вносимых межсоединениями ПЛИС или программируемой системы на кристалле, которые будут использоваться в процессе углубленного анализа реализованного проекта. В выпадающем списке поля выбора значения этого параметра представлены три варианта — Actual, Estimated и None. Для получения наиболее точных результатов выполняемого анализа следует выбрать вариант Actual, который соответствует реальным значениям задержек, вносимых межсоединениями кристалла программируемой логики или расширяемой процессорной платформы. При выборе варианта Estimated результаты осуществляемого анализа, основанные на прогнозируемых значениях задержек межсоединений, носят оценочный характер. Вариант None предоставляет возможность проведения углубленного анализа проекта без учета задержек сигналов, вносимых межсоединеиями ПЛИС или программируемой системы на кристалле.

Параметр Speed grade позволяет проанализировать характеристики реализованного устройства при использовании кристалла программируемой логики или расширяемой процессорной платформы с другим классом быстродействия, не изменяя вариант, выбранный при создании проекта. Выпадающий список возможных значений данного параметра содержит условные обозначения всех классов быстродействия, с которыми производится используемый тип ПЛИС или программируемой системы на кристалле. По умолчанию в поле выбора значения параметра Speed grade представлено условное обозначение варианта быстродействия кристалла, указанного при создании реализованного проекта [11].

Для учета разброса временных характеристик кристаллов программируемой логики или расширяемой процессорной платформы, обусловленного технологическим процессом их производства, нестабильностью напряжения питания и температуры эксплуатации, при осуществлении углубленного анализа реализованного проекта целесообразно уточнить значения параметров, образующих группу Multi-corner configuration. С помощью полей выбора значений параметров Slow и Fast предоставляется возможность определения типов задержек для соответствующих вариантов сочетаний перечисленных выше факторов.

Параметр Disable flight delays позволяет при вычислении входных и выходных задержек распространения сигналов в процессе выполняемого углубленного анализа проекта не учитывать задержки, вносимые корпусом ПЛИС или программируемой системы на кристалле. Индикатор состояния этого параметра по умолчанию находится в сброшенном положении, при котором в процессе выполняемого анализа учитываются задержки, возникающие при передаче сигналов между выводами корпуса и контактами кристалла программируемой логики или расширяемой процессорной платформы. Для исключения этих задержек из рассмотрения нужно установить индикатор состояния параметра Disable flight delays в положение «Включено».

Ниже рассмотренных вкладок в диалоговой панели Report Design Analysis представлены параметры Command и Open in a new tab. В поле редактирования значения параметра Command отображается команда языка TCL, предназначенная для выполнения углубленного анализа реализованного в кристалле проекта, которая автоматически формируется после определения требуемых опций этого процесса. В случае необходимости приведенная команда может быть модифицирована с помощью клавиатуры. Параметр Open in a new tab предназначен для выбора варианта отображения отчета, содержащего результаты углубленного анализа проекта, реализованного в ПЛИС или программируемой системе на кристалле. Индикатор состояния этого параметра по умолчанию установлен в положение «Включено», при котором сформированный отчет будет представлен на новой вкладке встроенного окна результатов углубленного анализа. При переводе индикатора состояния параметра Open in a new tab в выключенное положение сгенерированный отчет отображается на последней открытой вкладке указанного окна вместо предыдущего отчета.

Для запуска углубленного анализа проекта, реализованного в кристалле программируемой логики или расширяемой процессорной платформы, нужно нажать клавишу OK, расположенную в нижней части диалоговой панели Report Design Analysis (рис. 1–4). По завершении процесса в консольной области основного окна интегрированной среды разработки Vivado Integrated Design Environment (IDE) появляется новая вкладка встроенного окна результатов углубленного анализа с заголовком Design Analysis -<идентификатор_отчета>. Структура и содержание отчета, сгенерированного в процессе выполненного углубленного анализа проекта, реализованного в ПЛИС или программируемой системе на кристалле, рассматриваются в следующем разделе.

Определение временных характеристик ПЛИС, используемых в процессе углубленного анализа реализованного в кристалле проекта

Рис. 4. Определение временных характеристик ПЛИС, используемых в процессе углубленного анализа реализованного в кристалле проекта

 

Структура и содержание отчета о результатах углубленного анализа проекта

Структура отчета о результатах углубленного анализа проекта, реализованного в кристалле программируемой логики или расширяемой процессорной платформы, в общем случае содержит шесть основных разделов с названиями General Information, Extend Setup Path Characteristics, Extend Hold Path Characteristics, Logic Level Distribution, Complexity Characteristics и Congestion. Доступ к этим разделам открывает интер-активный список, представленный в левой области вкладки встроенного окна результатов углубленного анализа. Для изучения информации, приведенной в каждом разделе сформированного отчета, нужно указать курсором строку с его названием и щелкнуть левой кнопкой мыши.

В разделе General Information приводится общая информация о реализованном проекте, типе применяемого кристалла программируемой логики с указанием класса быстродействия и корпусного исполнения, версии САПР серии Xilinx Vivado HLx Design Suite, в среде которой проводился углубленный анализ, дате и времени формирования отчета. Здесь же представлен включающий все установленные параметры полный формат команды языка TCL, которая использовалась для выполнения углубленного анализа проекта и генерации отчета.

Разделы Extend Setup Path Characteristics и Extend Hold Path Characteristics предоставляют информацию о результатах расширенного временного анализа, отображенную в табличной форме (рис. 5). В соответствующих колонках таблиц приведены различные характеристики анализируемых путей распространения сигналов, которые подразделяются на четыре категории: Timing, Logic, Physical и Property.

Отображение результатов расширенного временного анализа проекта, реализованного в кристалле программируемой логики или расширяемой процессорной платформы

Рис. 5. Отображение результатов расширенного временного анализа проекта, реализованного в кристалле программируемой логики или расширяемой процессорной платформы

К категории Timing относятся временные характеристики анализируемых маршрутов передачи данных, чьи условные обозначения представлены в колонке Name. Эта категория включает, в частности, сведения о типе анализируемых маршрутов (Path Type), требования к временным параметрам (Requirement), значения суммарной задержки соответствующих путей распространения сигналов (Path Delay), значения задержек, вносимых логическими вентилями (Logic Delay) и цепями (Net Delay) каждого маршрута, информацию о величине запаса по времени установления или удержания (Slack). В этой же категории представлены сведения о сигналах синхронизации, применяемых для тактирования передаваемых и записываемых данных каждого маршрута (Start Point Clock и End Point Clock), их соотношении (Clock Relationship), о величине временных перекосов, возможных при распространении тактового сигнала каждого анализируемого маршрута (Skew), и временных исключениях, указанных для соответствующих путей распространения сигналов (Timing Exception).

Категория Logic объединяет характеристики, представляющие информацию о логических ресурсах анализируемых маршрутов передачи данных. Эта категория содержит сведения о выводах логических примитивов, применяемых в начале и конце анализируемых маршрутов (Start Point Pin Primitive и End Point Pin Primitive), полных идентификаторах исходных и конечных точек анализируемых путей распространения сигналов (Start Point Pin и End Point Pin). В указанную категорию входят также характеристики, информирующие о числе логических уровней и типе логических примитивов в составе анализируемых маршрутов (Logic Levels и Logical Path), количестве секций цифровой обработки сигналов, используемых в качестве комбинационной логики (Comb DSP), и применении выходных регистров в задействованных модулях блочной памяти Block RAM и секциях цифровой обработки сигналов (DOA_REG, DOB_REG, MREG, PREG).

Категория Physical содержит физические характеристики анализируемых путей распространения сигналов. Здесь, в частности, имеется информация о числе колонок различных физических ресурсов ПЛИС или программируемой системы на кристалле, пересекаемых анализируемым маршрутом, — модулей блочной памяти (BRAM Crossings), секций цифровой обработки сигналов (DSP Crossings), блоков ввода/вывода (IO Crossings), конфигурационных ресурсов (CONFIG Crossings), кристаллов SLR ПЛИС, выполненных по технологии SSI (Stacked Silicon Interconnect) [33–35] (SLR Crossings), а также данные о количестве P‑блоков, через которые проходит этот маршрут (Pblocks). В той же категории содержатся сведения о максимальном количестве разветвлений цепей анализируемых путей распространения сигналов (High Fanout) и суммарном числе разветвлений маршрутов (Cumulative Fanout).

К категории Property относятся характеристики, предоставляющие дополнительную информацию об особенностях анализируемых путей распространения сигналов. Эта категория включает такие параметры, как, например, количество объединяемых таблиц преобразования LUT в составе анализируемых маршрутов (Combined LUT Pairs), число ячеек и цепей проекта с фиксированным расположением в кристалле программируемой логики или расширяемой процессорной платформы (Fixed Loc и Fixed Route).

При выделении строк таблиц, представленных в разделах Extend Setup Path Characteristics и Extend Hold Path Characteristics, информация о соответствующих путях распространения сигналов автоматически отображается в графической форме на вкладке Device рабочей области основного окна управляющей оболочки САПР серии Xilinx Vivado HLx Design Suite (рис. 5). Чтобы получить подробную информацию обо всех характеристиках выбранного маршрута, достаточно расположить курсор в соответствующей строке таблицы и дважды щелкнуть левой кнопкой мыши. Кроме того, можно воспользоваться командой View Path Report из контекстно зависимого всплывающего меню, вызываемого щелчком правой кнопки мыши после выделения интересующей строки таблицы. В результате в рабочей области основного окна интегрированной среды разработки Vivado IDE добавляется новая вкладка с названием PathN -<идентификатор_отчета>, чей вид представлен на рис. 6. Открывшаяся вкладка содержит детализированную информацию о результатах выполненного анализа выделенных путей распространения сигналов.

Отображение детализированной информации о результатах выполненного углубленного анализа выделенных путей распространения сигналов

Рис. 6. Отображение детализированной информации о результатах выполненного углубленного анализа выделенных путей распространения сигналов

Раздел Logic Level Distribution включает сведения о количестве уровней логики в составе анализируемых путей распространения сигналов. Информация, представленная в этом разделе, помогает идентифицировать наиболее длинные маршруты распространения сигналов. Указанный раздел присутствует в сгенерированном отчете только при установке индикатора состояния параметра Include logic level distribution в положение «Включено».

В разделе Complexity Characteristics, чей вид демонстрирует рис. 7, отображается таблица параметров, характеризующих уровень сложности списка соединений проекта, реализованного в ПЛИС или программируемой системе на кристалле. Эта таблица содержит 15 колонок с названиями: Instance, Module, Rent Exponent, Average Fanout, Total Instances, LUT1–LUT6, Memory LUT, DSP, RAMB, MUXF.

Отображение информации об уровне сложности проекта, реализованного в ПЛИС или программируемой системе на кристалле

Рис. 7. Отображение информации об уровне сложности проекта, реализованного в ПЛИС или программируемой системе на кристалле

В колонке Instance перечислены идентификаторы экземпляров компонентов иерархической структуры списка соединений проектируемого устройства. В ячейках столбца Module указаны идентификаторы модулей, содержащих описание соответствующих компонентов проекта. Ячейки, входящие в состав колонки Rent Exponent, представляют значения параметра, характеризующего соотношение числа портов и числа ячеек в списке соединений определенного компонента иерархической структуры проекта. При этом считается, что значения указанного параметра, находящиеся в диапазоне 0–0,65, соответствуют низкому и нормальному уровню сложности списка соединений, а в интервале 0,65–0,85 — высокому. Значения параметра Rent Exponent, превосходящие величину 0,85, указывают на очень высокий уровень сложности, который может привести к проблемам в процессе реализации таких компонентов.

Колонка Average Fanout содержит средние значения коэффициента разветвления цепей, входящих в состав списка соединений компонентов иерархической структуры проекта. Значения этого показателя, не превышающие 4, соответствуют нормальному уровню сложности списка соединений. Если значения параметра Average Fanout находятся в диапазоне 4–5, то в процессе размещении и трассировки таких компонентов могут возникать проблемы. В случае превышения средней величины коэффициента разветвления значения, равного 5, процесс реализации соответствующих компонентов в ПЛИС или программируемой системе на кристалле может завершиться неудачно.

В ячейках столбца Total Instances приведена информация об общем количестве примитивов, предназначенных для различных физических ресурсов кристалла, используемых в составе соответствующего списка соединений. Ячейки колонок LUT1–LUT6, Memory LUT, DSP, RAMB, MUXF предоставляют сведения о числе таблиц преобразования различного типа, элементов распределенной памяти, секций цифровой обработки сигналов, модулей блочной памяти и мультиплексоров, задействованных для реализации соответствующих компонентов иерархической структуры проекта.

Раздел Congestion, чей вид изображен на рис. 8, предлагает информацию о степени перегруженности различных областей кристалла программируемой логики или расширяемой процессорной платформы, реализующего проектируемое устройство. В состав этого раздела входит пять подразделов с названиями: Placed Maximum, SLR Net Crossing, Placed Tile Based (V), Placed Tile Based (H) и Router Maximum, каждый из которых содержит таблицу соответствующих показателей перегруженности различных регионов ПЛИС или программируемой системы на кристалле.

Отображение информации о степени перегруженности различных областей кристалла, реализующего проектируемое устройство

Рис. 8. Отображение информации о степени перегруженности различных областей кристалла, реализующего проектируемое устройство

Подраздел Placed Maximum информирует о регионах кристалла с максимальной степенью перегруженности по каждому из основных направлений после размещения проекта в ПЛИС или программируемой системе на кристалле. При выделении какой-либо строки таблицы, отображаемой в этом разделе, соответствующая область кристалла выделяется на вкладке Device рабочей области основного окна интегрированной среды разработки Vivado IDE, как показано на рис. 8. Подраздел SLR Net Crossing присутствует только в случае реализации проекта на базе ПЛИС, производимых по технологии SSI. В подразделах Placed Tile Based (V) и Placed Tile Based (H) приведены сведения о степени перегруженности соответственно вертикальных и горизонтальных трассировочных ресурсов. Подраздел Router Maximum содержит информацию о регионах с максимальной степенью перегруженности после трассировки проекта в кристалле программируемой логики или расширяемой процессорной платформы.

 

Формирование интерактивного отчета о конфигурировании выводов ПЛИС или программируемой системы на кристалле

После открытия базы данных реализованного в кристалле проекта может быть сформирован также интерактивный отчет о конфигурировании выводов кристалла программируемой логики или расширяемой процессорной платформы, реализующего функции проектируемого устройства. В отличие от документа, рассмотренного в [37], этот отчет не только предоставляет информацию обо всех параметрах выводов ПЛИС или программируемой системы на кристалле, но и позволяет визуально оценить взаимное расположение контактов, к которым подключены интерфейсные цепи проектируемого устройства.

Для подготовки интерактивного отчета о конфигурировании выводов кристалла программируемой логики или расширяемой процессорной платформы следует во всплывающем меню Flow выделить строку Report, после чего в появившемся всплывающем меню следующего уровня необходимо выбрать команду Report IO, как демонстрирует рис. 9.

При выполнении указанной команды открывается диалоговая панель с заголовком Report IO, которая позволяет уточнить название генерируемого отчета и сохранить его в виде файла на диске. Для определения названия формируемого отчета следует активизировать поле редактирования значения параметра Results name и воспользоваться клавиатурой. По умолчанию в этом поле редактирования представлен идентификатор io_N, где N — порядковый номер создаваемого отчета. Чтобы записать сгенерированный отчет в указанный файл, необходимо, прежде всего, установить индикатор состояния параметра Export to file в положение «Включено», после чего становится доступным поле редактирования значения этого параметра, в котором нужно задать идентификатор создаваемого файла. Выбор диска и раздела для записи файла отчета, а также определение его идентификатора может осуществляться с помощью стандартной диалоговой панели сохранения файла, вызов которой производится нажатием кнопки с пиктограммой в виде многоточия, расположенной справа от поля редактирования значения параметра Export to file. Формат создаваемого файла отчета указывается с помощью группы кнопок с зависимой фиксацией Output file format. Если в нажатом состоянии зафиксирована кнопка TXT, то сгенерированный отчет сохраняется в виде текстового файла. При нажатой кнопке XML создаваемый файл имеет одноименный формат.

Непосредственный запуск процедуры формирования интерактивного отчета о конфигурировании выводов кристалла программируемой логики или расширяемой процессорной платформы осуществляется нажатием клавиши OK, расположенной в нижней части диалоговой панели Report IO. После завершения этой процедуры в консольной области основного окна интегрированной среды разработки Vivado IDE добавляется новая вкладка с названием Report I/O -<название_отчета>, которая содержит текст сгенерированного отчета (рис. 9).

Формирование интерактивного отчета о конфигурировании выводов ПЛИС или программируемой системы на кристалле

Рис. 9. Формирование интерактивного отчета о конфигурировании выводов ПЛИС или программируемой системы на кристалле

В состав сформированного интерактивного отчета о конфигурировании выводов ПЛИС или программируемой системы на кристалле входят три раздела с названиями: General Information, Summary и IO Assignments by Package Pin. Раздел General Information предоставляет сведения о названии реализованного проекта, типе и основных параметрах используемого кристалла программируемой логики или расширяемой процессорной платформы, версии средств проектирования и формате команды языка TCL, применяемых для создания отчета, с указанием даты и времени его формирования. В разделе Summary представлена информация о количестве пользовательских выводов ПЛИС или программируемой системы на кристалле, задействованных в реализованном проекте. Раздел IO Assignments by Package Pin включает таблицу, содержащую сведения о назначении и параметрах конфигурирования каждого вывода корпуса кристалла программируемой логики или расширяемой процессорной платформы, выбранного для реализации разрабатываемого проекта. В состав этой таблицы входят 17 колонок с названиями: Pin Number, Signal Name, Bank Type, Pin Name, Use, IO Standard, IO Bank, Drive (mA), Slew, On-Chip Termination, Off-Chip Termination, Voltage, Constraint, Pull Type, DQS Bias, Vref и Signal Integrity, в которых отображаются параметры конфигурирования выводов ПЛИС или программируемой системы на кристалле, назначение которых представлено в [37].

Для визуальной оценки взаимного расположения выводов корпуса, к которым подключены интерфейсные цепи проектируемого устройства, следует, удерживая в нажатом состоянии клавишу CTRL, щелчком левой кнопки мыши выделить соответствующие строки таблицы, представленной в разделе IO Assignments by Package Pin. При этом указанная группа контактов выделяется на графическом изображении топологии выводов используемого корпуса, представленном на вкладке Package рабочей области основного окна интегрированной среды разработки Vivado IDE (рис. 9).

Если результаты этапа реализации проекта в кристалле программируемой логики или расширяемой процессорной платформы, представленные в отчетах, рассмотренных в [36–38], не полностью соответствуют предъявляемым требованиям, рекомендуется повторить его, изменив набор ограничений и/или стратегию этого процесса. Для сопоставления полученных результатов следует сформировать новый вариант рассматриваемого процесса.

 

Создание нескольких вариантов процесса реализации проекта

Для создания нового варианта процесса реализации проекта в ПЛИС или программируемой системе на кристалле удобнее всего воспользоваться командой Create Implementation Runs из контекстно зависимого всплывающего меню, открываемого щелчком правой кнопкой мыши при расположении курсора в строке Implementation панели управления Flow Navigator основного окна интегрированной среды разработки Vivado IDE (рис. 10). Указанная команда активизирует мастер Create New Runs Wizard, работа с которым подробно рассмотрена в [32], для формирования нового варианта процесса логического синтеза проекта.

Формирование нового варианта процесса реализации проекта в кристалле программируемой логики или расширяемой процессорной платформы

Рис. 10. Формирование нового варианта процесса реализации проекта в кристалле программируемой логики или расширяемой процессорной платформы

Основное отличие в функционировании этого мастера при создании нового варианта процесса реализации проекта в ПЛИС или программируемой системе на кристалле проявляется в структуре таблицы параметров, представленной в диалоговой панели Configure Implementation Runs, чей вид изображен на рис. 10. В состав этой таблицы добавляется колонка Synth Name, где нужно указать идентификатор варианта процесса логического синтеза проектируемого устройства, результаты которого будут использоваться в качестве исходных данных для выполнения нового варианта этапа реализации проекта в кристалле программируемой логики или расширяемой процессорной платформы.

После формирования нового варианта процесса размещения и трассировки проекта в ПЛИС или программируемой системе на кристалле производится запуск его выполнения одним из способов, представленных в [32]. При достижении приемлемых результатов процесса можно перейти к выполнению следующего обязательного этапа проектирования — генерации конфигурационной последовательности. Но предварительно рекомендуется провести моделирование проектируемого устройства, реализованного в кристалле программируемой логики или расширяемой процессорной платформы.

 

Моделирование проектируемого устройства

После этапа реализации проекта в кристалле программируемой логики или расширяемой процессорной платформы в САПР серии Xilinx Vivado HLx Design Suite формируется функциональная и полная временная модель разрабатываемого устройства для встроенных средств моделирования Vivado Simulator. Функциональная модель проектируемого устройства, реализованного в ПЛИС или программируемой системе на кристалле, позволяет оценить его работоспособность после оптимизации на физическом уровне, выполняемой в процессе размещения и трассировки проекта. Полная временная модель разрабатываемого устройства, реализованного в кристалле программируемой логики или расширяемой процессорной платформы, предоставляет возможность изучить влияние задержек распространения сигналов, вносимых трассировочными ресурсами, на его функционирование.

Перед началом этапов функционального и полного временного моделирования проектируемого устройства, реализованного в ПЛИС или программируемой системе на кристалле, рекомендуется указать соответствующий комплект тестовых воздействий и модуль исходного описания проекта, который будет использоваться в процессе моделирования в качестве модуля верхнего уровня иерархии. Процедура выбора комплекта тестовых воздействий и модуля верхнего уровня иерархии подробно рассмотрена для функционального моделирования синтезированного проекта в [32]. При функциональном и полном временном моделировании разрабатываемого устройства, реализованного в кристалле программируемой логики или расширяемой процессорной платформы, в большинстве случаев целесообразно использовать те же комплекты тестовых воздействий, которые были созданы для функционального и оценочного временного моделирования синтезированного проекта.

Для запуска процесса функционального моделирования проектируемого устройства, реализованного в ПЛИС или программируемой системе на кристалле, следует вначале воспользоваться командой Run Simulation, представленной в разделе Simulation панели управления Flow Navigator основного окна управляющей оболочки САПР серии Xilinx Vivado HLx Design Suite и всплывающем меню Flow. Затем в открывшемся всплывающем меню следующего уровня нужно выбрать команду Run Post-Implementation Functional Simulation (рис. 11).

Запуск процесса функционального моделирования проекта, реализованного в кристалле программируемой логики или расширяемой процессорной платформы

Рис. 11. Запуск процесса функционального моделирования проекта, реализованного в кристалле программируемой логики или расширяемой процессорной платформы

При выполнении указанной команды на экране отображается информационная панель Run Simulation, в которой приводятся краткие сведения о предварительных процедурах, необходимых для проведения функционального моделирования проектируемого устройства, реализованного в ПЛИС или программируемой системе на кристалле. По окончании указанных процедур открывается встроенное окно средств моделирования Vivado Simulator с заголовком Post-Implementation Simulation — Functional — <идентификатор_комплекта_тестовых_модулей> — <идентификатор_тестового_модуля>, где представлены временные диаграммы входных и выходных сигналов, сформированных в результате выполнения функционального моделирования проектируемого устройства, реализованного в кристалле программируемой логики или расширяемой процессорной платформы. Эти временные диаграммы целесообразно сравнить с результатами функционального моделирования синтезированного проекта. При корректной оптимизации проекта на физическом уровне результаты функционального моделирования, выполненного после этапов логического синтеза и реализации в кристалле, не должны иметь принципиальных отличий. В противном случае рекомендуется изменить параметры оптимизации разрабатываемого устройства на физическом уровне и повторить этап размещения и трассировки проекта в ПЛИС или программируемой системе на кристалле.

Активизация процесса полного временного моделирования разрабатываемого устройства, реализованного в кристалле программируемой логики или расширяемой процессорной платформы, осуществляется с помощью команды Run Post-Implementation Timing Simulation. Доступ к ней предоставляет всплывающее меню, открываемое при выборе строки Run Simulation в разделе Simulation панели Flow Navigator основного окна управляющей оболочки САПР серии Xilinx Vivado HLx Design Suite или всплывающем меню Flow (рис. 12).

Выполнение полного временного моделирования проекта, реализованного в ПЛИС или программируемой системе на кристалле

Рис. 12. Выполнение полного временного моделирования проекта, реализованного в ПЛИС или программируемой системе на кристалле

При выборе команды Run Post-Implementation Timing Simulation появляется информационная панель Run Simulation, где отображаются сведения о ходе подготовки к процессу полного временного моделирования проектируемого устройства, реализованного в ПЛИС или программируемой системе на кристалле. После закрытия информационной панели Run Simulation автоматически открывается встроенное окно средств моделирования Vivado Simulator, которое имеет заголовок Post-Implementation Simulation — Timing — <идентификатор_комплекта_тестовых_модулей> — <идентификатор_тестового_модуля>. Это окно содержит временные диаграммы интерфейсных сигналов разрабатываемого устройства, которые позволяют, в частности, уточнить значения их временных параметров — длительности и задержки распространения.                 

Продолжение следует

Литература
  1. Зотов В. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPackISE. М.: Горячая линия — Телеком, 2003.
  2. Зотов В. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия — Телеком, 2006.
  3. Зотов В. Проектирование встраиваемых микропроцессорных систем на базе расширяемых процессорных платформ семейства Zynq-7000 AP SoC в САПР XilinxISEDesignSuite// Компоненты и технологии. 2014. № 4–12. № 1.
  4. Зотов В. Моделирование цифровых устройств, проектируемых на основе ПЛИС фирмы Xilinx, средствами ISIM в САПР ISE Design Suite// Компоненты и технологии. 2013. № 2–3.
  5. Зотов В. Средства автоматизированного проектирования и этапы разработки встраиваемых микропроцессорных систем на базе расширяемых процессорных платформ семейства Zynq-7000 AP SoC // Компоненты и технологии. 2013. № 2–3.
  6. Зотов В. Особенности архитектуры нового поколения ПЛИС с архитектурой FPGA фирмы Xilinx // Компоненты и технологии. № 12.
  7. Зотов В. Расширение семейства программируемых систем на кристалле Zynq-7000 AP SoC // Компоненты и технологии. № 12. 2014. № 1.
  8. Vivado Design Suite User Guide. Release Notes, Installation and Licensing. Xilinx, 2016.
  9. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 1 // Компоненты и технологии. 2016. № 7.
  10. Зотов В. Конвертирование проектов цифровых устройств, разрабатываемых на основе ПЛИС и полностью программируемых систем на кристалле фирмы Xilinx в среде ISEDesignSuite, в формат САПР VivadoDesignSuite// Компоненты и технологии. 2013. № 8–10.
  11. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 2 // Компоненты и технологии. 2016. № 8.
  12. Зотов В. Разработка VHDL-описаний цифровых устройств, проектируемых на основе ПЛИС фирмы Xilinx, с использованием шаблонов САПР ISEDesignSuite // Компоненты и технологии. 2010. № 2–12. 2011. № 1–12. 2012. № 1–12.
  13. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 3 // Компоненты и технологии. 2016. № 9.
  14. Vivado Design Suite User Guide. Using Constraints. Xilinx, 2016.
  15. Vivado Design Suite Properties Reference Guide. Xilinx, 2016.
  16. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 4 // Компоненты и технологии. 2016. № 10.
  17. Зотов В. Проектирование узлов синхронизации цифровых устройств и встраиваемых микропроцессорных систем, реализуемых на базе ПЛИС фирмы Xilinx серий Artix-7, Kintex-7 и Virtex-7. Часть 1 // Компоненты и технологии. 2016. № 3.
  18. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 5 // Компоненты и технологии. 2016. № 11.
  19. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 6 // Компоненты и технологии. 2016. № 12.
  20. Зотов В. ModelSim — система HDL-моделирования цифровых устройств. // Компоненты и технологии. 2002. № 6.
  21. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 7 // Компоненты и технологии. 2017. № 1.
  22. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 8 // Компоненты и технологии, № 2. 2017.
  23. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 9 // Компоненты и технологии. 2017. № 3.
  24. UltraFast Design Methodology Quick Reference Guide. Xilinx, 2016.
  25. UltraFast Design Methodology Guide for the Vivado Design Suite. Xilinx, 2016.
  26. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 10 // Компоненты и технологии. 2017. № 4.
  27. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 11 // Компоненты и технологии. 2017. № 5.
  28. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 12 // Компоненты и технологии. 2017. № 6.
  29. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 13 // Компоненты и технологии. 2017. № 7.
  30. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 14 // Компоненты и технологии. 2017. № 8.
  31. Vivado Design Suite User Guide: Synthesis. Xilinx, 2016.
  32. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 15 // Компонентыитехнологии. 2017. № 9.
  33. Large FPGA Methodology Guide Including Stacked Silicon Interconnect (SSI) Technology. Xilinx, 2012.
  34. Santarini M. Stacked & Loaded: Xilinx SSI, 28-Gbps I/O Yield Amazing FPGAs // Xcell Journal. 2011. № 74.
  35. Santarini M. Xilinx Ships World’s Highest-Capacity FPGA Using SSI Technology // Xcell Journal. 2011. № 77.
  36. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinxв САПР серии VivadoHLxDesignSuite. Часть 16 // Компоненты и технологии. 2017. № 10.
  37. Зотов В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии VivadoHLxDesignSuite. Часть 17 // Компоненты и технологии. 2017. № 12.
  38. Зотов  В. Проектирование цифровых устройств на базе ПЛИС фирмы Xilinx в САПР серии Vivado HLx Design Suite. Часть 18 // Компоненты и технологии. 2018. № 1.

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

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