title: Picoblaze
text: PicoBlaze is een 8-bit microprocessor die speciaal ontworpen en geoptimaliseerd is voor het gebruik in de FPGA's (Field-programmable gate array) van Xilinx.
  
  Overzicht
  
  De PicoBlaze bestaat uit twee delen. Het eerste deel, de KCPSM3 (staat voor Ken Chapman Programmable State Machine versie 3, dit is de persoon die de microcontroller ontworpen heeft), is de processor zelf. Deze voert de verschillende instructies uit. Het tweede deel is een ROM, deze bevat de verschillende instructies die de processor kan opvragen om uit te voeren. De ROM wordt geschreven in assembler code waarna deze wordt omgezet naar een VHDL bestand zodat de PicoBlaze gebruikt kan worden in groter systeem.
  
  Werking
  Zowel de processor als de ROM worden verbonden met een klok. Per 2 klokcycli voert de PicoBlaze 1 instructie uit. Indien de klok 50MHz bedraagt, kan de PicoBlaze dus 25.000.000 instructies per seconde uitvoeren.
  
  Dankzij de ingang in_port kan de PicoBlaze een reeks van 8-bit ontvangen. Welke 8-bit ontvangen worden, wordt bepaald door de uitgang port_id. Port_id heeft eveneens een lengte van 8-bit. Dit wil dus zeggen dat de PicoBlaze 256(=2^8) poorten heeft om 8-bit reeksen te ontvangen. Wanneer de uitgang read_strobe een puls geeft, wordt de data die aan de ingang in_port staat effectief opgeslagen in de PicoBlaze.
  
  Hetzelfde geldt bij de uitgang out_port. De PicoBlaze kan dus 256 keer een 8-bit getal uitsturen. Wanneer de uitgang write_strobe een puls geeft, staat er nieuwe data op de uitgang out_port.
  
  De ingang interrupt onderbreekt de normale gang van uitvoeren van de PicoBlaze en start een bepaalde routine die beschreven staat in de ROM. Wanneer de ingang interrupt een puls detecteert, maakt de PicoBlaze zijn huidige instructie af. Daarna zal de PicoBlaze een puls sturen aan de uitgang interrupt_ack en begint de PicoBlaze de code uit te voeren die staat beschreven in de ROM.
  
  Wanneer de PicoBlaze een puls detecteert aan de ingang reset, zal de PicoBlaze volledig herstarten.
  
  Compatibiliteit
  De PicoBlaze is enkel bruikbaar op volgende FPGA's van Xilinx
  Kintex-7
  Artix-7
  Virtex-7
  Virtex-6
  Virtex-5
  Virtex-4
  Virtex-II Pro
  Zynq-7000
  Virtex-II
  Spartan-6
  Spartan-3A
  Spartan-3AN
  Spartan-3
  
  Referenties
   PicoBlaze 8-bit Embedded Microcontroller User Guide. Xilinx, Inc. URL bezocht op 31 Juli 2013
  Pong P. Chu (2008). FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version. Wiley & Sons. ISBN 978-0-470-18531-5.
  
  Externe links 
  PicoBlaze op de Xilinx website
  
  Computerprocessor