WO1997023043A1 - Clock generator circuit using a programmably clocked register - Google Patents

Clock generator circuit using a programmably clocked register Download PDF

Info

Publication number
WO1997023043A1
WO1997023043A1 PCT/US1996/012528 US9612528W WO9723043A1 WO 1997023043 A1 WO1997023043 A1 WO 1997023043A1 US 9612528 W US9612528 W US 9612528W WO 9723043 A1 WO9723043 A1 WO 9723043A1
Authority
WO
WIPO (PCT)
Prior art keywords
clock signal
gate
enable signal
output
clock
Prior art date
Application number
PCT/US1996/012528
Other languages
French (fr)
Inventor
Bradley A. Sharpe-Geisler
Original Assignee
Advanced Micro Devices, 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 Advanced Micro Devices, Inc. filed Critical Advanced Micro Devices, Inc.
Publication of WO1997023043A1 publication Critical patent/WO1997023043A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/135Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals

Definitions

  • the present invention relates to a clock generator circuit for providing signals to a dual edge D-type flip-flop. More particularly, the present invention relates to a clock generator circuit for a block clock circuit for providing signals to a acrocells in a programmable logic device enabling reconfigurability of the macrocells.
  • Fig. 1 shows components from a conventional programmable logic device (PLD) , including a macrocell 100, typically provided in a macrocell of the PLD.
  • PLD programmable logic device
  • PT lines PT1-PT3 are provided which may each be selectively connected to a number of array cells (not shown) .
  • a sum of product terms output can be provided by connecting the PT lines through an OR gate 102.
  • the output of the OR gate 102 is provided to the macrocell 100, which typically includes a register 130, pass gates 132 and 134, and a feedback line 136, as well as other components which are not shown in Fig. 1.
  • the output of OR gate 102 is provided through register 130 and pass gate 132 to an output buffer 140.
  • the output of the exclusive OR gate 120 is provided through pass gate 134 to output buffer 140.
  • Pass gates 132 and 143 have gate signals provided by a programmable cell (not shown) .
  • Feedback 136 is provided to couple the signal provided to output buffer 140 back to be selectively connected to individual product term lines PT1-PT3.
  • Register 130 is typically a D-type flip-flop.
  • Global signals for a reset, preset and a clock are provided to the register 130 of macrocell 100, as well as to other registers of other macrocells in the PLD.
  • Fig. 2 shows a block diagram of components for a PLD enabling macrocells, such as a macrocell 204 to be reconfigurable by a block clock circuit 202.
  • the block diagram of Fig. 2 as well as circuitry for components of the block diagram of Fig. 2 are described in U.S. Patent Application No.
  • the block clock circuit 202 includes clock signal allocation circuitry to provide a plurality of clock signals CK1-CKN at its outputs.
  • the block clock circuit provides the CKl-CKN signals by allocating one or more pin clock inputs and product term input signals.
  • the outputs of the block clock circuit 202 are provided as global signals throughout a PLD to macrocells in the PLD, such as macrocell 204.
  • the macrocell 204 of the present invention includes a multiplexer 206 and storage element 208. Inputs of the multiplexer 206 are connected to outputs of the block clock/control circuit 202. The multiplexer 206 further receives a mode selection signal to enable the multiplexer 206 to provide one of the clock signals received from the block clock circuit 202 to its output. The output of the multiplexer 204 is provided to the clock signal input of the storage element 208.
  • the storage element 208 can include circuitry such as a D-type flip flop with a data input provided to its output based on a signal received at its clock input.
  • the data input of storage element 208 may receive a sum of product terms output, such as from the output of the OR gate 102 of Fig. 1.
  • the Q output of the storage element 208 is provided to an output buffer of the PLD, such as buffer 140 of Fig. 1. Additionally, the Q output of the storage element 208 is provided in the PLD as a macrocell feedback, similar to line 136 of Fig. 1.
  • the macrocell 204 can be selectively controlled to provide the functions normally provided by a conventional macrocell.
  • the storage element 208 can be configured to operate as a latch mode, a D- type flip-flop, a dual-edge D-type flip-flop, or as a combinatorial element.
  • appropriate clock signals can be applied to provide dual edge clocking, clock edge selection, asynchronous clocking, clock enabling, or a mixture of different type clock signals.
  • a configurable macrocell as illustrated in Fig. 2 is desirable so that resources of the PLD may be selectively configured by a user to create the specific circuitry the user desires. Components of the PLD which provide only one particular function, such as pass gates 132 and 134 and connecting circuitry of Fig. 1, which are not used will create a wasted resource, unnecessarily occupying chip space.
  • the present invention provides circuitry which may be provided in a block clock circuit of a PLD, as shown in Fig. 2, to enable a dual-edge D-type flip-flop to be utilized as a reconfigurable storage element in the macrocell, as illustrated Fig. 2.
  • the configuration of the present invention enables clock signals to be provided to a dual edge D-type flip- flop so that the dual edge flip-flop can function as a single edge D-type flip-flop triggerable on either edge, or simply as a dual edge D-type flip-flop.
  • the configuration of the present invention further enables a user to configure clock signals to provide clock edge selection, asynchronous clocking, clock enabling, or a mixture of different type clock signals.
  • the present invention is a clock generator circuit including inputs receiving first and second enabling signals and a clock signal.
  • the clock generator circuit further includes circuitry to provides an output clock signal which transitions when a rising edge of a pulse of the clock signal is received when the first clock signal is enabled, or if a falling edge of a pulse of the clock signal is received when the second clock signal is enabled.
  • the clock generator circuit may be provided as an element of a block clock circuit, such as 202 of Fig. 2, to provide a signal to a dual edged D-type flip-flop included as a storage element of a macrocell, as in Fig. 2. Further details of circuitry for the clock generator circuit are provided in text which follows.
  • Fig. 1 shows components from a conventional PLD
  • Fig. 2 shows a block diagram of components for a PLD enabling macrocells to be reconfigurable by a block clock circuit
  • Fig. 3 shows specific circuitry for the dual edged D flip-flop
  • Fig. 4 shows clock signals provided to the dual- edged D-type flip-flop of Fig. 3 and its resulting outputs;
  • Fig. 5 shows an embodiment of the clock generator circuit of the present invention
  • Fig. 6 shows signals illustrating the function of Fig. 5;
  • Fig. 7 shows circuitry providing the delay elements of Fig. 5 and modifications to enable the circuit of Fig. 5 to drive a large capacitive load
  • Fig. 8 shows an alternative embodiment for the clock generator circuit of Fig. 6.
  • Fig. 3 shows specific circuitry for the dual-edged D-type flip-flop which may be used as a storage element 206 of a macrocell 204 as shown in Fig. 2.
  • the circuit of Fig. 3 includes two configurable latches 320 and 322, each being enabled by opposite edges of a clock signal (CLK) of the dual edge D flip-flop provided directly and through inverter 324.
  • Configurable latches 320 and 322 include identical circuit components, so only 320 will be described.
  • Configurable latch 320 includes pass gate 330 with a gate coupled to receive the CLK signal and a source to drain path connecting the data input (DATA) of the dual edge D flip-flop to the input of a latch 334.
  • One of the inverter of the latch 334 has a pass gate 336 connecting its pull down transistor to its pull up transistor, the pull up transistor being very weak.
  • the pass gate 336 has its gate coupled to receive the CLK signal.
  • the output of latch 334 is connected through a pass gate 340 to the Q output of the dual edged D flip-flop, while the output of a similar latch in configurable latch 322 is connected to the Q output of the dual edged D flip-flop through a pass gate 342.
  • Pass gates 340 and 342 have gates receiving opposite edges of the CLK signal.
  • a clock signal such as signal 400 of Fig. 4 is typically provided to the CLK input of the flip-flop of Fig. 3.
  • a clock signal 402 may be provided which doubles CLK signal pulse length of signal 400.
  • the clock signal 400 pulse length may be doubled with pulses beginning on a high to low edge to form clock signal 404.
  • a clock signal may be formed from clock signal 400 which is enabled or disabled at specific times to control when the Q output of the flip-flop of Fig. 3 provides a pulse.
  • Fig. 5 shows an embodiment of a clock generator circuit of the present invention which may be configured to provide clock signals to a dual-edged D-type flip- flop to enable the D-type flip-flop to be configurable as described above.
  • Fig. 5 includes inputs receiving a first enable signal ENA, a second enable signal ENB, and a clock signal CLK, and an output providing a signal CLOCK.
  • the ENA signal is provided through pass transistor 502 to a node nl
  • the ENB signal is provided through pass transistor 504 to node nl .
  • the gate of transistor 504 receives the clock signal CLK through a delay element 510.
  • the gate of transistor 502 receives the CLK signal through inverter 506 and delay element 508.
  • the inverse of the signal at node nl is provided through inverter 512, having an input connected to node nl.
  • transistors 502, 504, inverter 506 and delay elements 508 and 510 form a "combined enable signal generator" for providing a combined enable signal at node nl.
  • the combined enable signal generator functions to provide a high signal at node nl to indicate a transition when a rising edge of a pulse of the CLK signal is received and the ENA signal is high, and a high signal at node nl to indicate a transition when a falling edge of a pulse of the CLK signal is received and the ENB signal is high.
  • the remaining circuitry of Fig. 5 functions as a clock signal providing means to provide CLOCK signal based on the signal received at node nl and the CLK signal and its inverse provided at the output of inverter 506.
  • the clock signal providing means includes a latch which includes inverter 524 and inverter 526.
  • the output of inverter 524 is connected to the input of inverter 526 and to the gate of a pass gate 520.
  • the pass gate 520 has a source to drain path providing the CLK signal to a node n2.
  • inverter 526 is connected to the gate of a pass gate 522, the pass gate 522 having a source to drain path connecting the output of inverter 506 to node n2 to provides the inverse of the CLK signal to node n2.
  • An additional pass gate 528 has a source to drain path connecting the output of inverter 526 to the input of inverter 524.
  • the gate of pass gate 528 is connected to node nl.
  • the clock signal providing means further includes series pass gates 540 and 541 which have source to drain paths connected together and connecting the CLK signal to the input of inverter 52 .
  • the circuit of Fig. 5 includes series pass gates 550 and 551 with source to drain paths connected together and connecting the inverse of the CLK signal at the output of inverter 506 to the input of inverter 524.
  • the gates of transistors 540 and 550 are connected to the output of inverter 512.
  • the CLOCK output of the clock generator circuit of Fig. 5 is provided from node n3.
  • Node n3 is connected to node n2 through the source to drain path of pass gate 530.
  • the gate of pass gate 530 is connected to node nl.
  • the output signal of the circuit of Fig. 5 at node n3 provides the gate input of transistor 551.
  • the inverse of the CLOCK output is provided by connecting node n3 through inverter 560.
  • the output of inverter 560 forms the input of pass gate 541.
  • inverter 562 is provided with an input connected to the output of inverter 560 and an output connected to the input of inverter 560.
  • delay elements 508 and 510 are provided to assure the signal at node nl does not transition until the CLK signal can be provided to node n2 through either pass gate 520 or 522.
  • transistors 540 and 541 will pass the CLK signal to inverter 524 so that CLK will be provided to node n2 by transistor 520, transistor 522 being off.
  • Transistor 530 will be off preventing node n2 from changing the state of the CLOCK signal.
  • nl With ENA going high, nl will go high when CLK goes low. ith nl high, transistor 530 will turn on, but with CLK initially low, no change will occur in CLOCK. With nl being high, transistor 528 will be on and transistors 540 and 550 will turn off, latching the state of 524 and 526 to keep transistor 520 on and 522 off. When the CLK then goes high, CLOCK will transition to high to turn off 541 and turn on 551, but with 550 and 540 off, the state of latch 523, 526 will remain latched.
  • nl When the CLK goes high, with ENA high and ENB low, nl will transition to low to turn off transistors 530 and 528 and turn off 540 and 550 to enable CLOCK to reset latch 524, 526 to turn on transistor 522 and turn off transistor 520.
  • the clock generator circuit of Fig. 5 thus, functions to provide the CLOCK signal which transitions when a rising edge of a pulse of the CLK signal is received when the ENA signal is enabled, or when a falling edge of a pulse of the CLK signal is received when the ENB signal is enabled.
  • CLK signal 402 will be provided as the CLOCK output with ENA only enabled
  • CLK signal 404 will be provided as the CLOCK output with ENB only enabled
  • CLK signal 400 will be provided as the CLOCK output with both ENA and ENB enabled.
  • the dual edge flip-flop can be configured to function as a single edge D-type flip-flop triggerable on either edge, or simply as a dual edge D-type flip-flop. Further, a user can selectively provide clock edge selection, asynchronous clocking, clock enabling, or a mixture of different type clock signals.
  • Fig. 7 shows circuitry providing the delay elements 508 and 510 of Fig. 5 and modifications to enable the clock generator circuit of Fig. 5 to drive a large capacitive load. To provide delay elements 508 and 510, the circuit of Fig. 7 includes a capacitor 606 provided between inverters 702 and 704. Inverter 702 replaces the inverter 506 of Fig.
  • inverter 704 is provided from the output of inverter 702 to the gate of transistor 504 to replace the direct CLK connection to the gate of transistor 504 of Fig. 5.
  • inverter 708 is added with an input connected to the output of inverter 512 and an output connected to the gates of transistors 530 and 528, as opposed to a direct connection to node nl to slow the transition of transistors 528 and 530.
  • components carried forward from Fig. 5 are similarly labeled, as will be components in subsequent drawings.
  • the output of inverter 562 provides the CLOCK signal to drive a high capacitance load.
  • the CLOCK signal may be provided to drive larger loads .
  • PMOS transistor 712 has a gate connected to the output of inverter 560 and a source to drain path connecting Vdd to the input of inverter 560 to prevent drift at the input of inverter 560 should pass gates 710 and 530 be turned off.
  • the gate of transistor 710 is connected to the output of inverter 612 to enable inverters 560, 562 to function as a latch only when latch 524, 526 is disabled.
  • Fig. 8 shows an alternative embodiment for the clock generator circuit of Fig. 6. Fig. 8 removes transistor 530 in the path between the CLK and CLOCK signals.
  • NOR gates 802 and 804 are alternatively provided.
  • the NOR gate 802 provides a connection from the output of inverter 524 to the gate of pass transistor 522, while NOR gate 804 provides a connection from the output of inverter 522 to the gate of pass gate 522.
  • Second inputs of NOR gates 802 and 804 are provided from the output of inverter 512.
  • Transistor 522 makes a direct connection from the output of inverter 506 to the CLOCK output, as opposed to through transistor 520 in Fig. 5.
  • the Circuit of Fig. 8 functions similar to Fig. 5 to provide the CLOCK signal output which transitions when a rising edge of a pulse of the CLK signal is received when the ENA signal is enabled, or when a falling edge of a pulse of the CLK signal is received when the ENB signal is enabled.

Landscapes

  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Logic Circuits (AREA)

Abstract

A clock generator circuit for providing a clock signal to a dual-edged D-type flip-flop, enabling the flip-flop to be dual-edged, single-edged, or to enable a user to provide clock edge selection, asynchronous clocking, clock enabling, or a mixture of different type of clock signals. The clock generator circuit includes inputs receiving first and second enable signals and a clock signal. The clock generator circuit further includes circuitry to provide an output clock signal which transitions when a rising edge of a pulse of the clock signal is received when the first clock signal is enabled, or if a falling edge of a pulse of the clock signal is received when the second clock signal is enabled.

Description

CLOCK GENERATOR CIRCUIT USING A PROGRAMMABLY CLOCKED REGISTER
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a clock generator circuit for providing signals to a dual edge D-type flip-flop. More particularly, the present invention relates to a clock generator circuit for a block clock circuit for providing signals to a acrocells in a programmable logic device enabling reconfigurability of the macrocells.
2. Description of the Related Art
Fig. 1 shows components from a conventional programmable logic device (PLD) , including a macrocell 100, typically provided in a macrocell of the PLD. In the portion of the PLD shown, a group of product term
(PT) lines PT1-PT3 are provided which may each be selectively connected to a number of array cells (not shown) . A sum of product terms output can be provided by connecting the PT lines through an OR gate 102. The output of the OR gate 102 is provided to the macrocell 100, which typically includes a register 130, pass gates 132 and 134, and a feedback line 136, as well as other components which are not shown in Fig. 1. To provide a registered output, the output of OR gate 102 is provided through register 130 and pass gate 132 to an output buffer 140. To provide a combinatorial output, the output of the exclusive OR gate 120 is provided through pass gate 134 to output buffer 140. Pass gates 132 and 143 have gate signals provided by a programmable cell (not shown) . Feedback 136 is provided to couple the signal provided to output buffer 140 back to be selectively connected to individual product term lines PT1-PT3. Register 130 is typically a D-type flip-flop. Global signals for a reset, preset and a clock are provided to the register 130 of macrocell 100, as well as to other registers of other macrocells in the PLD. Fig. 2 shows a block diagram of components for a PLD enabling macrocells, such as a macrocell 204 to be reconfigurable by a block clock circuit 202. The block diagram of Fig. 2 as well as circuitry for components of the block diagram of Fig. 2 are described in U.S. Patent Application No. 08/458,865 entitled "Macrocell An Clock Signal Allocation Circuit For A Programmable Logic Device (PLD) Enabling PLD Resources To Provide Multiple Functions", filed June 2, 1995, and incorporated herein by reference. The block clock circuit 202 includes clock signal allocation circuitry to provide a plurality of clock signals CK1-CKN at its outputs. The block clock circuit provides the CKl-CKN signals by allocating one or more pin clock inputs and product term input signals. The outputs of the block clock circuit 202 are provided as global signals throughout a PLD to macrocells in the PLD, such as macrocell 204.
The macrocell 204 of the present invention includes a multiplexer 206 and storage element 208. Inputs of the multiplexer 206 are connected to outputs of the block clock/control circuit 202. The multiplexer 206 further receives a mode selection signal to enable the multiplexer 206 to provide one of the clock signals received from the block clock circuit 202 to its output. The output of the multiplexer 204 is provided to the clock signal input of the storage element 208.
The storage element 208 can include circuitry such as a D-type flip flop with a data input provided to its output based on a signal received at its clock input. The data input of storage element 208 may receive a sum of product terms output, such as from the output of the OR gate 102 of Fig. 1. The Q output of the storage element 208 is provided to an output buffer of the PLD, such as buffer 140 of Fig. 1. Additionally, the Q output of the storage element 208 is provided in the PLD as a macrocell feedback, similar to line 136 of Fig. 1. By providing appropriate clocking signals from the block clock circuit 202, the macrocell 204 can be selectively controlled to provide the functions normally provided by a conventional macrocell. For instance, by applying an appropriate clocking, the storage element 208 can be configured to operate as a latch mode, a D- type flip-flop, a dual-edge D-type flip-flop, or as a combinatorial element. Further, unlike with conventional macrocells, with the circuitry of Fig. 2, appropriate clock signals can be applied to provide dual edge clocking, clock edge selection, asynchronous clocking, clock enabling, or a mixture of different type clock signals. For a PLD, a configurable macrocell as illustrated in Fig. 2 is desirable so that resources of the PLD may be selectively configured by a user to create the specific circuitry the user desires. Components of the PLD which provide only one particular function, such as pass gates 132 and 134 and connecting circuitry of Fig. 1, which are not used will create a wasted resource, unnecessarily occupying chip space.
SUMMARY OF THE INVENTION The present invention provides circuitry which may be provided in a block clock circuit of a PLD, as shown in Fig. 2, to enable a dual-edge D-type flip-flop to be utilized as a reconfigurable storage element in the macrocell, as illustrated Fig. 2. The configuration of the present invention enables clock signals to be provided to a dual edge D-type flip- flop so that the dual edge flip-flop can function as a single edge D-type flip-flop triggerable on either edge, or simply as a dual edge D-type flip-flop. The configuration of the present invention further enables a user to configure clock signals to provide clock edge selection, asynchronous clocking, clock enabling, or a mixture of different type clock signals. The present invention is a clock generator circuit including inputs receiving first and second enabling signals and a clock signal. The clock generator circuit further includes circuitry to provides an output clock signal which transitions when a rising edge of a pulse of the clock signal is received when the first clock signal is enabled, or if a falling edge of a pulse of the clock signal is received when the second clock signal is enabled.
The clock generator circuit may be provided as an element of a block clock circuit, such as 202 of Fig. 2, to provide a signal to a dual edged D-type flip-flop included as a storage element of a macrocell, as in Fig. 2. Further details of circuitry for the clock generator circuit are provided in text which follows.
BRIEF DESCRIPTION OF THE DRAWINGS Further details of the present invention are explained with the help of the attached drawings in which: Fig. 1 shows components from a conventional PLD;
Fig. 2 shows a block diagram of components for a PLD enabling macrocells to be reconfigurable by a block clock circuit;
Fig. 3 shows specific circuitry for the dual edged D flip-flop; Fig. 4 shows clock signals provided to the dual- edged D-type flip-flop of Fig. 3 and its resulting outputs;
Fig. 5 shows an embodiment of the clock generator circuit of the present invention;
Fig. 6 shows signals illustrating the function of Fig. 5;
Fig. 7 shows circuitry providing the delay elements of Fig. 5 and modifications to enable the circuit of Fig. 5 to drive a large capacitive load; and
Fig. 8 shows an alternative embodiment for the clock generator circuit of Fig. 6.
DETAILED DESCRIPTION Fig. 3 shows specific circuitry for the dual-edged D-type flip-flop which may be used as a storage element 206 of a macrocell 204 as shown in Fig. 2. As shown, the circuit of Fig. 3 includes two configurable latches 320 and 322, each being enabled by opposite edges of a clock signal (CLK) of the dual edge D flip-flop provided directly and through inverter 324. Configurable latches 320 and 322 include identical circuit components, so only 320 will be described. Configurable latch 320 includes pass gate 330 with a gate coupled to receive the CLK signal and a source to drain path connecting the data input (DATA) of the dual edge D flip-flop to the input of a latch 334. One of the inverter of the latch 334 has a pass gate 336 connecting its pull down transistor to its pull up transistor, the pull up transistor being very weak. The pass gate 336 has its gate coupled to receive the CLK signal. The output of latch 334 is connected through a pass gate 340 to the Q output of the dual edged D flip-flop, while the output of a similar latch in configurable latch 322 is connected to the Q output of the dual edged D flip-flop through a pass gate 342. Pass gates 340 and 342 have gates receiving opposite edges of the CLK signal.
In operation, a clock signal such as signal 400 of Fig. 4 is typically provided to the CLK input of the flip-flop of Fig. 3. To make the dual-edged D-type flip-flop of Fig. 3 function as a single edged D-type flip-flop, a clock signal 402 may be provided which doubles CLK signal pulse length of signal 400. To provide a single edge D-type flip-flop transitioning on an opposite edge than when signal 402 is received, the clock signal 400 pulse length may be doubled with pulses beginning on a high to low edge to form clock signal 404. To provide clock edge selection, or other functions, a clock signal may be formed from clock signal 400 which is enabled or disabled at specific times to control when the Q output of the flip-flop of Fig. 3 provides a pulse.
Fig. 5 shows an embodiment of a clock generator circuit of the present invention which may be configured to provide clock signals to a dual-edged D-type flip- flop to enable the D-type flip-flop to be configurable as described above.
Fig. 5 includes inputs receiving a first enable signal ENA, a second enable signal ENB, and a clock signal CLK, and an output providing a signal CLOCK. In Fig. 5, the ENA signal is provided through pass transistor 502 to a node nl, while the ENB signal is provided through pass transistor 504 to node nl . The gate of transistor 504 receives the clock signal CLK through a delay element 510. The gate of transistor 502 receives the CLK signal through inverter 506 and delay element 508. The inverse of the signal at node nl is provided through inverter 512, having an input connected to node nl. In operation, transistors 502, 504, inverter 506 and delay elements 508 and 510 form a "combined enable signal generator" for providing a combined enable signal at node nl. The combined enable signal generator functions to provide a high signal at node nl to indicate a transition when a rising edge of a pulse of the CLK signal is received and the ENA signal is high, and a high signal at node nl to indicate a transition when a falling edge of a pulse of the CLK signal is received and the ENB signal is high.
The remaining circuitry of Fig. 5 functions as a clock signal providing means to provide CLOCK signal based on the signal received at node nl and the CLK signal and its inverse provided at the output of inverter 506. The clock signal providing means includes a latch which includes inverter 524 and inverter 526. The output of inverter 524 is connected to the input of inverter 526 and to the gate of a pass gate 520. The pass gate 520 has a source to drain path providing the CLK signal to a node n2. The output of inverter 526 is connected to the gate of a pass gate 522, the pass gate 522 having a source to drain path connecting the output of inverter 506 to node n2 to provides the inverse of the CLK signal to node n2. An additional pass gate 528 has a source to drain path connecting the output of inverter 526 to the input of inverter 524. The gate of pass gate 528 is connected to node nl.
To set and reset the latch 524, 526, the clock signal providing means further includes series pass gates 540 and 541 which have source to drain paths connected together and connecting the CLK signal to the input of inverter 52 . Further to set and reset latch 524, 526, the circuit of Fig. 5 includes series pass gates 550 and 551 with source to drain paths connected together and connecting the inverse of the CLK signal at the output of inverter 506 to the input of inverter 524. The gates of transistors 540 and 550 are connected to the output of inverter 512.
The CLOCK output of the clock generator circuit of Fig. 5 is provided from node n3. Node n3 is connected to node n2 through the source to drain path of pass gate 530. The gate of pass gate 530 is connected to node nl. The output signal of the circuit of Fig. 5 at node n3 provides the gate input of transistor 551. The inverse of the CLOCK output is provided by connecting node n3 through inverter 560. The output of inverter 560 forms the input of pass gate 541. To prevent the input of inverter 560 from drifting if pass gate 530 is turned off, inverter 562 is provided with an input connected to the output of inverter 560 and an output connected to the input of inverter 560.
In operation, delay elements 508 and 510 are provided to assure the signal at node nl does not transition until the CLK signal can be provided to node n2 through either pass gate 520 or 522.
Further details of the operation of the circuit of Fig. 5 are described with reference to the signals of Fig. 6. With the ENA signal 602 and the ENB signal 604 both initially low, the signal nl 606 remains low irrespective of the CLK signal as controlled by the combined enable signal generator portion of Fig. 5. With ENA high, nl goes high when the CLK signal 600 is low. With ENB high, nl goes low when the CLK signal 600 is high, and with both ENA and ENB high, nl remains high.
First, assuming the CLOCK signal is high and nl is low, transistors 540 and 541 will pass the CLK signal to inverter 524 so that CLK will be provided to node n2 by transistor 520, transistor 522 being off. Transistor 530 will be off preventing node n2 from changing the state of the CLOCK signal.
With ENA going high, nl will go high when CLK goes low. ith nl high, transistor 530 will turn on, but with CLK initially low, no change will occur in CLOCK. With nl being high, transistor 528 will be on and transistors 540 and 550 will turn off, latching the state of 524 and 526 to keep transistor 520 on and 522 off. When the CLK then goes high, CLOCK will transition to high to turn off 541 and turn on 551, but with 550 and 540 off, the state of latch 523, 526 will remain latched. When the CLK goes high, with ENA high and ENB low, nl will transition to low to turn off transistors 530 and 528 and turn off 540 and 550 to enable CLOCK to reset latch 524, 526 to turn on transistor 522 and turn off transistor 520.
When CLK returns to low with only ENA high, the inverse of CLK will be provided to node n2. Node nl will then return to high to turn on transistor 530 to pass the signal at node n2 to CLOCK, so with CLK low, CLOCK will remain high. Transistor 522 will be on and transistors 540 and 550 will be off to maintain the state of latch 524, 526. Next it is assumed that ENB goes high along with ENA. With both ENA and ENB high, nl will remain high. With nl high, transistors 530 and 528 will remain on to pass the signal from node n2 to n3 and latch the state of latch 524 and 526. Thus, with every transition of CLK, the output of inverter 506 will transition to similarly transition CLOCK.
Next it is assumed that ENA goes back low so that only ENB remains high. With CLK high, node nl will be high to turn on transistors 530 and 528 to pass the signal from n2 to n3 and latch the previous state of latch 524 and 526 so that CLOCK maintains its previous state. With CLK transitioning to low, the transition in node n2 will be passed to node n3 to transition CLOCK, and then transistor 530 and 528 will be turned off by IN going low, and transistors 550 and 540 will turn on to enable CLOCK to reset latch 524, 526 so that on a subsequent low to high transition CLOCK will maintain its previous state.
The clock generator circuit of Fig. 5, thus, functions to provide the CLOCK signal which transitions when a rising edge of a pulse of the CLK signal is received when the ENA signal is enabled, or when a falling edge of a pulse of the CLK signal is received when the ENB signal is enabled. Thus, referring to Fig. 4, with a CLK signal 400 received, CLK signal 402 will be provided as the CLOCK output with ENA only enabled, CLK signal 404 will be provided as the CLOCK output with ENB only enabled, and CLK signal 400 will be provided as the CLOCK output with both ENA and ENB enabled. By selectively enabling ENA and ENB at different times, combinations of signals 400, 402 and 404 can be provided. By applying the CLOCK output of Fig. 5 to the input of a dual-edged D-type flip-flop, the dual edge flip-flop can be configured to function as a single edge D-type flip-flop triggerable on either edge, or simply as a dual edge D-type flip-flop. Further, a user can selectively provide clock edge selection, asynchronous clocking, clock enabling, or a mixture of different type clock signals. Fig. 7 shows circuitry providing the delay elements 508 and 510 of Fig. 5 and modifications to enable the clock generator circuit of Fig. 5 to drive a large capacitive load. To provide delay elements 508 and 510, the circuit of Fig. 7 includes a capacitor 606 provided between inverters 702 and 704. Inverter 702 replaces the inverter 506 of Fig. 5 to provide an inverse of the clock signal CLK to the gate of transistor 502, while inverter 704 is provided from the output of inverter 702 to the gate of transistor 504 to replace the direct CLK connection to the gate of transistor 504 of Fig. 5. Further, in Fig. 7 inverter 708 is added with an input connected to the output of inverter 512 and an output connected to the gates of transistors 530 and 528, as opposed to a direct connection to node nl to slow the transition of transistors 528 and 530. In Fig. 7, components carried forward from Fig. 5 are similarly labeled, as will be components in subsequent drawings.
In Fig. 7, the output of inverter 562 provides the CLOCK signal to drive a high capacitance load. By providing the CLOCK output from transistor 562 and increasing the size of transistors forming inverters 560 and 562 from Fig. 5, the CLOCK signal may be provided to drive larger loads .
Instead of connecting inverter 562 directly to node n2, to increase switching speed the source to drain path of a transistor 710 is utilized to connect inverter 562 to node n2. PMOS transistor 712 has a gate connected to the output of inverter 560 and a source to drain path connecting Vdd to the input of inverter 560 to prevent drift at the input of inverter 560 should pass gates 710 and 530 be turned off. The gate of transistor 710 is connected to the output of inverter 612 to enable inverters 560, 562 to function as a latch only when latch 524, 526 is disabled. Fig. 8 shows an alternative embodiment for the clock generator circuit of Fig. 6. Fig. 8 removes transistor 530 in the path between the CLK and CLOCK signals. In Fig. 8, NOR gates 802 and 804 are alternatively provided. The NOR gate 802 provides a connection from the output of inverter 524 to the gate of pass transistor 522, while NOR gate 804 provides a connection from the output of inverter 522 to the gate of pass gate 522. Second inputs of NOR gates 802 and 804 are provided from the output of inverter 512. Transistor 522 makes a direct connection from the output of inverter 506 to the CLOCK output, as opposed to through transistor 520 in Fig. 5.
In operation, the Circuit of Fig. 8 functions similar to Fig. 5 to provide the CLOCK signal output which transitions when a rising edge of a pulse of the CLK signal is received when the ENA signal is enabled, or when a falling edge of a pulse of the CLK signal is received when the ENB signal is enabled.
Although the invention has been described above with particularity, this was merely to teach one of ordinary skill in the art how to make and use the invention. Many modifications will fall within the scope of the invention, as that scope is defined by the claims which follow.

Claims

What Is Claimed Is:
1. A clock signal generating circuit receiving a first enable signal, a second enable signal and a clock signal including clock pulses each having a rising edge and a falling edge, the clock signal generating circuit comprising: a combined enable signal generating means connected to receive the first enable signal, the second enable signal, and the clock signal, and to provide the combined enable signal indicating a transition when a rising edge of one of the clock pulses is received when the first clock signal is enabled, or if a falling edge of one of the clock pulses is received when the second clock signal is enabled; and a clock signal providing means connected for receiving the clock signal and the combined enable signal from the combined enable signal generating means, the clock signal providing means providing a transition in an output of the clock signal generating circuit when the combined enable signal indicates a transition.
2. The clock signal generating circuit of Claim 1 wherein the combined enable signal generating means comprises: a first enable signal pass gate having a source to drain path connecting the first enable signal to a combined enable signal node for providing the combined enable signal, and a gate coupled to receive an inverse of the clock signal; a second enable signal pass gate having a source to drain path connecting the second enable signal to the combined enable signal node, and a gate coupled to receive the clock signal.
3. The clock signal generating circuit of Claim 2 wherein the clock signal providing means comprises: a latch including a first inverter and a second inverter having an input connected to the output of the second inverter; a non-inverted clock signal pass gate having a source to drain path coupling the inverse of the clock signal to a clock signal providing node, and a gate connected to the output of the first inverter of the latch; an inverted clock signal pass gate having a source to drain path coupling the clock signal to the clock signal providing node, and a gate connected to the output of the second inverter of the latch; a latch enabling pass gate having a source to drain path connecting the output of the second inverter to the input of the first inverter of the latch, and a gate coupled to the combined enable signal node for receiving the combined enable signal; a clock signal providing pass gate having a source to drain path connecting the clock signal providing node to a clock signal output node which provides the output of the clock signal generating circuit, and a gate coupled to the combined enable signal node for receiving the combined enable signal; an inverted clock signal pass gate pair including a first and second pass gate with source to drain paths connected together to couple the clock signal to the input of the first inverter of the latch, the gate of the first pass gate coupled to the combined enable signal node for receiving the inverse of the combined enable signal, and the gate of the second pass gate coupled to the clock signal output node to receive the inverse of the output of the clock signal generating circuit; and an clock signal pass gate pair including a first and second pass gate with source to drain paths connected together to couple the inverse of the clock signal to the input of the first inverter of the latch, the gate of the first pass gate of the clock signal pass gate pair coupled to the combined enable signal node for receiving the inverse of the combined enable signal, and the gate of the second pass gate of the clock signal pass gate pair coupled to the clock signal output node to receive the output of the clock signal generating circuit.
4. The clock signal generating circuit of Claim 3 the clock signal is provided to clock signal providing means prior to the combined enable signal generating means to enable the clock signal to be coupled to the clock signal providing node prior to the combined enable signal node providing the combined enable signal.
5. The clock signal generating circuit of Claim 1, wherein the output of the clock signal generating means is coupled to the clock input of a dual-edge D-type flip-flop.
6. A clock signal generating circuit receiving a first enable signal, a second enable signal and a clock signal including clock pulses each having a rising edge and a falling edge, the clock signal generating circuit comprising: a first enable signal pass gate having a source to drain path connecting the first enable signal to a combined enable signal node for providing the combined enable signal, and a gate; a second enable signal pass gate having a source to drain path connecting the second enable signal to the combined enable signal node, and a gate; a latch including a first inverter and a second inverter having an input connected to the output of the second inverter; a non-inverted clock signal pass gate having a source to drain path coupling the inverse of the clock signal to a clock signal providing node, and a gate connected to the output of the first inverter of the latch; an inverted clock signal pass gate having a source to drain path coupling the clock signal to the clock signal providing node, and a gate connected to the output of the second inverter of the latch; a latch enabling pass gate having a source to drain path connecting the output of the second inverter to the input of the first inverter of the latch, and a gate coupled to the combined enable signal node for receiving the combined enable signal; a clock signal providing pass gate having a source to drain path connecting the clock signal providing node to a clock signal output node which provides the output of the clock signal generating circuit, and a gate coupled to the combined enable signal node for receiving the combined enable signal; an inverted clock signal pass gate pair including a first and second pass gate with source to drain paths connected together to couple the clock signal to the input of the first inverter of the latch, the gate of the first pass gate coupled to the combined enable signal node for receiving the inverse of the combined enable signal, and the gate of the second pass gate coupled to the clock signal output node to receive the inverse of the output of the clock signal generating circuit; and an clock signal pass gate pair including a first and second pass gate with source to drain paths connected together to couple the inverse of the clock signal to the input of the first inverter of the latch, the gate of the first pass gate of the clock signal pass gate pair coupled to the combined enable signal node for receiving the inverse of the combined enable signal, and the gate of the second pass gate of the clock signal pass gate pair coupled to the clock signal output node to receive the output of the clock signal generating circuit .
7. The clock signal generating circuit of Fig. 6 further comprising: a first inverter having an input connected to receive the clock signal and an output connected to the gate of the gate of the first enable signal pass gate; a second inverter having an input connected to the output of the first inverter and an output connected to the gate of the second enable signal pass gate; and a capacitor coupled to the output of the first inverter.
PCT/US1996/012528 1995-12-20 1996-07-31 Clock generator circuit using a programmably clocked register WO1997023043A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/575,852 1995-12-20
US08/575,852 US5719516A (en) 1995-12-20 1995-12-20 Lock generator circuit for use with a dual edge register that provides a separate enable for each use of an input clock signal

Publications (1)

Publication Number Publication Date
WO1997023043A1 true WO1997023043A1 (en) 1997-06-26

Family

ID=24301959

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/012528 WO1997023043A1 (en) 1995-12-20 1996-07-31 Clock generator circuit using a programmably clocked register

Country Status (2)

Country Link
US (1) US5719516A (en)
WO (1) WO1997023043A1 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805923A (en) * 1995-05-26 1998-09-08 Sony Corporation Configurable power management system having a clock stabilization filter that can be enabled or bypassed depending upon whether a crystal or can oscillator is used
US6317842B1 (en) * 1999-02-16 2001-11-13 Qlogic Corporation Method and circuit for receiving dual edge clocked data
EP1104105A3 (en) * 1999-11-09 2003-07-23 Koninklijke Philips Electronics N.V. Electronic circuit with clock generating circuit
US6373312B1 (en) 2000-09-29 2002-04-16 Agilent Technologies, Inc. Precision, high speed delay system for providing delayed clock edges with new delay values every clock period
US6348828B1 (en) * 2000-09-29 2002-02-19 Agilent Technologies, Inc. Clock enable circuit for use in a high speed reprogrammable delay line incorporating glitchless enable/disable functionality
US6456136B1 (en) * 2001-04-13 2002-09-24 Sun Microsystems, Inc. Method and apparatus for latching data within a digital system
US7007114B1 (en) * 2003-01-31 2006-02-28 Qlogic Corporation System and method for padding data blocks and/or removing padding from data blocks in storage controllers
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7870346B2 (en) * 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7457903B2 (en) * 2003-03-10 2008-11-25 Marvell International Ltd. Interrupt controller for processing fast and regular interrupts
US7099963B2 (en) * 2003-03-10 2006-08-29 Qlogic Corporation Method and system for monitoring embedded disk controller components
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7139150B2 (en) * 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
US7120084B2 (en) * 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US8166217B2 (en) * 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
US7757009B2 (en) 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
US9201599B2 (en) * 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US7386661B2 (en) 2004-10-13 2008-06-10 Marvell International Ltd. Power save module for storage controllers
US7240267B2 (en) * 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
US7802026B2 (en) * 2004-11-15 2010-09-21 Marvell International Ltd. Method and system for processing frames in storage controllers
US7609468B2 (en) 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
EP2234272A3 (en) 2009-03-23 2015-09-30 Oticon A/S Low-power dual-edge-triggered storage cell with scan test support and clock gating circuit therefor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0224004A2 (en) * 1985-10-15 1987-06-03 Sony Corporation Interconnected multiport flip-flop logic circuit
US4709173A (en) * 1985-05-17 1987-11-24 Matsushita Electric Industrial Co., Ltd. Integrated circuit having latch circuit with multiplexer selection function
WO1994029958A1 (en) * 1993-06-07 1994-12-22 Vlsi Technology, Inc. Dual latch clocked lssd and method

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4300060A (en) * 1979-12-10 1981-11-10 General Motors Corporation Signal programmable multiple function flip-flop
US5027315A (en) * 1984-09-28 1991-06-25 Advanced Micro Devices, Inc. Programmable logic array using internally generated dynamic logic signals as selection signals for controlling its functions
US4825416A (en) * 1986-05-07 1989-04-25 Advanced Micro Devices, Inc. Integrated electronic memory circuit with internal timing and operable in both latch-based and register-based systems
US4820939A (en) * 1987-11-24 1989-04-11 National Semiconductor Corporation Finite metastable time synchronizer
US4864161A (en) * 1988-05-05 1989-09-05 Altera Corporation Multifunction flip-flop-type circuit
US4970407A (en) * 1988-06-09 1990-11-13 National Semiconductor Corporation Asynchronously loadable D-type flip-flop
US5457409A (en) * 1992-08-03 1995-10-10 Advanced Micro Devices, Inc. Architecture of a multiple array high density programmable logic device with a plurality of programmable switch matrices
US5117132A (en) * 1991-02-08 1992-05-26 Unisys Corporation Flexible utilization of general flip-flops in programmable array logic
JPH04263510A (en) * 1991-02-18 1992-09-18 Nec Corp Flip-flop circuit
JPH04348609A (en) * 1991-05-27 1992-12-03 Nec Kyushu Ltd Latch circuit
US5359242A (en) * 1993-01-21 1994-10-25 Altera Corporation Programmable logic with carry-in/carry-out between logic blocks
US5369311A (en) * 1992-03-06 1994-11-29 Intel Corporation Clock generator control circuit
JPH05327435A (en) * 1992-05-20 1993-12-10 Matsushita Electron Corp Semiconductor integrated circuit device
US5309046A (en) * 1992-09-30 1994-05-03 Intel Corporation Apparatus and method for product term allocation in programmable logic
US5357153A (en) * 1993-01-28 1994-10-18 Xilinx, Inc. Macrocell with product-term cascade and improved flip flop utilization
JPH06260902A (en) * 1993-03-09 1994-09-16 Toshiba Corp Flip-flop circuit
US5495195A (en) * 1994-11-17 1996-02-27 Advanced Micro Devices, Inc. Output buffer for a high density programmable logic device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4709173A (en) * 1985-05-17 1987-11-24 Matsushita Electric Industrial Co., Ltd. Integrated circuit having latch circuit with multiplexer selection function
EP0224004A2 (en) * 1985-10-15 1987-06-03 Sony Corporation Interconnected multiport flip-flop logic circuit
WO1994029958A1 (en) * 1993-06-07 1994-12-22 Vlsi Technology, Inc. Dual latch clocked lssd and method

Also Published As

Publication number Publication date
US5719516A (en) 1998-02-17

Similar Documents

Publication Publication Date Title
US5719516A (en) Lock generator circuit for use with a dual edge register that provides a separate enable for each use of an input clock signal
US5589782A (en) Macrocell and clock signal allocation circuit for a programmable logic device (PLD) enabling PLD resources to provide multiple functions
US7098690B2 (en) Programmable I/O element circuit for high speed logic devices
US6525565B2 (en) Double data rate flip-flop
US5811987A (en) Block clock and initialization circuit for a complex high density PLD
US6975145B1 (en) Glitchless dynamic multiplexer with synchronous and asynchronous controls
US7088136B1 (en) Programmable logic device latch circuits
US5502403A (en) High speed configuration independent programmable macrocell
US4918641A (en) High-performance programmable logic device
US20040008055A1 (en) Programmable logic devices providing reduced power consumption
JP3552972B2 (en) Static clock pulse oscillator, spatial light modulator, and display
US5302866A (en) Input circuit block and method for PLDs with register clock enable selection
JPH0219024A (en) Programmable logic device having programmable word-line connecting part
KR20090131010A (en) Dual mode edge triggered flip-flop
JP2548301B2 (en) Programmable logic circuit device
US7385416B1 (en) Circuits and methods of implementing flip-flops in dual-output lookup tables
JPH0440894B2 (en)
US6249143B1 (en) Programmable logic array integrated circuit with distributed random access memory array
US7873896B2 (en) High performance pulsed storage circuit
US7068080B1 (en) Method and apparatus for reducing power consumption within a logic device
US5057712A (en) Address transition detector for programmable logic array
US5638008A (en) Method and apparatus for generating an asynchronously clocked signal in a synchronously clocked programmable device
US5581200A (en) Stored and combinational logic function generator without dedicated storage elements
US5638018A (en) P-type flip-flop
USRE37577E1 (en) High speed configuration independent programmable macrocell

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 97522758

Format of ref document f/p: F

122 Ep: pct application non-entry in european phase