Qual è la differenza tra CPLD e FPGA? [chiuso]


10

Qual è la differenza tra un CPLD e un FPGA?


1
CPLD utilizza solo termini di prodotto (e un DFF per pin di uscita); FPGA ha blocchi configurabili interni di LUT, carry / shift, DFF, nonché routing più flessibile, blocco RAM e altri blocchi specializzati come PLL o MAC.
MarkU,

1
... e normalmente i CPLD usano la memoria non volatile per memorizzare la loro configurazione mentre gli FPGA usano la memoria volatile (RAM), cioè gli FPGA devono essere inizializzati ogni volta dopo l'accensione.
Cagliata,

6
Risposta prontamente disponibile utilizzando Google: la domanda deve essere chiusa.
Leon Heller,

4
@Leon Heller Non so perché vuoi invocare altre persone a chiudere questa domanda. Se ritieni che questa domanda debba essere chiusa, sei libero di votare per la chiusura, ma è davvero orribile commentare "la domanda dovrebbe essere chiusa" e provare a invocare un'altra persona a venire con te. Se questa domanda rischia di essere chiusa, per prima cosa dovresti chiudere la domanda di seguito electronics.stackexchange.com/questions/1092/…
Sanjeev Kumar

1
@LeonHeller (et al), questa stessa domanda si pone anche come risposta a quella ricerca di Google. (L'ho preso come secondo link, insieme ad altri che erano effettivamente utili.)
ilkkachu

Risposte:


5

I CPLD sono generalmente usati solo per sostituire una quantità relativamente piccola di logica discreta. Vale a dire cose come un sacco di decodificatori di indirizzi e circuiti di interfaccia bus. I CPLD contengono pochissima memoria; generalmente il numero di infradito è dello stesso ordine di grandezza dei pin I / O (ovvero un CPLD a 32 macrocellule ha ~ 30 pin e ~ 30 infradito). La logica combinatoria in un CPLD è implementata su un array logico programmabile, che generalmente non è utile a velocità molto elevate. I CPLD di solito sono anche basati su flash o dispongono di memoria flash interna, semplificando i requisiti di progettazione della scheda e migliorando la protezione contro il reverse engineering. I CPLD non sono inoltre costruiti con processi logici "bleeding edge".

Gli FPGA sono progettati per il calcolo di prestazioni molto elevate e l'interfaccia di larghezza di banda elevata. Internamente, usano un'architettura molto diversa rispetto ai CPLD. Gli FPGA hanno molto più stato interno (registri e blocchi RAM) rispetto ai pin I / O. La logica combinatoria è implementata su tabelle di ricerca ad alta velocità che possono funzionare a diverse centinaia di MHz. I LUT e altri componenti sono interconnessi con una rete di routing ad alte prestazioni. Gli FPGA contengono anche core hard specializzati che forniscono implementazioni efficienti di vari componenti. Block RAM e moltiplicatori / sezioni DSP sono molto comuni. Gli FPGA possono contenere anche MAC ethernet, core di processori, interfacce PCI Express e altri blocchi specializzati. I transciever multi-gigabit sono anche una caratteristica comune degli FPGA di fascia alta che consentono il trasferimento di dati fino a 50 Gbit / sec per coppia di pin. Gli FPGA generalmente non contengono alcuna memoria non volatile, quindi per caricare la configurazione è necessaria una memoria flash esterna. La crittografia può essere implementata per migliorare la sicurezza del progetto con una chiave supportata da batteria memorizzata nell'FPGA.


10

differenze:

  1. Capacità: il CPLD di solito ha una capacità logica inferiore. Il CPLD più grande potrebbe trovarsi ad un livello simile al più piccolo FPGA nel mercato principale.

  2. Archiviazione dell'immagine - CPLD può avviarsi da solo mentre la maggior parte dell'FPGA deve recuperare il flusso di bit di configurazione dallo storage non volatile perché basato su SRAM. Ciò influisce sulla sicurezza del sistema.

  3. Funzionalità - CPLD fornisce solo porte logiche, o dette, logiche, che possono eseguire tutti i tipi di algoritmi logici. Inoltre, FPGA ha anche incorporato molti hard disk come BlockRAM, DSP, TEMAC, PCIe, MGT, microprocessore, ecc. Per creare un singolo chip di FPGA in grado di costruire un sistema completo con funzionalità complete.


3
Per quanto riguarda il n. 3, vale la pena ricordare che nel corso degli anni, poiché i CPLD sono diventati più sofisticati, la linea tra CPLD e FPGA si è offuscata. Ad esempio, i moderni CPLD sono abbastanza grandi da implementare un microcontrollore. È arrivato al punto in cui alcune famiglie di chip che erano storicamente commercializzate come CPLD vengono ora contrassegnate come FPGA (la famiglia Altera Max, per esempio)
David Gardner,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.