Un core del processore RISC da 32 bit per libri di testo in grado di eseguire la versione no-mmu di linux non ha bisogno di essere così grande - la vera risorsa di cui hai bisogno è molta più RAM (10s di megabyte) di quella disponibile in qualsiasi FPGA, quindi probabilmente vorrà SDRAM sulla scheda e un controller per quello nell'FPGA.
Detto questo, se vuoi qualcosa di più di un banale livello di prestazioni, probabilmente vuoi un core con alcune ottimizzazioni (pipeline, ecc.), E questo inizia ad aumentare leggermente le dimensioni. L'aggiunta di un mmu completo renderà la (ri) allocazione della memoria più efficiente e consentirà il solito comportamento fork () di copia su scrittura.
Entrambi i principali fornitori di FPGA hanno core di processori software con porte Linux disponibili: Microblaze per Xilinx, Nios II per Altera. Probabilmente dovresti leggere i loro documenti per consigli specifici sulla piattaforma in quanto è ovviamente un obiettivo che si muove nel tempo. Un design di base di terze parti potrebbe essere leggermente più grande per prestazioni simili, se è scritto in un modo più portatile e non ottimizzato in modo specifico per una determinata famiglia FPGA.
Storicamente ci sono stati chip disponibili che combinano sia un core del processore (spesso powerpc) con una regione di tessuto FPGA configurabile. Un'altra opzione da considerare sarebbe un processore separato (probabilmente ARM) sulla stessa scheda di un FPGA.
Gran parte della decisione dipenderà dalla stretta necessità di accoppiare il processore e l'FPGA. Se è possibile ridurre il problema ai registri di configurazione e a un flusso di dati, potrebbe essere modulare come appendere una scheda FPGA con un chip USB veloce fuori dalla porta host USB di una scheda Linux integrata come BeagleBoard o RasberryPi. Per una maggiore integrazione, è possibile che si desideri FPGA sulla stessa scheda e che si trovi sul bus esterno del processore. O per basse velocità di trasmissione dei dati, è banale inserire un'interfaccia di registro SPI in un FPGA e le interfacce UART sono completamente realizzabili anche se un po 'più complicate.
Infine, c'è la domanda se in realtà hai bisogno di un sistema operativo completo come Linux, o se uno stack TCP incorporato più "micro-controller" risolverebbe il tuo problema richiedendo meno memoria.