Differenza tra CPLD e FPGA
IL FPGA E CPLD sono stati creati dispositivi per ottenere la densità e la velocità del circuito ASIC (circuito integrato specifico per l'applicazione) dispositivi, ma con tempi di consegna più brevi per i dispositivi programmabili. La distinzione principale tra un FPGA e un CPLD è che un FPGA ha più risorse logiche di un CPLD, che è più semplice e ha meno interconnessioni. Due fattori vengono presi in considerazione principalmente quando si separano FPGA e CPLD. Il primo è la loro architettura e il modo in cui implementa le varie funzioni logiche. In secondo luogo, la specifica tecnologia dei semiconduttori utilizzata nell'hardware.
In questo articolo imparerai la differenza tra CPLD E FPGA . Ma prima di discutere le differenze, devi conoscere CPLD e FPGA con i loro vantaggi e svantaggi.
Cos'è il CPLD?
CPLD è un'abbreviazione di 'Dispositivi logici programmabili complessi' . È un circuito integrato che assiste nell'esecuzione di sistemi digitali. Un CPLD è costituito da blocchi funzionali programmabili e ciascun blocco ha macrocelle . Gli elementi costitutivi principali del CPLD sono le macrocelle. Gli I/O dei blocchi funzionali sono collegati tramite Matrice di interconnessione globale (GIM) . Questa matrice di interconnessione è riconfigurabile poiché è impossibile modificare i contatti tra i blocchi funzionali. Questi blocchi funzionali equivalgono ad un insieme di porte logiche.
È importante considerare la tecnica di programmazione, la capacità I/P e le capacità dei blocchi funzionali durante la progettazione dei CPLD. In generale, i CPLD sono non volatili, semplici da utilizzare e poco costosi.
I CPLD sono disponibili in vari tipi di pacchetti IC e famiglie logiche. Anche la tensione di alimentazione, la corrente di standby, la corrente operativa e la dissipazione di potenza dei CPLD sono diverse. Inoltre, sono disponibili con diverse capacità di memoria e opzioni di supporto della memoria. La memoria viene generalmente misurata in bit o megabit e il supporto della memoria contiene ROM, RAM E RAM a doppia porta . Include anche FIFO (first-in, first-out) E LIFO (ultimo entrato, ultimo uscito) memoria e CAM (memoria indirizzabile del contenuto) .
Componenti del CPLD
Esistono vari componenti del CPLD. Alcuni componenti principali del CPLD sono i seguenti:
In un CPLD, un blocco funzione ha un piano AND che può accettare ingressi da blocchi I/O, blocchi funzione o anche la risposta dello stesso blocco funzione. Successivamente, i termini vengono aggiunti all'array OR e scelti utilizzando un grande multiplexer. L'uscita del MUX può essere spostata direttamente dal blocco o tramite un flip-flop sincronizzato. Questo blocco funzionale può anche avere una logica aggiuntiva, come un OR esclusivo selezionabile, un segnale di reset principale e l'opzione di programmare la polarità in più fasi.
I blocchi di ingresso/uscita vengono utilizzati per inviare segnali ai pin CPLD ai livelli di tensione e corrente appropriati. Consente l'eliminazione dei ritardi, la riduzione dei requisiti del tempo di attesa del dispositivo e l'aggiunta di risorse aggiuntive al dispositivo.
L'interconnessione di un CPLD è una grande matrice di interruttori programmabili che dirige il trasferimento dei segnali da una parte all'altra del dispositivo.
Utilizza anche componenti programmabili come PROM, EPROM, EEPROM e flash EPROM.
Vantaggi e svantaggi del CPLD
Ci sono vari vantaggi e svantaggi del CPLD. Alcuni principali vantaggi e svantaggi del CPLD sono i seguenti:
Vantaggi
- È facile da progettare.
- Ha un costo di sviluppo basso.
- Aiuta a ridurre l'area del tabellone.
- Offre alta affidabilità.
Svantaggi
- È un dispositivo logico programmabile più complicato.
Cos'è l'FPGA?
FPGA è un'abbreviazione di 'Array di porte programmabili sul campo' . È un dispositivo a semiconduttore composto da una matrice di blocchi logici configurabili collegati tra loro tramite interconnessioni programmabili. Dopo la produzione, un FPGA può essere riprogrammato per soddisfare i requisiti. Gli attuali FPGA hanno circa 330000 blocchi logici con 1100 I/O .
Gli utenti possono utilizzare il Linguaggio di descrizione hardware (HDL) per progettare e configurare il circuito. Successivamente, può eseguire una porta semplice come una porta AND o un sistema complicato come un processore multi-core. Salva tutte le configurazioni nella memoria principale. Di conseguenza, un'interruzione di corrente potrebbe eliminare tutte queste configurazioni.
Componenti dell'FPGA
Esistono vari componenti dell'FPGA. Alcuni componenti principali dell'FPGA sono i seguenti:
Consente l'implementazione di funzioni logiche.
Abilita le funzioni di implementazione.
Viene utilizzato per effettuare connessioni di chip.
Vantaggi e svantaggi dell'FPGA
Esistono vari vantaggi e svantaggi dell'FPGA. Alcuni principali vantaggi e svantaggi dell'FPGA sono i seguenti:
Vantaggi
- I circuiti integrati FPGA sono ampiamente accessibili e possono essere programmati rapidamente utilizzando il codice HDL. Di conseguenza, la soluzione viene offerta al mercato più velocemente.
- Nella progettazione FPGA, il software gestisce il routing, il posizionamento e la temporizzazione. Richiede un minor coinvolgimento manuale. Il flusso di progettazione elimina luoghi complicati e dispendiosi in termini di tempo, router, pianificazione del piano e analisi dei tempi.
- Gli FPGA hanno la capacità di essere programmati a livello logico. Di conseguenza, potrebbe implementare un'elaborazione del segnale più rapida e parallela. È difficile da eseguire per la CPU.
- A differenza dello sviluppo ASIC, che comporta notevoli implicazioni NRE (Spese non ricorrenti) e strumenti costosi, lo sviluppo FPGA è meno costoso grazie a strumenti meno costosi e all'assenza di NRE.
- Gli FPGA possono essere programmati a livello software in qualsiasi momento. Di conseguenza, il circuito integrato FPGA potrebbe essere riprogrammato o riutilizzato un numero illimitato di volte. Gli FPGA possono anche essere programmati a distanza.
Svantaggi
- Il consumo energetico è più elevato e i programmatori hanno poco controllo sull'ottimizzazione della potenza nell'FPGA.
- Gli FPGA sono ideali per la prototipazione e la produzione in volumi ridotti. Quando aumenta il numero di FPGA da creare, aumenta anche il costo per prodotto.
- La programmazione FPGA richiede familiarità con i linguaggi di programmazione VHDL/Verilog e con le basi del sistema digitale. La programmazione non è così semplice come quella utilizzata nei dispositivi basati su processore. Gli ingegneri devono anche imparare a utilizzare gli strumenti di simulazione.
- Una volta scelto e utilizzato un FPGA nella progettazione, gli sviluppatori devono utilizzare le risorse presenti sull'IC FPGA, che limitano le dimensioni e le funzionalità del progetto. Per evitare questo problema è necessario selezionare fin dall'inizio un FPGA adeguato.
Differenze chiave tra CPLD e FPGA
Ci sono varie differenze chiave tra CPLD E FPGA . Alcune delle differenze chiave tra CPLD e FPGA sono le seguenti:
- CPLD è l'abbreviazione di Complex Programmable Logic Devices. Al contrario, FPGA è l'abbreviazione di Field Programmable Gate Arrays.
- Un CPLD è un circuito integrato che assiste nell'esecuzione di sistemi digitali. Al contrario, un FPGA è un circuito integrato creato principalmente per essere personalizzato dopo la produzione da un cliente o uno sviluppatore.
- Gli FPGA possono includere fino a 100.000 piccoli blocchi logici. Al contrario, i CPLD possono memorizzare solo poche migliaia di blocchi logici.
- FPGA è appropriato per app complicate. Al contrario, CPLD è più adatto per le app più semplici.
- L'FPGA ha un consumo energetico maggiore. Al contrario, CPLD ha un consumo energetico inferiore.
- In termini di prestazioni, l'FPGA fornisce prestazioni stabili indipendenti dal routing interno. Al contrario, CPLD ha prestazioni imprevedibili basate sul routing.
- Il CPLD è equivalente al AMICO . D'altra parte, FPGA è simile a a Matrice di porte .
- FPGA è un chip logico digitale basato su RAM . Al contrario, i CPLD lo sono Basato su EEPROM .
- L'FPGA è classificato come a grana fine. Al contrario, il CPLD è a grana grossa.
- CPLD offre una protezione maggiore rispetto a FPGA perché dispone di memoria non volatile.
- I ritardi nei CPLD sono significativamente più prevedibili rispetto agli FPGA.
Confronto testa a testa tra CPLD e FPGA
Qui imparerai i confronti diretti tra CPLD e FPGA. Le principali differenze tra CPLD e FPGA sono le seguenti:
| Caratteristiche | CPLD | FPGA |
|---|---|---|
| Moduli completi | CPLD è l'abbreviazione di Complex Programmable Logic Devices. | FPGA è l'abbreviazione di Field Programmable Gate Arrays. |
| Definizione | È un circuito integrato che assiste nell'esecuzione di sistemi digitali. | È un circuito integrato creato principalmente per essere personalizzato dopo la produzione da un cliente o uno sviluppatore. |
| Rapporto delle infradito | Ha un rapporto flip-flop basso rispetto all'FPGA. | Ha un rapporto flip-flop elevato rispetto al CPLD. |
| Densità | Ha una densità da bassa a media. | Ha una densità medio-alta. |
| La struttura assomiglia | È equivalente al PAL. | È simile a un array Gate. |
| Blocchi logici | Può memorizzare solo poche migliaia di blocchi logici. | Può includere fino a 100.000 piccoli blocchi logici. |
| Consumo di energia | Ha un consumo energetico maggiore. | Ha un consumo energetico inferiore. |
| Basato su | Si basa su EEPROM. | Si basa sulla RAM. |
| Costo | È meno costoso dell'FPGA. | È più costoso del CPLD. |
| Architettura | È classificato come grano grosso. | È classificato come a grana fine. |
| Applicazioni | È più adatto per le app più semplici. | È appropriato per app complicate. |
| Sicurezza | Fornisce maggiore sicurezza rispetto all'FPGA. | Fornisce meno sicurezza rispetto al CPLD. |
| Prestazione | Le sue prestazioni dipendono dal routing. | Fornisce prestazioni stabili indipendenti dal routing interno. |
| Volatilità | I dati non andranno persi se l'alimentazione viene spenta. | Se l'alimentazione è spenta, i dati potrebbero andare persi. |
Conclusione
Gli FPGA offrono maggiore complessità e flessibilità e funzionalità come RAM su chip, gestione del clock, operazioni DSP, moltiplicatori, ecc. D'altro canto, CPLD consuma meno energia dell'FPGA ed è più probabile che i dispositivi FPGA vengano utilizzati frequentemente nei progetti in cui vengono applicate le modifiche. Al contrario, i dispositivi CPLD vengono utilizzati quando è richiesta una semplice logica di colla e quando sono necessari circuiti istantanei per l'app perché FPGA funziona inizialmente a una velocità inferiore a causa del caricamento della configurazione dalla ROM esterna.