US20230155576A1 - Systems and methods for concurrently driving clock pulse and clock pulse complement signals in latches of an application-specific integrated circuit - Google Patents

Systems and methods for concurrently driving clock pulse and clock pulse complement signals in latches of an application-specific integrated circuit Download PDF

Info

Publication number
US20230155576A1
US20230155576A1 US17/528,602 US202117528602A US2023155576A1 US 20230155576 A1 US20230155576 A1 US 20230155576A1 US 202117528602 A US202117528602 A US 202117528602A US 2023155576 A1 US2023155576 A1 US 2023155576A1
Authority
US
United States
Prior art keywords
clock pulse
core
inverter
output
gate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US17/528,602
Other versions
US11671079B1 (en
Inventor
Christos VEZYRTZIS
Peter Holm
Stephen M. Beccue
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bitmain Development Inc
Original Assignee
Bitmain Development Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bitmain Development Inc filed Critical Bitmain Development Inc
Priority to US17/528,602 priority Critical patent/US11671079B1/en
Publication of US20230155576A1 publication Critical patent/US20230155576A1/en
Application granted granted Critical
Publication of US11671079B1 publication Critical patent/US11671079B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/28Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/01Shaping pulses
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/01Shaping pulses
    • H03K5/04Shaping pulses by increasing duration; by decreasing duration
    • H03K5/06Shaping pulses by increasing duration; by decreasing duration by the use of delay lines or other analogue delay elements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/15Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
    • H03K5/151Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with two complementary outputs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse

Definitions

  • the latches in the shift register cannot share the same clock pulse.
  • shift registers use a reverse clock propagation. This guarantees that clock pulses of different stages do not overlap, e.g., in order to avoid hold violations (i.e., data running through multiple stages at once). Reverse clock propagation can be achieved with causal pulse generators, in which a particular clock pulse does not start until a preceding pulse is finished.
  • an application-specific integrated circuit (ASIC) core can include a plurality of core stages, with each core stage having its own pulse generator (PG), e.g., in order to create non-overlapping clock pulses (CP) between the core stages, and clock distribution (CD) circuit, e.g., to distribute the CP to the many latches of each stage.
  • PG pulse generator
  • CD clock distribution
  • CP clock pulse negative/complement
  • each group of latches e.g., 32 latches per group
  • Embodiments of the invention relate to a core stage in an ASIC core which drives both the CP and the CPN signals concurrently. As such, the CP and CPN signals are perfectly aligned, without causing any timing degradation.
  • an ASIC core can include a plurality of core stages.
  • each core stage can include a pulse generator, a clock distribution circuit, and a set of latches.
  • the pulse generator is configured to (i) receive a clock pulse input and a plurality of digital inputs and (ii) generate a clock pulse output based on the received clock pulse input and the digital inputs.
  • the clock distribution circuit is configured to receive the clock pulse output and generate a clock pulse signal and a clock pulse complement signal concurrently based on the received clock pulse output.
  • the set of latches is configured to receive the clock pulse signal and the clock pulse complement signal.
  • each of the pulse generators are connected in cascade and implement reverse and non-overlapping clock pulses.
  • the clock pulse signals and the clock pulse complement signals of adjacent core stages do not overlap.
  • each of the pulse generators comprises: a state element, a logic AND gate, and a first delay element.
  • the first delay element comprises: a plurality of inverters and a multiplexer.
  • the clock distribution circuit comprises: a first inverter, a second inverter, a positive current feedback (PCFB) circuit, and a negative current feedback (NCFB) circuit.
  • PCFB positive current feedback
  • NCFB negative current feedback
  • the first inverter comprises a first p-channel metal-oxide semiconductor (PMOS) transistor and a first n-channel metal-oxide semiconductor (NMOS) transistor; and wherein the second inverter comprises a second PMOS transistor and a second NMOS transistor.
  • PMOS metal-oxide semiconductor
  • NMOS metal-oxide semiconductor
  • the PCFB circuit comprises a transmission gate, a first logic NAND gate, and a first logic NOR gate; and wherein the NCFB circuit comprises a tri-state inverter, a second logic NAND gate, and a second logic NOR gate.
  • each of the set of latches comprises at least one transmission gate and a corresponding inverter.
  • the at least one transmission gate comprises a PMOS transistor and a NMOS transistor.
  • the clock pulse signal connects to a clock pulse port in the set of latches and the clock pulse negative signal connects to a clock pulse negative port in the set of latches.
  • the plurality of digital inputs are configured to set a pulse width of the clock pulse output.
  • FIG. 1 depicts an application-specific integrated circuit core.
  • FIG. 2 depicts a local inverter within a latch group.
  • FIG. 3 A depicts an exemplary application-specific integrated circuit core according to an embodiment of the invention.
  • FIG. 3 B depicts an exemplary pulse generator circuit according to an embodiment of the invention.
  • FIG. 3 C depicts an exemplary clock distribution circuit according to an embodiment of the invention.
  • FIG. 4 A depicts an exemplary positive current feedback circuit according to an embodiment of the invention.
  • FIG. 4 B depicts an exemplary negative current feedback circuit according to an embodiment of the invention.
  • FIG. 5 depicts an exemplary latch group according to an embodiment of the invention.
  • FIG. 3 A depicts an exemplary application-specific integrated circuit core according to an embodiment of the invention.
  • an application-specific integrated circuit core 100 can include a plurality of core stages, e.g., a first core stage 10 , a second core stage 20 , etc.
  • the first core stage 10 can include a first pulse generator 11 (e.g., PG 1 ), a first clock distribution circuit 12 (e.g., CD 1 ), and a first set of latches 13 , where the first set of latches can include one or more latches.
  • the second core stage 20 can include a second pulse generator 21 (e.g., PG 2 ), a second clock distribution circuit 22 (e.g., CD 2 ), and a second set of latches 23 , where the second set of latches can include one or more latches.
  • a second pulse generator 21 e.g., PG 2
  • a second clock distribution circuit 22 e.g., CD 2
  • a second set of latches 23 can include one or more latches.
  • the first clock distribution circuit 12 and the second clock distribution circuit 22 are part of a clock distribution circuit network.
  • the clock distribution circuit network can be a large digital buffer with a differential, dual-rail output.
  • each pulse generator is configured to (i) receive, as inputs, a clock pulse input (CPin) and a plurality of digital “pulse width setting” inputs D[i] and (ii) generate a clock pulse output (CPout) based on the inputs.
  • the inputs D[i ⁇ are configured to set the pulse width of the CPout.
  • each of the pulse generators are connected in cascade in order to implement the reverse and non-overlapping clock pulses.
  • FIG. 3 B depicts an exemplary pulse generator circuit according to an embodiment of the invention.
  • each pulse generator 11 / 21 can include a state element 121 , a logic AND gate 122 , and a delay element 123 .
  • the state element 121 is a negative-edge triggered flip flop.
  • the delay element 123 can include a plurality of inverters 123 a and a multiplexer 123 b .
  • the delay of the delay element 123 can be controlled by the inputs D[i].
  • the delay element 123 is comprised of a chain of inverters. Further, one of the inverters receives, as an input, the output of the state element 121 .
  • the chain of inverters is tapped off at various points in order to provide inputs to the multiplexer 123 b , e.g., at the first inverter output, at the third inverter output, at the fifth inverter output, etc.
  • the multiplexer 123 b also receives the inputs D[i], which are used to program the pulse output. In this regard, the multiplexer 123 b selects one of the inputs D[i] in order to propagate a particular inverter output to the multiplexer 123 b output.
  • the multiplexer 123 b will select its first input (which is the delayed version of the state element 121 output by one inverter); if the inputs D[i] are set to 001, then the multiplexer 123 will select its second input (which is the delayed version of the state element 123 output by three inverters), etc.
  • the pulse generator 11 / 21 can operate as follows.
  • the state element 121 , CPin, and CPout are all at “0.” Further, a first input of the logic AND gate 122 is at “0” and a second input of the logic AND gate 122 is at “1” (since the state element 121 has a “0” output and the multiplexer 123 b output is at “1”). In this regard, each of the inverter outputs of the delay element 123 are also at “1” (since the state element 121 output is “0.”
  • CPin arrives as a small pulse.
  • CPin completes its pulse, i.e., when it is transitioning from ‘1’ to ‘0’, it triggers the state element 121 , which has a “1” hardwired at its data port, to update its state.
  • the state element now updates its state to a “1”, and its output becomes “1.”
  • the logic AND gate 122 now has two “1”s at its inputs, since its top input was updated to a “1”.
  • the bottom input can be a delayed version of the top input's complement, so it remains at ‘1’ temporarily since it hasn't had enough time to change. Further, because the logic AND gate 122 has both its inputs at “1”, it changes its output to a “1” and, therefore, CPout becomes “1.”
  • the top input of the logic AND gate 122 starts going through the chain of inverters in the delay element 123 .
  • each of the outputs of the chain of inverters become “0” after some delay.
  • the multiplexer 123 b then receives the inverter output signals and the input D[i] signals. Based on the received D[i] signal, the multiplexer 123 b selects one of the inverter output signals and propagates it to the multiplexer 123 b output.
  • the multiplexer 123 b output will transition to a “0”, depending on which of its inputs is selected by the input D[i] signals.
  • the multiplexer 123 b will present the logic AND gate 122 with a “0” at its bottom input, forcing the logic AND gate 122 output to “0”, forcing CPout to go back to “0”.
  • the larger the value of the input D[i] signal (e.g., 001 instead of 000), the longer it takes for CPout to go back to “0”.
  • the larger values of the input D[i] signals correspond to a more-delayed version of the state element 121 output, it will take a longer time for the appropriate multiplexer 123 b input to go to “0” and, therefore, it will also take more time for the multiplexer 123 b output to go to “0” (which causes CPout to go to “0”.)
  • each CPout is connected to a corresponding clock distribution circuit of the clock distribution circuit network, e.g., the large digital buffer with a differential, dual-rail output.
  • each clock distribution circuit generates two concurrent output signals, i.e., a clock pulse (CP) signal and a clock pulse negative/complement (CPN) signal.
  • CP clock pulse
  • CPN clock pulse negative/complement
  • FIG. 3 C depicts an exemplary clock distribution circuit according to an embodiment of the invention.
  • the clock distribution circuit 12 / 22 can include a master timing block 221 (T), a CP inverter 222 , a CPN inverter 223 , a PCFB circuit 224 , and a NCFB circuit 225 .
  • the PCFB circuit 224 is configured to create signals, e.g., CP-PU and CP-PD, in order to drive the CP inverter 222 .
  • the master timing block 221 , the PCFB circuit 224 , and the NCFB circuit 225 are configured to have equal delays.
  • the CP inverter 222 is comprised of one PMOS transistor 222 a and one NMOS transistor 222 b .
  • the PMOS transistor 222 a has its source at VDD, its drain at the CP signal, and its gate is controlled by the master timing block 221 through the signal CP-PU.
  • the CP-PU signal (i) drives the PMOS transistor 222 a to pull CP up and (ii) stops the CP pull-up after CP drive-high is done.
  • the NMOS transistor 222 b has its source at VSS, its drain at the CP signal, and its gate is controlled by the PCFB circuit 224 through the signal CP-PD.
  • the CP-PD signal (i) drives the NMOS transistor 222 b to pull CP low and (ii) stops the CP pull-down after the CP drive-low is done.
  • the CPN inverter 223 is comprised of one PMOS transistor 223 a and one NMOS transistor 223 b .
  • the NMOS transistor 223 b has its source at VSS, its drain at the CPN signal, and its gate is controlled by the master timing block 221 through the signals CPN-PD.
  • the CPN-PD signal (i) drives the NMOS transistor 223 b to pull CPN down and (ii) stops the CPN pull-down after the CPN drive-low is done.
  • the PMOS transistor 223 a has its source at VDD, its drain at the CPN signal, and its gate is controlled by the NCFB circuit 225 through the signal CPN-PU.
  • the CPN-PU signal (i) drives the PMOS transistor 223 a to pull CPN up and (ii) stops the CPN pull-up after the CPN drive-high is done.
  • the PCFB circuit 224 receives two inputs, the CPout signal and the CP signal, and produces the signal CP-PD which in turn controls the NMOS transistor 222 b of the CP inverter 222 .
  • the NCFB circuit 225 receives two inputs, the CPout signal and the CPN signal, and produces the signal CPN-PU which in turn controls the PMOS 223 a transistor of the CPN inverter 223 .
  • the PMOS and NMOS transistors are matched in their construction.
  • FIG. 4 A depicts an exemplary PCFB circuit according to an embodiment of the invention.
  • the PCFB circuit 224 can include a transmission gate 2241 , inverters 2242 , 2243 , 2245 , 2246 , 2248 , and 2249 , a logic NAND gate 2244 , and a logic NOR gate 2247 .
  • the transmission gate 2241 receives CPout as an input and provides its output to the logic NAND gate 2244 and the logic NOR gate 2247 .
  • the logic NAND gate 2244 and the logic NOR gate 2247 each receive an inverted version of the signal CP, e.g., via the inverters 2242 and 2243 , respectively.
  • the output of the logic NAND gate 2244 feeds into inverters 2245 and 2246 , the output of which is the signal CP-PU. Further, the output of the logic NOR gate 2247 feeds into inverters 2248 and 2249 , the output of which is the signal CP-PD.
  • FIG. 4 B depicts an exemplary NCFB circuit according to an embodiment of the invention.
  • the NCFB circuit 225 can include a tri-state inverter 2251 , inverters 2252 , 2253 , 2255 , 2256 , 2258 , and 2259 , a logic NOR gate 2254 , and a logic NAND gate 2257 .
  • the transmission gate tri-state inverter 2251 receives CPout as an input and provides its output to the logic NOR gate 2254 and the logic NAND gate 2257 .
  • the tri-state inverter 2251 has the same delay as the transmission gate 2241 .
  • the logic NOR gate 2254 has the same delay as the logic NAND gate 2244 .
  • the logic NOR gate 2254 and the logic NAND gate 2257 each receive an inverted version of the signal CPN, e.g., via the inverters 2252 and 2253 , respectively. Further, the output of the logic NOR gate 2254 feeds into inverters 2255 and 2256 , the output of which is the signal CPN-PD. Further, the output of the logic NAND gate 2257 feeds into inverters 2258 and 2259 , the output of which is the signal CPN-PU.
  • the operation of the PCFB circuit 224 and the NCFB circuit 225 is as follows. At an initial state, CPout is at “0”, CP is at “0”, CP-PU is at “VDD”, CP-PD is at “0”, CPN is at “VDD”, CPN-PU is at “VDD”, and CPN-PD is at “0”.
  • CPout In order to drive CP high, CPout first transitions from “0” to “VDD”. CPout is then provided to the transmission gate 2241 . The output of the transmission gate 2241 is then provided to an input of the logic NAND gate 2244 (other NAND input is at VDD since CP is at “0”, so its complement is at VDD), the output of which transitions from VDD to 0. The output of the logic NAND gate 2244 is then provided to the inverter 2245 (the output of which transitions form “0” to “VDD”). The output of the inverter 2245 is then provided to the inverter 2246 (the output of which is the CP-PU signal, which transitions from “VDD” to “0”).
  • the transistor 222 a then starts charging CP from “0” to “VDD”.
  • the output of the inverter 2242 transitions from “VDD” to “0”.
  • the output of the logic NAND gate 2244 transitions from “0” to “VDD”.
  • the resulting CP-PU signal transitions from “0” to “VDD”, thereby releasing the transistor 222 a and completing the CP high phase.
  • CPout In order to drive CP low, CPout first transitions from “VDD” to “0”. CPout is then provided to the transmission gate 2241 . The output of the transmission gate 2241 is then provided to the logic NOR gate 2247 (other NOR input is at “0” since CP is at “VDD”, so its complement is at “0”), the output of which transitions from “0” to “VDD”. The output of the logic NOR gate 2247 is then provided to the inverter 2248 (the output of which transitions form “VDD” to “0”). The output of the inverter 2248 is then provided to the inverter 2249 (the output of which is the CP-PD signal, which transitions from “0” to “VDD”).
  • the transistor 222 b then starts discharging CP from “VDD” to “0”.
  • the output of the inverter 2243 transitions from “0” to “VDD”.
  • the output of the logic NOR gate 2247 transitions from “VDD” to “0”.
  • the resulting CP-PD signal transitions from “VDD” to “0”, thereby releasing the transistor 222 b and completing the CP low phase.
  • CPout In order to drive CPN low, CPout first transitions from “0” to “VDD”. CPout is then provided to the tri-state inverter 2251 , the output of which transitions from “VDD” to “0”. The output of the tri-state inverter 2251 is then provided to the logic NOR gate 2254 (other NOR input is at “0” since CPN is at “VDD”, so its complement is at “0”), the output of which transitions from “0” to “VDD”. The output of the logic NOR gate 2254 is then provided to the inverter 2255 (the output of which transitions form “VDD” to “0”).
  • the output of the inverter 2255 is then provided to the inverter 2256 (the output of which is the CPN-PD signal, which transitions from “0” to “VDD”).
  • the transistor 223 b then starts discharging CP from “VDD” to “0”.
  • the output of the inverter 2252 transitions from “0” to “VDD”.
  • the output of the logic NOR gate 2254 transitions from “VDD” to “0”.
  • the resulting CPN-PD signal transitions from “VDD” to “0”, thereby releasing the transistor 223 b and completing the CPN low phase.
  • CPout In order to drive CPN high, CPout first transitions from “VDD” to “0”. CPout is then provided to the tri-state inverter 2251 , the output of which transitions from “0” to “VDD”. The output of the tri-state inverter 2251 is then provided to an input of the logic NAND gate 2257 (other NAND input is at “VDD” since CP is at “0”, so its complement is at “VDD”), the output of which transitions from VDD to 0. The output of the logic NAND gate 2257 is then provided to the inverter 2258 (the output of which transitions form “0” to “VDD”).
  • the output of the inverter 2258 is then provided to the inverter 2259 (the output of which is the CPN-PU signal, which transitions from “VDD” to “0”).
  • the transistor 223 a then starts charging CPN from “0” to “VDD”.
  • the output of the inverter 2253 transitions from “VDD” to “0”.
  • the output of the logic NAND gate 2257 transitions from “0” to “VDD”.
  • the resulting CPN-PU signal transitions from “0” to “VDD”, thereby releasing the transistor 223 a and completing the CPN high phase.
  • the operation of the clock distribution circuit 12 / 22 is as follows. At an initial state, CPout is at “0”, CP is at “0”, CPN is at “1”, CP-PU is at “1”, CP-PD is at “1”, CPN-PD is at “0”, and CPN-PU is at “0”. Then, after CPout transitions from “0” to “1”, the PCFB circuit 224 and the NCFB circuit 225 simultaneously (by configuration since they are matched in the propagation delay) perform the following: (1) the PCFB circuit 224 transitions CP-PD from “1” to “0” and (2) the NCFB circuit 225 transitions CPN-PU from “0” to “1”.
  • the master timing block 221 simultaneously (1) transitions CP-PU from “1” to “0” and (2) transitions CPN-PD from “0” to “1”. Then, as CP and CPN will start to change—CP transitions from “0” to “1” (being pulled up by the PMOS transistor 222 a ) and CPN transitions from “1” to “0” (being pulled low by the NMOS transistor 223 b ). According to an embodiment, CP and CPN finish their transitions around roughly the same time. After which, CPout transitions back to “0”, which causes the PCFB circuit 224 and the NCFB circuit 225 to reset their respective outputs. In this regard, the PCFB circuit 224 makes its CP-PD output high, which brings CP back to “0”, and the NCFB circuit 225 makes its CPN-PU output high, which brings CPN back to “1”.
  • the transistors that did the pull up and pull down are matched in their configuration, and the timing blocks T, PCFB, and NCFB are configured to have equal delays (as mentioned in the steps above), it's guaranteed that the transition times of CP/CPN are the same. Therefore, and since also CP and CPN were created from the same input pulse CPout, they have the same width (duration of ‘1’ for CP, duration of ‘0’ for CPN). Since they have the same transition times and widths, they are fully complementary, i.e. perfectly aligned in time, but just have opposite values.
  • FIG. 5 illustrates an exemplary group/set of latches according to an embodiment of the invention.
  • the set of latches 13 / 23 receive the CP and CPN signals provided by the clock distribution circuit CD 1 /CD 2 .
  • the set of latches 13 / 23 can include at least one transmission gate 30 and a corresponding inverter 31 .
  • each transmission gate 30 comprises of: (a) one PMOS transistor and (b) one NMOS transistor.
  • the inverter 31 can be connected between an internal latch node and the output QN.
  • the CP signal can connect to the gate of the NMOS transistor and the CPN signal can connect to the gate of the PMOS transistor.
  • the sets of latches 13 / 23 do not need to include a CPN inverter.
  • the sets of latches e.g., first set of latches 13 , second set of latches 23 , etc.
  • the CP signal and CPN signal of one stage arrive after the CP signal and CPN signal of the subsequent stage, e.g., the second core stage 20 .
  • the CP and CPN signals of adjacent stages do not overlap.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)

Abstract

Embodiments of the present invention provide for a core stage in an application-specific integrated circuit core which drives both a clock pulse signal and a clock pulse negative/complement signal concurrently, thereby resulting in perfectly aligned signals. The core stage can include a pulse generator, a clock distribution circuit, and a set of latches.

Description

    BACKGROUND
  • A shift register can be implemented as a chain of latches, where Q1=D2, Q2=D3, etc., and where data moves one latch at a time per clock cycle. In this regard, the latches in the shift register cannot share the same clock pulse. Instead, shift registers use a reverse clock propagation. This guarantees that clock pulses of different stages do not overlap, e.g., in order to avoid hold violations (i.e., data running through multiple stages at once). Reverse clock propagation can be achieved with causal pulse generators, in which a particular clock pulse does not start until a preceding pulse is finished.
  • As depicted in FIG. 1 , an application-specific integrated circuit (ASIC) core can include a plurality of core stages, with each core stage having its own pulse generator (PG), e.g., in order to create non-overlapping clock pulses (CP) between the core stages, and clock distribution (CD) circuit, e.g., to distribute the CP to the many latches of each stage. In general, only CP is distributed to the latches. However, latches need both CP and clock pulse negative/complement (CPN) signals. As such, each group of latches (e.g., 32 latches per group) can use a local inverter to generate CPN, as depicted in FIG. 2 .
  • However, using a local inverter in each latch group to generate CPN has a number of drawbacks. For example, with regard to timing, CP/CPN are not aligned and, therefore, a wider CP pulse is needed for the latch to work correctly. Further, due to on-chip variation, different groups of inverters are faster/slower and, therefore, a wider CP pulse is needed for all the latch groups to work correctly. Further, the CP/CPN of consecutive stages are not aligned and, therefore, more pulse spacing is needed to protect for hold violations. As a result of the above, the ASIC core frequency degrades.
  • Accordingly, it would be desirable to have systems and methods that reduce the time wasted as a result of the local inverter within each latch group.
  • BRIEF SUMMARY OF THE INVENTION
  • Embodiments of the invention relate to a core stage in an ASIC core which drives both the CP and the CPN signals concurrently. As such, the CP and CPN signals are perfectly aligned, without causing any timing degradation.
  • According to an embodiment, an ASIC core can include a plurality of core stages. In this regard, each core stage can include a pulse generator, a clock distribution circuit, and a set of latches. The pulse generator is configured to (i) receive a clock pulse input and a plurality of digital inputs and (ii) generate a clock pulse output based on the received clock pulse input and the digital inputs. The clock distribution circuit is configured to receive the clock pulse output and generate a clock pulse signal and a clock pulse complement signal concurrently based on the received clock pulse output. The set of latches is configured to receive the clock pulse signal and the clock pulse complement signal.
  • According to an embodiment, each of the pulse generators are connected in cascade and implement reverse and non-overlapping clock pulses.
  • According to an embodiment, the clock pulse signals and the clock pulse complement signals of adjacent core stages do not overlap.
  • According to an embodiment, each of the pulse generators comprises: a state element, a logic AND gate, and a first delay element.
  • According to an embodiment, the first delay element comprises: a plurality of inverters and a multiplexer.
  • According to an embodiment, the clock distribution circuit comprises: a first inverter, a second inverter, a positive current feedback (PCFB) circuit, and a negative current feedback (NCFB) circuit.
  • According to an embodiment, the first inverter comprises a first p-channel metal-oxide semiconductor (PMOS) transistor and a first n-channel metal-oxide semiconductor (NMOS) transistor; and wherein the second inverter comprises a second PMOS transistor and a second NMOS transistor.
  • According to an embodiment, the PCFB circuit comprises a transmission gate, a first logic NAND gate, and a first logic NOR gate; and wherein the NCFB circuit comprises a tri-state inverter, a second logic NAND gate, and a second logic NOR gate.
  • According to an embodiment, each of the set of latches comprises at least one transmission gate and a corresponding inverter.
  • According to an embodiment, the at least one transmission gate comprises a PMOS transistor and a NMOS transistor.
  • According to an embodiment, the clock pulse signal connects to a clock pulse port in the set of latches and the clock pulse negative signal connects to a clock pulse negative port in the set of latches.
  • According to an embodiment, the plurality of digital inputs are configured to set a pulse width of the clock pulse output.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Some aspects of the disclosure are herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and are for purposes of illustrative discussion of embodiments of the disclosure. In this regard, the description, taken with the drawings, makes apparent to those skilled in the art how aspects of the disclosure may be practiced.
  • FIG. 1 depicts an application-specific integrated circuit core.
  • FIG. 2 depicts a local inverter within a latch group.
  • FIG. 3A depicts an exemplary application-specific integrated circuit core according to an embodiment of the invention.
  • FIG. 3B depicts an exemplary pulse generator circuit according to an embodiment of the invention.
  • FIG. 3C depicts an exemplary clock distribution circuit according to an embodiment of the invention.
  • FIG. 4A depicts an exemplary positive current feedback circuit according to an embodiment of the invention.
  • FIG. 4B depicts an exemplary negative current feedback circuit according to an embodiment of the invention.
  • FIG. 5 depicts an exemplary latch group according to an embodiment of the invention.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • This description is not intended to be a detailed catalog of all the different ways in which the disclosure may be implemented, or all the features that may be added to the instant disclosure. For example, features illustrated with respect to one embodiment may be incorporated into other embodiments, and features illustrated with respect to a particular embodiment may be deleted from that embodiment. Thus, the disclosure contemplates that in some embodiments of the disclosure, any feature or combination of features set forth herein can be excluded or omitted. In addition, numerous variations and additions to the various embodiments suggested herein will be apparent to those skilled in the art in light of the instant disclosure, which do not depart from the instant disclosure. In other instances, well-known structures, interfaces, and processes have not been shown in detail in order not to unnecessarily obscure the invention. It is intended that no part of this specification be construed to affect a disavowal of any part of the full scope of the invention. Hence, the following descriptions are intended to illustrate some particular embodiments of the disclosure, and not to exhaustively specify all permutations, combinations and variations thereof.
  • Unless explicitly stated otherwise, the definition of any term herein is solely for identification and the reader's convenience; no such definition shall be taken to mean that any term is being given any meaning other than that commonly understood by one of ordinary skill in the art to which this disclosure belongs, unless the definition herein cannot reasonably be reconciled with that meaning. Further, in the absence of such explicit definition, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. The terminology used in the description of the disclosure herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure.
  • FIG. 3A depicts an exemplary application-specific integrated circuit core according to an embodiment of the invention. As depicted in the figure, an application-specific integrated circuit core 100 can include a plurality of core stages, e.g., a first core stage 10, a second core stage 20, etc. According to an embodiment, the first core stage 10 can include a first pulse generator 11 (e.g., PG1), a first clock distribution circuit 12 (e.g., CD1), and a first set of latches 13, where the first set of latches can include one or more latches. Further, the second core stage 20 can include a second pulse generator 21 (e.g., PG2), a second clock distribution circuit 22 (e.g., CD2), and a second set of latches 23, where the second set of latches can include one or more latches.
  • According to an embodiment, the first clock distribution circuit 12 and the second clock distribution circuit 22 are part of a clock distribution circuit network. The clock distribution circuit network can be a large digital buffer with a differential, dual-rail output.
  • According to an embodiment, as depicted in the figure, each pulse generator is configured to (i) receive, as inputs, a clock pulse input (CPin) and a plurality of digital “pulse width setting” inputs D[i] and (ii) generate a clock pulse output (CPout) based on the inputs. In this regard, the inputs D[i} are configured to set the pulse width of the CPout. Further, each of the pulse generators are connected in cascade in order to implement the reverse and non-overlapping clock pulses.
  • FIG. 3B depicts an exemplary pulse generator circuit according to an embodiment of the invention. According to an embodiment, each pulse generator 11/21 can include a state element 121, a logic AND gate 122, and a delay element 123. According to an embodiment, the state element 121 is a negative-edge triggered flip flop. Further, the delay element 123 can include a plurality of inverters 123 a and a multiplexer 123 b. According to an embodiment, the delay of the delay element 123 can be controlled by the inputs D[i]. As depicted in the figure, the delay element 123 is comprised of a chain of inverters. Further, one of the inverters receives, as an input, the output of the state element 121. Further, the chain of inverters is tapped off at various points in order to provide inputs to the multiplexer 123 b, e.g., at the first inverter output, at the third inverter output, at the fifth inverter output, etc. Further, the multiplexer 123 b also receives the inputs D[i], which are used to program the pulse output. In this regard, the multiplexer 123 b selects one of the inputs D[i] in order to propagate a particular inverter output to the multiplexer 123 b output. For example, if the inputs D[i] are comprised of 3 control bits and they are set to 000, the multiplexer 123 b will select its first input (which is the delayed version of the state element 121 output by one inverter); if the inputs D[i] are set to 001, then the multiplexer 123 will select its second input (which is the delayed version of the state element 123 output by three inverters), etc.
  • The pulse generator 11/21 can operate as follows.
  • At an initial state, the state element 121, CPin, and CPout are all at “0.” Further, a first input of the logic AND gate 122 is at “0” and a second input of the logic AND gate 122 is at “1” (since the state element 121 has a “0” output and the multiplexer 123 b output is at “1”). In this regard, each of the inverter outputs of the delay element 123 are also at “1” (since the state element 121 output is “0.”
  • Then, at some point in time, CPin arrives as a small pulse. After CPin completes its pulse, i.e., when it is transitioning from ‘1’ to ‘0’, it triggers the state element 121, which has a “1” hardwired at its data port, to update its state. The state element now updates its state to a “1”, and its output becomes “1.” Accordingly, the logic AND gate 122 now has two “1”s at its inputs, since its top input was updated to a “1”. According to an embodiment, the bottom input can be a delayed version of the top input's complement, so it remains at ‘1’ temporarily since it hasn't had enough time to change. Further, because the logic AND gate 122 has both its inputs at “1”, it changes its output to a “1” and, therefore, CPout becomes “1.”
  • Then, the top input of the logic AND gate 122 starts going through the chain of inverters in the delay element 123. In this regard, each of the outputs of the chain of inverters become “0” after some delay.
  • The multiplexer 123 b then receives the inverter output signals and the input D[i] signals. Based on the received D[i] signal, the multiplexer 123 b selects one of the inverter output signals and propagates it to the multiplexer 123 b output.
  • Eventually, the multiplexer 123 b output will transition to a “0”, depending on which of its inputs is selected by the input D[i] signals. The multiplexer 123 b will present the logic AND gate 122 with a “0” at its bottom input, forcing the logic AND gate 122 output to “0”, forcing CPout to go back to “0”.
  • Further, according to an embodiment, the larger the value of the input D[i] signal (e.g., 001 instead of 000), the longer it takes for CPout to go back to “0”. In this regard, because the larger values of the input D[i] signals correspond to a more-delayed version of the state element 121 output, it will take a longer time for the appropriate multiplexer 123 b input to go to “0” and, therefore, it will also take more time for the multiplexer 123 b output to go to “0” (which causes CPout to go to “0”.)
  • According to an embodiment, each CPout is connected to a corresponding clock distribution circuit of the clock distribution circuit network, e.g., the large digital buffer with a differential, dual-rail output. In this regard, each clock distribution circuit generates two concurrent output signals, i.e., a clock pulse (CP) signal and a clock pulse negative/complement (CPN) signal. Further, because the digital buffer has very little open-circuit voltage, there is no margin needed in timing.
  • FIG. 3C depicts an exemplary clock distribution circuit according to an embodiment of the invention. As depicted in the figure, the clock distribution circuit 12/22 can include a master timing block 221 (T), a CP inverter 222, a CPN inverter 223, a PCFB circuit 224, and a NCFB circuit 225.
  • According to an embodiment, the PCFB circuit 224 is configured to create signals, e.g., CP-PU and CP-PD, in order to drive the CP inverter 222.
  • According to an embodiment, the master timing block 221, the PCFB circuit 224, and the NCFB circuit 225 are configured to have equal delays.
  • According to an embodiment, the CP inverter 222 is comprised of one PMOS transistor 222 a and one NMOS transistor 222 b. The PMOS transistor 222 a has its source at VDD, its drain at the CP signal, and its gate is controlled by the master timing block 221 through the signal CP-PU. In this regard, the CP-PU signal (i) drives the PMOS transistor 222 a to pull CP up and (ii) stops the CP pull-up after CP drive-high is done. The NMOS transistor 222 b has its source at VSS, its drain at the CP signal, and its gate is controlled by the PCFB circuit 224 through the signal CP-PD. In this regard, the CP-PD signal (i) drives the NMOS transistor 222 b to pull CP low and (ii) stops the CP pull-down after the CP drive-low is done.
  • According to an embodiment, the CPN inverter 223 is comprised of one PMOS transistor 223 a and one NMOS transistor 223 b. The NMOS transistor 223 b has its source at VSS, its drain at the CPN signal, and its gate is controlled by the master timing block 221 through the signals CPN-PD. In this regard, the CPN-PD signal (i) drives the NMOS transistor 223 b to pull CPN down and (ii) stops the CPN pull-down after the CPN drive-low is done. The PMOS transistor 223 a has its source at VDD, its drain at the CPN signal, and its gate is controlled by the NCFB circuit 225 through the signal CPN-PU. In this regard, the CPN-PU signal (i) drives the PMOS transistor 223 a to pull CPN up and (ii) stops the CPN pull-up after the CPN drive-high is done.
  • According to an embodiment, the PCFB circuit 224 receives two inputs, the CPout signal and the CP signal, and produces the signal CP-PD which in turn controls the NMOS transistor 222 b of the CP inverter 222.
  • According to an embodiment, the NCFB circuit 225 receives two inputs, the CPout signal and the CPN signal, and produces the signal CPN-PU which in turn controls the PMOS 223 a transistor of the CPN inverter 223.
  • According to an embodiment, the PMOS and NMOS transistors are matched in their construction.
  • FIG. 4A depicts an exemplary PCFB circuit according to an embodiment of the invention. As depicted in the figure, the PCFB circuit 224 can include a transmission gate 2241, inverters 2242, 2243, 2245, 2246, 2248, and 2249, a logic NAND gate 2244, and a logic NOR gate 2247. In this regard, the transmission gate 2241 receives CPout as an input and provides its output to the logic NAND gate 2244 and the logic NOR gate 2247. Further, the logic NAND gate 2244 and the logic NOR gate 2247 each receive an inverted version of the signal CP, e.g., via the inverters 2242 and 2243, respectively. Further, the output of the logic NAND gate 2244 feeds into inverters 2245 and 2246, the output of which is the signal CP-PU. Further, the output of the logic NOR gate 2247 feeds into inverters 2248 and 2249, the output of which is the signal CP-PD.
  • FIG. 4B depicts an exemplary NCFB circuit according to an embodiment of the invention. As depicted in the figure, the NCFB circuit 225 can include a tri-state inverter 2251, inverters 2252, 2253, 2255, 2256, 2258, and 2259, a logic NOR gate 2254, and a logic NAND gate 2257. In this regard, the transmission gate tri-state inverter 2251 receives CPout as an input and provides its output to the logic NOR gate 2254 and the logic NAND gate 2257. According to an embodiment, the tri-state inverter 2251 has the same delay as the transmission gate 2241. Further, the logic NOR gate 2254 has the same delay as the logic NAND gate 2244. According to an embodiment, the logic NOR gate 2254 and the logic NAND gate 2257 each receive an inverted version of the signal CPN, e.g., via the inverters 2252 and 2253, respectively. Further, the output of the logic NOR gate 2254 feeds into inverters 2255 and 2256, the output of which is the signal CPN-PD. Further, the output of the logic NAND gate 2257 feeds into inverters 2258 and 2259, the output of which is the signal CPN-PU.
  • According to an embodiment, the operation of the PCFB circuit 224 and the NCFB circuit 225 is as follows. At an initial state, CPout is at “0”, CP is at “0”, CP-PU is at “VDD”, CP-PD is at “0”, CPN is at “VDD”, CPN-PU is at “VDD”, and CPN-PD is at “0”.
  • In order to drive CP high, CPout first transitions from “0” to “VDD”. CPout is then provided to the transmission gate 2241. The output of the transmission gate 2241 is then provided to an input of the logic NAND gate 2244 (other NAND input is at VDD since CP is at “0”, so its complement is at VDD), the output of which transitions from VDD to 0. The output of the logic NAND gate 2244 is then provided to the inverter 2245 (the output of which transitions form “0” to “VDD”). The output of the inverter 2245 is then provided to the inverter 2246 (the output of which is the CP-PU signal, which transitions from “VDD” to “0”). The transistor 222 a then starts charging CP from “0” to “VDD”. In this regard, when the charging is complete, the output of the inverter 2242 transitions from “VDD” to “0”. Accordingly, because the bottom input of the logic NAND gate 2244 is now at “0”, the output of the logic NAND gate 2244 transitions from “0” to “VDD”. Then, after the output signal traverses inverters 2245 and 2246, the resulting CP-PU signal transitions from “0” to “VDD”, thereby releasing the transistor 222 a and completing the CP high phase.
  • In order to drive CP low, CPout first transitions from “VDD” to “0”. CPout is then provided to the transmission gate 2241. The output of the transmission gate 2241 is then provided to the logic NOR gate 2247 (other NOR input is at “0” since CP is at “VDD”, so its complement is at “0”), the output of which transitions from “0” to “VDD”. The output of the logic NOR gate 2247 is then provided to the inverter 2248 (the output of which transitions form “VDD” to “0”). The output of the inverter 2248 is then provided to the inverter 2249 (the output of which is the CP-PD signal, which transitions from “0” to “VDD”). The transistor 222 b then starts discharging CP from “VDD” to “0”. In this regard, when the discharging is complete, the output of the inverter 2243 transitions from “0” to “VDD”. Accordingly, because the top input of the logic NOR gate 2247 is now at “VDD”, the output of the logic NOR gate 2247 transitions from “VDD” to “0”. Then, after the output signal traverses inverters 2248 and 2249, the resulting CP-PD signal transitions from “VDD” to “0”, thereby releasing the transistor 222 b and completing the CP low phase.
  • In order to drive CPN low, CPout first transitions from “0” to “VDD”. CPout is then provided to the tri-state inverter 2251, the output of which transitions from “VDD” to “0”. The output of the tri-state inverter 2251 is then provided to the logic NOR gate 2254 (other NOR input is at “0” since CPN is at “VDD”, so its complement is at “0”), the output of which transitions from “0” to “VDD”. The output of the logic NOR gate 2254 is then provided to the inverter 2255 (the output of which transitions form “VDD” to “0”). The output of the inverter 2255 is then provided to the inverter 2256 (the output of which is the CPN-PD signal, which transitions from “0” to “VDD”). The transistor 223 b then starts discharging CP from “VDD” to “0”. In this regard, when the discharging is complete, the output of the inverter 2252 transitions from “0” to “VDD”. Accordingly, because the bottom input of the logic NOR gate 2254 is now at “VDD”, the output of the logic NOR gate 2254 transitions from “VDD” to “0”. Then, after the output signal traverses inverters 2255 and 2256, the resulting CPN-PD signal transitions from “VDD” to “0”, thereby releasing the transistor 223 b and completing the CPN low phase.
  • In order to drive CPN high, CPout first transitions from “VDD” to “0”. CPout is then provided to the tri-state inverter 2251, the output of which transitions from “0” to “VDD”. The output of the tri-state inverter 2251 is then provided to an input of the logic NAND gate 2257 (other NAND input is at “VDD” since CP is at “0”, so its complement is at “VDD”), the output of which transitions from VDD to 0. The output of the logic NAND gate 2257 is then provided to the inverter 2258 (the output of which transitions form “0” to “VDD”). The output of the inverter 2258 is then provided to the inverter 2259 (the output of which is the CPN-PU signal, which transitions from “VDD” to “0”). The transistor 223 a then starts charging CPN from “0” to “VDD”. In this regard, when the charging is complete, the output of the inverter 2253 transitions from “VDD” to “0”. Accordingly, because the top input of the logic NAND gate 2257 is now at “0”, the output of the logic NAND gate 2257 transitions from “0” to “VDD”. Then, after the output signal traverses inverters 2258 and 2259, the resulting CPN-PU signal transitions from “0” to “VDD”, thereby releasing the transistor 223 a and completing the CPN high phase.
  • Further, according to an embodiment, the operation of the clock distribution circuit 12/22 is as follows. At an initial state, CPout is at “0”, CP is at “0”, CPN is at “1”, CP-PU is at “1”, CP-PD is at “1”, CPN-PD is at “0”, and CPN-PU is at “0”. Then, after CPout transitions from “0” to “1”, the PCFB circuit 224 and the NCFB circuit 225 simultaneously (by configuration since they are matched in the propagation delay) perform the following: (1) the PCFB circuit 224 transitions CP-PD from “1” to “0” and (2) the NCFB circuit 225 transitions CPN-PU from “0” to “1”. Then, shortly after, the master timing block 221 simultaneously (1) transitions CP-PU from “1” to “0” and (2) transitions CPN-PD from “0” to “1”. Then, as CP and CPN will start to change—CP transitions from “0” to “1” (being pulled up by the PMOS transistor 222 a) and CPN transitions from “1” to “0” (being pulled low by the NMOS transistor 223 b). According to an embodiment, CP and CPN finish their transitions around roughly the same time. After which, CPout transitions back to “0”, which causes the PCFB circuit 224 and the NCFB circuit 225 to reset their respective outputs. In this regard, the PCFB circuit 224 makes its CP-PD output high, which brings CP back to “0”, and the NCFB circuit 225 makes its CPN-PU output high, which brings CPN back to “1”.
  • According to an embodiment, since the transistors that did the pull up and pull down are matched in their configuration, and the timing blocks T, PCFB, and NCFB are configured to have equal delays (as mentioned in the steps above), it's guaranteed that the transition times of CP/CPN are the same. Therefore, and since also CP and CPN were created from the same input pulse CPout, they have the same width (duration of ‘1’ for CP, duration of ‘0’ for CPN). Since they have the same transition times and widths, they are fully complementary, i.e. perfectly aligned in time, but just have opposite values.
  • FIG. 5 illustrates an exemplary group/set of latches according to an embodiment of the invention. As depicted in the figure, the set of latches 13/23 receive the CP and CPN signals provided by the clock distribution circuit CD1/CD2. In this regard, the set of latches 13/23 can include at least one transmission gate 30 and a corresponding inverter 31. According to an embodiment, each transmission gate 30 comprises of: (a) one PMOS transistor and (b) one NMOS transistor. Further, the inverter 31 can be connected between an internal latch node and the output QN. Further, according to an embodiment, the CP signal can connect to the gate of the NMOS transistor and the CPN signal can connect to the gate of the PMOS transistor. As such, the sets of latches 13/23 do not need to include a CPN inverter.
  • According to an embodiment, the sets of latches, e.g., first set of latches 13, second set of latches 23, etc., form a shift register, where Q1=D2, Q2=D3, etc.
  • According to an embodiment, the CP signal and CPN signal of one stage, e.g., the first core stage 10, arrive after the CP signal and CPN signal of the subsequent stage, e.g., the second core stage 20. In this regard, the CP and CPN signals of adjacent stages, e.g., the first core stage 10 and the second core stage 20, do not overlap.
  • It is to be understood that the above described embodiments are merely illustrative of numerous and varied other embodiments which may constitute applications of the principles of the invention. Such other embodiments may be readily devised by those skilled in the art without departing from the spirit or scope of this invention and it is our intent they be deemed within the scope of our invention.
  • The foregoing detailed description of the present disclosure is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the present disclosure provided herein is not to be determined solely from the detailed description, but rather from the claims as interpreted according to the full breadth and scope permitted by patent laws. It is to be understood that the embodiments shown and described herein are merely illustrative of the principles addressed by the present disclosure and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the present disclosure. Those skilled in the art may implement various other feature combinations without departing from the scope and spirit of the present disclosure. The various functional modules shown are for illustrative purposes only, and may be combined, rearranged and/or otherwise modified.

Claims (12)

1. An application-specific integrated circuit (ASIC) core, the ASIC core comprising:
a plurality of core stages, each core stage comprising:
a pulse generator, wherein the pulse generator is configured to (i) receive a clock pulse input and a plurality of digital inputs and (ii) generate a clock pulse output based on the received clock pulse input and the digital inputs;
a clock distribution circuit, wherein the clock distribution circuit is configured to receive the clock pulse output and generate a clock pulse signal and a clock pulse complement signal concurrently based on the received clock pulse output; and
a set of latches, wherein the set of latches is configured to receive the clock pulse signal and the clock pulse complement signal;
wherein each of the pulse generators are connected in cascade and implement reverse and non-overlapping clock pulses.
2. (canceled)
3. The ASIC core of claim 1, wherein the clock pulse signals and the clock pulse complement signals of adjacent core stages do not overlap.
4. The ASIC core of claim 1, wherein each of the pulse generators comprises:
a state element, a logic AND gate, and a first delay element.
5. The ASIC core of claim 4, wherein the first delay element comprises:
a plurality of inverters and a multiplexer.
6. The ASIC core of claim 1, wherein the clock distribution circuit comprises:
a first inverter, a second inverter, a positive current feedback (PCFB) circuit, and a negative current feedback (NCFB) circuit.
7. The ASIC core of claim 6, wherein the first inverter comprises a first p-channel metal-oxide semiconductor (PMOS) transistor and a first n-channel metal-oxide semiconductor (NMOS) transistor; and wherein the second inverter comprises a second PMOS transistor and a second NMOS transistor.
8. The ASIC core of claim 6, wherein the PCFB circuit comprises a transmission gate, a first logic NAND gate, and a first logic NOR gate; and wherein the NCFB circuit comprises a tri-state inverter, a second logic NAND gate, and a second logic NOR gate.
9. The ASIC core of claim 1, wherein each of the set of latches comprises at least one transmission gate and a corresponding inverter.
10. The ASIC core of claim 9, wherein the at least one transmission gate comprises a p-channel metal-oxide semiconductor (PMOS) transistor and a n-channel metal-oxide semiconductor (NMOS) transistor.
11. The ASIC core of claim 1, wherein the clock pulse signal connects to a clock pulse port in the set of latches and the clock pulse negative signal connects to a clock pulse negative port in the set of latches.
12. The ASIC core of claim 1, wherein the plurality of digital inputs are configured to set a pulse width of the clock pulse output.
US17/528,602 2021-11-17 2021-11-17 Systems and methods for concurrently driving clock pulse and clock pulse complement signals in latches of an application-specific integrated circuit Active US11671079B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/528,602 US11671079B1 (en) 2021-11-17 2021-11-17 Systems and methods for concurrently driving clock pulse and clock pulse complement signals in latches of an application-specific integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17/528,602 US11671079B1 (en) 2021-11-17 2021-11-17 Systems and methods for concurrently driving clock pulse and clock pulse complement signals in latches of an application-specific integrated circuit

Publications (2)

Publication Number Publication Date
US20230155576A1 true US20230155576A1 (en) 2023-05-18
US11671079B1 US11671079B1 (en) 2023-06-06

Family

ID=86323066

Family Applications (1)

Application Number Title Priority Date Filing Date
US17/528,602 Active US11671079B1 (en) 2021-11-17 2021-11-17 Systems and methods for concurrently driving clock pulse and clock pulse complement signals in latches of an application-specific integrated circuit

Country Status (1)

Country Link
US (1) US11671079B1 (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023260A (en) * 1995-02-01 2000-02-08 Seiko Epson Corporation Liquid crystal display device, driving method for liquid crystal display devices, and inspection method for liquid crystal display devices
US6476790B1 (en) * 1999-08-18 2002-11-05 Semiconductor Energy Laboratory Co., Ltd. Display device and a driver circuit thereof
US7154319B2 (en) * 2004-07-21 2006-12-26 Samsung Electronics Co., Ltd. Pulse-based high-speed low-power gated flip-flop circuit
US7719325B1 (en) * 2008-11-18 2010-05-18 Grenergy Opto, Inc. Active-load dominant circuit for common-mode glitch interference cancellation
US7800423B2 (en) * 2008-05-19 2010-09-21 Hynix Semiconductor Inc. Duty correction circuit
US20140061442A1 (en) * 2011-05-03 2014-03-06 Raytheon Company Shift register with two-phase non-overlapping clocks
US8823433B2 (en) * 2013-01-03 2014-09-02 SK Hynix Inc. Data output circuit
US20150262703A1 (en) * 2012-10-05 2015-09-17 Sharp Kabushiki Kaisha Shift register, display device provided therewith, and shift-register driving method
US20150279480A1 (en) * 2012-10-05 2015-10-01 Sharp Kabushiki Kaisha Shift register, display device provided therewith, and shift-register driving method
US9612614B2 (en) * 2015-07-31 2017-04-04 International Business Machines Corporation Pulse-drive resonant clock with on-the-fly mode change
US10367493B1 (en) * 2018-06-14 2019-07-30 Sandisk Technologies Llc Duty cycle and skew correction for output signals generated in source synchronous systems

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023260A (en) * 1995-02-01 2000-02-08 Seiko Epson Corporation Liquid crystal display device, driving method for liquid crystal display devices, and inspection method for liquid crystal display devices
US9275588B2 (en) * 1995-02-01 2016-03-01 Seiko Epson Corporation Liquid crystal display device, driving method for liquid crystal display devices, and inspection method for liquid crystal display devices
US6476790B1 (en) * 1999-08-18 2002-11-05 Semiconductor Energy Laboratory Co., Ltd. Display device and a driver circuit thereof
US6710761B2 (en) * 1999-08-18 2004-03-23 Semiconductor Energy Laboratory Co., Ltd. Display device and a driver circuit thereof
US7342565B2 (en) * 1999-08-18 2008-03-11 Semiconductor Energy Laboratory Co., Ltd. Display device and a driver circuit thereof
US7154319B2 (en) * 2004-07-21 2006-12-26 Samsung Electronics Co., Ltd. Pulse-based high-speed low-power gated flip-flop circuit
US7800423B2 (en) * 2008-05-19 2010-09-21 Hynix Semiconductor Inc. Duty correction circuit
US7719325B1 (en) * 2008-11-18 2010-05-18 Grenergy Opto, Inc. Active-load dominant circuit for common-mode glitch interference cancellation
US20140061442A1 (en) * 2011-05-03 2014-03-06 Raytheon Company Shift register with two-phase non-overlapping clocks
US20150262703A1 (en) * 2012-10-05 2015-09-17 Sharp Kabushiki Kaisha Shift register, display device provided therewith, and shift-register driving method
US20150279480A1 (en) * 2012-10-05 2015-10-01 Sharp Kabushiki Kaisha Shift register, display device provided therewith, and shift-register driving method
US8823433B2 (en) * 2013-01-03 2014-09-02 SK Hynix Inc. Data output circuit
US9612614B2 (en) * 2015-07-31 2017-04-04 International Business Machines Corporation Pulse-drive resonant clock with on-the-fly mode change
US9618966B2 (en) * 2015-07-31 2017-04-11 International Business Machines Corporation Pulse-drive resonant clock with on-the-fly mode change
US10367493B1 (en) * 2018-06-14 2019-07-30 Sandisk Technologies Llc Duty cycle and skew correction for output signals generated in source synchronous systems

Also Published As

Publication number Publication date
US11671079B1 (en) 2023-06-06

Similar Documents

Publication Publication Date Title
EP1592133B1 (en) N-domino output latch with accelerated evaluate path
US7317339B1 (en) N-domino register with accelerated non-discharge path
US20080238514A1 (en) Level-converted and clock-gated latch and sequential logic circuit having the same
US7064584B2 (en) P-domino output latch with accelerated evaluate path
EP1868292B1 (en) P-domino register with accelerated non-charge path
US7348806B2 (en) Accelerated N-channel dynamic register
EP1693964B1 (en) P-Domino output latch
US7382161B2 (en) Accelerated P-channel dynamic register
US7528630B2 (en) High speed flip-flop
US8063685B1 (en) Pulsed flip-flop circuit
US11671079B1 (en) Systems and methods for concurrently driving clock pulse and clock pulse complement signals in latches of an application-specific integrated circuit
US20220352879A1 (en) Dynamic pulse generator with small propagation delay
US7193445B2 (en) Non-inverting domino register
US7173456B2 (en) Dynamic logic return-to-zero latching mechanism
US6965254B2 (en) Dynamic logic register
US7924078B2 (en) Bistable circuit with auto-time-adjusted switching, and flip-flop using such a bistable circuit
EP1542364B1 (en) Dynamic logic register
US6703867B1 (en) Clocked full-rail differential logic with sense amplifier and shut-off
US6765415B2 (en) Clocked full-rail differential logic with shut-off
US6737889B2 (en) Method for increasing the power efficiency and noise immunity of clocked full-rail differential logic
US6768345B2 (en) Method for clock control of clocked full-rail differential logic circuits with sense amplifier and shut-off
KR101623729B1 (en) Flip Flop Circuit with Low Power and High Speed
US20040263207A1 (en) Synchronous clocked full-rail differential logic with single-rail logic and shut-off

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE