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
- ↑ PicoBlaze 8-bittinen mikro-ohjain . www.xilinx.com. Haettu 13. marraskuuta 2018. Arkistoitu alkuperäisestä 14. marraskuuta 2018. (määrätön)
- ↑ PicoBlaze 8-bittinen mikro-ohjain (linkki ei käytettävissä) . Xilinx, Inc. Haettu 25. kesäkuuta 2007. Arkistoitu alkuperäisestä 22. marraskuuta 2007. (määrätön)
- ↑ PicoBlaze 8-bit Embedded Microcontroller User Guide (linkki ei saatavilla) . Xilinx, Inc. Haettu 25. kesäkuuta 2007. Arkistoitu alkuperäisestä 6. lokakuuta 2008. (määrätön)
Linkit