Answers:
能够运行no-mmu版本的linux的教科书32位RISC处理器内核实际上并不需要那么大-所需的实际资源是比任何FPGA都更多的RAM(10兆字节),因此您我可能会在板上需要SDRAM,而在FPGA中则需要一个控制器。
就是说,如果您想获得比平凡的性能更高的性能,则可能需要具有一些优化(流水线等)的内核,并且这会在某种程度上增加大小。添加完整的mmu将使内存(重新)分配更加有效,并启用通常的写时复制fork()行为。
两家主要的FPGA供应商都拥有带有可用Linux端口的软处理器内核-用于Xilinx的Microblaze,用于Altera的Nios II。您可能应该阅读他们的文档,以了解特定的平台建议,因为它当然是随时间变化的目标。如果第三方核心设计是以更可移植的方式编写的,并且没有针对给定的FPGA系列进行专门优化,则其性能可能会更大。
从历史上看,已经有可用的芯片将硬核(通常是powerpc)与可配置的FPGA结构区域结合在一起。要查看的另一种选择是与FPGA在同一板上的独立处理器(可能是ARM)。
很多决定将取决于您需要多么紧密地耦合处理器和FPGA。如果您可以将问题减少到配置寄存器和数据流,则它可以像将带有快速USB芯片的FPGA板悬挂在BeagleBoard或RasberryPi等嵌入式Linux板的USB主机端口上一样模块化。为了实现更紧密的集成,您可能希望将FPGA放在同一块板上并位于处理器的外部总线上。或者对于低数据速率,将SPI寄存器接口放置在FPGA中是微不足道的,而UART接口则完全可行,尽管有点棘手。
最后,这是一个问题,如果您实际上需要一个完整的操作系统(例如linux),还是一个“微控制器大小”的嵌入式TCP堆栈是否可以解决您的问题,同时又需要更少的内存。
Xilinx的Virtex系列具有带有硬核PowerPC的FPGA版本。在PowerPC上运行Linux相当容易,我的学生已经在许多高级设计项目中做到了。他们仍然具有大量可配置的结构,可以满足您的硬件设计需求。
该Virtex2临评估板是在教育和学术研究项目十分常见。由于Xilinx在其最近的工具中已不再支持该版本的芯片,因此您可以以相对便宜的价格购得该芯片。我认为它在9.x左右的版本中都受支持。嗯 那是几年前的事,所以也许我有点怀旧了。无论如何,我仍会将这些委员会分发给感兴趣的学生,让他们随心所欲地做任何事情。
Actel的SmartFusion在单芯片设备中将FPGA与硬IP ARM Cortex-M3内核和高级模拟引擎集成在一起。
uClinux在SmartFusion的Cortex-M3内核上运行良好。检查此站点以获取更多详细信息。