PicoBlaze est la désignation d'une série de trois processeurs softcore faits par Xilinx pour être utilisés sur leurs FPGA et CPLD (voir : circuit logique programmable). Ils sont basés sur une architecture RISC de 8 bits et peuvent atteindre une vitesse de 100 millions d'instructions par seconde sur la famille de FPGA Virtex 4. La licence des cœurs en permet une utilisation libre, mais seulement sur les appareils Xilinx. Des outils de développement sont fournis par le constructeur, mais des outils tiers sont disponibles, notamment chez Mediatronix. Il existe aussi une implémentation libre, indépendante du composant, disponible sous licence BSD sous le nom de PacoBlaze.
La conception du PicoBlaze s'appelait à l'origine KCPSM (pour Constant(K) Coded Programmable State Machine, auparavant Ken Champan's PSM). Ken Chapman était le concepteur système de Xilinx qui avait inventé et conçu le microcontrôleur[1].
Quand on instancie un microcontrôleur PicoBlaze en VHDL, le nom du composant KCPSM respectif doit être utilisé[2]. par exemple, pour un processeur 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;
Et voici le schéma correspondant :