PicoBlaze

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 15. toukokuuta 2018 tarkistetusta versiosta . tarkastukset vaativat 3 muokkausta .

PicoBlaze on yleinen nimi Xilinxin FPGA : ille ( FPGA ja CPLD ) luomille  vapaasti jaetuille Soft-prosessoriytimille . PicoBlaze perustuu 8-bittiseen RISC-suoritinarkkitehtuuriin ; Virtex 4 - perheen FPGA : lla työskentelynopeus voi olla jopa 100 MIPS . Oheislaitteiden käyttöä varten prosessorissa on 8-bittinen väylä, jolla voidaan erikseen lukea ja kirjoittaa jopa 256 porttia.

PicoBlaze jaetaan lähdekoodina VHDL :ssä ja Verilogissa [1] vapaaseen käyttöön Xilinx-tuotteissa. Arkkitehtoniset ominaisuudet takaavat parhaan suorituskyvyn Spartan- ja Virtex FPGA:ille. Xilinx ehdottaa erityisohjelmiston käyttöä lähdekoodin kääntämiseen Assembly-kielellä. Lähdekielen syntaksia on tarkoituksella yksinkertaistettu yksinkertaisuuden ja nopeuden vuoksi. On myös kolmansien osapuolien ( Mediatronix ja muut) luomia erikoistyökaluohjelmistoja. Vaihtoehtoisesti on olemassa PacoBlaze  , muokattu PicoBlaze-ydin, jota jaetaan BSD-lisenssillä .

Aluksi PicoBlaze-projektin nimi oli KCPSM, mikä tarkoittaa "Constant (K) Coded Programmable State Machine" - ohjelmoitava äärellinen kone vakioohjelmalla. Projektin luoja on Ken Chapman, Xilinx-insinööri, joka kehitti ja toteutti PicoBlazen [2] (KCPSM-lyhenteen vaihtoehtoinen dekoodaus on "Ken Chapmanin PSM").

Kun PicoBlaze lisätään VHDL -projektiin, on käytettävä asianmukaista komponenttinimeä KCPSM [3] . Esimerkiksi PicoBlaze3:lle:

komponentti kcpsm3 on portti ( osoite : out std_logic_vector ( 9 alas 0 ) ; käsky : in std_logic_vector ( 17 alas 0 ) ; port_id : out std_logic_vector ( 7 alas 0 ) ; write_strobe : out std_logic _ outstd_logic ; outstd_logic ; outstd_logic ; read_strobe : out std_logic , in_port : in std_logic_vector ( 7 alas 0 ), keskeytys : in std_logic , interrupt_ack : out std_logic , reset : in std_logic , clk : in std_logic ); loppukomponentti ; _

Tärkeimmät ominaisuudet

PicoBlazen KCPSM3-ydin tukee:

  • pääsy 18-bittisiin mikrokäskyihin;
  • mikrokäskyn suorittaminen yhdessä syklissä, kahdessa jaksossa;
  • 10-bittinen PC-mikrokäskylaskuri;
  • unicast- ja kaksiosoitetavutoiminnot;
  • 16 sisäänrakennettua rekisteriä;
  • Aritmeettisten ja loogisten operaatioiden ALU , yhden bitin siirto;
  • kaksi toimintalippua: CARRY ja ZERRO;
  • 64 tavun sisäänrakennettu strachpad RAM 256 tavun tilassa;
  • pääsy 256 itsenäiseen porttiin lukemista ja kirjoittamista varten;
  • sisäänrakennettu puhelupino 31 solulle (CALL/RETURN-pino);
  • yksitasoinen keskeytys .

PicoBlazen KCPSM6-ydin tukee:

  • pääsy 18-bittisiin mikrokäskyihin;
  • mikrokäskyn suorittaminen yhdessä syklissä, kahdessa jaksossa (poikkeuksia on);
  • 12-bittinen PC-mikrokäskyohjelmalaskuri;
  • lisämahdollisuus haaroittaa ohjelma rekisterin sisällön mukaan;
  • ylimääräinen paluumahdollisuus aliohjelmista ja samanaikainen paluupisteen tunnistaminen;
  • yhden osoitteen ja kahden osoitteen tavutoiminnot, komentojärjestelmä laajennettu suhteessa KCPSM3:een;
  • kaksi ohjelmistolla vaihdettavaa sisäänrakennettujen rekisterien pankkia, kussakin 16 rekisteriä;
  • Aritmeettisten ja loogisten operaatioiden ALU , yhden bitin siirto;
  • kaksi toimintalippua: CARRY ja ZERRO;
  • sisäänrakennettu RAM - strachpad 256 tavun tilassa, jonka koko on konfiguroitava;
  • pääsy 256 itsenäiseen porttiin lukemista ja kirjoittamista varten;
  • lisätilaa 256 porttia erityistä jatkuvaa sisääntuloa varten;
  • sisäänrakennettu puhelupino 30 solulle (CALL/RETURN-pino);
  • yksitasoinen konfiguroitava keskeytys ;
  • pääsee käsiksi ohjelmiston laitteistotunnuksesta.

Lisäksi PicoBlaze-ydin:

  • suorittaa komentoja pääasiassa kahdessa jaksossa (KCPSM6:ssa jotkut komennot 4 jaksossa), kun taas kellotaajuus voi nousta useisiin satoihin MHz;
  • reagoi nopeasti keskeytyksiin (pahimmassa tapauksessa 5 jaksossa);
  • KCPSM-3-versiossa se on optimoitu Xilinx Spartan-3 -arkkitehtuurille: se vie vain 96 solua (slice) ja 1 RAM-lohkon;
  • optimoitu Xilinx Spartan-6-, Virtex®-6- ja 7-sarjan FPGA-arkkitehtuurille KCPSM-6:ssa: vie vain 26 solua;

PicoBlaze - ohjelmat on kirjoitettava konekielellä . KCPSM3:lle kirjoitetut ohjelmat vaativat uudelleenkäännöksen, kun ne on suoritettava KCPSM6:ssa, mutta tässäkään tapauksessa useiden yleisten komentojen kanssa ei ole täydellistä yhteensopivuutta. Virheenkorjausta varten on ohjelmistosimulaattori.

Helppokäyttöisyys

Erikoisohjelmistotyökalujen avulla PicoBlaze-ohjelma voidaan korvata suoraan FPGA-laiteohjelmistotiedostossa (bittitunnisteella). Käyttämällä erityisiä ohjelmistotyökaluja voit ladata PicoBlaze-ohjelman suoraan FPGA:lle JTAG -liitännän kautta .

Muistiinpanot

  1. PicoBlaze 8-bittinen mikro-ohjain . www.xilinx.com. Haettu 13. marraskuuta 2018. Arkistoitu alkuperäisestä 14. marraskuuta 2018.
  2. PicoBlaze 8-bittinen mikro-ohjain (linkki ei käytettävissä) . Xilinx, Inc. Haettu 25. kesäkuuta 2007. Arkistoitu alkuperäisestä 22. marraskuuta 2007. 
  3. PicoBlaze 8-bit Embedded Microcontroller User Guide (linkki ei saatavilla) . Xilinx, Inc. Haettu 25. kesäkuuta 2007. Arkistoitu alkuperäisestä 6. lokakuuta 2008. 

Linkit