Cum se utilizează SoC-urile FPGA pentru sisteme securizate și conectate în timp real absolut
Contributed By DigiKey's North American Editors
2023-02-16
Rețelele de porți programabile în câmp (FPGA), subsistemele cu unitate microcontroler (MCU) RISC-V compatibile cu Linux, arhitecturile avansate ale memoriei și interfețele de comunicații de înaltă performanță sunt instrumente importante pentru proiectanți. Acest lucru este valabil, în special, pentru proiectanții sistemelor conectate securizate, ai sistemelor critice pentru siguranță și ai unei game largi de sisteme deterministe în timp real absolut, cum ar fi inteligența artificială (AI) și învățarea automată (ML).
Cu toate acestea, integrarea acestor elemente diverse într-un sistem sigur, conectat și determinist poate fi o activitate dificilă și consumatoare de timp, la fel ca și realizarea interconexiunilor de mare viteză pentru diferitele elemente ale sistemului. Proiectanții trebuie să includă o unitate de gestionare a memoriei, o unitate de protecție a memoriei, o capacitate de pornire securizată și emițătoare-receptoare de clasă gigabit pentru conectivitate de mare viteză. Proiectarea va avea nevoie de gestionarea activă și statică a puterii și de controlul curenților de anclanșare. Unele proiecte vor necesita funcționarea în intervalul comercial extins de temperaturi pentru temperatura de joncțiune (TJ) care se încadrează între 0°C și +100°C, în timp ce sistemele din mediile industriale vor trebui să funcționeze cu o TJ care se încadrează între -40°C și +100°C.
Pentru a face față acestor provocări, precum și altora, proiectanții pot apela la dispozitivele de tip system-on-chip (SoC) FPGA care combină consumul redus de energie, eficiența termică și securitatea de grad militar pentru sisteme inteligente, conectate și deterministe.
Acest articol trece în revistă arhitectura unui astfel de SoC FPGA și modul în care acesta permite proiectarea eficientă a sistemelor conectate și deterministe. În continuare, se prezintă pe scurt standardul de evaluare a performanțelor EEMBC CoreMark-Pro privind puterea de procesare versus consumul de energie, împreună cu o prezentare a îndeplinirii standardului de evaluare a performanțelor în cazul unui SoC FPGA reprezentativ. Se analizează modul în care este integrată securitatea în aceste SoC-uri FPGA și se prezintă în detaliu SoC-uri FPGA de la Microchip Technology, împreună cu o platformă de dezvoltare pentru accelerarea procesului de proiectare. Se încheie cu o scurtă enumerare a plăcilor de expansiune de la MikroElektronika, ce pot fi utilizate pentru a implementa o serie de interfețe de comunicații, precum și capacitatea de localizare a sistemului global de navigație prin satelit (GNSS).
SoC-uri construite cu o structură FPGA
„Cipul” pentru acest SoC este o structură FPGA ce conține elementele sistemului, de la FPGA la subsistemul MCU RISC-V construit cu logică FPGA consolidată. Subsistemul MCU include un cluster MCU RISC-V cu patru nuclee, un nucleu de monitorizare RISC-V, un controler de sistem și un subsistem de memorie deterministă de nivel 2 (L2). FPGA-ul din aceste SoC-uri include până la 460.000 de elemente logice, emițătoare-receptoare de până la 12,7 gigabiți pe secundă (Gbps) și alte blocuri de intrare/ieșire (I/O), inclusiv I/O de uz general (GPIO) și Peripheral Component Interconnect Express (PCIe) 2. Arhitectura generală este concepută pentru fiabilitate. Aceasta include corecția unei singure erori și detectarea dublei erori (SECDED) pe toate memoriile, analiza diferențială a puterii (DPA), protecția memoriei fizice și 128 de kilobiți (Kbits) de memorie flash de pornire (Figura 1).
Figura 1: Toate elementele din acest SoC FPGA, inclusiv subsistemele RISC-V, sunt implementate pe structura FPGA. (Sursă imagine: Microchip Technology)
Microchip oferă ecosistemul Mi-V (pronunțat „my five”) de instrumente și resurse de proiectare de terță parte pentru a permite implementarea sistemelor RISC-V. Acesta este construit pentru a accelera adoptarea arhitecturii setului de instrucțiuni (ISA) RISC-V pentru nucleele RISC-V consolidate și pentru nucleele soft RISC-V. Elementele ecosistemului Mi-V includ accesul la:
- Licențe de proprietate intelectuală (IP)
- Hardware
- Sisteme de operare și middleware
- Depanatoare, compilatoare și servicii de proiectare
MCU-urile RISC-V consolidate din SoC-ul FPGA includ mai multe capacități de depanare, cum ar fi interfața extensibilă avansată (AXI) pasivă configurabilă în timpul execuției și urmărirea instrucțiunilor. AXI oferă proiectanților posibilitatea de a monitoriza datele scrise sau citite în sau din diverse memorii și de a ști când sunt scrise sau citite acestea.
Subsistemul MCU RISC-V utilizează un pipeline în cinci etape, cu canal unic, cu executare în ordine secvențială. Nu este vulnerabil la exploatările Spectre sau Meltdown, care pot afecta arhitecturile cu executare în ordine non-secvențială. Toate cele cinci MCU sunt coerente cu subsistemul de memorie, acceptând o combinație de sisteme în timp real în modul de multiprocesare asimetrică (AMP) deterministă și Linux. Capabilitățile subsistemului RISC-V includ (Figura 2):
- Rularea Linux și operații în timp real absolut
- Configurarea L1 și L2 ca memorie deterministă
- Subsistem de memorie DDR4
- Dezactivarea/activarea dispozitivelor de predicție a ramificării
- Funcționarea pipeline cu executare în ordine secvențială
Figura 2: Subsistemul RISC-V include mai multe elemente de procesor și memorie. (Sursă imagine: Microchip Technology)
Procesare mai mare cu energie mai puțină
Pe lângă avantajele pe care le oferă în ceea ce privește operarea sistemului, inclusiv suportul pentru procesare în timp real absolut, aceste SoC-uri FPGA sunt foarte eficiente din punct de vedere energetic. Standardul de evaluare a performanțelor EEMBC CoreMark-PRO este un standard industrial pentru compararea eficienței și performanței MCU în sistemele integrate. Acesta a fost conceput special pentru a evalua performanța hardware și pentru a înlocui standardul de evaluare a performanțelor Dhrystone.
Fluxurile de lucru CoreMark-PRO includ o diversitate de caracteristici de performanță, paralelism la nivel de instrucțiuni și utilizare a memoriei pe baza a patru sarcini de lucru în virgulă mobilă și a cinci sarcini de lucru cu numere întregi comune. Fluxurile de lucru în virgulă mobilă includ o rutină de algebră liniară derivată din LINPACK, o transformată Fourier rapidă, un algoritm de rețea neuronală pentru evaluarea modelelor și o versiune îmbunătățită a standardului de evaluare a performanțelor Livermore Loops. Compresia JPEG, un analizor de sintaxă XML, compresia ZIP și un algoritm Secure Hash Algorithm pe 256 de biți (SHA-256) formează baza fluxurilor de lucru cu numere întregi.
Modelele MPFSO95T ale acestor FPGA-uri SoC, precum MPFS095TL-FCSG536E, pot oferi până la 6.500 de CoreMark-uri la 1,3 wați (Figura 3).
Figura 3: SoC FPGA MPFS095T (linia portocalie) oferă 6.500 de CoreMark-uri la 1,3 wați. (Sursă imagine: Microchip Technology)
Considerente privind securitatea
Aplicațiile critice pentru siguranță și în timp real absolut pentru aceste SoC-uri FPGA necesită o securitate puternică, pe lângă o eficiență energetică ridicată și capacități de procesare puternice. Funcțiile de securitate de bază ale acestor SoC-uri FPGA includ programarea fluxului de biți rezistent la analiza diferențială a puterii (DPA), un generator de numere aleatorii reale (TRNG) și o funcție fizic neclonabilă (PUF). De asemenea, acestea includ o pornire securizată standard și definită de utilizator, protecția memoriei fizice care oferă restricții de acces la memorie legate de starea privilegiată a mașinii, inclusiv modurile mașină, supervizor sau utilizator, precum și imunitate împotriva atacurilor Meltdown și Spectre.
Securitatea începe cu gestionarea securizată a lanțului de aprovizionare, inclusiv cu utilizarea modulelor de securitate hardware (HSM) în timpul testării și ambalării plăcuțelor. Utilizarea unui certificat FPGA x.509 semnat digital de 768 de octeți încorporat în fiecare SoC FPGA oferă o asigurare suplimentară a lanțului de aprovizionare.
Pentru a asigura o funcționare sigură și fiabilă, în aceste SoC-uri FPGA sunt incluși numeroși detectori de manipulare pe cip. În cazul în care se detectează o manipulare, se emite un semnal de alarmă de manipulare care îi permite sistemului să reacționeze în funcție de cum este necesar. Unele dintre detectoarele de manipulare disponibile includ:
- Monitoare de tensiune
- Senzori de temperatură
- Detectoare de erori de ceas și de frecvență de ceas
- Detector activ JTAG
- Detector activ de plasă
Securitatea este asigurată în continuare prin contramăsuri de contracarare a atacului de putere de corelare a cifrului bloc simetric standard de criptare avansată pe 256 de biți (AES-256), capacități integrate de sistematizare criptografică pentru asigurarea integrității datelor, PUF integrat pentru stocarea cheilor și capacități de reducere la zero pentru structura FPGA și toate memoriile pe cip.
Exemple de SoC FPGA
Microchip Technology combină aceste capacități și tehnologii în SoC-urile FPGA PolarFire, cu mai multe grade de viteză, temperaturi nominale și diverse dimensiuni ale capsulei, în sprijinul necesităților proiectanților pentru o gamă largă de soluții cu între 25.000 și 460.000 de elemente logice. Sunt disponibile patru grade de temperatură (toate clasificate pentru TJ), de la 0°C la +100°C în intervalul comercial extins, de la -40°C la +100°C în intervalul industrial, de la -40°C la +125°C în intervalul auto și de la -55°C la +125°C în intervalul militar.
Proiectanții pot alege între dispozitive cu grad de viteză standard sau dispozitive cu grad de viteză -1, care sunt cu 15% mai rapide. Aceste SoC-uri FPGA pot fi operate la 1,0 volți pentru funcționarea la cea mai mică putere sau la 1,05 volți pentru performanțe mai mari. Acestea sunt disponibile într-o gamă largă de dimensiuni ale capsulei, inclusiv 11 x 11 milimetri (mm), 16 x 16 mm și 19 x 19 mm.
Pentru aplicațiile care necesită funcționare în intervalul comercial extins de temperaturi, funcționare la viteză standard și 254.000 de elemente logice într-o capsulă de 19 x 19 mm, proiectanții pot utiliza MPFS250T-FCVG484EES. Pentru soluții mai simple care necesită 23.000 de elemente logice, proiectanții pot apela la MPFS025T-FCVG484E, de asemenea cu funcționare în intervalul comercial extins de temperaturi și grad de viteză standard într-o capsulă de 19 x 19 mm. MPFS250T-1FCSG536T2 cu 254.000 de elemente logice este proiectat pentru sisteme auto de înaltă performanță și se încadrează într-un interval de temperaturi de funcționare între -40 și 125°C și un grad de viteză -1 pentru un ceas cu 15% mai rapid, într-o capsulă compactă de 16 x 16 mm, cu 536 de bile pe un pas de 0,5 mm (Figura 4).
Figura 4: MPFS250T-1FCSG536T2 pentru temperaturi auto vine într-o capsulă de 16 x 16 mm, cu un număr de 536 bile și un pas de 0,5 mm. (Sursă imagine: Microchip Technology)
Platformă de dezvoltare SoC FPGA
Pentru a accelera proiectarea sistemelor cu SoC FPGA PolarFire, Microchip oferă kitul MPFS-ICICICLE-KIT-ES PolarFire SoC Icicle, care permite explorarea subsistemului microprocesorului RISC-V cu cinci nuclee cu compatibilitate Linux, cu execuție în timp real și consum redus de energie. Kitul include o licență gratuită Libero Silver, necesară pentru evaluarea proiectelor. Aceasta acceptă funcții de programare și de depanare într-un singur limbaj.
Aceste SoC-uri FPGA sunt acceptate cu kitul de dezvoltare software (SDK) al acceleratorului VectorBlox, care permite realizarea de aplicații AI/ML cu consum redus de energie și cu factor de formă mic. Accentul este pus pe simplificarea procesului de proiectare până în punctul în care nu este necesară experiența anterioară a proiectanților în proiectarea FPGA. SDK-ul acceleratorului VectorBlox le permite dezvoltatorilor să programeze rețele neuronale eficiente din punct de vedere energetic utilizând C/C++. Kitul Icicle dispune numeroase caracteristici pentru a oferi un mediu de dezvoltare cuprinzător, inclusiv un sistem de senzori de putere cu șine multiple pentru monitorizarea diferitelor domenii de putere, un port rădăcină PCIe și memorii integrate - inclusiv LPDDR4, QSPI și eMMC Flash - pentru a rula Linux și Raspberry Pi, precum și porturi de expansiune mikroBUS pentru o serie de opțiuni de conectivitate prin cablu și wireless, plus extensii funcționale, cum ar fi capacitatea de localizare GNSS (Figura 5).
Figura 5: Acest mediu de dezvoltare cuprinzător SoC FPGA include conectori pentru plăci de expansiune Raspberry Pi (dreapta sus) și mikroBUS (dreapta jos). (Sursă imagine: Microchip Technology)
Plăci de expansiune
Câteva exemple de plăci de expansiune mikroBUS includ:
MIKROE-986, pentru adăugarea conectivității magistralei CAN utilizând o interfață periferică serială (SPI).
MIKROE-1582, pentru interfațarea între MCU și o magistrală RS-232.
MIKROE-989, pentru conectarea la o magistrală de comunicare RS422/485.
MIKROE-3144, acceptă tehnologiile LTE Cat M1 și NB1, permițând o conectivitate fiabilă și simplă cu dispozitivele IoT 3GPP.
MIKROE-2670, permite funcționalitatea GNSS cu recepție simultană a constelațiilor GPS și Galileo plus BeiDou sau GLONASS, ceea ce duce la o precizie ridicată a poziției în situațiile în care semnalele sunt slabe sau există interferențe în canioanele urbane.
Concluzie
Proiectanții pot apela la SoC-urile FPGA atunci când dezvoltă sisteme conectate, critice pentru siguranță și deterministe în timp real absolut. SoC-urile FPGA oferă o gamă largă de elemente de sistem, inclusiv o structură FPGA, un subsistem MCU RISC-V cu memorii de înaltă performanță, interfețe de comunicații de mare viteză și numeroase funcții de securitate. Pentru a ajuta proiectanții să își înceapă demersurile, sunt disponibile plăci și medii de dezvoltare care includ toate elementele necesare, inclusiv plăci de expansiune ce pot fi utilizate pentru implementarea unei largi game de funcții de comunicații și de localizare.
Lectură recomandată
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




