将ARM处理器作为NoC系统中的一个资源节点,设计了资源网路接口,基于Linux操作系统的基础上,编写了FPGA设备的驱动程序。在典型的3×3 2D Mesh结构的NoC系统中进行了测试,结果表明该设计实现了ARM处理器资源节点和NoC系统中其他IP核数据的高速、可靠传输。
《基于ARM和FPGA的NoC资源网络接口驱动设计与实现》
随着半导体工艺的不断发展,深亚微米时代的到来,传统的SoC(System-on-Chip)架构面临着通信效率低、全局同步时钟设计复杂等问题。为解决这些挑战,NoC(Network-on-Chip)体系结构应运而生。NoC采用网络通信思想,引入路由和分组交换,有效地解决了片上通信瓶颈和时钟问题,成为多核复杂系统设计的新方向。尽管NoC研究热度持续升温,但成熟的技术和产品仍然匮乏。
本文提出了一种创新的设计方案,将ARM处理器作为NoC系统中的资源节点,并基于Linux操作系统,设计了资源网络接口,编写了FPGA设备驱动,实现了ARM处理器与其他IP核之间的高速、可靠数据传输。具体来说,资源网络接口包含发送模块和接收模块,分别负责数据的打包发送和解包接收。接口设计中,通过异步FIFO解决不同时钟域间的通信同步问题,确保数据的准确传输。
硬件平台选用Altera Cyclone IV系列的EP4CE115F29 FPGA,构建了3×3 2D-Mesh结构的NoC通信框架,结合虫洞数据交换和无锁死的确定性XY维序路由算法。ARM资源节点通过资源网络接口与FPGA通信,数据交互过程涉及异步时钟域的转换。在发送模块,数据经过组包器转化为包含头微片、数据微片和尾微片的数据包,通过路由节点转发。接收模块则负责接收并解包数据,通过中断机制通知ARM节点接收数据。
在3×3 2D Mesh结构的NoC系统测试中,这一设计成功地验证了ARM处理器资源节点与其他IP核之间的高效数据交换,展示了NoC技术在提升片上系统性能方面的潜力。未来,随着NoC技术的进一步发展,这种基于ARM和FPGA的资源网络接口设计有望在更复杂的SoC系统中发挥更大的作用,推动片上系统设计的革新。