![基于FPGA的多时钟片上网络设计_第1页](http://file4.renrendoc.com/view/7e5f84ed42f7ec093b947c9c3d302eb2/7e5f84ed42f7ec093b947c9c3d302eb21.gif)
![基于FPGA的多时钟片上网络设计_第2页](http://file4.renrendoc.com/view/7e5f84ed42f7ec093b947c9c3d302eb2/7e5f84ed42f7ec093b947c9c3d302eb22.gif)
![基于FPGA的多时钟片上网络设计_第3页](http://file4.renrendoc.com/view/7e5f84ed42f7ec093b947c9c3d302eb2/7e5f84ed42f7ec093b947c9c3d302eb23.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于FPGA的多时钟片上网络设计在FPGA上设计一个高性能、灵活的、面积小的通信体系结构是一项巨大的挑战。大多数基于FPGA的片上网络都是运行在一个单一时钟下。随着FPGA技术的发展,Xilinx公司推出了Virtex-4平台。该平台支持同一时间内32个时钟运行,也就是说每个片上网络的内核可以在一个独立的时钟下运行,从而使每个路由器和IP核都运行在最佳频率上。因此适用于设计多时钟片上网络,实现高性能分组交换片上网络。1多时钟片上网络架构的分析片上网络结构包含了拓扑结构、流量控制、路由、缓冲以及仲裁。选择合适网络架构方面的元素,将对片上网络的性能产生重大影响。(1)网络拓扑:在设计中,选择Mesh拓扑结构。Mesh结构拥有最小的面积开销以及低功耗的特点。此外,Mesh的线性区的节点数量规模大以及通道较宽。同时,Mesh也能很好地映射到FPGA下的底层路由结构,降低了FPGA逻辑拥塞和路由器的功耗。(2)流控机制:虚拟直通和虫洞技术(不像存储转发)有数据包的延时与路径长度成正比。然而,与复杂的虫洞路由器相比,虚拟直通的路由器更加适合于设计的实现。因此,选择虚拟直通流量控制机制作为路由器的流量控制机制。相比较虫洞机制,它能支持更高的吞吐量,在堵塞时能更有效地释放缓存。此外,虚拟直通流量控制低延时的高信道利用率,与此同时并不保留物理通道。(3)路由算法:选择XY算法作为设计所采用的路由算法。该算法中分组的路由只取决于源节点和目的节点的地址,而与网络状况无关。当使用算法时首先在X维上进行路由,当到达与目的节点同一列时,转向在Y维上的路由,最后到达目的节点。该算法对硬件要求简单和实现容易,在网络流量不大时,具有较小的时延,能够有效避免死锁和活锁。(4)仲裁机制:输入端口分配是基于简单的Roundrobin[3]机制。上次接收或解决接收的端口会放在队列的末端。切换时到下游的数据包。当交换数据包时,FIFO的虚拟通道也遵循这种机制。2路由器微节点结构的设计多时钟片上网络的路由器由5个输入端口、交叉点矩阵和中央的仲裁器三部分组成。除了头译码逻辑,5个输入端口都是相同的。由于设计中采取了虚拟通道流控机制(VCS),因此输入端口就必须包含仲裁逻辑。与此同时,输入端口还应包含输入缓冲区来存储输入的数据包。2.1数据包利用XilinxblockRAM,设置深度为16的FIFO(先入先出队列),数据包的大小能在24位与128位之间变化,每个数据包header(包头)占用一个flit(数据片)。flit的大小固定在8位。数据包头包含路由目标地址、flit的类型以及部分数据包。设计中采用的虚拟直通流量控制需要1位去指定数据片的类型。路由器支持可变化大小的数据包,通过编码将数据包的大小编译为字段,作为bRAM所需要的部分,放在数据包头部。每个IP核的网络接口(NI)起到存储在数据包头部的信息的作用。当需要更高粒度数据包时,部分数据包的位数以及宽度将会相应的增加。增加部分数据包的位数的同时也提高了缓存的利用率。数据包首部保留的位数将用于实现基于优先级的流量控制。2.2输入端口路由器有5个输入端口,通过端口分别与内核及邻近的路由器通信,这5个端口按在方位可分为本地(L),北(N),东(E),南(S),西(W)。每个输入端口可以支持虚拟通道多路复用,相关联的仲裁器,以及头译码逻辑,从而作出路由决定。如图1,输入端口的3个主要组成部分分别是虚拟通道选择器、FIFObRAMs以及bRAM仲裁器。虚拟通道选择器:决定输入端缓存的使用空间的决定权在虚拟通道选择器。当数据包大小以编码形式传播时,虚拟通道选择器接收数据包的首部。当虚拟通道选择器收到来自上游路由器或者来自自身核心的数据时,虚拟通道选择器就会拿数据包的大小跟虚拟通道目前可以容纳数据包的大小进行比较。这么做的目的是为了能够使输入的数据能够符合FIFO中write_count的大小。如果有足够的空间存在,则虚拟通道选择器将同意输入请求,同时反馈信息。在此过程中,虚拟通道选择器还设置了输入端解复用器。解复用器的作用是使数据包从输入通道传输到正确的复用器的输入缓存中。FIFObRAMs:在所设计的路由器中,缓冲区的深度将参数化,在试验时同时将其深度设置为16。这些缓存区将被作为bRAMFIFO的存储器,同时起到以下作用:(1)缓冲部分或者全部到来的数据包,以及当下游开关可以用时,传送头部及紧跟的flit。(2)划分路由器核心以及路由器的频率,从而支持一个多时钟的网络设计。(3)通过仲裁器监察write_count端口的信息,来实现支持可变化大小的数据包。在缓冲区有单独时钟域的情况时,就需要一种有效的方式实施完整的或者空的逻辑。通过以下方式使控制信号同步:(1)发送数据包粒度作为一小部分FIFO的空间。(2)在一个时钟周期内,一个连接终止之前设置flit的尾部位。在所使用的FPGA设计中,由于支持FIFO的最小深度是16,所以它适合于在虚拟直通中缓冲整个数据包。write_count的空和满状态信号将集成在FIFO中。在一个多数据包的缓冲区中加大存储flit的能力,将有助于提高FIFO的利用率。此外,获得网络的吞吐量的增益,是由于上游连续包释放缓冲区所促成的。
图1输入端口设计图bRAM仲裁器:输入端口还包含了控制逻辑作出的仲裁决定。当选择一个非空的bRAM时,简单的Round-robin的方式仲裁算法将会启用。当选择bRAM时,FSM将会送出头部flit,解码出它的目的地址,并发送相应的要求。在所设计的路由器中采用XY路由算法将大大简化了解码器的逻辑结构。根据XY路由算法的通行路径许可,即将释放的请求线将会减少。头译码器:在XY路由算法中,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年PA12项目提案报告模范
- 2025年光伏电站建设与运营管理合同
- 2025年微博平台广告投放合作合同
- 2025年会议场地使用租约协议参考
- 2025年兽药购销合同样本
- 2025年企业借款担保合同标准文本
- 2025年二手住宅居间合同样本
- 2025年医疗美容公司股权融资协议
- 2025年企业文化建设合同样本
- 2025年乡村道路路基工程承包合同样本
- 虚拟化与云计算技术应用实践项目化教程 教案全套 第1-14周 虚拟化与云计算导论-腾讯云服务
- 甲基丙烯酸甲酯生产工艺毕业设计设备选型与布置模板
- 徐金桂行政法与行政诉讼法新讲义
- 沥青拌合设备结构认知
- 2023年北京高考政治真题试题及答案
- 复旦中华传统体育课程讲义05木兰拳基本技术
- 北师大版五年级上册数学教学课件第5课时 人民币兑换
- 工程回访记录单
- 住房公积金投诉申请书
- 外研版英语五年级下册第一单元全部试题
- 检验科生物安全风险评估报告
评论
0/150
提交评论