- Hva er FPGA og hvordan det er forskjellig fra Microcontroller
- FPGA Arkitektur
- Når det er behov for FPGA-er
Med økende popularitet til mikrokontrollere bruker ingeniører mikrokontrollere mer enn FPGAer. De Mikrokontrollere har blitt dominerende i løpet av FPGA grunn av deres billig pris, god støtte, lett tilgjengelighet, stort fellesskap, allsidighet, programmering etc. Men annet enn at mikroprosessorer har noen begrensninger som instruksene, sekvensiell kjøring av programmer (sekvensiell behandling), mangel på fleksibilitet og gjenbrukbarhet osv. Imidlertid kan FPGA overvinne disse begrensningene ettersom FPGAer har parallell kjøring av programmer, og det er fleksibelt og gjenbrukbart, slik at det kan programmeres om og om igjen for forskjellige oppgaver.
Hva er FPGA og hvordan det er forskjellig fra Microcontroller
En feltprogrammerbar gate matrise er en integrert krets silisiumbrikke som har en rekke logiske porter, og denne matrisen kan programmeres i feltet, dvs. at brukeren kan overskrive eksisterende konfigurasjoner med sine nye definerte konfigurasjoner og kan lage sin egen digitale krets på felt. FPGA-ene kan betraktes som blanke skifer. FPGAer gjør ingenting av seg selv, mens det er opp til designere å lage en konfigurasjonsfil som ofte kalles en bitfil for FPGA. FPGA vil oppføre seg som den digitale kretsen når den er lastet med en bitfil.
Mens det i mikrokontrollere ikke er tilfelle, da mikrokontrollere ikke kan programmeres eller omstruktureres i felt. Brukeren har verken lov til å overskrive sine eksisterende konfigurasjoner, og de kan heller ikke opprette noen digital krets på felt. Mikrokontrollerne er enkle å programmere, og samfunnet er også bredt. Mikrokontrollerne er spesialbygde mini-datamaskiner som kommer i IC-form mens FPGA-er bare inneholder logiske blokker som igjen kan kobles til elektrisk. Også når det gjelder mikrokontrollere, bruker den mindre strøm enn FPGA-er. FPGA-ene er kjent for å være kostbare, og det krever mer kostnad enn mikrokontroller når det gjelder å bygge en hvilken som helst enhet. FPGA tar mye mer tid å sette opp mens mikrokontrollere er lett tilgjengelig for spesifikke applikasjoner.
FPGA Arkitektur
En FPGA har en vanlig struktur av logiske celler eller moduler og interlinker som er under utviklerne og designerne fullstendig kontroll. FPGA er bygget med hovedsakelig tre store blokker som Configurable Logic Block (CLB), I / O-blokker eller pads og Switch Matrix / Interconnection Wires. Hver blokk vil bli diskutert nedenfor i korte trekk.
- CLB (Configurable Logic Block): Dette er de grunnleggende cellene til FPGA. Den består av en 8-biters funksjonsgenerator, to 16-biters funksjonsgeneratorer, to registre (flip-flops eller låser) og omprogrammerbare rutingkontroller (multiplexere). CLB-ene brukes til å implementere andre designede funksjoner og makroer. Hver CLB har innganger på hver side, noe som gjør dem fleksible for kartlegging og partisjonering av logikk.
- I / O-pads eller blokker: Inngangs- / utgangsputene brukes til eksterne enheter for å få tilgang til funksjonene til FPGA, og ved hjelp av I / O-pads kan de også kommunisere med FPGA for forskjellige applikasjoner som bruker forskjellige eksterne enheter.
- Switch Matrix / Interconnection Wires: Switch Matrix brukes i FPGA for å koble de lange og korte sammenkoblingskablene sammen i fleksibel kombinasjon. Den inneholder også transistorer for å slå på / av forbindelser mellom forskjellige linjer.
Når det er behov for FPGA-er
Som nevnt ovenfor, har mikrokontrollere noen begrensninger og kan ikke brukes til å utføre oppgaven parallelt, da mikrokontroller og mikroprosessorer kjører på sekvensiell kjøring av programmer, noe som gjør det litt tregt i noen applikasjoner. I dette scenariet har FPGAene en fordel og kan brukes effektivt. Også mikrokontroller kan utføre begrensede oppgaver fordi de kommer med instruksjoner og kretsene deres. En programmerer må overholde begrensningene mens de utvikler kode. Så i dette scenariet har også FPGAer fordel.
Imidlertid, når det gjelder mikrokontrollere, bytter prosessoren fra en kode til en annen for å oppnå noe nivå av parallellitet. Du vil finne det lettere å skrive koder på mikrokontrollere enn FPGAer. Den parallelle prosesseringsfunksjonen til FPGAer gjør det mulig å kontrollere avbrudd effektivt ved å bruke Finite State Machines (FSM).
Når det gjelder mikrokontrollere, må du ta hensyn til tiden det tar av ISR å løse et avbrudd. Du kan koble til en FPGA enkelt bare ved å omprogrammere den. Konfigurasjonen i en FPGA lastes på de konfigurerbare logiske cellene når strømmen slås på.
Du trenger ikke å gjøre noen endringer i maskinvaren for å omprogrammere FPGA. FPGA-er er egnet for høyhastighetsbehandling av parallelle data og har en høy grad av tilpassbarhet. Imidlertid har de også ulempene med prototypedrift og kompleksitet i konfigurasjonen. Så, FPGA-ene kan velges med disse fordelene fremfor mikrokontrollere. La oss starte FPGA-programmeringen og understreke