System on a Chip Programmable Chip Lazányi János 2010 Tartalom A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban? Page 2 1
A hagyományos technológia Elmosódó határvonalak ASIC FPGA Utasítás kiterjesztés (Re)konfigurálható co-processzor FPGA kemény makró Szintetizálható és kemény processzor magok uc DSP Gyors DSP utasítások Processzor Perifériában gazdag DSP Page 4 2
SoC PSoC SoC (System-on-Chip) Egy chipes rendszer, amely analóg, digitális és MEMS (micro-electro-mechanical system) részeket tartalmaz (IBM) Egy chipes rendszer amely analóg és digitális egységeket tartalmaz. (Lucent) Egy chipbe integrált digitális rendszer (Synopsys) Page 6 3
Vortex x86 SoC 600MHz- 1 GHz 256 K L2 Cache Embedded BIOS 16 bit DDR2 controller PCI + ISA +LPC USB 2.0 + 5 x RS232 IDE + GPIO Page 7 PSOC (Cypess) Microcontroller 16 digitális blokk pl. PWM 12 analóg blokk Erősítők Kapcsolt-kapacitás Page 8 4
Minden út SoC irányba vezet Virtex 5 FPGA (Xilinx) 5 bemenetű LUT technológia 550 Mhz 1 Mbyte BRAM memória 4 GEthernet MAC PCI Express (x8) 1000+ I/O láb 16 csatorna Rocket IO TMS320C6474 DSP (TI) 3 db 16 bites fix pontos mag 1 Ghz 3 Mbyte L2 RAM GEthernet MAC PCI interfész 64ch DMA Rocket IO Page 9 SOPC 5
Az FPGA integráció fejlődése Embedded Software Tools Funkciók integráltsága CPU Embedded Software Tools FPGA I/O CPU Embedded Software Tools FPGA + Memory + IP + High Speed IO (4K & Virtex ) Logic Design Tools Logic + Memory + IP + Processors + RocketIO Logic Design Tools Memory Logic Design Tools Idő Page 11 Fejelsztés s lépéseil FPGA hardver tervezés Processzor: PowerPC, MicroBlaze Perifériák Eszközmeghajtók és szoftver könyvtárak generálása Alkalmazás fejlesztés Szoftver rutinok Megszakításkezelő rutinok Operációs rendszer, valós idejű operációs rendszer Page 12 6
Beágyazott rendszerek PowerPC alapú beágyazott rendszerek Blokk-RAM Arbite r OCM IPLB Dedikált hard IP PowerPC mag DPLB Processor Local Bus (PLB) DCR Bus bridg e IBM CoreConnect TM busz szabvány: PLB, OPB, DCR Flexibilis szoft IP On-chip peripheral bus (OPB) Arbite r Gyors periféria Memória vezérlő Gigabit Ethernet UART GPIO Lassú periféria Külső perifériák DDR SDRAM Gbit Eth. PHY LED Kapcsoló Page 13 Xilinx SoPC processzor típusok Szintetizálható Kemény mag Példa Alkalmazható FPGA-k Sebesség ~100 Mhz ~300 Mhz Page 14 7
Az építőkockák: Periféria IP-k Időzítő Ingyenes Általános célú I/O Egyszerű UART Memóriavezérlők -SDRAM, DDR - SRAM, Flash - SytemAce Kipróbálásra beépíthető Ethernet Gigabit Ethernet 16C550 UART PCI híd Fizetős (Xilinx, külső IP) Saját Page 15 A perifériák felépítése: PLB bus Saját IP létrehozása IPIF DMA PLB IPIF User function User peripheral User I/O Beépített funkciók: DMA Megszakítás Burst FIFO Master Cím tartomány dekóder Page 16 8
Logsys Spartan-3E 1 x Spartan 3 FPGA ($ 20) 250 ezer kapu 12 BRAM 12 szorzó SRAM FLASH LED etc. Page 17 BEE 3 32 Microblaze / FPGA 4x OpenSPARC T1 (w. Cache) 4 x Virtex-5 FPGA ($2000) 16 x DDR2 memória Nagysebességű összeköttetés 4 x PCI Express (x8) csatlakozó 4 x QSH-DP (LVDS) csatlakozó 8 x 10 GBit/s-es CX-4 Interfész 4x 1 GBit/s Ethernet Page 18 9
Spirothor Spartan 3 FPGA SDRAM NAND Flash NOR Flash 3 UART Áramlásmérő IF uc Linux Page 19 Na jó, de mi van benne? Page 20 10
A tervezés menete Utasítás kiterjesztés Co-processzor DCT mag DES kódoló Lebegőpontos ALU Page 22 11
Tervezési folyamat áttekintése SW design flow C Code Compiler/Linker Simulator Object Code HW design flow VHDL/Verilog Synthesizer Simulator Place & Route Data2Mem Configure FPGA Debugger Page 23 Fejlesztési-ellenőrzési lehetőségek HW design flow VHDL/Verilog Synthesizer HW Simulator Place & Route SW design flow C Code Compiler/Linker SW Simulator Object Code ChipScope Data2Mem Configure FPGA Debugger Post P&R Modell Simulator Page 24 12
HW/SW együttes fejlesztés-bemérés GDB forrás ablak ChipScope Pro mérés - SW töréspont - HW töréspont Egységes esemény kezelés! Page 25 13