32-розрядний процесорний ядро підручника RISC, здатний запускати no-mmu версію Linux, насправді не повинен бути таким великим - реальний потрібний вам ресурс набагато більше оперативної пам'яті (10 мегабайт), ніж доступний у будь-якій FPGA, тому ви Напевно, вам захочеться SDRAM на платі і контролер для цього в FPGA.
Це означає, що якщо ви хочете щось більше, ніж тривіальний рівень продуктивності, ви, мабуть, хочете ядро з деякими оптимізаціями (конвеєрні роботи тощо), і це починає дещо збільшувати розмір. Додавання повного mmu дозволить зробити розподіл пам'яті (повторним) більш ефективним та забезпечить звичайну поведінку fork () для копіювання.
Обидва основні постачальники FPGA мають м'які процесорні ядра з доступними портами Linux - Microblaze для Xilinx, Nios II для Altera. Напевно, ви повинні прочитати їхні документи для конкретних рекомендацій платформи, оскільки це, звичайно, ціль, яка рухається з часом. Дизайн стороннього ядра може бути дещо більшим для подібної продуктивності, якщо він написаний більш портативним способом і не настільки оптимізований для даного сімейства FPGA.
Історично були доступні мікросхеми, що поєднують як жорсткий процесорний сердечник (часто powerpc), так і область, що настроюється на FPGA. Ще один варіант, на який слід звернути увагу, буде окремий процесор (ймовірно, ARM) на тій же платі, що і FPGA.
Дуже багато рішення буде залежати від того, наскільки щільно вам потрібно з'єднати процесор і FPGA. Якщо ви можете зменшити проблему до регістрів конфігурації та потоку даних, це може бути настільки ж модульним, як підвішування плати FPGA зі швидким USB-чіпом на USB-порту вбудованої плати Linux, як BeagleBoard або RasberryPi. Для більш тісної інтеграції вам може знадобитися FPGA на одній платі і сидячи на зовнішній шині процесора. Або для низьких швидкостей передачі даних тривіально розміщувати інтерфейс реєстрації SPI у FPGA, а інтерфейси UART цілком можливі, хоча і трохи складніше.
Нарешті, виникає питання, чи справді вам потрібна повноцінна операційна система, така як Linux, або якщо вбудований стек TCP з більш вбудованим стеком TCP "мікроконтролера" вирішить вашу проблему, вимагаючи менше пам'яті.