具有多路选择器功能的反相D触发器转让专利

申请号 : CN202210455909.0

文献号 : CN114567298B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 范志军田文博孔维新杨作兴郭海丰

申请人 : 深圳比特微电子科技有限公司

摘要 :

本公开涉及一种具有多路选择器功能的反相D触发器,包括:第一三态门,所述第一三态门的数据输入端被配置为接收第一数据信号,所述第一三态门的时钟输入端被配置为接收第一时钟信号;第二三态门,所述第二三态门的数据输入端被配置为接收第二数据信号,所述第二三态门的时钟输入端被配置为接收第二时钟信号;反相锁存单元,所述反相锁存单元的数据输入端连接到第一三态门的输出端和第二三态门的输出端,所述反相锁存单元的时钟输入端被配置为接收第三时钟信号;以及反相器,所述反相器的输入端连接到反相锁存单元的输出端,所述反相器的输出端提供反相D触发器的输出。

权利要求 :

1.一种具有多路选择器功能的反相D触发器,包括:

第一三态门,所述第一三态门的数据输入端被配置为接收第一数据信号,所述第一三态门的时钟输入端被配置为接收第一时钟信号,所述第一三态门的输出端被配置为输出反相第一数据信号;

第二三态门,所述第二三态门的数据输入端被配置为接收第二数据信号,所述第二三态门的时钟输入端被配置为接收第二时钟信号,所述第二三态门的输出端被配置为输出反相第二数据信号;

反相锁存单元,所述反相锁存单元的数据输入端直接连接到所述第一三态门的输出端和所述第二三态门的输出端二者,所述反相锁存单元被配置为对从所述第一三态门的输出端接收的反相第一数据信号和从所述第二三态门的输出端接收的反相第二数据信号都进行相同的单次锁存操作,所述反相锁存单元的时钟输入端被配置为接收第三时钟信号,所述反相锁存单元的输出端被配置为输出第一数据信号或第二数据信号;以及反相器,所述反相器的输入端直接连接到所述反相锁存单元的输出端,所述反相器的输出端提供反相D触发器的唯一输出端并且被配置为输出反相第一数据信号或反相第二数据信号,其中,第一时钟信号和第二时钟信号使得第一三态门和第二三态门在不同的时间导通,第三时钟信号使得在第一三态门和第二三态门之一导通时反相锁存单元截止,在第一三态门和第二三态门二者截止时反相锁存单元导通。

2.如权利要求1所述的反相D触发器,其中,所述反相锁存单元为以下之一:第三三态门;

串联的第二反相器和第一传输门。

3.如权利要求1所述的反相D触发器,其中,第一时钟信号、第二时钟信号和第三时钟信号中的每一个都包括具有相反相位的同相信号和反相信号。

4.如权利要求3所述的反相D触发器,其中,

第一时钟信号的同相信号是通过将公共时钟信号以及选择信号和反相选择信号中的一个进行与运算获得的,第一时钟信号的反相信号是通过将第一时钟信号的同相信号进行非运算获得的,第二时钟信号的同相信号是通过将公共时钟信号以及选择信号和反相选择信号中的另一个进行与运算获得的,第二时钟信号的反相信号是通过将第二时钟信号的同相信号进行非运算获得的,第三时钟信号的同相信号是公共时钟信号,第三时钟信号的反相信号是通过将公共时钟信号进行非运算获得的。

5.如权利要求1所述的反相D触发器,还包括反相反馈单元,所述反相反馈单元的数据输入端连接到反相器的输出端,所述反相反馈单元的输出端连接到反相器的输入端,所述反相反馈单元的时钟输入端被配置为接收第四时钟信号,其中,第四时钟信号使得在反相锁存单元导通时反相反馈单元截止,在反相锁存单元截止时反相反馈单元导通。

6.如权利要求5所述的反相D触发器,其中,所述反相反馈单元为以下之一:第四三态门;

串联的第三反相器和第二传输门。

7.如权利要求5所述的反相D触发器,其中,

第四时钟信号包括具有相反相位的同相信号和反相信号。

8.如权利要求7所述的反相D触发器,其中,

第四时钟信号的同相信号是公共时钟信号,第四时钟信号的反相信号是通过将公共时钟信号进行非运算获得的。

9.如权利要求1所述的反相D触发器,其中,第一数据信号和第二数据信号中的一个为功能数据信号,第一数据信号和第二数据信号中的另一个为扫描数据信号。

10.一种运算电路,包括多个如权利要求1至4以及9中任一项所述的反相D触发器。

11.如权利要求10所述的运算电路,还包括:

第四反相器,所述第四反相器的输入被配置为接收选择信号并且输出反相选择信号;

第一时钟信号生成器,所述第一时钟信号生成器被配置为接收公共时钟信号以及选择信号和第四反相器输出的反相选择信号中的一个,并且输出第一时钟信号;

第二时钟信号生成器,所述第二时钟信号生成器被配置为接收公共时钟信号以及选择信号和第四反相器输出的反相选择信号中的另一个,并且输出第二时钟信号;以及第三时钟信号生成器,所述第三时钟信号生成器被配置为接收公共时钟信号并且输出第三时钟信号。

12.一种运算电路,包括多个如权利要求5至8中任一项所述的反相D触发器。

13.如权利要求12所述的运算电路,还包括:

第四反相器,所述第四反相器的输入被配置为接收选择信号并且输出反相选择信号;

第一时钟信号生成器,所述第一时钟信号生成器被配置为接收公共时钟信号以及选择信号和第四反相器输出的反相选择信号中的一个,并且输出第一时钟信号;

第二时钟信号生成器,所述第二时钟信号生成器被配置为接收公共时钟信号以及选择信号和第四反相器输出的反相选择信号中的另一个,并且输出第二时钟信号;以及第三时钟信号生成器,所述第三时钟信号生成器被配置为接收公共时钟信号并且输出第三时钟信号和第四时钟信号。

14.一种计算装置,包括:

存储器;以及

处理器,所述处理器包括运算电路,所述运算电路包括多个如权利要求1至9中任一项所述的反相D触发器。

说明书 :

具有多路选择器功能的反相D触发器

技术领域

[0001] 本发明涉及具有多路选择器功能的反相D触发器。

背景技术

[0002] 芯片的评价指标通常是性能、功耗和面积(Performance, Power and Area,PPA)。性能是指运行的速度。功耗是指静态漏电和运行时的功耗。面积是指芯片的面积,其代表了成本。很多应用领域(例如,矿机和人工智能)对PPA(特别是功耗)很敏感。因此,PPA代表着芯片的核心竞争力。
[0003] 芯片制造存在良率问题。可测性设计(Design for Test,DFT)是大规模芯片必备的技术。通过DFT能够将有错误的芯片筛除出去或者对芯片进行分级。DFT通过在芯片原始设计中插入各种用于提高芯片可测性(包括可控制性和可观测性)的硬件逻辑,从而使芯片变得容易测试,大幅度节省芯片测试的成本。

发明内容

[0004] 根据本公开的一个方面,提供了一种具有多路选择器功能的反相D触发器,包括:第一三态门,所述第一三态门的数据输入端被配置为接收第一数据信号,所述第一三态门的时钟输入端被配置为接收第一时钟信号;第二三态门,所述第二三态门的数据输入端被配置为接收第二数据信号,所述第二三态门的时钟输入端被配置为接收第二时钟信号;反相锁存单元,所述反相锁存单元的数据输入端连接到第一三态门的输出端和第二三态门的输出端,所述反相锁存单元的时钟输入端被配置为接收第三时钟信号;以及反相器,所述反相器的输入端连接到反相锁存单元的输出端,所述反相器的输出端提供反相D触发器的输出,其中,第一时钟信号和第二时钟信号使得第一三态门和第二三态门在不同的时间导通,第三时钟信号使得在第一三态门和第二三态门之一导通时反相锁存单元截止,在第一三态门和第二三态门二者截止时反相锁存单元导通。
[0005] 根据本公开的又一个方面,提供了一种运算电路,包括多个本公开的反相D触发器。
[0006] 根据本公开的又一个方面,提供了一种计算装置,包括:存储器;以及处理器,所述处理器包括本公开的运算电路。

附图说明

[0007] 当结合附图考虑实施例的以下具体描述时,可以获得对本发明内容更好的理解。在各附图中使用了相同或相似的附图标记来表示相同或者相似的部件。各附图连同下面的具体描述一起包含在本说明书中并形成说明书的一部分,用来例示说明本发明的实施例和解释本发明的原理和优点。
[0008] 图1A‑1D示出了通过在原始电路的逻辑块之间插入额外的硬件电路来测试原始电路的框图。
[0009] 图2A示出了扫描替换步骤中将普通D触发器替换为扫描DFF的示意图,图2B示出了扫描拼接步骤中将扫描DFF连接在一起形成扫描链的示意图。
[0010] 图3A和3B分别示出了二选一多路选择器(MUX2)的逻辑图和真值表。
[0011] 图4A和4B分别示出了反相二选一多路选择器(MUXI2)和二选一多路选择器(MUX2)的互补金属氧化物半导体(Complementary Metal‑Oxide‑Semiconductor,CMOS)电路。
[0012] 图5示出了根据本公开的实施例的具有多路选择器功能的反相D触发器500的框图。
[0013] 图6A至6D示出了根据本公开的实施例的实现了图5的反相D触发器500的CMOS电路600A至600D。
[0014] 图7示出了根据本公开的实施例的具有多路选择器功能的反相D触发器700的框图。
[0015] 图8A至8D示出了根据本公开的实施例的实现了图7的反相D触发器700的CMOS电路800A至800D。
[0016] 图9A至9D示出了根据本公开的实施例的实现了图7的反相D触发器700的CMOS电路900A至900D。
[0017] 图10A和10B示出了根据本公开的实施例的用于生成第一时钟信号的时钟信号生成器1000A和1000B。
[0018] 图11A和11B示出了根据本公开的实施例的用于生成第二时钟信号的时钟信号生成器1100A和1100B。
[0019] 图12A和12B示出了根据本公开的实施例的用于生成第三时钟信号/第四时钟信号的时钟信号生成器1200A和1200B。
[0020] 图13示出了将根据本公开的实施例的第一时钟信号、第二时钟信号和第三时钟信号施加于图6A的CMOS电路时的信号时序图。
[0021] 图14示出了可以应用根据本公开的实施例的反相D触发器的运算电路1400。
[0022] 图15示出了可以应用根据本公开的实施例的反相D触发器的运算电路1500。

具体实施方式

[0023] 以下对实施例的详细描述呈现了本发明的特定实施例的各种细节。然而,本发明可以以权利要求所定义和涵盖的多种不同方式实施。在本说明书中,相同的附图标记可表示相同或功能相似的元件。
[0024] 图1A‑1D示出了通过在原始电路的逻辑块之间插入额外的硬件电路来测试原始电路的框图。图1A示出的是原始电路。图1B示出的是在逻辑块A和逻辑块B之间插入观测点来观测从逻辑块A传递到逻辑块B的值。图1C示出的是在逻辑块A和逻辑块B之间插入或门来控制从逻辑块A传递到逻辑块B的值,即,将该值强制为1。图1D示出的是在逻辑块A和逻辑块B之间插入与门来控制从逻辑块A传递到逻辑块B的值,即,将该值强制为0。
[0025] 在大规模芯片中,数字电路的主要构成是时序逻辑单元和组合逻辑单元。组合逻辑单元的测试过程比较简单,通常情况下只需要单个测试向量就可以检测到目标错误。时序逻辑单元的测试过程比较复杂。在绝大多数情况下,没办法只依靠一个测试向量,而是需要一个测试向量序列才能最终检测到目标错误。
[0026] 扫描(Scan)技术能够把难以测试(difficult‑to‑test)的时序电路转变为容易测试(easy‑to‑test)的组合电路。扫描技术主要包括两步。第一步是扫描替换,其把电路中的普通寄存器(例如,D触发器(DFF))替换为扫描寄存器(例如,扫描DFF)。第二步是扫描拼接,其把第一步中的扫描寄存器连接在一起形成扫描链。图2A示出了扫描替换步骤中将普通DFF替换为扫描DFF的示意图。图2B示出了扫描拼接步骤中将扫描DFF连接在一起形成扫描链的示意图。
[0027] 扫描DFF由二选一多路选择器(MUX2)和DFF组成。MUX2的逻辑表达式为。sel为选择信号,a0为第一输入,a1为第二输入。图3A和3B分别示出了
二选一多路选择器(MUX2)的逻辑图和真值表。当选择信号sel为逻辑0时,输出X为第一输入a0。当选择信号sel为逻辑1时,输出X为第二输入a1。图4A和4B分别示出了反相二选一多路选择器(MUXI2)和二选一多路选择器(MUX2)的互补金属氧化物半导体(Complementary Metal‑Oxide‑Semiconductor,CMOS)电路。MUXI2与MUX2的区别在于,MUXI2的输出为输入的反相。但从图4A和4B可以看出,MUXI2的实现更简单,因为MUXI2比MUX2节省了一个反相器。
[0028] 然而,不管是在扫描DFF中使用MUX2还是MUXI2,均增加了较多的CMOS晶体管,导致扫描DFF的面积、功耗以及成本增加。另外,在扫描DFF中,MUX2(或者MUXI2)和DFF是两个分离的单元,这也会导致扫描DFF占用的面积较大。
[0029] 此外,在芯片中,参与运算和存储的数据本身有位宽,例如,8位、16位、32位、64位等。因此,寄存器的占比较高,通常为芯片面积的50%。如果将这些寄存器都替换为扫描DFF,则会导致芯片的面积大、功耗高、成本高。
[0030] 本公开提供了具有多路选择器功能的反相D触发器,其能够作为扫描寄存器替换芯片中的普通寄存器来实现芯片的测试。现有技术是利用扫描DFF替换芯片中的普通寄存器来实现芯片的测试。与扫描DFF相比,本公开的反相D触发器占用的面积小、功耗小并且成本低。因此,在芯片中利用本公开的实施例的具有多路选择器功能的反相D触发器具有面积小、功耗小和成本低的优点。
[0031] 图5示出了根据本公开的实施例的具有多路选择器功能的反相D触发器500的框图。反相D触发器500包括三态门510、三态门520、反相锁存单元530和反相器540。三态门510的数据输入端被配置为接收第一数据信号D。三态门520的数据输入端被配置为接收第二数据信号SI。反相锁存单元530的数据输入端连接到三态门510的输出端和三态门520的输出端。反相器540的输入端连接到反相锁存单元530的输出端。反相器540的输出端提供反相D触发器500的输出Q。
[0032] 此外,三态门510的时钟输入端(未示出)被配置为接收第一时钟信号。三态门520的时钟输入端(未示出)被配置为接收第二时钟信号。反相锁存单元530的时钟输入端(未示出)被配置为接收第三时钟信号。第一时钟信号和第二时钟信号使得三态门510和三态门520在不同的时间导通。因此,反相第一数据信号和反相第二数据信号在不同的时间被传输到反相锁存单元530的输入端。也就是说,通过配置施加给三态门510和三态门520的时钟信号,可以选择将反相第一数据信号还是反相第二数据信号传输到反相锁存单元530的输入端。第三时钟信号使得在三态门510和三态门520之一导通时反相锁存单元530截止,在三态门510和三态门520二者截止时反相锁存单元530导通。
[0033] 反相锁存单元530的数据输入端接收反相第一数据信号或反相第二数据信号,并在导通时在输出端输出第一数据信号或第二数据信号。反相器530的输入端接收第一数据信号或第二数据信号,并输出反相第一数据信号或反相第二数据信号。因此,反相D触发器500的输出是反相第一数据信号或反相第二数据信号。
[0034] 因此,反相D触发器500不仅具有寄存器功能,还具有多路选择器功能。反相D触发器500中的三态门和反相锁存单元都是时序逻辑单元。可见,反相D触发器500通过利用时序逻辑单元实现了寄存器功能和多路选择器功能二者。然而,现有的扫描DFF中的多路选择器是组合逻辑单元,DFF是时序逻辑单元。也就是说,现有的扫描DFF需要分离的组合逻辑单元和时序逻辑单元来实现寄存器功能和多路选择器功能二者。因此,根据本公开的实施例的反相D触发器相比于传统的扫描DFF具有面积小、功耗小和成本低的优点。
[0035] 在本公开的一些实施例中,第一数据信号D和第二数据信号SI中的一个为功能数据信号,第一数据信号D和第二数据信号SI中的另一个为扫描数据信号。因此,在需要对电路进行测试时,可以在时钟信号的控制下将特定扫描数据信号输入反相D触发器500来进行电路测试。
[0036] 图6A至6D示出了根据本公开的实施例的实现了图5的反相D触发器500的CMOS电路600A至600D。三态门510由串联在电源端子VDD和接地端子VSS之间的PMOS晶体管511和512以及NMOS晶体管513和514实现。三态门520由串联在电源端子VDD和接地端子VSS之间的PMOS晶体管521和522以及NMOS晶体管523和524实现。反相器540由串联在电源端子VDD和接地端子VSS之间的PMOS晶体管541和NMOS晶体管542实现。也就是说,反相器540被实现为非门。
[0037] 如图6A和6B所示,三态门510采用了如下配置:PMOS晶体管511的栅极和NMOS晶体管514的栅极被连接在一起作为三态门510的数据输入端,PMOS晶体管512的漏极和NMOS晶体管513的漏极被连接在一起作为三态门510的输出端,PMOS晶体管512的栅极和NMOS晶体管513的栅极分别被配置为接收具有相反相位的时钟信号。三态门520采用了如下配置:PMOS晶体管521的栅极和NMOS晶体管524的栅极被连接在一起作为三态门520的数据输入端,PMOS晶体管522的漏极和NMOS晶体管523的漏极被连接在一起作为三态门520的输出端,PMOS晶体管522的栅极和NMOS晶体管523的栅极分别被配置为接收具有相反相位的时钟信号。
[0038] 在本公开的一些实施例中,三态门510可以采用另外一种配置:PMOS晶体管512的栅极和NMOS晶体管513的栅极被连接在一起作为三态门510的数据输入端,PMOS晶体管512的漏极和NMOS晶体管513的漏极被连接在一起作为三态门510的输出端,PMOS晶体管511的栅极和NMOS晶体管514的栅极分别被配置为接收具有相反相位的时钟信号。
[0039] 在本公开的一些实施例中,三态门520可以采用另外一种配置:PMOS晶体管522的栅极和NMOS晶体管523的栅极被连接在一起作为三态门520的数据输入端,PMOS晶体管522的漏极和NMOS晶体管523的漏极被连接在一起作为三态门520的输出端,PMOS晶体管521的栅极和NMOS晶体管524的栅极分别被配置为接收具有相反相位的时钟信号。
[0040] 图6A和6B中的反相锁存单元530由串联在电源端子VDD和接地端子VSS之间的PMOS晶体管531和532以及NMOS晶体管533和534实现。也就是说,图6A和6B中的反相锁存单元530被实现为三态门。图6C和6D中的反相锁存单元530由串联的反相器631和传输门632实现。反相器631由串联在电源端子VDD和接地端子VSS之间的PMOS晶体管535和NMOS晶体管536实现。传输门632由并联的PMOS晶体管537和NMOS晶体管538实现。
[0041] 如图6A和6B所示,反相锁存单元530采用了三态门的如下配置:PMOS晶体管531的栅极和NMOS晶体管534的栅极被连接在一起作为反相锁存单元530的数据输入端。PMOS晶体管532的漏极和NMOS晶体管533的漏极被连接在一起作为反相锁存单元530的输出端。PMOS晶体管532的栅极和NMOS晶体管533的栅极分别被配置为接收具有相反相位的时钟信号。
[0042] 在本公开的一些实施例中,反相锁存单元530可以采用三态门的另外一种配置:PMOS晶体管532的栅极和NMOS晶体管533的栅极被连接在一起作为反相锁存单元530的数据输入端,PMOS晶体管532的漏极和NMOS晶体管533的漏极被连接在一起作为反相锁存单元
530的输出端,PMOS晶体管531的栅极和NMOS晶体管534的栅极分别被配置为接收具有相反相位的时钟信号。
[0043] 在图6A中,PMOS晶体管512被施加第一时钟信号的同相信号clk1p,NMOS晶体管513被施加第一时钟信号的反相信号clk1n。因此,三态门510将在clk1p为低电平并且clk1n为高电平时输出反相第一数据信号。PMOS晶体管522被施加第二时钟信号的同相信号clk2p,NMOS晶体管523被施加第二时钟信号的反相信号clk2n。因此,三态门520将在clk2p为低电平并且clk2n为高电平时输出反相第二数据信号。
[0044] 第一时钟信号的同相信号clk1p和第二时钟信号的同相信号clk2p在不同的时间为低电平,因此三态门510和三态门520在不同的时间导通。从而,反相第一数据信号和反相第二数据信号在不同的时间被传输到反相锁存单元530的输入端。
[0045] PMOS晶体管532被施加第三时钟信号的反相信号clk3n,NMOS晶体管533被施加第三时钟信号的同相信号clk3p。因此,反相锁存单元530将在clk3p为高电平并且clk3n为低电平时输出第一数据信号或第二数据信号。进一步地,反相器540输出反相第一数据信号或反相第二数据信号。因此,图6A的CMOS电路实现了上升沿触发的反相D触发器。
[0046] 在图6B中,PMOS晶体管512的栅极和NMOS晶体管513的栅极分别被配置为接收第一时钟信号的具有相反相位的反相信号clk1n和同相信号clk1p。由于PMOS晶体管512被施加第一时钟信号的反相信号clk1n,NMOS晶体管513被施加第一时钟信号的同相信号clk1p,所以三态门510在clk1p为高电平并且clk1n为低电平时导通并输出反相第一数据信号。
[0047] PMOS晶体管522的栅极和NMOS晶体管523的栅极分别被配置为接收第二时钟信号的具有相反相位的反相信号clk2n和同相信号clk2p。由于PMOS晶体管522被施加第二时钟信号的反相信号clk2n,NMOS晶体管523被施加第二时钟信号的同相信号clk2p,所以三态门520在clk2p为高电平并且clk2n为低电平时导通并输出反相第二数据信号。
[0048] 第一时钟信号的同相信号clk1p和第二时钟信号的同相信号clk2p在不同的时间为高电平,因此三态门510和三态门520在不同的时间导通。从而,反相第一数据信号和反相第二数据信号在不同的时间被传输到反相锁存单元530的输入端。
[0049] PMOS晶体管532被施加第三时钟信号的同相信号clk3p,NMOS晶体管533被施加第三时钟信号的反相信号clk3n。因此,反相锁存单元530将在clk3p为低电平并且clk3n为高电平时输出第一数据信号或第二数据信号。进一步地,反相器540输出反相第一数据信号或反相第二数据信号。因此,图6B的CMOS电路实现了下降沿触发的反相D触发器。
[0050] 在图6C中,PMOS晶体管512被施加第一时钟信号的同相信号clk1p,NMOS晶体管513被施加第一时钟信号的反相信号clk1n。因此,三态门510将在clk1p为低电平并且clk1n为高电平时输出反相第一数据信号。PMOS晶体管522被施加第二时钟信号的同相信号clk2p,NMOS晶体管523被施加第二时钟信号的反相信号clk2n。因此,三态门520将在clk2p为低电平并且clk2n为高电平时输出反相第二数据信号。
[0051] 第一时钟信号的同相信号clk1p和第二时钟信号的同相信号clk2p在不同的时间为低电平,因此三态门510和三态门520在不同的时间导通。从而,反相第一数据信号和反相第二数据信号在不同的时间被传输到反相锁存单元530的输入端。
[0052] PMOS晶体管537被施加第三时钟信号的反相信号clk3n,NMOS晶体管538被施加第三时钟信号的同相信号clk3p。因此,反相锁存单元530将在clk3p为高电平并且clk3n为低电平时输出第一数据信号或第二数据信号。进一步地,反相器540输出反相第一数据信号或反相第二数据信号。因此,图6C的CMOS电路实现了上升沿触发的反相D触发器。
[0053] 在图6D中,PMOS晶体管512的栅极和NMOS晶体管513的栅极分别被配置为接收第一时钟信号的具有相反相位的反相信号clk1n和同相信号clk1p。由于PMOS晶体管512被施加第一时钟信号的反相信号clk1n,NMOS晶体管513被施加第一时钟信号的同相信号clk1p,所以三态门510在clk1p为高电平并且clk1n为低电平时导通并输出反相第一数据信号。
[0054] PMOS晶体管522的栅极和NMOS晶体管523的栅极分别被配置为接收第二时钟信号的具有相反相位的反相信号clk2n和同相信号clk2p。由于PMOS晶体管522被施加第二时钟信号的反相信号clk2n,NMOS晶体管523被施加第二时钟信号的同相信号clk2p,所以三态门520在clk2p为高电平并且clk2n为低电平时导通并输出反相第二数据信号。
[0055] 第一时钟信号的同相信号clk1p和第二时钟信号的同相信号clk2p在不同的时间为高电平,因此三态门510和三态门520在不同的时间导通。从而,反相第一数据信号和反相第二数据信号在不同的时间被传输到反相锁存单元530的输入端。
[0056] PMOS晶体管537被施加第三时钟信号的同相信号clk3p,NMOS晶体管538被施加第三时钟信号的反相信号clk3n。因此,反相锁存单元530将在clk3p为低电平并且clk3n为高电平时输出第一数据信号或第二数据信号。进一步地,反相器540输出反相第一数据信号或反相第二数据信号。因此,图6D的CMOS电路实现了下降沿触发的反相D触发器。
[0057] 在本公开的一些实施例中,可以通过将公共时钟信号和反相选择信号进行与运算获得第一时钟信号的同相信号clk1p,通过将clk1p进行非运算获得第一时钟信号的反相信号clk1n。通过将公共时钟信号和选择信号进行与运算获得第二时钟信号的同相信号clk2p,通过将clk2p进行非运算获得第二时钟信号的反相信号clk2n。第三时钟信号的同相信号clk3p是公共时钟信号,第三时钟信号的反相信号clk3n是通过将公共时钟信号进行非运算获得的。
[0058] 在本公开的一些实施例中,可以通过将公共时钟信号和选择信号进行与运算获得第一时钟信号的同相信号clk1p,通过将clk1p进行非运算获得第一时钟信号的反相信号clk1n。通过将公共时钟信号和反相选择信号进行与运算获得第二时钟信号的同相信号clk2p,通过将clk2p进行非运算获得第二时钟信号的反相信号clk2n。第三时钟信号的同相信号clk3p是公共时钟信号,第三时钟信号的反相信号clk3n是通过将公共时钟信号进行非运算获得的。
[0059] 反相D触发器500是一种动态D触发器,其输出端存在漏电问题。为了进一步解决该漏电问题,本发明还提出了一种半静态D触发器,其能够有效地缓解输出端的漏电问题。
[0060] 图7示出了根据本公开的实施例的具有多路选择器功能的反相D触发器700。反相D触发器700包括三态门510、三态门520、反相锁存单元530、反相器540和反相反馈单元750。反相D触发器700的三态门510、三态门520、反相锁存单元530和反相器540的配置已经参考图5进行了描述。反相D触发器700与反相D触发器500的区别在于反相D触发器700增加了反相反馈单元750。反相反馈单元750的数据输入端连接到反相器540的输出端。反相反馈单元
750的输出端连接到反相器540的输入端。
[0061] 反相反馈单元750的时钟输入端(未示出)被配置为接收第四时钟信号。第四时钟信号使得在反相锁存单元530导通时,反相反馈单元750截止。第四时钟信号使得在反相锁存单元530截止时,反相反馈单元750导通。从而,反相反馈单元750能够将反相器540的输出端的电荷反相并反馈回反相器540的输入端。因此,反相D触发器700能够有效地缓解反相D触发器输出端的漏电问题,其是一种半静态D触发器。
[0062] 反相反馈单元750可以由三态门实现,或者由串联的反相器和传输门实现。图8A至8D示出了根据本公开的实施例的实现了图7的反相D触发器700的CMOS电路800A至800D。反相反馈单元750由串联在电源端子VDD和接地端子VSS之间的PMOS晶体管751和752以及NMOS晶体管753和754实现。也就是说,反相反馈单元750被实现为三态门。
[0063] 如图8A至8D所示,反相反馈单元750采用了三态门的如下配置:PMOS晶体管751的栅极和NMOS晶体管754的栅极被连接在一起作为反相反馈单元750的数据输入端。PMOS晶体管752的漏极和NMOS晶体管753的漏极被连接在一起作为反相反馈单元750的输出端。PMOS晶体管752的栅极和NMOS晶体管753的栅极分别被配置为接收具有相反相位的时钟信号。
[0064] 在本公开的一些实施例中,反相反馈单元750可以采用三态门的另外一种配置:PMOS晶体管752的栅极和NMOS晶体管753的栅极被连接在一起作为反相反馈单元750的数据输入端,PMOS晶体管752的漏极和NMOS晶体管753的漏极被连接在一起作为反相反馈单元
750的输出端,PMOS晶体管751的栅极和NMOS晶体管754的栅极分别被配置为接收具有相反相位的时钟信号。
[0065] 在图8A和8C中,PMOS晶体管752的栅极和NMOS晶体管753的栅极分别被配置为接收第四时钟信号的具有相反相位的同相信号clk4p和反相信号clk4n。因此,反相反馈单元750在clk4p为高电平并且clk4n为低电平时截止,在clk4p为低电平并且clk4n为高电平时导通。
[0066] 在图8B和8D中,PMOS晶体管752的栅极被配置为接收第四时钟信号的反相信号clk4n,NMOS晶体管753的栅极被配置为接收第四时钟信号的同相信号clk4p。因此,反相反馈单元750在clk4p为高电平并且clk4n为低电平时导通,在第四时钟信号的同相信号clk4p为低电平并且clk4n为高电平时截止。
[0067] 图9A至9D示出了根据本公开的实施例的实现了图7的反相D触发器700的CMOS电路900A至900D。反相反馈单元750由串联的反相器941和传输门942实现。串联在电源端子VDD和接地端子VSS之间的PMOS晶体管755和NMOS晶体管756构成反相器941。并联的PMOS晶体管
757和NMOS晶体管758构成传输门942。反相器941的输入端被作为反相反馈单元750的输入端。传输门942的输出端被作为反相反馈单元750的输出端。
[0068] 在图9A和9C中,PMOS晶体管757的栅极被配置为接收第四时钟信号的同相信号clk4p,NMOS晶体管758的栅极被配置为接收第四时钟信号的反相信号clk4n。因此,反相反馈单元750在clk4p为低电平并且clk4n为高电平时导通,在clk4p为高电平并且clk4n为低电平时截止。
[0069] 在图9B和9D中,PMOS晶体管757的栅极被配置为接收第四时钟信号的反相信号clk4n,NMOS晶体管758的栅极被配置为接收第四时钟信号的同相信号clk4p。因此,反相反馈单元750在clk4p为高电平并且clk4n为低电平时导通,在clk4p为低电平并且clk4n为高电平时截止。
[0070] 在本公开的一些实施例中,第四时钟信号的同相信号可以是公共时钟信号,第四时钟信号的反相信号可以是通过将公共时钟信号进行非运算获得的。在本公开的一些实施例中,第四时钟信号可以与第三时钟信号相同。
[0071] 图10A示出了根据本公开的实施例的用于生成第一时钟信号的时钟信号生成器1000A。时钟信号生成器1000A包括串联的与非门1010、非门1020和非门1030。与非门1010包括PMOS晶体管1011和1012以及NMOS晶体管1013和1014。非门1020包括PMOS晶体管1021和NMOS晶体管1022。非门1030包括PMOS晶体管1031和NMOS晶体管1032。与非门1010被配置为接收公共时钟信号clk和反相选择信号sen,并将输出提供给非门1020。非门1020被配置为输出第一时钟信号的同相信号clk1p,并将clk1p提供给非门1030。非门1030被配置为输出第一时钟信号的反相信号clk1n。因此,第一时钟信号的同相信号clk1p = clk & sen。
[0072] 图10A仅仅是用于生成第一时钟信号的时钟信号生成器的示例。在本公开的一些实施例中,与非门1010的输出也可以提供第一时钟信号的反相信号clk1n。然而,每个非门可以连接的负载数量受限。因此,可以通过在与非门1010之后连接更多的非门来增强时钟信号生成器1000A驱动负载的能力。在本公开的一些实施例中,可以在与非门1010之后连接两个或更多个非门来形成时钟树。与非门1010的输出作为时钟树的根节点。这些非门可以连接成H树、鱼骨或网状结构。
[0073] 图10B示出了根据本公开的实施例的用于生成第一时钟信号的时钟信号生成器1000B。与时钟信号生成器1000A相比,时钟信号生成器1000B还包括由两个或更多个非门构成的时钟树1040。此外,时钟信号生成器1000B还包括K对串联的非门,即(1020‑1, 1030‑
1), …, (1020‑K, 1030‑K)。这K对串联的非门可以输出K对具有相反相位的信号,即(clk1p‑1, clk1n‑1), …, (clk1p‑K, clk1n‑K)。每对非门输出的每对信号都可以用作第一时钟信号。每对信号可以被提供给若干负载(例如,本公开的反相D触发器)。因此,与时钟信号生成器1000A相比,时钟信号生成器1000B可以驱动更多的负载。
[0074] 图11A示出了根据本公开的实施例的用于生成第二时钟信号的时钟信号生成器1100A。时钟信号生成器1100A包括串联的与非门1110、非门1120和非门1130。与非门1110包括PMOS晶体管1111和1112以及NMOS晶体管1113和1114。非门1120包括PMOS晶体管1121和NMOS晶体管1122。非门1130包括PMOS晶体管1131和NMOS晶体管1132。与非门1110被配置为接收公共时钟信号clk和选择信号se,并将输出提供给非门1120。非门1120被配置为输出第二时钟信号的同相信号clk2p,并将clk2p提供给非门1130。非门1130被配置为输出第二时钟信号的反相信号clk2n。因此,第二时钟信号的同相信号clk2p = clk & se。
[0075] 图11A仅仅是用于生成第二时钟信号的时钟信号生成器的示例。在本公开的一些实施例中,与非门1110的输出也可以提供第一时钟信号的反相信号clk2n。然而,每个非门可以连接的负载数量受限。因此,可以通过在与非门1110之后连接更多的非门来增强时钟信号生成器1100A驱动负载的能力。在本公开的一些实施例中,可以在与非门1110之后连接两个或更多个非门来形成时钟树。与非门1110的输出作为时钟树的根节点。这些非门可以连接成H树、鱼骨或网状结构。
[0076] 图11B示出了根据本公开的实施例的用于生成第二时钟信号的时钟信号生成器1100B。与时钟信号生成器1100A相比,时钟信号生成器1100B还包括由两个或更多个非门构成的时钟树1140。此外,时钟信号生成器1100B还包括L对串联的非门,即(1120‑1, 1030‑
1), …, (1120‑L, 1130‑L)。这L对串联的非门可以输出L对具有相反相位的信号,即(clk2p‑1, clk2n‑1), …, (clk2p‑L, clk2n‑L)。每对非门输出的每对信号都可以用作第二时钟信号。每对信号可以被提供给若干负载(例如,本公开的反相D触发器)。因此,与时钟信号生成器1100A相比,时钟信号生成器1100B可以驱动更多的负载。选择信号se被配置用于选择将第一数据信号D还是第二数据信号SI传输到反相器540的输入端。反相选择信号sen是选择信号se的反相信号。可以通过将选择信号se施加给反相器来获得反相选择信号sen。
[0077] 图12A示出了根据本公开的实施例的用于生成第三时钟信号/第四时钟信号的时钟信号生成器1200A。时钟信号生成器1200A包括串联的非门1210和非门1220。非门1210包括PMOS晶体管1211和NMOS晶体管1212。非门1220包括PMOS晶体管1221和NMOS晶体管1222。非门1210被配置为接收公共时钟信号clk并输出clkn,并将clkn提供给非门1220。非门1220被配置为输出clkp。clkp和clkn可以用作第三时钟信号的同相信号和反相信号,或者用作第四时钟信号的同相信号和反相信号。然而,每个非门可以连接的负载数量受限。因此,可以通过更多的非门来增强时钟信号生成器1200A驱动负载的能力。
[0078] 图12B示出了根据本公开的实施例的用于生成第三时钟信号/第四时钟信号的时钟信号生成器1200B。与时钟信号生成器1200A相比,时钟信号生成器1200B还包括由两个或更多个非门构成的时钟树1230。时钟树1230可以是H树、鱼骨或网状结构。此外,时钟信号生成器1200B还包括J对串联的非门,即(1210‑1, 1220‑1), …, (1210‑J, 1220‑J)。这J对串联的非门可以输出J对具有相反相位的信号,即(clkp‑1, clkn‑1), …, (clkp‑J, clkn‑J)。每对非门输出的每对信号都可以用作第三时钟信号/第四时钟信号。每对信号可以被提供给若干负载(例如,本公开的反相D触发器)。因此,与时钟信号生成器1200A相比,时钟信号生成器1200B可以驱动更多的负载。
[0079] 图13示出了将根据本公开的实施例的第一时钟信号、第二时钟信号和第三时钟信号施加于图6A的CMOS电路时的信号时序图。三态门510在clk1p为高电平并且clk1n为低电平时锁存第一数据信号D,在clk1p为低电平并且clk1n为高电平时输出反相第一数据信号。三态门520在clk2p为高电平并且clk2n为低电平时锁存第二数据信号SI,在clk2p为低电平并且clk2n为高电平时输出反相第二数据信号。因此,三态门510和三态门520均充当了锁存单元。此外,由于se信号被融入了第一时钟信号和第二时钟信号,所以第一时钟信号和第二时钟信号既能用作时钟信号来锁存数据,又能用作选择信号来选择从三态门510输出反相第一数据信号还是从三态门520输出反相第二数据信号。另外,由于第一时钟信号的同相信号clk1p和第二时钟信号的同相信号clk2p在任何时刻只有一个为低电平,所以反相第一数据信号和反相第二数据信号在任何时刻只有一个会被三态门510和三态门520提供到反相锁存单元530的数据输入端。因此,反相D触发器500在任何时刻只输出反相第一数据信号和反相第二数据信号中的一个。
[0080] 图14示出了可以应用根据本公开的实施例的反相D触发器的运算电路1400。运算电路1400包括存储输入数据a[15:0]的寄存器组1410,存储输入数据B[15:0]的寄存器组1420,组合器1430,以及存储输出数据c[15:0]的寄存器组1440。寄存器组1410、1420和1440中的每一个可以包括多个根据本公开的实施例的反相D触发器。
[0081] 图15示出了可以应用根据本公开的实施例的反相D触发器的运算电路1500。运算电路1500包括反相器1501,其被配置为接收选择信号se并输出反相选择信号sen。运算电路1500还包括时钟信号生成器1511、1512和1513。时钟信号生成器1511可以是图10A中的时钟信号生成器1000A或者图10B中的时钟信号生成器1000B。时钟信号生成器1511被配置为接收反相选择信号sen和公共时钟信号clka,并输出第一时钟信号clk1。时钟信号生成器1512可以是图11A中的时钟信号生成器1100A或者图11B中的时钟信号生成器1100B。时钟信号生成器1512被配置为接收选择信号se和公共时钟信号clka,并输出第二时钟信号clk2。时钟信号生成器1513可以是图12A中的时钟信号生成器1200A或者图12B中的时钟信号生成器
1200B。时钟信号生成器1513被配置为接收公共时钟信号clka,并输出第三时钟信号clk3/第三时钟信号和第四时钟信号clk4。运算电路1500还包括多个反相D触发器1521‑1, 1521‑
2…1521‑n。由于反相器1501以及时钟信号生成器1511、1512和1513被多个反相D触发器
1521‑1, 1521‑2…1521‑n共用,所以反相器1501以及时钟信号生成器1511、1512和1513带来的成本的增加可以忽略不计。
[0082] 在本公开的一些实施例中,运算电路1500还可以包括时钟信号生成器1515、1516和1517以及多个反相D触发器1522‑1, 1522‑2…1522‑m。时钟信号生成器1515可以是图10A中的时钟信号生成器1000A或者图10B中的时钟信号生成器1000B。时钟信号生成器1515被配置为接收反相选择信号sen和公共时钟信号clkb,并输出第五时钟信号clk5。时钟信号生成器1516可以是图11A中的时钟信号生成器1100A或者图11B中的时钟信号生成器1100B。时钟信号生成器1516被配置为接收选择信号se和公共时钟信号clkb,并输出第六时钟信号clk6。时钟信号生成器1517可以是图12A中的时钟信号生成器1200A或者图12B中的时钟信号生成器1200B。时钟信号生成器1516被配置为接收公共时钟信号clkb,并输出第七时钟信号clk7/第七时钟信号clk7和第八时钟信号clk8。clk4、clk5、clk6、clk7/clk7+clk8可以被提供给多个反相D触发器1522‑1, 1522‑2…1522‑m。
[0083] 在实际应用中,多个反相D触发器1521‑1, 1521‑2…1521‑n可以被包括在第一处理芯片上,多个反相D触发器1522‑1, 1522‑2…1522‑m可以被包括在第二处理芯片上。处理芯片可以是诸如CPU和GPU的处理芯片。
[0084] 本公开的一些实施例可以被实现为一种具有多路选择器功能的反相D触发器,包括:第一三态门,所述第一三态门的数据输入端被配置为接收第一数据信号,所述第一三态门的时钟输入端被配置为接收第一时钟信号;第二三态门,所述第二三态门的数据输入端被配置为接收第二数据信号,所述第二三态门的时钟输入端被配置为接收第二时钟信号;反相锁存单元,所述反相锁存单元的数据输入端连接到第一三态门的输出端和第二三态门的输出端,所述反相锁存单元的时钟输入端被配置为接收第三时钟信号;以及反相器,所述反相器的输入端连接到反相锁存单元的输出端,所述反相器的输出端提供反相D触发器的输出,其中,第一时钟信号和第二时钟信号使得第一三态门和第二三态门在不同的时间导通,第三时钟信号使得在第一三态门和第二三态门之一导通时反相锁存单元截止,在第一三态门和第二三态门二者截止时反相锁存单元导通。
[0085] 在本公开的一些实施例中,所述反相锁存单元为以下之一:第三三态门;串联的第二反相器和第一传输门。
[0086] 在本公开的一些实施例中,第一时钟信号、第二时钟信号和第三时钟信号中的每一个都包括具有相反相位的同相信号和反相信号。
[0087] 在本公开的一些实施例中,第一时钟信号的同相信号是通过将公共时钟信号以及选择信号和反相选择信号中的一个进行与运算获得的,第一时钟信号的反相信号是通过将第一时钟信号的同相信号进行非运算获得的,第二时钟信号的同相信号是通过将公共时钟信号以及选择信号和反相选择信号中的另一个进行与运算获得的,第二时钟信号的反相信号是通过将第二时钟信号的同相信号进行非运算获得的,第三时钟信号的同相信号是公共时钟信号,第三时钟信号的反相信号是通过将公共时钟信号进行非运算获得的。
[0088] 在本公开的一些实施例中,反相D触发器还包括反相反馈单元,所述反相反馈单元的数据输入端连接到反相器的输出端,所述反相反馈单元的输出端连接到反相器的输入端,所述反相反馈单元的时钟输入端被配置为接收第三时钟信号,其中,第三时钟信号使得在反相锁存单元之一导通时反相反馈单元截止,在反相锁存单元截止时反相反馈单元导通。
[0089] 在本公开的一些实施例中,所述反相反馈单元为以下之一:第四三态门;串联的第三反相器和第二传输门。
[0090] 在本公开的一些实施例中,第四时钟信号包括具有相反相位的同相信号和反相信号。
[0091] 在本公开的一些实施例中,第四时钟信号的同相信号是公共时钟信号,第四时钟信号的反相信号是通过将公共时钟信号进行非运算获得的。
[0092] 在本公开的一些实施例中,第一数据信号和第二数据信号中的一个为功能数据信号,第一数据信号和第二数据信号中的另一个为扫描数据信号。
[0093] 本公开的一些实施例可以被实现为一种运算电路,包括多个本公开的反相D触发器。
[0094] 在本公开的一些实施例中,运算电路还包括:第四反相器,所述第四反相器的输入被配置为接收选择信号并且输出反相选择信号;第一时钟信号生成器,所述第一时钟信号生成器被配置为接收公共时钟信号以及选择信号和第四反相器输出的反相选择信号中的一个,并且输出第一时钟信号;第二时钟信号生成器,所述第二时钟信号生成器被配置为接收公共时钟信号以及选择信号和第四反相器输出的反相选择信号中的另一个,并且输出第二时钟信号;以及第三时钟信号生成器,所述第三时钟信号生成器被配置为接收公共时钟信号并且输出第三时钟信号。
[0095] 在本公开的一些实施例中,所述第三时钟信号生成器还被配置为输出第四时钟信号。
[0096] 本公开的一些实施例可以被实现为一种计算装置,包括:存储器;以及处理器,所述处理器包括本公开的运算电路。
[0097] 以上结合特定实施例描述了本公开的反相D触发器。然而,应该理解,任何一个实施例的任何特征可以与任何其它实施例的任何其它特征组合和/或替换。
[0098] 本公开的各方面可以在各种电子设备中实现。电子设备的示例可以包括但不限于消费电子产品、消费电子产品的部件、电子测试设备、诸如基站的蜂窝通信基础设施等。电子设备的示例可以包括但不限于诸如智能电话的移动电话、诸如智能手表或耳机的可穿戴计算设备、电话、电视、计算机监视器、计算机、调制解调器、手持式计算机、膝上型计算机、平板计算机、个人数字助理(PDA)、微波炉、冰箱、如汽车电子系统的车载电子系统、立体声系统、DVD播放器、CD播放器、如MP3播放器的数字音乐播放器、收音机、便携式摄像机、如数码相机的相机、便携式存储芯片、洗衣机、烘干机、洗衣机/烘干机、外围设备、时钟等。此外,电子设备可以包括非完整产品。
[0099] 除非上下文另有明确要求,否则在整个说明书和权利要求书中,词语“包括”、“包含”、“含有”、“具有”等应以包含性的含义来解释,而不是排他性的或详尽的意思。也就是说,意思是“包括但不限于”。如本文通常所使用的,“耦接”一词指的是可以直接连接或通过一个或多个中间元件连接的两个或更多个元件。同样地,如本文通常使用的,“连接”一词指的是可以直接连接或通过一个或多个中间元件连接的两个或更多个元件。另外,当在本申请中使用时,词语“此处”,“以上”、“以下”、“下文”、“上文”和类似含义的词语应当指代本申请的整体而不是本申请的任何特定部分。
[0100] 此外,除非另有明确说明或者在所使用的上下文中以其它方式理解,否则本文使用的条件语言,例如“可以”、“可能”、“例如”、“诸如”等等通常旨在表达某些实施例包括,而其它实施例不包括某些特征、元素和/或状态。因此,这种条件语言通常不旨在暗示一个或多个实施例以任何方式需要特征、元素和/或状态,或者是否包括这些特征、元素和/或状态或者在任何特定实施例中执行这些特征、元素和/或状态。
[0101] 虽然已经描述了某些实施例,但是这些实施例仅作为示例呈现,并且不旨在限制本公开的范围。实际上,这里描述的新颖设备、方法和系统可以以各种其它形式体现。此外,在不脱离本公开的精神的情况下,可以对这里描述的方法和系统的形式进行各种省略、替换和改变。例如,虽然以给定布置呈现块,但是替代实施例可以执行具有不同组件和/或电路拓扑的类似功能,并且可以删除、移动、添加、细分、组合和/或修改一些块。这些块中的每一个可以以各种不同的方式实现。可以组合上述各种实施例的元件和动作的任何合适组合以提供进一步的实施例。上述各种特征和过程可以彼此独立地实现,或者可以以各种方式组合。本公开的特征的所有合适的组合和子组合旨在落入本公开的范围内。