Mikrorendszer megvalósítása FPGA környezetben Diplomaterv Czakó Péter 2007.06.15.
Mikrorendszer megvalósítása FPGA környezetben Diplomaterv célja FPGA-ba ágyazott processzorok Az xr16-os ismertetése Az XSOC rendszer ismertetése Szoftvertámogatás Grafikus környezet
Diplomaterv célja FPGA-ba ágyazott processzor Oktatási mintarendszer High-end eszközökhöz bevezetés Szoftvertámogatás készítése
FPGA-ba ágyazott processzorok Flexibilitás Komponensek száma Sebesség HW/SW szétválasztás Vezetékezés kapacitásai Tervezési idő
FPGA-ba ágyazott processzorok Kemény magos Dedikált szilícium felület Gyorsabb működés Kisebb fogyasztás Lágy magos Logikai erőforrások Konfigurálható tulajdonságok Opcionális beépíthetőség
Az xr16-os ismertetése Jan Gray (2000) Lágy magos kialakítás 16 bites adatok és utasítások Neumann-struktúra 16 belső regiszter Három lépcsős pipeline
Elvégzett módosítások: Az xr16-os ismertetése Elvégzett módosítások: Szorzó egység Barrel shifter Rendszerbusz vezérlése Megszakítás rendszer
Az xr16-os ismertetése Belső felépítése:
Az eredeti adatfeldolgozó egység Az xr16-os ismertetése Az eredeti adatfeldolgozó egység
Adatfeldolgozó egység a beépített módosításokkal Az xr16-os ismertetése Adatfeldolgozó egység a beépített módosításokkal
Az XSOC rendszer ismertetése Központi egysége: xr16 + memória vezérlő Külső SRAM programmemória Néhány egyszerű periféria VGA vezérlő
Az XSOC rendszer ismertetése Elvégzett módosítások Az xr16 függetlenítése 3-állapotú buszok szétválasztása Programmemória: külső SRAM belső BRAM Buszciklusok aktualizálása Új periféria egységek (Timer, UART, Töréspont logika, ITC, … )
Az XSOC rendszer ismertetése Az új SOC rendszer: Busz: clk, rst addr [15:0], data [15:0] word, rnw nwait dma_req, dma_ack, irq [7:0], irq_served [7:0]
Szoftvertámogatás Assembler és Linker (xr16.exe) C fordító (lcc-xr16.exe) Módosítások: Új utasítások felvétele (MUL, SLL, SRL, SRA) Barrel shift kihasználása Farbranch utasítások
Szoftvertámogatás Egyéb szoftver eszközök: C futtató környezetek (CRT0..3) Debugger monitor UART kezelő függvények Periféria deklarációk (xsoc.h) BRAM tartalom előállítása (hex2brams.exe)
Grafikus környezet Funkciói: Program írása (C, ASM) Fordítás, letöltés Lépésenkénti vizsgálat, töréspont Perifériák állítása Regisztertartalom Memóriatartomány
Grafikus környezet
Grafikus környezet LST fájl ablak Függvénynév Következő utasítás Töréspont C forrás megjegyzésként Következő utasítás Függvénynév LST fájl ablak
Perifériák belső regiszterei Felhasználói perifériák beállításai Grafikus környezet Perifériák belső regiszterei Felhasználói perifériák beállításai Perifériacímek
Mikrorendszer megvalósítása FPGA környezetben Köszönöm a figyelmet! Kérdések ?