- Ano ang FPGA at Paano ito naiiba mula sa Microcontroller
- Arkitektura ng FPGA
- Kapag kailangan ng FPGAs
Sa lumalaking katanyagan ng mga inhinyero ng microcontrollers ay gumagamit ng mga microcontroller higit sa FPGAs. Ang Microcontrollers ay naging nangingibabaw sa FPGA dahil sa kanilang murang gastos, mahusay na suporta, madaling pagkakaroon, malaking pamayanan, kagalingan sa maraming bagay, programa atbp. Ngunit bukod sa ang mga microprocessor ay may ilang mga limitasyon tulad ng itinakdang mga tagubilin, sunud-sunod na pagpapatupad ng mga programa (sunud-sunod na pagproseso), kawalan ng kakayahang umangkop at magagamit muli atbp Gayunpaman, ang FPGA ay maaaring mapagtagumpayan ang mga limitasyong ito dahil ang FPGAs ay may parallel na pagpapatupad ng mga programa at ito ay may kakayahang umangkop at magagamit muli nangangahulugan na maaari itong muling ma-program nang paulit-ulit para sa iba't ibang mga gawain.
Ano ang FPGA at Paano ito naiiba mula sa Microcontroller
Ang isang Field-Programmable Gate Array ay isang integrated circuit silicon chip na kung saan ay may array ng mga gate ng lohika at ang array na ito ay maaaring mai-program sa patlang ie ie maaaring patungan ng gumagamit ang mga mayroon nang mga pagsasaayos kasama ang bagong natukoy na mga pagsasaayos at maaaring lumikha ng kanilang sariling digital circuit sa patlang. Ang FPGAs ay maaaring maituring bilang blangkong slate. Ang FPGAs ay walang ginagawa sa pamamagitan ng kanyang sarili samantalang nasa mga tagadesenyo na lumikha ng isang file ng pagsasaayos na madalas na tinatawag na isang bit file para sa FPGA. Ang FPGA ay kikilos tulad ng digital circuit sa sandaling ito ay na-load na may isang maliit na file.
Samantalang sa mga microcontroller, hindi ito ang kaso dahil ang mga microcontroller ay hindi maaaring mai-program o mai-istraktura muli sa patlang. Hindi pinapayagan ang gumagamit na patungan ang mga mayroon nang mga pagsasaayos o maaari silang lumikha ng anumang digital circuit sa patlang. Ang mga microcontroller ay madaling programa at ang komunidad ay malawak din. Ang mga microcontroller ay pasadyang built mini na mga computer na nagmumula sa IC form habang ang FPGA ay naglalaman lamang ng mga bloke ng lohika na maaaring muling mai-rewire nang electrically. Gayundin sa mga tuntunin ng mga microcontroller, kumokonsumo ito ng mas kaunting lakas kaysa sa FPGAs. Ang FPGAs ay kilalang magastos at nangangailangan ito ng higit na gastos kaysa sa microcontroller pagdating sa pagbuo ng anumang aparato. Ang mga FPGA ay tumatagal ng mas maraming oras upang mag-set-up habang ang mga microcontroller ay madaling magagamit para sa mga tukoy na application.
Arkitektura ng FPGA
Ang isang FPGA ay may regular na istraktura ng mga cell ng lohika o mga module at interlink na nasa ilalim ng mga developer at taga-disenyo na kumpletong kontrol. Ang FPGA ay itinayo na may pangunahing tatlong pangunahing mga bloke tulad ng Configurable Logic Block (CLB), I / O Blocks o Pads at Switch Matrix / Interconnection Wires. Tatalakayin sa ibaba ang bawat bloke.
- CLB (Configurable Logic Block): Ito ang mga pangunahing cell ng FPGA. Binubuo ito ng isang 8-bit function generator, dalawang 16-bit function generator, dalawang rehistro (flip-flop o latches), at reprogrammable routing control (multiplexers). Ang CLBs ay inilalapat upang magpatupad ng iba pang mga naka-disenyo na pag-andar at macros. Ang bawat CLBs ay may mga input sa bawat panig na nagpapalipat-lipat sa kanila para sa pagmamapa at pagkahati ng lohika.
- I / O Pad o Blocks: Ang Input / Output pad ay ginagamit para sa mga panlabas na peripheral upang ma-access ang mga pagpapaandar ng FPGA at gamitin ang I / O pad maaari din itong makipag-usap sa FPGA para sa iba't ibang mga application na gumagamit ng iba't ibang mga peripheral.
- Switch Matrix / Interconnection Wires: Ang Switch Matrix ay ginagamit sa FPGA upang ikonekta ang mahaba at maikling mga koneksyon na mga wire nang magkasama sa kakayahang umangkop. Naglalaman din ito ng mga transistors upang i-on / i-off ang mga koneksyon sa pagitan ng iba't ibang mga linya.
Kapag kailangan ng FPGAs
Tulad ng nabanggit sa itaas na ang mga microcontroller ay may ilang limitasyon at hindi maaaring magamit upang maisagawa ang gawain nang kahanay habang ang microcontroller at microprocessors ay tumatakbo sa sunud-sunod na pagpapatupad ng mga programa na ginagawang medyo mabagal sa ilang mga application, sa senaryong ito ang FPGAs ay may kalamangan at mabisang magamit. Gayundin ang microcontroller ay maaaring gumanap ng mga limitadong gawain dahil may mga tagubilin at circuitry nila. Ang isang programmer ay kailangang sumunod sa mga paghihigpit habang nagkakaroon ng code. Kaya sa senaryong ito din, may kalamangan ang mga FPGA.
Gayunpaman, sa kaso ng mga microcontroller, ang processor ay lilipat mula sa isang code patungo sa isa pa upang makamit ang ilang antas ng parallelism. Mas madali mong masulat ang mga code sa mga microcontroller kaysa sa FPGAs. Ang parallel na kakayahan sa pagproseso ng FPGAs ay nagbibigay-daan sa iyo upang makontrol ang mga pagkagambala nang epektibo sa pamamagitan ng paggamit ng Finite State Machines (FSMs).
Sa kaso ng mga microcontroller, kailangan mong isaalang-alang ang oras na ginugol ng ISR upang malutas ang isang pagkagambala. Maaari mong rewire madali ang isang FPGA sa pamamagitan lamang ng muling pag-program. Ang pagsasaayos sa isang FPGA ay na-load sa mai-configure na mga cell ng lohika kapag ang kapangyarihan ay nakabukas.
Hindi mo kailangang gumawa ng anumang mga pagbabago sa hardware upang mai-reprogram ang FPGA. Ang mga FPGA ay angkop para sa mataas na bilis ng pagproseso ng parallel data at mayroong mataas na antas ng pagiging napapasadyang. Gayunpaman, mayroon din silang mga drawbacks ng pagpapatakbo ng prototype at pagiging kumplikado ng pagsasaayos. Kaya, ang FPGAs ay maaaring mapili sa mga kalamangan sa paglipas ng microcontrollers. Simulan na natin ang FPGA na programa at bigyang-diin