免费论文查重: 大雅 万方 维普 turnitin paperpass

试议芯片4×4片上网络芯片设计及FPGA验证

最后更新时间:2024-02-17 作者:用户投稿原创标记本站原创 点赞:6898 浏览:23235
论文导读:
摘 要: 片上网络(NoC)被称为是能够从根本上解决复杂片上系统通信瓶颈问题的通信架构。随着VLSI工艺从亚微米、深亚微米到纳米的不断发展,使得NoC芯片设计成为可能。使用VHDL硬件描述语言完成了一款4×4 NoC 芯片的设计。芯片功能的FPGA的验证结果表明,该芯片在100 MHz系统时钟情况下工作正常,证明了设计的正确性。同时,基于180 nm HJTC 工艺库完成了该款NoC芯片的物理设计。
关键词: 片上网络; FPGA验证; 物理设计; 通信架构
1004?373X(2013)08?0145?04
0 引 言
近年来迅速发展的片上多处理器系统(Multi?Processor System on a Chip,MPSoC)以其高速并行运算能力使其在智能手机、平板电脑、数字电视机顶盒等设备中得以广泛使用。日益丰富的功能应用对处理器运算能力不断地提出更高的要求,提高处理器运算能有两种可行的方法,一种方法是提高处理器的工作频率,另一种方法就是采用片上多处理器系统;一方面由于制造工艺的限制使得处理器的工作频率在短期内不会有较大的突破,另一方面由于处理器工作频率越高就意味着工艺尺寸越小,而工艺尺寸的缩小意味着更高的设计难度、制造成本和更大的风险,所以更高的数据运算能力要求处理器数进一步增加,但是当处理器数>6时总线架构不适用于 任务计算/通信比 较大的多处理器系统,而当处理器数不少于16时需要采用更高级的通信方案。片上网络(NoC)便是将来大规模多处理器片上系统的主要通信架构。
片上网络(Network on Chip,NoC)技术将计算机网络技术移植到芯片设计中,在芯片上实现了处理器的本地访问在本地实现,处理器间的信息交互由网络来完成,实现了全局异步和局部同步的通信,且使芯片资源更加丰富。这种新结构能够从体系结构上彻底解决总线结构对当前芯片进一步发展的瓶颈性阻碍(如:扩展性差、线通信效率低、单一时钟同步问题等)。本文使用VHDL硬件描述语言设计了一款4×4 片上网络芯片,经过逻辑验证后在FPGA实际硬件平台上对其完成了验证,并对其进行物理设计,得到了该款芯片的版图。
1 片上网络架构的设计
典型的片上网络通信系统可划分为功能子系统和通信子系统。图1是片上网络系统架构示意图。系统主要由三部分组成:资源模块(Resource)、网络接口(Interface)和片上网络;资源模块可以是功能子系统(包括处理器、存储器、多种外设)、也可以是单一模块(如DSP/GPIO/MPEG等),资源模块通过网络接口连接至片上网络,片上网络由网络节点(Node)和链路通道(Link)组成,它构成了相对独立的通信子系统,通过它,可以实现全局异步和局部同步通信:每个资源模块可工作于独立时钟域,各资源模块间通过片上网络进行异步通信,这样可以很好地解决全局同步带来的通信瓶颈性问题。

1.1 片上网络拓扑结构的设计

网络节点(Node)和链路通道(Link)的排列形式称为片上网络的拓扑结构,它不仅决定网络节点间链路通道的排列形式,而且直接影响片上网络的通信效率、所占用资源的多少和功耗的大小等。二维拓扑结构因其很好的适应了集成电路二维工艺的特点而得到广泛应用,是片上网络最为常用的拓扑结构。常见的二维片上网络拓扑结构主要包括网格(Mesh)、单环网(STorus)和双环网(DTorus)[3]。如图3所示。
图2中分别是16节点的网格、单环网、双环网的二维拓扑结构。网格型NoC的网络节点只能通过x、y方向的链路通道与相邻的网络节点相互通信;单环网增加了纵向两边界节点间的链路通道;双环网的纵、横边界节点间均有链路通道。二维网格型网络因其结构简单、容易分析和布局等优点,已成为研究的热点。本文所设计的NoC芯片采用二维网格型拓扑结构。

1.2 网络节点的设计

片上网络通过网络节点实现链路通道的分配及网络数据传输控制[4]。本文所设计的每个网络节点均有5个端口(West端、East端、South端、North端和LS端),每个端口对应一个虚拟通道分配器(VCA),由该分配器实现对应虚拟通道的使用分配。此外,每个网络节点还有一个仲裁器(ARB)和一个交换器(SW)(见图3)。
仲裁器控制端口分配论文导读:控制等功能,还实现网络节点之间、网络节点与所挂的本地系统之间的相互通信。本设计中的链路通道是一种通用型全双工双向通道。链路通道主要由两条虚拟通道(VC)和两个地址生成模块(block)构成(见图4)。虚拟通道实现传输数据包的存储和路由控制,地址生成模块完成节点地址编码,虚拟通道根据节点地址编码来确定它将连接至的节点地
,由它响应各端口的传输请求、控制交换器的切换实现对数据传输路径的控制。由仲裁器对某一端口被多个端口同时请求传输这一竞争现象进行仲裁。交换器则在来自仲裁器的交换控制信号的控制下建立数据传输的路径通道。

1.3 链路通道的设计

链路通道(Link)不仅实现数据传输过程中的暂时存储、路由控制等功能,还实现网络节点之间、网络节点与所挂的本地系统之间的相互通信[5]。本设计中的链路通道是一种通用型全双工双向通道。链路通道主要由两条虚拟通道(VC)和两个地址生成模块(block)构成(见图4)。虚拟通道实现传输数据包的存储和路由控制,地址生成模块完成节点地址编码,虚拟通道根据节点地址编码来确定它将连接至的节点地址。本文使用VHDL硬件描述语言完成了该款NoC芯片的设计,在Modulesim仿真平台上完成了该芯片的逻辑验证,证明了其逻辑功能的正确性。
本文使用VHDL硬件描述语言完成了该款NoC芯片的设计,在Modulesim仿真平台上完成了该芯片的逻辑验证,证明了其逻辑功能的正确性。
2 FPGA验证

2.1 FPGA验证平台及方法

本文所采用的验证平台是Xilinx?ISE 10.1软件和一块Xilinx Virtex?5 XC5VFX70T FPGA开发摘自:毕业论文www.7ctime.com
板;
本文所采用的验证方法是在每一个网络节点挂载一个VHDL语言描述模拟资源模块,由每个网络节点的模拟资源模块依次向其后的网络节点发送数据(如[00.00]节点依次向[00.01],[00.10],[00.11]…[11.11]发送数据,[00.01]节点依次向[00.10],[00.11],[01.00]…[11.11],[00.00]发送数据),并接收来自其他网络节点的数据;用Xilinx?ISE 10.1软件的组件ChipScope Pro Generator 将每个网络节点发送的数据及目标节点、接收的数据及源节点等信息生成在线逻辑分析仪的IP核,将该IP核插入到设计中,分别完成Synthesize,Translate,Map,Place&Route后生成.bit文件下载到FPGA开发板上,用Xilinx?ISE 10.1软件的组件ChipScope Pro Analyzer观察相关信号在实际硬件电路中的变化情况,如果在实际电路中每个数据包都能够正确的传输于源节点和目标节点之间,就能证明本文所设计4×4 NoC功能的正确性。源于:论文格式排版www.7ctime.com