掌桥专利:专业的专利平台
掌桥专利
首页

一种寄存器阵列电路和访问寄存器阵列的方法

文献发布时间:2024-04-18 19:58:53


一种寄存器阵列电路和访问寄存器阵列的方法

本申请实施例涉及芯片技术领域,尤其涉及一种寄存器阵列电路和访问寄存器阵列的方法。

随着数字化社会发展的推进,电路设计对存储的需求越来越大,例如基于寄存器阵列或者随机存取存储器(random access memory,RAM)实现小容量存储。基于寄存器阵列实现小容量存储时,寄存器(register)可用来暂存指令和数据等。

对于寄存器,信息的存入一般采用数据-时钟方式,即数据输入端(数据端)对应数据信息位,时钟输入端对应控制信号,在控制信号作用下,瞬时地将信息写入寄存器。对于寄存器阵列,所有地址的寄存器共享写数据总线,当写数据总线有数据传输时,写数据总线会产生翻转,翻转会传到所有地址的寄存器的数据端,由于一个周期内只有一个地址的寄存器进行数据写入,因此会导致寄存器阵列中未被选中的地址的寄存器内部产生无用的电路翻转,而电路中的每次翻转都伴随着功耗的产生,因此寄存器内部电路的这些无用翻转会造成功耗浪费。

目前,在使用门控时钟电路对寄存器的时钟输入端进行控制的基础上,还可以通过与门或与非门器件对未选中的地址的寄存器的数据端进行关断(未选中的地址的寄存器的数据端分别关断或者根据地址进行分组关断),可以避免未选中的地址的寄存器内部电路产生无效翻转。但是这种方法会导致绕线数量和电路面积增加,从而导致物理实现困难,且与门或与非门在运作时也会引入额外的功耗。

发明内容

本申请实施例提供一种寄存器阵列电路和访问寄存器阵列的方法,可以在寄存器阵列电路进行存储时,减少寄存器阵列电路中的无用翻转,从而降低功耗。

为达到上述目的,本申请实施例采用如下技术方案:

第一方面,本申请实施例提供了一种寄存器阵列电路,寄存器阵列电路包括多个寄存器和与多个寄存器一一对应的多个门控时钟电路,门控时钟电路用于向寄存器输出门控时钟。多个寄存器包括第一寄存器,第一寄存器为上升沿触发寄存器,与第一寄存器对应的第一门控时钟电路为或门控时钟电路。第一门控时钟电路用于在第一寄存器未被执行写访问时,向第一寄存器输出钳位为高电平的门控时钟。由此,上升沿触发寄存器未被执行写访问时,该上升沿触发寄存器对应的门控时钟电路会向第一寄存器输出钳位为高电平的门控时钟,即该上升沿触发寄存器的时钟输入端被钳位为高电平,会使得上升沿触发寄存器内部SI和D端选择电路以及低通高锁闩锁电路中的低通电路不导通,因此不会造成空翻,从而避免功耗浪费。

在一种可能的设计中,第一寄存器被执行写访问时,即第一寄存器对应的地址被选中时,第一门控时钟电路还用于向第一寄存器输出的门控时钟由高电平跳变为低电平,即将第一寄存器的时钟输入端由高电平跳变为低电平,并钳位为低电平,再向第 一寄存器输出的门控时钟由低电平跳变为高电平,即第一寄存器的时钟输入端由低电平跳变为高电平。其中,在向第一寄存器输出的门控时钟由低电平跳变为高电平时,即在第一寄存器的时钟输入端由低电平跳变为高电平时,第一寄存器被写入数据。由此,上升沿触发寄存器内部SI和D端选择电路以及低通高锁闩锁电路中的低通电路只会在被执行写访问时导通一段时间,存在电路翻转现象,等到数据被写入到高通低锁闩锁电路之后,即数据被写入到上升沿触发寄存器之后,该上升沿触发寄存器不被执行写访问时,上升沿触发寄存器内部SI和D端选择电路以及低通高锁闩锁电路中的低通电路将不导通,进而避免功耗浪费。

在一种可能的设计中,多个门控时钟电路中的每个门控时钟电路还包括第一输入端(即数据输入端)和第二输入端(即时钟输入端),第一输入端与每个门控时钟电路共享的写地址总线耦合,第二输入端用于接收与每个门控时钟电路共享的写时钟信号。由此,每个地址都有对应的门控时钟电路,门控时钟电路的输出与写地址总线指示的地址信息和写时钟信号有关,可以控制门控时钟电路在地址未被选中时向该地址的寄存器输出钳位为高电平的门控时钟,即将该地址的寄存器的时钟输入端钳位为高电平,从而避免功耗浪费。

在一种可能的设计中,第一寄存器未被执行写访问时,第一门控时钟电路的第一输入端的信号用于指示第一寄存器的第一地址未被选中。由此,地址未被选中时,该地址对应的门控时钟电路不进行跳变,该地址的寄存器未被执行写访问,该地址对应的门控时钟电路会向该地址的寄存器输出钳位为高电平的门控时钟,即会将该地址的寄存器的时钟输入端钳位为高电平,从而避免功耗浪费。

第二方面,本申请实施例提供了一种寄存器阵列电路,寄存器阵列电路包括多个寄存器和与多个寄存器一一对应的多个门控时钟电路,门控时钟电路用于向寄存器输出门控时钟。多个寄存器包括第一寄存器,第一寄存器为下降沿触发寄存器,与第一寄存器对应的第一门控时钟电路为与门控时钟电路。第一门控时钟电路用于在第一寄存器未被执行写访问时,向第一寄存器输出钳位为低电平的门控时钟。由此,该下降沿触发寄存器对应的门控时钟电路会向第一寄存器输出钳位为低电平的门控时钟,即该下降沿触发寄存器未被执行写访问时,下降沿触发寄存器的时钟输入端被钳位为低电平,会使得下降沿触发寄存器内部SI和D端选择电路以及高通低锁闩锁电路中的高通电路不导通,因此不会造成空翻,从而避免功耗浪费。

在一种可能的设计中,第一寄存器被执行写访问时,即第一寄存器对应的地址被选中时,第一门控时钟电路还用于向第一寄存器输出的门控时钟由低电平跳变为高电平,即将第一寄存器的时钟输入端由低电平跳变为高电平,并钳位为高电平,再向第一寄存器输出的门控时钟由高电平跳变为低电平,即第一寄存器的时钟输入端由高电平跳变为低电平。其中,在向第一寄存器输出的门控时钟由高电平跳变为低电平时,即在第一寄存器的时钟输入端由高电平跳变为低电平时,第一寄存器被写入数据。由此,下降沿触发寄存器内部SI和D端选择电路以及高通低锁闩锁电路中的高通电路只会在被执行写访问时导通一段时间,存在电路翻转现象,等到数据被写入到低通高锁闩锁电路之后,即数据被写入到下降沿触发寄存器之后,该下降沿触发寄存器不被执行写访问时,下降沿触发寄存器内部SI和D端选择电路以及高通低锁闩锁电路中的高 通电路将不导通,进而避免功耗浪费。

在一种可能的设计中,多个门控时钟电路中的每个门控时钟电路还包括第一输入端(即数据输入端)和第二输入端(即时钟输入端),第一输入端与每个门控时钟电路共享的写地址总线耦合,第二输入端用于接收与每个门控时钟电路共享的写时钟信号。由此,每个地址都有对应的门控时钟电路,门控时钟电路的输出与写地址总线指示的地址信息和写时钟信号有关,可以控制门控时钟电路在地址未被选中时向该地址的寄存器输出钳位为低电平的门控时钟,即将该地址的寄存器的时钟输入端钳位为低电平,从而避免功耗浪费。

在一种可能的设计中,第一寄存器未被执行写访问时,第一门控时钟电路的第一输入端的信号用于指示第一寄存器的第一地址未被选中。由此,地址未被选中时,该地址对应的门控时钟电路不进行跳变,该地址的寄存器未被执行写访问,该地址对应的门控时钟电路会向该地址的寄存器输出钳位为低电平的门控时钟,即会将该地址的寄存器的时钟输入端钳位为低电平,从而避免功耗浪费。

第三方面,本申请实施例提供了一种访问寄存器阵列的方法,该方法应用于寄存器阵列电路,寄存器阵列电路包括多个寄存器和与多个寄存器一一对应的多个门控时钟电路,门控时钟电路用于向寄存器输出门控时钟。多个寄存器包括第一寄存器,第一寄存器为上升沿触发寄存器,与第一寄存器对应的第一门控时钟电路为或门控时钟电路。当确定第一寄存器未被执行写访问时,通过第一门控时钟电路向第一寄存器输出钳位为高电平的门控时钟,即将第一寄存器的时钟输入端钳位为高电平。第三方面所达到的有益效果可以参见第一方面中有益效果。

在一种可能的设计中,当确定第一寄存器被执行写访问时,通过第一门控时钟电路向第一寄存器输出的门控时钟由高电平跳变为低电平,即将第一寄存器的时钟输入端由高电平跳变为低电平,并钳位为低电平,再向第一寄存器输出的门控时钟由低电平跳变为高电平,即再将第一寄存器的时钟输入端由低电平跳变为高电平。其中,在向第一寄存器输出的门控时钟由低电平跳变为高电平时,即在第一寄存器的时钟输入端由低电平跳变为高电平时,向第一寄存器写入数据。

在一种可能的设计中,多个门控时钟电路中的每个门控时钟电路还包括第一输入端和第二输入端,第一输入端与每个门控时钟电路共享的写地址总线耦合,第二输入端用于接收与每个门控时钟电路共享的写时钟信号。

在一种可能的设计中,当确定第一寄存器未被执行写访问时,通过第一门控时钟电路的第一输入端的信号指示第一寄存器的第一地址未被选中。

第四方面,本申请实施例提供了一种访问寄存器阵列的方法,该方法应用于寄存器阵列电路,寄存器阵列电路包括多个寄存器和与多个寄存器一一对应的多个门控时钟电路,门控时钟电路用于向寄存器输出门控时钟。多个寄存器包括第一寄存器,第一寄存器为下降沿触发寄存器,与第一寄存器对应的第一门控时钟电路为与门控时钟电路。当确定第一寄存器未被执行写访问时,通过第一门控时钟电路向第一寄存器输出钳位为低电平的门控时钟,即将第一寄存器的时钟输入端钳位为低电平。第四方面所达到的有益效果可以参见第二方面中有益效果。

在一种可能的设计中,当确定第一寄存器被执行写访问时,通过第一门控时钟电 路向第一寄存器输出的门控时钟由低电平跳变为高电平,即将第一寄存器的时钟输入端由低电平跳变为高电平,并钳位为高电平,再向第一寄存器输出的门控时钟由高电平跳变为低电平,即再将第一寄存器的时钟输入端由高电平跳变为低电平。其中,在向第一寄存器输出的门控时钟由高电平跳变为低电平时,即在第一寄存器的时钟输入端由高电平跳变为低电平时,向第一寄存器写入数据。

在一种可能的设计中,多个门控时钟电路中的每个门控时钟电路还包括第一输入端和第二输入端,第一输入端与每个门控时钟电路共享的写地址总线耦合,第二输入端用于接收与每个门控时钟电路共享的写时钟信号。

在一种可能的设计中,当确定第一寄存器未被执行写访问时,通过第一门控时钟电路的第一输入端的信号指示第一寄存器的第一地址未被选中。

第五方面,一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第三方面以及第三方面中的任一种可能的设计所述的方法。

第六方面,一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第四方面以及第四方面中的任一种可能的设计所述的方法。

第七方面,一种计算机程序产品,当计算机程序产品在计算机上运行时,使得电子设备执行上述第三方面以及第三方面中的任一种可能的设计所述的方法。

第八方面,一种计算机程序产品,当计算机程序产品在计算机上运行时,使得电子设备执行上述第四方面以及第四方面中的任一种可能的设计所述的方法。

上述其他方面对应的有益效果,可以参见关于方法方面的有益效果的描述,此处不予赘述。

图1为一种寄存器阵列电路示意图;

图2为一种寄存器阵列电路的时序示意图;

图3为另一种寄存器阵列电路示意图;

图4A为本申请实施例提供的一种寄存器阵列电路示意图;

图4B为本申请实施例提供的另一种寄存器阵列电路示意图;

图5为本申请实施例提供的一种电子装置的硬件结构示意图;

图6A为一种寄存器内部电路示意图;

图6B为另一种寄存器内部电路示意图;

图7A为本申请实施例提供的一种寄存器阵列电路示意图;

图7B为本申请实施例提供的一种或门控时钟电路的内部结构示意图;

图7C为本申请实施例提供的一种或门控时钟电路的时序示意图;

图7D为本申请实施例提供的另一种寄存器阵列电路示意图;

图7E为本申请实施例提供的一种与门控时钟电路的内部结构示意图;

图7F为本申请实施例提供的一种与门控时钟电路的时序示意图;

图8为本申请实施例提供的一种访问寄存器阵列的方法示意图;

图9为本申请实施例提供的另一种访问寄存器阵列的方法示意图;

图10为本申请实施例提供的一种寄存器阵列电路示意图;

图11为本申请实施例提供的一种寄存器阵列电路的时序示意图;

图12为本申请实施例提供的另一种寄存器阵列电路示意图;

图13为本申请实施例提供的另一种寄存器阵列电路的时序示意图;

图14为本申请实施例提供的一种电子装置的硬件结构示意图。

为了便于理解,示例性地给出了部分与本申请实施例相关概念的说明以供参考。如下所示:

时钟(clock):电路中各记忆元件受时钟控制,只有在时钟信号到来时,记忆元件的状态才能发生变化,从而使时序电路的输出发生变化,而且每来一个时钟信号,记忆元件的状态和电路输出状态才能改变一次。本申请实施例中,对寄存器阵列进行数据写入时时钟信号为写时钟信号,写时钟信号会周期性翻转,即进行0-1电平跳变,由低电平跳变为高电平,或进行1-0电平跳变,由高电平跳变为低电平。

门控时钟电路(clock gating):通过关闭芯片上暂时用不到的功能和该功能对应的时钟,可以实现节省电流消耗的目的。当门控时钟电路的输出端无跳变时,表示该门控时钟电路对应的寄存器不被写入数据,当门控时钟电路的输出端进行跳变时,表示该门控时钟电路对应的寄存器被写入数据。本申请实施例中,门控时钟电路的输出端进行跳变时,该门控时钟电路对应的寄存器被写入数据。

数据总线(data bus):承载数据信息,该数据信息可以是指令,音频、视频或图片等数据。本申请实施例中,对寄存器阵列进行数据写入时数据总线可以为写数据总线(write data bus),写数据总线中有数据传输时,写数据总线会进行0-1电平跳变,即低电平跳变为高电平,或1-0电平跳变,即高电平跳变为低电平。写数据总线的电平跳变可以理解为数据翻转。

地址总线(address bus):承载地址信息,地址总线可以分为写地址总线和读地址总线。写地址总线表示数据总线上的数据信息需要写入对应缓存(即寄存器)的地址信息,读地址总线表示需要从缓存中读取对应缓存的地址信息。

寄存器(register):用于存储数据信息,按照时钟触发沿不同分为上升沿触发寄存器和下降沿触发寄存器。上升沿触发寄存器在其时钟输入端由低电平跳变到高电平时进行数据写入,下降沿触发寄存器在其时钟输入端由高电平跳变到低电平时进行数据写入。例如本申请实施例中,以使用双闩锁(latch)结构的上升沿触发寄存器为例时,上升沿触发寄存器的内部电路可以包含扫描输入(scan input,SI)和数据(data,D)端选择电路、低通高锁闩锁电路和高通低锁闩锁电路三部分电路。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。

现有技术中,寄存器阵列电路如图1所示,该寄存器阵列电路包括由多个寄存器组成的寄存器阵列(现有技术中均为上升沿触发寄存器)和与每个寄存器对应的与门 控时钟电路(AND clock gating)。其中,与门控时钟电路的输出端不进行跳变时输出保持低电平,此时不向与该与门控时钟电路对应的寄存器写入数据。寄存器阵列例如包括图1中示出的0地址寄存器、1地址寄存器、…、n地址寄存器等(n为大于1的整数),均为上升沿触发寄存器,分别代表地址0的寄存器、地址1的寄存器、…、地址n的寄存器,即每个寄存器对应的地址不同。每个寄存器的时钟输入端a与对应的与门控时钟电路的输出端b耦合,每个寄存器的数据输入端c共享写数据总线。与门控时钟电路的两个输入端中,一个输入端d由每个与门控时钟电路共享的写地址总线(write address bus)控制,另一个输入端e用于接收每个与门控时钟电路共享的写时钟(write clock)信号。其中,写地址总线在不同时钟周期内地址可能不同,不同时钟周期内,写地址总线指示的地址信息可能为0、1、…、n,分别表示选中地址0、地址1、…、地址n。当写地址总线指示的地址信息=0时,即0地址被选中写入数据时,0地址寄存器对应的与门控时钟电路的输出端进行上升沿跳变(与门控时钟电路的输出端由低电平跳变为高电平),其余未被选中的地址的寄存器对应的与门控时钟电路的输出端不进行跳变(与门控时钟电路的输出端保持低电平),写数据总线上承载的数据信息在与门控时钟电路的输出端进行上升沿跳变时写入到0地址寄存器中。

如图2所示,为图1寄存器阵列电路的时序图。写时钟信号周期性翻转,写地址总线指示的地址信息=0时,0地址被选中,0地址寄存器被执行写访问,0地址寄存器对应的与门控时钟电路的输出端会进行上升沿跳变,此时0地址寄存器被写入数据,写数据总线中的数据被写入到0地址寄存器中。在写地址总线指示的地址信息=0时,其余未被选中的地址对应的寄存器未被执行写访问,未被执行写访问的寄存器对应的与门控时钟电路的输出端不进行跳变。以1地址寄存器对应的门控时钟电路的输出端为例,在写地址总线指示的地址信息=0时,1地址寄存器对应的门控时钟电路的输出端保持低电平不进行跳变,即1地址寄存器不被写入数据。其中,图2所示的寄存器对应的与门控时钟电路的输出端的跳变位置可以根据实际电路调整,该时序图仅为示例。

由于所有地址的寄存器共享写数据总线,因此只要写数据总线进行数据翻转(即写数据总线中有数据传输),那么所有地址的寄存器的数据端(例如图1中的输入端c)都会进行翻转。某一地址被选中时,其余未被选中的地址对应的与门控时钟电路的输出端输出均保持低电平,当与门控时钟电路的输出端输出低电平时,写数据总线的翻转会导致未被选中的地址的寄存器内部SI和D端选择电路、低通高锁闩锁电路中的低通电路以及反相器翻转。由于未被选中的地址对应的与门控时钟电路的输出端不进行跳变,因此该未被选中的地址的寄存器不被写入数据,所以寄存器内部SI和D端选择电路、低通高锁闩锁电路中的低通电路以及反相器的翻转便是无效的,可以理解为空翻,会造成功耗浪费。

目前,为了解决未被选中的地址的寄存器的数据端无效翻转引入的功耗浪费问题,如图3所示,在图1的寄存器阵列电路的基础上增加了与门(AND)(或与非门(NAND)),对未被选中的地址的寄存器的数据端进行数据关断,将未被执行写访问的地址的寄存器的数据端置为低电平(或高电平),即不进行跳变,从而减少无效翻转。但是增加的与门(或与非门)会导致绕线数量和电路面积增加,使得物理实现变得困难,且与 门(或与非门)在运作时也会引入额外的功耗。

因此,本申请提出一种寄存器阵列电路,该电路可以位于电子装置中,例如集成于芯片中。考虑到现有技术中寄存器阵列电路中会产生许多无用翻转导致功耗增加的问题,本申请在寄存器阵列电路中,当寄存器阵列均为上升沿触发寄存器时,未被执行写访问的地址的寄存器的数据端翻转时,通过使用或门控时钟电路(OR clock gating)控制每个地址的寄存器的时钟输入端,其中,或门控时钟电路的输出端输出保持高电平,即未被执行写访问的寄存器的时钟输入端输入保持高电平,当或门控时钟电路的输出端保持在高电平时,寄存器内部的SI和D端选择电路和低通高锁闩锁电路中的低通电路不会被导通,从而能够减少寄存器内部电路空翻,避免造成功耗浪费,还可以减少绕线数量以及电路面积,降低物理实现复杂度。当寄存器阵列电路均为下降沿触发寄存器时,未被执行写访问的地址的寄存器的数据端翻转时,通过使用与门控时钟电路控制每个地址的寄存器的时钟输入端,其中,与门控时钟电路的输出端输出保持低电平,即未被执行写访问的寄存器的时钟输入端输入保持低电平,当与门控时钟电路的输出端保持在低电平时,寄存器内部的SI和D端选择电路和高通低锁闩锁电路中的高通电路不会被导通,从而能够减少寄存器内部电路空翻,避免造成功耗浪费,还可以减少绕线数量以及电路面积,降低物理实现复杂度。

如图4A、图4B所示,本申请实施例可以应用于寄存器阵列电路中。该寄存器阵列电路包括门控时钟单元和寄存器阵列等器件。其中,如图4A所示,当寄存器阵列中的寄存器为上升沿触发寄存器时,门控时钟单元为或门控时钟电路。如图4B所示,当寄存器阵列中的寄存器为下降沿触发寄存器时,门控时钟单元为与门控时钟电路。门控时钟单元的两个输入端一个接收写时钟信号,另一个耦合到写地址总线来接收写地址总线指示的地址信息。门控时钟单元的输出端用于控制该门控时钟单元对应的寄存器是否被写入数据,门控时钟单元的输出端和写数据总线的输出端耦合到寄存器阵列。当门控时钟单元的输出端进行跳变时,写数据总线承载的数据信息被写入到该门控时钟单元对应的寄存器中。其中,每个门控时钟单元都有其对应的寄存器,每个寄存器对应不同的地址,所有地址的寄存器统称为寄存器阵列。

需要说明的是,本申请实施例可以应用于多种类型的寄存器组成的寄存器阵列中,例如该寄存器可以为带SI端上升沿触发寄存器、带SI端下降沿触发寄存器、不带SI端上升沿触发器和不带SI端下降沿触发器等,不予限制。

本申请实施例应用于电子装置时,如图5所示,其示出了一种电子装置的硬件结构示意图,该电子装置可以包括本申请实施例中的芯片,图5中以芯片500示例的芯片。芯片500可包括处理器501、存储器502以及总线503等。

可以理解的是,本申请实施例示意的结构并不构成对芯片500的具体限定。在本申请另一些实施例中,芯片500可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

其中,处理器501可以包括一个或多个处理单元。例如:处理器501可以包括图形处理器(graphics processing unit,GPU)、中央处理器(central processing unit,CPU)、和/或神经网络处理器(neural network processing unit,NPU)等。其中, 不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,芯片500也可以包括一个或多个处理器501。

处理器501可以理解为是芯片500的神经中枢和指挥中心。可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

存储器502可以是缓存单元,用于存储指令和数据。在一些实施例中,存储器502包括本申请实施例提供的寄存器阵列和门控时钟单元。

在一种可能的实现方式中,存储器502可以独立于处理器501。即存储器502可以通过总线503与处理器501相连接,用于存储数据、指令或者程序代码。处理器501调用并执行存储器502中存储的指令或程序代码时,能够通过调用本申请实施例提供的寄存器阵列电路实现。

应用上述本申请提供的芯片,下面结合附图对本申请针对芯片所提出的寄存器阵列电路中,例如芯片的未被选中的地址的寄存器的数据端翻转,向寄存器输入的门控时钟为低电平造成寄存器内部电路作无效翻转的场景,通过使用门控时钟电路来控制向每个地址对应的寄存器输入的门控时钟的电平值的寄存器阵列电路进行介绍。

在介绍本申请实施例提供的寄存器阵列电路之前,先对寄存器内部电路大致进行介绍,如图6A所示,以寄存器为上升沿触发寄存器为例。寄存器的端口包括数据输入端(D端)、时钟输入端(CLK端)、扫描输入端(SI端)、扫描允许信号输入端(SE端)和信号输出端(Q端)等。D端与寄存器外部的写数据总线耦合,用来接收数据信息,CLK端与寄存器外部的门控时钟单元的输出端耦合,用来接收门控时钟,SI端用来输入进行寄存器测试时的扫描信号,SE端用于控制寄存器的工作模式,当SE输入低电平时为寄存器正常工作模式(即进行数据写入),当SE端输入高电平时为寄存器扫描模式(即对寄存器进行测试),Q端用来传输输出信号。寄存器内部电路包括SI和D端选择电路、低通高锁闩锁电路和高通低锁闩锁电路等。CLK端耦合到SI和D端选择电路、低通高锁闩锁电路和高通低锁闩锁电路,CLK端包括图6A中的CLK端和CLK_bb端(CLK_bb端与CLK端输入的信号相反)。SE端、SI端和D端耦合到SI和D端选择电路的输入端,SI和D端选择电路的输出端耦合到低通高锁闩锁电路中的低通电路(即图6A中的CLK0和CLK0_b部分电路),该低通高锁闩锁电路的输出端耦合到高通低锁闩锁电路中的高通电路(即图6A中的CLK2和CLK2_b部分电路),高通低锁闩锁电路的输出端通过输出反向器电路耦合到Q端。其中,低通高锁闩锁电路可以理解为用于暂存SI和D端选择电路的输出端传输的数据信息,只有当数据信息被存入到高通低锁闩锁电路时,才算完成寄存器的数据写入。

寄存器为上升沿触发寄存器时,在SE端输入低电平处于正常工作模式下,当CLK端输出为低电平时,图6A中的CLK0和CLK0_b导通,此时若D端翻转为低电平,则D0、SE0和CLK0这一电路导通传输D端的数据信息,若D端翻转为高电平时,则D0_b、SE0_b和CLK0_b这一电路导通传输D端的数据信息。相当于SI和D端选择电路以及低通高锁闩锁电路中的低通电路被导通,D端传输的数据信息从低通高锁闩锁电路中的低通电路中输出。但CLK端输出为低电平时,图6A中的CLK1、CLK1_b、CLK2和CLK2_b不导通,因此从低通高锁闩锁电路中的低通电路中输出的数据信息会直接经过反相器1输出,但并不能通过高通低锁闩锁电路的高通电路,相当于数据被暂存在低通高锁闩锁电 路。由于数据信息并未被存入高通低锁闩锁电路,相当于该寄存器并未被写入数据,因此SI和D端选择电路、低通高锁闩锁电路中的低通电路以及反相器1进行数据传输时产生的跳变即为无效的,可以理解为寄存器内部电路存在空翻。

当CLK端输出为高电平时,图6A中的CLK0和CLK0_b不导通,CLK1、CLK1_b、CLK2和CLK2_b导通,在CLK端由低电平翻转到高电平的瞬间,经过反相器1输出的数据信息会通过反馈电路锁进低通高锁闩锁电路中的高锁电路(即图6A中的CLK1和CLK1_b部分电路),并且还会通过高通低锁闩锁电路中的高通电路,相当于低通高锁闩锁电路中存储的数据信息被存储到高通低锁闩锁电路中,即完成对寄存器的数据写入。由于CLK端输出为高电平时,CLK0和CLK0_b不导通,相当于SI和D端选择电路和低通高锁闩锁电路中的低通电路不被导通,因此SI和D端选择电路、低通高锁闩锁电路中的低通电路以及反相器1不存在空翻,便不会造成功耗浪费。

寄存器为下降沿触发寄存器时寄存器内部电路如图6B所示,与上升沿触发寄存器不同的是,SI和D端选择电路的输出端耦合到高通低锁闩锁电路中的高通电路(即图6B中的CLK0和CLK0_b部分电路),该高通低锁闩锁电路的输出端耦合到低通高锁闩锁电路中的低通电路(即图6B中的CLK2和CLK2_b部分电路),低通高锁闩锁电路的输出端通过输出反向器电路耦合到Q端。其中,高通低锁闩锁电路可以理解为用于暂存SI和D端选择电路的输出端传输的数据信息,只有当数据信息被存入到低通高锁闩锁电路时,才算完成寄存器的数据写入。

寄存器为下降沿触发寄存器时,在SE端输入低电平处于正常工作模式下,当CLK输出为高电平时,图6B中的CLK0和CLK0_b导通,此时若D端翻转为低电平,则D0、SE0和CLK0这一电路导通传输D端的数据信息,若D端翻转为高电平时,则D0_b、SE0_b和CLK0_b这一电路导通传输D端的数据信息。相当于SI和D端选择电路以及高通低锁闩锁电路中的高通电路被导通,D端传输的数据信息从高通低锁闩锁电路中的高通电路中输出。但CLK端输出为高电平时,图6B中的CLK1、CLK1_b、CLK2和CLK2_b不导通,因此从高通低锁闩锁电路中的高通电路中输出的数据信息会直接经过反相器1输出,但并不能通过低通高锁闩锁电路的低通电路,相当于数据被暂存在高通低锁闩锁电路。由于数据信息并未被存入低通高锁闩锁电路,相当于该寄存器并未被写入数据,因此SI和D端选择电路、高通低锁闩锁电路中的高通电路以及反相器1进行数据传输时产生的跳变即为无效的,可以理解为寄存器内部电路存在空翻。

当CLK端输出为低电平时,图6B中的CLK0和CLK0_b不导通,CLK1、CLK1_b、CLK2和CLK2_b导通,在CLK端由高电平翻转到低电平的瞬间,经过反相器1输出的数据信息会通过反馈电路锁进高通低锁闩锁电路中的低锁电路(即图6B中的CLK1和CLK1_b部分电路),并且还会通过低通高锁闩锁电路中的低通电路,相当于高通低锁闩锁电路中存储的数据信息被存储到低通高锁闩锁电路中,即完成对寄存器的数据写入。由于CLK端输出为低电平时,CLK0和CLK0_b不导通,相当于SI和D端选择电路和高通低锁闩锁电路中的高通电路不被导通,因此SI和D端选择电路、高通低锁闩锁电路中的高通电路以及反相器1不存在空翻,便不会造成功耗浪费。

如图7A所示,为本申请实施例提供的一种寄存器阵列电路示意图,该寄存器阵列电路包括:多个寄存器和与多个寄存器一一对应的多个门控时钟电路。

其中,门控时钟电路用于向寄存器输出门控时钟。多个寄存器中的每个寄存器对应的地址不同,每个寄存器包括数据输入端和时钟输入端,每个寄存器的数据输入端均与每个寄存器共享的写数据总线耦合,每个寄存器的时钟输入端均与对应的门控时钟电路的输出端耦合,多个寄存器包括第一寄存器,第一寄存器为上升沿触发寄存器,与第一寄存器对应的第一门控时钟电路为或门控时钟电路。

示例性的,如图7A所示,多个寄存器可以包括第一寄存器、第二寄存器和第N寄存器等(N为大于1的整数),均为上升沿触发寄存器。每个寄存器都分别对应有门控时钟电路,第一寄存器对应的门控时钟电路为第一门控时钟电路、第二寄存器对应的门控时钟电路为第二门控时钟电路、第N寄存器对应的门控时钟电路为第N门控时钟电路等,每个门控时钟电路都为或门控时钟电路。其中,第一寄存器的数据输入端为输入端f,输入端f与写数据总线耦合。第一寄存器的时钟输入端为输入端g,输入端g与第一门控时钟电路的输出端h耦合。可以理解为,写数据总线上的翻转能够通过输入端g使第一寄存器内部部分电路翻转,第一门控时钟电路的输出端用于向第一寄存器输出门控时钟,控制第一寄存器是否被写入数据。

在一些实施例中,第一门控时钟电路用于在第一寄存器未被执行写访问时,向第一寄存器输出钳位为高电平的门控时钟。

其中,第一门控时钟电路为或门控时钟电路,如图7B所示,为或门控时钟电路的内部结构示意图,由一个高通低锁闩锁、反相器和或门组成。高通低锁闩锁有使能端(E端)和时钟输入端(CLK端)两个输入端,使能端用于接收写地址总线指示的地址信息,当写地址总线指示的地址信息为该或门控时钟电路对应的寄存器的地址时,该使能端输入为高电平,相当于该或门控时钟电路对应的地址被选中,或门控时钟电路对应的寄存器被执行写访问。时钟输入端用于接收每个或门控时钟电路共享的写时钟信号。高通低锁闩锁的输出端(Q端)通过反相器与或门的一个输入端耦合,或门的另一个输入端用于接收每个或门控时钟电路共享的写时钟信号,或门的输出端输出的信号即为或门控时钟电路输出的门控时钟。

图7B所示的或门控时钟电路的时序图如图7C所示,以图7B所示的或门控时钟电路对应的地址为地址1为例。图7C中写时钟信号周期性翻转,当写地址总线指示的地址信息不为地址1时,即该或门控时钟电路对应的地址未被选中时,图7B中的高通低锁闩锁使能端输入为低电平。使能端输入的低电平和写时钟信号通过高通低锁闩锁后,高通低锁闩锁输出端为低电平,高通低锁闩锁输出端输出的低电平通过反相器后,反相器输出端输出高电平,反相器输出的高电平和写时钟信号通过或门后,或门输出高电平,即该或门控时钟电路的输出端输出为高电平。可以理解为,当某一地址未被选中时,即某一地址对应的寄存器未被执行写访问时,该寄存器对应的或时钟门控电路的输出端输出高电平。

示例性的,第一寄存器未被执行写访问可以理解为第一寄存器所对应的地址未被选中,此时,第一门控时钟电路向第一寄存器输出钳位为高电平的门控时钟,可以理解为第一门控时钟电路将第一寄存器的时钟输入端钳位为高电平。上升沿触发寄存器的时钟输入端保持高电平时,上升沿触发寄存器内部的SI和D端选择电路和低通高锁闩锁电路中的低通电路不会被导通,从而能够减少上升沿触发寄存器内部电路空翻, 避免造成功耗浪费。

在一些实施例中,第一寄存器被执行写访问时,第一门控时钟电路,还用于向第一寄存器输出的门控时钟由高电平跳变为低电平,并钳位为低电平,再向第一寄存器输出的门控时钟由低电平跳变为高电平。

其中,在向第一寄存器输出的门控时钟由低电平跳变为高电平时,第一寄存器被写入数据。如图7C所示,以图7B所示的或门控时钟电路对应的地址为地址1为例,当写地址总线指示的地址信息为地址1时,即该或门控时钟电路对应的地址被选中时,图7B中的高通低锁闩锁使能端输入为高电平。使能端输入的高电平和写时钟信号通过高通低锁闩锁后,高通低锁闩锁输出端为高电平(输出的高电平不一定对准写时钟信号周期),高通低锁闩锁输出端输出的高电平通过反相器后,反相器输出端输出低电平,反相器输出的低电平和写时钟信号通过或门后,或门输出低电平,即该或门控时钟电路的输出端输出为低电平。并且该或门控时钟电路的输出端输出低电平一段时间后,会由低电平跳变为高电平,在该或门控时钟电路的输出端由低电平跳变为高电平的瞬间,数据被写入到该或门控时钟电路对应的寄存器中。可以理解为,当某一地址被选中时,即某一地址对应的寄存器被执行写访问时,该寄存器对应的或时钟门控电路的输出端输出的门控时钟会由高电平跳变到低电平,并持续输出低电平一段时间后,又由低电平跳变到高电平,且在由低电平跳变到高电平的瞬间将数据写入到寄存器中。其中,图7B所示的寄存器对应的或门控时钟电路的输出端的跳变位置可以根据实际电路调整,该时序图仅为示例。

示例性的,第一寄存器被执行写访问可以理解为第一寄存器所对应的地址被选中,此时,第一门控时钟电路会先向第一寄存器输出的门控时钟由高电平跳变为低电平,即第一门控时钟电路将第一寄存器的时钟输入端由高电平跳变为低电平,并钳位为低电平,可以理解为上升沿触发寄存器内部的SI和D端选择电路和低通高锁闩锁电路中的低通电路由不被导通变为被导通,D端传输的数据信息被存储到低通高锁闩锁电路中。第一门控时钟电路再向第一寄存器输出的门控时钟由低电平跳变为高电平,即第一门控时钟电路再将第一寄存器的时钟输入端由低电平跳变为高电平。并且,在向第一寄存器输出的门控时钟由低电平跳变为高电平时,即在第一寄存器的时钟输入端由低电平跳变为高电平的瞬间,第一寄存器被写入数据,可以理解为上升沿触发寄存器内部的高通低锁闩锁电路在第一寄存器的时钟输入端由低电平跳变为高电平的瞬间被导通,此时,低通高锁闩锁电路存储的数据信息被写入到高通低锁闩锁电路中,相当于第一寄存器被写入数据。

在一些实施例中,多个门控时钟电路中的每个门控时钟电路还包括第一输入端和第二输入端,第一输入端与每个门控时钟电路共享的写地址总线耦合,第一输入端可以理解为图7B中的使能端,第二输入端用于接收与每个门控时钟电路共享的写时钟信号,第二输入端可以理解为图7B中的时钟输入端。

示例性的,如图7A所示,第一门控时钟电路包括第一输入端i和第二输入端j,第一门控时钟电路的第一输入端i与写地址总线耦合,第一门控时钟电路的第二输入端j用于接收写时钟信号。

在一些实施例中,第一寄存器未被执行写访问时,第一门控时钟电路的第一输入 端的信号用于指示第一寄存器的第一地址未被选中。

示例性的,第一寄存器未被执行写访问可以理解为第一寄存器所对应的地址未被选中,此时,第一寄存器对应的第一门控时钟电路的第一输入端的信号用于指示第一寄存器的第一地址未被选中。例如,当写地址总线为第二地址时,第一门控时钟电路的第一输入端的信号用于指示第一地址未被选中。

由此,本申请实施例提供的一种寄存器阵列电路中,当寄存器阵列为上升沿触发寄存器时,通过或门控时钟电路向未被执行写访问的寄存器输出钳位为高电平的门控时钟,即将未被执行写访问的寄存器的时钟输入端钳位为高电平,使得寄存器内部SI和D端选择电路以及低通高锁闩锁电路中的低通电路不被导通,SI和D端选择电路、低通高锁闩锁电路中的低通电路以及反相器不进行空翻,进而避免造成功耗浪费,提高了功耗利用率,减小了绕线数量和电路面积,同时便于物理实现。

如图7D所示,本申请实施例提供的另一种寄存器阵列电路示意图,该寄存器阵列电路包括:多个寄存器和与多个寄存器一一对应的多个门控时钟电路。

其中,门控时钟电路用于向寄存器输出门控时钟。多个寄存器中的每个寄存器对应的地址不同,每个寄存器包括数据输入端和时钟输入端,每个寄存器的数据输入端均与每个寄存器共享的写数据总线耦合,每个寄存器的时钟输入端均与对应的门控时钟电路的输出端耦合,多个寄存器包括第一寄存器,第一寄存器为下降沿触发寄存器,与第一寄存器对应的第一门控时钟电路为与门控时钟电路。

示例性的,如图7D所示,多个寄存器可以包括第一寄存器、第二寄存器和第N寄存器等(N为大于1的整数),均为下降沿触发寄存器。每个寄存器都分别对应有门控时钟电路,第一寄存器对应的门控时钟电路为第一门控时钟电路、第二寄存器对应的门控时钟电路为第二门控时钟电路、第N寄存器对应的门控时钟电路为第N门控时钟电路等,每个门控时钟电路都为与门控时钟电路。其中,第一寄存器的数据输入端为输入端k,输入端k与写数据总线耦合。第一寄存器的时钟输入端为输入端l,输入端l与第一门控时钟电路的输出端m耦合。可以理解为,写数据总线上的翻转能够通过输入端l使第一寄存器内部部分电路翻转,第一门控时钟电路的输出端用于向第一寄存器输出门控时钟,控制第一寄存器是否被写入数据。

在一些实施例中,第一门控时钟电路用于在第一寄存器未被执行写访问时,向第一寄存器输出钳位为低电平的门控时钟。

其中,第一门控时钟电路为与门控时钟电路,如图7E所示,为与门控时钟电路的内部结构示意图,由一个低通高锁闩锁、反相器和与门组成。低通高锁闩锁有使能端(E端)和时钟输入端(CLK端)两个输入端,使能端用于接收写地址总线指示的地址信息,当写地址总线指示的地址信息为该与门控时钟电路对应的寄存器的地址时,该使能端输入为高电平,相当于该与门控时钟电路对应的地址被选中,与门控时钟电路对应的寄存器被执行写访问。时钟输入端用于接收每个与门控时钟电路共享的写时钟信号。低通高锁闩锁的输出端(Q端)与与门的一个输入端耦合,与门的另一个输入端用于接收每个与门控时钟电路共享的写时钟信号,与门的输出端输出的信号即为与门控时钟电路输出的门控时钟。

图7E所示的与门控时钟电路的时序图如图7F所示,以图7E所示的与门控时钟电 路对应的地址为地址1为例。图7F中写时钟信号周期性翻转,当写地址总线指示的地址信息不为地址1时,即该与门控时钟电路对应的地址未被选中时,图7E中的低通高锁闩锁使能端输入为低电平。使能端输入的低电平和写时钟信号通过低通高锁闩锁后,低通高锁闩锁输出端为低电平,高通低锁闩锁输出端输出的低电平和写时钟信号通过与门后,与门输出低电平,即该与门控时钟电路的输出端输出为低电平。可以理解为,当某一地址未被选中时,即某一地址对应的寄存器未被执行写访问时,该寄存器对应的与时钟门控电路的输出端输出低电平。

示例性的,第一寄存器未被执行写访问可以理解为第一寄存器所对应的地址未被选中,此时,第一门控时钟电路向第一寄存器输出钳位为低电平的门控时钟,可以理解为第一门控时钟电路将第一寄存器的时钟输入端钳位为低电平。下降沿触发寄存器的时钟输入端保持低电平时,下降沿触发寄存器内部的SI和D端选择电路和高通低锁闩锁电路中的高通电路不会被导通,从而能够减少下降沿触发寄存器内部电路空翻,避免造成功耗浪费。

在一些实施例中,第一寄存器被执行写访问时,第一门控时钟电路,还用于向第一寄存器输出的门控时钟由低电平跳变为高电平,并钳位为高电平,再向第一寄存器输出的门控时钟由高电平跳变为低电平。

其中,在向第一寄存器输出的门控时钟由高电平跳变为低电平时,第一寄存器被写入数据。如图7F所示,以图7E所示的与门控时钟电路对应的地址为地址1为例,当写地址总线指示的地址信息为地址1时,即该与门控时钟电路对应的地址被选中时,图7E中的低通高锁闩锁使能端输入为高电平。使能端输入的高电平和写时钟信号通过低通高锁闩锁后,低通高锁闩锁输出端为高电平(输出的高电平不一定对准写时钟信号周期),低通高锁闩锁输出端输出的高电平和写时钟信号通过与门后,与门输出高电平,即该与门控时钟电路的输出端输出为高电平。并且该与门控时钟电路的输出端输出高电平一段时间后,会由高电平跳变为低电平,在该与门控时钟电路的输出端由高电平跳变为低电平的瞬间,数据被写入到该与门控时钟电路对应的寄存器中。可以理解为,当某一地址被选中时,即某一地址对应的寄存器被执行写访问时,该寄存器对应的与时钟门控电路的输出端输出的门控时钟会由低电平跳变到高电平,并持续输出高电平一段时间后,又由高电平跳变到低电平,且在由高电平跳变到低电平的瞬间将数据写入到寄存器中。其中,图7E所示的寄存器对应的与门控时钟电路的输出端的跳变位置可以根据实际电路调整,该时序图仅为示例。

示例性的,第一寄存器被执行写访问可以理解为第一寄存器所对应的地址被选中,此时,第一门控时钟电路会先向第一寄存器输出的门控时钟由低电平跳变为高电平,即第一门控时钟电路将第一寄存器的时钟输入端由低电平跳变为高电平,并钳位为高电平,可以理解为下降沿触发寄存器内部的SI和D端选择电路和高通低锁闩锁中的高通电路由不被导通变为被导通,D端传输的数据信息被存储到高通低锁闩锁电路中。第一门控时钟电路再向第一寄存器输出的门控时钟由高电平跳变为低电平,即第一门控时钟电路再将第一寄存器的时钟输入端由高电平跳变为低电平。并且,在向第一寄存器输出的门控时钟由高电平跳变为低电平时,即在第一寄存器的时钟输入端由高电平跳变为低电平的瞬间,第一寄存器被写入数据,可以理解为下降沿触发寄存器内部 的低通高锁闩锁电路在第一寄存器的时钟输入端由高电平跳变为低电平的瞬间被导通,此时,高通低锁闩锁电路存储的数据信息被写入到低通高锁闩锁电路中,相当于第一寄存器被写入数据。

在一些实施例中,多个门控时钟电路中的每个门控时钟电路还包括第一输入端和第二输入端,第一输入端与每个门控时钟电路共享的写地址总线耦合,第一输入端可以理解为图7E中的使能端,第二输入端用于接收与每个门控时钟电路共享的写时钟信号,第二输入端可以理解为图7E中的时钟输入端。

示例性的,如图7D所示,第一门控时钟电路包括第一输入端o和第二输入端p,第一门控时钟电路的第一输入端o与写地址总线耦合,第一门控时钟电路的第二输入端p用于接收写时钟信号。

在一些实施例中,第一寄存器未被执行写访问时,第一门控时钟电路的第一输入端的信号用于指示第一寄存器的第一地址未被选中。

示例性的,第一寄存器未被执行写访问可以理解为第一寄存器所对应的地址未被选中,此时,第一寄存器对应的第一门控时钟电路的第一输入端的信号用于指示第一寄存器的第一地址未被选中。例如,当写地址总线为第二地址时,第一门控时钟电路的第一输入端的信号用于指示第一地址未被选中。

由此,本申请实施例提供的一种寄存器阵列电路中,当寄存器阵列为下降沿触发寄存器时,通过与门控时钟电路向未被执行写访问的寄存器输出钳位为低电平的门控时钟,即将未被执行写访问的寄存器的时钟输入端钳位为低电平,使得寄存器内部SI和D端选择电路以及高通低锁闩锁中的高通电路不被导通,SI和D端选择电路、高通低锁闩锁中的高通电路以及反相器不进行空翻,进而避免造成功耗浪费,提高了功耗利用率,减小了绕线数量和电路面积,同时便于物理实现。

如图8所示,本申请实施例提供一种访问寄存器阵列的方法流程图,以图7A所示的寄存器阵列电路为例,寄存器为上升沿触发寄存器。即图4A中为或时钟门控电路的门控时钟单元可以为图7A中的第一门控时钟电路,图4A中的写地址总线为图7A中的写地址总线,图4A中的寄存器阵列包括图7A中的第一寄存器等。该方法应用于图7A所示的寄存器阵列电路,具体寄存器阵列电路结构可以参见上述对图7A的描述。该方法包括:

步骤801、当确定第一寄存器未被执行写访问时,通过第一门控时钟电路的第一输入端的信号指示第一寄存器的第一地址未被选中。

示例性的,如图7A所示,当确定第一寄存器未被执行写访问时,可以理解为当确定第一寄存器所对应的地址未被选中时,第一寄存器对应的第一门控时钟电路的第一输入端的信号指示第一寄存器的第一地址未被选中。

步骤802、当确定第一寄存器未被执行写访问时,通过第一门控时钟电路向第一寄存器输出钳位为高电平的门控时钟。

示例性的,如图7A所示,当确定第一寄存器未被执行写访问时,可以理解为当确定第一寄存器所对应的地址未被选中时,通过第一门控时钟电路向第一寄存器输出钳位为高电平的门控时钟,即通过第一门控时钟电路将第一寄存器的时钟输入端钳位为高电平。上升沿触发寄存器的时钟输入端保持高电平时,上升沿触发寄存器内部的SI 和D端选择电路和低通高锁闩锁电路中的低通电路不会被导通,从而能够减少上升沿触发寄存器内部电路空翻,避免造成功耗浪费。

在一些实施例中,当确定第一寄存器被执行写访问时,通过第一门控时钟电路向第一寄存器输出的门控时钟由高电平跳变为低电平,即将第一寄存器的时钟输入端由高电平跳变为低电平,并钳位为低电平,再向第一寄存器输出的门控时钟由低电平跳变为高电平,即再将第一寄存器的时钟输入端由低电平跳变为高电平,在第一寄存器的时钟输入端由低电平跳变为高电平时,向第一寄存器写入数据。

示例性的,当确定第一寄存器被执行写访问时,第一门控时钟电路对第一寄存器的时钟输入端的具体控制过程以及向第一寄存器写入数据的过程可以参见上述对图7A的描述。

由此,本申请实施例提供的一种访问寄存器阵列的方法中,当寄存器阵列为上升沿触发寄存器时,通过或门控时钟电路向第一寄存器输出钳位为高电平的门控时钟,即将未被执行写访问的寄存器的时钟输入端钳位为高电平,使得寄存器内部SI和D端选择电路以及低通高锁闩锁电路中的低通电路不被导通,不进行空翻,进而避免造成功耗浪费,提高了功耗利用率,减小了绕线数量和电路面积,同时便于物理实现。

如图9所示,本申请实施例提供一种访问寄存器阵列的方法流程图,以图7D所示的寄存器阵列电路为例,寄存器为下降沿触发寄存器。即图4B中包括与时钟门控电路的门控时钟单元可以为图7D中的第一门控时钟电路,图4B中的写地址总线为图7D中的写地址总线,图4B中的寄存器阵列包括图7D中的第一寄存器等。该方法应用于图7D所示的寄存器阵列电路,具体寄存器阵列电路结构可以参见上述对图7D的描述。该方法包括:

步骤901、当确定第一寄存器未被执行写访问时,通过第一门控时钟电路的第一输入端的信号指示第一寄存器的第一地址未被选中。

示例性的,如图7D所示,当确定第一寄存器未被执行写访问时,可以理解为当确定第一寄存器所对应的地址未被选中时,第一寄存器对应的第一门控时钟电路的第一输入端的信号指示第一寄存器的第一地址未被选中。

步骤902、当确定第一寄存器未被执行写访问时,通过第一门控时钟电路向第一寄存器输出钳位为低电平的门控时钟。

示例性的,如图7D所示,当确定第一寄存器未被执行写访问时,可以理解为当确定第一寄存器所对应的地址未被选中时,通过第一门控时钟电路向第一寄存器输出钳位为低电平的门控时钟,即通过第一门控时钟电路将第一寄存器的时钟输入端钳位为低电平。下降沿触发寄存器的时钟输入端保持低电平时,下降沿触发寄存器内部的SI和D端选择电路和高通低锁闩锁电路中的高通电路不会被导通,从而能够减少下降沿触发寄存器内部电路空翻,避免造成功耗浪费。

在一些实施例中,当确定第一寄存器被执行写访问时,通过第一门控时钟电路向第一寄存器输出的门控时钟由低电平跳变为高电平,即将第一寄存器的时钟输入端由低电平跳变为高电平,并钳位为高电平,再向第一寄存器输出的门控时钟由高电平跳变为低电平,即再将第一寄存器的时钟输入端由高电平跳变为低电平,在第一寄存器的时钟输入端由高电平跳变为低电平时,向第一寄存器写入数据。

示例性的,当确定第一寄存器被执行写访问时,第一门控时钟电路对第一寄存器的时钟输入端的具体控制过程以及向第一寄存器写入数据的过程可以参见上述对图7B的描述。

由此,本申请实施例提供的一种访问寄存器阵列的方法中,当寄存器阵列为下降沿触发寄存器时,通过与门控时钟电路向第一寄存器输出钳位为低电平的门控时钟,即将未被执行写访问的寄存器的时钟输入端钳位为低电平,使得寄存器内部SI和D端选择电路以及高通低锁闩锁电路中的高通电路不被导通,不进行空翻,进而避免造成功耗浪费,提高了功耗利用率,减小了绕线数量和电路面积,同时便于物理实现。

下面以图10为例,对本申请实施例提供的一种寄存器阵列电路进行介绍,其中寄存器阵列为上升沿触发寄存器。

寄存器阵列例如包括图10中示出的0地址寄存器、1地址寄存器和n地址寄存器等(n为大于1的整数),分别代表地址0的寄存器、地址1的寄存器和地址n的寄存器,即每个寄存器对应的地址不同。每个寄存器的时钟输入端r与对应的或门控时钟电路的输出端s耦合,每个寄存器的数据输入端q共享写数据总线。或门控时钟电路的两个输入端中,一个输入端t由每个或门控时钟电路共享的写地址总线控制,另一个输入端u用于接收每个或门控时钟电路共享的写时钟信号。当写地址总线指示的地址信息=0时,即0地址被选中写入数据时,0地址寄存器对应的或门控时钟电路的输出端进行上升沿跳变(或门控时钟电路的输出端由低电平跳变为高电平),其余未被选中的地址的寄存器对应的或门控时钟电路的输出端不进行跳变(或门控时钟电路的输出端保持高电平),写数据总线上承载的数据信息在或门控时钟电路的输出端进行上升沿跳变时写入到0地址寄存器中。在写地址总线指示的地址信息=0时,其余地址未被选中(例如1地址和n地址未被选中),未被选中的地址对应的寄存器(例如1地址寄存器和n地址寄存器)未被执行写访问,未被执行写访问的寄存器对应的或门控时钟电路的输出端将该寄存器的时钟输入端钳位为高电平,使得该寄存器内部SI和D端选择电路以及低通高锁闩锁中的低通电路不被导通,不进行空翻,进而避免造成功耗浪费,提高了功耗利用率,减小了绕线数量和电路面积,同时便于物理实现。

如图11所示,为图10寄存器阵列电路的时序图。写时钟信号周期性翻转,写地址总线指示的地址信息=0时,0地址被选中,0地址寄存器被执行写访问,0地址寄存器对应的或门控时钟电路的输出端会进行上升沿跳变,此时0地址寄存器被写入数据,写数据总线中的数据被写入到0地址寄存器中。在写地址总线指示的地址信息=0时,其余未被选中的地址对应的寄存器未被执行写访问,未被执行写访问的寄存器对应的或门控时钟电路的输出端不进行跳变。以1地址寄存器对应的门控时钟电路的输出端为例,在写地址总线指示的地址信息=0时,1地址寄存器对应的门控时钟电路的输出端保持高电平不进行跳变,即1地址寄存器不被写入数据。其中,图11所示的寄存器对应的或门控时钟电路的输出端的跳变位置可以根据实际电路调整,该时序图仅为示例。

下面以图12为例,对本申请实施例提供的另一种寄存器阵列电路进行介绍,其中寄存器阵列为下降沿触发寄存器。

寄存器阵列例如包括图12中示出的0地址寄存器、1地址寄存器和n地址寄存器 等(n为大于1的整数),分别代表地址0的寄存器、地址1的寄存器和地址n的寄存器,即每个寄存器对应的地址不同。每个寄存器的时钟输入端w与对应的与门控时钟电路的输出端x耦合,每个寄存器的数据输入端v共享写数据总线。与门控时钟电路的两个输入端中,一个输入端y由每个与门控时钟电路共享的写地址总线控制,另一个输入端z用于接收每个与门控时钟电路共享的写时钟信号。当写地址总线指示的地址信息=0时,即0地址被选中写入数据时,0地址寄存器对应的与门控时钟电路的输出端进行下降沿跳变(与门控时钟电路的输出端由高电平跳变为低电平),其余未被选中的地址的寄存器对应的与门控时钟电路的输出端不进行跳变(与门控时钟电路的输出端保持低电平),写数据总线上承载的数据信息在与门控时钟电路的输出端进行下降沿跳变时写入到0地址寄存器中。在写地址总线指示的地址信息=0时,其余地址未被选中(例如1地址和n地址未被选中),未被选中的地址对应的寄存器(例如1地址寄存器和n地址寄存器)未被执行写访问,未被执行写访问的寄存器对应的与门控时钟电路的输出端将该寄存器的时钟输入端钳位为低电平,使得该寄存器内部SI和D端选择电路以及高通低锁闩锁中的高通电路不被导通,不进行空翻,进而避免造成功耗浪费,提高了功耗利用率,减小了绕线数量和电路面积,同时便于物理实现。

如图13所示,为图12寄存器阵列电路的时序图。写时钟信号周期性翻转,写地址总线指示的地址信息=0时,0地址被选中,0地址寄存器被执行写访问,0地址寄存器对应的与门控时钟电路的输出端会进行下降沿跳变,此时0地址寄存器被写入数据,写数据总线中的数据被写入到0地址寄存器中。在写地址总线指示的地址信息=0时,其余未被选中的地址对应的寄存器未被执行写访问,未被执行写访问的寄存器对应的与门控时钟电路的输出端不进行跳变。以1地址寄存器对应的门控时钟电路的输出端为例,在写地址总线指示的地址信息=0时,1地址寄存器对应的门控时钟电路的输出端保持低电平不进行跳变,即1地址寄存器不被写入数据。其中,图13所示的寄存器对应的与门控时钟电路的输出端的跳变位置可以根据实际电路调整,该时序图仅为示例。

可以理解的是,上述电子装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。

本申请实施例可以根据上述方法示例对上述电子装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用集成的单元的情况下,如图14所示,本申请实施例公开了一种电子装置1400,该电子装置1400可以为上述实施例中芯片。电子装置1400可以包括处理模块和存储模块。其中,处理模块可以用于确定写地址总线指示的地址信息,并通过写地 址总线向存储模块发送待访问的寄存器的地址信息,并通过写数据总线向存储模块发送待写入的数据。存储模块可以用于支持电子装置1400存储程序代码和数据等,还可以用于支持电子装置1400执行上述步骤801、步骤802、步骤901和步骤902。

当然,上述电子装置1400中的单元模块包括但不限于上述处理模块和存储模块。

其中,处理模块可以为处理器1401(如图5所示的处理器501),存储模块可以为存储器1402(如图5所示的存储器502)。本申请实施例所提供的电子装置1400可以为图5所示的芯片500。其中,上述处理器和存储器等可以耦合在一起,例如处理器通过写地址总线和写数据总线与存储器耦合。

本申请实施例还提供一种电子装置,包括一个或多个处理器以及一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子装置执行上述相关方法步骤实现上述实施例中的限制功耗的方法。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序代码,当处理器执行该计算机程序代码时,电子装置执行上述实施例中访问寄存器阵列的方法。

本申请的实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中电子装置执行的访问寄存器阵列的方法。

其中,本实施例提供的电子装置、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时, 可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种移位寄存器及其驱动方法、栅极驱动电路、显示装置
  • 一种移位寄存器、其驱动方法、栅极驱动电路及显示装置
  • 移位寄存器及其驱动方法、驱动电路、面板的驱动方法
  • 一种移位寄存器、栅极驱动电路、显示面板及显示装置
  • 移位寄存器电路及其驱动方法、阵列基板上栅极驱动器电路和触摸感应显示面板
  • 一种移位寄存器及其驱动方法、栅极驱动电路和阵列基板
技术分类

06120116513318