CN101420449A - 消息传递式片上网络仿真器 - Google Patents
消息传递式片上网络仿真器 Download PDFInfo
- Publication number
- CN101420449A CN101420449A CNA2008101476611A CN200810147661A CN101420449A CN 101420449 A CN101420449 A CN 101420449A CN A2008101476611 A CNA2008101476611 A CN A2008101476611A CN 200810147661 A CN200810147661 A CN 200810147661A CN 101420449 A CN101420449 A CN 101420449A
- Authority
- CN
- China
- Prior art keywords
- layer
- simulator
- network
- noc
- transmission type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出了一种针对片上网络(NoC)的自顶向下的基于消息传递接口(MPI)的分级仿真架构。分层结构有应用层、接口层、网络层、链路层。仿真器构架由生成器、编译仿真器两部分构成。对于特定应用的NoC系统,将应用层至网络层基础结构综合考虑,对高抽象级和寄存器传输级进行统一建模;处理器核间通信采用适合并行处理的MPI标准接口,以提高仿真架构通用性;提供对指令执行时间的精确分配与仿真。本发明涉及一种消息传递式片上网络仿真器。
Description
技术领域
本发明属于软件无线电和集成电路仿真的应用技术领域,特别是片上网络的仿真构架、仿真流程和仿真工具。
背景技术
深亚微米技术推动了片上系统的发展,集成电路集成规模和密度迅速增加,片上处理核间的数据通信压力显著增长,成为了片上系统性能的瓶颈。传统的资源竞争性的总线结构已不再适应片内通信的需求。片上网络(NoC)成为片上通信的有效、灵活和可扩展的解决方案。NoC系统不同于宏观网络,其可用资源极为有限。为了最有效地利用资源,面向应用的NoC成为研究重点。然而由于结构的可变性和应用的复杂性,很难通过数学建模估算面向应用的NoC的性能,因此近年来面向应用的NoC的仿真方法、仿真工具被广泛研究。
通过查新和广泛收集文献资料,我们发现已经公开的NoC仿真工具有如下几种:
参考文献A.Jalabert,S.Murali,L.Benini,G.D.Micheli.×pipesCompiler:A Tool forInstantiating Application Specific Networks on Chip.Proceedings of the conference on Design,automation and test in Europe.February 16-20,2004.和参考文献S.Murali,G.D.Micheli.SUNMAP:A tool for automatic topology selection and generation for NoCs.In Proceedings of the41st Design Automation Conference(DAC).pp.914-919.2004提出了×pipesCompiler,这是为自动实例化一个特定应用的NoC而开发的一种标准设计工具。它通过输入文件来实例化一个特定的NoC的拓扑结构。但由于仿真器的流模型是统计的,用户需要在仿真之前,根据处理元的各自应用,抽象出通信流的统计模型。.
参考文献M.Coppola,S.Curaba,M.D.Grammatikakis,G.Maruccia,F.Papariello.OCCN:A Network-on-Chip Modeling and Simulation Framework,Proc.Design,Automation and Test inEurope(DATE 04),IEEE CS Press,2004,pp.174-179.提出的OCCN是一种基于SystemC库的、自顶向下分层地描述NoC系统的工具,关注于应用软件和片上通信网络的连接。
某些文献也将主要应用于宏观网络研究的OPNET和NS-2作为NoC系统仿真器。尽管宏观网络仿真工具具备设计有限状态机和一些特定通信流模型的能力,能够方便地模拟网络拓扑结构,但它们无法模拟出有效的系统时钟。另外,开放式IP核接口协议(OCP)为NoC在系统级上的点到点通信提供了一种自顶向下的设计方法,而且这种方法也提供了一组能加速硬件通信行为仿真的可配置协议栈,但它对NoC仿真缺乏交换和路由特征的构建。
发明内容
为了克服上述仿真方法的局限性,我们开发了一种自顶向下的仿真构架,实现了基于SystemC的消息传递式NoC仿真器。
SystemC语言作为C++语言的一个程序库,能模拟精确的时钟和支持高层次的抽象模型,可以用来设计软硬件有效协同的系统。另外与大多数关注于寄存器传输级(RTL)和行为级的硬件描述语言相比,SystemC具有更高的仿真效率。本消息传递式NoC仿真器涵盖了NoC系统中从应用层到物理层的所有层次,而不是仅仅局限于某些特殊层。特定的信息流可以载入到NoC中并行处理,处理元之间的通信遵循消息传递接口协议(MPI)。每条指令的执行时间通过SystemC中的wait函数调用来精确分配,从而保证了时钟精确性。
对统计模型使用自顶向下的消息传递式NoC仿真器具有许多优势。第一,消息传递式NoC仿真器能更准确地仿真实际通信流特征。由于同质系统(即各处理元同质)的许多并行应用具有对称性,也就是每一进程往往是同时执行同样的操作(比如包发送、包接收或计算),造成了在某个瞬间交叉开关(Crossbar)严重拥塞而其他时间空闲的情形,这样对每个处理元采用独立的泊松过程或其他随机过程作为流模型并不精确。即使是异质系统(即各处理元异质)中,处理元之间的连接依然很紧密。比如说,进程A只有当接收到进程B的数据之后才能进行下一步的处理。本仿真构架由于融合了高层的结构和高层的业务流量描述,因此能够更精确地仿真这种情形。第二,传统的仿真流程往往是在获取网络基础结构的信息前将高层应用抽象成数据传输率,然而网络基础结构也会影响数据传输率,所以如果缺乏网络基础结构的信息,将导致数据抽象不精确。另外,时延、数据差错重传也会影响到应用的模型抽象。本仿真器构架则将网络基础结构与高层统一仿真。第三,消息传递式NoC仿真器能对网络基础结构的功耗进行更为精确的估算。互连链路上的瞬时功耗与链路上的活动因子a成正比,并且与链路和晶体管中的比特翻转率直接相关。目前许多NoC的流模型在比特间不包含相关信息的时候将a视为常数。而实际上,当数据包中的比特间相关性为0时,a为50%;比特间相关性非0时,a为一变值。本仿真器结合具体的流量进行功耗估算,能够得到更加精确的结果。第四,消息传递式NoC仿真器提供了一种NoC网络结构上并行算法的仿真方法。由于仿真器模拟了系统时钟,因此保证了评估并行算法的准确性,这是传统的从应用中抽象出流模型无法实现的。
附图说明
图1是消息传递式NoC仿真器分层结构。
图2是消息传递式NoC仿真器仿真流程。
图3是网络信息文件结构示意。
1是应用层,2是接口层,3是网络层,4是链路层,5是高层应用文件,6是MPI库文件,7是网络适配器高层描述文件,8是网络适配器RTL级描述文件,9是网络拓扑信息文件,10是网络结构文件,11是交换节点结构文件,12是链路特性文件,13是功耗估计文件,21是网络信息文件,22是应用输入文件,23是生成器,24是仿真器,25是SystemC库文件,26是追踪文件,27是仿真结果文件。
具体实施方式
NoC系统的每一层在消息传递式NoC仿真器中都具有对应的设计模块来完成其特定的功能,如图1所示。高层利用C++语言描述,而低层使用RTL描述和具有精确时钟特征的SystemC语言描述。在链路层和网络层,消息传递式NoC仿真器使用寄存器传输级(RTL)建模完成精确时钟仿真;这两层描述了交换节点、网络拓扑和链路物理特征。接口层包含MPI库、网络适配器的RTL描述以及高级抽象描述。该层利用SystemC例化了低层的结构并使得它们能够被高层调用,是网络结构和应用之间的接口;另外,该层用SystemC实现的MPI库包含用MPI标准定义的通信函数。应用层建立在网络结构和接口层之上,通过调用MPI库提供的通信函数,屏蔽掉网络结构。
如图2所示,消息传递式NoC仿真器包含生成器和编译仿真器,因此仿真流程也就分为两个相应的步骤。第一步,生成器生成与网络特征相关的文件,并通过用户定义的输入文件生成高层应用文件等。第二步,SystemC库、MPI库和设计模块载入编译仿真器,并与第一步生成的文件一起编译和仿真,而仿真后的结果作为相应的输出文件。
由前所述,应用输入文件遵守MPI标准。传统的计算机MPI程序设计,并未考虑各处理元由于分配的处理负载造成的处理时延。但是在NoC系统中,由于处理速度和负载的不同,导致处理元的处理时延相差较大,需要对每一并行的应用指令都调用SystemC库的wait函数,以仿真出处理的真正执行时间,然后每一指令被分配对应的时延。网络信息文件不仅提供网络拓扑信息、交换节点以及处理元的特征,也包含互连链路的物理特征,比如位宽、线长等。生成器通过链路模型计算链路延迟和误比特率。
下文将通过一个实例来具体说明消息传递式片上网络仿真器的使用步骤与功能特性。假设要生成一个包括两个交换节点和两个处理元的简单拓扑。两个交换节点通过一条互连链路连接,而每个交换节点分别连接到一个处理元,互连线路包含两条虚通道。此网络拓扑的网络信息文件主要部分如图3所示,由三个部分组成。第一部分描述交换节点,包括交换节点各自的坐标和处理时钟(单位:ns)。为了研究二维或更高逻辑维数的NoC拓扑,NoC拓扑的维数可以在网络信息文件预先指定(图3没有示出)。因为图3中描述的是二维拓扑,所以每个结点由两个坐标值确定。由于NoC系统大量采用全局异步/局部同步(GALS)体系结构,这样每个交换节点和处理元可能拥有各自不同的处理时钟,因此每一交换节点和处理元的处理时钟频率要独立设置。第二部分提供了交换节点间的连接信息。NoC拓扑通常用有向图来进行分析,即一对双向互连的交换节点拥有不同的物理特性,例如位宽、长度、延迟等。每一连接每一方向都可以独立地规定各自的物理特性。第三部分给出了处理单元的信息。与交换节点间的互连相比,交换节点和网络适配器间互连线的长度较短,因此误比特率也非常低,所以消息传递式NoC仿真器的交换节点与网络适配器之间线路将近似采用无错误无延迟的模型。
在向生成器输入前述网络信息文件后,如图2所示,生成器将依次产生四种文件。其中,网络拓扑信息文件包括用全局常量描述的网络拓扑信息。处理元和交换节点可以访问该文件,执行相关拓扑的操作,比如计算路由、决定交叉开关控制器的状态。网络结构文件提供网络拓扑的结构级描述,用于仿真器编译和仿真NoC系统。处理元和交换节点不能访问该文件。高层应用文件是将用户输入的用于仿真的高层应用输入文件进行格式转换,以使其符合本仿真器的格式;链路特性文件是通过输入的网络信息文件计算出链路的延时误码等特性与模型,以在仿真器中进行模拟。
在生成器生成了前述的各类文件之后,用户需要调用仿真器,并新建工程再加载这些文件进行仿真。消息传递式NoC仿真器所使用的仿真平台加载了SystemC库的C++编译器,如turbo C++,g++,Visual C++等。
NoC系统的模块以一种模块化设计的形式组织起来。消息传递式NoC仿真器提供了所有模块的原型,但用户也可以用自己设计的模块替代这些原型,以评估其设计模块的性能。另外,用户可以在追踪文件中指定需要监控的信号和变量,从而将这些信号与变量存成通用的.vcd文件,可以使用各种工具进行验证分析。
Claims (4)
1、消息传递式片上网络仿真器,包括分层结构、仿真器构架、仿真流程。分层结构有应用层、接口层、网络层、链路层。仿真器构架由生成器、编译仿真器两部分构成。仿真流程分成三步:1.生成器根据用户输入的高层应用、网络信息的描述生成编译仿真器可编译或可访问的应用层、网络层、链路层描述文件;II.编译仿真器将第一步生成的文件与SystemC库、各种网络基本元件描述、功耗估计文件等一起编译;III.仿真完成后形成性能统计结果和信号跟踪记录。
2、根据权利要求1所述的消息传递式片上网络仿真器,其特征在于:涵盖了片上网络系统中自顶向下、从应用层到链路层的所有层次,将高层应用、接口层、网络层、链路层统一考虑,对高抽象级和寄存器传输级进行统一建模。
3、根据权利要求1所述的消息传递式片上网络仿真器,其特征在于:采用消息传递接口(MPI)作为各种并行程序的通用通信接口,避免高层各种并行程序使用不同的通信接口对仿真造成的不便,以提高仿真架构通用性。
4、根据权利要求1所述的消息传递式片上网络仿真器,其特征在于:每条指令的执行时间通过SystemC中的wait函数调用来精确分配,从而保证了时钟仿真精确性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101476611A CN101420449A (zh) | 2008-11-24 | 2008-11-24 | 消息传递式片上网络仿真器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101476611A CN101420449A (zh) | 2008-11-24 | 2008-11-24 | 消息传递式片上网络仿真器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101420449A true CN101420449A (zh) | 2009-04-29 |
Family
ID=40631053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101476611A Pending CN101420449A (zh) | 2008-11-24 | 2008-11-24 | 消息传递式片上网络仿真器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101420449A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338427A (zh) * | 2020-02-27 | 2020-06-26 | 深圳航天科技创新研究院 | 一种实现SystemC半实物仿真时间同步的方法 |
CN116341481A (zh) * | 2023-05-26 | 2023-06-27 | 南京芯驰半导体科技有限公司 | 一种时钟文件的确认方法、装置、电子设备及存储介质 |
-
2008
- 2008-11-24 CN CNA2008101476611A patent/CN101420449A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338427A (zh) * | 2020-02-27 | 2020-06-26 | 深圳航天科技创新研究院 | 一种实现SystemC半实物仿真时间同步的方法 |
CN111338427B (zh) * | 2020-02-27 | 2021-06-15 | 深圳航天科技创新研究院 | 一种实现SystemC半实物仿真时间同步的方法 |
CN116341481A (zh) * | 2023-05-26 | 2023-06-27 | 南京芯驰半导体科技有限公司 | 一种时钟文件的确认方法、装置、电子设备及存储介质 |
CN116341481B (zh) * | 2023-05-26 | 2023-08-22 | 南京芯驰半导体科技有限公司 | 一种时钟文件的确认方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Murali et al. | SUNMAP: a tool for automatic topology selection and generation for NoCs | |
Pande et al. | Design, synthesis, and test of networks on chips | |
Palermo et al. | PIRATE: A framework for power/performance exploration of network-on-chip architectures | |
Du et al. | Towards a taxonomy of simulation tools for wireless sensor networks | |
Genko et al. | Feature-NoC emulation: a tool and design flow for MPSoC | |
CN100588197C (zh) | 一种网格模拟方法及其模拟器 | |
Gilabert et al. | Exploring high-dimensional topologies for NoC design through an integrated analysis and synthesis framework | |
CN101420449A (zh) | 消息传递式片上网络仿真器 | |
Yoo et al. | Communication architecture synthesis of cascaded bus matrix | |
Khamis et al. | Emulation and verification framework for MPSoC based on NoC and RISC-V | |
Gharan et al. | Flexible simulation and modeling for 2D topology NoC system design | |
Rao et al. | Multi-resolution network simulations using dynamic component substitution | |
Grecu et al. | A flexible network-on-chip simulator for early design space exploration | |
Calvez et al. | Uninterpreted co-simulation for performance evaluation of hw/sw systems | |
Beserra et al. | System-level modeling of a mixed-signal system on chip for wireless sensor networks | |
Wainer et al. | Specification, modeling and simulation of timed Cell-DEVS spaces | |
Conti et al. | Power optimization in multi-core system-on-chip | |
Le Beux et al. | Optimizing configuration and application mapping for MPSoC architectures | |
Thid | A network on chip simulator | |
Li et al. | Msns: A top-down mpi-style hierarchical simulation framework for network-on-chip | |
Bruch et al. | BrownPepper: A SystemC-based simulator for performance evaluation of Networks-on-Chip | |
Nejad et al. | Mapping kpn models of streaming applications on a network-on-chip platform | |
Niazi et al. | An emulation solution for the segbus platform | |
Agarwal | System-Level Modeling of a Network-on-Chip | |
Ningyi et al. | A systemC-based NoC simulation framework supporting heterogeneous communicators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090429 |