Conteggio del gate logico FPGA


8

Ho trovato una scheda FPGA che mi piaceva. Utilizza uno Xilinx Spartan 6 LX45. Quando sono andato al foglio dati per la serie Spartan 6 , mi ha detto solo che c'erano 43.661 celle logiche. A quante porte corrisponde? Oppure, come potrei capire il numero di gate totali dal numero di celle logiche?

Risposte:


6

I produttori di FPGA non usano più un numero equivalente di gate, anche nei materiali di marketing più ondulati della mano. Come linee di codice o megahertz di velocità del processore, è una metrica altamente inaccurata per misurare la capacità del dispositivo e nei mercati FPGA i clienti sono abbastanza svegli da sopprimerne l'uso.

Per stimare le dimensioni del dispositivo necessario, è necessario consultare il riepilogo a pag. 2 del foglio dati collegato. Di solito puoi ottenere un'idea decente nelle prime fasi del processo di progettazione di quanti infradito, quanti I / O e di quanti ram ha bisogno il tuo design. Uno o l'altro di questi sarà in genere la risorsa critica che determina la dimensione della parte di cui hai bisogno.

Se non sei strettamente vincolato ai costi, usa un dispositivo 2x o più grande di quanto pensi di aver bisogno. Ti darà spazio per il creep delle funzionalità nel tuo design e inoltre accelera lo sviluppo perché gli strumenti di design non dovranno lavorare così duramente per adattare il tuo design alle risorse disponibili.

Modifica , estraendo le cose dai commenti,

Hai detto che il tuo design è per lo più sbloccato.

Il problema è che gli strumenti di progettazione FPGA dipendono dal clock e dai vincoli di temporizzazione risultanti per guidare l'ottimizzazione della progettazione sintetizzata. Se vuoi fare un design sbloccato in un FPGA è possibile in linea di principio, ma non otterrai molto aiuto dagli strumenti (o dai fornitori) e probabilmente dovrai trovare una comunità specializzata che faccia quel tipo di cose per ottenere qualsiasi supporto.

In ogni caso, puoi consultare la Guida dell'utente del blocco logico configurabile di Spartan 6 per vedere quali risorse sono disponibili in ciascun blocco. Quindi mappa mentalmente il tuo progetto su quelle risorse per vedere di quanti blocchi hai bisogno. Dovrebbe essere sufficiente per farti scegliere il dispositivo della giusta dimensione.

Ad esempio, puoi vedere in quel documento che la parte LX45 contiene circa 27.000 LUT a 6 input. Ciascun LUT può essere utilizzato per implementare una logica combinatoria arbitraria con un massimo di 6 ingressi. Se riesci ad esprimere la tua logica in termini di questa primitiva, puoi stimare se il tuo design si adatta al dispositivo.


Bene, questa è la cosa, non ho ancora iniziato a progettare (e il mio design è direttamente nella logica), perché, stavo per progettare sulla base delle offerte speciali dei miei FPGA. So che avrei bisogno di circa 2,5 milioni di porte, quindi come troverei qualcosa che possa contenere così tante porte?
Haneefmubarak,

Davvero, niente infradito?
Il fotone

Bene, ne ho alcuni, ma alcuni sono solo SR e altri, invece di JK e D.
haneefmubarak

1
Per ottenere un buon supporto dagli strumenti di sintesi FPGA potresti prendere in considerazione la possibilità di modificare il tuo design per enfatizzare le infradito D --- Suppongo che ci siano modi per progettare in altri stili, ma i set di strumenti FPGA sono fortemente orientati verso il design RTL, il che significa che molti dff di.
Il fotone

1
Vi sono ottime ragioni per cui gli strumenti FPGA sono progettati per essere utilizzati principalmente con logica con clock. I circuiti combinatori complessi sono molto difficili da progettare in un FPGA. Probabilmente dovresti posizionare manualmente ogni risorsa, come se il clock non fosse specificato, i ritardi di routing potrebbero essere abbastanza casuali tra le esecuzioni di sintesi. Se il tuo design davvero non si preoccupa dei ritardi di propagazione, hai una possibilità ... ma se ti preoccupi di questi ritardi, probabilmente stai vivendo un'esperienza dolorosa e scoraggiante.
darron,

4

Gli FPGA sono molto più che semplici gate (LUT, FF, Block RAM, moltiplicatori, ecc.) E cercare di capire quanti ce ne sono è un esercizio abbastanza insignificante. I dipartimenti di marketing delle società FPGA hanno, in passato, lanciato numeri come un numero equivalente di gate pari a 1,4 volte il numero di celle logiche, ma credo che abbiano interrotto questa pratica.

Se stai cercando di determinare se un determinato design si adatta a un FPGA, è meglio eseguire alcune prove di sintesi di prova sul tuo HDL per FPGA di varie dimensioni.


Bene, questa è la cosa, non ho ancora iniziato a progettare (e il mio design è direttamente nella logica), perché, stavo progettando sulla base delle offerte speciali dei miei FPGA. So che avrei bisogno di circa 2,5 milioni di porte, quindi come troverei qualcosa che possa contenere così tante porte?
Haneefmubarak,

Come fai a sapere che hai bisogno di cancelli 2.5M?
Amoch

Ho iniziato a creare un modulo in un piccolo simulatore, moltiplicato per il numero di moduli di cui avrei bisogno, aggiunto un po 'di spazio e arrotondato per eccesso a due sig.
Haneefmubarak,

Come hai ottenuto un conteggio dei gate però? Gli strumenti FPGA ti forniranno numeri di utilizzo in termini di risorse, non di numero di gate.
Amoch

1
Come ha detto @The Photon, gli FPGA e i loro strumenti sono fortemente orientati verso le tecniche di progettazione sincrona e otterrai risultati scarsi facendo diversamente. Alla fine della giornata, tuttavia, se si desidera progettare un FPGA, utilizzare gli strumenti FPGA, non qualcos'altro.
Amoch

2

Vieni dall'altra parte: suona da altri commenti come se avessi già un modulo risolto. Forniscilo agli strumenti FPGA - anche quelli gratuiti ti daranno una stima del conteggio LUT / BRAM / FF dalla sintesi. Moltiplicalo per il conteggio delle tue istanze, aggiungi un po 'di gioco e lì hai un conteggio LUT utilizzabile per il dimensionamento dell'FPGA.

Naturalmente, potresti doverlo fare per ogni tipo di FPGA che consideri poiché ognuno di essi ha architetture un po 'diverse, in termini di numero di input che hanno i LUT e di quanti altri circuiti di supporto in termini di mux ecc. Hanno intorno i LUTS. E se il tuo circuito può trarne vantaggio ...


Bene, se potessi trovare uno strumento FPGA gratuito che mi permetta semplicemente di disegnare porte logiche e quindi programmare un FPGA con esso.
Haneefmubarak,

Se vuoi una stima seria, potresti voler prendere il diagramma dei cancelli e trasformarlo in HDL. Dovrai farlo comunque per fare seri lavori di implementazione in questi giorni. È un disegno "spaghetti" molto grande o strutturato gerarchicamente con un sacco di riutilizzo?
Martin Thompson,
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.