并行移位寄存器的数据传输方法与流程

文档序号:19680308发布日期:2020-01-14 17:15阅读:590来源:国知局
并行移位寄存器的数据传输方法与流程

本发明一般涉及集成电路技术领域,特别涉及一种并行移位寄存器的数据传输方法。



背景技术:

并行移位寄存器的逻辑需求如图1所示,其中,l0、l1、l2、l3为示意图中并行移位寄存器的四级流水;a1、b1、c1、d1分别为第一级流水中对应的移位寄存器存储比特;a2、b2、c2、d2分别为第二级流水中对应的移位寄存器存储比特;a3、b3、c3、d3分别为第三级流水中对应的移位寄存器存储比特;a4、b4、c4、d4分别为第四级流水中对应的移位寄存器存储比特;组合逻辑代表每级流水之间不包含时序逻辑的纯组合逻辑。

图2-图5示出了第0-3拍数据传入的示意图。其中的标号00、01、02、03代表第0拍数据传入系统,并行的4比特寄存器;10、11、12、13代表第1拍数据传入系统,并行的4比特寄存器;20、21、22、23代表第2拍数据传入系统,并行的4比特寄存器;30、31、32、33代表第3拍数据传入系统,并行的4比特寄存器。图3传入第1拍数据之后,可以看出,图2中l0和l1的8比特寄存器,最大可能全部翻转,翻转次数达到8次,翻转率为100%。分析图3、图4可以得出类似结论。

很多产品对核心芯片功耗的要求非常严格,功耗偏大不但会造成芯片耗电加速,折旧加速,也会带来发热,芯片散热成本升高等等问题。对于移动端产品,功耗也是最重要的性能指标之一。而现有的技术方案对于流水结构中移位寄存器的冗余翻转部分未经处理,在设计上对功耗的考虑欠优化。未做功耗优化的移位寄存器是逐级往后传递寄存器翻转;造成了系统逻辑翻转率较高,中间级的部分翻转没有负载使用,为了最后能得到正确输出,一直在空翻,导致动态功耗的浪费;而如果设计需求中间级过多,则动态功耗将成倍增加。



技术实现要素:

本发明的目的提供一种并行移位寄存器的数据传输方法,降低功耗。

为了解决上述问题,本发明公开了一种并行移位寄存器的数据传输方法,包括:

若干级的移位寄存器,每级移位寄存器具有若干个寄存器单元;

第奇数拍的数据输入至第一级移位寄存器,各个奇数级移位寄存器上存储的数据移位至后一个奇数级移位寄存器上,各个偶数级移位寄存器中的一个或少数固定位置寄存器逻辑翻转;

第偶数拍的数据输入至第二级移位寄存器,各个数据偶数级移位寄存器上存储的数据移位至后一个偶数级移位寄存器上,各个奇数级移位寄存器中的一个或少数固定位置寄存器逻辑翻转。

在一个优选例中,所述各个奇数级移位寄存器上存储的数据通过组合逻辑移位至后一个奇数级移位寄存器上。

在一个优选例中,第奇数拍的数据输入时,所述各个偶数级移位寄存器中的第一个寄存器逻辑翻转。

在一个优选例中,所述各个偶数级移位寄存器中进行逻辑翻转的寄存器在下一次第偶数拍的数据输入时,将翻转后存储的数据移位至下一个偶数级移位寄存器。

在一个优选例中,所述各个偶数级移位寄存器上存储的数据通过组合逻辑移位至后一个偶数级移位寄存器上。

在一个优选例中,第偶数拍的数据输入时,所述各个奇数级移位寄存器中的第一个寄存器逻辑翻转。

在一个优选例中,所述各个奇数级移位寄存器中进行逻辑翻转的寄存器在下一次第奇数拍的数据输入时,将翻转后存储的数据移位至下一个奇数级移位寄存器。

在一个优选例中,所述各个偶数级移位寄存器中进行逻辑翻转的寄存器连接控制逻辑。

在一个优选例中,所述各个奇数级移位寄存器中进行逻辑翻转的寄存器连接控制逻辑。

在一个优选例中,所述组合逻辑包括:逻辑运算器、半加器、全加器、半减器、全加器、数据选择器、数据分配器、编码器和译码器中的一种或多种组合。

相对于现有技术,本发明具有以下有益效果:

本发明中可以在保证系统功能的前提下,减少移位寄存器中间级的冗余翻转;有效降低了系统逻辑翻转率,最终降低系统动态功耗。

附图的简要说明

附图仅示出了本发明的示例性实施例,因此不限制其范围,因为本发明的概念适用于其他同等有效的实施例。

图1示出了并行移位寄存器的逻辑需求示意图。

图2示出了现有技术中第0拍数据传入的示意图。

图3示出了现有技术中第1拍数据传入的示意图。

图4示出了现有技术中第2拍数据传入的示意图。

图5示出了现有技术中第3拍数据传入的示意图。

图6示出了本发明一实施例中并行移位寄存器的数据传输方法的流程图。

图7示出了本发明一实施例中第0拍数据传入的示意图。

图8示出了本发明一实施例中第1拍数据传入的示意图。

图9示出了本发明一实施例中第2拍数据传入的示意图。

图10示出了本发明一实施例中第3拍数据传入的示意图。

图11为本发明实施例中进行功耗优化的设计示意图。

具体实施方式

在以下的叙述中,为了使读者更好地理解本发明而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本发明各权利要求所要求保护的技术方案。

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。

参考图6所示,本发明公开了一种并行移位寄存器的数据传输方法,包括:

框101所示,所述并行移位寄存器包括若干级的移位寄存器,每级移位寄存器具有若干个寄存器单元;例如,包括l0、l1、l2、l3四级移位寄存器,每级包括4个寄存器单元。

框102所示,第奇数拍的数据输入至第一级移位寄存器,各个奇数级移位寄存器上存储的数据移位至后一个奇数级移位寄存器上,各个偶数级移位寄存器中的一个或少数固定位置寄存器逻辑翻转。

框103所示,第偶数拍的数据输入至第二级移位寄存器,各个数据偶数级移位寄存器上存储的数据移位至后一个偶数级移位寄存器上,各个奇数级移位寄存器中的一个或少数固定位置寄存器逻辑翻转。

在一个优选例中,所述各个奇数级移位寄存器上存储的数据通过组合逻辑移位至后一个奇数级移位寄存器上。寄存器之间数据移位的跨度为2级。

在一个优选例中,第奇数拍的数据输入时,所述各个偶数级移位寄存器中的第一个寄存器逻辑翻转。

在一个优选例中,所述各个偶数级移位寄存器中进行逻辑翻转的寄存器在下一次第偶数拍的数据输入时,将翻转后存储的数据移位至下一个偶数级移位寄存器。

在一个优选例中,所述各个偶数级移位寄存器上存储的数据通过组合逻辑移位至后一个偶数级移位寄存器上。寄存器之间数据移位的跨度为2级。

在一个优选例中,第偶数拍的数据输入时,所述各个奇数级移位寄存器中的第一个寄存器逻辑翻转。

在一个优选例中,所述各个奇数级移位寄存器中进行逻辑翻转的寄存器在下一次第奇数拍的数据输入时,将翻转后存储的数据移位至下一个奇数级移位寄存器。

在一个优选例中,所述各个偶数级移位寄存器中进行逻辑翻转的寄存器连接控制逻辑。

在一个优选例中,所述各个奇数级移位寄存器中进行逻辑翻转的寄存器连接控制逻辑。

在一个优选例中,所述组合逻辑包括:逻辑运算器、半加器、全加器、半减器、全加器、数据选择器、数据分配器、编码器和译码器中的一种或多种组合。

为了能够更好地理解本发明的技术方案,下面结合一个具体的例子来进行说明,该例子中罗列的细节主要是为了便于理解,不作为对本发明保护范围的限制。以下示例以四级并行移位寄存器、每级包括4寄存器单元为例进行说明。

图7表示第1拍数据并行传入00、01、02、03共4比特数据,分别传入至第一级移位寄存器的四个寄存器单元。

图8表示第2拍数据并行传入10、11、12、13共4比特数据,分别传入至第二级移位寄存器的四个寄存器单元,并且第一级移位寄存器的一个寄存器发生翻转。可以看出,图8中第一级和第二级的8比特寄存器,最大可能5/8翻转,翻转次数5次,翻转率由未做功耗优化设计的最大翻转100%降为62.5%。

图9表示第3拍数据并行传入20、21、22、23共4比特数据,分别传入至第一级移位寄存器的四个寄存器单元。第一级移位寄存器上存储的数据移位至后第三级移位寄存器上,并且第二级移位寄存器的一个寄存器发生翻转。可以看出,图9中第一级和第二级的8比特寄存器,最大可能5/8翻转,翻转次数5次,翻转率由未做功耗优化设计的最大翻转100%降为62.5%。

图10表示第4拍数据并行传入30、31、32、33共4比特数据,分别传入至第二级移位寄存器的四个寄存器单元。第二级移位寄存器上存储的数据移位至后第四级移位寄存器上,并且第一、第三级移位寄存器的一个寄存器发生翻转。可以看出,图10中第一级和第二级的8比特寄存器,最大可能5/8翻转,翻转次数5次,翻转率由未做功耗优化设计的最大翻转100%降为62.5%。

图7中第1拍的00、01、02、03共4个比特输入。图8中第2拍数据传入时,第1拍中的00被组合逻辑运算产生的04替换,变成04、01、02、03。其中,该被替换的寄存器与控制逻辑连接,选择00或04输入。图9中第3拍数据传入时,04、01、02、03、通过组合逻辑运算变成了02、03、04、05,并进行移位操作至下一个奇数级(第3级)移位寄存器。图10中第4拍数据传入时,第3级的02、03、04、05中的02被组合逻辑运算产生的06替换,变成了06、03、04、05。其中,该被替换的寄存器与控制逻辑连接,选择02或06输入。至此,第1拍的00、01、02、03输入的4个比特数据最后通过处理生成了06、03、04、05共4比特数据,只是数据的顺序需要根据负载处做连线调整。同样的,对于输入的第2拍的“10、11、12、13”,第3拍的“20、21、22、23”以及第4拍的“30、31、32、33”,数据移位分析同理。

图11为本发明实施例中进行功耗优化的设计示意图。其中,相同填充表示逻辑相关联,如00和04需要由控制选择逻辑(如数据选择器mux或者各种类型时钟脉冲门clockgate)来选择数据00或者数据04输出到寄存器。

应当理解,本发明的并行移位寄存器还可以包括6级、8级等更多级。例如,当具有6级时,第5拍数据传入时,传入至第第一级移位寄存器,第一级移位寄存器上存储的数据移位至第三级,第三级上寄存器存储的数据移位至第五级,地6拍数据传入时,传入至第二级移位寄存器,第二级移位寄存器上存储的数据移位至第四级,第四级移位寄存器上存储的数据移位至第六级,以此类推。本发明中移位寄存器上存储的时候通过组合逻辑进行2级跨度的移位,减少中间级寄存机的逻辑翻转,避免冗余翻转。

需要说明的是,在本专利的发明文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的发明文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。

在本说明书提及的所有文献都被认为是整体性地包括在本发明的公开内容中,以便在必要时可以作为修改的依据。此外应理解,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。

在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1