Qual è la differenza tra un CPLD e un FPGA?
Qual è la differenza tra un CPLD e un FPGA?
Risposte:
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.
differenze:
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.
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.
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.