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.
come controllare le dimensioni dello schermo
È 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.
convertire una stringa in intero in Java
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.