论文部分内容阅读
随着电子产业的飞速发展,芯片的集成度不断提高,芯片上可以集成的模块日益增多。传统的总线结构已经越来越难以满足日益复杂地片上系统的通讯要求。为了满足片上系统的通信需求,片上网络应运而生。片上网络借鉴计算机网络的拓扑结构,通过网络的方式使片上系统的各个资源可以实现互连互通,快速通信。在片上网络中,网络拓扑结构与路由算法是片上网络的两个重要组成部分。在多样的片上网络拓扑类型中,Mesh网络以其简单的拓扑结构、可预测路由路径和强大的网络可扩展性成为片上网络的主要发展方向。当片上网络的拓扑类型确定后,其路由算法的优劣就决定了整个网络的通讯效率的高低。在当前主流的Mesh网络路由算法中,由于计算数据直接在片上网络中的各个节点进行路由,因此当我们实际所需要传输的数据量超过片上网络中各个节点的线宽所能够承载的数据量时,片上网络的路由效率将会大大降低,进而导致片上网络中的数据拥塞。针对这种缺点,本文提出了一种基于片上存储的Mesh网络路由算法。与当前主流的基于数据的Mesh网络路由算法相比,该算法通过在网络中传输程序包的方式控制数据在Mesh网络的路由,由于并不是在Mesh网络中直接传输计算数据,其数据量的传输并不受Mesh网络中线宽的限制。因此,基于片上存储的Mesh网络路由算法可以使网络能够承载更大的数据量,并具有更好的路由效率。在算法的硬件设计与实现方面,与当前主流的同步时钟的电路实现方式不同,本算法的设计与实现采用了异步电路技术。采用异步电路的好处是,避免了使用时钟所产生的相位漂逸,导致的电路出错。在异步电路中,电路的运行并不是采用时钟来控制的,而是基于事件来驱动的。异步电路这种基于事件触发的机制,不但非常契合片上网络的运行方式,而且不会造成额外的功耗浪费。本文详细介绍了基于片上存储的异步Mesh网络路由算法的硬件电路的设计,并通过采用Xilinx公司的Vivado开发套件对基于片上存储的异步Mesh网络路由算法的设计进行了实现与仿真。最后,通过该算法与基于数据的Mesh路由算法的电路仿真结果进行的分析与对比,验证了基于片上存储的异步Mesh网络路由算法的实用性与正确性。