Mikroblaze

MicroBlaze  er en blød processorkerne udviklet af Xilinx til brug i FPGA'er . MicroBlaze er implementeret ved hjælp af standardlogik og FPGA -hukommelsesblokke .

Arkitektonisk ligner MicroBlaze meget den RISC- baserede DLX-arkitektur beskrevet i bogen af ​​David Patterson og John L. Hennessy . Med nogle få undtagelser kan MicroBlaze udføre en instruktion pr. ur, og bibeholde denne ydeevne i stort set alle miljøer.

Beskrivelse

MicroBlaze har en alsidig perifer grænseflade, der gør det muligt at bruge det i en række indlejrede applikationer. For at få adgang til den interne hukommelse på FPGA'en ( BRAM ) bruger MicroBlaze en speciel LMB -bus , som reducerer belastningen på andre busser. Tilslutning af en coprocessor er mulig ved hjælp af en speciel forbindelse svarende til FIFO  - FSL (Fast Simplex Link). En coprocessor-grænseflade kan hjælpe med at fremskynde beregningsintensive algoritmer ved at overføre noget af beregningen til en udvikler-skabt (for eksempel skrevet i VHDL) hardwareblok.

Forskellige MicroBlaze-parametre er tilgængelige til konfiguration: cachestørrelse, pipelinelængde (3 eller 5-niveau), indlejret periferiudstyr, hukommelsesstyringsenhed , busgrænseflader og så videre (mere end 70 parametre i alt) kan specificeres separat. For at optimere mængden af ​​optaget FPGA -ressourcer kan du f.eks. bruge MicroBlaze med en 3-niveau pipeline, hvilket ofrer en høj clock-frekvens for at frigøre yderligere ressourcer; til hastighedsoptimering - MicroBlaze med en 5-niveau pipeline, som giver dig mulighed for at arbejde ved en clockfrekvens på op til 235 MHz (til FPGA af Virtex-5 FX familien). Derudover kan nøgleprocessorinstruktioner, der sjældent bruges, men er dyre at reproducere i hardware, selektivt tilføjes eller fjernes (dvs. blokke af multiplikation, division, flydende kommaoperationer og lignende). Dette sæt indstillinger giver udvikleren mulighed for mere klart at definere grænsen mellem hardware og software i projektet.

Uden en hukommelsesstyringsenhed kan MicroBlaze køre et operativsystem med forenklet beskyttelse og virtuel hukommelse, såsom μClinux eller FreeRTOS . MCU'en kan håndtere operativsystemer, der kræver hardwarehukommelsessøgning og beskyttelse (såsom Linux-kernen ), selvom MicroBlaze-ydeevnen er betydeligt langsommere end FPGA-indlejrede hardwaremikroprocessorkerner såsom PowerPC -405 i Virtex-4.

Udvikling af applikationer med MicroBlaze ved hjælp af Xilinx EDK

Xilinx EDK (Embedded Development Kit) er en softwarepakke til udvikling af indlejrede systemer baseret på MicroBlaze (og PowerPC) til Xilinx FPGA'er. Baseret på Eclipse IDE består EDK af to uafhængige udviklingsmiljøer - XPS og SDK.

Udvikleren bruger XPS (Xilinx Platform Studio) til at skabe og konfigurere den indlejrede systemhardwarespecifikation (processorkerne, hukommelsesstyring, I/O-grænseflader osv.). Ved at bruge det genererer XPS en syntetiseret beskrivelse på registeroverførselsniveauet ( RTL  - registeroverførselsniveau, i VHDL eller Verilog ), og opretter et sæt scripts til automatisk at oprette en bitbeskrivelse (fra RTL til en bitsream-fil). For MicroBlaze-kernen genererer EDK en krypteret beskrivelse (ikke læselig for mennesker), men VHDL-kilder kan købes fra Xilinx.

SDK'et bruges til at skabe softwaredelen af ​​systemet. Ligesom GNU-værktøjskæden giver SDK dig mulighed for at skrive, kompilere og fejlsøge C/C++-programmer. Der er en speciel simulator - ISS (Instruction Set Simulator), takket være hvilken du enten kan teste programmet i simuleringstilstand eller bruge et passende bord med en installeret FPGA på et rigtigt system.

XPS-brugere bliver ejere af en "livsvarig" licens til MicroBlaze, uden at det er nødvendigt at betale periodiske royalties.

Et alternativt compiler- og udviklingsværktøj til MicroBlaze er leveret af Altium , men det kræver også, at EDK er installeret og licenseret.

Links