Проектирование встраиваемых микропроцессорных систем на базе расширяемых процессорных платформ семейства Zynq 7000 AP SoC в САПР Xilinx ISE Design Suite. Часть 4

PDF версия
Четвертая часть статьи по проектированию в САПР Xilinx ISE Design Suite встраиваемых микропроцессорных систем на базе Zynq 7000 AP SoC.

Краткое описание параметров синтеза

Страница HDL Options

На странице HDL Options диалоговой панели параметров синтеза, чей вид показан на рис. 44, представлены параметры, предназначенные для управления методом кодирования некоторых объектов HDL-описаний аппаратной части разрабатываемой микропроцессорной системы, реализуемой на базе ресурсов программируемой логики PL кристаллов семейства Zynq 7000 AP SoC.

Параметр FSM Encoding Algorithm управляет выбором метода кодирования конечных автоматов (Finite State Machine, FSM). Выпадающий список возможных значений этого параметра содержит девять вариантов: Auto, One-Hot, Compact, Sequential, Gray, Johnson, Speed1, User и None. Значение Auto, установленное по умолчанию, позволяет средствам синтеза автоматически выбрать для каждого конечного автомата наилучший алгоритм кодирования. Метод One-Hot гарантирует, что каждый отдельный регистр предназначен для реализации одного состояния, то есть в любой момент времени активен только один триггер. Алгоритм Compact позволяет минимизировать количество триггеров при синтезе конечного автомата. При выборе варианта Sequential используется метод, заключающийся в идентификации длинных ветвей и применении последовательности двоичных кодов для представления состояний этих ветвей. Метод Gray, гарантирующий переключение только одной переменной между двумя последовательными состояниями, минимизирует риск возникновения паразитных импульсов. Алгоритм Johnson целесообразно применять при синтезе конечных автоматов, описания которых содержат длинные цепочки без ветвлений. Вариант Speed1 следует указывать, прежде всего, в том случае, когда в качестве критерия оптимизации, выполняемой в процессе синтеза, выбирается достижение максимального быстродействия аппаратной части проектируемой встраиваемой системы. Значение User предписывает средствам синтеза использовать алгоритм кодирования, представленный в файле исходного описания. При выборе варианта None запрещается автоматическое кодирование конечных автоматов.

Вид страницы HDL Options диалоговой панели параметров синтеза

Рис. 44. Вид страницы HDL Options диалоговой панели параметров синтеза

Параметр Safe Implementation предусматривает выбор безопасного метода реализации конечных автоматов FSM. При разрешающем значении (YES) этого параметра в состав конечных автоматов добавляется специальная логика, которая при обнаружении непредусмотренного (недопустимого) состояния возвращает разрабатываемую систему в исходное состояние, позволяющее вернуться к нормальному выполнению операций. По умолчанию для параметра Safe Implementation используется вариант NO, при котором специальная логика в составе конечных автоматов не применяется.

С помощью параметра Case Implementation Style определяется способ реализации операторов Case при синтезе Verilog-описаний. Выпадающий список значений этого параметра содержит четыре варианта: None, Full, Parallel и Full-Parallel. При синтезе описаний аппаратной части разрабатываемых встраиваемых систем, предназначенных для последующей реализации на базе ресурсов программируемой логики PL кристаллов расширяемых процессорных платформ семейства Zynq‑7000 AP SoC, для параметра Case Implementation Style по умолчанию установлено значение None.

Значение параметра FSM Style определяет тип элементов, используемых для реализации конечных автоматов, входящих в состав описания аппаратной части проектируемой микропроцессорной системы. Конечные автоматы могут быть выполнены на базе таблиц преобразования Look-Up Table (LUT) или модулей блочной памяти Block RAM, представленных в составе программируемой логики PL кристаллов расширяемых процессорных платформ. По умолчанию для данного параметра предлагается вариант LUT, при котором для реализации конечных автоматов применяются ресурсы таблиц преобразования. Чтобы использовать для этих целей ресурсы блочной памяти кристалла, нужно в выпадающем списке возможных значений рассматриваемого параметра выбрать вариант Block RAM.

Параметр RAM Extraction позволяет включить или выключить режим извлечения макросов ОЗУ (RAM) в процессе синтеза аппаратной части разрабатываемой микропроцессорной системы. По умолчанию индикатор состояния этого параметра установлен в положение «Включено», при котором средствам синтеза Xilinx Synthesis Tool (XST) разрешается выделение макросов ОЗУ в исходном коде HDL-описания.

С помощью параметра RAM Style указывается способ реализации макросов ОЗУ, выделяемых средствами синтеза XST. Выпадающий список возможных значений этого параметра содержит три варианта: Auto, Distributed, Block. По умолчанию используется значение Auto, при котором средства синтеза XST для каждого идентифицированного макроса ОЗУ автоматически устанавливают тип памяти, представленной в составе программируемой логики, обеспечивающий его оптимальную реализацию. При выборе значения Distributed все синтезированные макросы ОЗУ представляются на этапе реализации в виде распределенной памяти. Значение Block определяет последующую реализацию всех макросов ОЗУ на базе модулей блочной памяти (Block RAM) ресурсов программируемой логики PL кристаллов семейства Zynq‑7000 AP SoC.

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

Параметр ROM Style предназначен для выбора способа реализации макросов ПЗУ, извлекаемых средствами синтеза XST. В выпадающем списке допустимых значений данного параметра представлено три варианта: Auto, Distributed, Block. По умолчанию установлено значение Auto, при котором для каждого идентифицированного макроса ПЗУ средства синтеза автоматически выбирают тип памяти кристалла, обеспечивающий оптимальную реализацию этого макроса. Если для рассматриваемого параметра указано значение Distributed, то все синтезированные макросы ПЗУ представляются в виде, соответствующем последующей реализации на основе распределенной памяти ресурсов программируемой логики PL кристаллов семейства Zynq‑7000 AP SoC. Выбор варианта Block обеспечивает последующую реализацию всех синтезированных макросов ПЗУ на основе модулей блочной памяти Block RAM.

С помощью параметра Automatic BRAM Packing разработчик может установить режим синтеза элементов запоминающих устройств, реализуемых на базе ресурсов блочной памяти кристалла, при котором два элемента однопортовой памяти автоматически объединяются (упаковываются) в один примитив двухпортового запоминающего устройства. При этом следует учитывать, что объединяемые элементы блочной памяти должны соответствовать одному уровню иерархии проекта аппаратной части разрабатываемой встраиваемой системы. По умолчанию индикатор состояния параметра Automatic BRAM Packing находится в положении «Выключено», при котором упаковка элементов блочной памяти не производится.

Параметр Shift Register Extraction разрешает или запрещает извлечение макросов регистров сдвига в процессе синтеза. По умолчанию индикатор состояния этого параметра установлен в положение «Включено», разрешающее средствам синтеза XST выделение макросов сдвиговых регистров в исходном коде HDL-описания аппаратной части проектируемой микропроцессорной системы.

Значение параметра Shift Register Minimum Size определяет минимальную длину регистров сдвига, для реализации которых используются соответствующие ресурсы (SRL) программируемой логики PL кристаллов расширяемых процессорных платформ. По умолчанию для указанного параметра установлено значение, равное двум. Для его изменения следует активизировать соответствующее поле редактирования и воспользоваться клавиатурой.

Параметр Resource Sharing разрешает или запрещает совместное использование ресурсов арифметическими операторами. По умолчанию для данного параметра предлагается разрешающее значение, отображаемое маркером на поле соответствующего индикатора состояния.

С помощью параметра Use DSP Block определяется возможность применения аппаратных модулей цифровой обработки сигналов DSP48E1 для реализации соответствующих макросов в составе аппаратной части разрабатываемых микропроцессорных систем. Выпадающий список возможных значений этого параметра включает три варианта: Auto, Yes, No. По умолчанию данный параметр принимает значение Auto, при котором средства синтеза автоматически определяют наиболее эффективный вариант реализации соответствующих макросов. Если для параметра Use DSP48 указано значение Yes, то в процессе синтеза аппаратной части проектируемой встраиваемой системы блоки цифровой обработки сигналов будут задействованы там, где это возможно. При выборе варианта No синтез аппаратной части разрабатываемой микропроцессорной системы осуществляется с учетом последующей реализации соответствующих макросов на базе стандартных ресурсов (конфигурируемых логических блоков) программируемой логики PL кристаллов семейства Zynq‑7000 AP SoC.

Параметр Asynchronous to Synchronous разрешает или запрещает в процессе синтеза аппаратной части проектируемой встраиваемой системы преобразование сигналов (цепей) асинхронного сброса и установки в сигналы синхронного сброса и установки. По умолчанию для этого параметра используется значение No, запрещающее преобразование указанных сигналов.

Страница Xilinx Specific Options

Страница Xilinx Specific Options диалоговой панели параметров синтеза, вид которой приведен на рис. 45, содержит параметры, учитывающие требования средств размещения и трассировки САПР серии Xilinx ISE Design Suite.

Вид страницы Xilinx Specific Options диалоговой панели параметров синтеза

Рис. 45. Вид страницы Xilinx Specific Options диалоговой панели параметров синтеза

Параметр Add I/O Buffers разрешает или запрещает автоматическое подключение входных и выходных буферных элементов к цепям модуля исходного описания верхнего уровня иерархии проекта, которые предназначены для соединения с выводами кристалла расширяемой процессорной платформы. По умолчанию установлено разрешающее значение этого параметра (соответствующий индикатор состояния находится в положении «Включено»). Если входные и выходные буферные элементы были добавлены в состав модуля исходного описания проекта аппаратной части встраиваемой системы на стадии его разработки, то следует изменить состояние индикатора параметра Add I/O Buffers на противоположное («Выключено»), запрещающее автоматическое подключение этих элементов.

Значение параметра Max Fanout устанавливает максимально допустимое количество ветвлений цепей в процессе синтеза. Наличие цепей с большим количеством ветвлений создает проблемы в процессе их последующей трассировки. Чтобы исключить возникновение таких проблем, с помощью параметра Max Fanout задается предельное значение, ограничивающее количество разветвлений результирующих цепей. Средства синтеза могут сократить количество разветвлений за счет дублирования соответствующих регистров и вентилей, а также за счет установки дополнительных буферных элементов. Значение, предлагаемое по умолчанию для рассматриваемого параметра, зависит от выбранного семейства кристаллов. При реализации проектируемой встраиваемой системы на базе кристаллов расширяемых процессорных платформ семейства Zynq‑7000 AP SoC параметр Max Fanout по умолчанию принимает значение, равное 100 000.

С помощью параметра Number of Clock Buffers определяется максимальное количество глобальных буферных элементов, создаваемых средствами XST при синтезе аппаратной части разрабатываемой микропроцессорной системы. Задаваемое значение этого параметра должно соответствовать объему глобальных ресурсов, который указан в справочных данных для выбранного типа кристалла. Значение, предлагаемое по умолчанию для параметра Number of Clock Buffers, также определяется типом кристалла, используемого для реализации проектируемой встраиваемой системы. В частности, для кристалла XC7Z020, установленного на отладочной плате ZedBoard, используемой для реализации простейшей системы сбора и обработки данных, это значение равно 32.

Значение параметра Register Duplication разрешает или запрещает средствам синтеза дублирование регистров при временной оптимизации и сокращении количества разветвлений цепей. По умолчанию индикатор состояния этого параметра установлен в положение «Включено», разрешающее средствам синтеза дублирование регистров в процессе синтеза аппаратной части разрабатываемой микропроцессорной системы.

Параметр Equivalent Register Removal управляет оптимизацией триггеров в процессе синтеза. При разрешающем значении этого параметра, которое задано по умолчанию, средства синтеза исключают из состава описания аппаратной части проектируемой встраиваемой системы триггеры, выполняющие эквивалентные функции, а также триггеры, входные сигналы которых имеют постоянный уровень, не изменяющийся в процессе функционирования системы.

Параметр Register Balancing используется для повышения производительности аппаратной части разрабатываемой микропроцессорной системы за счет перемещения триггеров относительно логики. Выпадающий список возможных значений данного параметра содержит четыре варианта: Yes, No, Forward и Backward. По умолчанию установлено значение No, запрещающее перестановку триггеров. Вариант Yes разрешает перестановку триггеров как в прямом, так и в обратном направлении. При выборе значения Forward перемещение разрешается только в прямом направлении, то есть триггеры на входах таблицы преобразования LUT заменяются триггером на ее выходе. Вариант Backward допускает только обратное перемещение триггеров, при котором триггер на выходе LUT преобразуется в серию триггеров на ее входах.

С помощью параметра Move First Flip-Flop Stage расширяются возможности применения опции Register Balancing. По умолчанию индикатор состояния рассматриваемого параметра находится в положении «Включено», при котором в процессе перестановки триггеров могут участвовать и триггеры, подключаемые к входным контактам кристалла. Установка этого индикатора в состояние «Выключено» позволяет исключить из процесса перемещения входные триггеры.

Параметр Move Last Flip-Flop Stage оказывает аналогичное влияние на применение опции Register Balancing в процессе синтеза аппаратной части проектируемой микропроцессорной системы. По умолчанию индикатор состояния указанного параметра установлен в положение «Включено», разрешающее использование в процессе перестановки триггеров, подключаемых к выходным контактам кристалла. При переводе этого индикатора в выключенное состояние выходные триггеры исключаются из процесса перемещения. Следует обратить внимание на то, что опции Move First Flip-Flop Stage и Move Last Flip-Flop Stage доступны для использования только если для параметра Register Balancing выбрано значение, допускающее перестановку триггеров (Yes, Forward или Backward). Для параметров Move First Flip-Flop Stage и Move Last Flip-Flop Stage рекомендуется использовать значения, установленные по умолчанию.

С помощью параметра Pack I/O Registers into IOBs осуществляется управление компоновкой триггеров в блоки ввода/вывода на этапе синтеза. В выпадающем списке доступных значений этого параметра представлено три варианта: Auto, Yes и No. Значение Auto, установленное по умолчанию, предписывает средствам синтеза выполнять упаковку триггеров в блоки ввода/вывода при условии соблюдения требований временных спецификаций. При выборе варианта Yes средства синтеза используют триггеры, входящие в состав блоков ввода/вывода, везде, где это возможно. Значение No запрещает средствам синтеза поглощение входных и выходных триггеров.

Параметр LUT Combining предоставляет возможность объединения двух таблиц преобразования с общими входами в одну 6‑входовую таблицу преобразования с двумя выходами, обеспечивая тем самым уменьшение объема используемых ресурсов программируемой логики кристалла расширяемой процессорной платформы. При этом следует учитывать, что такая оптимизация может привести к снижению быстродействия аппаратной части проектируемой встраиваемой системы, реализуемой на базе ресурсов программируемой логики. Выпадающий список возможных значений рассматриваемого параметра содержит три варианта: No, Auto и Area. Значение No запрещает объединение таблиц преобразования в процессе синтеза аппаратной части разрабатываемой микропроцессорной системы. Вариант Auto, предлагаемый по умолчанию, разрешает выполнять комбинирование таблиц преобразования с учетом достижения компромисса между сокращением объема используемых ресурсов программируемой логики и снижением быстродействия. В случае выбора варианта Area средства синтеза осуществляют объединение максимального числа пар таблиц преобразования, обеспечивая минимизацию области программируемой логики, занимаемой аппаратной частью проектируемой встраиваемой системы.

Значение параметра Reduce Control Sets определяет возможность сокращения числа управляющих сигналов в процессе синтеза. Такая оптимизация, выполняемая в ходе данного процесса, позволяет уменьшить количество секций конфигурируемых логических блоков, используемых для реализации аппаратной части разрабатываемой микропроцессорной системы. В выпадающем списке возможных значений этого параметра представлено два варианта: No и Auto. Значение No запрещает средствам синтеза выполнять указанную дополнительную оптимизацию. Вариант Auto, предлагаемый по умолчанию для рассматриваемого параметра, позволяет автоматически при синтезе оптимизировать количество сигналов управления.

С помощью параметра Use Clock Enable указывается возможность использования входов сигналов разрешения синхронизации Clock Enable в триггерах синтезируемой аппаратной части проектируемой встраиваемой системы. Выпадающий список доступных значений этого параметра включает три варианта: Auto, Yes и No. При выборе значения Auto средства синтеза в каждом конкретном случае автоматически определяют необходимость использования входов сигналов разрешения синхронизации в триггерах. Значение Yes разрешает задействовать входы разрешения синхронизации в триггерах синтезируемой аппаратной части разрабатываемой микропроцессорной системы. Вариант No запрещает использование входов сигналов разрешения синхронизации. По умолчанию при синтезе аппаратной части проектируемых встраиваемых систем, реализуемой на базе программируемой логики PL кристаллов расширяемых процессорных платформ семейства Zynq‑7000 AP SoC, для параметра Use Clock Enable установлено значение Auto.

Значение параметра Use Synchronous Set определяет возможность применения входов сигналов синхронной установки в триггерах синтезируемой аппаратной части разрабатываемой встраиваемой системы. В выпадающем списке доступных значений этого параметра представлены те же варианты, что и для параметра Use Clock Enable. Если для параметра Use Synchronous Set указано значение Auto, то средства синтеза автоматически оценивают эффективность использования входов сигналов синхронной установки в триггерах для каждого конкретного случая и выбирают оптимальный вариант. При выборе значения Yes входы синхронной установки будут задействованы в триггерах синтезируемой аппаратной части проектируемой микропроцессорной системы. Выбор значения No устанавливает запрет на использование входов синхронной установки. Параметр Use Synchronous Set по умолчанию принимает то же значение, что и параметр Use Clock Enable.

С помощью параметра Use Synchronous Reset осуществляется управление использованием входов синхронного сброса в триггерах синтезируемой аппаратной части разрабатываемой встраиваемой системы. Выпадающий список возможных значений данного параметра предусматривает те же варианты, что и для параметра Use Synchronous Set. Эти значения соответствуют аналогичным вариантам применения входов синхронного сброса в триггерах синтезируемого описания. По умолчанию при синтезе аппаратной части проектируемых встраиваемых систем, реализуемых на базе кристаллов семейства Zynq‑7000 AP SoC, для параметра Use Synchronous Reset предлагается вариант Auto.

Параметр Optimize Instantiated Primitives позволяет выбрать режим оптимизации примитивов, используемых в составе синтезируемого описания. По умолчанию индикатор состояния этого параметра находится в положении «Выключено», которое запрещает оптимизацию примитивов в процессе синтеза аппаратной части разрабатываемой микропроцессорной системы. При установке указанного индикатора состояния в положение «Включено» средства синтеза дополнительно выполняют оптимизацию используемых примитивов.

После выбора необходимых значений параметров синтеза следует подтвердить их нажатием клавиши ОК в нижней части диалоговой панели, представленной на рис. 43–45. Затем можно перейти непосредственно к выполнению этапа синтеза аппаратной части проектируемой встраиваемой системы, конфигурируемой на базе ресурсов программируемой логики PL кристаллов семейства Zynq‑7000 AP SoC.

 

Синтез аппаратной части проектируемой системы, реализуемой на базе ресурсов программируемой логики PL кристаллов

Процесс синтеза аппаратной части разрабатываемой микропроцессорной системы, конфигурируемой на базе ресурсов программируемой логики PL кристаллов семейства Zynq‑7000 AP SoC, активизируется двойным щелчком левой кнопки мыши на строке Synthesize — XST во встроенной панели Processes Project Navigator (рис. 37). При этом в начале указанной строки появляется пиктограмма Кнопка, которая информирует о том, что данный процесс находится в стадии выполнения. Сведения о ходе выполнения этапа синтеза последовательно выводятся на вкладке Console окна консольных сообщений. После окончания этого процесса в начале строки Synthesize — XST отображается пиктограмма, вид которой информирует о характере завершения данного этапа. Возможны следующие варианты завершения процессов, выполняемых в среде САПР серии Xilinx ISE Design Suite:

  • Кнопка текущий процесс выполнен успешно без каких-либо ошибок и предупреждений;
  • Кнопка процедура исполнена без ошибок, но имеются предупреждения;
  • Кнопка при выполнении процесса обнаружены ошибки;
  • Кнопка результаты выполнения процесса устарели (не соответствуют исходным данным).

Последовательность осуществления этапа синтеза аппаратной части проектируемой микропроцессорной системы, реализуемой на базе ресурсов программируемой логики PL кристаллов семейства Zynq‑7000 AP SoC, в наглядной форме представлена на рис. 46.

Последовательность выполнения этапа синтеза аппаратной части разрабатываемой микропроцессорной системы

Рис. 46. Последовательность выполнения этапа синтеза аппаратной части разрабатываемой микропроцессорной системы

Рассматриваемый этап включает три фазы — HDL Parsing, HDL Synthesis и Low Level Optimization. На первой фазе процесса синтеза (HDL Parsing) производится проверка корректности HDL-кода, представленного в модулях исходного описания аппаратной части разрабатываемой встраиваемой системы. При обнаружении синтаксических ошибок формируются соответствующие сообщения, которые отображаются на вкладке Console консольной области Project Navigator и заносятся в детализированный отчет о выполнении процесса синтеза.

Фаза HDL Synthesis представляет собой собственно процедуру синтеза, в ходе которой делаются попытки выделения различных блоков описания и макросов, наиболее точно подходящих для последующей реализации на базе ресурсов программируемой логики (например, мультиплексоров, сумматоров, вычитающих устройств, ОЗУ). Средствами синтеза осуществляется также распознавание описаний конечных автоматов FSM с учетом выбранного метода кодирования. В процессе синтеза учитываются установленные значения параметров, рассмотренных в предыдущих разделах, и ограничения, содержащиеся в файле XST Constraint File (XCF).

На заключительной фазе процесса синтеза (Low Level Optimization) производится низкоуровневая оптимизация, в ходе выполнения которой выделенные макросы и связывающая логика преобразуются к виду, соответствующему архитектурно-технологическим особенностям программируемой логики используемого кристалла. При осуществлении этой оптимизации в синтезируемом списке соединений выделяются такие элементы, как:

  • логика ускоренного переноса Carry logic (MUXCY, XORCY, MULT_AND);
  • оперативная память (блочные и распределенные ОЗУ);
  • регистры сдвига, конфигурируемые на базе таблиц преобразования LUT (SRL16, SRL32);
  • глобальные буферные элементы, предназначенные для распределения сигналов синхронизации Clock Buffers (IBUFG, BUFG, BUFGP, BUFR);
  • мультиплексоры расширения (MUXF5, MUXF6, MUXF7, MUXF8);
  • арифметические устройства, реализуемые на основе аппаратных секций цифровой обработки сигналов (DSP48E1).

Для того чтобы получить более подробную информацию о ходе и результатах выполнения этапа синтеза аппаратной части проектируемой встраиваемой системы, можно открыть детализированный отчет о выполнении процесса синтеза. Для этого нужно, прежде всего, открыть вкладку Design Summary рабочей области основного окна Project Navigator, выполнив команду Design Summary/Reports из всплывающего меню Project. На указанной вкладке, вид которой представлен на рис. 47, следует развернуть раздел Detailed Reports, после чего необходимо поместить курсор на строку Synthesis Report и щелкнуть левой кнопкой мыши. При этом открывается новое окно встроенного HDL-редактора (в режиме только чтения), в котором отображается сформированный подробный отчет.

Открытие отчета о результатах процесса синтеза аппаратной части разрабатываемой микропроцессорной системы

Рис. 47. Открытие отчета о результатах процесса синтеза аппаратной части разрабатываемой микропроцессорной системы

 

Структура детализированного отчета о выполнении и результатах процесса синтеза аппаратной части проектируемой встраиваемой системы

Детализированный отчет о выполнении процесса синтеза аппаратной части разрабатываемой микропроцессорной системы, конфигурируемой на базе ресурсов программируемой логики PL кристаллов семейства Zynq‑7000 AP SoC, содержит восемь основных разделов, выделенных двойными штриховыми линиями. Для большей наглядности структура этого отчета рассматривается ниже на примере простейшей системы сбора и обработки данных, проект аппаратной части которой был подготовлен в предыдущих разделах. В начале рассматриваемого документа приведена информация об используемой версии средств синтеза и о содержании сформированного отчета:

Release 14.7 - xst P.20131013 (nt64)
Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved.
--> Parameter TMPDIR set to xst/projnav.tmp

Total REAL time to Xst completion: 0.00 secs
Total CPU time to Xst completion: 0.11 secs

--> Parameter xsthdpdir set to xst

Total REAL time to Xst completion: 0.00 secs
Total CPU time to Xst completion: 0.11 secs

--> Reading design: PS_ARM_top.prj

TABLE OF CONTENTS
    1) Synthesis Options Summary
    2) HDL Parsing
    3) HDL Elaboration
    4) HDL Synthesis
        4.1) HDL Synthesis Report
    5) Advanced HDL Synthesis
        5.1) Advanced HDL Synthesis Report
    6) Low Level Synthesis
    7) Partition Report
    8) Design Summary
        8.1) Primitive and Black Box Usage
        8.2) Device utilization summary
        8.3) Partition Resource Summary
        8.4) Timing Report
               8.4.1) Clock Information
               8.4.2) Asynchronous Control Signals Information
               8.4.3) Timing Summary
               8.4.4) Timing Details
               8.4.5) Cross Clock Domains Report

В первом разделе отчета — Synthesis Options Summary — указаны установленные значения параметров синтеза, рассмотренных выше, и некоторых общих параметров проекта (семейство и тип используемого кристалла расширяемой процессорной платформы), а также форматы входных и выходных файлов:

=============================
* Synthesis Options Summary *
=============================

---- Source Parameters
Input File Name : "PS_ARM_top.prj"
Ignore Synthesis Constraint File : NO

---- Target Parameters
Output File Name : "PS_ARM_top"
Output Format : NGC
Target Device : xc7z020-1-clg484

---- Source Options
Top Module Name : PS_ARM_top
Automatic FSM Extraction : YES
FSM Encoding Algorithm : Auto
Safe Implementation : No
FSM Style : LUT
RAM Extraction : Yes
RAM Style : Auto
ROM Extraction : Yes
Shift Register Extraction : YES
ROM Style : Auto
Resource Sharing : YES
Asynchronous To Synchronous : NO
Shift Register Minimum Size : 2
Use DSP Block : Auto
Automatic Register Balancing : No

---- Target Options
LUT Combining : Auto
Reduce Control Sets : Auto
Add IO Buffers : YES
Global Maximum Fanout : 100000
Add Generic Clock Buffer(BUFG) : 32
Register Duplication : YES
Optimize Instantiated Primitives : NO
Use Clock Enable : Auto
Use Synchronous Set : Auto
Use Synchronous Reset : Auto
Pack IO Registers into IOBs : Auto
Equivalent register Removal : YES

---- General Options
Optimization Goal : Speed
Optimization Effort : 1
Power Reduction : NO
Keep Hierarchy : No
Netlist Hierarchy : As_Optimized
RTL Output : Yes
Global Optimization : AllClockNets
Read Cores : YES
Write Timing Constraints : NO
Cross Clock Analysis : NO

Hierarchy Separator : /
Bus Delimiter : <>
Case Specifier : Maintain
Slice Utilization Ratio : 100
BRAM Utilization Ratio : 100
DSP48 Utilization Ratio : 100
Auto BRAM Packing : NO
Slice Utilization Ratio Delta : 5
============================

Второй раздел — HDL Parsing — содержит информацию о ходе синтаксического анализа объектов исходных описаний в соответствии с иерархией проекта аппаратной части разрабатываемой встраиваемой системы:

==========================
* HDL Parsing *
==========================
Parsing VHDL file "D:/Emb_PRJ/New_Sys/PS_ARM/hdl/PS_ARM.vhd" into library work
Parsing entity <PS_ARM>.
Parsing architecture <STRUCTURE> of entity <ps_arm>.
Parsing VHDL file "D:\Emb_PRJ\New_Sys\PS_ARM\PS_ARM_top.vhd" into library work
Parsing entity <PS_ARM_top>.
Parsing architecture <STRUCTURE> of entity <ps_arm_top>.
===========================

В третьем разделе отчета — HDL Elaboration — приведены сведения о последовательности обработки объектов исходных описаний, представленных в составе иерархической структуры сформированного описания аппаратной части проектируемой микропроцессорной системы:

=====================
* HDL Elaboration *
=====================
Elaborating entity <PS_ARM_top> (architecture <STRUCTURE>) from library <work>.

Elaborating entity <PS_ARM> (architecture <>) from library <work>.
=====================

В четвертом разделе — HDL Synthesis — содержится информация о последовательности синтеза обработанных объектов исходных описаний аппаратной части разрабатываемой встраиваемой системы. В отдельной секции этого раздела расположены данные об обнаруженных макросах:

====================
* HDL Synthesis *
====================

Synthesizing Unit <PS_ARM_top>.
    Related source file is "D:\Emb_PRJ\New_Sys\PS_ARM\PS_ARM_top.vhd".
    Set property "BOX_TYPE = user_black_box" for instance <PS_ARM_i>.
    Summary:
        no macro.
Unit <PS_ARM_top> synthesized.

=====================
HDL Synthesis Report

Found no macro
=====================

В пятом разделе отчета — Advanced HDL Synthesis — приводятся сведения о последовательности выполнения и результатах очередной фазы синтеза, в процессе которой осуществляется чтение IP-ядер, применяемых в составе аппаратной части проектируемой микропроцессорной системы:

=======================
* Advanced HDL Synthesis *
=======================

Reading core <PS_ARM.ngc>.
Reading core <PS_ARM_processing_system7_0_wrapper.ngc>.
Reading core <PS_ARM_axi_interconnect_1_wrapper.ngc>.
Reading core <PS_ARM_axi_gpio_0_wrapper.ngc>.
Loading core <PS_ARM_processing_system7_0_wrapper> for timing and area information for instance <processing_system7_0>.
Loading core <PS_ARM_axi_interconnect_1_wrapper> for timing and area information for instance <axi_interconnect_1>.
Loading core <PS_ARM_axi_gpio_0_wrapper> for timing and area information for instance <axi_gpio_0>.
Loading core <PS_ARM> for timing and area information for instance <PS_ARM_i>.

=======================
Advanced HDL Synthesis Report

Found no macro
=======================

Шестой раздел отчета — Low Level Synthesis — отображает последовательность и результаты оптимизации, выполняемой в процессе низкоуровневого синтеза:

====================
* Low Level Synthesis *
====================

WARNING:Xst:528 - Multi-source in Unit <processing_system7_0> on signal <PS_SRSTB>; this signal is connected to multiple drivers.
Drivers are:
    Primary input port <processing_system7_0_PS_SRSTB_pin>
    Output port PS7:PSSRSTB of instance <PS_ARM_i/processing_system7_0/processing_system7_0/PS7_i>

WARNING:Xst:528 - Multi-source in Unit <processing_system7_0> on signal <PS_CLK>; this signal is connected to multiple drivers.
Drivers are:
    Primary input port <processing_system7_0_PS_CLK_pin>
    Output port PS7:PSCLK of instance <PS_ARM_i/processing_system7_0/processing_system7_0/PS7_i>

WARNING:Xst:528 - Multi-source in Unit <processing_system7_0> on signal <PS_PORB>; this signal is connected to multiple drivers.
Drivers are:
    Primary input port <processing_system7_0_PS_PORB_pin>
    Output port PS7:PSPORB of instance <PS_ARM_i/processing_system7_0/processing_system7_0/PS7_i>

Optimizing unit <PS_ARM_top> ...

Mapping all equations...
Building and optimizing final netlist ...
Found area constraint ratio of 100 (+ 5) on block PS_ARM_top, actual ratio is 0.
INFO:Xst:2260 - The FF/Latch <axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/m_atarget_enc_0> in Unit <axi_interconnect_1> is equivalent to the following FF/Latch : <axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/m_atarget_enc_0_1>
INFO:Xst:2260 - The FF/Latch <axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.addr_arbiter_inst/grant_rnw> in Unit <axi_interconnect_1> is equivalent to the following FF/Latch : <axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.addr_arbiter_inst/grant_rnw_1>
INFO:Xst:2260 - The FF/Latch <axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/m_atarget_enc_0> in Unit <axi_interconnect_1> is equivalent to the following FF/Latch : <axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/m_atarget_enc_0_1>
INFO:Xst:2260 - The FF/Latch <axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.addr_arbiter_inst/grant_rnw> in Unit <axi_interconnect_1> is equivalent to the following FF/Latch : <axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.addr_arbiter_inst/grant_rnw_1>
INFO:Xst:2260 - The FF/Latch <axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/m_atarget_enc_0> in Unit <axi_interconnect_1> is equivalent to the following FF/Latch : <axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/m_atarget_enc_0_1>
INFO:Xst:2260 - The FF/Latch <axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.addr_arbiter_inst/grant_rnw> in Unit <axi_interconnect_1> is equivalent to the following FF/Latch : <axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.addr_arbiter_inst/grant_rnw_1>

Final Macro Processing ...
======================
Final Register Report

Found no macro
======================

В седьмом разделе — Partition Report — содержатся сведения о разбиении разрабатываемого проекта на секции и детализированная информация об этих секциях:

====================
* Partition Report *
====================
Partition Implementation Status
====================
No Partitions were found in this design.
====================

Заключительный раздел отчета — Design Summary — содержит итоговые сведения о результатах синтеза аппаратной части проектируемой встраиваемой системы. Этот раздел включает четыре подраздела:

  • Primitive and Black Box Usage;
  • Device utilization summary;
  • Partition Resource Summary;
  • Timing Report.

В начале рассматриваемого раздела представлена информация о выходном файле, который является основным результатом процесса синтеза. Далее, в подразделе Primitive and Black Box Usage, приводятся сведения о количестве примитивов (базисных элементов) каждого типа, использованных в синтезированном описании аппаратной части разрабатываемой микропроцессорной системы. В соответствии с классификацией, осуществляемой средствами синтеза XST, существует восемь типов примитивов (базисных элементов):

  • BELS — базовые элементы конфигурируемых логических блоков, к которым относятся таблицы преобразований (LUT), мультиплексоры расширения (MUXCY, MUXF5, MUXF6, MUXF7, MUXF8) и стандартные логические элементы (например, AND2, OR2);
  • Flip-flops/Latches — триггеры с динамическим и потенциальным управлением (защелки) (например, элементы FDR, FDRE, LD);
  • RAMS — элементы оперативных запоминающих устройств;
  • SHIFTERS — регистры сдвига (например, элементы SRL16, SRL16_1, SRL16E, RL16E_1);
  • Tri-States — элементы с тристабильными выходами (например, BUFT);
  • Clock Buffers — глобальные буферные элементы, используемые в цепях синхронизации (например, элементы BUFG, BUFGP, BUFGDLL);
  • IO Buffers — стандартные входные и выходные буферные элементы, подключаемые к выводам кристалла (например, элементы IBUF, OBUF, IOBUF, OBUFT, IBUF_GTL);
  • OTHER — элементы, не включенные ни в одну из предыдущих групп, например ядро процессорной системы кристаллов семейства Zynq‑7000 AP SoC.

Иногда стандартные логические элементы выделяются в отдельную группу — LOGICAL:

=======================
* Design Summary *
=======================

Top Level Output File Name : PS_ARM_top.ngc

Primitive and Black Box Usage:
------------------------------
# BELS : 383
#      GND : 4
#      INV : 97
#      LUT2 : 60
#      LUT3 : 42
#      LUT4 : 76
#      LUT5 : 20
#      LUT6 : 69
#      MUXCY : 8
#      MUXF7 : 1
#      VCC : 2
#      XORCY : 4
# FlipFlops/Latches : 183
#      FD : 35
#      FDC : 6
#      FDE : 69
#      FDR : 32
#      FDRE : 33
#      FDSE : 8
# Shift Registers : 8
#      SRLC16E : 8
# Clock Buffers : 1
#      BUFG : 1
# IO Buffers : 11
#      IBUF : 3
#      IOBUF : 8
# Others : 1
#      PS7 : 1

Затем, в подразделе Device utilization summary, отображаются итоговые статистические характеристики полученных результатов синтеза аппаратной части разрабатываемой встраиваемой системы. Здесь представлены сведения об абсолютном и относительном количестве базисных элементов, применяемых в составе синтезированного описания аппаратной части проектируемой микропроцессорной системы:

Device utilization summary:
---------------------------

Selected Device : 7z020clg484-1

Slice Logic Utilization:
    Number of Slice Registers: 183 out of 106400 0%
    Number of Slice LUTs: 372 out of 53200 0%
        Number used as Logic: 364 out of 53200 0%
        Number used as Memory: 8 out of 17400 0%
        Number used as SRL: 8

Slice Logic Distribution:
    Number of LUT Flip Flop pairs used: 425
        Number with an unused Flip Flop: 242 out of 425 56%
        Number with an unused LUT: 53 out of 425 12%
        Number of fully used LUT-FF pairs: 130 out of 425 30%
        Number of unique control sets: 18

IO Utilization:
    Number of IOs: 138
    Number of bonded IOBs: 11 out of 200 5%

Specific Feature Utilization:
    Number of BUFG/BUFGCTRLs: 1 out of 32 3%

В подразделе Partition Resource Summary содержится итоговая информация о разбиении разрабатываемого проекта на секции:

----------------------------------
Partition Resource Summary:
----------------------------------
No Partitions were found in this design.
----------------------------------

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

Подраздел временных характеристик (TIMING REPORT) включает пять секций: Clock Information, Asynchronous Control Signals Information, Timing Summary, Timing Detail и Cross Clock Domains Report. В секции Clock Information перечисляются сигналы синхронизации и типы буферных элементов, использованных для их формирования:

 

========================
Timing Report

NOTE:  THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.
            FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT
            GENERATED AFTER PLACE-and-ROUTE.

Clock Information:
-------------+----------+-------+
Clock Signal | Clock buffer(FF name) | Load |
-------------+-----------------------+------+
PS_ARM_i/processing_system7_0/processing_system7_0/FCLK_CLK_unbuffered<0>| BUFG | 191|
-------------+----------+-------+

Вторая секция (Asynchronous Control Signals Information) содержит сведения об асинхронных сигналах управления, если такие имеются, и типах буферных элементов, применяемых для их формирования:

Asynchronous Control Signals Information:
----------------------------------------
No asynchronous control signals found in this design

Секция Timing Summary представляет предельные значения основных временных характеристик: максимальное значение тактовой частоты, минимальное время установления входных сигналов по отношению к сигналу синхронизации, максимальная задержка выходных сигналов по отношению к сигналу синхронизации, максимальная задержка распространения сигнала со входа до выхода через комбинационную логику.

Timing Summary:
---------------
Speed Grade: -1
    Minimum period: 3.868ns (Maximum Frequency: 258.532MHz)
    Minimum input arrival time before clock: 2.172ns
    Maximum output required time after clock: 2.465ns
    Maximum combinational path delay: 0.000ns

В секции Timing Detail дается детальное описание временных характеристик критических путей распространения сигналов в структуре аппаратной части разрабатываемой микропроцессорной системы:

Timing Details:
------------------------
All values displayed in nanoseconds (ns)

========================
Timing constraint: Default period analysis for Clock 'PS_ARM_i/processing_system7_0/processing_system7_0/FCLK_CLK_unbuffered<0>'
  Clock period: 3.868ns (frequency: 258.532MHz)
  Total number of paths / destination ports: 2196 / 351
--------------------------------
Delay: 3.868ns (Levels of Logic = 8)
  Source: PS_ARM_i/axi_gpio_0/axi_gpio_0/ip2bus_wrack_i_D1 (FF)
  Destination: PS_ARM_i/axi_interconnect_1/axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.addr_arbiter_inst/m_grant_hot_i_0 (FF)
  Source Clock: PS_ARM_i/processing_system7_0/processing_system7_0/FCLK_CLK_unbuffered<0> rising
  Destination Clock: PS_ARM_i/processing_system7_0/processing_system7_0/FCLK_CLK_unbuffered<0> rising

 Data Path: PS_ARM_i/axi_gpio_0/axi_gpio_0/ip2bus_wrack_i_D1 to PS_ARM_i/axi_interconnect_1/axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.addr_arbiter_inst/m_grant_hot_i_0
Cell:in->out fanout Gate Delay Net Delay Logical Name (Net Name)
--------------------------------
FD:C->Q	 4 0.282 0.505 axi_gpio_0/ip2bus_wrack_i_D1 (axi_gpio_0/ip2bus_wrack_i_D1)
    LUT2:I0->O 5 0.053 0.662 axi_gpio_0/AXI_LITE_IPIF_I/I_SLAVE_ATTACHMENT/wr_done1 (S_AXI_WREADY)
  end scope: 'PS_ARM_i/axi_gpio_0:S_AXI_AWREADY'
    begin scope: 'PS_ARM_i/axi_interconnect_1:M_AXI_AWREADY<0>'
    LUT5:I1->O 1 0.053 0.602 axi_interconnect_1/mi_protocol_conv_bank/gen_protocol_slot[0].gen_prot_conv.conv_inst/gen_axilite.gen_axilite_conv.axilite_conv_inst/_n011611_SW1_F (N31)
    LUT3:I0->O 2 0.053 0.419 axi_interconnect_1/mi_protocol_conv_bank/gen_protocol_slot[0].gen_prot_conv.conv_inst/gen_axilite.gen_axilite_conv.axilite_conv_inst/_n011611_SW11 (N15)
    LUT6:I5->O 1 0.053 0.000 axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.mi_awready_mux_inst/O1_G (N40)
    MUXF7:I1->O 4 0.217 0.433 axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.mi_awready_mux_inst/O1 (axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/mi_awready_mux)
    LUT6:I5->O 2 0.053 0.419 axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.splitter_aw/out1 (axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/aa_awready)
    LUT6:I5->O 1 0.053 0.000 axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.addr_arbiter_inst/m_grant_hot_i_0_glue_set (axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.addr_arbiter_inst/m_grant_hot_i_0_glue_set)
    FDR:D 0.011 axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/gen_crossbar.addr_arbiter_inst/m_grant_hot_i_0
    -----------------------------
    Total 3.868ns (0.828ns logic, 3.040ns route)
(21.4% logic, 78.6% route)

==================================
Timing constraint: Default OFFSET IN BEFORE for Clock 'PS_ARM_i/processing_system7_0/processing_system7_0/FCLK_CLK_unbuffered<0>'
  Total number of paths / destination ports: 280 / 113
----------------------------------
Offset: 2.172ns (Levels of Logic = 5)
  Source: PS_ARM_i/processing_system7_0/processing_system7_0/PS7_i:MAXIGP0WVALID (PAD)
  Destination: PS_ARM_i/axi_gpio_0/axi_gpio_0/AXI_LITE_IPIF_I/I_SLAVE_ATTACHMENT/state_FSM_FFd1 (FF)
  Destination Clock: PS_ARM_i/processing_system7_0/processing_system7_0/FCLK_CLK_unbuffered<0> rising

  Data Path: PS_ARM_i/processing_system7_0/processing_system7_0/PS7_i:MAXIGP0WVALID to PS_ARM_i/axi_gpio_0/axi_gpio_0/AXI_LITE_IPIF_I/I_SLAVE_ATTACHMENT/state_FSM_FFd1
    Cell:in->out fanout Gate Delay Net Delay Logical Name (Net Name)
    ------------------------
    PS7:MAXIGP0WVALID 4 0.000 0.000 processing_system7_0/PS7_i (M_AXI_GP0_WVALID)
    end scope: 'PS_ARM_i/processing_system7_0:M_AXI_GP0_WVALID'
    begin scope: 'PS_ARM_i/axi_interconnect_1:S_AXI_WVALID<0>'
    LUT5:I1->O 2 0.053 0.608 axi_interconnect_1/mi_protocol_conv_bank/gen_protocol_slot[0].gen_prot_conv.conv_inst/gen_axilite.gen_axilite_conv.axilite_conv_inst/M_AXI_WVALID1 (DEBUG_MP_MR_WDATACONTROL<0>)
    end scope: 'PS_ARM_i/axi_interconnect_1:M_AXI_WVALID<0>'
    begin scope: 'PS_ARM_i/axi_gpio_0:S_AXI_WVALID'
    LUT3:I0->O 1 0.053 0.739 axi_gpio_0/AXI_LITE_IPIF_I/I_SLAVE_ATTACHMENT/state_FSM_FFd1-In1 (axi_gpio_0/AXI_LITE_IPIF_I/I_SLAVE_ATTACHMENT/state_FSM_FFd1-In1)
    LUT6:I0->O 1 0.053 0.000 axi_gpio_0/AXI_LITE_IPIF_I/I_SLAVE_ATTACHMENT/state_FSM_FFd1-In3 (axi_gpio_0/AXI_LITE_IPIF_I/I_SLAVE_ATTACHMENT/state_FSM_FFd1-In)
    FDR:D 0.011 axi_gpio_0/AXI_LITE_IPIF_I/I_SLAVE_ATTACHMENT/state_FSM_FFd1
    --------------------------
    Total 2.172ns (0.825ns logic, 1.347ns route)
(38.0% logic, 62.0% route)

===========================
Timing constraint: Default OFFSET OUT AFTER for Clock 'PS_ARM_i/processing_system7_0/processing_system7_0/FCLK_CLK_unbuffered<0>'
  Total number of paths / destination ports: 116 / 74
----------------------------
Offset: 2.465ns (Levels of Logic = 5)
  Source: PS_ARM_i/axi_gpio_0/axi_gpio_0/ip2bus_wrack_i_D1 (FF)
  Destination: PS_ARM_i/processing_system7_0/processing_system7_0/PS7_i:MAXIGP0WREADY (PAD)
  Source Clock: PS_ARM_i/processing_system7_0/processing_system7_0/FCLK_CLK_unbuffered<0> rising

  Data Path: PS_ARM_i/axi_gpio_0/axi_gpio_0/ip2bus_wrack_i_D1 to PS_ARM_i/processing_system7_0/processing_system7_0/PS7_i:MAXIGP0WREADY
    Cell:in->out fanout Gate Delay Net Delay Logical Name (Net Name)
    ----------------------
    FD:C->Q 4 0.282 0.505 axi_gpio_0/ip2bus_wrack_i_D1 (axi_gpio_0/ip2bus_wrack_i_D1)
    LUT2:I0->O 5 0.053 0.629 axi_gpio_0/AXI_LITE_IPIF_I/I_SLAVE_ATTACHMENT/wr_done1 (S_AXI_WREADY)
    end scope: 'PS_ARM_i/axi_gpio_0:S_AXI_WREADY'
    begin scope: 'PS_ARM_i/axi_interconnect_1:M_AXI_WREADY<0>'
    LUT3:I0->O 2 0.053 0.491 axi_interconnect_1/mi_protocol_conv_bank/gen_protocol_slot[0].gen_prot_conv.conv_inst/gen_axilite.gen_axilite_conv.axilite_conv_inst/S_AXI_WREADY1 (DEBUG_MC_MP_WDATACONTROL<1>)
    LUT5:I3->O 1 0.053 0.399 axi_interconnect_1/crossbar_samd/gen_sasd.crossbar_sasd_0/si_wready11 (DEBUG_SF_CB_WDATACONTROL<1>)
    end scope: 'PS_ARM_i/axi_interconnect_1:S_AXI_WREADY<0>'
    begin scope: 'PS_ARM_i/processing_system7_0:M_AXI_GP0_WREADY'
    PS7:MAXIGP0WREADY 0.000 processing_system7_0/PS7_i
    ----------------------
    Total 2.465ns (0.441ns logic, 2.024ns route)
(17.9% logic, 82.1% route)
===========================

Секция Cross Clock Domains Report содержит сведения о параметрах сигналов синхронизации, используемых для тактирования различных блоков аппаратной части разрабатываемой системы.

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

Cross Clock Domains Report:
--------------------------

Clock to Setup on destination clock PS_ARM_i/processing_system7_0/processing_system7_0/FCLK_CLK_unbuffered<0>
----+---------+---------+---------+------+
| Src:Rise| Src:Fall| Src:Rise| Src:Fall|
Source Clock
|Dest:Rise|Dest:Rise|Dest:Fall|Dest:Fall|
----+---------+---------+---------+------+
PS_ARM_i/processing_system7_0/processing_system7_0/FCLK_CLK_unbuffered<0>| 3.868|
----+---------+---------+---------+------+

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

============================================
Total REAL time to Xst completion: 12.00 secs
Total CPU time to Xst completion: 12.28 secs

-->

Total memory usage is 485996 kilobytes

Number of errors : 0 (0 filtered)
Number of warnings : 3 (0 filtered)
Number of infos : 6 (0 filtered)

При наличии ошибок (errors) нужно внести необходимые исправления в соответствующие модули исходного описания аппаратной части разрабатываемой микропроцессорной системы, после чего повторно активизировать процесс синтеза. Кроме текстового отчета о выполнении этапа синтеза, средства пакета САПР серии Xilinx ISE Design Suite позволяют отобразить список соединений (netlist) аппаратной части проектируемой встраиваемой системы на RTL-уровне в схемотехнической форме.

 

Отображение синтезированного списка соединений на RTL-уровне в схемотехнической форме

Для формирования списка соединений аппаратной части проектируемой микропроцессорной системы на RTL-уровне в схемотехнической форме необходимо перед выполнением процесса синтеза для параметра Generate RTL Schematic установить значение YES или ONLY. При этом средствами синтеза XST дополнительно формируется файл с расширением NGR (рис. 46). В качестве компонентов принципиальной схемы, отражающей RTL-представление синтезируемого описания, применяются обобщенные элементы, состав и вид которых не зависит от архитектурных особенностей программируемой логики кристаллов, используемых для последующей реализации разрабатываемой системы. Для просмотра принципиальной схемы, отражающей список соединений аппаратной части проектируемой микропроцессорной системы на уровне RTL (Register Transfer Level), следует, прежде всего, во встроенной панели процессов Processes Project Navigator развернуть этап синтеза, поместив курсор на знак «+» в строке Synthesize — XST и щелкнув левой кнопкой мыши. Затем нужно расположить курсор на строке View RTL Schematic и дважды щелкнуть левой кнопкой мыши. При этом на экране появляется диалоговая панель Set RTL/TechViewer Startup Mode, предназначенная для выбора режима запуска программы RTL Viewer, вид которой приведен на рис. 48.

Вид диалоговой панели Set RTL/TechViewer Startup Mode

Рис. 48. Вид диалоговой панели Set RTL/TechViewer Startup Mode

Указанная диалоговая панель содержит две кнопки с зависимой фиксацией — Start with the Explorer Wizard и Start with a schematic of the top-level block. Если в нажатом состоянии находится кнопка Start with a schematic of the top-level block, то после нажатия клавиши ОК, расположенной в нижней части диалоговой панели Set RTL/TechViewer Startup Mode, открывается рабочее окно программы RTL Viewer, содержащее схемотехническое RTL-представление верхнего уровня иерархии проекта аппаратной части разрабатываемой системы. Когда в нажатом состоянии зафиксирована кнопка Start with the Explorer Wizard, то при активизации программы RTL Viewer в области расположения рабочих окон Project Navigator открывается окно «мастера» Explorer Wizard, вид которого показан на рис. 49.

Выбор элементов, отображаемых на схеме RTL-представления синтезированного HDL-описания, с помощью «мастера» Explorer Wizard

Рис. 49. Выбор элементов, отображаемых на схеме RTL-представления синтезированного HDL-описания, с помощью «мастера» Explorer Wizard

Этот «мастер» предоставляет возможность выбора необходимых элементов синтезированного HDL-описания, которые будут отображаться на принципиальной схеме, демонстрирующей список соединений аппаратной части разрабатываемой встраиваемой системы на уровне RTL. Рабочее окно «мастера» Explorer Wizard, имеющее подзаголовок Create RTL Schematic, включает две встроенные панели — Available Elements и Selected Elements. Встроенная панель Available Elements содержит список различных элементов, входящих в состав сформированного RTL-описания (блоки, примитивы, сигналы и порты). Для отображения в этом списке только элементов с определенными идентификаторами (например, начинающимися с некоторой последовательности алфавитных символов) целесообразно использовать фильтр, который устанавливается с помощью поля редактирования/выбора и клавиши Filter, расположенных под указанной встроенной панелью. Требуемую последовательность алфавитных символов нужно указать в поле редактирования, после чего нажать клавишу Filter.

В списке, отображаемом во встроенной панели Available Elements, прежде всего, следует нажатием левой кнопки мыши выделить тот элемент, который должен быть представлен на отображаемой принципиальной схеме. Для выделения нескольких элементов необходимо при этом удерживать в нажатом состоянии клавишу CTRL или Shift на клавиатуре. Затем нужно воспользоваться клавишей Add->, расположенной в окне «мастера» Explorer Wizard между встроенными панелями Available Elements и Selected Elements (рис. 49). В результате выполненных действий выбранные элементы HDL-описания появятся в списке, находящемся во встроенной панели Selected Elements. Для исключения какого-либо элемента из этого списка необходимо выделить соответствующую строку в указанной встроенной панели и нажать клавишу <-Remove, размещенную между панелями Available Elements и Selected Elements. Чтобы полностью удалить список выбранных элементов, нужно использовать клавишу <-Remove All.

После завершения формирования списка отображаемых элементов (добавления всех необходимых элементов в этот список) надо воспользоваться кнопкой Create Schematic, которая находится под встроенной панелью Selected Elements. При нажатии на указанную кнопку в области расположения рабочих окон Project Navigator добавляется окно программы RTL Viewer, чей вид подобен изображению окна схемотехнического редактора (рис. 50). В открывшемся окне отображается условный графический образ (УГО), представляющий модуль верхнего уровня иерархии проекта и выбранные входные и выходные порты аппаратной части разрабатываемой микропроцессорной системы.

Отображение списка соединений аппаратной части разрабатываемой системы на RTL-уровне в схемотехнической форме в окне программы RTL Viewer

Рис. 50. Отображение списка соединений аппаратной части разрабатываемой системы на RTL-уровне в схемотехнической форме в окне программы RTL Viewer

Кроме того, в окне консольных сообщений Project Navigator появляется новая вкладка View by Category, на которой приводится информация об иерархической структуре, элементах синтезированного проекта и их параметрах. Эта вкладка разделена на две области — Design Objects и Properties. В области Design Objects представлены три встроенные панели, предоставляющие доступ к соответствующим объектам описания проекта — экземплярам компонентов, выводам и сигналам. При выборе требуемого объекта его изображение выделяется на принципиальной схеме, а параметры этого объекта отображаются во встроенной панели Properties. Выбор какого-либо объекта может осуществляться также непосредственно на схемотехническом представлении щелчком левой кнопки мыши. Информация о параметрах выбранного объекта показана в виде таблицы, включающей две колонки с заголовками Name и Value. В колонке Name перечисляются идентификаторы параметров выделенного объекта, а в столбце Value приводятся их значения.

Для отображения содержимого какого-либо блока с иерархической структурой (перехода к следующему иерархическому уровню принципиальной схемы, соответствующей списку соединений аппаратной части проектируемой встраиваемой системы на RTL-уровне) следует поместить курсор мыши на изображение УГО и воспользоваться командой Show Block Contents из контекстно-зависимого всплывающего меню, открываемого щелчком правой кнопки мыши. Тот же результат достигается при нажатии кнопки быстрого доступа Кнопка, расположенной на панели инструментов рабочего окна программы RTL Viewer, после выделения изображения УГО требуемого иерархического блока.

 

Отображение синтезированного списка соединений на технологическом уровне в схемотехнической форме

В составе САПР серии Xilinx ISE Design Suite также предусмотрены средства отображения результатов синтеза аппаратной части разрабатываемых микропроцессорных систем на технологическом уровне в форме принципиальных схем. В качестве исходного файла для построения этих схем используется основной файл результатов процесса синтеза с расширением NGC. Состав компонентов принципиальной схемы, отражающей представление синтезированного устройства на технологическом уровне, зависит от архитектурных особенностей применяемого семейства кристаллов. Чтобы сформировать представление результатов синтеза проектируемого устройства на технологическом уровне, нужно во встроенной панели процессов Processes управляющей оболочки Project Navigator поместить курсор на строку View Technology Schematic и дважды щелкнуть левой кнопкой мыши. После этого на экран выводится диалоговая панель Set RTL/TechViewer Startup Mode, предоставляющая возможность выбора режима активизации программы Technology Viewer (рис. 48). В указанной диалоговой панели рекомендуется зафиксировать в нажатом состоянии кнопку Start with the Explorer Wizard. При этом запуск программы Technology Viewer начинается с открытия окна «мастера» Explorer Wizard, который позволяет указать элементы, отображаемые на принципиальной схеме. В этом случае рабочее окно «мастера» Explorer Wizard имеет подзаголовок Create Technology Schematic (рис. 51).

Выбор элементов схемотехнического представления результатов синтеза на технологическом уровне с помощью «мастера» Explorer Wizard

Рис. 51. Выбор элементов схемотехнического представления результатов синтеза на технологическом уровне с помощью «мастера» Explorer Wizard

Указанное окно имеет ту же структуру, что и для программы RTL Viewer (рис. 49), но содержание встроенной панели Available Elements существенно отличается по сравнению с RTL-представлением результатов синтеза. В списке доступных элементов, представленном в этой встроенной панели для программы Technology Viewer, добавились компоненты, соответствующие архитектуре программируемой логики семейства кристаллов, которое применяется для реализации разрабатываемой микропроцессорной системы. Выбор элементов, которые должны отображаться в составе схемотехнического представления результатов синтеза аппаратной части проектируемой встраиваемой системы на технологическом уровне, осуществляется тем же способом, что и для программы RTL Viewer. После формирования списка требуемых элементов и нажатия кнопки Create Schematic (рис. 51) в области расположения рабочих окон Project Navigator открывается окно утилиты Technology Viewer, чей вид показан на рис. 52.

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

Рис. 52. Отображение результатов синтеза аппаратной части разрабатываемой системы на технологическом уровне в схемотехнической форме

Просмотр результатов синтеза аппаратной части разрабатываемой микропроцессорной системы на технологическом уровне в окне программы Technology Viewer осуществляется тем же способом, что и в программе RTL Viewer. Чтобы продемонстрировать отличия двух рассмотренных форм представления синтезированного списка соединений, на рис. 52 показана принципиальная схема верхнего иерархического уровня, отражающая результаты синтеза на технологическом уровне аппаратной части простейшей системы сбора и обработки данных.

Если полученные результаты процесса синтеза не соответствуют каким-либо исходным требованиям проекта (например, значения временных характеристик не удовлетворяют установленным ограничениям), следует повторить этот этап, изменив значения его параметров. При достижении успешных результатов синтеза следует перейти к этапу реализации аппаратной части проектируемой микропроцессорной системы.

 

Структура этапа реализации аппаратной части разрабатываемых встраиваемых систем

Этап реализации аппаратной части проектируемых микропроцессорных систем, конфигурируемой на базе ресурсов программируемой логики PL кристаллов семейства Zynq‑7000 AP SoC, включает три фазы:

  • трансляции — Translate;
  • отображения логического описания проекта на физические ресурсы кристалла — MAP;
  • размещения и трассировки — Place and Route.

В процессе трансляции производится объединение всех списков соединений, входящих в состав проекта, и информации обо всех ограничениях, которая содержится в файлах UCF и NCF. В результате выполнения фазы трансляции формируется логическое описание аппаратной части разрабатываемой встраиваемой системы в терминах примитивов Xilinx низкого уровня с учетом временных и топологических ограничений, представленное в формате NGD. На второй стадии рассматриваемого этапа логическое описание проекта, полученное на предыдущем шаге, проецируется на физические ресурсы программируемой логики PL кристаллов семейства Zynq‑7000 AP SoC. При этом выполняется оптимизация проекта в соответствии с выбранным критерием и заданными ограничениями. В процессе размещения и трассировки выбирается наилучшее расположение конфигурируемых логических блоков (Configurable Logic Block, CLB), реализующих соответствующие функции аппаратной части разрабатываемой встраиваемой системы, и выполняются необходимые соединения с учетом временных и топологических ограничений.

Основной результат выполнения рассматриваемого этапа — создание двоичного файла, который описывает использование физических ресурсов кристалла расширяемой процессорной платформы для реализации элементов (функций) аппаратной части проектируемой микропроцессорной системы и выполнения необходимых соединений между ними. Этот файл затем используется в качестве исходного для генерации конфигурационной последовательности кристаллов семейства Zynq‑7000 AP SoC.

 

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

Для управления процедурами этапа реализации аппаратной части разрабатываемых микропроцессорных систем, конфигурируемой на базе ресурсов программируемой логики PL кристаллов семейства Zynq‑7000 AP SoC, которые выполняются в автоматическом режиме, используются соответствующие параметры. Их значения могут быть заданы двумя способами: поочередно для каждой фазы в отдельности, например перед ее активизацией, или сразу для всего процесса реализации (Implementation) в целом. В первом случае, чтобы открыть диалоговую панель, предназначенную для определения значений соответствующих параметров, нужно, прежде всего, во встроенной панели процессов Processes развернуть этап реализации, поместив курсор на знак «+» в строке Implement Design и щелкнув левой кнопкой мыши. Далее необходимо выделить название соответствующей фазы этого этапа (Translate, MAP, Place and Route). После этого следует нажать кнопку Кнопка, расположенную на оперативной панели Project Navigator, или воспользоваться командой Properties контекстно-зависимого всплывающего меню, которое выводится при щелчке правой кнопки мыши. Затем в появившейся диалоговой панели нужно установить требуемые значения параметров. При втором способе во встроенной панели процессов выделяется строка с названием этапа Implement Design и далее выполняется та же последовательность действий, что и в первом случае.

При использовании второго способа диалоговая панель параметров содержит шесть страниц — Translate Properties, MAP Properties, Place and Route Properties, Post-Map Static Timing Report Properties, Post-Place & Route Static Timing Report Properties, Simulation Model Properties, доступ к которым предоставляет интерактивный список Category, отображаемый в левой части этой панели (рис. 53).

Вид диалоговой панели параметров размещения и трассировки в кристалле аппаратной части проектируемой микропроцессорной системы

Рис. 53. Вид диалоговой панели параметров размещения и трассировки в кристалле аппаратной части проектируемой микропроцессорной системы

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

Страница Translate Properties содержит таблицу параметров, используемых для управления процедурой трансляции проекта. На странице MAP Properties расположены параметры выполнения процедуры отображения логического описания аппаратной части проектируемой встраиваемой системы на физические ресурсы программируемой логики используемого кристалла. Страница Place and Route Properties объединяет параметры управления процедурами размещения и трассировки проекта аппаратной части разрабатываемой системы в кристалле. Страницы Post-Map Static Timing Report Properties и Post-Place & Route Static Timing Report Properties содержат параметры отчетов о выполнении процедуры анализа временных характеристик, который может быть проведен после отображения логического описания проекта на физические ресурсы программируемой логики и после размещения и трассировки аппаратной части разрабатываемой микропроцессорной системы в кристалле. На странице Simulation Model Properties представлены параметры полной временной модели, генерируемой на основе результатов процесса размещения и трассировки аппаратной части проектируемой встраиваемой системы в кристалле. Краткое описание параметров для каждой фазы процесса реализации будет приведено в последующих разделах.

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

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

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