Introduzione
Nel corso della progettazione di PCB, è importante fare una distinzione tra FPGA e CPLD perché i due possono essere molto diversi in termini di funzionalità ed efficienza. PCBTok discuterà qui in dettaglio per aiutare il cliente a determinare quale sia più adatto ai requisiti del suo PCB.
FPGA e CPLD
Si tratta di circuiti integrati configurabili e questo implica che possono essere programmati per svolgere determinate funzioni. Questi IC hanno un Analogico e digitale blocchi in forma di matrice che possono essere programmati utilizzando la memoria non volatile programmabile, programmabile una volta (OTP). Questo è qualcosa che è realizzabile quando si utilizzano FPGA e CPLD e questo è uno dei vantaggi dell'utilizzo di entrambi. Offre anche pezzi unici che sono destinati allo scopo particolare per cui ne hai bisogno; questo ti consente di trovare soluzioni flessibili per il progetto che stai gestendo. Tali dispositivi sono flessibili nella loro progettazione e quindi possono incorporare funzioni trasformabili in un singolo circuito. Ciò è particolarmente importante per i futuri sistemi elettronici poiché in questo modo sono in grado di adattarsi a vari usi o condizioni diverse.

Che cos'è CPLD?
CPLD è l'abbreviazione di "Complex Programmable Logic Devices". È un chip semiconduttore utilizzato nell'implementazione di sistemi digitali. Un CPLD è composto da blocchi funzionali programmabili, in cui ogni blocco contiene macrocelle. Gli elementi di base del CPLD sono le macrocelle. I / O di blocchi funzionali è interconnesso tramite la cosiddetta Global Interconnection Matrix (GIM). Questa matrice di interconnessione è riconfigurabile per il motivo che non ci sono contatti tra blocchi funzionali che possono essere alterati. Infatti questi blocchi funzionali sono analoghi a un set di porte logiche utilizzate nello sviluppo di circuiti.

Come funziona?
Questa tecnologia applica tipi di memoria quali CMOS EPROM, EEPROM, memoria Flash e SRAM per costruire circuiti logici minuscoli, rapidi ed efficienti dal punto di vista energetico. Questi dispositivi sono classificati come circuiti di integrazione su larga scala perché sono di grandi dimensioni e hanno una struttura complicata. L'utente CPLD può creare i propri circuiti logici. La progettazione di sistemi digitali viene fatto nel seguente modo, si usa un linguaggio di descrizione speciale di software e hardware per arrivare al design. Dopo di che, il codice viene bruciato nel chip con l'aiuto di un cavo di download che è noto come programmazione in-system.
Componenti del CPLD
Approfondiamo ulteriormente gli elementi che compongono il CPLD e il ruolo che ciascuno di essi svolge nelle prestazioni complessive del dispositivo.

Blocco funzione
In CPLD, il blocco funzione è il blocco più importante nella progettazione di CPLD. Ha un piano AND che riceve input da altri FB o FB I/O. Questi vengono quindi combinati e immessi in un array OR e quindi immessi in un multiplexer (MUX). L'output del MUX può uscire direttamente dal blocco o tramite un flip-flop gated sotto forma di flip-flop temporizzato. Questo blocco funzione può anche avere un ingresso di reset master, una funzione OR esclusiva selezionabile e una programmazione della polarità regolabile.
Collegamenti
In un CPLD l'interconnessione è un set di punti di connessione programmabili attraverso i quali i segnali possono essere instradati all'interno del CPLD. Questa grande matrice consente di instradare i segnali esattamente dove si desidera e si desidera che vadano e questo è certo per garantire che tutti i componenti nel sistema si interconnettano rapidamente ed efficacemente.
Blocchi di input/output
Pertanto, con l'aiuto di blocchi di input/output, i segnali con la tensione e la corrente richieste vengono trasferiti ai pin CPLD. Ciò consente l'eliminazione dei tempi di attesa, la riduzione del tempo di inattività del dispositivo e l'aggiunta di risorse extra.
Vantaggi della CPLD

Adattabilità
Questo perché puoi riprogrammare i CPLD più volte, rendendoli quindi molto flessibili. Puoi modificarli per diversi requisiti logici a seconda delle modifiche che si verificano nel tuo progetto. Utilizzando questa flessibilità, puoi apportare alcune modifiche senza dover investire in nuovo hardware, il che è dispendioso in termini di tempo e denaro.
Si cresce
I CPLD semplificano la progettazione delle schede perché consentono di incorporare diversi blocchi logici in un singolo chip. Ciò è vantaggioso in quanto non è necessario acquistare parti extra, che non faranno altro che ingombro nella configurazione. Un numero inferiore di parti esterne significa meno connessioni da realizzare e meno complicazioni, il che farà risparmiare tempo e ridurrà al minimo gli errori.
Sviluppo rapido
I CPLD ti aiutano nello sviluppo del tuo progetto poiché sono facili da progettare e prototipo con loro. Sono programmabili e quindi puoi modificare il design e sperimentare nuovi concetti senza dover aspettare che venga sviluppato un nuovo hardware. Questo ciclo di sviluppo veloce ti aiuterà a impiegare meno tempo e a portare il tuo design sul mercato più velocemente.
Svantaggi del CPLD

Capacità limitata
I CPLD sono meno complessi degli FPGA. Tuttavia, i CPLD hanno una densità limitata rispetto agli FPGA in termini di numero di gate che possono contenere. Questi hanno un numero limitato di elementi logici, quindi potresti trovarti limitato nello sviluppo di progetti complessi. Se il tuo progetto comporta molta logica sofisticata, potresti non trovare i CPLD utili al tuo progetto in qualche modo.
Prestazioni ridotte
Tuttavia, i CPLD sono generalmente più lenti degli FPGA in termini di prestazioni. Questi dispositivi hanno solitamente frequenze di clock più lente e ritardi di propagazione più lenti rispetto ad altri dispositivi. Ciò può essere svantaggioso nei progetti che richiedono un'elaborazione frequente dei dati in poco tempo. Ma se hai bisogno che il tuo progetto funzioni rapidamente, potresti non ottenere i risultati migliori con i CPLD.
Meno risorse
I CPLD possono avere meno risorse e funzionalità degli FPGA. Questa limitazione può limitare in qualche modo ciò che puoi fare con il tuo progetto. Tuttavia, se desideri funzioni più elaborate o più opzioni, i CPLD potrebbero non essere adatti. Per progetti più complessi, potresti ottenere un'opzione migliore dagli FPGA.
Applicazione
Ecco alcune applicazioni comuni in cui è possibile vedere i CPLD nei PCB:
Controller SDRAM
Il progetto presentato in questo documento include un semplice controller SDRAM che funziona con una SDRAM da 64 MB e un bus dati a 16 bit e può essere implementato utilizzando un CPLD. Questi includono il comando della SDRAM, la generazione del ciclo di aggiornamento e la selezione di banca, riga e colonna tra gli altri e sono controllati dal CPLD. Gestisce anche il buffering del bus dati. Grazie alla sua capacità di I/O parallelo e a un sistema di temporizzazione affidabile, il CPLD è perfetto per queste operazioni primarie. Tuttavia, per i controller di memoria più sviluppati l'utilizzo di FPGA è più appropriato.

LED Controller
Utilizzando un semplice CPLD, è possibile gestire e regolare un sistema di otto LED RGB per scopi di illuminazione. Questo gestisce gli input dei pulsanti antirimbalzo in cui l'utente è in grado di scegliere tra varie modalità. Include anche segnali PWM che vengono utilizzati per controllare la luminosità del LED. Accende o spegne i LED quando necessario. Il CPLD utilizzato in questo controller ha da otto a sedici macrocelle che sono sufficienti per tutta la "logica di colla" di questo controller. Poiché ha un I/O parallelo, significa che puoi controllare molti LED contemporaneamente. Il controllo delle forme d'onda PWM è ottenuto tramite timer incorporati nella logica, quindi è efficiente ed efficace.

Motor controller
Per controllare un controller motore che regola sei motori, avrai bisogno di un CPLD di medie dimensioni. Il CPLD gestisce il controllo di velocità e direzione di ogni motore e anche i segnali di abilitazione dei motori. Riceve anche informazioni su posizione e velocità e controlla la tensione analogica. Grazie alle macrocelle, il CPLD genera segnali di abilitazione per il controllo di ogni motore e segnali per azionarli. Nel CPLD c'è una logica aggiuntiva per controllare gli input e per elaborare i feedback. Questa disposizione semplifica il buon controllo dei motori per non produrre drastici cambiamenti nella loro velocità o movimento.

Cos'è l'FPGA?
Un sistema composto da una matrice bidimensionale di blocchi logici programmabili interconnessi con interconnessioni programmabili. Una volta creato un FPGA, può essere riprogrammato per adattarsi ad altre funzioni. Negli FPGA odierni ci sono circa 330,000 blocchi logici e 1,100 pin I/O. In questo caso, devi creare il tuo circuito e impostarlo con l'aiuto dell'Hardware Description Language (HDL). Ciò consente a un FPGA di funzionare come una semplice porta come la porta AND o come un processore multi-core. Lo svantaggio è che ha le sue configurazioni nella memoria principale, il che significa che se l'alimentazione viene interrotta, le configurazioni andranno perse.

Come funziona l'FPGA?
Una struttura che consiste in una matrice bidimensionale di blocchi logici programmabili e interconnessioni programmabili. Un FPGA è quindi un chip programmabile che una volta sviluppato può essere modificato per altri scopi. Gli FPGA odierni sono dotati di circa 330,000 blocchi logici e 1,100 pin I/O. In questo caso devi progettare il tuo circuito e implementarlo con l'uso di HDL (Hardware Description Language). Ciò consente a un FPGA di agire come una semplice porta, ad esempio la porta AND o come un processore multi-core.
Componenti di FPGA

Blocchi logici
Un FPGA ha blocchi logici programmabili che svolgono un ruolo importante nell'FPGA. Puoi anche definire e modificare le funzioni logiche per il tuo utilizzo. Offre anche la flessibilità di progettare circuiti per eseguire funzioni specifiche e funzioni difficili da eseguire.
efficiente
La funzionalità in un FPGA è realizzata tramite routing programmabile. Consente di instradare segnali tra parti separate dell'FPGA nel modo più appropriato. Ciò rende possibile creare e modificare collegamenti in base alle esigenze di progettazione desiderate che si possono avere.
Blocchi I/O
Controllano il flusso di dati in entrata e in uscita dall'FPGA, consentendo così la connessione con altri dispositivi. Ciò ti aiuta a garantire che il tuo FPGA abbia un mezzo affidabile per interagire con altri dispositivi e sistemi.
Vantaggi dell'FPGA

Adattabilità
Il vantaggio principale degli FPGA è la capacità di definire e ridefinire le funzioni logiche a seconda delle necessità. Ciò significa che puoi apportare modifiche in base alle esigenze specifiche o persino ai cambiamenti delle esigenze. Sia che tu debba mettere a punto alcune funzioni o modificare il tuo design, gli FPGA ti aiutano a farlo senza troppi sforzi.
Velocità al mercato
Gli FPGA sono utilizzati per garantire che le tue idee vengano immesse sul mercato il più velocemente possibile. Consentono uno sviluppo e un test rapidi di applicazioni "mashup" e una rapida modifica durante la fase di sviluppo. Possono aiutarti a sperimentare e ripetere le tue idee più frequentemente, il che, a sua volta, ti aiuterà ad accorciare i tempi del tuo progetto e il time-to-market.
Alte prestazioni
Gli FPGA sono molto efficienti nel modo in cui eseguono le attività poiché sono in grado di farlo in poco tempo. Possono gestire l'input di dati e possono lavorare su molte operazioni contemporaneamente. Sono più adatti per le applicazioni che richiedono più velocità e potenza di calcolo per ottenere risultati migliori in poco tempo.
Svantaggi dell'FPGA

Costo
Lo svantaggio principale degli FPGA è che sono spesso più costosi dei CPLD, soprattutto quando utilizzati in progetti su larga scala. Mentre si lavora su un progetto su larga scala, ci si può rendere conto che gli FPGA sono costosi. Questo è qualcosa che deve essere considerato se il costo è un problema, poiché è una spesa aggiuntiva.
Il consumo di energia
Nella maggior parte dei casi, gli FPGA consumano più energia dei CPLD. Tuttavia, c'è uno svantaggio: se il consumo di energia è un problema nel tuo progetto, questo potrebbe essere un problema. Quando si consuma più energia, si produce più calore e anche le bollette energetiche diventano costose.
Complessità
Progettare per FPGA è un po' più impegnativo perché questi dispositivi forniscono numerose risorse e canali per l'interconnessione. Ciò significa che sei esposto a più opzioni, il che è positivo, ma il processo di progettazione diventa più complesso e complicato.
Applicazione
Ecco alcune applicazioni popolari in cui è possibile vedere FPGA nei loro PCB:
Acceleratore di crittografia
Hanno anche la capacità di eseguire algoritmi di crittografia come AES e SHA e RSA. Per implementare un sistema in grado di trasferire informazioni ad alta velocità, motori di crittografia/decrittografia paralleli per eseguire più operazioni contemporaneamente e gestione delle richieste a bassa latenza. Tali applicazioni sono meglio gestite dagli FPGA perché sono più veloci ed efficienti delle controparti software. La natura degli FPGA come fabric riconfigurabile significa che possono essere stabiliti più percorsi di crittografia, che forniscono un throughput elevato. Inoltre, gli FPGA forniscono un facile accesso ai motori di crittografia che porta alla riduzione della latenza. Questi sono perfetti per accelerare i processi di crittografia per i seguenti motivi.

Elaborazione video in tempo reale
Gli FPGA sono molto adatti per l'elaborazione video in tempo reale. È possibile applicarli per il filtraggio delle immagini, la stima del movimento nel codec video e la creazione di piramidi di immagini. Gli FPGA sono in grado di gestire queste attività perché sono sistemi paralleli. Alcuni dei calcoli come la stima del movimento e l'elaborazione dei pixel vengono eseguiti utilizzando speciali blocchi DSP negli FPGA. Producono anche piramidi di immagini nel modo più efficace con l'uso della loro struttura logica. Se si sta implementando una rete neurale per il rilevamento di oggetti, questi possono essere configurati sulla logica programmabile dell'FPGA. Questa configurazione garantisce un'elaborazione video elevata e veloce, rendendo gli FPGA i più adatti per la gestione di attività video in tempo reale.

Router di rete ad alta velocità
Quando si ha a che fare con un router che deve gestire fino a 400 Gb al secondo, sono importanti l'inoltro efficiente dei pacchetti e la ricerca rapida nella tabella di routing. Lo stesso viene ottenuto dagli FPGA tramite l'uso di slice DSP e blocchi logici flessibili. Supportano anche il traffic shaping e un'elevata larghezza di banda di memoria per il buffering dei dati. Questi includono Ethernet a 100 Gbps, ad esempio, tramite l'uso di più interfacce di rete, il trasferimento dei dati è reso più semplice tramite l'uso di blocchi I/O. Ciò li rende ideali per l'uso in sistemi di rete di fascia alta in cui problemi come prestazioni e flessibilità sono essenziali. Ottieni la velocità e l'affidabilità richieste per intraprendere attività di rete complesse.

Confronto delle caratteristiche FPGA e CPLD
Nella tabella seguente sono presentate le caratteristiche più importanti dei dispositivi logici programmabili FPGA e CPLD, comprese le loro possibilità, struttura e utilizzo.
| CPLD | FPGA | |
| Abbreviazione | Dispositivi logici programmabili complessi. | Array di porte programmabili sul campo. |
| Architettura | Classificato come grana grossa. Ha blocchi logici più grandi e più generali rispetto a quelli con grana più fine. | Classificato come grana fine. Ha molti blocchi logici piccoli e molto versatili che consentono la costruzione di circuiti intricati ed elaborati. |
| Applicazioni | Questo è il migliore solo per l'uso di base. Sono in grado di svolgere funzioni fondamentali come funzioni logiche e semplici sistemi di controllo. | Perfetto per applicazioni complicate. Viene utilizzato anche in applicazioni che richiedono maggiore potenza di calcolo o hanno operazioni complesse, tra cui elaborazione del segnale di alto livello o gestione dei dati ad alta velocità e calibrazione hardware personalizzata. |
| Sulla base | I CPLD si basano sulla tecnologia EEPROM, ogni cella del CPLD è programmabile. Utilizza un tipo di memoria che può essere scritta e cancellata elettricamente. | Questi FPGA si basano sulla tecnologia RAM. La RAM è una memoria volatile nel tuo computer che viene utilizzata per contenere dati e istruzioni che sono attualmente utilizzati dal tuo sistema. |
| Gestione dell'orologio | Ciò che noterete quando usate un CPLD è che, quando si tratta di gestione del clock, il CPLD non è affatto molto potente. Presenta modi limitati di gestire e distribuire i segnali di clock rispetto agli altri sistemi complessi che vengono usati nella progettazione di circuiti digitali.
| Ciò significa che quando si usa un FPGA è possibile gestire il clock in modo molto migliore. Contiene anche tile complicati per la gestione del clock e può funzionare con diverse zone di clock e gestire lo skewing, oltre a supportare la sintesi di frequenza. |
| Costo | Più economico. | Costoso. |
| Definizione | Un chip che aiuta nel controllo dei dispositivi digitali. I sistemi digitali impiegano due simboli di stato, ad esempio le cifre binarie (0 e 1) nella loro rappresentazione delle informazioni, in contrasto con il sistema analogico che impiega un continuum di valori. | Può essere programmato dopo essere stato prodotto. Puoi impostarlo per un compito particolare e svolgerà quel compito nel miglior modo possibile che desideri. |
| Metodi di inserimento del design | Implementato da equazioni logiche per la descrizione della funzione macrocella con un controllo più semplice. | Utilizza VHDL o Verilog per il controllo completo del comportamento e della configurazione fisica del progetto. |
| Densità | Da bassa a media densità. | Da media ad alta densità. |
| Strumenti di sviluppo
| Quando si lavora con i CPLD si utilizzano compilatori logici meno complessi che forniscono meno capacità di verifica. Ciò è più facile da implementare nel processo di sviluppo, ma gli strumenti utilizzati a questo scopo non sono potenti quanto quelli per altri dispositivi. | Utilizzando FPGA, si è in grado di disporre di una serie di strumenti di sviluppo che possono aiutare nella simulazione della progettazione, nell'analisi dei tempi e nella disposizioneQuesti strumenti ti aiutano a perfezionare il tuo progetto per renderlo più efficiente e adatto alle tue esigenze. |
| Struttura di interconnessione | La struttura di interconnessione dei CPLD è rigida. I collegamenti tra gli elementi vengono realizzati quando il prodotto viene fabbricato e non possono essere regolati. | La struttura di interconnessione degli FPGA è flessibile per natura. In questo modo, puoi controllare come e dove i componenti sono collegati e come possono scambiare le informazioni. |
| Blocchi logici | Ha circa 100-1000 porte logiche e sono quindi utili in funzioni minori come la logica di incollaggio. Tali blocchi logici possono essere utilizzati per unire vari componenti di un circuito ed eseguire molto bene compiti meno complicati. | Ha circa 100,000 porte logiche. Puoi usarle per ideare circuiti complicati. Questa elevata capacità consente di eseguire operazioni più complesse e di ideare progetti complessi con molta facilità e nel minor tempo possibile. |
| Cookie di prestazione | I CPLD hanno prestazioni basse a causa della loro struttura di base rispetto agli altri due tipi di PLD. Sebbene siano piuttosto efficaci nelle operazioni semplici, potrebbero non essere i migliori da usare in un'operazione complicata rispetto ad altre scelte. Si basa su instradamento e come tale le sue prestazioni sono direttamente proporzionali al routing. | Questi, insieme alla disponibilità di un elevato numero di interfacce I/O, blocchi di memoria dedicati e blocchi DSP per l'elaborazione del segnale, rendono gli FPGA dispositivi ad alte prestazioni. Offrono un throughput stabile che non ha nulla a che fare con il routing interno. |
| Consumo di energia | Spesso consumano più energia rispetto alle altre opzioni disponibili. Sono generalmente più potenti e possono consumare più energia, quindi potrebbe essere necessario tenerne conto durante la progettazione. | Minore consumo di energia rispetto ai CPLD. Di seguito sono riportati alcuni dei vantaggi di una maggiore efficienza energetica, che possono essere importanti per i tuoi progetti. |
| Rapporto di infradito | Confrontando i CPLD con gli FPGA, si può notare che i CPLD hanno un rapporto di flip-flop inferiore. | I flip-flop sono più presenti negli FPGA rispetto ai CPLD. Questo rapporto flip-flop più elevato negli FPGA si traduce nella capacità di memorizzare e manipolare più dati rispetto ad altri dispositivi. |
| Riconfigurabilità | I CPLD offrono una minore capacità di riconfigurazione rispetto agli altri dispositivi. Dopo che sono stati stabiliti, hai scelte limitate su come alterare il loro comportamento. | Gli FPGA sono più riconfigurabili rispetto agli altri dispositivi sul mercato. Possono facilmente modificare il loro modo di funzionare anche dopo essere stati installati per funzionare in un certo modo. |
| Sicurezza | Presentano caratteristiche che rendono difficile per loro essere colpiti da alcune forme di attacco. | Potrebbero essere maggiormente esposti ad alcune forme di attacco. |
| La struttura assomiglia | Una struttura CPLD è quasi la stessa della PAL, o Programmable Array Logic. Come le PAL, le CPLD sono impiegate per configurare e implementare segnali digitali e non hanno la capacità di memorizzare informazioni. | Una struttura FPGA assomiglia a un gate array, che è anche chiamato uncommitted logic array (ULA). Come con i gate array, gli FPGA forniscono funzioni logiche personalizzabili e possono essere impiegati per scopi diversi. |
| Volatilità | Non volatile. I dati non vengono cancellati quando si spegne l'alimentazione, quindi i dati sono salvati. Quando il dispositivo è spento, non si perdono informazioni o impostazioni di configurazione in esso contenute. | Instabile e a rischio di perdita di dati se l'alimentazione viene interrotta. Se hai bisogno di caricare la configurazione o i dati ogni volta che accendi l'FPGA, dovrai farlo. |

Scelta tra CPLD e FPGA
Ci sono alcuni fattori che devono essere considerati quando si sceglie tra CPLD e FPGA. Ora cerchiamo di capire come funziona ciascuna tecnologia in relazione ai vari requisiti e di aiutarti a selezionare quella migliore per il lavoro.
Dimensioni e complessità del progetto
Ci sono alcuni fattori che possono aiutare a decidere tra CPLD e FPGA; sono le dimensioni e la complessità del design del PCB. Se hai un design piccolo con pochi elementi logici e funzionalità semplici, allora un CPLD soddisferà bene le tue esigenze. È buono per tali scopi. Ma se il tuo progetto è piuttosto grande e comporta operazioni più complicate, potrebbe essere più efficace usare un FPGA.
Esigenze prestazionali
Nel confrontare CPLD e FPGA, c'è un fattore che dovresti considerare: le prestazioni. I CPLD hanno normalmente una frequenza di clock massima inferiore e un ritardo di propagazione più lungo rispetto ai PLD di base. Ciò significa che non possono essere i più adatti per progetti ad alta velocità. D'altro canto, gli FPGA sono generalmente sviluppati tenendo a mente l'alta velocità e possono risolvere facilmente i problemi di vincoli di temporizzazione. Se hai bisogno di elaborazione in tempo reale nel tuo progetto Gli FPGA sono più adatti dei microcontrollori.
Limiti di potenza
I CPLD sono noti per consumare meno energia, sia statica che dinamica, rispetto agli FPGA. Quando si tratta di utilizzo dell'energia, se il tuo progetto richiede efficienza, sarebbe più saggio utilizzare i CPLD. Questi sono adatti per applicazioni in cui il consumo di energia è un fattore importante da considerare. Gli FPGA, d'altro canto, sono più potenti e quindi utilizzano più energia.
Fattori di bilancio
Questi sono generalmente più economici di ASIC programmabili e quindi sono ideali per piccoli progetti che richiedono un budget ridotto. Sono ideali da usare per progetti semplici a un costo più basso. D'altro canto, gli FPGA sono costosi ma hanno molte più risorse e opzioni disponibili per l'utente. È fuor di dubbio che questi sono più appropriati per progetti più estesi e complicati in cui le spese aggiuntive sono compensate dalle funzionalità avanzate. Se si lavora con fondi limitati e un progetto più piccolo, i CPLD potrebbero essere più adatti alle proprie esigenze. Per requisiti più intricati e se il costo non è un problema, gli FPGA presentano numerosi vantaggi.

Quando utilizzare CPLD?
I CPLD sono utilizzati in determinate applicazioni in cui le caratteristiche dei CPLD risultano più vantaggiose. Dovresti utilizzare i CPLD per:
- Per le attività che richiedono molta potenza di calcolo, ad esempio l'elaborazione video o la crittografia.
- Quando si lavora con più set di dati e si ha la necessità di analizzare i dati e di lavorare su più attività contemporaneamente.
- È applicabile soprattutto nell'uso di protocolli di connessione avanzati come PCIe, Ethernet o SATA.
- Per testare e sviluppare nuovi chip o sistemi prima che siano definitivamente approvati.

Quando utilizzare FPGA?
Gli FPGA sono una buona scelta per le applicazioni che richiedono sia flessibilità che convenienza. Sono adatti per:
- Le funzioni fondamentali di controllo logico della colla e i componenti di connessione.
- Progetti a basso costo che non richiedono l'utilizzo di molte funzionalità.
- Progetti di piccole dimensioni in cui i CPLD presentano opzioni più compatte rispetto alle altre tecnologie.

Conclusione
Di seguito il confronto tra CPLD e FPGA nei loro punti di forza e di debolezza. I CPLD sono circuiti integrati flessibili con cicli di sviluppo rapidi, sebbene abbiano una capacità limitata, non siano veloci come altri e abbiano risorse scarse. Gli FPGA sono più flessibili e offrono prestazioni più elevate rispetto alle loro controparti, ma sono costosi e consumano più energia e non sono facili da progettare.


Scegli lingua