PicoBlaze

Поделись знанием:
Перейти к: навигация, поиск

PicoBlaze — общее название серии свободно распространяемых Soft-процессорных ядер, созданных фирмой Xilinx для своих ПЛИС (FPGA и CPLD). В основе PicoBlaze лежит архитектура 8-битного RISC-процессора; скорость работы на ПЛИС семейства Virtex 4 может достигать 100 MIPS. Для обращений к периферии процессор имеет 8-битную шину, используя которую можно раздельно читать и записывать до 256 портов.

PicoBlaze распространяется в виде исходного кода на языке VHDL для свободного использования на продуктах фирмы Xilinx. Особенности архитектуры гарантируют наилучшие характеристики для ПЛИС семейства Spartan и Virtex. Фирмой Xilinx предлагается к использованию специальное программное обеспечения для трансляции исходного кода на языке Ассемблера. Синтаксис исходного языка нарочито упрощен в угоду простоты и скорости. Также имеется специальное инструментальное программное обеспечение, созданное сторонними организациями (Mediatronix и др.). Альтернативно существует PacoBlaze — модифицированное ядро PicoBlaze, распространяемое под лицензией BSD.

Изначально проект «PicoBlaze» носил имя KCPSM, что означает «Constant(K) Coded Programmable State Machine» — программируемый конечный автомат с постоянной программой. Создатель проекта — Кен Чапман (Ken Chapman) — инженер Xilinx, разработавший и реализовавший PicoBlaze[1] (альтернативная расшифровка аббревиатуры KCPSM — «Ken Chapman’s PSM»).

При вставке PicoBlaze в проект на VHDL должно быть использовано соответствующее имя компонента KCPSM[2]. Например, для PicoBlaze3:

component kcpsm3 is
  port (
    address       : out std_logic_vector(9 downto 0);
    instruction   : in std_logic_vector(17 downto 0);
    port_id       : out std_logic_vector(7 downto 0);
    write_strobe  : out std_logic;
    out_port      : out std_logic_vector(7 downto 0);
    read_strobe   : out std_logic;
    in_port       : in std_logic_vector(7 downto 0);
    interrupt     : in std_logic;
    interrupt_ack : out std_logic;
    reset         : in std_logic;
    clk           : in std_logic
    );
end component;




Основные характеристики

Ядро KCPSM3 для PicoBlaze поддерживает:

  • обращение к 18-битным микрокомандам;
  • выполнение микрокоманды за один цикл, два такта;
  • 10 битный программный счетчик микрокоманд PC;
  • одноадресные и двухадресные байтовые операции;
  • 16 встроенных регистров;
  • АЛУ арифметических и логических операций, однобитовый сдвиг;
  • два флага операций: CARRY и ZERRO;
  • встроенное ОЗУ strachpad на 64 байта в пространстве 256 байт;
  • обращение к 256-ти независимым портам на чтение и запись;
  • встроенный стек вызовов на 31 ячейку (CALL/RETURN stack);
  • одноуровневое прерывание.

Ядро KCPSM6 для PicoBlaze поддерживает:

  • обращение к 18-битным микрокомандам;
  • выполнение микрокоманды за один цикл, два такта (имеются исключения);
  • 12 битный программный счетчик микрокоманд PC;
  • дополнительная возможность ветвления программы по содержимому регистра;
  • дополнительная возможность возврата из подпрограмм и одновременная идентификация точки возврата;
  • одноадресные и двухадресные байтовые операции, расширенная по отношению к KCPSM3 система команд;
  • два, программно переключаемых, банка встроенных регистров по 16 регистров каждый;
  • АЛУ арифметических и логических операций, однобитовый сдвиг;
  • два флага операций: CARRY и ZERRO;
  • встроенное ОЗУ strachpad в пространстве 256 байт конфигурируемого размера;
  • обращение к 256-ти независимым портам на чтение и запись;
  • дополнительное пространство 256 потов для специальной константной записи;
  • встроенный стек вызовов на 30 ячеек (CALL/RETURN stack);
  • одноуровневое настраиваемое прерывание;
  • доступный из программы ID аппаратуры.

Кроме того, ядро PicoBlaze:

  • выполняет команды преимущественно за два такта (в KCPSM6 некоторые команды за 4 такта), при этом тактовая частота может доходить до нескольких сотен МГц;
  • быстро реагирует на прерывания (в худшем случае — за 5 тактов);
  • в версии KCPSM-3 оптимизировано для архитектуры Xilinx Spartan-3: занимает всего 96 ячеек (slices) и 1 блок RAM;
  • в версии KCPSM-6 оптимизировано для архитектуры Xilinx Spartan-6, Virtex®-6, и FPGA седьмой серии: занимает всего 26 ячеек;

Программы для PicoBlaze необходимо писать на ассемблере. Программы, написанные для KCPSM3, требуют перетрансляции, когда необходимо их исполнение на KCPSM6, но и в этом случае по ряду общих команд нет полной совместимости. Для отладки имеется программный симулятор.

Специальные возможности

С помощью специальных программных средств программа для PicoBlaze может быть заменена непосредственно в файле прошивки ПЛИС (с расширением bit). С помощью специальных программных средств можно загружать программу для PicoBlaze непосредственно в ПЛИС через интерфейс JTAG.

Напишите отзыв о статье "PicoBlaze"

Примечания

  1. [www.xilinx.com/support/documentation/application_notes/xapp213.pdf PicoBlaze 8-bit Microcontroller](недоступная ссылка — история). Xilinx, Inc.. Проверено 25 июня 2007. [web.archive.org/20071122000437/www.xilinx.com/support/documentation/application_notes/xapp213.pdf Архивировано из первоисточника 22 ноября 2007].
  2. [www.xilinx.com/support/documentation/ip_documentation/ug129.pdf PicoBlaze 8-bit Embedded Microcontroller User Guide](недоступная ссылка — история). Xilinx, Inc.. Проверено 25 июня 2007. [web.archive.org/20081006071321/www.xilinx.com/support/documentation/ip_documentation/ug129.pdf Архивировано из первоисточника 6 октября 2008].

Ссылки

  • [www.xilinx.com/picoblaze PicoBlaze на сайте Xilinx]
  • [www.xilinx.com/bvdocs/ipcenter/data_sheet/picoblaze_productbrief.pdf PicoBlaze — краткое описание]
  • [www.xilinx.com/bvdocs/userguides/ug129.pdf PicoBlaze — руководство пользователя]
  • [www.xilinx.com/xlnx/xweb/xil_tx_display.jsp?sTechX_ID=kc_emb_micro TechXclusives: Creating Embedded Microcontrollers (Programmable State Machines)] [bleyer.org/pacoblaze/picoblaze.pdf PDF]
  • [www.xilinx.com/ipcenter/processor_central/picoblaze/picoblaze_user_resources.htm PicoBlaze user resources]
  • [www.moravia-microsystems.com/multitarget-development-system/ Professional IDE for Linux and Windows]
  • [www.mediatronix.com/tools/index.htm бесплатные инструменты для работы с FPGA от Mediatronix]
  • [code.google.com/p/pblazasm Open source Picoblaze assembler]
  • [web.archive.org/web/20060703094449/www.xs4all.nl/~marksix Free Linux IDE]
  • [bleyer.org/pacoblaze PacoBlaze: a synthesizable and behavioral Verilog clone of PicoBlaze]
  • [pwo.fpga.be/coursematerial.html Implementation of picoblaze in LabVIEW FPGA on the Xilinx Spartan 3E Starter board]

Отрывок, характеризующий PicoBlaze


Богучарово было всегда, до поселения в нем князя Андрея, заглазное именье, и мужики богучаровские имели совсем другой характер от лысогорских. Они отличались от них и говором, и одеждой, и нравами. Они назывались степными. Старый князь хвалил их за их сносливость в работе, когда они приезжали подсоблять уборке в Лысых Горах или копать пруды и канавы, но не любил их за их дикость.
Последнее пребывание в Богучарове князя Андрея, с его нововведениями – больницами, школами и облегчением оброка, – не смягчило их нравов, а, напротив, усилило в них те черты характера, которые старый князь называл дикостью. Между ними всегда ходили какие нибудь неясные толки, то о перечислении их всех в казаки, то о новой вере, в которую их обратят, то о царских листах каких то, то о присяге Павлу Петровичу в 1797 году (про которую говорили, что тогда еще воля выходила, да господа отняли), то об имеющем через семь лет воцариться Петре Феодоровиче, при котором все будет вольно и так будет просто, что ничего не будет. Слухи о войне в Бонапарте и его нашествии соединились для них с такими же неясными представлениями об антихристе, конце света и чистой воле.
В окрестности Богучарова были всё большие села, казенные и оброчные помещичьи. Живущих в этой местности помещиков было очень мало; очень мало было также дворовых и грамотных, и в жизни крестьян этой местности были заметнее и сильнее, чем в других, те таинственные струи народной русской жизни, причины и значение которых бывают необъяснимы для современников. Одно из таких явлений было проявившееся лет двадцать тому назад движение между крестьянами этой местности к переселению на какие то теплые реки. Сотни крестьян, в том числе и богучаровские, стали вдруг распродавать свой скот и уезжать с семействами куда то на юго восток. Как птицы летят куда то за моря, стремились эти люди с женами и детьми туда, на юго восток, где никто из них не был. Они поднимались караванами, поодиночке выкупались, бежали, и ехали, и шли туда, на теплые реки. Многие были наказаны, сосланы в Сибирь, многие с холода и голода умерли по дороге, многие вернулись сами, и движение затихло само собой так же, как оно и началось без очевидной причины. Но подводные струи не переставали течь в этом народе и собирались для какой то новой силы, имеющей проявиться так же странно, неожиданно и вместе с тем просто, естественно и сильно. Теперь, в 1812 м году, для человека, близко жившего с народом, заметно было, что эти подводные струи производили сильную работу и были близки к проявлению.
Алпатыч, приехав в Богучарово несколько времени перед кончиной старого князя, заметил, что между народом происходило волнение и что, противно тому, что происходило в полосе Лысых Гор на шестидесятиверстном радиусе, где все крестьяне уходили (предоставляя казакам разорять свои деревни), в полосе степной, в богучаровской, крестьяне, как слышно было, имели сношения с французами, получали какие то бумаги, ходившие между ними, и оставались на местах. Он знал через преданных ему дворовых людей, что ездивший на днях с казенной подводой мужик Карп, имевший большое влияние на мир, возвратился с известием, что казаки разоряют деревни, из которых выходят жители, но что французы их не трогают. Он знал, что другой мужик вчера привез даже из села Вислоухова – где стояли французы – бумагу от генерала французского, в которой жителям объявлялось, что им не будет сделано никакого вреда и за все, что у них возьмут, заплатят, если они останутся. В доказательство того мужик привез из Вислоухова сто рублей ассигнациями (он не знал, что они были фальшивые), выданные ему вперед за сено.
Наконец, важнее всего, Алпатыч знал, что в тот самый день, как он приказал старосте собрать подводы для вывоза обоза княжны из Богучарова, поутру была на деревне сходка, на которой положено было не вывозиться и ждать. А между тем время не терпело. Предводитель, в день смерти князя, 15 го августа, настаивал у княжны Марьи на том, чтобы она уехала в тот же день, так как становилось опасно. Он говорил, что после 16 го он не отвечает ни за что. В день же смерти князя он уехал вечером, но обещал приехать на похороны на другой день. Но на другой день он не мог приехать, так как, по полученным им самим известиям, французы неожиданно подвинулись, и он только успел увезти из своего имения свое семейство и все ценное.
Лет тридцать Богучаровым управлял староста Дрон, которого старый князь звал Дронушкой.
Дрон был один из тех крепких физически и нравственно мужиков, которые, как только войдут в года, обрастут бородой, так, не изменяясь, живут до шестидесяти – семидесяти лет, без одного седого волоса или недостатка зуба, такие же прямые и сильные в шестьдесят лет, как и в тридцать.
Дрон, вскоре после переселения на теплые реки, в котором он участвовал, как и другие, был сделан старостой бурмистром в Богучарове и с тех пор двадцать три года безупречно пробыл в этой должности. Мужики боялись его больше, чем барина. Господа, и старый князь, и молодой, и управляющий, уважали его и в шутку называли министром. Во все время своей службы Дрон нн разу не был ни пьян, ни болен; никогда, ни после бессонных ночей, ни после каких бы то ни было трудов, не выказывал ни малейшей усталости и, не зная грамоте, никогда не забывал ни одного счета денег и пудов муки по огромным обозам, которые он продавал, и ни одной копны ужи на хлеба на каждой десятине богучаровских полей.