Директивы и сообщения об ошибках интегрированной среды разработки и отладки программного обеспечения встраиваемых систем pBlaze IDE

№ 5’2006
Предлагаемая статья продолжает серию публикаций, знакомящих с pBlaze IDE (Integrated Development Environment)— интегрированной средой разработки и отладки программного обеспечения восьмиразрядных микропроцессорных систем на основе конфигурируемых ядер семейства PicoBlaze [1–6] фирмы Xilinx. В предыдущей части цикла были представлены общие характеристики и подробное описание пользовательского интерфейса данных отладочных средств [7, 8]. В настоящей статье основное внимание уделяется описанию директив интегрированной среды pBlaze IDE и сообщений об ошибках, генерируемых при трансляции исходного текста микропроцессорных программ на языке ассемблера.

Предлагаемая статья продолжает серию публикаций, знакомящих с pBlaze IDE (Integrated Development Environment)— интегрированной средой разработки и отладки программного обеспечения восьмиразрядных микропроцессорных систем на основе конфигурируемых ядер семейства PicoBlaze [1–6] фирмы Xilinx. В предыдущей части цикла были представлены общие характеристики и подробное описание пользовательского интерфейса данных отладочных средств [7, 8]. В настоящей статье основное внимание уделяется описанию директив интегрированной среды pBlaze IDE и сообщений об ошибках, генерируемых при трансляции исходного текста микропроцессорных программ на языке ассемблера.

Структурные элементы исходного текста ассемблерной программы, отлаживаемой в среде pBlaze IDE

Исходный текст программы на языке ассемблера ядра PicoBlaze, отлаживаемой с помощью интегрированной среды pBlaze IDE, может содержать следующие элементы:

  • команды микропроцессорного ядра;
  • директивы интегрированной среды pBlaze IDE;
  • метки;
  • комментарии.

Отладочные средства pBlaze IDE поддерживают все команды всех версий микропроцессорного ядра семейства PicoBlaze. Синтаксис большинства команд совпадает с мнемонической формой записи инструкций микропроцессорных ядер PicoBlaze [1, 3–6]. Исключение составляют инструкции ввода-вывода, сложения и вычитания с учетом переноса и займа соответственно, возврата из подпрограмм и процедур обслуживания прерываний, а также команды разрешения и запрета прерываний.

Мнемоническая форма записи команд ввода INPUT и вывода OUTPUT в исходном тексте отлаживаемой микропроцессорной программы должна быть трансформирована в IN и OUT соответственно. Инструкции сложения двух операндов с учетом переноса ADDCY в ассемблерной программе записываются в сокращенном виде ADDC. Команда вычитания с учетом заема SUBCY модифицируется в SUBC. Инструкции возврата из подпрограмм RETURN и процедур обслуживания прерываний RETURNI в исходном тексте микропрограммы, отлаживаемой в среде pBlaze IDE, должны быть преобразованы в RET и RETI соответственно. Мнемоническая форма записи инструкций разрешения и запрета прерываний ENABLE INTERRUPT и DISABLE INTERRUPT сокращается до EINT и DINT соответственно.

Метки и комментарии, располагаемые в исходном тексте отлаживаемой микропроцессорной программы, должны полностью соответствовать тем правилам, которые изложены в предыдущих публикациях [1, 9].

Директивы интегрированной среды разработки и отладки микропроцессорных программ pBlaze IDE

Интегрированная среда разработки и отладки ПО pBlaze IDE поддерживает ряд специальных директив, предназначенных для управления процессом трансляции ассемблерного кода и последующего моделирования процесса выполнения разрабатываемой микропрограммы.

Директива ORG предназначена для указания адреса размещения команд микропрограммы, следующих за строкой с этой директивой. Таким образом, данная директива позволяет явно указать адресное пространство для размещения в эмулируемом ППЗУ любой части разрабатываемой микропроцессорной программы. Директиву ORG целесообразно использовать для выделения соответствующих секций в адресном пространстве эмулируемого ППЗУ микропрограмм, предназначенных для записи подпрограмм. Кроме того, директива необходима для записи вектора прерывания. Формат командной строки выглядит следующим образом.

Числовое значение адреса в директиве ORG может быть представлено в десятичной или шестнадцатеричной форме. При использовании десятичной формы представления адреса необходимо помнить о том, чтобы указываемое значение не превосходило максимальной границы адресного пространства памяти микропрограмм. В шестнадцатеричной форме представления числовое значение адреса задается в виде последовательности из двух или трех шестнадцатеричных символов, начинающейся с префикса $. Количество шестнадцатеричных разрядов зависит от используемого типа микропроцессорного ядра. Для ядер PicoBlaze, реализуемых на базе кристаллов семейств Spartan-II, Spartan-IIE, Virtex, Virtex-E и CoolRunner-II [1, 2, 3, 5], адрес задается в виде двухразрядного шестнадцатеричного числа. В программах, предназначенных для микропроцессорного ядра на основе ПЛИС семейств Spartan-3, Virtex-II, Virtex-IIPRO и Virtex-4 [1, 4, 6], значение адреса содержит три шестнадцатеричных разряда.

В качестве примера далее приводится фрагмент исходного текста микропроцессорной программы, который наглядно поясняет способ практического применения директивы ORG.

Директива ORG $FF предписывает ассемблеру транслировать код вектора прерывания по адресу FF. Необходимость этого обусловлена архитектурными особенностями микропроцессорных ядер PicoBlaze, предназначенных для реализации в кристаллах семейств Spartan-II, Spartan-IIE, Virtex, Virtex-E и CoolRunner-II. В программах, которые разрабатываются для ядра, выполняемого на ПЛИС семейств Spartan-3, Virtex-II, Virtex-IIPRO и Virtex-4, код вектора прерывания должен находиться по адресу 3FF. С помощью директивы ORG $A1 дается указание ассемблеру транслировать код процедуры обработки прерывания, начиная с адреса A5. Окно отладчика интегрированной среды pBlaze IDE с результатами трансляции рассматриваемого фрагмента микропрограммы отражает последствия воздействия директивы ORG на генерируемый код (рис. 1). Первые три шестнадцатеричные цифры в начале каждой строки в окне отладчика указывают адрес размещения кода соответствующей инструкции в эмулируемом ППЗУ микропрограмм.

Рис. 1. Вид основного окна отладчика pBlaze IDE с результатами трансляции фрагмента исходного текста микропроцессорной программы, демонстрирующего применение директивы ORG
Рис. 1. Вид основного окна отладчика pBlaze IDE с результатами трансляции фрагмента исходного текста микропроцессорной программы, демонстрирующего применение директивы ORG

С помощью директивы EQU выполняется декларация и определение числового значения переменной или константы. Идентификаторы переменных или констант, определенные с помощью данной директивы, могут выступать в качестве операндов в арифметических и логических инструкциях, а также в качестве адресов входных и выходных портов в инструкциях ввода-вывода. Применение мнемонических идентификаторов вместо указания явных числовых значений позволяет, прежде всего, повысить информативность разрабатываемой программы. Кроме того, использование директивы EQU облегчает процесс отладки и редактирования программы. Если переменная или константа представляет параметр, который многократно используется в различных инструкциях, то для его изменения достаточно отредактировать численное значение в строке, содержащей соответствующую директиву EQU, вместо того, чтобы вносить исправления во всех командах, где используется данный параметр. Тем самым исключается возможность появления в программе ошибок, которые возникают из-за того, что не во всех инструкциях, где встречается данный параметр, указано его корректное значение.

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

Для декларации и непосредственного присвоения числового значения переменной или константе используется следующий формат командной строки директивы EQU.

В состав идентификатора переменной, константы или регистра общего назначения могут входить прописные и строчные буквы латинского алфавита (A–Z, a–z), цифры (0–9) и символы подчеркивания (_). При этом в имени константы не должно быть пробелов или каких-либо символов-разделителей. Числовое значение переменной или константы указывается в десятичной или шестнадцатеричной форме. В последнем варианте числовое значение задается в виде последовательности, состоящей из двух шестнадцатеричных символов (0–9, A–F, a–f) с префиксом $.

Формат командной строки для директивы EQU, предназначенной для присвоения переменной или константе результата арифметического выражения, выглядит следующим образом:

Например, выражение max_delay EQU 4 устанавливает эквивалентность идентификатора max_delay и значения 4, а строка min_size EQU 256/8 определяет значение min_size, равное результату выражения 256/8.

Для переименования регистра общего назначения используется формат командной строки директивы EQU, который имеет следующий вид.

Например, выражение buffer_reg EQU s5 задает для регистра общего назначения s5 мнемонический идентификатор buffer_reg. Использование различных форматов директивы EQU проиллюстрируем модификацией фрагмента кода, демонстрирующего использование директивы ORG, который был приведен выше. В результате применения директивы EQU этот фрагмент приобретает следующий вид.

В представленном фрагменте исходного текста микропроцессорной программы переопределены идентификаторы трех регистров общего назначения. Регистр s1, который выполняет функцию хранения данных, считанных из входного порта ввода-вывода, обозначен как input_data_reg. Для регистра s2, используемого в операции вычисления разности текущего и максимального значений, с помощью директивы EQU задано новое название — diff_data_reg. Регистр общего назначения s3, предназначенный для записи предыдущего значения, переименован в old_data_reg. Последующие строки исходного текста микропрограммы содержат директивы EQU, которые определяют значения констант, используемых далее в роли адресов портов ввода-вывода и параметров арифметических и логических команд. В частности, константа in_port_addr определяет значение адреса используемого входного порта ввода-вывода, константа out_port_addr — выходного порта и константа bus_port_addr — двунаправленного порта ввода-вывода. Константа с идентификатором max_data используется для указания максимально допустимого значения некоторого контролируемого параметра, значения которого считываются из входного порта с адресом in_port_addr.

Директивы DSIN, DSOUT, DSIO предназначены для декларации портов ввода-вывода, состояние которых необходимо контролировать в процессе отладки микропрограммы. Следует обратить внимание на то, что для осуществления моделирования выполнения программы необходимо обязательно описать все используемые порты ввода-вывода с помощью данных директив. Информация о значениях данных, поступающих в указанные порты ввода-вывода, будет автоматически отображаться в окне отладчика в процессе эмуляции функционирования микропрограммы. При этом состояние сигналов, поступающих во входной или двунаправленный порт ввода-вывода, доступно для изменения в интерактивном режиме. Таким образом, разработчику в процессе отладки предоставляется возможность модификации входных данных, поступающих на порты ввода-вывода.

Для объявления входного порта используется следующий формат командной строки директивы DSIN.

Идентификаторы портов ввода-вывода задаются в соответствии с теми же правилами, что и идентификаторы констант, переменных и регистров в директивах EQU. Значения адресов в директивах DSIN, DSOUT, DSIO указываются в той же форме, что и в директивах ORG. Например, выражение switches_port DSIN $16 определяет входной порт switches_port с адресом 22 (16 в шестнадцатеричном представлении). Кроме того, в качестве адреса порта может указываться идентификатор константы, определяемой с помощью директивы EQU.

Декларация выходного порта осуществляется с помощью выражения, формат которого выглядит следующим образом:

Например, в строке leds_port DSOUT $10 описывается выходной порт leds_port с адресом 16 (10 в шестнадцатеричном представлении).

Директива DSIO для определения входного-выходного порта имеет следующий формат:

Например, выражение bus_port DSIO $20 указывает на то, что в процессе моделирования будет отображаться состояние входного-выходного порта bus_port с адресом 32 (20 в шестнадцатеричном представлении).

Чтобы смоделировать выполнение фрагмента микропроцессорной программы, поясняющего использование директивы EQU, необходимо дополнить его директивами декларации портов ввода-вывода DSIN, DSOUT и DSIO. После включения соответствующих командных строк наш пример будет выглядеть следующим образом:

После трансляции данного фрагмента основное окно интегрированной среды pBlaze IDE приобретает вид, показанный на рис. 2. В правой части рабочего окна отладчика появляются панели, предназначенные для отображения данных входного порта ввода-вывода IN_DATA_PORT, выходного порта OUT_DATA_PORT и двунаправленного порта ввода-вывода BUS_PORT, которые были определены с помощью соответствующих директив DSIN, DSOUT и DSIO.

Рис. 2. Вид основного окна отладчика pBlaze IDE с результатами трансляции фрагмента, демонстрирующего использование директив DSIN, DSOUT и DSIO
Рис. 2. Вид основного окна отладчика pBlaze IDE с результатами трансляции фрагмента, демонстрирующего использование директив DSIN, DSOUT и DSIO

Директивы DSRAM и DSROM позволяют определить блоки памяти RAM16, которые используются в качестве ОЗУ (RAM) и ПЗУ (ROM) соответственно. Объем каждого блока памяти, определяемого с помощью данных директив, составляет шестнадцать ячеек. Значение начального (базового) адреса объявляемого блока памяти должно быть кратно 16. Содержимое ячеек блоков памяти, которые были указаны в директивах DSROM и DSRAM, в наглядной форме автоматически отображается в информационных панелях, расположенных в нижней части основного окна отладочных средств pBlaze IDE.

Для декларации блока оперативной памяти применяется следующий формат командной строки директивы DSRAM.

В составе идентификаторов блоков памяти ОЗУ и ПЗУ могут использоваться те же символы, что и в идентификаторах констант, переменных и портов ввода-вывода, которые указываются в директивах EQU. Значения адресов в директивах DSROM и DSRAM указываются в той же форме, что и в директивах ORG. Например, выражение slice1 DSRAM $30 определяет блок оперативной памяти slice1 с базовым адресом 48.

Формат командной строки директивы DSROM, используемой для определения блоков ПЗУ, выглядит следующим образом:

Данные, которые должны храниться в ячейках декларируемого блока памяти, указываются в виде последовательности шестнадцати значений, отделяемых друг от друга запятыми. Значения данных могут задаваться как в десятичной, так и в шестнадцатеричной форме. При использовании шестнадцатеричной формы представления перед числовым значением используется символ $. Например, строка coeff_tabl DSROM $10, 5, 12, 14, 6, 8, 20, 12, 24, 21, 23, 35, 47, 19, 31, 53, 55 определяет блок ПЗУ coeff_tabl с начальным адресом 16.

Продемонстрируем применение директив DSROM и DSRAM в процессе отладки программного обеспечения, модифицировав фрагмент программы, который иллюстрирует использование директив описания портов ввода-вывода DSIN, DSOUT и DSIO. Для этого дополним приведенный выше фрагмент командами записи данных в ОЗУ и соответствующими директивами определения блоков оперативной и постоянной памяти. Преобразованный фрагмент микропрограммы имеет следующий вид.

Директивы DSRAM и DSROM, включенные в исходный текст микропроцессорной программы, определяют соответственно блок оперативной памяти с базовым адресом 80 и блок постоянной памяти с начальным адресом 128. Рис. 3 наглядно показывает влияние этих директив на конфигурацию основного окна отладочных средств pBlaze IDE.

Рис. 3. Вид основного окна отладчика pBlaze IDE с результатами трансляции фрагмента, демонстрирующего использование директив DSROM и DSRAM
Рис. 3. Вид основного окна отладчика pBlaze IDE с результатами трансляции фрагмента, демонстрирующего использование директив DSROM и DSRAM

Группа директив интегрированной среды разработки и отладки программ pBlaze IDE используется для управления работой с файлами. В эту группу входят директивы включения исходных файлов, генерации выходных файлов различного формата и директива исполнения командного файла.

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

Директива VHDL предназначена для автоматического формирования файла описания содержимого программной памяти на языке VHDL после трансляции исходного текста микропроцессорной программы на языке ассемблера. VHDL-описание содержимого ППЗУ микропрограмм используется на этапах синтеза и моделирования проектируемой системы в САПР серии Xilinx ISE (Integrated Software Environment). Формат командной строки этой директивы имеет следующий вид.

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

Для автоматической генерации файла описания содержимого программной памяти в формате, воспринимаемом генератором ядер Xilinx CORE Generator, используется директива COE. Формат командной строки данной директивы выглядит следующим образом:

Разрядность слова может указываться только для микропроцессорных ядер PicoBlaze на основе ПЛИС семейств Spartan-II, Spartan-IIE, Virtex, Virtex-E [1–3]. Возможными значениями этого параметра являются 8 и 16.

Директива MEMпредписывает после успешного завершения трансляции исходного текста микропроцессорной программы на языке ассемблера сформировать файл описания содержимого памяти в формате, используемом утилитой Data2MEM/Data2BRAM. Командная строка директивы MEM имеет следующий формат:

При использовании директив, предназначенных для управления формированием выходных файлов (VHDL, COE и MEM), следует обратить внимание на то, что каждая из них может присутствовать в отлаживаемой программе только в одном экземпляре.

Директива EXEC позволяет выполнить командную строку операционной системы. Команда, указанная в этой директиве, исполняется после осуществления трансляции исходного текста микропроцессорной программы. Вместо одиночной команды в директиве EXEC может быть задано название командного файла, который может содержать любую последовательность команд. Для выполнения одиночной команды используется следующий формат директивы EXEC.

В командной строке может быть представлен идентификатор команды или исполняемого файла (с расширением exe или com), сопровождаемый необходимыми параметрами. Например, директива EXEC impact запускает модуль программирования iMPACT, входящий в состав пакета САПР серии Xilinx ISE, в интерактивном режиме.

Для исполнения командного (пакетного) файла формат директивы EXEC имеет следующий вид:

Например, выражение EXEC bat_file.cmd предписывает выполнить после трансляции ассемблерной программы последовательность команд, представленную в пакетном файле bat_file.cmd.

Сообщения об ошибках интегрированной среды pBlaze IDE

Процесс трансляции микропроцессорной программы в среде pBlaze IDE включает в себя несколько проходов. При первом проходе выполняется формирование таблицы перекодировки символьных обозначений. Результатом второго прохода является генерация исполняемого кода микропроцессорной программы. При третьем проходе создается объект моделирования. Информация об ошибках в транслируемой программе, выявленных при первом проходе, отображается только во встроенном окне журнала регистрации сообщений (Log Pane). В первой части сообщения указывается номер строки исходного текста микропроцессорной программы, в которой обнаружена ошибка. Во второй части отображается ее кодовое обозначение. При обнаружении ошибок в процессе второго прохода информация о них отображается не только в окне журнала регистрации сообщений, но и непосредственно в исходном тексте микропроцессорной программы, представленном в окне отладчика. Кодовое обозначение ошибки размещается в той части строки, где представлены адрес инструкции и ее шестнадцатеричное представление.

Наиболее распространенными ошибками при разработке программ на языке ассемблера микропроцессорного ядра PicoBlaze являются:

  • опечатки при написании команд микропроцессорного ядра или директив интегрированной среды pBlaze IDE;
  • отсутствие метки строки, на которую имеются ссылки в командах программы;
  • отсутствие двоеточия после текста метки;
  • повторное использование одной метки для нескольких строк;
  • неправильные названия регистров, указываемые в качестве параметров команд;
  • ошибки в указании параметров инструкций микропроцессорного ядра;
  • отсутствие обязательных параметров команд микропроцессорного ядра или директив интегрированной среды pBlaze IDE;
  • недопустимые значения числовых параметров инструкций микропроцессорного ядра и директив интегрированной среды pBlaze IDE;
  • использование инструкций, которые не поддерживаются применяемой версией микропроцессорного ядра.

Расшифровка кодовых обозначений некоторых ошибок, приведенная в справочной системе pBlaze IDE, не вполне соответствует реальным причинам появления соответствующих уведомлений. Поэтому далее приводится описание только тех сообщений об ошибках, практическая проверка которых дала положительные результаты.

При выявлении ошибки в тексте команды или директивы во встроенном окне журнала регистрации сообщений выводится строка следующего формата:

Данное сообщение отображается также в случае отсутствия или при ошибочной записи второго обязательного параметра инструкции. Кроме того, аналогичное сообщение появляется в тех случаях, когда обнаруживаются лишние параметры в инструкциях микропроцессорного ядра PicoBlaze или директивах интегрированной среды pBlaze IDE.

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

Аналогичное сообщение выводится также в случае наличия ошибки в названии регистра, указанного в качестве второго параметра инструкции.

При обнаружении в исходном тексте программы двух или более строк с одинаковой меткой выводится следующее предупреждение:

В том случае, когда после текста метки отсутствует двоеточие, уведомление об ошибке выглядит следующим образом:

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

При трансляции микропрограммы, содержащей инструкцию, которая не поддерживается установленной версией микропроцессорного ядра, генерируется следующее сообщение:

Обнаружение ошибки в идентификаторе регистра, который указан в качестве первого параметра команды, сопровождается сообщением вида:

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

Если в инструкции микропроцессорного ядра пропущена запятая, которая отделяет значения параметров команды друг от друга, то сообщение об ошибке выглядит следующим образом:

В этом случае дополнительно выводится также сообщение об ошибке в синтаксисе команды.

Когда директива EQU используется для повторного переименования названия регистра общего назначения, в окне журнала регистрации сообщений выводится следующая строка:

Если в директиве EQU указан идентификатор, который уже используется в качестве названия регистра общего назначения или имени константы (переменной), то генерируется следующее сообщение об ошибке:

При отсутствии в командной строке директивы EQU определяемого идентификатора выводится сообщение, которое имеет следующий вид:

При повторном использовании директив формирования выходных файлов VHDL, COE и MEM транслятор формирует следующее предупреждение:

Если в директиве определения блока ПЗУ DSROM указано значение стартового адреса, не кратное 16, то выводится предупреждение следующего вида:

В случае обнаружения директивы декларации блока ОЗУ DSRAM, содержащей значение базового адреса, не кратное 16, появляется следующее сообщение:

Если в директиве COE указано некорректное значение разрядности слова или данный параметр указан для версии микропроцессорного ядра семейства PicoBlaze, которая его не поддерживает, то сообщение об ошибке имеет следующий вид:

Когда в директиве описания порта ввода-вывода DSIN, DSOUT или DSIO задано значение адреса, которое уже используется другим портом, в процессе трансляции формируется следующее предупреждение:

При обнаружении в директиве описания порта ввода-вывода адреса, выходящего за пределы допустимых значений, выводится сообщение следующего вида:

Если в качестве параметра в директиве ORG указан идентификатор, который не является значением адреса, то выводится сообщение, которое выглядит следующим образом:

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

На этом завершается описание сообщений об ошибках, отслеживаемых в процессе трансляции исходного текста микропроцессорных программ отладочными средствами pBlaze IDE. В следующей публикации цикла будут рассмотрены вопросы практической работы с интегрированной средой pBlaze IDE.

Литература

  1. Зотов В. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы Xilinx. М.: Горячая линия — Телеком. 2006.
  2. Зотов В. PicoBlaze — семейство восьмиразрядных микропроцессорных ядер, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2003. № 4.
  3. Зотов В. Система команд микропроцессорного ядра PicoBlaze, реализуемого на основе ПЛИС семейств Spartan-II, Spartan-IIE, Virtex, Virtex-E // Компоненты и технологии. 2003. № 5.
  4. Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейства Virtex-II // Компоненты и технологии. 2003. № 6.
  5. Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейства CoolRunner-II // Компоненты и технологии. 2003. № 7.
  6. Зотов В. Особенности микропроцессорного ядра PicoBlaze, предназначенного для применения в проектах, реализуемых на основе ПЛИС семейств Spartan-3, Virtex-II и Virtex-IIPRO // Компоненты и технологии. 2005. № 5–6.
  7. Зотов В. Программирование конфигурационной памяти встраиваемой системы, реализуемой на основе микропроцессорного ядра семейства PicoBlaze в ПЛИС фирмы Xilinx // Компоненты и технологии. 2006. № 2.
  8. Зотов В. pBlaze IDE — интегрированная среда разработки и отладки программного обеспечения встраиваемых 8-разрядных микропроцессорных систем, реализуемых на основе ПЛИС фирмы Xilinx // Компоненты и технологии. 2006. № 3–4.
  9. Зотов В. Разработка программ на языке ассемблера для семейства микропроцессорных ядер PicoBlaze // Компоненты и технологии. 2003. № 8.

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

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