Конвертирование проектов цифровых устройств, разрабатываемых на основе ПЛИС и полностью программируемых систем на кристалле фирмы Xilinx в среде ISE Design Suite, в формат САПР Vivado Design Suite.
Часть 1
Основные различия в составе проектов средств разработки устройств на базе кристаллов программируемой логики и расширяемых вычислительных платформ ISE Design Suite и Vivado Design Suite
При переносе проектов цифровых устройств и встраиваемых микропроцессорных систем, разработанных с помощью пакета ISE Design Suite, в САПР Vivado Design Suite следует учитывать, что эти средства автоматизированного проектирования не обладают совместимостью по формату и составу проектов. Иными словами, проекты, выполненные в среде САПР старого поколения, не могут непосредственно использоваться средствами разработки нового поколения. Только выполнив определенную последовательность операций, можно воспользоваться наработками, сделанными в среде пакета ISE Design Suite. Но даже в этом случае не удастся автоматически в полном объеме осуществить преобразование созданных ранее проектов в формат САПР Vivado Design Suite. Такие сложности возникают из-за ряда принципиальных различий этих систем автоматизированного проектирования. Далее кратко рассматриваются наиболее существенные отличия САПР Vivado Design Suite от пакета ISE Design Suite и даются рекомендации по их учету при переносе проектов.
Средства автоматизированного проектирования нового поколения не содержат схемотехнического редактора и поэтому не поддерживают описаний разрабатываемых устройств и встраиваемых микропроцессорных систем, выполненных в виде принципиальных схем в среде пакета ISE Design Suite. Несмотря на то, что схемотехнический метод описания проектируемых устройств в чистом виде все меньше используется на практике, в ряде случаев этот способ применяется разработчиками из-за его наглядности. Например, при описании всех функциональных блоков разрабатываемых устройств с помощью языков HDL высокого уровня их объединение целесообразно осуществлять с помощью схемотехнического редактора. В таких случаях перед переносом проекта в САПР Vivado Design Suite необходимо преобразовать файлы принципиальных схем в соответствующие модули HDL-описания на используемом языке. В частности, для этой цели эффективно применять структурный метод описания разрабатываемых устройств на языке VHDL.
Следующим важным различием рассматриваемых систем автоматизированного проектирования является несовместимость форматов файлов временных и топологических ограничений проектов. Формат записи выражений ограничений (User Constraint Format, UCF), используемый в среде пакета ISE Design Suite, не поддерживается новыми инструментами разработки цифровых устройств и встраиваемых микропроцессорных систем. В файлах UCF, как правило, временные и топологические ограничения устанавливались для цепей проектируемого устройства. При использовании средств проектирования нового поколения ограничения задаются, в основном, для выводов и портов. В САПР Vivado Design Suite для этого предусмотрен формат Xilinx Design Constraint (XDC) [18], который, в свою очередь, частично базируется на основе формата Synopsys Design Constraint (SDC).
Файлы временных и топологических ограничений UCF включают в себя ряд выражений, которые не имеют эквивалентных конструкций в формате XDC. Поэтому невозможно полное прямое автоматическое конвертирование файлов UCF в формат XDC. Частичное автоматическое преобразование файлов временных и топологических ограничений проектов, созданных в среде пакета ISE Design Suite, в формат, воспринимаемый САПР Vivado Design Suite, возможно с помощью средств PlanAhead, которые входят в состав указанного пакета.
Еще одним существенным отличием САПР Vivado Design Suite от пакета ISE Design Suite является несовпадение параметров управления процессами синтеза, размещения и трассировки проектов в кристалле. В средствах проектирования нового поколения вместо отдельных параметров управления предлагаются различные стратегии выполнения указанных процессов. Поэтому после импортирования проектов, разработанных с помощью пакета ISE Design Suite, следует выбрать в САПР Vivado Design Suite требуемые стратегии процессов синтеза, размещения и трассировки, которые соответствуют установленным ранее параметрам этих процессов.
При переносе разработанных проектов цифровых устройств и встраиваемых микропроцессорных систем, которые включают в себя параметризированные модули, формируемые с помощью средств CORE Generator [19], необходимо учитывать модернизацию этих ядер в САПР Vivado Design Suite. IP-ядра, используемые в этой системе проектирования, могут иметь другие параметры настройки. При конвертировании проектов, содержащих такие ядра, следует проконтролировать соответствие всех параметров настройки этих параметризированных модулей и, при необходимости, произвести коррекцию установленных значений. При этом нужно обратить внимание на то, что в интегрированной среде разработки Vivado Integrated Design Environment идентификаторы IP-ядер, названия их экземпляров и идентификаторы портов должны содержать только строчные символы (символы нижнего регистра клавиатуры).
Рекомендуется использовать в конвертируемых проектах только последние версии параметризированных модулей, которые предоставляют средства CORE Generator. Таким образом, если в состав разрабатываемых устройств входили компоненты, сгенерированные на базе параметризированных модулей более ранних версий, то перед переносом проекта в САПР Vivado Design Suite нужно заменить их экземплярами последних версий применяемых ядер. Кроме того, следует учитывать, что компоненты, сформированные с помощью «мастера» Architecture Wizard [20, 21], который входит в состав средств проектирования ISE Design Suite, не поддерживаются в САПР Vivado Design Suite. Поэтому для компонентов, которые представлены в виде файлов XAW, генерируемых этим «мастером», необходимо создать соответствующие модули HDL-описания и включить их в состав конвертируемого проекта.
Проекты встраиваемых микропроцессорных систем, выполненные на основе конфигурируемых ядер семейства MicroBlaze [22, 23] или аппаратных ядер ARM Cortex-A9 в среде Xilinx Platform Studio (XPS), входящей в состав комплекса средств проектирования Embedded Development Kit (EDK) [23, 24], могут быть перенесены в среду IP Integrator САПР Vivado Design Suite. Процедура формирования описаний конфигурации микропроцессорных систем для использования их в среде IP Integrator рассматривается в одном из последующих разделов.
Методы конвертирования проектов, разработанных в среде пакета ISE Design Suite, в формат САПР Vivado Design Suite
Процесс преобразования проектов, разработанных в среде пакета ISE Design Suite, в формат САПР Vivado Design Suite можно осуществлять следующими способами:
- в пакетном режиме с помощью соответствующего файла сценария;
- в интерактивном режиме с использованием функции автоматического импортирования проектов;
- в интерактивном режиме вручную.
Чтобы воспользоваться пакетным режимом конвертирования проектов, необходимо, прежде всего, сформировать командный файл для управления процессом преобразования, который должен содержать соответствующий набор директив языка TCL (Tool Command Language). Затем созданный файл сценария нужно запустить на выполнение в среде САПР Vivado Design Suite. Для этого способа конвертирования проектов необходимо знать синтаксис команд языка управления TCL. Он также не обладает наглядностью, поэтому далее в настоящей статье пакетный способ преобразования проектов не рассматривается.
Применение интерактивного режима с использованием функции автоматического импортирования проектов позволяет быстро выполнить процесс конвертирования с помощью «мастера» формирования нового проекта New Project Wizard интегрированной среды разработки Vivado Integrated Design Environment. При использовании этого метода перенос всех исходных модулей описания проекта и установка требуемых параметров управления процессами синтеза, размещения и трассировки производятся автоматически.
Ручной метод переноса проектов, созданных средствами пакета ISE Design Suite, в САПР Vivado Design Suite также основан на использовании «мастера» формирования нового проекта New Project Wizard интегрированной среды разработки Vivado IDE. Но в этом случае создание нового проекта и установка всех его параметров осуществляется разработчиком вручную. Кроме того, пользователь определяет состав необходимых модулей исходного описания, сформированных в рамках проекта ISE Design Suite, которые должны быть включены в состав создаваемого проекта.
Прежде чем воспользоваться одним из перечисленных методов конвертирования проектов, целесообразно преобразовать файлы временных и топологических ограничений из формата UCF в формат XDC.
Преобразование файлов временных и топологических ограничений проектов, созданных в среде пакета ISE Design Suite, в формат XDC с помощью средств PlanAhead
Для автоматического преобразования файлов временных и топологических ограничений, созданных с помощью средств проектирования ISE Design Suite, в формат, воспринимаемый САПР Vivado Design Suite, следует открыть проект, содержащий файл UCF, в среде PlanAhead. Открываемый проект может быть создан как средствами PlanAhead, так и с помощью управляющей оболочки пакета ISE Design Suite Project Navigator. В первом случае файл проекта имеет расширение .ppr, а во втором — .xise. Далее необходимо осуществить процесс синтеза проекта, активизировав команду Run Synthesis в панели Flow Navigator (рис. 1).
После успешного завершения этого процесса следует открыть синтезированный список соединений и исходный файл временных и топологических ограничений проекта, воспользовавшись командой Open Synthesized Design, которая также представлена в панели Flow Navigator. После выполнения этой команды в рабочей области среды PlanAhead автоматически открывается окно Device, в котором отображается информация об использовании ресурсов кристалла, выбранного для реализации проекта, для размещения синтезированного списка соединений с учетом временных и топологических ограничений (рис. 2).
Затем нужно активизировать командную строку в консольной области основного окна средств PlanAhead, поместив на нее курсор и щелкнув левой кнопкой мыши, и выполнить следующую команду, введя ее с помощью клавиатуры, как показано на рис. 2:
write_xdc <идентификатор_файла_временных_и топологических_ограничений>.xdc
Для того чтобы файл, формируемый в процессе конвертирования, располагался в рабочем каталоге открытого проекта, идентификатор файла XDC, задаваемый в качестве параметра команды write_xdc, должен включать в себя полный путь доступа к этому разделу. Результаты процесса автоматического конвертирования файлов временных и топологических ограничений проектов в среде PlanAhead иллюстрируются на примере файла UCF, который содержит следующую совокупность выражений:
NET "wbClk" TNM_NET = "wbClk"; TIMESPEC TS_wbClk = PERIOD "wbClk" 9 ns; NET "wbInputData[4]" LOC = M17; NET "wbInputData[3]" LOC = M18; NET "wbOutputData[7]" LOC = U18; NET "wbInputData[2]" LOC = N22; NET "wbOutputData[6]" LOC = W21; NET "wbInputData[1]" LOC = M22; NET "wbOutputData[5]" LOC = W22; NET "wbClk" LOC = V20; NET "wbInputData[0]" LOC = K21; NET "bftClk" LOC = W17; NET "wbOutputData[4]" LOC = U17; NET "reset" LOC = Y22; NET "wbOutputData[3]" LOC = V18; NET "wbDataForInput" LOC = AA20; NET "wbOutputData[2]" LOC = T20; NET "wbWriteOut" LOC = AB21; NET "wbOutputData[1]" LOC = U20; NET "wbDataForOutput" LOC = AA21; NET "wbOutputData[0]" LOC = Y21; NET "error" LOC = AB22; NET "wbInputData[7]" LOC = L20; NET "wbInputData[6]" LOC = N18; NET "wbInputData[5]" LOC = N19; NET "bftClk" IOSTANDARD = LVCMOS18; NET "error" IOSTANDARD = LVCMOS18; NET "reset" IOSTANDARD = LVCMOS18; NET "wbClk" IOSTANDARD = LVCMOS18; NET "wbDataForInput" IOSTANDARD = LVCMOS18; NET "wbDataForOutput" IOSTANDARD = LVCMOS18; NET "wbOutputData[0]" IOSTANDARD = LVCMOS18; NET "wbOutputData[1]" IOSTANDARD = LVCMOS18; NET "wbOutputData[2]" IOSTANDARD = LVCMOS18; NET "wbOutputData[3]" IOSTANDARD = LVCMOS18; NET "wbOutputData[4]" IOSTANDARD = LVCMOS18; NET "wbOutputData[5]" IOSTANDARD = LVCMOS18; NET "wbOutputData[6]" IOSTANDARD = LVCMOS18; NET "wbOutputData[7]" IOSTANDARD = LVCMOS18; NET "wbWriteOut" IOSTANDARD = LVCMOS18;
После завершения автоматического преобразования приведенного файла временных и топологических ограничений средствами PlanAhead формируется файл в формате XDC, содержимое которого выглядит следующим образом:
# All timing constraint translations are rough conversions, intended to act as a template for further manual refinement. The translations should not be expected to produce semantically identical results to the original ucf. Each xdc timing constraint must be manually inspected and verified to ensure it captures the desired intent # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:2 create_clock -name wbClk -period 9.000 [get_ports wbClk] set_property PACKAGE_PIN M17 [get_ports {wbInputData[4]}] set_property PACKAGE_PIN M18 [get_ports {wbInputData[3]}] set_property PACKAGE_PIN U18 [get_ports {wbOutputData[7]}] set_property PACKAGE_PIN N22 [get_ports {wbInputData[2]}] set_property PACKAGE_PIN W21 [get_ports {wbOutputData[6]}] set_property PACKAGE_PIN M22 [get_ports {wbInputData[1]}] set_property PACKAGE_PIN W22 [get_ports {wbOutputData[5]}] set_property PACKAGE_PIN V20 [get_ports wbClk] set_property PACKAGE_PIN K21 [get_ports {wbInputData[0]}] set_property PACKAGE_PIN W17 [get_ports bftClk] set_property PACKAGE_PIN U17 [get_ports {wbOutputData[4]}] set_property PACKAGE_PIN Y22 [get_ports reset] set_property PACKAGE_PIN V18 [get_ports {wbOutputData[3]}] set_property PACKAGE_PIN AA20 [get_ports wbDataForInput] set_property PACKAGE_PIN T20 [get_ports {wbOutputData[2]}] set_property PACKAGE_PIN AB21 [get_ports wbWriteOut] set_property PACKAGE_PIN U20 [get_ports {wbOutputData[1]}] set_property PACKAGE_PIN AA21 [get_ports wbDataForOutput] set_property PACKAGE_PIN Y21 [get_ports {wbOutputData[0]}] set_property PACKAGE_PIN AB22 [get_ports error] set_property PACKAGE_PIN L20 [get_ports {wbInputData[7]}] set_property PACKAGE_PIN N18 [get_ports {wbInputData[6]}] set_property PACKAGE_PIN N19 [get_ports {wbInputData[5]}] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:27 # The conversion of 'IOSTANDARD' constraint on 'net' object 'bftClk' has been applied to the port object 'bftClk'. set_property IOSTANDARD LVCMOS18 [get_ports bftClk] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:28 # The conversion of 'IOSTANDARD' constraint on 'net' object 'error' has been applied to the port object 'error'. set_property IOSTANDARD LVCMOS18 [get_ports error] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:29 # The conversion of 'IOSTANDARD' constraint on 'net' object 'reset' has been applied to the port object 'reset'. set_property IOSTANDARD LVCMOS18 [get_ports reset] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:30 # The conversion of 'IOSTANDARD' constraint on 'net' object 'wbClk' has been applied to the port object 'wbClk'. set_property IOSTANDARD LVCMOS18 [get_ports wbClk] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:31 # The conversion of 'IOSTANDARD' constraint on 'net' object 'wbDataForInput' has been applied to the port object 'wbDataForInput'. set_property IOSTANDARD LVCMOS18 [get_ports wbDataForInput] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:32 # The conversion of 'IOSTANDARD' constraint on 'net' object 'wbDataForOutput' has been applied to the port object 'wbDataForOutput'. set_property IOSTANDARD LVCMOS18 [get_ports wbDataForOutput] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:41 # The conversion of 'IOSTANDARD' constraint on 'net' object 'wbOutputData[0]' has been applied to the port object 'wbOutputData[0]'. set_property IOSTANDARD LVCMOS18 [get_ports {wbOutputData[0]}] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:42 # The conversion of 'IOSTANDARD' constraint on 'net' object 'wbOutputData[1]' has been applied to the port object 'wbOutputData[1]'. set_property IOSTANDARD LVCMOS18 [get_ports {wbOutputData[1]}] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:43 # The conversion of 'IOSTANDARD' constraint on 'net' object 'wbOutputData[2]' has been applied to the port object 'wbOutputData[2]'. set_property IOSTANDARD LVCMOS18 [get_ports {wbOutputData[2]}] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:44 # The conversion of 'IOSTANDARD' constraint on 'net' object 'wbOutputData[3]' has been applied to the port object 'wbOutputData[3]'. set_property IOSTANDARD LVCMOS18 [get_ports {wbOutputData[3]}] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:45 # The conversion of 'IOSTANDARD' constraint on 'net' object 'wbOutputData[4]' has been applied to the port object 'wbOutputData[4]'. set_property IOSTANDARD LVCMOS18 [get_ports {wbOutputData[4]}] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:46 # The conversion of 'IOSTANDARD' constraint on 'net' object 'wbOutputData[5]' has been applied to the port object 'wbOutputData[5]'. set_property IOSTANDARD LVCMOS18 [get_ports {wbOutputData[5]}] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:47 # The conversion of 'IOSTANDARD' constraint on 'net' object 'wbOutputData[6]' has been applied to the port object 'wbOutputData[6]'. set_property IOSTANDARD LVCMOS18 [get_ports {wbOutputData[6]}] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:48 # The conversion of 'IOSTANDARD' constraint on 'net' object 'wbOutputData[7]' has been applied to the port object 'wbOutputData[7]'. set_property IOSTANDARD LVCMOS18 [get_ports {wbOutputData[7]}] # D:/Prj/project_1/project_1.srcs/constrs_2/imports/Sources/bft_full1.ucf:49 # The conversion of 'IOSTANDARD' constraint on 'net' object 'wbWriteOut' has been applied to the port object 'wbWriteOut'. set_property IOSTANDARD LVCMOS18 [get_ports wbWriteOut]
Файл XDC, полученный в результате автоматического конвертирования, кроме выражений ограничений включает в себя информацию о модифицированных параметрах с указанием номеров соответствующих строк исходного файла UCF, представленную в виде комментариев.
Следует обратить внимание на то, что специалисты фирмы Xilinx не рекомендуют напрямую использовать результаты представленного метода преобразования. После выполнения процесса автоматического конвертирования необходимо вручную скорректировать сформированный файл временных и топологических ограничений в формате XDC. В ряде случаев целесообразно создавать файл XDC заново в интегрированной среде разработки Vivado Integrated Design Environment. Такие рекомендации обусловлены фундаментальными различиями в идеологии формирования и структуре файлов временных и топологических ограничений проектов в форматах UCF и XDC.
Преобразование проектов, разработанных в среде пакета ISE Design Suite, в формат САПР Vivado Design Suite с использованием функции автоматического импортирования
Процесс автоматического импортирования проектов, созданных средствами пакета ISE Design Suite, в САПР Vivado Design Suite начинается с запуска управляющей оболочки интегрированной среды разработки Vivado Integrated Design Environment. Для этого удобнее всего воспользоваться соответствующей пиктограммой Ico1.bmp, которая расположена на «рабочем столе» компьютера. При отсутствии этой пиктограммы можно воспользоваться кнопкой Start операционной системы Windows XP/ Windows 7. После нажатия этой кнопки в появившейся панели необходимо выбрать строку Programs/All Programs, а затем в предложенном списке найти группу программ Xilinx Design Tools, в которой нужно открыть подгруппу Vivado 2013.x (где x определяет порядковый номер версии) и выбрать строку Vivado. При успешном выполнении этих операций на экране монитора отображается окно быстрого старта САПР Vivado Design Suite, которое позволяет непосредственно выбрать требуемый режим использования средств автоматизированного проектирования и конфигурирования кристаллов ПЛИС и расширяемых вычислительных платформ.
Для импортирования проектов, созданных в среде пакета ISE Design Suite, необходимо активизировать процедуру создания нового проекта в САПР Vivado Design Suite, выбрав вариант Create New Project, как показано на рис. 3.
При выборе этого варианта работы запускается «мастер» формирования нового проекта New Project Wizard, который позволяет в интерактивном режиме определить требуемые параметры создаваемого проекта. Работа этого «мастера» начинается с вывода на экран стартовой диалоговой панели, вид которой представлен на рис. 4.
В этой панели отображается информация об основных фазах процедуры создания нового проекта, которые выполняются с помощью последующих диалоговых панелей New Project Wizard. После ознакомления с приведенной информацией нужно перейти к следующей диалоговой панели «мастера» формирования нового проекта, воспользовавшись кнопкой Next, которая находится в нижней части стартовой диалоговой панели (рис. 4). Во второй диалоговой панели New Project Wizard, которая имеет подзаголовок Project Name, должны быть определены следующие исходные данные, необходимые для создания нового проекта:
- название проекта;
- имя диска и каталога, в котором должен располагаться формируемый проект.
Вид этой диалоговой панели показан на рис. 5.
В первую очередь рекомендуется определить раздел (папку), в котором будет располагаться рабочий каталог проекта. Целесообразно хранить все проекты в специально созданном для этих целей каталоге, например, C:\Project или D:\Prj. В названии этого раздела, как и рабочего каталога проекта, могут использоваться только заглавные и строчные буквы латинского алфавита (A–Z, a–z), цифры (0–9) и символ подчеркивания «_». Каталог, в котором находятся все проекты пользователя, должен располагаться вне раздела, содержащего средства проектирования Vivado Design Suite, чтобы при обновлении версии САПР он не был случайно удален. Место расположения проекта на диске указывается в поле редактирования Project Location. По умолчанию в поле редактирования Project Location предлагаются имена диска и каталога, которые использовались в предыдущем проекте. Изменить место расположения создаваемого проекта можно двумя способами: используя клавиатуру или стандартную панель навигации по дискам компьютера. При выборе первого метода следует активизировать поле редактирования Project Location, поместив на него курсор и щелкнув левой кнопкой мыши, после чего ввести с клавиатуры имя диска и каталога. Если указываемый каталог отсутствует на диске, то он создается автоматически при условии, что индикатор состояния Create project subdirectory находится во включенном положении, отмеченный маркером (рис. 5).
Для выбора каталога, который уже существует, удобнее воспользоваться вторым способом, нажав кнопку с пиктограммой «…», расположенную справа от поля редактирования Project Location. В открывшейся диалоговой панели навигации с заголовком Сhoose Project Location, вид которой приведен на рис. 6, следует с помощью мыши выбрать требуемый диск и каталог, а затем подтвердить сделанный выбор нажатием кнопки Select.
Чтобы создать новый каталог, можно воспользоваться кнопкой с пиктограммой Ico2.bmp, расположенной в верхней части диалоговой панели Сhoose Project Location. После закрытия панели навигации название выбранного раздела, включающее полный путь доступа к нему, автоматически отображается в поле редактирования Project Location.
Для определения названия создаваемого проекта необходимо активизировать поле редактирования Project name, после чего ввести с клавиатуры соответствующее название. По умолчанию в указанном поле редактирования предлагается название проекта в виде project_n, где n — порядковый номер формируемого проекта. Рекомендуется задавать мнемонические имена проектов, чтобы впоследствии было удобнее ориентироваться при поиске требуемого проекта. В состав названия создаваемого проекта могут входить только те символы, которые были перечислены выше для использования в имени каталога проектов. Введенное название проекта автоматически добавляется в поле Project Location, определяя тем самым название рабочего каталога проекта.
Установка значений всех исходных параметров создаваемого проекта завершается нажатием кнопки Next, которая находится в нижней части второй диалоговой панели «мастера» New Project Wizard (рис. 5). Следует обратить внимание на то, что эта клавиша становится доступной только после определения значений всех перечисленных выше параметров. Если значение какого-либо параметра не задано, то эта клавиша остается в неактивном состоянии (ее название отображается серым цветом). После нажатия кнопки Next в панели Create New Project на экран выводится третья диалоговая панель «мастера» New Project Wizard, которая имеет подзаголовок Project Type. Указанная диалоговая панель, вид которой изображен на рис. 7, предназначена для выбора типа создаваемого проекта. Эта панель содержит четыре кнопки с зависимой фиксацией, соответствующие различным вариантам формирования проектов в САПР Vivado Design Suite.
Чтобы воспользоваться средствами автоматического конвертирования проектов пакета ISE Design Suite в САПР Vivado Design Suite, в третьей диалоговой панели «мастера» New Project Wizard необходимо переключить в нажатое состояние кнопку Imported Project, как показано на рис. 7. После этого следует перейти к очередной диалоговой панели «мастера» создания нового проекта с подзаголовком Import Project, вид которой представлен на рис. 8. В этой диалоговой панели расположена группа кнопок с зависимой фиксацией, которые предназначены для выбора типа импортируемого проекта в САПР Vivado Design Suite.
Для автоматического преобразования проекта, созданного средствами пакета ISE Design Suite, в формат САПР Vivado Design Suite нужно зафиксировать в нажатом состоянии кнопку ISE, как показано на рис. 8. При этом становится доступным соответствующее поле редактирования, расположенное справа от кнопки, в котором следует указать название импортируемого проекта, включающее полный путь доступа к нему. Следует обратить внимание на то, что функция автоматического конвертирования применима только к проектам, файлы которых имеют расширение .xise. Чтобы воспользоваться этой функцией для преобразования проектов, разработанных с помощью более ранних версий пакета ISE Design Suite, файлы которых имеют расширение .ise, необходимо предварительно выполнить модернизацию этих проектов в среде последних версий этого пакета.
Для быстрого поиска требуемого проекта рекомендуется воспользоваться кнопкой с пиктограммой в виде многоточия, которая находится справа от поля редактирования. При нажатии на эту кнопку на экран выводится диалоговая панель поиска файлов проектов средств проектирования ISE Design Suite, вид которой показан рис. 9.
В открывшейся диалоговой панели, имеющей заголовок Specify ISE File, необходимо в поле выбора Look in указать рабочий каталог конвертируемого проекта. Затем в рабочей области этой панели нужно выделить название файла проекта, расположив курсор в соответствующей строке и щелкнув левой кнопкой мыши. При этом название выбранного файла автоматически заносится в поле редактирования File name, расположенное в нижней части диалоговой панели Specify ISE File, а основные параметры выделенного файла отображаются во встроенной панели File Preview (рис. 9). Для подтверждения сделанного выбора следует нажать клавишу OK в нижней части панели Specify ISE File, после чего название конвертируемого проекта отобразится в поле выбора ISE четвертой диалоговой панели «мастера» New Project Wizard (рис. 8).
Чтобы в процессе конвертирования указанного проекта, созданного в среде пакета ISE Design Suite, все файлы, входящие в его состав, были скопированы в рабочий каталог создаваемого проекта в САПР Vivado Design Suite, нужно проследить, чтобы индикатор состояния Copy sources into project находился в состоянии «Включено». Далее с помощью кнопки Next необходимо перейти к заключительной диалоговой панели «мастера» создания нового проекта, вид которой приведен на рис. 10.
В этой диалоговой панели отображается информация об основных операциях, выполняемых в процессе автоматического конвертирования проекта пакета ISE Design Suite в САПР Vivado Design Suite. Для запуска этого процесса следует нажать кнопку Finish, расположенную в нижней части заключительной диалоговой панели «мастера» New Project Wizard (рис. 10). Краткие сведения о результатах чтения и преобразования этого проекта пакета ISE Design Suite в САПР Vivado Design Suite приводятся в информационной панели с заголовком Import ISE Project, которая появляется на экране после завершения процесса конвертирования. На рис. 11 показан вид этой информационной панели для случая успешного импортирования проекта.
В информационной панели Import ISE Project представлен также индикатор состояния View the log file. Когда этот индикатор находится во включенном состоянии, после вывода на экран основного окна интегрированной среды проектирования Vivado Integrated Design Environment в рабочей области автоматически открывается окно встроенного текстового редактора, в котором отображается содержимое файла отчета о выполнении процесса конвертирования проекта. По умолчанию этот отчет записывается в файл import_ise_summary.txt, который имеет текстовый формат. Этот отчет включает в себя детальную информацию о ходе чтения файлов импортируемого проекта и последующего включения их в состав формируемого проекта в САПР Vivado Design Suite. Здесь же приводятся сведения об элементах проекта пакета ISE Design Suite, которые невозможно автоматически транслировать в создаваемый проект САПР Vivado Design Suite. Более подробно структура содержимого этого отчета рассматривается в следующем разделе.
В том случае, если в состав конвертируемого проекта входили компоненты, формируемые на основе параметризированных модулей средствами CORE Generator, то на экран выводится информационная панель с заголовком Project Upgraded, сообщающая о замене этих модулей IP-ядрами САПР Vivado Design Suite. Вид этой панели изображен на рис. 12.
Для ознакомления с отчетом о статусе используемых IP-ядер и рекомендациями по их настройке следует воспользоваться кнопкой Report IP Status, которая находится в информационной панели Project Upgraded. При нажатии на эту кнопку на экране отображается диалоговая панель с заголовком Report IP Status, вид которой показан на рис. 13.
В этой диалоговой панели можно указать название вкладки, открываемой в консольной области, в которой будет представлен соответствующий отчет о включенных IP-ядрах в состав проекта, формируемого в ходе процесса конвертирования. Это название указывается в поле редактирования Results Name. По умолчанию в этом поле предлагается вариант названия отчета в виде ip_status_m, где m — порядковый номер отчета. Можно также записать генерируемый отчет о статусе применяемых IP-ядер в файл, установив индикатор Export to file во включенное состояние (рис. 13). При этом название файла отчета указывается в поле редактирования, расположенном справа от индикатора состояния Export to file. Если изучение отчета о статусе используемых IP-ядер не планируется, то в информационной панели Project Upgraded следует нажать кнопку Ignore (рис. 12).
После завершения процесса автоматического импортирования проекта, разработанного с помощью пакета ISE Design Suite, в САПР Vivado Design Suite появляется основное окно интегрированной среды разработки Vivado Integrated Design Environment, вид которого представлен на рис. 14. В этом окне автоматически открывается проект, сформированный в результате процесса импортирования проекта пакета ISE Design Suite, и отчет о результатах выполнения этого процесса.
Прежде чем приступать к дальнейшей работе с конвертированным проектом, рекомендуется внимательно изучить содержимое файла отчета о выполнении процесса автоматического импортирования. В соответствие с информацией, представленной в этом отчете, необходимо внести дополнительные изменения в состав и параметры сформированного проекта, которые не могли быть учтены в процессе автоматического преобразования проекта пакета ISE Design Suite.
Структура и содержание отчета о результатах автоматического преобразования проекта пакета ISE Design Suite в формат САПР Vivado Design Suite
Для наглядности изучение содержимого отчета о результатах выполнения процесса автоматического импортирования проекта, созданного средствами разработки цифровых устройств и встраиваемых микропроцессорных систем ISE Design Suite, в САПР Vivado Design Suite проводится на примере файла журнала конвертирования проекта stopwatch. Этот проект в качестве примера входит в состав системы проектирования ISE Design Suite.
В начале отчета, генерируемого при выполнении процесса автоматического импортирования проекта, приводится информация о его структуре в следующей форме:
********************* * IMPORT XISE SUMMARY REPORT * * (import_ise_summary.txt) * * PLEASE READ THIS REPORT TO GET THE DETAILED INFORMATION ON THE DATA THAT * WAS PARSED FROM THE ISE PROJECT AND IMPORTED INTO THE CURRENT PROJECT. *с * The report is divided into following three sections:- * * Section (1) - ISE PROJECT INFORMATION * * This section provides the details of the ISE project that was imported * * Section (2) - EXCEPTIONS * * This section summarizes the ISE project data that was either not imported or * not mapped into the current project * * Section (3) - MAPPED DATA * * This section summarizes the Vivado project information that was imported * from the ISE project data * ********************
Рассматриваемый отчет включает в себя три раздела. В первом разделе, который имеет заголовок ISE PROJECT INFORMATION, отображаются сведения об основных параметрах исходного конвертируемого проекта. Второй раздел, озаглавленный EXCEPTIONS, содержит подробную информацию об элементах импортируемого проекта, которые не были включены в проект, формируемый САПР Vivado Design Suite в процессе автоматического конвертирования. В третьем разделе с заголовком MAPPED DATA представлена детальная информация обо всех составляющих исходного проекта, которые были успешно преобразованы в формат проекта САПР Vivado Design Suite.
Содержимое первого раздела отчета выглядит следующим образом:
Section (1) - ISE PROJECT INFORMATION ------------------------------------- -- The following items describes the information about the ISE project that was imported:- -- Project Name = stopwatch Project File = D:/Prj/stopwatch/stopwatch.xise Project Version = 14.6 Device Family = Spartan3E Part Name = xc3s100e-4-vq100* -- *Tсhis part is not supported in Vivado and is replaced with the default part in the new project. Please see Section (3.1) - "Target Device" below for more details.
В начале первого раздела, в строке Project Name, приводится название импортируемого проекта. Следующая строка, Project File, предоставляет информацию об имени файла этого проекта и месте его расположения на диске компьютера. В строке Project Version отображается номер версии системы проектирования ISE Design Suite, в которой производилась последняя модификация проекта. Строка Device Family содержит название семейства кристалла программируемой логики или расширяемой вычислительной платформы, для которого разрабатывался импортируемый проект. Условное обозначение конкретного типа ПЛИС или программируемой системы на кристалле AP SoC, который был выбран для реализации этого проекта, представлено в строке Part Name. Если это семейство и тип кристалла не поддерживается САПР Vivado Design Suite, как в рассматриваемом примере, то далее приводится соответствующее предупреждение. Это предупреждение информирует о замене семейства и типа ПЛИС или расширяемой вычислительной платформы в процессе автоматического конвертирования проекта на вариант кристалла, предлагаемый по умолчанию в интегрированной среде разработки Vivado Integrated Design Environment. При необходимости предлагаемый тип ПЛИС или программируемой системы на кристалле AP SoC впоследствии может быть скорректирован вручную.
Подробная информация обо всех элементах исходного проекта, которые были исключены в процессе автоматического конвертирования в формат САПР Vivado Design Suite, структурно разделена во втором разделе отчета на четыре секции. Сведения о модулях исходного описания, которые не вошли в состав формируемого проекта, представлены в первой секции этого раздела:
Section (2) - EXCEPTIONS ------------------------ -- The following sub-sections describes the list of items that were NOT mapped from the XISE file contents into the current project:- -- Section (2.1) - Missing Sources ------------------------------- None --
В рассматриваемом примере конвертирования проекта stopwatch такие модули исходного описания отсутствуют, поэтому в первой секции есть только строка None.
Вторая секция раздела EXCEPTIONS содержит информацию о модулях исходного описания проекта, которые не поддерживаются средствами автоматизированного проектирования Vivado Design Suite. Эта информация представлена в форме таблицы, в первой колонке которой (ISE Filename) перечислены идентификаторы файлов, не поддерживаемых в среде разработки Vivado Integrated Design Environment. Во второй колонке таблицы (File Type) отображаются сведения о типах перечисленных файлов исходного описания. Третья колонка (Recommendation) содержит рекомендации по преобразованию неподдерживаемых модулей исходного описания импортируемого проекта:
Section (2.2) - Unknown Sources ------------------------------- -- The following ISE design sources referenced in the XISE file are not recognizable in the current version of Vivado. Please read the recommendation on how to resolve this issue:- -- <ISE Filename> <File Type> <Recommendation> "ipcore_dir/dcm1.xaw" 'XAW' Locate the associated top-level HDL file for this ArchWiz source in the ISE project and import it into the current project as RTL source. In case this associated HDL instantiation model 'dcm1.v/vhd' is not present in the ISE Project, you may want to generate this model in ISE by running the "View HDL Instantiation Template" process by first selecting the 'dcm1.xaw' source and add the generated file to the current project. --
Третья секция второго раздела отчета информирует о IP-ядрах импортируемого проекта, которые были исключены в процессе его преобразования в формат проекта САПР Vivado Design Suite:
Section (2.3) - IP Import Issues -------------------------------- None --
При конвертировании проекта stopwatch такие IP-ядра не обнаружены, поэтому в этой секции отображается только строка None.
В четвертой секции раздела EXCEPTIONS отображается совокупность параметров управления процессами, выполняемыми в ходе проектирования в среде пакета ISE Design Suite, которые не воспринимаются САПР Vivado Design Suite. В состав этой совокупности входят параметры управления процессами синтеза, размещения и трассировки, моделирования и генерации файла конфигурационной последовательности, которые перечислены в алфавитном порядке в таблице, содержащей две колонки — ISE Property Name и ISE Property Value. В первой колонке приводятся названия параметров, а во второй — установленные значения соответствующих параметров:
Section (2.4) - Unknown Properties ---------------------------------- The following ISE properties were not mapped into the current project:- -- <ISE Property Name> <ISE Property Value> "Allow SelectMAP Pins to Persist" 'false' "Analysis Effort Level" 'Standard' "Asynchronous To Synchronous" 'false' "Automatically Insert glbl Module in the Netlist" 'true' "Automatically Run Generate Target PROM/ACE File" 'false' "BRAM Utilization Ratio" '100' "Bring Out Global Set/Reset Net as a Port" 'false' "Bring Out Global Tristate Net as a Port" 'false' "Bus Delimiter" '<>' "CLB Pack Factor Percentage" '100' "Case" 'Maintain' "Case Implementation Style" 'None' "Change Device Speed To" '-4' "Change Device Speed To Post Trace" '-4' "Configuration Clk (Configuration Pins)" 'Pull Up' "Configuration Pin Done" 'Pull Up' "Configuration Pin M0" 'Pull Up' "Configuration Pin M1" 'Pull Up' "Configuration Pin M2" 'Pull Up' "Configuration Pin Program" 'Pull Up' "Configuration Rate" 'Default (1)' "Correlate Output to Input Design" 'false' "Create Binary Configuration File" 'false' "Create IEEE 1532 Configuration File" 'false' "Create ReadBack Data Files" 'false' "Cross Clock Analysis" 'false' "DCI Update Mode" 'As Required' "DSP Utilization Ratio" '100' "Decoder Extraction" 'true' "Device Speed Grade/Select ABS Minimum" '-4' "Disable Detailed Package Model Insertion" 'false' "Do Not Escape Signal and Instance Names in Netlist" 'false' "Done (Output Events)" 'Default (4)' "Drive Done Pin High" 'false' "Enable BitStream Compression" 'false' "Enable Cyclic Redundancy Checking (CRC)" 'true' "Enable Debugging of Serial Mode BitStream" 'false' "Enable Internal Done Pipe" 'true' "Enable Message Filtering" 'false' "Enable Outputs (Output Events)" 'Default (5)' "Evaluation Development Board" 'None Specified' "Extra Effort" 'None' "FPGA Start-Up Clock" 'CCLK' "FSM Style" 'LUT' "Flatten Output Netlist" 'false' "Functional Model Target Language ArchWiz" 'VHDL' "Functional Model Target Language Coregen" 'VHDL' "Functional Model Target Language Schematic" 'VHDL' "Generate Asynchronous Delay Report" 'false' "Generate Clock Region Report" 'false' "Generate Constraints Interaction Report" 'false' "Generate Constraints Interaction Report Post Trace" 'false' "Generate Datasheet Section" 'true' "Generate Detailed MAP Report" 'false' "Generate Multiple Hierarchical Netlist Files" 'false' "Generate Post-Place & Route Power Report" 'false' "Generate Post-Place & Route Simulation Model" 'false' "Generate RTL Schematic" 'Yes' "Generate Testbench File" 'false' "Generate Timegroups Section" 'false' "Generate Timegroups Section Post Trace" 'false' "Global Optimization Goal" 'AllClockNets' "Global Set/Reset Port Name" 'GSR_PORT' "Global Tristate Port Name" 'GTS_PORT' "Hierarchy Separator" '/' "Ignore User Timing Constraints Map" 'false' "Include 'uselib Directive in Verilog File" 'false' "Include SIMPRIM Models in Verilog File" 'false' "Include UNISIM Models in Verilog File" 'false' "Include sdf_annotate task in Verilog File" 'true' "Insert Buffers to Prevent Pulse Swallowing" 'true' "JTAG Pin TCK" 'Pull Up' "JTAG Pin TDI" 'Pull Up' "JTAG Pin TDO" 'Pull Up' "JTAG Pin TMS" 'Pull Up' "Keep Hierarchy" 'No' "Last Unlock Status" 'false' "Library for Verilog Sources" '' "Logical Shifter Extraction" 'true' "Map Effort Level" 'High' "Max Fanout" '100000' "Maximum Number of Lines in Report" '1000' "Maximum Signal Name Length" '20' "Move First Flip-Flop Stage" 'true' "Move Last Flip-Flop Stage" 'true' "Multiplier Style" 'Auto' "Mux Extraction" 'Yes' "Mux Style" 'Auto' "Netlist Translation Type" 'Timestamp' "Number of Paths in Error/Verbose Report" '3' "Optimize Instantiated Primitives" 'false' "Other XPWR Command Line Options" '' "Output Extended Identifiers" 'false' "Output File Name" 'stopwatch' "Perform Advanced Analysis" 'false' "Perform Advanced Analysis Post Trace" 'false' "Place And Route Mode" 'Normal Place and Route' "Port to be used" 'Auto - default' "Post Map Simulation Model Name" 'stopwatch_map.vhd' "Post Place & Route Simulation Model Name" 'stopwatch_timesim.vhd' "Post Synthesis Simulation Model Name" 'stopwatch_synthesis.vhd' "Post Translate Simulation Model Name" 'stopwatch_translate.vhd' "Priority Encoder Extraction" 'Yes' "Produce Verbose Report" 'false' "RAM Extraction" 'true' "ROM Extraction" 'true' "ROM Style" 'Auto' "Read Cores" 'true' "Regenerate Core" 'Under Current Project Setting' "Register Duplication Xst" 'true' "Release Write Enable (Output Events)" 'Default (6)' "Rename Design Instance in Testbench File to" 'UUT' "Rename Top Level Architecture To" 'Structure' "Rename Top Level Entity to" 'stopwatch' "Report Paths by Endpoint" '3' "Report Paths by Endpoint Post Trace" '3' "Report Type" 'Verbose Report' "Report Type Post Trace" 'Verbose Report' "Reset DCM if SHUTDOWN & AGHIGH performed" 'false' "Reset On Configuration Pulse Width" '100' "Revision Select" '00' "Revision Select Tristate" 'Disable' "Safe Implementation" 'No' "Security" 'Enable Readback and Reconfiguration' "Shift Register Extraction" 'true' "Show All Models" 'false' "Slice Packing" 'true' "Slice Utilization Ratio" '100' "Top-Level Module Name in Output Netlist" '' "Tristate On Configuration Pulse Width" '0' "Unused IOB Pins" 'Pull Down' "Use Clock Enable" 'Yes' "Use Smart Guide" 'false' "Use Synchronous Reset" 'Yes' "Use Synchronous Set" 'Yes' "Use Synthesis Constraints File" 'true' "UserID Code (8 Digit Hexadecimal)" '0xFFFFFFFF' "VHDL Source Analysis Standard" 'VHDL-93' "Verilog 2001 Xst" 'true' "Wait for DLL Lock (Output Events)" 'Default (NoWait)' "Write Timing Constraints" 'false' "XOR Collapsing" 'true' --
Все параметры управления, представленные в этой таблице, должны учитываться разработчиком при определении стратегий синтеза и реализации проекта, а также при выборе параметров моделирования и генерации конфигурационной последовательности в среде проектирования Vivado Integrated Design Environment.
Третий раздел отчета MAPPED DATA включает в себя три секции. Первая секция этого раздела содержит информацию о семействе и типе кристалла программируемой логики или расширяемой вычислительной платформы, которые автоматически предлагаются САПР Vivado Design Suite. Содержимое этой секции выглядит следующим образом:
Section (3) - MAPPED DATA ------------------------- -- The following sub-sections describes the list of items that were imported from the ISE properties and sources and mapped into the current project:- -- Section (3.1) - Target Device ----------------------------- -- Default Part = xc7k70tfbg676-1 Family = kintex7 Package = fbg676 Speed Grade = -1 --
Во второй секции раздела MAPPED DATA приведены сведения обо всех модулях исходного проекта, которые были успешно включены в состав формируемого проекта в интегрированной среде разработке Vivado Integrated Design Environment. Для каждого из этих модулей указывается название соответствующего файла (name), полный путь доступа к нему (file path), его тип (file type) и библиотека (library):
Section (3.2) - Filesets ------------------------ -- <sources_1> FILESET_TYPE = DesignSrcs TOP = stopwatch DESIGN_MODE = RTL VERILOG_DIR = VERILOG_DEFINE = VHDL_GENERICS = -- File(s):- NAME = tenths.xco FILE PATH = d:/Prj_Vivado/project_1/project_1.srcs/sources_1/ip/tenths/tenths.xco FILE_TYPE = IP LIBRARY = work -- NAME = cnt60.vhd FILE PATH = D:/Prj_Vivado/project_1/project_1.srcs/sources_1/imports/stopwatch/cnt60.vhd FILE_TYPE = VHDL LIBRARY = work -- NAME = stopwatch.vhd FILE PATH = D:/Prj_Vivado/project_1/project_1.srcs/sources_1/imports/stopwatch/stopwatch.vhd FILE_TYPE = VHDL LIBRARY = work -- NAME = decode.vhd FILE PATH = D:/Prj_Vivado/project_1/project_1.srcs/sources_1/imports/stopwatch/decode.vhd FILE_TYPE = VHDL LIBRARY = work -- NAME = hex2led.vhd FILE PATH = D:/Prj_Vivado/project_1/project_1.srcs/sources_1/imports/stopwatch/hex2led.vhd FILE_TYPE = VHDL LIBRARY = work -- NAME = statmach.vhd FILE PATH = D:/Prj_Vivado/project_1/project_1.srcs/sources_1/imports/stopwatch/statmach.vhd FILE_TYPE = VHDL LIBRARY = work -- NAME = smallcntr.vhd FILE PATH = D:/Prj_Vivado/project_1/project_1.srcs/sources_1/imports/stopwatch/smallcntr.vhd FILE_TYPE = VHDL LIBRARY = work -- NAME = readme FILE PATH = D:/Prj_Vivado/project_1/project_1.srcs/sources_1/imports/stopwatch/readme FILE_TYPE = Unknown LIBRARY = work -- <constrs_1> FILESET_TYPE = Constrs -- Note: During the import operation, any constraint file(s) that are found in the ISE project will be added to the current Vivado project. However, please note that none of these files will be automatically marked as a "Target Constraint File". To set a constraint file as target, select the file in the GUI "Sources" window, right-click on this file and then select "Set Target UCF". Alternatively, the target constraint file can be set using the "set_property target_constrs_file <filename> <fileset>" Tcl command. -- File(s):- None -- <sim_1> FILESET_TYPE = SimulationSrcs -- File(s):- NAME = stopwatch_tb.vhd FILE PATH = D:/Prj_Vivado/project_1/project_1.srcs/sim_1/imports/stopwatch/stopwatch_tb.vhd FILE_TYPE = VHDL LIBRARY = work --
Третья секция раздела MAPPED DATA содержит информацию о стратегиях процессов синтеза и реализации, а также об основных параметрах моделирования, которые были установлены по умолчанию системой проектирования при автоматическом импортировании проекта:
Section (3.3) - Design Runs(s) ------------------------------ -- <synth_1> FLOW = Vivado Synthesis 2013 PART = xc7k70tfbg676-1 SRCSET = sources_1 CONSTRSET = constrs_1 STRATEGY = Vivado Synthesis Defaults -- Options:- -- Note: The current run uses Vivado Strategies; hence no ISE run options will be mapped to this run during the import operation. -- <impl_1> FLOW = Vivado Implementation 2013 PART = xc7k70tfbg676-1 SRCSET = sources_1 CONSTRSET = constrs_1 STRATEGY = Vivado Implementation Defaults -- Options:- -- Note: The current run uses Vivado Strategies; hence no ISE run options will be mapped to this run during the import operation. -- <sim_1> TOP = unknown SOURCE_SET = sources_1 -- Options:- --
После внимательного ознакомления с информацией, представленной в отчете о выполнении процесса автоматического импортирования, в большинстве случаев необходимо выполнить коррекцию предлагаемых значений параметров сформированного проекта.
- Кузелин М. О., Кнышев Д. А., Зотов В. Ю. Современные семейства ПЛИС фирмы Xilinx. Справочное пособие. М.: Горячая линия – Телеком, 2004.
- Зотов В. Особенности архитектуры нового поколения ПЛИС с архитектурой FPGA фирмы Xilinx // Компоненты и технологии. 2010. № 12.
- Zynq-7000 All Programmable SoC Overview. Advance Product Specification. Xilinx, 2012.
- Zynq-7000 All Programmable SoC (XC7Z010 and XC7Z020): DC and AC Switching Characteristics. Xilinx, 2012.
- Zynq-7000 All Programmable SoC (XC7Z030 and XC7Z045): DC and AC Switching Characteristics. Xilinx, 2012.
- Zynq-7000 All Programmable SoC Technical Reference Manual. Xilinx, 2012.
- Zynq-7000 All Programmable SoC: Concepts, Tools, and Techniques (CTT) A Hands-On Guide to Effective Embedded System Design. Xilinx, 2012.
- Zynq-7000 All Programmable SoC Software Developers Guide. Xilinx, 2012.
- 7 Series FPGAs and Zynq-7000 All Programmable SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital Converter User Guide. Xilinx, 2012.
- Зотов В. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPack ISE. М.: Горячая линия – Телеком, 2003.
- 7 Series FPGAs SelectIO Resources User Guide. Xilinx, 2011.
- 7 Series FPGAs Clocking Resources User Guide. Xilinx, 2011.
- 7 Series FPGAs Memory Resources User Guide. Xilinx, 2012.
- 7 Series FPGAs Configurable Logic Block User Guide. Xilinx, 2012.
- 7 Series FPGAs GTX Transceivers User Guide. Xilinx, 2011.
- 7 Series FPGAs Integrated Block for PCIe User Guide. Xilinx, 2012.
- 7 Series DSP48E1 Slice User Guide. Xilinx, 2012.
- Vivado Design Suite User Guide: Using Constraints. Xilinx, 2013.
- Зотов В. Проектирование цифровых устройств, реализуемых на базе ПЛИС FPGA фирмы Xilinx, с использованием средств CORE Generator // Компоненты и технологии. 2006. № 12. 2007. № 1.
- Зотов В. Проектирование блоков синхронизации цифровых устройств, реализуемых на базе модулей DCM в ПЛИС FPGA серии Spartan-3, с помощью «мастера» Architecture Wizard САПР серии Xilinx ISE Generator // Компоненты и технологии. 2007. № 5–8.
- Зотов В. Разработка компонентов устройств цифровой обработки сигналов, реализуемых на базе аппаратных модулей DSP48E в ПЛИС FPGA серии Virtex-5, с помощью «мастера» Architecture Wizard САПР серии Xilinx ISE // Компоненты и технологии. 2008. № 12. 2009. № 3–7.
- Зотов В. MicroBlaze — семейство 32-разрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 9.
- Зотов В. Ю. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия – Телеком, 2006.
- Зотов В. Embedded Development Kit — система проектирования встраиваемых микропроцессорных систем на основе ПЛИС серий FPGA фирмы Xilinx // Компоненты и технологии. 2004. № 4.