Despre FPGA-uri: Diferență între versiuni

De la YO3ITI
Sari la navigare Sari la căutare
Fără descriere a modificării
Fără descriere a modificării
Linia 1: Linia 1:
Recent m-a cuprins "febra" circuitelor reprogramabile. Pentru cei mai puțin familiarizați cu acest domeniu, un circuit reprogramabil este compus dintr-un număr foarte mare de porți logice care se pot interconecta prin programarea unor conexiuni la nivelul matricei de siliciu. Programarea se face cu ajutorul unor platforme dedicate și printr-un limbaj cu care se poate proiecta un circuit la nivel hardware – [[HDL]]. Interconectarea suportă un număr aproape infinit de configurații. Astfel se poate proiecta la nivel hardware o configurație completă de porți logice care, împreună, generează o anumită funcționalitate. Marele avantaj este că, spre deosebire de circuitele cu logică predefinită, configurația unui circuit programabil poate fi modificată hardware prin... software. Circuitele cu logică [re]programabilă au mai multe avantaje, dar cele mai importante sunt cele legate de timpul și costul de implementare. De pildă, costurile de producție ale unui circuit specializat ([[ASIC]] – Application Specific Integrated Circuit) sunt de ordinul milioanelor de dolari din cauză că producția matricei de siliciu este foarte scumpă. În cazul unor erori, această matrice practic se aruncă la coș și trebuie luat totul de la capăt. Aceeași logică poate fi creată într-un circuit cu logică programabilă iar, în cazul unor erori, pur și simplu trebuie doar schimbat codul software care definește partea de hardware. Avantajul este evident. Din seria circuitelor cu logică programabilă, cele mai importante sunt [https://en.wikipedia.org/wiki/Complex_programmable_logic_device CPLD]-urile (Complex Programmable Logic Device[s]) și [https://ro.wikipedia.org/wiki/FPGA FPGA]-urile (Field Programmable Graphic Arrays). Sunt mai multe diferenâe între cele două categorii, dar, după părerea mea, principala diferență ''funcțională'' dintre cele două este că FPGA-urile au nevoie de o memorie externă (poate fi chiar un microcontroller) pentru a stoca configurația, care se încarcă în circuit la pornire. Pentru mai multe detalii [https://en.wikipedia.org/wiki/Complex_programmable_logic_device#Features aici, în secțiunea "Features"].
Recent m-a cuprins "febra" circuitelor reprogramabile. Pentru cei mai puțin familiarizați cu acest domeniu, un circuit reprogramabil este compus dintr-un număr foarte mare de porți logice care se pot interconecta prin programarea unor conexiuni la nivelul matricei de siliciu. Programarea se face cu ajutorul unor platforme dedicate și printr-un limbaj cu care se poate proiecta un circuit la nivel hardware – [[HDL]]. Interconectarea suportă un număr aproape infinit de configurații. Astfel se poate proiecta la nivel hardware o configurație completă de porți logice care, împreună, generează o anumită funcționalitate. Marele avantaj este că, spre deosebire de circuitele cu logică predefinită, configurația unui circuit programabil poate fi modificată hardware prin... software. Circuitele cu logică [re]programabilă au mai multe avantaje, dar cele mai importante sunt cele legate de timpul și costul de implementare. De pildă, costurile de producție ale unui circuit specializat ([[ASIC]] – Application Specific Integrated Circuit) sunt de ordinul milioanelor de dolari din cauză că producția matricei de siliciu este foarte scumpă. În cazul unor erori, această matrice practic se aruncă la coș și trebuie luat totul de la capăt. Aceeași logică poate fi creată într-un circuit cu logică programabilă iar, în cazul unor erori, pur și simplu trebuie doar schimbat codul software care definește partea de hardware. Avantajul este evident. Din seria circuitelor cu logică programabilă, cele mai importante sunt [https://en.wikipedia.org/wiki/Complex_programmable_logic_device CPLD]-urile (Complex Programmable Logic Device[s]) și [https://ro.wikipedia.org/wiki/FPGA FPGA]-urile (Field Programmable Graphic Arrays). Sunt mai multe diferenâe între cele două categorii, dar, după părerea mea, principala diferență ''funcțională'' dintre cele două este că FPGA-urile au nevoie de o memorie externă (poate fi chiar un microcontroller) pentru a stoca configurația, care se încarcă în circuit la pornire. Pentru mai multe detalii [https://en.wikipedia.org/wiki/Complex_programmable_logic_device#Features aici, în secțiunea "Features"].


În radioamatorism, FPGA-urile reprezintă alegerea ideală pentru o serie de proiecte care implică procesarea digitală a semnalelor. Se pot realiza arhitecturi DSP complexe cu un efort de programare mult mai mic decât în cazul DSP-urilor dedicate (care necesită cunoștințe serioase de C sau C++). Există, evident, un compromis între gradul de complexitate al circuitului și logicii sale și decizia de a alege între implementarea pe un FPGA sau pe un circuit DSP dedicat. Lărgimea de bandă pentru bus-ul de date este un factor determinant pentru alegere (mare = FPGA; mică–moderată = DSP). Decizia mai este ajutată și de oferta extrem de bogată de plăci de experimentare și prototipare cu FPGA-uri, cu prețuri extrem de avantajoase în comparație cu oferta similară pentru DSP-uri. Vezi, de pildă oferta de la [https://www.terasic.com.tw/en/ Terasic] și [https://store.digilentinc.com/ Digilent] pentru plăci pe bază de FPGA-uri Altera/ Intel respectiv Xilinx.
În radioamatorism, FPGA-urile reprezintă alegerea ideală pentru o serie de proiecte care implică procesarea digitală a semnalelor. Se pot realiza arhitecturi DSP complexe cu un efort de programare mult mai mic decât în cazul DSP-urilor dedicate (care necesită cunoștințe serioase de C sau C++). Există, evident, un compromis între gradul de complexitate al circuitului și logicii sale și decizia de a alege între implementarea pe un FPGA sau pe un circuit DSP dedicat. Lărgimea de bandă pentru bus-ul de date este un factor determinant pentru alegere (mare = FPGA; mică–moderată = DSP). Decizia mai este ajutată și de oferta extrem de bogată de plăci de experimentare și prototipare cu FPGA-uri, cu prețuri extrem de avantajoase în comparație cu oferta similară pentru DSP-uri. Vezi, de pildă oferta de la [https://www.terasic.com.tw/en/ Terasic] și [https://store.digilentinc.com/ Digilent] pentru plăci pe bază de FPGA-uri [https://www.intel.com/content/www/us/en/products/programmable.html Intel] (fost Altera) respectiv Xilinx.


Nu în ultimul rând trebuie menționat că există pe piața producătorilor de FPGA jucători mai mici decât Intel (fost Altera) și Xilinx. Lattice, de pildă, este specializat pe nișa circuitelor cu logică programabilă compacte, pentru dispozitive mobile și dedicate DSP ceea ce le face să fie foarte atrăgătoare pentru multe proiecte radioamatoricești care nu au nevoie de complexitatea unor circuite masive.
Nu în ultimul rând trebuie menționat că există pe piața producătorilor de FPGA jucători mai mici decât [https://www.intel.com/content/www/us/en/products/programmable.html Intel] (fost Altera) și Xilinx. [http://www.latticesemi.com/ Lattice], de pildă, este specializat pe nișa circuitelor cu logică programabilă compacte, pentru dispozitive mobile și dedicate DSP ceea ce le face să fie foarte atrăgătoare pentru multe proiecte radioamatoricești care nu au nevoie de complexitatea unor circuite masive.


==Cursuri recomandate==
==Cursuri recomandate==

Versiunea de la data 26 ianuarie 2020 15:13

Recent m-a cuprins "febra" circuitelor reprogramabile. Pentru cei mai puțin familiarizați cu acest domeniu, un circuit reprogramabil este compus dintr-un număr foarte mare de porți logice care se pot interconecta prin programarea unor conexiuni la nivelul matricei de siliciu. Programarea se face cu ajutorul unor platforme dedicate și printr-un limbaj cu care se poate proiecta un circuit la nivel hardware – HDL. Interconectarea suportă un număr aproape infinit de configurații. Astfel se poate proiecta la nivel hardware o configurație completă de porți logice care, împreună, generează o anumită funcționalitate. Marele avantaj este că, spre deosebire de circuitele cu logică predefinită, configurația unui circuit programabil poate fi modificată hardware prin... software. Circuitele cu logică [re]programabilă au mai multe avantaje, dar cele mai importante sunt cele legate de timpul și costul de implementare. De pildă, costurile de producție ale unui circuit specializat (ASIC – Application Specific Integrated Circuit) sunt de ordinul milioanelor de dolari din cauză că producția matricei de siliciu este foarte scumpă. În cazul unor erori, această matrice practic se aruncă la coș și trebuie luat totul de la capăt. Aceeași logică poate fi creată într-un circuit cu logică programabilă iar, în cazul unor erori, pur și simplu trebuie doar schimbat codul software care definește partea de hardware. Avantajul este evident. Din seria circuitelor cu logică programabilă, cele mai importante sunt CPLD-urile (Complex Programmable Logic Device[s]) și FPGA-urile (Field Programmable Graphic Arrays). Sunt mai multe diferenâe între cele două categorii, dar, după părerea mea, principala diferență funcțională dintre cele două este că FPGA-urile au nevoie de o memorie externă (poate fi chiar un microcontroller) pentru a stoca configurația, care se încarcă în circuit la pornire. Pentru mai multe detalii aici, în secțiunea "Features".

În radioamatorism, FPGA-urile reprezintă alegerea ideală pentru o serie de proiecte care implică procesarea digitală a semnalelor. Se pot realiza arhitecturi DSP complexe cu un efort de programare mult mai mic decât în cazul DSP-urilor dedicate (care necesită cunoștințe serioase de C sau C++). Există, evident, un compromis între gradul de complexitate al circuitului și logicii sale și decizia de a alege între implementarea pe un FPGA sau pe un circuit DSP dedicat. Lărgimea de bandă pentru bus-ul de date este un factor determinant pentru alegere (mare = FPGA; mică–moderată = DSP). Decizia mai este ajutată și de oferta extrem de bogată de plăci de experimentare și prototipare cu FPGA-uri, cu prețuri extrem de avantajoase în comparație cu oferta similară pentru DSP-uri. Vezi, de pildă oferta de la Terasic și Digilent pentru plăci pe bază de FPGA-uri Intel (fost Altera) respectiv Xilinx.

Nu în ultimul rând trebuie menționat că există pe piața producătorilor de FPGA jucători mai mici decât Intel (fost Altera) și Xilinx. Lattice, de pildă, este specializat pe nișa circuitelor cu logică programabilă compacte, pentru dispozitive mobile și dedicate DSP ceea ce le face să fie foarte atrăgătoare pentru multe proiecte radioamatoricești care nu au nevoie de complexitatea unor circuite masive.

Cursuri recomandate

Coursera

Link-uri externe