反相输出动态d触发器

文档序号:1190357 发布日期:2020-08-28 浏览:14次 >En<

阅读说明:本技术 反相输出动态d触发器 (Inverted output dynamic D flip-flop ) 是由 田文博 范志军 郭海丰 杨作兴 于 2020-06-22 设计创作,主要内容包括:本公开涉及反相输出动态D触发器。提供一种反相输出动态D触发器,其特征在于,包括输入端,用以接收输入数据;输出端,用于提供输出数据来响应该输入数据;时钟信号端,用于接收时钟信号;第一锁存器,用于锁存来自输入端的输入数据并在时钟信号的控制下将输入数据反相传输;第二锁存器,用于锁存来自第一锁存器的数据并在时钟信号的控制下将第一锁存单元锁存的数据反相传输;反相器,用于反相输出从第二锁存器接收到的数据,其中所述第一锁存器、第二锁存器和反相器依次串接在输入端和输出端之间。(The present disclosure relates to an inverted output dynamic D flip-flop. An inverting output dynamic D flip-flop is provided, comprising an input terminal for receiving input data; an output for providing output data in response to the input data; the clock signal end is used for receiving a clock signal; a first latch for latching input data from the input terminal and transferring the input data in reverse phase under the control of a clock signal; the second latch is used for latching the data from the first latch and transmitting the data latched by the first latch unit in an inverted way under the control of a clock signal; and the inverter is used for inverting and outputting the data received from the second latch, wherein the first latch, the second latch and the inverter are sequentially connected between the input end and the output end in series.)

反相输出动态D触发器

技术领域

本公开总体而言涉及一种反相输出动态D触发器。

背景技术

比特币是一种P2P(Peer-to-Peer)形式的虚拟加密数字货币,其概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生。比特币的独特之处在于,它不依靠特定货币机构发行,而是依据特定算法通过大量运算来产生。比特币交易使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学设计来确保安全性。

比特币矿工过去是通过CPU产品来挖矿,但由于挖矿是运算密集型应用,且随着挖矿人数与设备性能的不断提升难度逐渐增加,现在使用CPU挖矿已近毫无甚至负利益。如今,矿工们大都开始采用专用芯片(ASIC)或者现场可编程门阵列(FPGA)等矿机设备。

使用矿机来进行比特币挖矿的核心是根据矿机计算SHA-256的运算能力来获得奖励。对于矿机而言,芯片尺寸、芯片运行速度和芯片功耗是决定矿机性能的至关重要的三个因素,其中,芯片尺寸决定芯片成本,芯片运行的速度决定矿机运行速度,即算力,芯片功耗决定耗电程度,即挖矿成本。在实际应用中,衡量矿机最为重要的性能指标是单位算力所消耗的功率,即功耗算力比。

对于挖矿而言,挖矿过程就是进行大量重复性的逻辑计算,这就需要用到大量的D触发器,D触发器选择不当则会导致芯片面积增大、运算速度变慢以及耗电增大,最终导致矿机功耗算力比变差。

D触发器本身应用非常广泛,可用作数字信号的寄存、移位寄存、分频和波形发生器等。D触发器具有数据(D)和时钟(CLK)两个输入,具有一个输出(Q),可将数据写入到D触发器中或者从D触发器中读取数据。

发明内容

为了解决上述问题,本发明提供了一种用于计算设备的反相输出动态D触发器以及由多路并联的反相输出动态D触发器组成的并联寄存器,从而有效地减小面积和降低功耗。

根据本公开的第一方面,提供了一种反相输出动态D触发器,包括输入端,用以接收输入数据;输出端,用于提供输出数据来响应该输入数据;时钟信号端,用于接收时钟信号;第一锁存器,用于锁存来自输入端的输入数据并在时钟信号的控制下将输入数据反相传输;第二锁存器,用于锁存来自第一锁存器的数据并在时钟信号的控制下将第一锁存器锁存的数据反相传输;反相器,用于反相输出从第二锁存器接收到的数据,其中所述第一锁存器、第二锁存器和反相器依次串接在输入端和输出端之间。

根据本公开的第二方面,提供了一种多路并联的寄存器,包括多个输入端,用于输入数据;多个输出端,用于输出数据;时钟信号端,用于接收时钟信号;时钟缓冲器,用于将所述时钟信号端接收的时钟信号缓冲之后向多个动态D触发器提供时钟信号,多个动态D触发器并联连接在所述多个输入端和所述多个输出端之间,用于在时钟信号控制下锁存和/或读出数据,其中所述动态D触发器是如上所述的反相输出动态D触发器。

根据本公开的第三方面,提供了一种用于执行比特币挖矿算法的装置,包括根据以上所述的反相输出动态D触发器或者根据以上所述的多路并联的寄存器。

通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。

附图说明

构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:

图1示出了根据本发明的一个实施例的反相输出动态D触发器;

图2示出了根据本发明的一个实施例的用于反相输出动态D触发器的时钟缓冲器;

图3示出了根据本发明的一个实施例的含有时钟控制的反相输出动态D触发器;

图4A、4B、4C和4D分别示出了根据本发明的一个实施例的反相输出动态D触发器的电路示意图;

图5示出根据图4A、图4B、图4C和图4D所示的反相输出动态D触发器的电路时序图;

图6A、6B、6C和6D分别示出了根据本发明的另一个实施例的反相输出动态D触发器的电路示意图;

图7示出根据图6A、图6B、图6C和图6D所示的反相输出动态D触发器的电路时序图;

图8示出由多路并联的反相输出动态D触发器组成的多路并联寄存器。

注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在本说明书中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,所公开的发明并不限于附图等所公开的位置、尺寸及范围等。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。

具体实施方式

现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的用于实现散列算法的电路和方法是以示例性的方式示出,来说明本公开中的电路或方法的不同实施例,而并非意图限制。本领域的技术人员将会理解,它们仅仅说明可以用来实施本发明的示例性方式,而不是穷尽的方式。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

用于挖掘虚拟货币的计算设备在挖矿过程中需要进行大量重复性的逻辑计算,这需要大量的D触发器进行数据存储,因此D触发器的性能直接影响了计算芯片的性能,包括芯片面积,功耗,运算速度等。

动态D触发器相对于静态D触发器,由于减少了用于保持工作状态的正反馈电路,电路结构会大幅度简化,这样既减小了芯片面积,又能降低功耗。在计算芯片的逻辑设计中,有时会需要使用反相输出的D触发器,针对这种情况,本发明提出一种反相输出动态D触发器。本发明所提出的反相输出动态D触发器,由于省略了一级反相器,可以有效地减小芯片面积,降低功耗,这对于使用大量动态D触发器的虚拟货币计算设备来说十分重要。

图1示出了根据本发明的一个实施例的反相输出动态D触发器。该反相输出动态D触发器100包括输入端101,用以接收输入数据;输出端102,用于提供输出数据来响应该输入数据;时钟信号端103,用于接收时钟信号;第一锁存器104,用于锁存来自输入端101的输入数据并在时钟信号的控制下将输入数据反相传输;第二锁存器105,用于锁存来自第一锁存器104的数据并在时钟信号的控制下将第一锁存器104锁存的数据反相传输;反相器106,用于反相输出从第二锁存器105接收到的数据,其中所述第一锁存器104、第二锁存器105和反相器106依次串接在输入端101和输出端102之间,其中所述输出端102的数据与所述输入端101的数据呈反相。

图2示出了用于提供反相输出动态D触发器的时钟信号的时钟缓冲器。该时钟缓冲器200由两级串接的反相器201、202组成,反相器201、202分别产生CLKN和CLKP信号用于控制反相输出动态D触发器。时钟缓冲器200将输入的时钟信号CK进行缓冲,并向反相输出动态D触发器提供互为反相的时钟信号CLKN、CLKP。在图2中仅示出了2个反相器,当然反相器数量不限于2个,反相器的数量可以为更多个。

图3示出了含有时钟控制的反相输出动态D触发器300。如图3所示,时钟信号CK通过时钟缓冲器301缓冲后向反相输出动态D触发器300提供时钟信号CLKN、CLKP。

图4A示出了根据本发明的一个实施例的反相输出动态D触发器的电路示意图。反相输出动态D触发器400从输入端401接收输入数据至第一锁存器402,第一锁存器402为三态反相器。第一锁存器402包括多个相互串联的开关元件。在特定的实施例中,第一锁存器402包括第一PMOS晶体管403、第二PMOS晶体管404、第一NMOS晶体管405以及第二NMOS晶体管406,所述第一PMOS晶体管403、所述第二PMOS晶体管404、所述第一NMOS晶体管405以及所述第二NMOS晶体管406依次串接在电源VDD、地GND之间。

如图4A所示,第一PMOS晶体管403的源极连接至电源VDD、第二PMOS晶体管404的源极连接至第一PMOS晶体管403的漏极、第一NMOS晶体管405的漏极连接至第二PMOS晶体管404的漏极、第二NMOS晶体管406的漏极连接至第一NMOS晶体管405的源极、第二NMOS晶体管406的源极连接至地GND。第一PMOS晶体管403的栅极和第二NMOS晶体管406的栅极连接在一起以接收来自输入端的输入数据。第二PMOS晶体管404的栅极被设定来接收时钟信号CLKP,第一NMOS晶体管405的栅极被设定来接收时钟信号CLKN。

当CLKN为低电平时,CLKP为高电平,第二PMOS晶体管404与第一NMOS晶体管405均为不导通状态,第一锁存器402呈高阻状态,输入端401的数据不能通过第一锁存器402。由于输入端401处的数据不能通过第一锁存器402,节点407处的数据则可以被锁存在节点407,保持原来的状态,起到数据寄存的作用。当CLKN为高电平时,CLKP为低电平,第二PMOS晶体管404与第一NMOS晶体管405均为导通状态,第一锁存器402起到将其输入端401处的数据反相的作用,即将输入端401的数据进行反相,并输出到节点407,改写节点407处的数据。

类似地,第二锁存器408也为三态反相器,包括多个相互串联的开关元件。如图4A所示,第二锁存器408包括依次串联连接的第三PMOS晶体管409、第四PMOS晶体管410、第三NMOS晶体管411和第四NMOS晶体管412。第三PMOS晶体管409栅极和第四NMOS晶体管412栅极连接在一起以接收来自第一锁存器402的数据。第四PMOS晶体管410栅极被设定来接收时钟信号CLKN,第三NMOS晶体管411栅极被设定来接收时钟信号CLKP。

当CLKN为低电平时,CLKP为高电平,第四PMOS晶体管410与第三NMOS晶体管411均为导通状态,第二锁存器408起到将其输入端401处的数据反相的作用,即将节点407处的数据反相传输至节点413处,改写节点413处的数据。当CLKN为高电平时,CLKP为低电平,第二锁存器408呈高阻状态,节点407处的数据不能通过第二锁存器408,因此节点413处的数据此时被锁存在节点413,保持原来的状态,起到数据寄存的作用。

如图4A所示,反相输出动态D触发器的输出驱动单元是反相器414。反相器414将从第二锁存器408接收到的数据再次反相,从而最终传输到输出端415。由于数据从第一锁存器、第二锁存器、反相器经历了总共三次反相,因此反相输出动态D触发器输出端415的数据相比输入端401是反相的。

相比于传统的以反相器作为第一级的动态D触发器,本发明省去了输入反相器从而将输出端改为反相输出,该动态D触发器的晶体管数量因而从12个减少到10个,减小了大约16%的芯片面积;并且由于减少了一级反相器,功率也会相应降低。

另外,本发明的反相输出动态D触发器省去的是输入端反相器,保留的是输出端反相器。这样的设计有特别的考虑:与省去输出端反相器相比,保留输出端反相器(即,省去输入端反相器)可以保留动态D触发器对后续电路的较强的驱动能力,这样动态D触发器后面可以驱动较大的负载。由于本发明的反相输出动态D触发器的第一级为具有较小电容的三态门电路,其驱动难度比较小,因此不必单用一级反相器来进行驱动。

该有利的技术效果同样适用于之后图4B-4D、图6A-6D所示的反相输出动态D触发器。

图4B示出了根据本发明的一个实施例的反相输出动态D触发器的电路示意图。反相输出动态D触发器400从输入端401接收输入数据至第一锁存器402,第一锁存器402为三态反相器。第一锁存器402包括多个相互串联的开关元件。在特定的实施例中,第一锁存器402包括第一PMOS晶体管403、第二PMOS晶体管404、第一NMOS晶体管405以及第二NMOS晶体管406,所述第一PMOS晶体管403、所述第二PMOS晶体管404、所述第一NMOS晶体管405以及所述第二NMOS晶体管406依次串接在电源VDD、地GND之间。

如图4B示,第一PMOS晶体管403的源极连接至电源VDD、第二PMOS晶体管404的源极连接至第一PMOS晶体管403的漏极、第一NMOS晶体管405的漏极连接至第二PMOS晶体管404的漏极、第二NMOS晶体管406的漏极连接至第一NMOS晶体管405的源极、第二NMOS晶体管406的源极连接至地GND。第一PMOS晶体管403的栅极和第二NMOS晶体管406的栅极连接在一起以接收来自输入端的输入数据。第二PMOS晶体管404的栅极被设定来接收时钟信号CLKP,第一NMOS晶体管405的栅极被设定来接收时钟信号CLKN。

当CLKN为低电平时,CLKP为高电平,第二PMOS晶体管404与第一NMOS晶体管405均为不导通状态,第一锁存器402呈高阻状态,输入端401的数据不能通过第一锁存器402。由于输入端401处的数据不能通过第一锁存器402,节点407处的数据则可以被锁存在节点407,保持原来的状态,起到数据寄存的作用。当CLKN为高电平时,CLKP为低电平,第二PMOS晶体管404与第一NMOS晶体管405均为导通状态,第一锁存器402起到将其输入端数据反相的作用,即将输入端401的数据进行反相,并输出到节点407,改写节点407处的数据。

类似地,第二锁存器408也为三态反相器,包括多个相互串联的开关元件。如图4B所示,第二锁存器408包括依次串联连接的第三PMOS晶体管409、第四PMOS晶体管410、第三NMOS晶体管411和第四NMOS晶体管412。第四PMOS晶体管410栅极和第三NMOS晶体管411栅极连接在一起以接收来自第一锁存器402的数据。第三PMOS晶体管409栅极被设定来接收时钟信号CLKN,第四NMOS晶体管412栅极被设定来接收时钟信号CLKP。

当CLKN为低电平时,CLKP为高电平,第三PMOS晶体管409与第四NMOS晶体管412均为导通状态,第二锁存器408起到将其输入端数据反相的作用,即将节点407处的数据反相传输至节点413处,改写节点413处的数据。当CLKN为高电平时,CLKP为低电平,第二锁存器408呈高阻状态,节点407处的数据不能通过第二锁存器408,因此节点413处的数据此时被锁存在节点413,保持原来的状态,起到数据寄存的作用。

如图4B所示,反相输出动态D触发器的输出驱动单元是反相器414。反相器414将从第二锁存器408接收到的数据再次反相,从而最终传输到输出端415。由于数据从第一锁存器、第二锁存器、反相器经历了总共三次反相,因此反相输出动态D触发器输出端415的数据相比输入端是反相的。

图4C示出了根据本发明的一个实施例的反相输出动态D触发器的电路示意图。反相输出动态D触发器400从输入端401接收输入数据至第一锁存器402,第一锁存器402为三态反相器。第一锁存器402包括多个相互串联的开关元件。在特定的实施例中,第一锁存器402包括第一PMOS晶体管403、第二PMOS晶体管404、第一NMOS晶体管405以及第二NMOS晶体管406,所述第一PMOS晶体管403、所述第二PMOS晶体管404、所述第一NMOS晶体管405以及所述第二NMOS晶体管406依次串接在电源VDD、地GND之间。

如图4C所示,第一PMOS晶体管403的源极连接至电源VDD、第二PMOS晶体管404的源极连接至第一PMOS晶体管403的漏极、第一NMOS晶体管405的漏极连接至第二PMOS晶体管404的漏极、第二NMOS晶体管406的漏极连接至第一NMOS晶体管405的源极、第二NMOS晶体管406的源极连接至地GND。第二PMOS晶体管404的栅极和第一NMOS晶体管405的栅极连接在一起以接收来自输入端的输入数据。第一PMOS晶体管403的栅极被设定来接收时钟信号CLKP,第二NMOS晶体管406的栅极被设定来接收时钟信号CLKN。

当CLKN为低电平时,CLKP为高电平,第一PMOS晶体管403与第二NMOS晶体管406均为不导通状态,第一锁存器402呈高阻状态,输入端401的数据不能通过第一锁存器402。由于输入端401处的数据不能通过第一锁存器402,节点407处的数据则可以被锁存在节点407,保持原来的状态,起到数据寄存的作用。当CLKN为高电平时,CLKP为低电平,第一PMOS晶体管403与第二NMOS晶体管406均为导通状态,第一锁存器402起到将其输入端数据反相的作用,即将输入端401的数据进行反相,并输出到节点407,改写节点407处的数据。

类似地,第二锁存器408也为三态反相器,包括多个相互串联的开关元件。如图4C所示,第二锁存器408包括依次串联连接的第三PMOS晶体管409、第四PMOS晶体管410、第三NMOS晶体管411和第四NMOS晶体管412。第三PMOS晶体管409栅极和第四NMOS晶体管412栅极连接在一起以接收来自第一锁存器402的数据。第四PMOS晶体管410栅极被设定来接收时钟信号CLKN,第三NMOS晶体管411栅极被设定来接收时钟信号CLKP。

当CLKN为低电平时,CLKP为高电平,第四PMOS晶体管410与第三NMOS晶体管411均为导通状态,第二锁存器408起到将其输入端数据反相的作用,即将节点407处的数据反相传输至节点413处,改写节点413处的数据。当CLKN为高电平时,CLKP为低电平,第二锁存器408呈高阻状态,节点407处的数据不能通过第二锁存器408,因此节点413处的数据此时被锁存在节点413,保持原来的状态,起到数据寄存的作用。

如图4C所示,反相输出动态D触发器的输出驱动单元是反相器414。反相器414将从第二锁存器408接收到的数据再次反相,从而最终传输到输出端415。由于数据从第一锁存器、第二锁存器、反相器经历了总共三次反相,因此反相输出动态D触发器输出端415的数据相比输入端是反相的。

图4D示出了根据本发明的一个实施例的反相输出动态D触发器的电路示意图。反相输出动态D触发器400从输入端401接收输入数据至第一锁存器402,第一锁存器402为三态反相器。第一锁存器402包括多个相互串联的开关元件。在特定的实施例中,第一锁存器402包括第一PMOS晶体管403、第二PMOS晶体管404、第一NMOS晶体管405以及第二NMOS晶体管406,所述第一PMOS晶体管403、所述第二PMOS晶体管404、所述第一NMOS晶体管405以及所述第二NMOS晶体管406依次串接在电源VDD、地GND之间。

如图4D所示,第一PMOS晶体管403的源极连接至电源VDD、第二PMOS晶体管404的源极连接至第一PMOS晶体管403的漏极、第一NMOS晶体管405的漏极连接至第二PMOS晶体管404的漏极、第二NMOS晶体管406的漏极连接至第一NMOS晶体管405的源极、第二NMOS晶体管406的源极连接至地GND。第二PMOS晶体管404的栅极和第一NMOS晶体管405的栅极连接在一起以接收来自输入端的输入数据。第一PMOS晶体管403的栅极被设定来接收时钟信号CLKP,第二NMOS晶体管406的栅极被设定来接收时钟信号CLKN。

当CLKN为低电平时,CLKP为高电平,第一PMOS晶体管403与第二NMOS晶体管406均为不导通状态,第一锁存器402呈高阻状态,输入端401的数据不能通过第一锁存器402。由于输入端401处的数据不能通过第一锁存器402,节点407处的数据则可以被锁存在节点407,保持原来的状态,起到数据寄存的作用。当CLKN为高电平时,CLKP为低电平,第一PMOS晶体管403与第二NMOS晶体管406均为导通状态,第一锁存器402起到将其输入端数据反相的作用,即将输入端401的数据进行反相,并输出到节点407,改写节点407处的数据。

类似地,第二锁存器408也为三态反相器,包括多个相互串联的开关元件。如图4D所示,第二锁存器408包括依次串联连接的第三PMOS晶体管409、第四PMOS晶体管410、第三NMOS晶体管411和第四NMOS晶体管412。第四PMOS晶体管410栅极和第三NMOS晶体管411栅极连接在一起以接收来自第一锁存器402的数据。第三PMOS晶体管409栅极被设定来接收时钟信号CLKN,第四NMOS晶体管412栅极被设定来接收时钟信号CLKP。

当CLKN为低电平时,CLKP为高电平,第三PMOS晶体管409与第四NMOS晶体管412均为导通状态,第二锁存器408起到将其输入端数据反相的作用,即将节点407处的数据反相传输至节点413处,改写节点413处的数据。当CLKN为高电平时,CLKP为低电平,第二锁存器408呈高阻状态,节点407处的数据不能通过第二锁存器408,因此节点413处的数据此时被锁存在节点413,保持原来的状态,起到数据寄存的作用。

如图4D所示,反相输出动态D触发器的输出驱动单元是反相器414。反相器414将从第二锁存器408接收到的数据再次反相,从而最终传输到输出端415。由于数据从第一锁存器、第二锁存器、反相器经历了总共三次反相,因此反相输出动态D触发器输出端415的数据相比输入端是反相的。

图4A-4D所示的反相输出动态D触发器均为本发明的变体,区别在于第一锁存器402和第二锁存器408中时钟控制的晶体管位置不同。

以下根据反相输出动态D触发器的工作原理结合图5(图5示出根据图4A、图4B、图4C和图4D所示的反相输出动态D触发器的电路时序图)进行具体说明。

如图4A、4B、4C和4D所示,当CK为低电平时,CLKP为低电平,CLKN为高电平。第一锁存器402中受时钟信号CLKN、CLKP控制的晶体管为导通状态,第一锁存器402起到将其输入端数据反相的作用,即将输入端401的数据进行反相,并输出到节点407,改写节点407处的数据。例如,当输入数据D为0时,节点407处的数据将为1。当CLKP为低电平,CKLN为高电平时,第二锁存器408中受时钟信号CLKN、CLKP控制的晶体管为不导通状态,第二锁存器408呈高阻状态,节点407处的数据不能通过第二锁存器408。节点413处的数据则可以被锁存在节点413,保持原来的状态,起到数据寄存的作用,动态D触发器的输出保持原来的状态。

接下来,如图5所示,当CK的上升沿来临时,CLKP跳变为高电平,CLKN跳变为低电平。第一锁存器402中受时钟信号CLKN、CLKP控制的晶体管为不导通状态,第一锁存器402呈现高阻状态,输入端处的数据无法通过第一锁存器402,407处的数据被保持。此时,第二锁存器402中受时钟信号CLKN、CLKP控制的晶体管为导通状态,第二锁存器408导通并起到将其输入端数据反相的作用,从而将保持在节点407处的数据反相输出到节点413,并进而通过反相器414输出到输出端415。由此可见,当时钟信号CK的上升沿来临时,动态D触发器的输出状态发生变化。由于输入数据总共经历三次反相,因此输出端输出的是输入端的反相数据。因此,如图5所示,在CK的上升沿来临时,当输入端D为1时,输出端QN跳变为0;当输入端D为0时,输出端QN跳变为1。

也可以通过将动态D触发器的时钟控制信号互换位置(例如,第一锁存器402的NMOS晶体管被CLKP控制,PMOS晶体管被CLKN控制;第二锁存器408的PMOS晶体管被CLKP控制,NMOS晶体管被CLKN控制),来实现下降沿有效地动态D触发器。图6A、图6B、图6C和图6D分别示出时钟控制信号CLKP和CLKN互换位置后的四个不同变体。图7示出图6A、图6B、图6C和图6D所示的电路的时序图。

如图6A、图6B、图6C和图6D所示,当CK为高电平时,CLKP为高电平,CLKN为低电平。第一锁存器402中受时钟信号CLKN、CLKP控制的晶体管为导通状态,第一锁存器402起到将其输入端数据反相的作用,即将输入端401的数据进行反相,并输出到节点407,改写节点407处的数据。例如,当输入数据D为0时,节点407处的数据将为1。当CLKP为高电平,CKLN为低电平时,第二锁存器408中受时钟信号CLKN、CLKP控制的晶体管为不导通状态,第二锁存器408呈高阻状态,节点407处的数据不能通过第二锁存器408。节点413处的数据则可以被锁存在节点413,保持原来的状态,起到数据寄存的作用,动态D触发器的输出保持原来的状态。

当下降沿来临时,CLKP跳变为低电平,CLKN跳变为高电平。第一锁存器402中受时钟信号CLKN、CLKP控制的晶体管为不导通状态,第一锁存器402呈现高阻状态,输入端处的数据无法通过第一锁存器402,407处的数据被保持。此时,第二锁存器402中受时钟信号CLKN、CLKP控制的晶体管为导通状态,第二锁存器408导通并起到将其输入端数据反相的作用,从而将保持在节点407处的数据反相输出到节点413,并进而通过反相器414输出到输出端415。由此可见,当时钟信号CK的下降沿来临时,动态D触发器的输出状态发生变化。由于输入数据总共经历三次反相,因此输出端输出的是输入端的反相数据。因此,如图7所示,在CK的下降沿来临时,当输入端D为0时,输出端QN跳变为1;当输入端D为1时,输出端QN跳变为0。

图8示出应用本发明实施例所述的反相输出动态D触发器的多路并联的寄存器。如图8所示,多路并联的寄存器800包括多路并联的反相输出动态D触发器801、时钟缓冲器802、时钟信号端CK、多路输入端D(n)和多路输出端QN(n),其中n代表n路输入/输出。多路输入端D(n)用于输入数据;多路输出端QN(n)用于输出数据;时钟信号端CK用于接收时钟信号;时钟缓冲器802,用于将所述时钟信号端CK接收的时钟信号缓冲之后向多个反相输出动态D触发器801提供时钟信号,多个反相输出动态D触发器801并联连接在所述多路输入端D(n)和多路输出端QN(n)之间,用于在时钟信号CK控制下锁存和/或读出数据,其中所述反相输出动态D触发器801是根据本发明的实施例结合图1-图7所述的反相输出动态D触发器。

通常独立的D触发器需要一个时钟缓冲器产生相互反相的时钟信号控制D触发器的时钟输入端。如果为每个D触发器都配置独立的时钟缓冲器,则在需要使用多个D触发器的应用中,时钟缓冲器会耗费相当的芯片面积和功耗。为了解决这个问题,本发明中的一个时钟缓冲器同时驱动多个动态D触发器,可以有效地减小面积、降低功耗。加之相比于传统的动态D触发器,本发明去掉了动态D触发器输入的第一级反相器,从而使得每个动态D触发器的晶体管数量减小,总体芯片面积减小,总体功率降低。在以上多点改进的综合作用下,本发明所要求保护的寄存器相比传统的寄存器进一步具有面积减小以及功率降低的优势。

本发明还提供一种比特币挖矿算法的装置,包括如上所述的反相输出动态D触发器400或者如上所述的应用反相输出动态D触发器的多路并联的寄存器800。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

在说明书及权利要求中的词语“前”、“后”、“顶”、“底”、“之上”、“之下”等,如果存在的话,用于描述性的目的而并不一定用于描述不变的相对位置。应当理解,这样使用的词语在适当的情况下是可互换的,使得在此所描述的本公开的实施例,例如,能够在与在此所示出的或另外描述的那些取向不同的其他取向上操作。

如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。

如在此所使用的,词语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。词语“基本上”还允许由寄生效应、噪音以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。

上述描述可以指示被“连接”或“耦合”在一起的元件或节点或特征。如在此所使用的,除非另外明确说明,“连接”意指一个元件/节点/特征与另一种元件/节点/特征在电学上、机械上、逻辑上或以其它方式直接地连接(或者直接通信)。类似地,除非另外明确说明,“耦合”意指一个元件/节点/特征可以与另一元件/节点/特征以直接的或间接的方式在机械上、电学上、逻辑上或以其它方式连结以允许相互作用,即使这两个特征可能并没有直接连接也是如此。也就是说,“耦合”意图包含元件或其它特征的直接连结和间接连结,包括利用一个或多个中间元件的连接。

还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。

本领域技术人员应当意识到,在上述操作之间的边界仅仅是说明性的。多个操作可以结合成单个操作,单个操作可以分布于附加的操作中,并且操作可以在时间上至少部分重叠地执行。而且,另选的实施例可以包括特定操作的多个实例,并且在其他各种实施例中可以改变操作顺序。但是,其它的修改、变化和替换同样是可能的。因此,本说明书和附图应当被看作是说明性的,而非限制性的。

虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:实时时钟模块、电子设备以及移动体

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类