Средства внутрикристальной отладки цифровых устройств и встраиваемых микропроцессорных систем, разрабатываемых на базе ПЛИС с архитектурой FPGA фирмы Xilinx — ChipScope Pro
Традиционный подход к решению этой задачи заключается в использовании комплекса измерительных аппаратных средств, подключаемых к выводам кристалла на печатной плате. При этом все интересующие внутренние сигналы (цепи) разрабатываемого устройства разводятся к свободным (незадействованным в проекте) пользовательским входам/выходам ПЛИС.
Такой подход неприменим при большом объеме контролируемых сигналов (например, при необходимости мониторинга состояния шин с большой разрядностью) и в случае отсутствия свободных пользовательских выводов кристалла. Кроме того, при использовании ПЛИС, выполненных в корпусах с шариковыми выводами BGA (Ball Grid Array), нет возможности подключения контрольноизмерительного оборудования непосредственно к контактам кристалла. Поэтому для эффективного решения задач аппаратной отладки проектируемых устройств и встраиваемых систем фирма Xilinx предлагает комплекс программных средств ChipScope Pro.
Настоящая публикация открывает серию статей, посвященных вопросам аппаратной отладки цифровых устройств и встраиваемых микропроцессорных систем, разрабатываемых на базе ПЛИС с архитектурой FPGA. Первая статья знакомит с функциональными возможностями и структурой комплекса средств внутрикристальной отладки ChipScope Pro. Прежде чем перейти непосредственно к изучению данного комплекса программных инструментов, рассмотрим кратко различные методы верификации проектов устройств, разрабатываемых на базе ПЛИС семейств FPGA фирмы Xilinx.
Средства и методы верификации проектов устройств, разрабатываемых на базе ПЛИС с архитектурой FPGA фирмы Xilinx
Для минимизации времени аппаратной отладки разрабатываемых устройств рекомендуется воспользоваться средствами HDLмоделирования на соответствующих этапах проектирования [13, 14]. Как показывает практика, применение различных видов моделирования позволяет обнаружить большинство ошибок еще до загрузки конфигурационной последовательности в кристалл ПЛИС. Результативность такой верификации зависит от параметров используемых моделей и полноты генерируемых тестовых последовательностей сигналов.
САПР серии Xilinx ISE (Integrated Software Environment /Integrated Synthesis Environment) позволяют использовать для верификации разрабатываемых устройств как встроенные средства HDLмоделирования ISE Simulator, так и системы, являющиеся продукцией других фирм. К наиболее известным системам моделирования относится программа ModelSim, выпускаемая корпорацией Model Technology (www.model.com), одного из подразделений компании Mentor Graphics (http://www.mentor.com/). Для эффективного моделирования устройств, проектируемых на основе ПЛИС фирмы Xilinx, пользователям предоставляется специализированная редакция этой системы ModelSim Xilinx Edition (XE), которая выполнена на базе конфигурации ModelSim PE и ориентирована на интеграцию с программным обеспечением серии Xilinx ISE. Все конфигурации САПР Xilinx ISE (ISE Foundation и ISE WebPACK [13]) комплектуются свободно распространяемой версией системы моделирования ModelSim XE III Starter. Эта версия имеет одно существенное ограничение исходный текст описания проектируемой системы на соответствующем языке HDL не должен превышать фиксированное число исполняемых выражений, которое в настоящее время равно 10 000. При несоблюдении этого условия программа моделирования сохраняет работоспособность, но функционирует с пониженной производительностью. Применение единого ядра моделирования SKS (Single Kernel Simulation) в составе программных средств ModelSim обеспечивает возможность полной отладки смешанных проектов, которые одновременно содержат модули, написанные на языках высокого уровня VHDL и Verilog.
В процессе разработки устройств на базе кристаллов семейств FPGA с использованием средств верификации ModelSim разработчику предоставляется возможность проведения моделирования на следующих фазах:
- после создания модулей исходного описания проекта (Simulate Behavioral Model);
- после выполнения этапов синтеза и трансляции (Simulate PostTranslate Model);
- после выполнения фазы отображения логического описания проекта на физические ресурсы кристалла (Simulate PostMap Model);
- после завершения процедур размещения и трассировки (Simulate Post Route Model).
Такая организация позволяет обнаружить возможные ошибки на более ранней фазе проектирования и тем самым избежать значительных временных потерь.
Функциональное моделирование Simulate Behavioral Model позволяет выполнить предварительную верификацию сформированных модулей исходного описания проектируемого устройства. На этой стадии проектирования отсутствует информация о значениях задержек распространения сигналов, поэтому при функциональном моделировании можно обнаружить только логические и синтаксические ошибки в описании разрабатываемого устройства. Для функционального моделирования проекта применяется библиотека UniSim Library, элементы которой имеют единичные задержки.
В процессе моделирования, выполняемого после трансляции проекта Simulate PostTranslate Model, также используются единичные значения задержек элементов. Поэтому его можно тоже считать функциональным моделированием. Но в отличие от этапа функциональной верификации Simulate Behavioral Model здесь используется модель устройства, сформированная с учетом используемых ресурсов кристалла. Этот процесс также называют функциональным моделированием на уровне вентилей (GateLevel), имея в виду уровень аппаратных ресурсов ПЛИС. При этом используется та же библиотека моделей соответствующих элементов (примитивов) SimPrim Library, что и в процессе полного (временного) моделирования.
На этапе моделирования, который выполняется перед размещением и трассировкой проекта Simulate PostMap Model, производится частичная временная верификация разрабатываемого устройства. Модель, формируемая на этой фазе, учитывает задержки распространения сигналов в конфигурируемых логических блоках (Configurable Logic Block, CLB) и блоках ввода/вывода (Input/Output block, IOB) кристалла, которые используются для реализации проектируемого устройства. Значения этих задержек рассчитываются для самого наихудшего варианта. При этом отсутствует информация о задержках распространения сигналов, вносимых трассировочными ресурсами ПЛИС. Таким образом, на данном этапе можно получить предварительную оценку выполнения требований, предъявляемых к временным характеристикам разрабатываемого устройства.
Полное временное моделирование Simulate Post Route Model, выполняемое после успешного завершения этапа реализации (Implementation), позволяет провести окончательную проверку полученных результатов размещения и трассировки проектируемого устройства в кристалле ПЛИС. Полная модель разрабатываемого устройства учитывает все возможные задержки распространения сигналов в кристалле, причем их значения выбираются для самого неблагоприятного случая.
Встроенные средства HDLмоделирования ISE Simulator предоставляют возможность моделирования разрабатываемого устройства только после формирования исходных описаний проекта (Simulate Behavioral Model) и после размещения и трассировки проекта в кристалле (Simulate Post Route Model). Таким образом, независимо от выбранной системы моделирования разработчикам предоставляется возможность функционального (поведенческого) и полного (временного) моделирования проектируемого устройства. В ряде случаев невозможно в формируемых тестовых последовательностях описать все комбинации входных сигналов. При этом могут возникать определенные сочетания сигналов, приводящие к ошибкам функционирования разрабатываемого устройства, которые обнаруживаются только на этапе аппаратной верификации. В таких случаях рекомендуется воспользоваться комплексом программных средств ChipScope Pro.
Назначение, функциональные возможности и состав комплекса средств ChipScope Pro
Комплекс программных средств ChipScope Pro предназначен для внутрикристальной аппаратной отладки и тестирования цифровых устройств и встраиваемых микропроцессорных систем, реализуемых на базе ПЛИС с архитектурой FPGA следующих семейств: Virtex, QPRO Virtex RadHard, QPRO Virtex HiRel, VirtexE, QPRO VirtexE Military, VirtexII, QPRO VirtexII Rad Tolerant, QPRO VirtexII Military, VirtexII Pro, Virtex4 FX, Virtex4 LX, Virtex4 SX, QPRO Virtex4 Rad Tolerant, QPRO Virtex4 HiRel, Virtex5 LX, Virtex5 LXT, Virtex5 SXT, Virtex5 FXT, SpartanII, SpartanIIE, Spartan3, Spartan3 XA, Spartan3E, Spartan3E XA, Spartan3A, Spartan3AN и Spartan3A DSP. Данный комплекс функционирует совместно с пакетом САПР серии Xilinx ISE. Рассматриваемые отладочные средства поддерживаются не только наиболее полным вариантом САПР ISE Foundation, но и свободно распространяемым пакетом ISE WebPACK. При этом необходимо учитывать, что в отличие от пакета ISE WebPACK комплекс ChipScope Pro является коммерческим продуктом, для использования которого необходима соответствующая лицензия. Для ознакомления с этим программным комплексом и изучения методики внутрикристальной отладки разрабатываемых устройств рекомендуется воспользоваться бесплатной оценочной версией, которая может применяться в течение 60 дней с момента установки. Данная версия доступна для скачивания на Webстранице фирмы Xilinx (www.xilinx.com/ise_eval/index.htm) после бесплатной регистрации.
Средства ChipScope Pro не требуют дополнительной контрольноизмерительной аппаратуры для осуществления процесса отладки разрабатываемых устройств и систем. Для управления этим процессом и доступа к контрольным точкам отлаживаемого устройства достаточно стандартного загрузочного кабеля, предназначенного для конфигурирования ПЛИС. В то же время в составе комплекса ChipScope Pro предусмотрены компоненты, дающие возможность применения в процессе внутрикристальной отладки проектируемых устройств и систем аппаратных логических анализаторов, выпускаемых компанией Agilent Technologies (www.agilent.com). В процессе аппаратной отладки с помощью комплекса программных средств ChipScope Pro не задействуются пользовательские входы/выходы кристалла. Управление этим процессом и передача значений контролируемых сигналов осуществляется через порт JTAGинтерфейса.
В последней версии рассматриваемых средств внутрикристальной отладки предусмотрена поддержка следующих типов загрузочных кабелей JTAGинтерфейса, выпускаемых фирмой Xilinx:
- Platform Cable USB II;
- Parallel Cable IV;
- Platform Cable USB;
- Parallel Cable III;
- MultiPRO.
Последние три типа загрузочных кабелей уже сняты с производства, но продолжают поддерживаться новыми версиями пакетов САПР серии Xilinx ISE и ChipScope Pro. Таким образом, разработчики, попрежнему использующие данные средства конфигурирования ПЛИС, могут применять их и в процессе аппаратной отладки проектов.
В настоящее время фирма Xilinx предоставляет несколько вариантов комплекса средств ChipScope Pro, предназначенных для использования под управлением 32 и 64разрядных версий следующих операционных систем:
- Microsoft Windows XP Professional;
- Microsoft Windows Vista Business;
- Red Hat Enterprise Linux WS 4;
- Red Hat Enterprise Linux Desktop 5.
Для эффективной работы всех указанных вариантов средств внутрикристальной отладки объем оперативной памяти, установленной на используемом ПК, должен составлять не менее 1024 Мбайт.
Функциональные возможности средств внутрикристальной отладки ChipScope Pro в значительной степени характеризуются следующими особенностями:
- широкий диапазон изменения устанавливаемого объема буфера фиксируемых данных (от 256 до 131 072 выборок), позволяющий повысить точность и вероятность выявления редко возникающих событий в процессе функционирования разрабатываемого устройства;
- поддержка от 1 до 1024 анализируемых каналов данных, выбираемых пользователем, обеспечивающая осуществление одновременного контроля уровней сигналов на нескольких шинах с различной разрядностью;
- возможность использования до 16 отдельных (независимых) входных портов в блоке формирования условий запуска конфигурируемого анализатора, разрядность каждого из которых позволяет подключать от 1 до 256 каналов данных;
- возможность применения до 16 схем совпадения различного типа, подключаемых к портам блока формирования условий запуска, повышающая гибкость и эффективность процесса обнаружения заданных событий в работе отлаживаемого устройства;
- поддержка сигналов синхронизации с частотами, превышающими 500 МГц, для тактирования всех операций захвата данных, позволяющая осуществлять контроль состояний сигналов и обнаружение заданных событий в высокоскоростных устройствах и системах;
- возможность включения в состав отлаживаемого устройства до 15 независимых экземпляров конфигурируемого модуля логического анализатора, обеспечивающая возможность отладки больших проектов с требуемой точностью;
- возможность комбинирования до 16 различных функций сравнения для определения требуемых условий запуска анализатора, реализуемая в виде логических (булевых) выражений или в форме многоступенчатой последовательности схем совпадения, включающей до 16 ступеней;
- определение условий фиксации захватываемых значений сигналов во внутренней памяти в виде комбинации из нескольких (до 16) различных функций сравнения, задаваемой с помощью логических (булевых) выражений;
- возможность изменения условий запуска конфигурируемого анализатора и фиксации захватываемых данных непосредственно в процессе отладки разрабатываемого устройства;
- интуитивный пользовательский интерфейс, обеспечивающий наглядность управления процессом отладки и отображения состояния контролируемых сигналов.
В состав комплекса ChipScope Pro входят:
- комплект параметризованных модулей Xilinx CORE Generator Tool, поддерживаемых средствами Xilinx CORE Generator [14];
- генератор ChipScope Pro Core Generator, используемый для формирования описаний конфигурируемых ядер IBERT (Integrated Bit Error Ratio Test);
- программа ChipScope Pro Core Inserter, предназначенная для включения параметризованных модулей из комплекта Xilinx CORE Generator Tool в состав синтезированного описания проектируемого устройства;
- программные средства ChipScope Pro Analyzer, выполняющие функции управления процессом отладки и отображения результатов этого процесса на экране монитора;
- средства поддержки командного интерфейса ChipScope Engine JTAG (CseJtag) Tcl Scripting Interface.
Взаимодействие компонентов ChipScope Pro в процессе отладки и тестирования проектируемого устройства наглядно поясняет рис. 1.
в процессе отладки проектируемого устройства
Краткая информация о каждом из компонентов отладочных средств ChipScope Pro приводится в следующих разделах.
Краткая характеристика параметризованных модулей, входящих в состав набора Xilinx CORE Generator Tool
Набор параметризованных модулей Xilinx CORE Generator Tool включает следующие конфигурируемые ядра:
- ядро встроенного логического анализатора Integrated Logic Analyzer (ILA);
- ядро виртуального входа/выхода Virtual Input/Output (VIO);
- ядро контроллера Integrated Controller (ICON);
- ядро контроллера Agilent Trace Core 2 (ATC2).
В последней версии комплекса средств ChipScope Pro доступ ко всем перечисленным ядрам и их конфигурирование осуществляются с помощью генератора параметризованных модулей Core Generator [15], входящего в состав САПР серии Xilinx ISE. Указанные ядра выделены в отдельную функциональную группу Debug & Verification (рис. 2). Создание отладочных компонентов на основе параметризованных модулей, входящих в состав набора Xilinx CORE Generator Tool, может осуществляться средствами CORE Generator как в автономном режиме, так и в среде управляющей оболочки САПР серии Xilinx ISE Навигатора проекта (Project Navigator).
относящихся к комплексу средств ChipScope Pro
Параметризованный модуль Integrated Logic Analyzer предназначен для формирования описания встроенного логического анализатора, позволяющего осуществлять захват и фиксацию различных внутренних сигналов проектируемого устройства. Типовой вариант структуры генерируемого логического анализатора показан на конкретном примере, представленном на рис. 3. Этот вариант конфигурации ILA позволяет одновременно контролировать состояние сигналов на 32разрядной шине данных Data, 24разрядной шине адреса Address и сигналов управления CE, WE и OE.
генерируемого на основе параметризованного модуля Integrated Logic Analyzer
На основе ядра Virtual Input/Output генерируются виртуальные входы/выходы, обеспечивающие доступ к любому внутреннему сигналу разрабатываемого устройства. Виртуальные контакты ввода/вывода, сформированные с помощью параметризованного модуля VIO, позволяют не только контролировать поведение соответствующих сигналов, но и принудительно изменять их состояние в режиме реального времени. Данный модуль поддерживает четыре типа сигналов: асинхронный вход, синхронный вход, асинхронный выход и синхронный выход.
Модуль Integrated Controller используется для генерации описания контроллера (ICON), предназначенного для организации взаимодействия рассмотренных выше отладочных компонентов с портом JTAGинтерфейса. Один экземпляр контроллера ICON может поддерживать до 15 модулей логических анализаторов и виртуальных входов/выходов.
С помощью ядра Agilent Trace Core 2 формируется описание контроллера ATC2, обеспечивающего возможность использования в ходе внутрикристальной отладки разрабатываемых устройств логических анализаторов, выпускаемых компанией Agilent Technologies. На рис. 4 показано взаимодействие компонентов комплекса средств ChipScope Pro и указанных аппаратных логических анализаторов в процессе отладки.
анализаторов, выпускаемых компанией Agilent Technologies, в процессе отладки проектируемого устройства
Кроме рассмотренных ядер, к группе Xilinx CORE Generator Tool можно отнести также параметризованные модули Integrated Bus Analyzer (IBA)/OPB и IBA/PLB, доступ к которым предоставляют средства проектирования встраиваемых микропроцессорных систем Xilinx Embedded Development Kit (EDK) [12, 14]. Ядро IBA/OPB представляет собой конфигурируемый анализатор шины, соответствующей спецификации CoreConnect OPB (OnChip Peripheral Bus) компании IBM. Данный тип шины применяется во встраиваемых микропроцессорных системах, разрабатываемых на основе ядер семейств PowerPC и MicroBlaze. Параметризованный модуль IBA/PLB предназначен для формирования встроенного анализатора шины, соответствующей спецификации CoreConnect PLB (Processor Local Bus) компании IBM. Шина PLB используется, в частности, в архитектуре микропроцессорных систем, проектируемых на базе ядра семейства PowerPC. Ядро IBA/PLB позволяет не только контролировать состояния сигналов на этой шине, но и осуществлять отладку транзакций и обнаружение нарушений протоколов передачи данных. Анализаторы шин IBA/OPB и IBA/PLB осуществляют захват данных на соответствующих шинах и сохраняют их, используя ресурсы блочной памяти ПЛИС Block RAM.
Краткое описание программных средств, входящих в состав комплекса ChipScope Pro
Программа ChipScope Pro Core Inserter позволяет добавить в состав синтезированного описания разрабатываемого устройства необходимые отладочные компоненты, формируемые на основе параметризованных модулей Xilinx CORE Generator Tool. Эта программа вызывается из управляющей оболочки САПР серии Xilinx ISE Навигатора проекта (Project Navigator). С помощью диалоговых панелей, последовательно открываемых в основном окне программы ChipScope Pro Core Inserter, указываются состав и параметры внедряемых отладочных компонентов, а также их подключение к соответствующим внутренним цепям проектируемого устройства. Следует обратить внимание на то, что программа ChipScope Pro Core Inserter поддерживает только параметризованные модули ILA, ICON и ATC2. Вид основного окна данной программы показан на рис. 5.
Программные средства ChipScope Pro Analyzer выполнены на основе архитектуры клиентсервер. Серверное приложение, функционирующее в режиме командной строки, обеспечивает доступ к отлаживаемому устройству через загрузочный кабель и порт JTAGинтерфейса. Приложениеклиент предоставляет разработчику визуальный интерфейс управления процессами загрузки конфигурационной последовательности разработанного устройства в кристалл и последующей отладки, а также осуществляет отображение значений фиксируемых сигналов на экране монитора в различной форме. Это приложение имеет многооконную структуру, примерный вид которой представлен на рис. 6.
Генератор ChipScope Pro Core Generator в последней версии комплекса средств ChipScope Pro используется только для подготовки описаний конфигурируемых ядер IBERT, которые предназначены для внутрикристальной отладки проектируемых устройств, в составе которых применяются высокоскоростные приемопередатчики RocketIO. В данной программе предусмотрена поддержка аппаратных блоков RocketIO GT11, присутствующих в ПЛИС семейства Virtex4 FX, а также модулей RocketIO GTP, применяемых в кристаллах платформ Virtex5 LXT, Virtex5 SXT и RocketIO GTX, используемых в ПЛИС семейства Virtex5 FXT. Генератор ChipScope Pro Core Generator входит в состав дополнительного набора инструментов ChipScope Pro Serial I/O Toolkit.
Средства поддержки командного интерфейса CseJtag (ChipScope Engine JTAG) Tcl Scripting Interface включают библиотеки, обеспечивающие доступ к основным функциям периферийного сканирования JTAG. Данный интерфейс позволяет, используя стандартный загрузочный кабель, подключенный к JTAGпорту, с помощью соответствующих команд считывать информацию о цепочке периферийного сканирования и осуществлять операции конфигурирования кристаллов, тестирования и отладки проектов, реализуемых в этих кристаллах.
Основные этапы проектирования и отладки цифровых устройств на базе ПЛИС семейств FPGA фирмы Xilinx при использовании комплекса средств ChipScope Pro
Последовательность выполнения основных этапов проектирования и отладки цифровых устройств на базе ПЛИС семейств FPGA, выпускаемых фирмой Xilinx, при использовании комплекса средств ChipScope Pro представлена на рис. 7. Как следует из приведенной блоксхемы, разработчикам предоставляется два способа включения отладочных компонентов, создаваемых на базе параметризованных модулей из набора Xilinx CORE Generator Tool, в состав проектируемого устройства.
семейств FPGA фирмы Xilinx при использовании комплекса средств ChipScope Pro
Первый способ предполагает подключение отладочных компонентов к соответствующим цепям разрабатываемого устройства на этапе подготовки модулей исходного описания проекта. Для этого сразу после создания исходного HDLописания собственно проектируемого устройства генерируются все необходимые отладочные компоненты на основе параметризованных модулей ILA, ICON, VIO и ATC2. Параметры, задаваемые при генерации этих ядер, должны соответствовать структуре разрабатываемого устройства и совокупности сигналов и событий, контролируемых в процессе аппаратной отладки. Затем в исходном HDLописании проектируемого устройства создаются экземпляры этих отладочных компонентов, входы и выходы которых подключаются к соответствующим внутренним цепям устройства. Все последующие этапы синтеза, размещения и трассировки проекта в кристалле, формирования конфигурационной последовательности выполняются в обычном порядке, рассмотренном в публикациях [58, 13, 14]. После успешного завершения этих этапов нужно активизировать программные средства ChipScope Pro Analyzer и приступить непосредственно к аппаратной верификации разрабатываемого устройства.
Второй способ основан на использовании программы ChipScope Pro Core Inserter. В данном случае вначале создаются исходные модули HDLописания разрабатываемого устройства без отладочных компонентов и выполняется этап синтеза. После этого с помощью программы ChipScope Pro Core Inserter в состав синтезированного списка цепей проектируемого устройства добавляются все необходимые отладочные компоненты. Дальнейшие этапы выполняются в той же последовательности, что и при первом способе.
Более подробная информация о параметризованных модулях и программных средствах, входящих в состав комплекса ChipScope Pro, а также их применении в процессе отладки разрабатываемых устройств будет представлена в соответствующих публикациях цикла.
Литература
- Кузелин М. О., Кнышев Д. А., Зотов В. Ю. Современные семейства ПЛИС фирмы Xilinx. Справочное пособие. М.: Горячая линия Телеком, 2004.
- Зотов В. PicoBlaze семейство восьмиразрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 4.
- Зотов В. Система команд микропроцессорного ядра PicoBlaze, реализуемого на основе ПЛИС семейств SpartanII, SpartanIIE, Virtex, VirtexE // Компоненты и технологии. 2003. № 5.
- Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейств Spartan3, VirtexII и VirtexIIPRO // Компоненты и технологии. 2005. № 56.
- Зотов В. Создание проекта встраиваемой системы на основе микропроцессорного ядра семейства PicoBlaze // Компоненты и технологии. 2005. № 89.
- Зотов В. Реализация проекта встраиваемой системы на основе микропроцессорного ядра семейства PicoBlaze // Компоненты и технологии. 2006. № 1.
- Зотов В. Программирование конфигурационной памяти встраиваемой системы, реализуемой на основе микропроцессорного ядра семейства PicoBlaze в ПЛИС фирмы Xilinx // Компоненты и технологии. 2006. № 2.
- Зотов В. Пример сквозного проектирования встраиваемой восьмиразрядной микропроцессорной системы на базе ядра семейства PicoBlaze, реализуемой на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2006. № 79.
- Зотов В. MicroBlaze семейство тридцатидвухразрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 9.
- Зотов В. Система команд микропроцессорного ядра MicroBlaze // Компоненты и технологии. 2004. № 13.
- Зотов В. Организация памяти микропроцессорного ядра MicroBlaze // Компоненты и технологии. 2004. № 5.
- Зотов В. Embedded Development Kit система проектирования встраиваемых микропроцессорных систем на основе ПЛИС серий FPGA фирмы Xilinx // Компоненты и технологии. 2004. № 4.
- Зотов В. Проектирование цифровых устройств на основе ПЛИС фирмы Xilinx в САПР WebPack ISE. М.: Горячая линия Телеком, 2003.
- Зотов В. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия Телеком, 2006.
- Зотов В. Проектирование цифровых устройств, реализуемых на базе ПЛИС FPGA фирмы Xilinx, с использованием средств CORE Generator // Компоненты и технологии. 2006. № 12. 2007. № 1.