Mikroblaze

MicroBlaze  je měkké procesorové jádro vyvinuté společností Xilinx pro použití v FPGA . MicroBlaze je implementován pomocí standardní logiky a paměťových bloků FPGA .

Architektonicky je MicroBlaze velmi podobný architektuře DLX založené na RISC popsané v knize Davida Pattersona a Johna L. Hennessyho . Až na několik výjimek může MicroBlaze provést jednu instrukci na takt, čímž si zachová tento výkon prakticky v jakémkoli prostředí.

Popis

MicroBlaze má všestranné periferní rozhraní, které umožňuje jeho použití v různých vestavěných aplikacích. Pro přístup k vnitřní paměti FPGA ( BRAM ) používá MicroBlaze speciální sběrnici LMB , která snižuje zatížení ostatních sběrnic. Připojení koprocesoru je možné pomocí speciálního připojení podobného FIFO  - FSL (Fast Simplex Link). Rozhraní koprocesoru může pomoci urychlit výpočetně náročné algoritmy tím, že část výpočtů přenese na hardwarový blok vytvořený vývojářem (například napsaný ve VHDL).

Pro konfiguraci jsou k dispozici různé parametry MicroBlaze: velikost mezipaměti, délka potrubí (3 nebo 5 úrovní), vestavěná periferní zařízení, jednotka správy paměti , rozhraní sběrnice atd. (celkem více než 70 parametrů) lze zadat samostatně. Chcete-li například optimalizovat množství zabraných zdrojů FPGA , můžete použít MicroBlaze s 3úrovňovým potrubím, které obětuje vysokou taktovací frekvenci kvůli uvolnění dalších zdrojů; pro optimalizaci rychlosti - MicroBlaze s 5-úrovňovým pipeline, který umožňuje pracovat na taktovací frekvenci až 235 MHz (pro FPGA rodiny Virtex-5 FX). Kromě toho lze selektivně přidávat nebo odebírat klíčové instrukce procesoru, které se používají zřídka, ale jejich reprodukce je nákladná na hardwaru (tj. bloky násobení, dělení, operace s pohyblivou řádovou čárkou a podobně). Tato sada nastavení dává vývojáři příležitost jasněji definovat hranici mezi hardwarem a softwarem v projektu.

Bez jednotky pro správu paměti může MicroBlaze provozovat operační systém se zjednodušenou ochranou a virtuální pamětí, jako je μClinux nebo FreeRTOS . MCU si poradí s operačními systémy vyžadujícími stránkování a ochranu hardwarové paměti (jako je linuxové jádro ), i když výkon MicroBlaze je výrazně pomalejší než hardwarová mikroprocesorová jádra s vestavěným FPGA, jako je PowerPC -405 ve Virtex-4.

Vývoj aplikací s MicroBlaze pomocí Xilinx EDK

Xilinx EDK (Embedded Development Kit) je softwarový balík pro vývoj vestavěných systémů založených na MicroBlaze (a PowerPC) pro Xilinx FPGA. EDK založené na Eclipse IDE se skládá ze dvou nezávislých vývojových prostředí – XPS a SDK.

Vývojář používá XPS (Xilinx Platform Studio) k vytvoření a konfiguraci hardwarové specifikace vestavěného systému (jádro procesoru, správa paměti, I/O rozhraní atd.). Pomocí něj XPS generuje syntetizovaný popis na úrovni přenosu registru ( RTL  - úroveň přenosu registru, ve VHDL nebo Verilog ) a vytváří sadu skriptů pro automatické vytváření popisu bitů (z RTL do souboru bitsream). Pro jádro MicroBlaze generuje EDK zašifrovaný popis (nečitelný člověkem), ale zdroje VHDL lze zakoupit od společnosti Xilinx.

SDK se používá k vytvoření softwarové části systému. Stejně jako GNU toolchain vám SDK umožňuje psát, kompilovat a ladit C/C++ programy. Existuje speciální simulátor - ISS (Instruction Set Simulator), díky kterému můžete program buď otestovat v simulačním režimu, nebo pomocí vhodné desky s osazeným FPGA na reálném systému.

Uživatelé XPS se stávají vlastníky „doživotní“ licence na MicroBlaze, aniž by museli vyplácet pravidelné licenční poplatky.

Alternativní kompilátor a vývojový nástroj pro MicroBlaze poskytl Altium , ale také vyžaduje instalaci a licenci EDK.

Odkazy