PicoBlaze

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 15. maj 2018; checks kræver 3 redigeringer .

PicoBlaze  er det fælles navn for en serie af frit distribuerede bløde processorkerner skabt af Xilinx til sine FPGA'er ( FPGA og CPLD ). PicoBlaze er baseret på en 8-bit RISC-processorarkitektur ; arbejdshastigheden på FPGA'en i Virtex 4- familien kan nå 100 MIPS . For at få adgang til ydre enheder har processoren en 8-bit bus, hvor du kan læse og skrive op til 256 porte separat.

PicoBlaze distribueres som kildekode i VHDL og Verilog [1] til gratis brug på Xilinx-produkter. Arkitektoniske funktioner garanterer den bedste ydeevne for Spartan og Virtex FPGA'er. Xilinx foreslår at bruge speciel software til at oversætte kildekode til Assembly-sprog. Kildesprogets syntaks er bevidst forenklet for enkelhedens og hastighedens skyld. Der er også specialværktøjssoftware skabt af tredjeparter (Mediatronix og andre) . Alternativt er der PacoBlaze  , en modificeret PicoBlaze-kerne distribueret under BSD-licensen .

Oprindeligt hed PicoBlaze-projektet KCPSM, hvilket betyder "Constant (K) Coded Programmable State Machine" - en programmerbar finite state-maskine med et konstant program. Skaberen af ​​projektet er Ken Chapman, en Xilinx-ingeniør, der udviklede og implementerede PicoBlaze [2] (en alternativ afkodning af KCPSM-forkortelsen er "Ken Chapman's PSM").

Når PicoBlaze indsættes i et VHDL -projekt, skal det passende komponentnavn KCPSM [3] bruges . For eksempel for PicoBlaze3:

komponenten kcpsm3 er port ( adresse : ud std_logic_vector ( 9 ned til 0 ); instruktion : in std_logic_vector ( 17 ned til 0 ) ; port_id : ud std_logic_vector ( 7 ned til 0 ); write_strobe : ud std_logic ud ; std_logic : ned std_logic ud ; std_logic : read_strobe : out std_logic ; in_port : in std_logic_vector ( 7 ned til 0 ); interrupt : in std_logic ; interrupt_ack : out std_logic ; reset : in std_logic ; clk : in std_logic ); endekomponent ; _

Nøglefunktioner

KCPSM3-kernen til PicoBlaze understøtter:

  • adgang til 18-bit mikroinstruktioner;
  • udførelse af en mikroinstruktion i en cyklus, to cyklusser;
  • 10 bit PC mikroinstruktionstæller;
  • unicast og dobbelt adresse byte operationer;
  • 16 indbyggede registre;
  • ALU for aritmetiske og logiske operationer, en-bit skift;
  • to operationsflag: CARRY og ZERRO;
  • 64 bytes indbygget strachpad RAM i 256 bytes plads;
  • adgang til 256 uafhængige porte til læsning og skrivning;
  • indbygget opkaldsstak til 31 celler (CALL/RETURN-stak);
  • enkelt niveau afbrydelse .

KCPSM6-kernen til PicoBlaze understøtter:

  • adgang til 18-bit mikroinstruktioner;
  • udførelse af en mikroinstruktion i en cyklus, to cyklusser (der er undtagelser);
  • 12 bit pc-mikroinstruktionsprogramtæller;
  • yderligere mulighed for at forgrene programmet i henhold til indholdet af registret;
  • yderligere mulighed for retur fra subrutiner og samtidig identifikation af returpunktet;
  • en-adresse og to-adresse byte operationer, kommandosystem udvidet i forhold til KCPSM3;
  • to software-omskiftelige banker af indbyggede registre, hver 16 registre;
  • ALU for aritmetiske og logiske operationer, en-bit skift;
  • to operationsflag: CARRY og ZERRO;
  • indbygget RAM - strachpad i et rum på 256 bytes af konfigurerbar størrelse;
  • adgang til 256 uafhængige porte til læsning og skrivning;
  • ekstra plads 256 porte for en speciel konstant indgang;
  • indbygget opkaldsstak til 30 celler (CALL/RETURN-stak);
  • enkelt niveau konfigurerbar interrupt ;
  • tilgængelig fra softwarens hardware-id.

Derudover er PicoBlaze-kernen:

  • udfører kommandoer hovedsageligt i to cyklusser (i KCPSM6 nogle kommandoer i 4 cyklusser), mens clockfrekvensen kan nå flere hundrede MHz;
  • reagerer hurtigt på afbrydelser (i værste tilfælde i 5 cyklusser);
  • i KCPSM-3-versionen er den optimeret til Xilinx Spartan-3-arkitekturen: den tager kun 96 celler (skiver) og 1 RAM-blok;
  • optimeret til Xilinx Spartan-6, Virtex®-6 og 7-seriens FPGA-arkitektur i KCPSM-6: optager kun 26 celler;

PicoBlaze-programmer skal være skrevet i assemblersprog . Programmer skrevet til KCPSM3 kræver genoversættelse, når de skal udføres på KCPSM6, men selv i dette tilfælde er der ingen fuldstændig kompatibilitet for en række almindelige kommandoer. Der er en softwaresimulator til fejlfinding.

Tilgængelighed

Ved hjælp af specielle softwareværktøjer kan programmet til PicoBlaze udskiftes direkte i FPGA-firmwarefilen (med bit-udvidelsen). Ved hjælp af specielle softwareværktøjer kan du downloade PicoBlaze-programmet direkte til FPGA'en via JTAG -grænsefladen .

Noter

  1. PicoBlaze 8-bit mikrocontroller . www.xilinx.com. Hentet 13. november 2018. Arkiveret fra originalen 14. november 2018.
  2. PicoBlaze 8-bit mikrocontroller (utilgængeligt link) . Xilinx, Inc. Hentet 25. juni 2007. Arkiveret fra originalen 22. november 2007. 
  3. PicoBlaze 8-bit Embedded Microcontroller Brugervejledning (link ikke tilgængeligt) . Xilinx, Inc. Hentet 25. juni 2007. Arkiveret fra originalen 6. oktober 2008. 

Links