一种数据路径装置及其控制方法.pdf

上传人:柴****2 文档编号:1743940 上传时间:2018-07-08 格式:PDF 页数:13 大小:727.30KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310625055.7

申请日:

2013.11.28

公开号:

CN104679216A

公开日:

2015.06.03

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 1/32申请日:20131128|||公开

IPC分类号:

G06F1/32

主分类号:

G06F1/32

申请人:

中国科学院声学研究所

发明人:

王雷欧; 应欢; 王东辉

地址:

100190北京市海淀区北四环西路21号

优先权:

专利代理机构:

北京亿腾知识产权代理事务所11309

代理人:

陈霁

PDF下载: PDF下载
内容摘要

本发明公开了一种数据路径装置及其控制方法,该装置包括:至少一个复制逻辑和至少一个信号生成模块,所述信号生成模块的第一输入端与所述复制逻辑的输出端连接,其第二输入端接入功能部件的原使能信号;所述复制逻辑计算所述功能部件输出信号的可观无关性ODC值,当所述ODC值为第一电平时,所述信号生成模块根据所述ODC值和所述功能部件的原使能信号生成所述功能部件新的使能信号,所述功能部件新的使能信号用于禁止所述功能部件输出信号的更新。本发明相对于传统的数据路径结构增加了对输入信号寄存器的控制,减少不必要的信号翻转,从而降低功耗。

权利要求书

权利要求书
1.  一种数据路径装置,其特征在于,包括:至少一个复制逻辑和至 少一个信号生成模块,所述信号生成模块的第一输入端与所述复制逻辑 的输出端连接,其第二输入端接入功能部件的原使能信号;
所述复制逻辑计算所述功能部件输出信号的可观无关性ODC值,当 所述ODC值为第一电平时,所述信号生成模块根据所述ODC值和所述 功能部件的原使能信号生成所述功能部件新的使能信号,所述功能部件 新的使能信号用于禁止所述功能部件输出信号的更新。

2.  根据权利要求1所述的装置,其特征在于,当所述ODC值为第 二电平时,所述信号生成模块输出所述功能部件的原使能信号,所述功 能部件受控于其原使能信号。

3.  根据权利要求2所述的装置,其特征在于,所述第一电平为高电 平,所述第二电平为低电平。

4.  根据权利要求1所述的装置,其特征在于,所述复制逻辑主要用 于:
提前一个时钟周期计算所述的功能部件输出信号的ODC值。

5.  根据权利要求1所述的装置,其特征在于,所述复制逻辑主要由 与门、或门和非门中的一种或多种组成。

6.  根据权利要求1所述的装置,其特征在于,所述信号生成模块主 要由非门和/或与门组成。

7.  根据权利要求1所述的装置,其特征在于,所述功能部件包括计 算类部件和驱动类部件,所述计算类部件主要包括与门、或门、非门、 加法器和乘法器中的一种或多种,所述驱动类部件主要包括三态门、寄 存器和多路选择器中的一种或多种。

8.  一种数据路径控制方法,其特征在于,该方法包括:
计算功能部件输出信号的可观无关性ODC值,当所述ODC值为第 一电平时,根据所述ODC值和所述功能部件的原使能信号生成所述功能 部件新的使能信号,所述功能部件新的使能信号用于禁止所述功能部件 输出信号的更新。

9.  根据权利要求8所述的方法,其特征在于,当所述ODC值为第 二电平时,输出所述功能部件的原使能信号,所述功能部件受控于其原 使能信号。

10.  根据权利要求9所述的方法,其特征在于,所述第一电平为高 电平,所述第二电平为低电平。

说明书

说明书一种数据路径装置及其控制方法
技术领域
本发明涉及集成电路设计领域,特别涉及一种数据路径装置及其控 制方法。
背景技术
随着集成电路设计复杂性的不断提高,整个系统都可以在一块芯片上实 现,但是这种性能的提高是以功耗急剧增加为代价,特别是对于广泛应用的 手持设备。由于电池容量的大幅度提升在短期内不易实现,这就要求集成电 路设计过程中不仅要考虑性能,而且要考虑功耗。
数据路径(Data Path)是处理器内核传递信号的关键组成部分,在程序 运行过程中,信号翻转非常频繁,这使得数据路径成为处理器功耗的主要来 源之一。
图1为数据路径的一般结构。如图1所示,数据路径主要由寄存器 (Register)、多路选择器(Multiplexer)、加法器(Adder)等电路组成。 输入信号(如Bus_A和Bus_B)通过多路选择器(如MUX1和MUX2)参 与计算部件(如ADDER)的计算,并将计算结果赋给最终输出信号(如 Bus_Out)。
从图1可以看出,当多路选择器(MUX2)的使能信号(Sel2_En=1)时, 多路选择器(MUX2)选择路径1,而信号(如Bus_A、Bus_B和Bus_C) 的信号翻转和功能部件(如MUX1和ADDER)的计算结果并不能传递给最 终输出信号(如Bus_Out),这就造成了大量的功耗损失。
可观无关性(Observability Don’t Care,简称ODC)对数据路径的信号 不可观条件进行分析。一个两输入逻辑与门如图2所示,它的布尔函数表达 式为(z=x&y),符号“&”表示逻辑与运算。当输入变量y为低电平,则无 论输入变量x为何值,输出变量z都为低电平,即输入变量x在输出变量z 处不可观。另一方面,当输出变量z自身在最终输出信号处(如Primary  Output)不可观,则输入变量x在最终输出信号处也不可观。
对于一个两输入逻辑与门,输入变量x的ODC计算如公式1所示:
ODC ( x ) = y ‾ + ODC ( z ) - - - ( 1 ) ]]>
符号“+”表示逻辑或运算,符号“—”表示逻辑非运算。
对于不同的功能部件,更一般的ODC计算如公式2所示:
ODC(x)=ODCM(x)+ODC(z)  (2)
功能部件的可观无关性ODCM(x)为高电平时,表示输入变量x在功能 部件的输出变量处不可观。通常定义最终输出信号(如Primary Output)的 ODC为低电平,即最终输出信号始终可观。
在期刊IEEE SOC Design Conference ISOCC2012中Yun-long Zhang等 人发表的《Automatic Register Transfer Level CAD Tool Design for Advanced  Clock Gating and Low Power Schemes》中提出了使用门控时钟减少数据路径 中不必要的信号翻转。它的结构如图3所示,只有当时钟(如clk)为低电 平时,激活函数(如Fa和Fb)才能传递到与门的输入端,当时钟由低电平 变为高电平并且激活函数为高电平时,时钟信号使能,否则时钟信号禁止。 这种方法可以减少一部分不必要的信号翻转,进而降低功耗。
在期刊IEEE ASICON2007中Jun Chao等人发表的《Low-power  implementations of DSP through operand isolation and clock gating》文章中提出 了使用操作数隔离减少数据路径中不必要的信号翻转。该结构的主要特点是 在输入信号和计算部件之间插入隔离逻辑(blocking logic)。它的工作原理 是:若计算部件的运算结果可以传递到最终输出信号,则隔离逻辑打开,否 则隔离逻辑阻止输入信号进入计算部件。它的结构如图4所示,这种方法对 于特定的数据路径可以达到较好的降低功耗的效果。
上述为了降低处理器中数据路径的功耗,所采用的门控时钟和操作数隔 离方法存在以下缺点:
(1)门控时钟不能非常有效地降低不必要的信号翻转。如图3(a)所 示,输出信号Bus_C根据选通信号Sel1_En的值选择Bus_A或者Bus_B输 出。但是由于共用一个门控时钟,因此无论选择哪个信号输出,寄存器组 REG1和REG2的时钟信号都不能禁止,无法减少不必要的信号翻转。
(2)采用不同的门控时钟可以解决上述问题,即根据选通信号Sel1_En 的值,分别禁止寄存器组REG1或者REG2的时钟信号,如图3(b)所示。 但是即使输入信号Bus_A和Bus_B保持不变,由于选通信号Sel1_En的变 化,无法减少信号Bus_C的不必要翻转。同时,采用不同的门控时钟可能使 得时钟信号clk到达寄存器组REG1和REG2的时间不同,造成时钟偏差 (Clock Skew),增加设计的复杂度。
(3)操作数隔离需要增加隔离逻辑,当数据路径中的信号位宽较大时 (如图4,位宽为32比特),需要对每一比特插入一个隔离逻辑。由于隔离 逻辑增加功耗和面积,使得操作数隔离的功耗和面积代价很大。
发明内容
本发明的目的在于,提出一种低功耗数据路径结构,该结构相对于传 统的数据路径结构增加了对输入信号寄存器的控制。当数据路径工作时,采 用ODC条件检测信号的不必要翻转,禁止其输入寄存器的使能信号。这样 就能减少不必要的信号翻转,从而降低功耗。
为实现上述目的,一方面,本发明提供了一种数据路径装置,该装置 包括:至少一个复制逻辑和至少一个信号生成模块,所述信号生成模块 的第一输入端与所述复制逻辑的输出端连接,其第二输入端接入功能部 件的原使能信号;所述复制逻辑计算所述功能部件输出信号的可观无关 性ODC值,当所述ODC值为第一电平时,所述信号生成模块根据所述ODC 值和所述功能部件的原使能信号生成所述功能部件新的使能信号,所述 功能部件新的使能信号用于禁止所述功能部件输出信号的更新。
另一方面,本发明提供了一种数据路径控制方法,该方法包括:计 算功能部件输出信号的可观无关性ODC值,当所述ODC值为第一电平 时,根据所述ODC值和所述功能部件的原使能信号生成所述功能部件新 的使能信号,所述功能部件新的使能信号用于禁止所述功能部件输出信 号的更新。
本发明相对于传统的数据路径结构增加了对输入信号寄存器的控制。在 数据路径工作时,采用可观无关性条件检测信号的不必要翻转,禁止其输入 寄存器的使能信号,减少不必要的信号翻转,从而降低功耗。
附图说明
图1为现有技术的数据路径结构示意图;
图2为逻辑变量的ODC计算结构示意图;
图3为门控时钟结构示意图;
图4为操作数隔离结构示意图;
图5(a)为本发明实施例提供的一种数据路径装置结构示意图;
图5(b)为本发明实施例提供的另一种数据路径装置结构示意图;
图6为驱动类部件结构示意图;
图7为ODC计算示例图;
图8为减少驱动部件输出信号不必要翻转的电路结构示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图5(a)为本发明实施例提供的一种数据路径装置结构示意图。如图 5(a)所示,该装置包括复制逻辑10、复制逻辑20、复制逻辑30、信号生 成模块60、信号生成模块61、信号生成模块70、信号生成模块80、第一 寄存器组(REG1)、第二寄存器组(REG2)、第三寄存器(REG3)、第四 寄存器(REG4)、第一多路选择器(MUX1)、第二多路选择器(MUX2)、 加法器(ADDER)、控制逻辑40和控制逻辑50。
信号生成模块60的第一输入端与复制逻辑10的输出端连接,其第二 输入端接入第三寄存器原使能信号MuxSell_Enb,其输出端输出第三寄存 器新的使能信号MuxSell_Enb_Gated。第三寄存器的输出端与控制逻辑40 的一输入端连接。
信号生成模块61的第一输入端与复制逻辑10的输出端连接,其第二 输入端接入第四寄存器原使能信号MuxSell_Ena,其输出端输出第四寄存 器新的使能信号MuxSell_Ena_Gated。第四寄存器的输出端与控制逻辑40 的另一输入端连接。
信号生成模块70的第一输入端与复制逻辑20的输出端连接,其第二 输入端接入第一寄存器组的原使能信号Reg1_En,其输出端输出第一寄存 器组新使能信号Reg1_En_Gated。第一寄存器组的输出端与第一多路选择 器的一输入端连接,并向第一多路选择器输出Bus_A信号。
信号生成模块80的第一输入端与复制逻辑30的输出端连接,其第二 输入端接入第二寄存器组的原使能信号Reg2_En,其输出端输出第二寄存 器组新使能信号Reg2_En_Gated。第二寄存器组的输出端与第一多路选择 器的另一输入端连接,并向第一多路选择器输出Bus_B信号。
第一多路选择器的第一输入端接入第一寄存器组的输出信号Bus_A, 其第二输入端接入第二寄存器组的输出信号Bus_B,其输出端与加法器的 一输入端连接,并向加法器输出Bus_C信号。加法器另一输入端接入Bus_ D信号,其输出端与第二多路选择器的一输入端连接,并向第二多路选择 器输出Bus_E信号。
控制逻辑40根据第三寄存器的输出信号和第四寄存器的输出信号向 第一多路选择器输出使能信号Sel1_En。控制逻辑50根据第五寄存器(图 中未示出)的输出信号和第六寄存器(图中未示出)的输出信号向第二多 路选择器输出使能信号Sel2_En。
第二多路选择器的一输入端与加法器的输出端连接,其另一输入端接 入路径1信号Bus_F,其输出端输出最终输出信号Bus_Out。
复制逻辑10用于计算第一多路选择器的输出信号Bus_C的ODC值(如 ODC(Bus_C)@(T+1)),当第一多路选择器的输出信号Bus_C的ODC值为 高电平时,则表明第一多路选择器的输出信号在最终输出信号Bus_Out处不 可观,即第一多路选择器的输出信号的更新就是不必要的翻转。因此,信 号生成模块60和信号生成模块61生成的第一多路选择器使能信号Sel1_En 的输入信号b和a的新的使能信号MuxSel1_Enb_Gated和 MuxSel1_Ena_Gated,将禁止第三寄存器和第四寄存器输出信号的更新,通 过控制逻辑40使第一多路选择器的使能信号Sel1_En保持原有逻辑值,以减 少第一多路选择器输出信号的不必要翻转;当第一多路选择器的输出信号 Bus_C的ODC值为低电平时,表明其输出信号在最终输出信号处可观,即 该信号可以传递到最终输出信号。因此,第三寄存器由原使能信号 MuxSel1_Enb控制、第四寄存器由原使能信号MuxSel1_Ena控制,正常工 作。
复制逻辑20用于计算第一寄存器组的输出信号Bus_A的ODC值(如 ODC(Bus_A)@(T+1)),当第一寄存器组的输出信号Bus_A的ODC值为高 电平时,表明第一寄存器组的输出信号Bus_A在最终输出信号Bus_Out处 不可观,即第一寄存器组输出信号不能传递到最终信号,那么第一寄存器 组输出信号的更新(如Bus_A变为Bus_Ain)就是不必要的翻转。因此, 由信号生成模块70生成第一寄存器组新的使能信号Reg1_En_Gated,新的 使能信号Reg1_En_Gated将禁止第一寄存器组输出信号的更新,使第一寄存 器组的输出信号保持原有逻辑值,减少不必要的翻转,进而降低功耗;当第 一寄存器组的输出信号Bus_A的ODC值为低电平时,表明其输出信号在最 终输出信号处可观,即该信号可以传递到最终输出信号。因此,第一寄存器 组由原使能信号Reg1_En控制,正常工作。
复制逻辑30用于计算第二寄存器组的输出信号Bus_B的ODC值(如 ODC(Bus_B)@(T+1)),当第二寄存器组的输出信号Bus_B的ODC值为高 电平时,表明第二寄存器组的输出信号Bus_B在最终输出信号Bus_Out处 不可观,即第二寄存器组输出信号不能传递到最终信号,那么第二寄存器 组输出信号的更新(如Bus_B变为Bus_Bin)就是不必要的翻转。因此, 由信号生成模块80生成第二寄存器组新的使能信号Reg2_En_Gated,新的 使能信号Reg2_En_Gated将禁止第二寄存器组输出信号的更新,使第二寄存 器组的输出信号保持原有逻辑值,减少不必要的翻转;当第二寄存器组的输 出信号Bus_B的ODC值为低电平时,表明其输出信号在最终输出信号处可 观,即该信号也可以传递到最终输出信号。因此,第二寄存器组由原使能信 号Reg2_En控制,正常工作。
在上述计算数据路径中信号的ODC值时,下标@T表示为当前时钟周期 的变量值,@(T+1)为下一时钟周期的变量值,@(T-1)为前一时钟周期的变量 值,本发明实施例不用下标表示的变量值,都表示为当前时钟周期的变量值。 为了减少当前周期信号的不必要翻转,需要提前一个时钟周期计算信号的 ODC值,因此需要复制逻辑。
图5(b)为本发明实施例提供的另一种数据路径装置结构示意图。如图 5(b)所示,复制逻辑10-30通常由逻辑电路组成,且输入总线信号(如 Bus_A)的寄存器组可以共用同一个复制逻辑(如复制逻辑20),因此代价 很小。
在一个实施例中,复制逻辑10由与门11构成,分别接入信号c@(T+1) 和信号d@(T+1)。复制逻辑20由与门21和与门22,以及或门23组成, 其中,与门21分别接入信号a@(T+1)和信号b@(T+1),与门22分别接 入信号c@(T+1)和信号d@(T+1),与门21和与门22的输出端与或门23 的输入端连接。复制逻辑30由与门31、与门32,非门34以及或门33 组成,其中,与门31分别接入信号a@(T+1)和信号b@(T+1),与门32 分别接入信号c@(T+1)和信号d@(T+1),与门31的输出端与非门34的 输入端连接,非门34的输出端和与门32的输出端分别和与门33的输入 端连接。
控制逻辑40由与门40组成,与门40的输入端分别接入信号a和信 号b,其输出端与第一多路选择器连接,并向其输出使能信号Sel1_En, (Sel1_En=a&b)。
控制逻辑50由与门50组成,与门50的输入端分别接入信号c和信 号d,其输出端与第二多路选择器连接,并向其输出使能信号Sel2_En, (Sel2_En=c&d)。
信号生成模块60由非门63和与门60组成,其非门63输入端与复 制逻辑10中的与门11的输出端连接,非门63输出端和与门60一输入 端连接,与门60另一输入端接入第三寄存器的原使能信号MuxSel1_Enb, 其输出端向第三寄存器输出新的使能信号MuxSe1_Enb_Gated。
信号生成模块61由非门62和与门61组成,其非门62输入端与复 制逻辑10中的与门11的输出端连接,非门62输出端和与门61一输入 端连接;与门61另一输入端接入第四寄存器的原使能信号MuxSe1_Ena。 其输出端向第四寄存器输出新的使能信号MuxSel1_Ena_Gated。
信号生成模块70由非门71和与门70组成,其中非门71输入端与 复制逻辑20中的或门23的输出端连接,非门71输出端和与门70一输 入端连接;与门70另一输入端接入第一寄存器组的原使能信号Reg1_En, 其输出端向第一寄存器输出新的使能信号Reg1_En_Gated。
信号生成模块80由非门81和与门80组成,其中非门81输入端与 复制逻辑30中的或门33的输出端连接,非门81输出端和与门80一输 入端连接;与门80另一输入端接入第二寄存器组的原使能信号Reg2_En, 其输出端向第二寄存器输出新的使能信号Reg2_En_Gated。
本发明实施例根据ODCM计算的复杂程度将功能部件分成两类:计算类 部件和驱动类部件。计算类部件包括:各种与、或、非逻辑门,加法器和乘 法器等计算部件。计算类部件的ODCM较为复杂,并且其计算方法需要加入 大量逻辑门,使得代价增大。因此本发明实施例定义计算类部件的ODCM为 低电平。驱动类部件包括:三态门,寄存器和多路选择器等部件。驱动类部 件结构如图6所示,其ODCM的计算如公式3所示:
Tri - state : ODC M ( Tri _ In ) = Tri _ En ‾ Register : ODC M ( Reg _ In ) = Reg _ E n @ ( T - 1 ) ‾ Multiplexer : ODC M ( Mux _ In 0 ) = Sel _ En 0 ‾ . . . ODC M ( Mux _ InN ) = Sel _ EnN ‾ - - - ( 3 ) ]]>
由公式3可知,驱动类部件的ODCM仅对其使能信号做逻辑非操作,计 算较为简单,因此代价很小。
信号ODC的计算可以分两种情况:输入信号未连接功能部件但有多个 扇出信号和输入信号连接功能部件且有多个输出信号。
输入信号未连接功能部件但有多个扇出信号,其ODC计算如公式4所 示:
ODC ( bus ) = Π i = 1 N ODC ( fanout i ) - - - ( 4 ) ]]>
输入信号连接功能部件且有多个输出信号,其ODC计算如公式5所示:
ODC ( bus ) = ODC M ( bus ) + Π i = 1 M ODC ( out i ) - - - ( 5 ) ]]>
公式中bus代表输入信号,fanout代表扇出信号,N代表扇出信号的个 数,符号“∏”代表多个信号做逻辑与运算,out代表输出信号,M代表输 出信号的个数。
下面通过一个简单的例子来说明信号ODC的计算方法(参考图7所示)。
ODC ( Fanout 1 ) = ODC M ( Fanout 1 ) + Π i = 1 1 ODC ( Mux _ Out ) = Sel 1 _ En ‾ + ODC ( Mux _ Out ) ODC ( Fanout 2 ) = ODC M ( Fanout 2 ) + Π i = 1 2 ODC ( out i ) = 0 + ODC ( Sum ) & ODC ( Carry ) = ODC ( Sum ) & ODC ( Carry ) ODC ( Bus _ E ) = Π i = 1 2 ODC ( Fanout i ) = ODC ( Fanout 1 ) & ODC ( Fanout 2 ) - - - ( 5 ) ]]>
其中Fanout2的ODCM为低电平是因为加法器(ADDER)是一个计算类 部件。
减少驱动部件输出信号不必要翻转的电路结构如图8所示。
对于三态门,为减少不必要的信号翻转可以利用输出信号的ODC条件。 对于寄存器和多路选择器,为减少不必要的信号翻转可以利用输出信号的 ODC条件,同时需要提前一个时钟周期计算其ODC结果,因此需要添加复 制逻辑。
本发明实施例相对于传统的数据路径结构增加了对输入信号寄存器的 控制。在数据路径工作时,采用可观无关性条件检测信号的不必要翻转,禁 止其输入寄存器的使能信号。这样就能减少不必要的信号翻转,从而降低功 耗。另外,本发明实施例不需要增加大量的隔离逻辑,而且不会造成时钟偏 差。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本 发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变, 都应包括在本权利要求书所涵盖的范围之内。本发明所要求保护的范围仅由 所述的权利要求书进行限定。

一种数据路径装置及其控制方法.pdf_第1页
第1页 / 共13页
一种数据路径装置及其控制方法.pdf_第2页
第2页 / 共13页
一种数据路径装置及其控制方法.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《一种数据路径装置及其控制方法.pdf》由会员分享,可在线阅读,更多相关《一种数据路径装置及其控制方法.pdf(13页珍藏版)》请在专利查询网上搜索。

本发明公开了一种数据路径装置及其控制方法,该装置包括:至少一个复制逻辑和至少一个信号生成模块,所述信号生成模块的第一输入端与所述复制逻辑的输出端连接,其第二输入端接入功能部件的原使能信号;所述复制逻辑计算所述功能部件输出信号的可观无关性ODC值,当所述ODC值为第一电平时,所述信号生成模块根据所述ODC值和所述功能部件的原使能信号生成所述功能部件新的使能信号,所述功能部件新的使能信号用于禁止所述功。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1