US7188268B2 - Method and apparatus for synchronous loading and out-of-phase unloading of data registers - Google Patents

Method and apparatus for synchronous loading and out-of-phase unloading of data registers Download PDF

Info

Publication number
US7188268B2
US7188268B2 US10/697,424 US69742403A US7188268B2 US 7188268 B2 US7188268 B2 US 7188268B2 US 69742403 A US69742403 A US 69742403A US 7188268 B2 US7188268 B2 US 7188268B2
Authority
US
United States
Prior art keywords
signal
clock
data
clock cycles
predetermined quantity
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.)
Expired - Fee Related, expires
Application number
US10/697,424
Other versions
US20040088596A1 (en
Inventor
Dennis J. Vandenberg
Douglas G. Gilliland
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.)
Commscope DSL Systems LLC
Original Assignee
ADC DSL Systems 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 ADC DSL Systems Inc filed Critical ADC DSL Systems Inc
Priority to US10/697,424 priority Critical patent/US7188268B2/en
Assigned to ADC DSL SYSTEMS, INC. reassignment ADC DSL SYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GILLILAND, DOUGLAS G., VANDENBERG, DENNIS
Publication of US20040088596A1 publication Critical patent/US20040088596A1/en
Application granted granted Critical
Publication of US7188268B2 publication Critical patent/US7188268B2/en
Assigned to JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT reassignment JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT PATENT SECURITY AGREEMENT - TERM LOAN Assignors: ADC DSL SYSTEMS, INC.
Assigned to JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT reassignment JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT PATENT SECURITY AGREEMENT - ABL Assignors: ADC DSL SYSTEMS, INC.
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION, AS THE COLLATERAL AGENT reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION, AS THE COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: ADC DSL SYSTEMS, INC.
Assigned to COMMSCOPE DSL SYSTEMS LLC (FORMERLY KNOWN AS ADC DSL SYSTEMS, INC.) reassignment COMMSCOPE DSL SYSTEMS LLC (FORMERLY KNOWN AS ADC DSL SYSTEMS, INC.) RELEASE OF SECURITY INTEREST IN PATENTS (RELEASES RF 036718/0042) Assignors: WILMINGTON TRUST, NATIONAL ASSOCIATION
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

Definitions

  • Data registers are typically used to store data for later reading. For example, a “D flip-flop”, also known as a data register, is presented data at the input. The input data is then loaded on the next clock edge, either rising or falling, depending on the type of register, if the clock enable input is true.
  • D flip-flop also known as a data register
  • the present invention encompasses a data register apparatus that can be loaded synchronously and unloaded out-of-phase.
  • the apparatus is comprised of a first data register that has a data input coupled to a data signal, a clock input coupled to a clock signal, an enable input coupled to a periodic first load signal, and a data output.
  • the apparatus further comprises a second data register that has a data input coupled to the data output of the first data register, a clock input coupled to the clock signal, an enable input coupled to a second load signal, and a data output.
  • the first and second data registers are “D” type flip-flops.
  • a controller is coupled to and controls the operation of the first and second data registers.
  • the controller has a clock input coupled to the clock signal, a load data input coupled to the first load signal, and a read data input coupled to a periodic read signal.
  • the controller has the capability for generating a first guard band signal using the first load signal and the clock signal.
  • the controller also generates a second guard band signal using the read signal and the clock signal.
  • the controller generates the second load signal by logically ANDing the first and second guard band signals.
  • FIG. 1 shows a block diagram of one embodiment of the data register of the present invention.
  • FIG. 2 shows a timing diagram representing the operation of the embodiment illustrated in FIG. 1 .
  • FIG. 3 shows a timing diagram representing the operation of one embodiment of a controller of the present invention.
  • the data register apparatus of the present invention provides synchronous loading and out-of-phase unloading of input data. This is accomplished by the generation of guard band signals, one for a load signal and another for an unload or read signal, that are logically ANDed to generate a clock enable signal for the apparatus.
  • FIG. 1 illustrates a block diagram of one embodiment of the data register apparatus of the present invention.
  • the apparatus is comprised of a first ( 101 ) and a second data register ( 102 ).
  • these data registers ( 101 and 102 ) are “D flip-flops”.
  • Other embodiments may use other types of flip-flops or registers.
  • Each data register ( 101 and 102 ) is comprised of a data input that is referred to as the “D” input. Data that is to be loaded into a particular register is presented to this input for a predetermined set-up time, typically in the nanosecond range, prior to being loaded. In the embodiment of FIG. 1 , the data to be loaded is referred to as DIN.
  • DIN is loaded into the register with a clock pulse, referred to as CLK in FIG. 1 .
  • CLK clock pulse
  • the rising edge of the clock pulse latches the data.
  • Other embodiments use the falling edge or simply a logical high or low state.
  • CLK is the clock signal to which the DIN signal is referenced.
  • CLK of the present invention may be any periodic signal having a predetermined frequency.
  • the present invention is not limited to any particular frequency or duty cycle.
  • the registers of FIG. 1 are additionally comprised of chip enable inputs that are referred to as CE.
  • the CE inputs are active high. Alternate embodiments may use active low CE inputs.
  • the CE inputs are responsible for enabling the CLK inputs.
  • the CLK input is enabled such that CLK can latch in DIN.
  • the signal at CE is not true (e.g., a logical low)
  • CLK is ignored.
  • the CE signals are provided by signals LDA and LDB.
  • LDA is the load signal for the first register ( 101 ) while LDB is the load signal for the second register ( 102 ).
  • LDA is a periodic, active high signal that is generated by input circuitry.
  • this input circuitry includes a shift register that generates LDA by shifting out a logical high every certain number of clock cycles. The generation of LDB is discussed subsequently with reference to the controller ( 105 ) of the present invention.
  • the registers ( 101 and 102 ) are coupled such that the data output, Q, of the first register ( 101 ) is coupled to the data input, D, of the second register ( 102 ).
  • the output of the apparatus is the Q signal from the second register ( 102 ) and is represented as DOUT.
  • the apparatus of FIG. 1 is additionally comprised of a controller ( 105 ) that is responsible for generating the active high load signal for the second register ( 102 ). This signal is referred to as LDB.
  • the controller ( 105 ) of FIG. 1 is a field programmable gate array (FPGA).
  • FPGA field programmable gate array
  • an FPGA is a gate array into which a logic network can be programmed, after its manufacture, using a hardware description language (HDL).
  • An FPGA may be comprised of an array of logic elements, either gates or lookup table RAM, flip-flops, and programmable interconnect wiring.
  • Alternate embodiments use other types of controllers.
  • PLD programmable logic device
  • ASIC application specific integrated circuit
  • PLD programmable logic device
  • microcontroller programmed with microcode
  • microprocessor a microprocessor
  • ASIC application specific integrated circuit
  • discrete logic gates discrete logic gates
  • the controller ( 105 ) is coupled to the CLK signal, the LDA signal, and a read data bit signal that is referred to in FIG. 1 as RDB.
  • RDB is a periodic, active high signal from output circuitry that is coupled to the output of the data register apparatus of the present invention.
  • a shift register may generate RDB by shifting out a logical high every predetermined number of clock cycles. RDB is high when the output circuitry desires to read the contents of the data register and load that data into the output circuitry.
  • the controller ( 105 ) of the present invention monitors the LDA, CLK, and RDB signals. These signals are then used by the controller to generate two guard band signals.
  • the first guard band signal indicates when the first register's ( 101 ) output data can be read by the second register ( 102 ).
  • the second guard band signal indicates when the second register ( 102 ) is not being read.
  • a signal (LDB) is generated that indicates that the output of the first register ( 101 ) is stable and the second register's ( 102 ) output is not currently being used. This allows the second register ( 102 ) to be updated with stable data from the previous stage ( 101 ) without corrupting the data to the following stage ( 102 ).
  • FIG. 2 illustrates a timing diagram of the operation of one embodiment of the controller of the present invention. This timing diagram is for illustration purposes and does not limit the present invention to one particular operation.
  • the CLK signal is the clock upon which the data register apparatus is based. No particular frequency is shown since the frequency is different for each implementation of the present invention.
  • CLK is a periodic signal having a frequency of 35 MHz.
  • the two guard band signals are represented by GDBND 1 and GDBND 2 .
  • GDBND 1 is generated from the LDA signal.
  • GDBND 2 is generated from the RDB signal.
  • the controller of the present invention can generate the GDBND 1 signal based on when the next LDA logical high occurs.
  • the GNBND 1 signal goes low three clock cycles prior to LDA going high.
  • GDBND 1 returns high two clock cycles after LDA goes back low.
  • the length of time that the GDBND 1 signal is low can be adjusted depending on the implementation of the data register apparatus of the present invention. If the implementation experiences a greater amount of jitter (i.e., a time based error caused by varying time delays in circuit paths), the duty cycle of GDBND 1 can be increased to compensate. For example, the time in clock cycles that the GDBND 1 signal is low before and after the LDA signal may be substantially equal.
  • the controller of the present invention can generate the GDBND 2 signal based on when the next RDB logical high occurs.
  • the GNBND 2 signal goes low three clock cycles prior to RDB going high.
  • GDBND 2 returns high two clock cycles after RDB goes back low.
  • the length of time that the GDBND 2 signal is low can be adjusted depending on the implementation of the data register apparatus of the present invention. If the implementation experiences a greater amount of jitter, the duty cycle of GDBND 2 can be increased to compensate. For example, the time in clock cycles that the GDBND 1 signal is low before and after the RDB signal may be substantially equal.
  • LDB is then generated by logically ANDing GDBND 1 and GDBND 2 .
  • the illustrated embodiment shows that LDB goes high for two clock cycles.
  • LDB will have a different duty cycle. For example, if an implementation has a large amount of jitter, the duty cycle of LDB increases since the duty cycles of both GDBND 1 and GDBND 2 have increased.
  • FIG. 3 illustrates a timing diagram of the operation of one embodiment of the data register apparatus of FIG. 1 .
  • the CLK signal is a periodic clock of some predetermined frequency such as 35 MHz.
  • the rising edge of one pulse ( 301 ) of this clock signal occurs during a time when LDA is active ( 305 ).
  • the DIN that is latched is 0059.
  • the DIN illustrated in FIG. 3 is for illustration purposes only. This data may be accurate for an embodiment that uses a 16-bit circuit that incorporates sixteen of the data register apparatuses of the present invention. Alternate embodiments use from one to an unlimited number of data register apparatuses.
  • LDB goes high ( 315 ) for two clock cycles.
  • a rising edge of CLK ( 320 ) causes the data that was latched into the first stage to be then latched into the second stage. This is then the DOUT of the circuit. In this case, DOUT then becomes 0059 ( 325 ).
  • RDB goes high ( 330 ) periodically in order to read the data in the data register apparatus. The operation of this signal was discussed previously.
  • the signal states of FIG. 3 are for illustration purposes only and do not limit the operation of the present invention. While these signals are shown as being active high, alternate embodiments may use signals that are active low.
  • the data register apparatus of the present invention provides the ability to load data synchronously while reading the data out-of-phase. Additionally, the loading clock, LDB, does not have to be a clean signal as required in the prior art. By providing a range of time to read the data instead of a predetermined time, LDB can toggle multiple times per cycle causing reloads of the data register that do not affect the read operation.
  • the apparatus of the present invention also provides for a high degree of tolerance of jitter between LDA and the reading strobe, RDB. When jitter increases, only the guard band signals need to be made wider.

Abstract

An output of a first data register is coupled to an input of a second data register. The same periodic clock signal clocks both data registers. A controller monitors the clock signal, a first load signal and a read signal. The controller generates a guard band signal using the clock signal and the first load signal. The controller also generates a second guard band signal from the read signal and the clock signal. A second load signal, that is used to load the second data register, is created by performing a logical AND operation on the two guard band signals.

Description

CROSS REFERENCE TO RELATED APPLICATIONS
This application is related to and claims the benefit under 35 USC 119(e) of Provisional Application Serial No. 60/422,329 (the '329 Application), filed on Oct. 30, 2002. The '329 Application is incorporated by reference
BACKGROUND OF THE INVENTION
Data registers are typically used to store data for later reading. For example, a “D flip-flop”, also known as a data register, is presented data at the input. The input data is then loaded on the next clock edge, either rising or falling, depending on the type of register, if the clock enable input is true.
A problem exists with the loading and unloading of a register when the input and output of the register are connected to a source and destination, respectively, that are synchronous and of unknown but relatively constant phase to each other.
One solution to this problem is to use a single register. The problem with this approach is that the unload can occur at any time relative to the load. In this case, the register may be loading at exactly the wrong time as the unloading and, therefore, the register output may have corrupt data. This corrupt data may also be both intermittent and persistent.
Adding a second stage register to the output of the first stage register does not fix this problem. The second stage register could also be loaded at the same time. There is a resulting need for a register apparatus loaded synchronously and unloaded out-of-phase with the loading.
SUMMARY OF THE INVENTION
The present invention encompasses a data register apparatus that can be loaded synchronously and unloaded out-of-phase. The apparatus is comprised of a first data register that has a data input coupled to a data signal, a clock input coupled to a clock signal, an enable input coupled to a periodic first load signal, and a data output.
The apparatus further comprises a second data register that has a data input coupled to the data output of the first data register, a clock input coupled to the clock signal, an enable input coupled to a second load signal, and a data output. In one embodiment, the first and second data registers are “D” type flip-flops.
A controller is coupled to and controls the operation of the first and second data registers. The controller has a clock input coupled to the clock signal, a load data input coupled to the first load signal, and a read data input coupled to a periodic read signal.
The controller has the capability for generating a first guard band signal using the first load signal and the clock signal. The controller also generates a second guard band signal using the read signal and the clock signal. In one embodiment, the controller generates the second load signal by logically ANDing the first and second guard band signals.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a block diagram of one embodiment of the data register of the present invention.
FIG. 2 shows a timing diagram representing the operation of the embodiment illustrated in FIG. 1.
FIG. 3 shows a timing diagram representing the operation of one embodiment of a controller of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
The data register apparatus of the present invention provides synchronous loading and out-of-phase unloading of input data. This is accomplished by the generation of guard band signals, one for a load signal and another for an unload or read signal, that are logically ANDed to generate a clock enable signal for the apparatus.
FIG. 1 illustrates a block diagram of one embodiment of the data register apparatus of the present invention. The apparatus is comprised of a first (101) and a second data register (102). In one preferred embodiment, these data registers (101 and 102) are “D flip-flops”. Other embodiments may use other types of flip-flops or registers.
Each data register (101 and 102) is comprised of a data input that is referred to as the “D” input. Data that is to be loaded into a particular register is presented to this input for a predetermined set-up time, typically in the nanosecond range, prior to being loaded. In the embodiment of FIG. 1, the data to be loaded is referred to as DIN.
DIN is loaded into the register with a clock pulse, referred to as CLK in FIG. 1. In one embodiment, the rising edge of the clock pulse latches the data. Other embodiments use the falling edge or simply a logical high or low state.
The clock is applied to the CLK input of each data register (101 and 102). CLK is the clock signal to which the DIN signal is referenced.
CLK of the present invention may be any periodic signal having a predetermined frequency. The present invention is not limited to any particular frequency or duty cycle.
The registers of FIG. 1 are additionally comprised of chip enable inputs that are referred to as CE. In one preferred embodiment, the CE inputs are active high. Alternate embodiments may use active low CE inputs.
The CE inputs are responsible for enabling the CLK inputs. When the signal presented to each register's CE input is true (e.g., a logical high), the CLK input is enabled such that CLK can latch in DIN. When the signal at CE is not true (e.g., a logical low), CLK is ignored.
In one preferred embodiment, the CE signals are provided by signals LDA and LDB. LDA is the load signal for the first register (101) while LDB is the load signal for the second register (102).
LDA is a periodic, active high signal that is generated by input circuitry. In one embodiment, this input circuitry includes a shift register that generates LDA by shifting out a logical high every certain number of clock cycles. The generation of LDB is discussed subsequently with reference to the controller (105) of the present invention.
The registers (101 and 102) are coupled such that the data output, Q, of the first register (101) is coupled to the data input, D, of the second register (102). The output of the apparatus is the Q signal from the second register (102) and is represented as DOUT.
The apparatus of FIG. 1 is additionally comprised of a controller (105) that is responsible for generating the active high load signal for the second register (102). This signal is referred to as LDB.
In one preferred embodiment, the controller (105) of FIG. 1 is a field programmable gate array (FPGA). As is well known in the art, an FPGA is a gate array into which a logic network can be programmed, after its manufacture, using a hardware description language (HDL). An FPGA may be comprised of an array of logic elements, either gates or lookup table RAM, flip-flops, and programmable interconnect wiring.
Alternate embodiments use other types of controllers. For example, one embodiment uses a programmable logic device (PLD), a microcontroller programmed with microcode, a microprocessor, an application specific integrated circuit (ASIC), or discrete logic gates. The present invention is not limited to any one type of controller or controller scheme.
The controller (105) is coupled to the CLK signal, the LDA signal, and a read data bit signal that is referred to in FIG. 1 as RDB. RDB is a periodic, active high signal from output circuitry that is coupled to the output of the data register apparatus of the present invention. In one embodiment, a shift register may generate RDB by shifting out a logical high every predetermined number of clock cycles. RDB is high when the output circuitry desires to read the contents of the data register and load that data into the output circuitry.
The controller (105) of the present invention monitors the LDA, CLK, and RDB signals. These signals are then used by the controller to generate two guard band signals.
The first guard band signal indicates when the first register's (101) output data can be read by the second register (102). The second guard band signal indicates when the second register (102) is not being read. By logically ANDing these two signals, a signal (LDB) is generated that indicates that the output of the first register (101) is stable and the second register's (102) output is not currently being used. This allows the second register (102) to be updated with stable data from the previous stage (101) without corrupting the data to the following stage (102).
FIG. 2 illustrates a timing diagram of the operation of one embodiment of the controller of the present invention. This timing diagram is for illustration purposes and does not limit the present invention to one particular operation.
The CLK signal is the clock upon which the data register apparatus is based. No particular frequency is shown since the frequency is different for each implementation of the present invention. In one embodiment, CLK is a periodic signal having a frequency of 35 MHz.
The two guard band signals are represented by GDBND1 and GDBND2. GDBND1 is generated from the LDA signal. GDBND2 is generated from the RDB signal.
Since the LDA signal is periodic, the controller of the present invention can generate the GDBND1 signal based on when the next LDA logical high occurs. In the illustrated embodiment, the GNBND1 signal goes low three clock cycles prior to LDA going high. GDBND1 returns high two clock cycles after LDA goes back low.
The length of time that the GDBND1 signal is low can be adjusted depending on the implementation of the data register apparatus of the present invention. If the implementation experiences a greater amount of jitter (i.e., a time based error caused by varying time delays in circuit paths), the duty cycle of GDBND1 can be increased to compensate. For example, the time in clock cycles that the GDBND1 signal is low before and after the LDA signal may be substantially equal.
Since the RDB signal is periodic, the controller of the present invention can generate the GDBND2 signal based on when the next RDB logical high occurs. In the illustrated embodiment, the GNBND2 signal goes low three clock cycles prior to RDB going high. GDBND2 returns high two clock cycles after RDB goes back low.
The length of time that the GDBND2 signal is low can be adjusted depending on the implementation of the data register apparatus of the present invention. If the implementation experiences a greater amount of jitter, the duty cycle of GDBND2 can be increased to compensate. For example, the time in clock cycles that the GDBND1 signal is low before and after the RDB signal may be substantially equal.
LDB is then generated by logically ANDing GDBND1 and GDBND2. The illustrated embodiment shows that LDB goes high for two clock cycles. In alternate embodiments that have different amounts of jitter, LDB will have a different duty cycle. For example, if an implementation has a large amount of jitter, the duty cycle of LDB increases since the duty cycles of both GDBND1 and GDBND2 have increased.
The use of LDB is illustrated in the timing diagram of FIG. 3. FIG. 3 illustrates a timing diagram of the operation of one embodiment of the data register apparatus of FIG. 1.
The CLK signal is a periodic clock of some predetermined frequency such as 35 MHz. The rising edge of one pulse (301) of this clock signal occurs during a time when LDA is active (305). This causes DIN to be latched (310) into the first stage register as illustrated in FIG. 1. The DIN that is latched is 0059.
The DIN illustrated in FIG. 3 is for illustration purposes only. This data may be accurate for an embodiment that uses a 16-bit circuit that incorporates sixteen of the data register apparatuses of the present invention. Alternate embodiments use from one to an unlimited number of data register apparatuses.
LDB goes high (315) for two clock cycles. During this time, a rising edge of CLK (320) causes the data that was latched into the first stage to be then latched into the second stage. This is then the DOUT of the circuit. In this case, DOUT then becomes 0059 (325).
RDB goes high (330) periodically in order to read the data in the data register apparatus. The operation of this signal was discussed previously.
The signal states of FIG. 3 are for illustration purposes only and do not limit the operation of the present invention. While these signals are shown as being active high, alternate embodiments may use signals that are active low.
In summary, the data register apparatus of the present invention provides the ability to load data synchronously while reading the data out-of-phase. Additionally, the loading clock, LDB, does not have to be a clean signal as required in the prior art. By providing a range of time to read the data instead of a predetermined time, LDB can toggle multiple times per cycle causing reloads of the data register that do not affect the read operation.
The apparatus of the present invention also provides for a high degree of tolerance of jitter between LDA and the reading strobe, RDB. When jitter increases, only the guard band signals need to be made wider.
Numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.

Claims (20)

1. A data register apparatus that can be loaded synchronously and unloaded out-of-phase, the apparatus comprising:
a first data register comprising a data input coupled to a data signal, a clock input coupled to a clock signal, an enable input coupled to a periodic first load signal, and a data output;
a second data register comprising a data input coupled to the data output of the first data register, a clock input coupled to the clock signal, an enable input coupled to a second load signal, and a data output; and
a controller having a clock input coupled to the clock signal, a load data input coupled to the first load signal, and a read data input coupled to a periodic read signal, the controller having a capability for generating a first guard band signal in response to the first load signal and the clock signal and a second guard band signal in response to the read signal and the clock signal, the controller further having a capability for generating the second load signal in response to the first and second guard band signals.
2. The apparatus of claim 1 wherein the second load signal is generated by performing a logical AND operation on the first and second guard band signals.
3. The apparatus of claim 1 wherein the controller has the capability for generating the first guard band signal by creating a logical low for a range of clock cycles that begins a first predetermined quantity of clock cycles prior to the first load signal and ends a second predetermined quantity of clock cycles after the first load signal.
4. The apparatus of claim 1 wherein the controller has the capability for generating the second guard band signal by creating a logical low for a range of clock cycles that begins a first predetermined quantity of clock cycles prior to the first read signal and ends a second predetermined quantity of clock cycles after the first read signal.
5. The apparatus of claim 3 wherein the first predetermined quantity of clock cycles is substantially equal to the second predetermined quantity of clock cycles.
6. The apparatus of claim 4 wherein the first predetermined quantity of clock cycles is substantially equal to the second predetermined quantity of clock cycles.
7. The apparatus of claim 1 wherein the first data register is a “D” type flip-flop.
8. The apparatus of claim 1 wherein the second data register is a “D” type flip-flop.
9. The apparatus of claim 1 wherein the controller is a field programmable gate array.
10. A method for loading a data register apparatus synchronously with a periodic first load signal and unloading the data register apparatus out-of-phase with a read signal, the method comprising:
coupling an output of a first data register to an input of a second data register;
coupling a clock signal to a clock input of each of the first and second data registers;
generating a first guard band signal in response to the clock signal and the first load signal;
generating a second guard band signal in response to the clock signal and the read signal;
generating a second load signal in response to the first and second guard band signals; and
applying the second load signal to an enable input of the second data register.
11. The method of claim 10 wherein generating the first guard band signal comprises creating an active low signal that is low for a first predetermined quantity of clock cycles prior to the first load signal and low for a second predetermined quantity of clock cycles subsequent to the first load signal.
12. The method of claim 10 wherein generating the second guard band signal comprises creating an active low signal that is low for a first predetermined quantity of clock cycles prior to the read signal and low for a second predetermined quantity of clock cycles subsequent to the read signal.
13. The method of claim 10 wherein generating the second load signal comprises logically ANDing the first and the second guard band signals.
14. The method of claim 11 wherein the first and second quantities of clock cycles are substantially equal.
15. The method of claim 12 wherein the first and second quantities of clock cycles are substantially equal.
16. A data register apparatus that can be loaded synchronously and unloaded out-of-phase, the apparatus comprising:
a first data register comprising a data input coupled to a data signal, a clock input coupled to a periodic clock signal, an enable input coupled to a periodic first load signal, and a data output;
a second data register comprising a data input coupled to the data output of the first data register, a clock input coupled to the clock signal, an enable input coupled to a second load signal, and a data output; and
a controller having a clock input coupled to the clock signal, a load data input coupled to the first load signal, and a read data input coupled to a periodic read signal, the controller having a capability for generating a first guard band signal that has a low state a first predetermined quantity of clock cycles prior and a second predetermined quantity of clock cycles subsequent to the first load signal, the controller further having a capability for generating a second guard band signal that has a low state a third predetermined quantity of clock cycles prior and a fourth predetermined quantity of clock cycles subsequent to the read signal, the controller further having a capability for generating the second load signal by performing a logical AND operation on the first and second guard band signals.
17. The apparatus of claim 16 wherein the first and second guard bands are periodic.
18. In a controller, a method for loading a data register apparatus synchronously with a periodic first load signal and unloading the data register apparatus out-of-phase with a read signal, the apparatus comprising a first data register having an output coupled to an input of a second data register, both data registers being clock by a periodic clock signal, the method comprising:
generating a first guard band signal that is low for a first predetermined quantity of clock cycles prior and a second predetermined quantity of clock cycles subsequent to the first load signal;
generating a second guard band signal that is low for a third predetermined quantity of clock cycles prior and a fourth predetermined quantity of clock cycles subsequent to the read signal; and
generating a second load signal by logically ANDing the first and second guard band signals.
19. The method of claim 18 and further including coupling the second load signal to an enable input of the second data register.
20. The method of claim 18 wherein the controller is a field programmable gate array.
US10/697,424 2002-10-30 2003-10-30 Method and apparatus for synchronous loading and out-of-phase unloading of data registers Expired - Fee Related US7188268B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/697,424 US7188268B2 (en) 2002-10-30 2003-10-30 Method and apparatus for synchronous loading and out-of-phase unloading of data registers

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US42232902P 2002-10-30 2002-10-30
US10/697,424 US7188268B2 (en) 2002-10-30 2003-10-30 Method and apparatus for synchronous loading and out-of-phase unloading of data registers

Publications (2)

Publication Number Publication Date
US20040088596A1 US20040088596A1 (en) 2004-05-06
US7188268B2 true US7188268B2 (en) 2007-03-06

Family

ID=32179920

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/697,424 Expired - Fee Related US7188268B2 (en) 2002-10-30 2003-10-30 Method and apparatus for synchronous loading and out-of-phase unloading of data registers

Country Status (1)

Country Link
US (1) US7188268B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050248901A1 (en) * 2004-01-20 2005-11-10 Atmel Nantes Sa Microcontroller with synchronised analog to digital converter
US20050262372A1 (en) * 2004-05-19 2005-11-24 Oki Electric Co., Ltd. Microcomputer

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT502264B1 (en) * 2004-04-22 2007-09-15 Univ Wien Tech METHOD FOR PROCESSING DATA IN A LOGICAL SYSTEM

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5857005A (en) * 1995-07-10 1999-01-05 Vlsi Technology, Inc. Method and apparatus for synchronizing transfer of data between memory cells
US5905766A (en) * 1996-03-29 1999-05-18 Fore Systems, Inc. Synchronizer, method and system for transferring data
US5918042A (en) * 1996-02-29 1999-06-29 Arm Limited Dynamic logic pipeline control
US6055285A (en) * 1997-11-17 2000-04-25 Qlogic Corporation Synchronization circuit for transferring pointer between two asynchronous circuits
US20030009644A1 (en) * 2001-07-05 2003-01-09 Alps Electric Co., Ltd. Bi-directional RAM for data transfer using two clock frequencies having no multiple relation
US6584536B1 (en) * 1998-10-07 2003-06-24 Texas Instruments Incorporated Bus transaction accelerator for multi-clock systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5857005A (en) * 1995-07-10 1999-01-05 Vlsi Technology, Inc. Method and apparatus for synchronizing transfer of data between memory cells
US5918042A (en) * 1996-02-29 1999-06-29 Arm Limited Dynamic logic pipeline control
US5905766A (en) * 1996-03-29 1999-05-18 Fore Systems, Inc. Synchronizer, method and system for transferring data
US6055285A (en) * 1997-11-17 2000-04-25 Qlogic Corporation Synchronization circuit for transferring pointer between two asynchronous circuits
US6584536B1 (en) * 1998-10-07 2003-06-24 Texas Instruments Incorporated Bus transaction accelerator for multi-clock systems
US20030009644A1 (en) * 2001-07-05 2003-01-09 Alps Electric Co., Ltd. Bi-directional RAM for data transfer using two clock frequencies having no multiple relation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050248901A1 (en) * 2004-01-20 2005-11-10 Atmel Nantes Sa Microcontroller with synchronised analog to digital converter
US7353417B2 (en) * 2004-01-20 2008-04-01 Atmel Nantes Sa Microcontroller with synchronised analog to digital converter
US20050262372A1 (en) * 2004-05-19 2005-11-24 Oki Electric Co., Ltd. Microcomputer
US7360109B2 (en) * 2004-05-19 2008-04-15 Oki Electric Industry Co., Ltd. Measuring the interval of a signal using a counter and providing the value to a processor

Also Published As

Publication number Publication date
US20040088596A1 (en) 2004-05-06

Similar Documents

Publication Publication Date Title
US5245231A (en) Integrated delay line
KR100523716B1 (en) Register without restriction of number of mounted memory devices and memory module having the same
US5857095A (en) Method for aligning a control signal and a clock signal
KR100571744B1 (en) Semiconductor integrated circuit device
US4745302A (en) Asynchronous signal synchronizing circuit
US6259283B1 (en) Clock doubler circuit and method
US20050218957A1 (en) Programmable frequency multiplier
US6473476B1 (en) Method and apparatus for providing deterministic resets for clock divider systems
KR100416208B1 (en) A method and apparatus for source synchronous transfers at frequencies including an odd fraction of a core frequency
JPS59229634A (en) Programmable timing system
US7639054B1 (en) Techniques for generating programmable delays
US6064232A (en) Self-clocked logic circuit and methodology
US5644499A (en) Retiming gated-clocks and precharged circuit structures
US6661265B2 (en) Delay locked loop for generating complementary clock signals
US5742190A (en) Method and apparatus for clocking latches in a system having both pulse latches and two-phase latches
US7178048B2 (en) System and method for signal synchronization based on plural clock signals
US5281874A (en) Compensated digital delay semiconductor device with selectable output taps and method therefor
US5744992A (en) Digital phase shifter
JPH1074390A (en) Semiconductor integrated circuit
US7188268B2 (en) Method and apparatus for synchronous loading and out-of-phase unloading of data registers
US6930522B2 (en) Method and apparatus to delay signal latching
JP2937326B2 (en) Test circuit for logic circuits
JPH10512084A (en) Interleaved and sequential counters
US6542999B1 (en) System for latching first and second data on opposite edges of a first clock and outputting both data in response to a second clock
US6194938B1 (en) Synchronous integrated clock circuit

Legal Events

Date Code Title Description
AS Assignment

Owner name: ADC DSL SYSTEMS, INC., MINNESOTA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VANDENBERG, DENNIS;GILLILAND, DOUGLAS G.;REEL/FRAME:014658/0641;SIGNING DATES FROM 20031028 TO 20031029

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, IL

Free format text: PATENT SECURITY AGREEMENT - ABL;ASSIGNOR:ADC DSL SYSTEMS, INC.;REEL/FRAME:036715/0164

Effective date: 20150928

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS THE COL

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:ADC DSL SYSTEMS, INC.;REEL/FRAME:036718/0042

Effective date: 20150928

Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, IL

Free format text: PATENT SECURITY AGREEMENT - TERM LOAN;ASSIGNOR:ADC DSL SYSTEMS, INC.;REEL/FRAME:036714/0808

Effective date: 20150928

AS Assignment

Owner name: COMMSCOPE DSL SYSTEMS LLC (FORMERLY KNOWN AS ADC D

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (RELEASES RF 036718/0042);ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:042126/0050

Effective date: 20170317

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Expired due to failure to pay maintenance fee

Effective date: 20190306