CN106506267B - 面向功耗温度的动静态相结合的NoC实时监测配置电路 - Google Patents

面向功耗温度的动静态相结合的NoC实时监测配置电路 Download PDF

Info

Publication number
CN106506267B
CN106506267B CN201610947677.5A CN201610947677A CN106506267B CN 106506267 B CN106506267 B CN 106506267B CN 201610947677 A CN201610947677 A CN 201610947677A CN 106506267 B CN106506267 B CN 106506267B
Authority
CN
China
Prior art keywords
module
data
configuration
noc
sent
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.)
Active
Application number
CN201610947677.5A
Other languages
English (en)
Other versions
CN106506267A (zh
Inventor
杜高明
马世碧
李向阳
张多利
宋宇鲲
尹勇生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huangshan Development Investment Group Co.,Ltd.
Original Assignee
Hefei University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN201610947677.5A priority Critical patent/CN106506267B/zh
Publication of CN106506267A publication Critical patent/CN106506267A/zh
Application granted granted Critical
Publication of CN106506267B publication Critical patent/CN106506267B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种面向功耗温度的动静态相结合的NoC实时监测配置电路,其特征是包括:下行模块、定时模块、配置模块、收集模块、X个下行打包模块、(X×Y)个监测模块、上行模块、DDR用户接口模块。本发明能动态地监测并收集各个通讯节点的通讯量,动态地配置NoC各个通讯节点的通讯任务,从而保证NoC各个通信节点的通讯量均衡,避免因NoC局部通讯量过大而产生的局部“热点”,进而提高NoC的整体性能。

Description

面向功耗温度的动静态相结合的NoC实时监测配置电路
技术领域
本发明属于集成电路片上网络的通信技术领域,尤其涉及一种面向功耗温度的动静态相结合的NoC实时监测配置电路。
背景技术
片上网络(Network-on-Chip,NoC)替代传统总线结构的改变虽然一定程度上克服了传统结构带来的各种问题,但是随着IP(Intellectual Property)核的增多和通讯量的提升,随着芯片体积的减小和整体性能的提高,NoC整体性能成为设计的焦点,当通讯数据在NoC中传输时,导致NoC局部通讯节点通讯量过高,势必导致芯片局部温度升高,高温使得芯片的性能受到影响甚至可能损坏器件,这在很大程度上削弱了NoC的诸多优势,直接影响到NoC***的性能,因此,降低NoC局部通讯节点的通讯量很有必要。
现有技术当中,虽已实现了对NoC的可监测和可配置,如2010年的“可配置可监测NoC原型平台的研究”,但文中“可监测”是对吞吐率和延时的监测,“可配置”是对NoC自身的参数(如缓存FIFO的深度、路由算法、输出仲裁算法)的配置,此方法的不足之处在于,
1、只能监测NoC总体的通讯量,无法监测NoC各个节点的通讯量,只能得知NoC总体的性能和通讯状况,无法得知NoC各个节点的具体性能和通讯状况;
2、在实现可配置的同时可能造成通讯任务较集中从而使单个节点的通讯量过大,从而产生局部热点,影响芯片的性能。
发明内容
本发明为克服现有NoC大量数据传输的芯片局部热点问题,提出了一种面向功耗温度的NoC实时监测配置电路,以期能动态地监测并收集各个通讯节点的通讯量,并动态地配置NoC各个通讯节点的通讯任务,从而保证NoC各个通信节点的通讯量均衡,避免因NoC局部通讯量过大而产生的局部“热点”,进而提高NoC的整体性能。
本发明为达到上述目的所采用的技术方案是:
本发明一种面向功耗温度的NoC实时监测配置电路,所述NoC是由通讯节点及计算节点组成的片上网络,假设所述NoC共有N=X×Y个通讯节点,X表示所述NoC的行数,Y表示所述NoC的列数,每个通讯节点有北、东、南、西、本地五个方向的输入输出通道;1≤k≤N,其特点是:
所述NoC实时监测配置电路设置在网口与所述NoC之间,并包括:上行模块、下行模块、定时模块、配置模块、收集模块、Y个下行打包模块、X×Y个监测模块、DDR用户接口模块;所述X×Y个监测模块分别与X×Y个通讯节点的输出通道相连接;
所述下行模块接收上位机通过网口发送的数据包,并存储到自身的FIFO中,再从自身FIFO中读取数据包进行解析和判断,得到所述数据包中携带的命令类型,若所述命令类型为定时命令,则解析出所述数据包中的定时标志后,发送给所述定时模块;若所述命令类型为配置命令,则截取所述数据包中的低位配置数据,并发送给所述配置模块,若所述命令类型为读取DDR命令,则产生一个读取DDR标志,并发送给所述上行模块和所述DDR用户接口模块;
所述配置模块接收所述低位配置数据,并判断所述低位配置数据携带的源节点地址的大小,若源节点地址为n,1≤n≤Y,则将所述低位配置数据发送给相应的第n个下行打包模块;
所述第n个下行打包模块接收所述配置模块的低位配置数据,并存入自身的FIFO中,再从自身FIFO中读取所述低位配置数据并打包成符合网络传输协议的数据包后,发送给NoC进行处理,由计算节点处理完成之后产生配置完成标志并发送给配置模块;
所述配置模块接收所述NoC中计算节点发送的配置完成标志后,产生一个开始信号,并发送给所述定时模块和NoC中每个计算节点;
所述定时模块根据所接收的定时标志选择定时时间,并在接收到所述开始信号后开始计时,直到计时时间等于所选择的定时时间时,产生一个收集信号并发送给所述X×Y个监测模块;
所述X×Y个监测模块接收所述定时模块的收集信号后,将所述定时时间内统计的数据通讯量发送给所述收集模块;
所述收集模块接收所述监测模块的数据通讯量并存储在自身的FIFO中,直到所有的数据通讯量都存储完毕后,产生一个准备好信号并发送给所述上行模块;
所述上行模块接收所述收集模块的准备好信号后,产生一个读取所述收集模块的FIFO的收集读信号并发送给所述收集模块;
所述收集模块接收到所述上行模块的读信号后,将定时时间内统计的数据通讯量分别发送给所述上行模块和所述DDR用户接口模块;
所述上行模块接收所述收集模块发送的数据通讯量,并存储到自身的FIFO中,并通过网口将数据通讯量发送给上位机,从而实现NoC的实时配置和数据通讯量的实时监测;
所述DDR用户接口模块接收所述收集模块发送的数据通讯量,并存储在自身的DDR写FIFO中,当DDR初始化完成后把DDR写FIFO里的数据通讯量写进DDR控制器中;
若上位机未接收到数据通讯量,则所述上行模块接收所述下行模块的读取DDR标志后产生一个DDR读FIFO信号,发送给所述DDR用户接口模块;
所述DDR用户接口模块接收到所述下行模块发送的读取DDR标志和所述上行模块发送DDR读FIFO信号时,把DDR控制器中存储的数据通讯量读出,并通过所述DDR用户接口模块的DDR读FIFO,把数据通讯量发送给所述上行模块;
所述上行模块通过所述网口将所述数据通讯量发送给所述上位机,从而检测是所述收集模块未成功收集数据还是上位机未成功接收数据。
本发明所述的NoC实时监测配置电路的特点也在于,
所述定时模块包括:临时寄存器、时间选择器和时间计数器;
所述临时寄存器根据上位机通过网口发送的定时命令,寄存数据包中的定时标志;
所述时间选择器根据所述临时寄存器中的数据选择定时时间;
所述时间计数器根据所述配置模块发送的开始信号进行计数,直到计数器的值等于所述
时间寄存器选择的定时时间后,产生所述收集信号。
所述配置模块包括:Y个配置数据寄存器、Y个写使能寄存器和X×Y个配置表寄存器;
所述任意一个配置数据寄存器根据所述配置模块对低位配置数据中低位源节点地址的判断,对将要输出给相应下行打包模块的配置数据进行寄存;
所述任意一个写使能寄存器根据所述配置模块对低位配置数据中低位源节点地址的判断,对相应下行打包模块的FIFO写使能信号进行寄存;
所述任意一个配置表寄存器在复位时将配置表寄存器的值设为高电平,并根据所述配置模块对低位配置数据中低位源节点地址的判断,设置自身配置表寄存器为低电平,直到所述配置模块接收到所述NoC内部每个计算节点的配置完成标志后产生开始信号后,将自身配置表寄存器值设为高电平,从而完成对NoC的重新配置。
所述收集模块包括:5(X×Y)个临时寄存器、一号计数器和二号计数器;
所述任意一个临时寄存器用于寄存东、南、西、北和本地的输出通道中相应通讯节点的数据通讯量;
所述一号计数器控制所述收集模块将接收到的数据通讯量写进相应的临时寄存器中,所述二号计数器控制临时寄存器中数据通讯量写进所述收集模块的FIFO中,等待全部数据通讯量写进所述收集模块的FIFO,则将准备好信号拉高。
所述任意一个监测模块包括:5个A位的数据临时寄存器Q、5个B位的数据通讯量计数器、5个B位的数据通讯量计数寄存器和C位的通讯量输出寄存器;
所述5个A位的数据临时寄存器Q寄存上一周期的NoC中东、南、西、北和本地方向发送给所述监测模块的数据,再将5个A位的临时寄存器Q中存储的上一周期的数据取出与当前周期输入的数据相比较,若不相等,则产生相应东、南、西、北、本地方向的数据变化信号;
所述5个B位的数据通讯量计数器根据东、南、西、北、本地方向的数据变化信号对相应方向的计数器进行计数,计数完成之后等待接收所述定时模块的收集信号,当接收到所述定时模块的收集信号时,将所述5个B位的数据通讯量计数器的值赋给5个B位的数据通讯量计数寄存器,并将5个B位的数据通讯量计数器清零;
所述C位的通讯量输出寄存器用于将节点坐标、方向和数据通讯量一起打包输出给所述收集模块,从而完成所述NoC的数据通讯量的监测。
与现有技术相比,本发明的有益技术效果体现在:
1、本发明提出的NoC实时监测配置电路,通过动态地监测并收集各个通讯节点的通讯量,并重新配置NoC各个通讯节点的通讯任务,实现了NoC通讯任务的实时配置和通讯量的实时监测,从而保证了NoC各个通信节点的通讯量均衡,避免了因NoC局部通讯量过大而产生的局部“热点”,进而提高了NoC的整体性能。
2、本发明提出监测模块与收集模块,通过对NoC各个通讯节点输出通道的通讯量的监测,实现了对NoC各个通讯节点通讯量的实时监测与收集,进而了解了NoC各个节点的通讯状况。
3、本发明提出的配置模块,通过接收上位机的配置命令,并根据配置数据将通讯任务配置到NoC中,实现了对NoC各个通讯节点通讯任务地实时配置,进而降低了局部“热点”。
4、本发明提出的定时模块,通过接收上位机的定时命令,监测和收集都是对于“定时时间”内的通讯量,保证了监测与收集的准确性。
5、本发明提出的DDR用户接口模块,通过将NoC要上传至上位机的通讯量传输给上位机的同时,也复制一份存储到DDR中,若上位机没有接收到数据,则上位机发送从DDR中读取数据的命令,增加了数据监测和数据传输的可靠性。
附图说明
图1本发明NoC实时监测配置电路的应用示意图;
图2本发明定时模块电路图;
图3本发明配置模块电路图;
图4本发明收集模块电路图。
具体实施方式
本实施例中,NoC是由通讯节点及计算节点组成的片上网络,假设所述NoC共有N=X×Y个通讯节点,X表示所述NoC的行数,Y表示所述NoC的列数,通讯节点的序号为1,2,…,k,…,N,其中,k表示第k个通讯节点的序号,具体实施中,NoC是4×4二维网络,由16个通讯节点及16个计算节点组成,即NoC有4行和4列,且每个通讯节点有北、东、南、西、本地五个方向的输入输出通道;上位机发送的数据包格式如表1所示:
表1上位机发送的数据包格式
data[47:44] data[43:40] data[39:36] data[35]
子流数 应用类型标示 命令类型 数据包结束标志
data[34:32] data[31:16] data[15:8] data[7:0]
多目标节点子流 数据包发送速率 目的节点 源节点
如图1所示,NoC实时监测配置电路设置在网口与NoC之间,并包括:上行模块、下行模块、定时模块、配置模块、收集模块、4个下行打包模块、16个监测模块、DDR用户接口模块;16个监测模块分别与16个通讯节点的输出通道相连接;
下行模块接收上位机通过网口发送的数据包,并存储到自身的FIFO中,再从自身FIFO中读取数据包进行解析和判断,得到数据包中携带的命令类型data[39:36],若data[39:36]等于4'b0001,则为定时命令,则解析出数据包中的定时标志后,发送给定时模块;若data[39:36]等于4'b0010,则为配置命令,则截取数据包中的低位配置数据,并发送给配置模块,若上位机未收到FPGA发上来的数据,上位机才会发送读取DDR命令,若data[39:36]等于4'b0011,则产生一个读取DDR标志,并发送给上行模块和DDR用户接口模块;
配置模块接收低位配置数据,并判断低位配置数据携带的源节点列坐标地址的大小,若源列坐标节点地址为1、2、3或4,则将低位配置数据发送给相应的第1个、第2个、第3个、第4个下行打包模块;
4个下行打包模块接收配置模块的低位配置数据,并存入自身的FIFO中,再从自身FIFO中读取低位配置数据并打包成符合网络传输协议的数据包后,发送给NoC进行处理,由计算节点处理完成之后产生配置完成标志并发送给配置模块;
配置模块接收NoC中计算节点发送的配置完成标志后,产生一个开始信号,并发送给定时模块和NoC中每个计算节点;
定时模块根据所接收的定时标志选择定时时间,并在接收到开始信号后计数器开始计时,直到计时时间等于所选择的定时时间时,产生一个收集信号并发送给16个监测模块;
16个监测模块接收定时模块的收集信号后,将节点坐标,相应北、东、南、西或本地方向和定时时间内统计的数据通讯量发送给收集模块;
收集模块接收监测模块的数据通讯量并存储在自身的FIFO中,直到所有的数据通讯量都存储完毕后,产生一个准备好信号并发送给上行模块;
上行模块接收收集模块的准备好信号后,产生一个读取收集模块的FIFO的收集读信号并发送给收集模块;
收集模块接收到上行模块的读信号后,将定时时间内统计的数据通讯量分别发送给上行模块和DDR用户接口模块,以便上位机未接收到数据从DDR控制器中读取数据通讯量;
上行模块接收收集模块发送的数据通讯量,并存储到自身的FIFO中,并通过网口将数据通讯量发送给上位机,从而实现NoC的实时配置和数据通讯量的实时监测。
DDR用户接口模块接收收集模块发送的数据通讯量,并存储在自身的DDR写FIFO中,当DDR初始化完成后把DDR写FIFO里的数据通讯量写进DDR控制器中;
若上位机未接收到通讯量,则上行模块接收下行模块的读取DDR标志后产生一个DDR读FIFO信号,发送给DDR用户接口模块;
DDR用户接口模块接收到下行模块发送的读取DDR标志和上行模块发送DDR读FIFO信号时,把DDR控制器中存储的数据通讯量读出,并通过DDR用户接口模块的DDR读FIFO,把数据通讯量发送给上行模块;
上行模块通过网口将数据通讯量发送给上位机,从而检测是收集模块未成功收集数据还是上位机未成功接收数据。
如图2所示,定时模块包括:临时寄存器、时间选择器和时间计数器;
临时寄存器根据上位机通过网口发送的定时命令,寄存数据包中的定时标志;
时间选择器根据临时寄存器中的数据选择定时时间,本实施例中定时时间有0.1s,0.5s,1s,5s,10s,20s,30s,40s,50s,60s,若定时标志等于4'b0001,则定时时间等于0.1s,若定时标志等于4'b0010,则定时时间等于0.5s,若定时标志等于4'b0011,则定时时间等于1s,若定时标志等于4'b0100,则定时时间等于5s,若定时标志等于4'b0101,则定时时间等于10s,若定时标志等于4'b0110,则定时时间等于20s,若定时标志等于4'b0111,则定时时间等于30s,若定时标志等于4'b1000,则定时时间等于40s,若定时标志等于4'b1001,则定时时间等于50s,若定时标志等于4'b1010,则定时时间等于60s;
时间计数器根据配置模块发送的开始信号进行计数,赛灵思FPGA开发板Virtex6_XC6VLX760的输入时钟频率为50MHz,一个时钟周期等于20ns,计数器计数到5000000表示定时时间为0.1s,计数器计数到25000000表示定时时间为0.5s,计数器计数到50000000表示定时时间为1s,计数器计数到5000000表示定时时间为5s,计数器计数到5000000表示定时时间为10s,计数器计数到5000000表示定时时间为20s,计数器计数到5000000表示定时时间为30s,计数器计数到5000000表示定时时间为40s,计数器计数到5000000表示定时时间为50s,计数器计数到5000000表示定时时间为60s,直到计数器的值等于时间寄存器选择的定时时间后,产生收集信号。
如图3所示,配置模块包括:4个配置数据寄存器、4个写使能寄存器和16个配置表寄存器;
任意一个配置数据寄存器根据配置模块对低位配置数据中低位源节点地址的判断,对将要输出给相应下行打包模块的配置数据进行寄存,若列坐标等于1,则将配置数据寄存器中的低位配置数据输出给下行打包模块1,若列坐标等于2,则将配置数据寄存器中的低位配置数据输出给下行打包模块2,若列坐标等于3,则将配置数据寄存器中的低位配置数据输出给下行打包模块3,若列坐标等于4,则将配置数据寄存器中的低位配置数据输出给下行打包模块4;
任意一个写使能寄存器根据配置模块对低位配置数据中低位源节点地址的判断,对相应下行打包模块的FIFO写使能信号进行寄存,若列坐标等于1,则下行打包模块1中FIFO的写使能置1,若列坐标等于2,则下行打包模块2中FIFO的写使能置1,若列坐标等于3,则下行打包模块3中FIFO的写使能置1,若列坐标等于4,则下行打包模块4中FIFO的写使能置1;
任意一个配置表寄存器在复位时将配置表寄存器的值设为高电平,并根据配置模块对低位配置数据中低位源节点地址的判断,设置自身配置表寄存器为低电平,例如源节点坐标等于(1,1),就将(1,1)节点的配置表置0,源节点坐标等于(1,2),就将(1,2)节点的配置表置0,以此类推;直到配置模块接收到NoC内部每个计算节点的配置完成标志后,将每个节点的配置完成标志与配置表相或,再将所有节点的相或结果相与产生开始信号,再将自身配置表寄存器值设为高电平,从而完成对NoC的重新配置。
如图4所示,收集模块包括:80个临时寄存器、一号计数器和二号计数器;
任意一个临时寄存器用于寄存东、南、西、北和本地的输出通道中相应通讯节点的数据通讯量;
一号计数器控制收集模块将接收到的数据通讯量写进相应的临时寄存器中,若一号计数器的值为1,则将数据通讯量写进北方向的临时寄存器;若一号计数器的值为2,则将数据通讯量写进东方向的临时寄存器,若一号计数器的值为3,则将数据通讯量写进南方向的临时寄存器;若一号计数器的值为4,则将数据通讯量写进西方向的临时寄存器;若一号计数器的值为5,则将数据通讯量写进本地方向的临时寄存器;
二号计数器控制临时寄存器中数据通讯量写进收集模块的FIFO中,并随着二号计数器的值的增加,依次选择节点北、东、南、西、本地方向的数据通讯量写入收集模块的FIFO,例如,二号计数器的值等于2,将(1,1)节点北方向的通讯量作为收集模块FIFO的输入数据;二号计数器的值等于3,将(1,1)节点东方向的通讯量作为收集模块FIFO的输入数据;二号计数器的值等于4,将(1,1)节点南方向的通讯量作为收集模块FIFO的输入数据;二号计数器的值等于5,将(1,1)节点西方向的通讯量作为收集模块FIFO的输入数据;二号计数器的值等于6,将(1,1)节点本地方向的通讯量作为收集模块FIFO的输入数据;二号计数器的值等于7,将(1,2)节点北方向的通讯量作为收集模块FIFO的输入数据;二号计数器的值等于8,将(1,2)节点东方向的通讯量作为收集模块FIFO的输入数据;二号计数器的值等于9,将(1,2)节点南方向的通讯量作为收集模块FIFO的输入数据;二号计数器的值等于10,将(1,2)节点西方向的通讯量作为收集模块FIFO的输入数据;二号计数器的值等于11,将(1,2)节点本地方向的通讯量作为收集模块FIFO的输入数据;等待全部数据通讯量写进收集模块的FIFO,则将准备好信号拉高。
具体实施中,任意一个监测模块包括:5个44位的数据临时寄存器Q、5个44位的数据通讯量计数器、5个44位的数据通讯量计数寄存器和64位的通讯量输出寄存器;
5个44位的数据临时寄存器Q寄存上一周期的NoC中东、南、西、北和本地方向发送给监测模块的数据,再将5个44位的临时寄存器Q中存储的上一周期的数据取出与当前周期输入的数据相比较,若不相等,则产生相应东、南、西、北、本地方向的数据变化信号;
5个44位的数据通讯量计数器根据东、南、西、北、本地方向的数据变化信号对相应方向的计数器进行计数,计数完成之后等待接收定时模块的收集信号,当接收到定时模块的收集信号时,将5个44位的数据通讯量计数器的值赋给5个44位的数据通讯量计数寄存器,并将5个44位的数据通讯量计数器清零;
64位的通讯量输出寄存器用于将本地坐标、方向和数据通讯量一起打包输出给收集模块,从而完成NoC的数据通讯量的监测。
本实施例中,在赛灵思FPGA开发板Virtex6_XC6VLX760上实现,4×4的NoC网络。

Claims (5)

1.一种面向功耗温度的NoC实时监测配置电路,所述NoC是由通讯节点及计算节点组成的片上网络,假设所述NoC共有N=X×Y个通讯节点,X表示所述NoC的行数,Y表示所述NoC的列数,每个通讯节点有北、东、南、西、本地五个方向的输入输出通道;其特征是:
所述NoC实时监测配置电路设置在网口与所述NoC之间,并包括:上行模块、下行模块、定时模块、配置模块、收集模块、Y个下行打包模块、X×Y个监测模块、DDR用户接口模块;所述X×Y个监测模块分别与X×Y个通讯节点的输出通道相连接;
所述下行模块接收上位机通过网口发送的数据包,并存储到自身的FIFO中,再从自身FIFO中读取数据包进行解析和判断,得到所述数据包中携带的命令类型,若所述命令类型为定时命令,则解析出所述数据包中的定时标志后,发送给所述定时模块;若所述命令类型为配置命令,则截取所述数据包中的低位配置数据,并发送给所述配置模块,若所述命令类型为读取DDR命令,则产生一个读取DDR标志,并发送给所述上行模块和所述DDR用户接口模块;
所述配置模块接收所述低位配置数据,并判断所述低位配置数据携带的源节点地址的大小,若源节点地址为n,1≤n≤Y,则将所述低位配置数据发送给相应的第n个下行打包模块;
所述第n个下行打包模块接收所述配置模块的低位配置数据,并存入自身的FIFO中,再从自身FIFO中读取所述低位配置数据并打包成符合网络传输协议的数据包后,发送给NoC进行处理,由计算节点处理完成之后产生配置完成标志并发送给配置模块;
所述配置模块接收所述NoC中计算节点发送的配置完成标志后,产生一个开始信号,并发送给所述定时模块和NoC中每个计算节点;
所述定时模块根据所接收的定时标志选择定时时间,并在接收到所述开始信号后开始计时,直到计时时间等于所选择的定时时间时,产生一个收集信号并发送给所述X×Y个监测模块;
所述X×Y个监测模块接收所述定时模块的收集信号后,将所述定时时间内统计的数据通讯量发送给所述收集模块;
所述收集模块接收所述监测模块的数据通讯量并存储在自身的FIFO中,直到所有的数据通讯量都存储完毕后,产生一个准备好信号并发送给所述上行模块;
所述上行模块接收所述收集模块的准备好信号后,产生一个读取所述收集模块的FIFO的收集读信号并发送给所述收集模块;
所述收集模块接收到所述上行模块的读信号后,将定时时间内统计的数据通讯量分别发送给所述上行模块和所述DDR用户接口模块;
所述上行模块接收所述收集模块发送的数据通讯量,并存储到自身的FIFO中,并通过网口将数据通讯量发送给上位机,从而实现NoC的实时配置和数据通讯量的实时监测;
所述DDR用户接口模块接收所述收集模块发送的数据通讯量,并存储在自身的DDR写FIFO中,当DDR初始化完成后把DDR写FIFO里的数据通讯量写进DDR控制器中;
若上位机未接收到数据通讯量,则所述上行模块接收所述下行模块的读取DDR标志后产生一个DDR读FIFO信号,发送给所述DDR用户接口模块;
所述DDR用户接口模块接收到所述下行模块发送的读取DDR标志和所述上行模块发送DDR读FIFO信号时,把DDR控制器中存储的数据通讯量读出,并通过所述DDR用户接口模块的DDR读FIFO,把数据通讯量发送给所述上行模块;
所述上行模块通过所述网口将所述数据通讯量发送给所述上位机,从而检测是所述收集模块未成功收集数据还是上位机未成功接收数据。
2.根据权利要求1所述的NoC实时监测配置电路,其特征是,所述定时模块包括:临时寄存器、时间选择器和时间计数器;
所述临时寄存器根据上位机通过网口发送的定时命令,寄存数据包中的定时标志;
所述时间选择器根据所述临时寄存器中的数据选择定时时间;
所述时间计数器根据所述配置模块发送的开始信号进行计数,直到计数器的值等于所述时间选择器选择的定时时间后,产生所述收集信号。
3.根据权利要求1所述的NoC实时监测配置电路,其特征是,所述配置模块包括:Y个配置数据寄存器、Y个写使能寄存器和X×Y个配置表寄存器;
所述任意一个配置数据寄存器根据所述配置模块对低位配置数据中低位源节点地址的判断,对将要输出给相应下行打包模块的配置数据进行寄存;
所述任意一个写使能寄存器根据所述配置模块对低位配置数据中低位源节点地址的判断,对相应下行打包模块的FIFO写使能信号进行寄存;
所述任意一个配置表寄存器在复位时将配置表寄存器的值设为高电平,并根据所述配置模块对低位配置数据中低位源节点地址的判断,设置自身配置表寄存器为低电平,直到所述配置模块接收到所述NoC内部每个计算节点的配置完成标志后产生开始信号后,将自身配置表寄存器值设为高电平,从而完成对NoC的重新配置。
4.根据权利要求1所述的NoC实时监测配置电路,其特征是,所述收集模块包括:5(X×Y)个临时寄存器、一号计数器和二号计数器;
所述任意一个临时寄存器用于寄存东、南、西、北和本地的输出通道中相应通讯节点的数据通讯量;
所述一号计数器控制所述收集模块将接收到的数据通讯量写进相应的临时寄存器中,所述二号计数器控制临时寄存器中数据通讯量写进所述收集模块的FIFO中,等待全部数据通讯量写进所述收集模块的FIFO,则将准备好信号拉高。
5.根据权利要求1所述的NoC实时监测配置电路,其特征是,所述任意一个监测模块包括:5个A位的数据临时寄存器Q、5个B位的数据通讯量计数器、5个B位的数据通讯量计数寄存器和C位的通讯量输出寄存器;
所述5个A位的数据临时寄存器Q寄存上一周期的NoC中东、南、西、北和本地方向发送给所述监测模块的数据,再将5个A位的临时寄存器Q中存储的上一周期的数据取出与当前周期输入的数据相比较,若不相等,则产生相应东、南、西、北、本地方向的数据变化信号;
所述5个B位的数据通讯量计数器根据东、南、西、北、本地方向的数据变化信号对相应方向的计数器进行计数,计数完成之后等待接收所述定时模块的收集信号,当接收到所述定时模块的收集信号时,将所述5个B位的数据通讯量计数器的值赋给5个B位的数据通讯量计数寄存器,并将5个B位的数据通讯量计数器清零;
所述C位的通讯量输出寄存器用于将节点坐标、方向和数据通讯量一起打包输出给所述收集模块,从而完成所述NoC的数据通讯量的监测。
CN201610947677.5A 2016-10-26 2016-10-26 面向功耗温度的动静态相结合的NoC实时监测配置电路 Active CN106506267B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610947677.5A CN106506267B (zh) 2016-10-26 2016-10-26 面向功耗温度的动静态相结合的NoC实时监测配置电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610947677.5A CN106506267B (zh) 2016-10-26 2016-10-26 面向功耗温度的动静态相结合的NoC实时监测配置电路

Publications (2)

Publication Number Publication Date
CN106506267A CN106506267A (zh) 2017-03-15
CN106506267B true CN106506267B (zh) 2019-04-05

Family

ID=58323012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610947677.5A Active CN106506267B (zh) 2016-10-26 2016-10-26 面向功耗温度的动静态相结合的NoC实时监测配置电路

Country Status (1)

Country Link
CN (1) CN106506267B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973482A (zh) * 2014-04-22 2014-08-06 南京航空航天大学 具有全局通信事务管理能力的容错片上网络***及方法
CN105450555A (zh) * 2014-09-26 2016-03-30 杭州华为数字技术有限公司 一种片上网络***,及片上网络通信链路的建立方法
US9479456B2 (en) * 2012-11-02 2016-10-25 Altera Corporation Programmable logic device with integrated network-on-chip

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9479456B2 (en) * 2012-11-02 2016-10-25 Altera Corporation Programmable logic device with integrated network-on-chip
CN103973482A (zh) * 2014-04-22 2014-08-06 南京航空航天大学 具有全局通信事务管理能力的容错片上网络***及方法
CN105450555A (zh) * 2014-09-26 2016-03-30 杭州华为数字技术有限公司 一种片上网络***,及片上网络通信链路的建立方法

Also Published As

Publication number Publication date
CN106506267A (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
US7856026B1 (en) Configurable central memory buffered packet switch module for use in a PLD
CN102495920B (zh) 一种FPGA用基于PCIe的集成化逻辑分析模块
CN104378264B (zh) 一种基于sFlow的虚拟机进程流量监控方法
US7439763B1 (en) Scalable shared network memory switch for an FPGA
CN103338133B (zh) 动态监测报文转发端口拥塞的方法及装置
WO2012109911A1 (zh) 网络流量监管方法及装置
CN100372317C (zh) 10g网络性能测试仪流量接收、抓取和统计电路组件
CN100405786C (zh) 支持多队列的共享缓存动态门限早期丢弃装置
CN102918513A (zh) 用于启用确定性接口的方法、装置和***
JP6340481B2 (ja) データキャッシング方法、装置及び記憶媒体
CN104702464A (zh) 基于fpga的100g以太网测试报文的生成***及方法
CN109716311A (zh) 用于执行分布式仲裁的***、装置和方法
CN104765701B (zh) 数据访问方法及设备
CN105630712B (zh) 计数器及计数方法
CN100486224C (zh) 一种基于fpga实现atm网络流量控制的装置及方法
CN106294225A (zh) 一种数据读取方法、对端设备及控制器
CN102780589B (zh) 一种基于虚拟链路的静态路由网络时延抖动测试方法
CN106506267B (zh) 面向功耗温度的动静态相结合的NoC实时监测配置电路
US7568074B1 (en) Time based data storage for shared network memory switch
CN112131154B (zh) 一种通道与业务动态匹配的dma传输控制方法
CN103825833A (zh) 一种基于数据包偏转统计的网络流量控制方法
US9330038B2 (en) Computer arbitration system, bandwidth, allocation apparatus, and method thereof
CN110297785A (zh) 一种基于fpga的金融数据流控装置和流控方法
CN101854259A (zh) 一种数据包的计数方法及***
CN104678815B (zh) Fpga芯片的接口结构及配置方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210205

Address after: 245000 No.50, Meilin Avenue, Huangshan Economic Development Zone, Huangshan City, Anhui Province

Patentee after: Huangshan Development Investment Group Co.,Ltd.

Address before: Tunxi road in Baohe District of Hefei city of Anhui Province, No. 193 230009

Patentee before: Hefei University of Technology

TR01 Transfer of patent right