Un núcleo de procesador RISC de 32 bits capaz de ejecutar la versión no-mmu de Linux en realidad no necesita ser tan grande: el recurso real que necesita es mucha más RAM (10s de megabytes) que la disponible en cualquier FPGA , así que probablemente querrás SDRAM en la placa y un controlador para eso en el FPGA.
Dicho esto, si desea algo más que un nivel de rendimiento trivial, probablemente desee un núcleo con algunas optimizaciones (canalización, etc.), y eso comienza a aumentar un poco el tamaño. Agregar un mmu completo hará que la (re) asignación de memoria sea más eficiente y habilitará el comportamiento habitual de copia en escritura fork ().
Los dos principales proveedores de FPGA tienen núcleos de procesador suaves con puertos linux disponibles: Microblaze para Xilinx, Nios II para Altera. Probablemente debería leer sus documentos para obtener recomendaciones de plataformas específicas, ya que, por supuesto, es un objetivo que se mueve con el tiempo. Un diseño de núcleo de terceros podría ser un poco más grande para un rendimiento similar, si está escrito de una manera más portátil y no tan específicamente optimizado para una familia FPGA determinada.
Históricamente, ha habido chips disponibles que combinan un núcleo de procesador duro (a menudo powerpc) con una región de estructura FPGA configurable. Otra opción a considerar sería un procesador separado (probablemente ARM) en la misma placa que un FPGA.
Gran parte de la decisión dependerá de qué tan estrechamente necesite acoplar el procesador y el FPGA. Si puede reducir el problema a los registros de configuración y un flujo de datos, podría ser tan modular como colgar una placa FPGA con un chip USB rápido del puerto host USB de una placa linux incorporada como BeagleBoard o RasberryPi. Para una integración más estrecha, es posible que desee que el FPGA esté en la misma placa y sentado en el bus externo del procesador. O para las bajas tasas de datos, es trivial colocar una interfaz de registro SPI en un FPGA, y las interfaces UART son completamente posibles, aunque un poco más complicadas.
Finalmente, existe la pregunta de si realmente necesita un sistema operativo completo como Linux, o si una pila TCP incrustada de "más tamaño de microcontrolador" resolvería su problema y requeriría menos memoria.