首页> 中国专利> 一种应用于片上网络的虚通道低功耗电路

一种应用于片上网络的虚通道低功耗电路

摘要

本发明公开了一种应用于片上网络的虚通道低功耗电路;其特征是包括:由时钟使能产生模块和门控时钟产生模块组成的时钟预判开/关模块;由读写信号控制模块和分段时钟门控模块组成的缓存分段门控模块。本发明能提高单个虚通道缓存的利用率,避免依赖软件监控和时序的紧张的问题,从而降低片上网络中输入缓存的功耗,进而降低整个NoC功耗,并保证数据的正确传输。

著录项

  • 公开/公告号CN106095722A

    专利类型发明专利

  • 公开/公告日2016-11-09

    原文格式PDF

  • 申请/专利权人 合肥工业大学;

    申请/专利号CN201610506557.1

  • 申请日2016-06-29

  • 分类号G06F15/173;G06F1/32;

  • 代理机构安徽省合肥新安专利代理有限责任公司;

  • 代理人陆丽莉

  • 地址 230009 安徽省合肥市包河区屯溪路193号

  • 入库时间 2023-06-19 00:49:26

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-02

    授权

    授权

  • 2016-12-07

    实质审查的生效 IPC(主分类):G06F15/173 申请日:20160629

    实质审查的生效

  • 2016-11-09

    公开

    公开

说明书

技术领域

本发明属于集成电路片上网络的通信技术领域,尤其涉及一种应用于片上网络的虚通道低功耗设计电路。

背景技术

随着集成电路特征尺寸缩小,时钟频率增大,单个芯片上集成的晶体管数量超过10亿数量级,互连线密度不断提高,互连架构占芯片整体功耗的比重越来越大,因此降低通信网络的功耗显得至关重要;片上网络的功耗主要来自数据包的传输功耗,和存储功耗;研究者们已经观察到存储一个数据包所消耗的能量远大于传输一个数据包消耗的能量;当大量数据在节点存储时,则导致很大的储存功耗,因此降低输入通道的缓存功耗变得尤为重要。

西安电子科技大学姜旭旭2012年的硕士学位论文《NoC路由器和低功耗通信网络设计》中提出了使用门控时钟关闭闲置虚通道的方式降低功耗;其不足之处在于FIFO读、写使能为1时,开启时钟;这种情况下时钟会落后于读写使能,会导致时序紧张;2009年南京航空航天大学翟亮发表在南京师范大学学报《基于门控时钟的片上网络路由单元低功耗设计》一文中提出的用模块级门控技术的方式关闭闲置虚通道降低功耗;其不足之处在于不能自动开关虚通道的时钟,而需要软件支持,依赖于软件对网络的监控去关闭时钟;所述两篇文章的共同不足之处:在网络的拥塞比较大的情况下,通过增加虚通道的数目并适时关掉闲置虚通道的方法降低功耗,但这会大大增加虚通道输入仲裁器和输出总裁器的算法复杂度和资源开销。

发明内容

本发明为克服在网络数据注入率较高,缓存需求比较大,各个节点缓存分配不均匀的情况下,提出了一种应用于片上网络的虚通道低功耗电路,以期能提高单个虚通道缓存的利用率,避免依赖软件监控和时序的紧张的问题,从而降低片上网络中输入缓存的功耗,进而降低整个NoC功耗,并保证数据的正确传输。

本发明为达到上述目的所采用的技术方案是:

本发明一种应用于片上网络的虚通道低功耗电路,所述片上网络为M×N的二维网络,并由若干个路由节点构成;每个路由节点有若干个通道,每个路由节点包括输入状态机、译码器、仲裁器和交叉开关;所述输入状态机有若干个虚通道并由虚通道管理电路进行控制,一个虚通道由同步FIFO组成;M和N为大于或等于2的整数;

当前路由节点通过所述输入状态机接收数据包,并利用所述译码器进行译码后,向所述仲裁器进行仲裁请求,若得到仲裁许可,则通过所述交叉开关将所述数据包传输至下一个路由节点,否则,将所述数据包保存在当前路由节点的虚通道中;其特点是:

在所述输入状态机中设置有所述虚通道低功耗电路,并用于控制所述虚通道的时钟开关及所述数据包的存取;

所述虚通道低功耗电路包括:时钟预判开/关模块、缓存分段门控模块;

所述时钟预判开/关模块包括:时钟使能产生模块,门控时钟产生模块;

所述缓存分段模块包括:读写信号控制模块,分段时钟门控模块;

所述读写信号控制模块将所有虚通道中的缓存均分为第一缓存FIFO_1和第二缓存FIFO_2;

所述时钟使能产生模块接收上一个路由节点译码器发送的时钟开启请求信号并进行处理,得到虚通道时钟使能信号并发送给所述门控时钟产生模块;

所述门控时钟产生模块对所接收的虚通道时钟使能信号进行处理,得到虚通道时钟信号作为所述第一缓存FIFO_1的时钟信号;

所述门控时钟产生模块并将所述虚通道时钟信号发送给所述分段时钟门控模块

所述分段时钟门控模块接受所述虚通道时钟信号、以及所述第二缓存FIFO_2发送的空信号empty_2和第一缓存FIFO_1发送将满信号alm_full_1并进行处理,得到所述第二缓存FIFO_2的时钟信号clk_2;

所述读写信号控制模块接受所述第一缓存FIFO_1发送的空信号empty_1、将满信号alm_full_1和满信号full_1,以及所述第二缓存FIFO_2发送的空信号empty_2、将满信号alm_full_2和满信号full_2并进行处理,得到所述第一缓存FIFO_1的读使能信号rd_en_1和写使能信号wr_en_1,以及所述第二缓存FIFO_2的读使能信号rd_en_2和写使能信号wr_en_2;从而控制所述数据包在所述第一缓存FIFO_1和第二缓存FIFO_2中的写入和读取操作。

本发明所述的应用于片上网络的虚通道低功耗电路的特点也在于:

所述时钟使能产生模块包含n个或门、n个多路选择器;

第i个或门接收上一个路由节点译码器发送的四个方向上的第i个时钟开启请求信号并进行“或”运算,得到第i个运算结果发送给第i个多路选择器;1≤i≤n;

所述第i个多路选择器根据所述空信号empty_1和空信号empty_2以及所述第i个运算结果,得到第i个虚通道时钟使能信号。

当所述第i个虚通道时钟使能信号为“0”时,若所述第i个运算结果为“1”,则第i个虚通道时钟使能信号置为“1”,若所述第i个运算结果为“0”,则所述第i个虚通道时钟使能信号置为“0”;

当所述第i个虚通道时钟使能信号为“1”时,若所述第i个运算结果为“0”,且所述空信号empty_1和空信号empty_2的“与”操作结果为“1”时,则所述第i个虚通道时钟使能信号置为“0”;若所述第i个运算结果为“0”,且所述空信号empty_1和空信号empty_2的“与”操作结果为“0”时,则所述第i个虚通道时钟使能信号置为“1”;若所述第i个运算结果为“1”,则第i个虚通道时钟使能信号置为“1”。

所述门控时钟产生模块包括:n个锁存器、n个与门;

第i个锁存器接收第i个虚通道时钟使能信号,并根据所述片上网络的时钟信号得到第i个锁存信号并发送给第i个与门;

所述第i个与门对所述第i个锁存信号和所述片上网络的时钟信号进行处理,得到第i个虚通道时钟信号。

所述分段时钟门控模块包括:一个多路选择器、一个锁存器、一个与门;

所述多路选择器接收所述第二缓存FIFO_2发送的空信号empty_2和所述第一缓存FIFO_1发送的将满信号alm_full_1并进行处理,得到所述第二缓存FIFO_2的时钟使能信号并发送给所述锁存器;

所述锁存器根据所述第二缓存FIFO_2的时钟使能信号、第i个虚通道时钟信号,得到第i个虚通道的锁存信号;

由所述第i个虚通道的锁存信号与第i个虚通道时钟信号通过所述与门进行“与”操作,得到所述第二缓存FIFO_2的时钟信号clk_2。

当所述第二缓存FIFO_2的时钟使能信号为“0”时,若所述第一缓存FIFO_1的将满信号alm_full_1为“0”,则所述第二缓存FIFO_2的时钟使能信号置为“0”;若所述第一缓存FIFO_1的将满信号alm_full_1为“1”,则所述第二缓存FIFO_2的时钟使能信号置为“1”;

当所述第二缓存FIFO_2的时钟使能信号为“1”时,若所述第一缓存FIFO_1的将满信号alm_full_1为“0”,且所述空信号empty_2为“1”时,则所述第二缓存FIFO_2的时钟使能信号置为“0”;若所述第一缓存FIFO_1的将满信号alm_full_1为“0”,且所述空信号empty_2为“0”时,则所述第二缓存FIFO_2的时钟使能信号置为“1”;若所述第一缓存FIFO_1的将满信号alm_full_1为“1”,则所述第二缓存FIFO_2的时钟使能信号置为“1”。

所述读写信号控制模块包括:三个多路选择器、两个寄存器、读状态选择模块、写状态选择模块、计数器;

所述读状态选择模块根据所述第一缓存FIFO_1发送的空信号empty_1、所述第二缓存FIFO_2发送的空信号empty_2、所述计数器的进位信号、第一寄存器输出的读状态信号,得到第一寄存器输入的读状态信号并发送给所述第一寄存器进行存储;

第一多路选择器根据所述第一缓存FIFO_1发送的将满信号alm_full_1、所述第二缓存FIFO_2发送的将满信号alm_full_2、所述第一寄存器输出的读状态信号,得到所述计数器的使能信号并发送给所述计数器用于获得所述计数器的进位信号;

第二多路选择器根据所述第一寄存器输出的读状态信号、第i个虚通道的读使能信号和低电平,得到所述第一缓存FIFO_1的读使能信号和所述第二缓存FIFO_2的读使能信号;

所述写状态选择模块根据所述第一缓存FIFO_1发送的将满信号alm_full_1和满信号full_1,所述第二缓存FIFO_2发送的将满信号alm_full_2和满信号full_2、所述第一寄存器输出的读状态信号、所述第二寄存器输出的写状态信号,得到第二寄存器输入的写状态信号并发送给所述第二寄存器进行存储;

第三多路选择器根据所述第二寄存器输出的写状态信号、第i个虚通道的写使能信号和电平,得到所述第一缓存FIFO_1的写使能信号和所述第二缓存FIFO_2的写使能信号;

若所述第二寄存器输出的写状态信号为所述第一缓存FIFO_1的写状态信号,则将第i个虚通道的写使能信号传递给所述第一缓存FIFO_1的写使能信号;且将所述第二缓存FIFO_2的写使能信号置为“0”;

若所述第二寄存器输出的写状态信号为所述第二缓存FIFO_2的写状态信号,则将第i个虚通道的写使能信号传递给所述第二缓存FIFO_2的写使能信号;且将所述第一缓存FIFO_1的写使能信号置为“0”。

当第一寄存器输出的读状态信号为第一缓存FIFO_1的读状态信号时;若第一缓存FIFO_1发送的将满信号alm_full_1为“1”,则计数器的使能信号置为“1”;直到所述计数器的计数大小等于所述第一缓存FIFO_1的深度,所述计数器的使能信号置为“0”;若所述第一缓存FIFO_1的将满信号alm_full_1为“0”,则所述计数器的使能信号置为“0”;直到所述第一缓存FIFO_1的将满信号alm_full_1为“1”,计数器的使能信号置为“1”;

当第一寄存器输出的读状态信号为第二缓存FIFO_2的读状态信号时;若第二缓存FIFO_2发送的将满信号alm_full_2为“1”,则计数器的使能信号置为“1”;直到所述计数器的计数大小等于所述第二缓存FIFO_2的深度,计数器的使能信号置为“0”;若所述第二缓存FIFO_2的将满信号alm_full_2为“0”,则计数器的使能信号置为“0”;直到所述第二缓存FIFO_2的将满信号alm_full_2为“1”,所述计数器的使能信号置为“1”;

若所述第一寄存器输出的读状态信号为所述第一缓存FIFO_1的读状态信号,则将第i个虚通道的读使能信号传递给所述第一缓存FIFO_1的读使能信号;且将所述第二缓存FIFO_2的读使能信号置为“0”;

若所述第一寄存器输出的读状态信号为所述第二缓存FIFO_2的读状态信号,则将第i个虚通道的读使能信号传递给所述第二缓存FIFO_2的读使能信号;且将所述第一缓存FIFO_1的读使能信号置为“0”。

在所述读状态选择模块中,当第一寄存器输出的读状态信号为所述第一缓存FIFO_1的读状态信号时,若所述计数器的进位信号为“1”,且所述第二缓存FIFO_2发送的空信号empty_2为“0”时,则所述第一寄存器输入的读状态信号为所述第二缓存FIFO_2的读状态信号;若所述计数器的进位信号为“0”,则所述第一寄存器输入的读状态信号为所述第一缓存FIFO_1的读状态信号;

当第二寄存器输出的读状态信号为所述第二缓存FIFO_2的读状态信号时,若所述计数器的进位信号为“1”,且所述第一缓存FIFO_1发送的空信号empty_1为“0”时,则所述第一寄存器输入的读状态信号为所述第一缓存FIFO_1的读状态信号;若所述计数器的进位信号为“0”,则所述第一寄存器输入的读状态信号为所述第二缓存FIFO_2的读状态信号;

在所述写状态选择模块中,当第二寄存器输出的写状态信号为所述第一缓存FIFO_1的写状态信号时,若所述第一缓存FIFO_1发送的将满信号alm_full_1为“1”,且所述第二缓存FIFO_2发送的满信号full_2为“0”时,则所述第二寄存器输入的写状态信号为所述第二缓存FIFO_2的写状态信号;若所述第二缓存FIFO_2发送的满信号full_2为“1”或所述第一缓存FIFO_1发送的将满信号alm_full_1为“0”,则所述第二寄存器输入的写状态信号为所述第一缓存FIFO_1的写状态信号;

当第二寄存器输出的写状态信号为所述第二缓存FIFO_2的写状态信号时,若所述第二缓存FIFO_2发送的将满信号alm_full_2为“1”,且所述第一缓存FIFO_1发送的满信号full_1为“0”时,则所述第二寄存器输入的写状态信号为所述第一缓存FIFO_1的写状态信号;若所述第一缓存FIFO_1发送的满信号full_1为“1”或所述第二缓存FIFO_2发送的将满信号alm_full_2为“0”,则所述第二寄存器输入的写状态信号为所述第二缓存FIFO_2的写状态信号。

与现有技术相比,本发明的有益技术效果体现在:

1、本发明提出的应用于片上网络的虚通道低功耗电路,通过采用时钟预判开/关模块和缓存分段门控模块,有效地解决了缓存分配不均匀,网络拥塞较大对功耗的不利影响,在不增加虚通道数目,且不影响网络性能的情况下有效地降低了NoC的整体功耗。

2、本发明通过采用时钟预判开启模块,利用寄存器传输级门控技术进行门控,通过由上一个路由节点译码器发送时钟开启请求信号的方法控制虚通道时钟的开关,比虚通道的写使能提前开启时钟,克服了时序紧张和依赖软件的问题,从而在不影响网络性能的情况下降低了NoC的功耗。

3、本发明通过采用分段时钟门控模块,将虚通道均分为两段。利用关掉虚通道内闲置缓存段时钟的方法,减少了缓存分配不均匀,缓存利用率不高对功耗的影响,从而降低了虚通道内的功耗。

4、本发明通过采用读写信号控制模块,提出了一种针对两段缓存的读写控制方法,仅使用了一个读计数器进行读控制,读写控制模块使用的资源较少,克服了额外控制电路资源开销太大的问题,从而减少了额外控制电路对功耗降低的不利影响。

附图说明

图1为本发明片上网络单个路由节点虚通道设置的整体结构图;

图2为本发明低功耗设计电路整体结构图;

图3为本发明虚通道的时钟预判开/关模块的时钟使能信号产生图;

图4为本发明分段时钟门控模块电路图;

图5为本发明一个虚通道中缓存分段中读写控制的电路图;

图6为本发明分段FIFO条件下虚通道的功耗对比图;

图7为本发明关闭多播数据非北传输虚通道与开三个虚通道的功耗对比图;

图8为本发明仅开启多播数据北传输虚通道与开三个虚通道的功耗对比图。

具体实施方式

本实施例中,片上网络为一种基于层次化的6×6的二维网络,主要应用于混合多播路由,分为上层路由器和底层路由器,由40个路由节点构成;该片上网络以3×3的子网络为单位划分为四个多播区域;每个区域的中间路由器都通过一个额外端口与上层路由器相连;每个路由节点有若干个通道,每个路由节点包括输入状态机、译码器、仲裁器和交叉开关;输入状态机有三个虚通道并由虚通道管理电路进行控制,如图1所示,这三个虚通道为单播虚通道,命名为虚通道1,主要传输单播数据包;多播数据北传输虚通道,命名为虚通道2,主要传输上层路由器的数据传输方向为北传输方向的数据包;多播数据非北传输虚通道,命名为虚通道3,主要传输上层路由器的数据传输方向为北传输方向的数据包;虚通道管理电路包括输入仲裁、输出仲裁;输入仲裁为输入数据包的头微片的通道号,将输入的写使能传递给相应的虚通道;输出仲裁为采用轮转仲裁算法;一个虚通道由同步FIFO组成;

当前路由节点通过输入状态机接收数据包,并利用译码器进行译码后,向仲裁器进行仲裁请求,若得到仲裁许可,则通过交叉开关将数据包传输至下一个路由节点,否则,将数据包保存在当前路由节点的虚通道中;

一种应用于片上网络的虚通道低功耗电路,是在输入状态机中设置有虚通道低功耗电路,并用于控制虚通道的时钟开关及数据包的存取;

如图1所示,虚通道低功耗电路包括:时钟预判开/关模块、缓存分段门控模块;其中,时钟预判开/关模块对三个虚通道中闲置的虚通道进行时钟的开关控制。缓存分段门控模块读虚通道内闲置的缓存进行时钟的开关控制。通过两个模块结合的门控方法可以在不改变虚通道管理电路的情况下,比如当三个虚通道开时,如果只用时钟预判开/关模块,则三个虚通道的时钟全部开启,则没有功耗降低。但是此时当三个虚通道使用不均的情况下,可以使用缓存分段门控模块关掉闲置的第二缓存FIFO_2的时钟,能有效地降低虚通道的功耗。

时钟预判开/关模块包括:时钟使能产生模块,门控时钟产生模块;

缓存分段模块包括:读写信号控制模块,分段时钟门控模块;

如图2所示,读写信号控制模块将所有虚通道中的缓存均分为第一缓存FIFO_1和第二缓存FIFO_2;假设一个虚通道的深度设定为8,则第一缓存FIFO_1和第二缓存FIFO_2均为4。

时钟使能产生模块接收上一个路由节点译码器发送的时钟开启请求信号并进行处理,得到虚通道时钟使能信号并发送给门控时钟产生模块;

门控时钟产生模块对所接收的虚通道时钟使能信号进行处理,得到虚通道时钟信号作为第一缓存FIFO_1的时钟信号;

门控时钟产生模块并将虚通道时钟信号发送给分段时钟门控模块

分段时钟门控模块接受虚通道时钟信号、以及第二缓存FIFO_2发送的空信号empty_2和第一缓存FIFO_1发送将满信号alm_full_1并进行处理,得到第二缓存FIFO_2的时钟信号clk_2;

读写信号控制模块接受第一缓存FIFO_1发送的空信号empty_1、将满信号alm_full_1和满信号full_1,以及第二缓存FIFO_2发送的空信号empty_2、将满信号alm_full_2和满信号full_2并进行处理,得到第一缓存FIFO_1的读使能信号rd_en_1和写使能信号wr_en_1,以及第二缓存FIFO_2的读使能信号rd_en_2和写使能信号wr_en_2;从而控制数据包在第一缓存FIFO_1和第二缓存FIFO_2中的写入和读取操作。读写信号控制模块主要是为了保证虚通道内的数据有序地输入输出。其主要组成是一个读控制状态机,一个写控制状态机,一个计数器,读控制状态机主要在计数器的辅助下控制选择当前时刻读取第一缓存FIFO_1还是读取第二缓存FIFO_2。

具体的说,时钟使能产生模块包含n个或门、n个多路选择器;

第i个或门接收上一个路由节点译码器发送的四个方向上的第i个时钟开启请求信号并进行或运算,得到第i个运算结果发送给第i个多路选择器;1≤i≤n;以当前节点的西通道为例,如图3所示,表示当前节点的西通道的三个四输入的或门得接收上一节点的时钟开启请求信号,所以上一节点有北通道、南通道、西通道、本地通道对当前节点进行虚通道请求。

第i个多路选择器根据空信号empty_1和空信号empty_2以及第i个运算结果,得到第i个虚通道时钟使能信号;

当第i个虚通道时钟使能信号为“0”时,若第i个运算结果为“1”,则第i个虚通道时钟使能信号置为“1”,若第i个运算结果为“0”,则第i个虚通道时钟使能信号置为“0”;

当第i个虚通道时钟使能信号为“1”时,若第i个运算结果为“0”,且空信号empty_1和空信号empty_2的“与”操作结果为“1”时,则第i个虚通道时钟使能信号置为“0”;若第i个运算结果为“0”,且空信号empty_1和空信号empty_2的“与”操作结果为“0”时,则第i个虚通道时钟使能信号置为“1”;若第i个运算结果为“1”,则第i个虚通道时钟使能信号置为“1”;

如图3所示,v1_wr_req_n表示上一节点北通道向当前节点西通道的虚通道发1出写请求,v2_wr_req_n表示上一节点北通道向当前节点西通道的虚通道2发出写请求,v3_wr_req_n表示上一节点北通道向当前节点西通道的虚通道3发出写请求,v1_wr_req_s表示上一节点南通道向当前节点西通道的虚通道1发出写请求,v2_wr_req_s表示上一节点南通道向当前节点西通道的虚通道2发出写请求,v3_wr_req_s表示上一节点南通道向当前节点西通道的虚通道3发出写请求;v1_wr_req_w表示上一节点西通道向当前节点西通道的虚通道1发出写请求,v2_wr_req_w表示上一节点西通道向当前节点西通道的虚通道2发出写请求,v3_wr_req_w表示上一节点西通道向当前节点西通道的虚通道3发出写请求,v1_wr_req_l表示上一节点本地通道向当前节点西通道的虚通道1发出写请求,v2_wr_req_l表示上一节点本地通道向当前节点西通道的虚通道2发出写请求,v3_wr_req_l表示上一节点本地通道向当前节点西通道的虚通道3发出写请求;当v1_wr_req_n、v1_wr_req_s、v1_wr_req_w、v1_wr_req_l有信号为“1”时,将v1_wr_req置“1”,表示虚通道1获得时钟开启请求,虚通道时钟使能信号en_clk_1置“1”;否则当v1_wr_req为“0”,且empty_v1为“1”时,虚通道时钟使能信号en_clk_1置“0”;当v2_wr_req_n、v2_wr_req_s、v2_wr_req_w、v2_wr_req_l有信号为1时,将v2_wr_req置“1”,表示虚通道2获得时钟开启请求,虚通道时钟使能信号en_clk_2置“1”;否则当v2_wr_req为“0”,且empty_v2为“1”时,虚通道时钟使能信号en_clk_2置“0”;当v3_wr_req_n、v3_wr_req_s、v3_wr_req_w、v3_wr_req_l有信号为“1”时,将v3_wr_req置“1”,表示虚通道1获得时钟开启请求,虚通道时钟使能信号en_clk_3置“1”;否则当v3_wr_req为“0”,且empty_v3为1时,虚通道时钟使能信号en_clk_3置“0”;

具体实施中,门控时钟产生模块包括:n个锁存器、n个与门;

第i个锁存器接收第i个虚通道时钟使能信号,并根据片上网络的时钟信号得到第i个锁存信号并发送给第i个与门;

第i个与门对第i个锁存信号和片上网络的时钟信号进行处理,得到第i个虚通道时钟信号。

如图3所示,由于设计了三个虚通道,因此需要三个锁存器,三个与门对时钟使能信号进行同步处理,以避免时钟信号的毛刺。比如,第一个锁存器会接收虚通道1的时钟使能信号,当片上网络的时钟为低电平时,将锁存器的输入信号输出,否则保持原值。

如图4所示,分段时钟门控模块包括:一个多路选择器、一个锁存器、一个与门;

多路选择器接收第二缓存FIFO_2发送的空信号empty_2和第一缓存FIFO_1发送的将满信号alm_full_1并进行处理,得到第二缓存FIFO_2的时钟使能信号并发送给锁存器;

当第二缓存FIFO_2的时钟使能信号为“0”时,若第一缓存FIFO_1的将满信号alm_full_1为“0”,则第二缓存FIFO_2的时钟使能信号置为“0”;若第一缓存FIFO_1的将满信号alm_full_1为“1”,则第二缓存FIFO_2的时钟使能信号置为“1”;

当第二缓存FIFO_2的时钟使能信号为“1”时,若第一缓存FIFO_1的将满信号alm_full_1为“0”,且空信号empty_2为“1”时,则第二缓存FIFO_2的时钟使能信号置为“0”;若第一缓存FIFO_1的将满信号alm_full_1为“0”,且空信号empty_2为“0”时,则第二缓存FIFO_2的时钟使能信号置为“1”;若第一缓存FIFO_1的将满信号alm_full_1为“1”,则第二缓存FIFO_2的时钟使能信号置为“1”;

锁存器根据第二缓存FIFO_2的时钟使能信号、第i个虚通道时钟信号,得到第i个虚通道的锁存信号;

由第i个虚通道的锁存信号与第i个虚通道时钟信号进行“与”操作,得到第二缓存FIFO_2的时钟信号clk_2。

如图5所示,读写信号控制模块包括:三个多路选择器、两个寄存器、读状态选择模块、写状态选择模块、计数器;

读状态选择模块根据第一缓存FIFO_1发送的空信号empty_1、第二缓存FIFO_2发送的空信号empty_2、计数器的进位信号、第一寄存器输出的读状态信号,得到第一寄存器输入的读状态信号并发送给第一寄存器进行存储;

第一多路选择器根据第一缓存FIFO_1发送的将满信号alm_full_1、第二缓存FIFO_2发送的将满信号alm_full_2、第一寄存器输出的读状态信号,得到计数器的使能信号并发送给计数器用于获得计数器的进位信号;如图5所示,第一寄存器对应于图中寄存器1,第一多路选择器对应于图中多路选择器1。计数器的主要作用是对读出的数据进行计数,使数据能有序地输出,计数器的大小等于每一段缓存的深度。

当第一寄存器输出的读状态信号为第一缓存FIFO_1的读状态信号时;若第一缓存FIFO_1发送的将满信号alm_full_1为“1”,则计数器的使能信号置为“1”;直到计数器的计数大小等于第一段缓存的深度,计数器的使能信号置为“0”;若第一缓存FIFO_1的将满信号alm_full_1为“0”,则计数器的使能信号置为“0”;直到第一缓存FIFO_1的将满信号alm_full_1为“1”,计数器的使能信号置为“0”;

当第一寄存器输出的读状态信号为第二缓存FIFO_2的读状态信号时;若第二缓存FIFO_2发送的将满信号alm_full_2为“1”,则计数器的使能信号置为“1”;直到计数器的计数大小等于第二段缓存的深度,计数器的使能信号置为“0”;若第二缓存FIFO_2的将满信号alm_full_2为“0”,则计数器的使能信号置为“0”;直到第二缓存FIFO_2的将满信号alm_full_2为“1”,计数器的使能信号置为“0”;

第二多路选择器根据第一寄存器输出的读状态信号、第i个虚通道的读使能信号和低电平,得到第一缓存FIFO_1的读使能信号和第二缓存FIFO_2的读使能信号;如图5所示,第二多路选择器对应于图中多路选择器2。

若第一寄存器输出的读状态信号为第一缓存FIFO_1的读状态信号,则将第i个虚通道的读使能信号传递给第一缓存FIFO_1的读使能信号;且将第二缓存FIFO_2的读使能信号置为“0”;

若第一寄存器输出的读状态信号为第二缓存FIFO_2的读状态信号,则将第i个虚通道的读使能信号传递给第二缓存FIFO_2的读使能信号;且将第一缓存FIFO_1的读使能信号置为“0”;

写状态选择模块根据第一缓存FIFO_1发送的将满信号alm_full_1和满信号full_1,第二缓存FIFO_2发送的将满信号alm_full_2和满信号full_2、第一寄存器输出的读状态信号、第二寄存器输出的写状态信号,得到第二寄存器输入的写状态信号并发送给第二寄存器进行存储;

第三多路选择器根据第二寄存器输出的写状态信号、第i个虚通道的写使能信号和低电平,得到第一缓存FIFO_1的写使能信号和第二缓存FIFO_2的写使能信号;如图5所示,第二寄存器对应于图中寄存器2,第三多路选择器对应于图中多路选择器3。

若第二寄存器输出的写状态信号为第一缓存FIFO_1的写状态信号,则将第i个虚通道的写使能信号传递给第一缓存FIFO_1的写使能信号;且将第二缓存FIFO_2的写使能信号置为“0”;

若第二寄存器输出的写状态信号为第二缓存FIFO_2的写状态信号,则将第i个虚通道的写使能信号传递给第二缓存FIFO_2的写使能信号;且将第一缓存FIFO_1的写使能信号置为“0”。

具体实施时,在读状态选择模块中,当第一寄存器输出的读状态信号为第一缓存FIFO_1的读状态信号时,若计数器的进位信号为“1”,且第二缓存FIFO_2发送的空信号empty_2为“0”时,则第一寄存器输入的读状态信号为第二缓存FIFO_2的读状态信号;若计数器的进位信号为“0”,则第一寄存器输入的读状态信号为第一缓存FIFO_1的读状态信号;

当第二寄存器输出的读状态信号为第二缓存FIFO_2的读状态信号时,若计数器的进位信号为“1”,且第一缓存FIFO_1发送的空信号empty_1为“0”时,则第一寄存器输入的读状态信号为第一缓存FIFO_1的读状态信号;若计数器的进位信号为“0”,则第一寄存器输入的读状态信号为第二缓存FIFO_2的读状态信号;

在写状态选择模块中,当第二寄存器输出的写状态信号为第一缓存FIFO_1的写状态信号时,若第一缓存FIFO_1发送的将满信号alm_full_1为“1”,且第二缓存FIFO_2发送的满信号full_2为“0”时,则第二寄存器输入的写状态信号为第二缓存FIFO_2的写状态信号;若第二缓存FIFO_2发送的满信号full_2为“1”或第一缓存FIFO_1发送的将满信号alm_full_1为“0”,则第二寄存器输入的写状态信号为第一缓存FIFO_1的写状态信号;

当第二寄存器输出的写状态信号为第二缓存FIFO_2的写状态信号时,若第二缓存FIFO_2发送的将满信号alm_full_2为“1”,且第一缓存FIFO_1发送的满信号full_1为“0”时,则第二寄存器输入的写状态信号为第一缓存FIFO_1的写状态信号;若第一缓存FIFO_1发送的满信号full_1为“1”或第二缓存FIFO_2发送的将满信号alm_full_2为“0”,则第二寄存器输入的写状态信号为第二缓存FIFO_2的写状态信号。

如图6所示,本发明在缓存分段门控中,将一个虚通道均分为两段,关闭闲置的一段FIFO以降低功耗,分别以虚通道FIFO深度为8、16、24、32测试输入通道的功耗,当FIFO_2闲置情况下,在基于synosys EDA平台Design Compiler进行综合,在PT上进行功耗测试,测试结果与没加缓存分段门控时功耗降低了约40%。

如图7所示,本发明在当仅多播数据非北传输虚通道闲置情况下测功耗,分别以虚通道FIFO深度为4、8、16、24测试输入通道的功耗,基于synosys EDA平台Design Compiler进行综合,在PT上进行功耗测试,测试结果与没加虚通道低功耗设计电路时功耗降低了约16%。

如图8所示,本发明在当多播数据仅北传输虚通道工作情况下测功耗,分别以虚通道FIFO深度为4、8、16、24测试输入通道的功耗,在基于synosys EDA平台Design Compiler进行综合,在PT上进行功耗测试,测试结果与没加虚通道低功耗设计电路时功耗降低了约51%。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号