IP Library Granted Patent US 8,004,319
Granted Patent B2
US 8,004,319 · App. 12/627,276 · Granted Aug 23, 2011

Programmable clock divider

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,004,319
App. No.
12/627,276
Granted
Aug 23, 2011
Kind
B2
Abstract

In one or more embodiments, a programmable clock divider (PCD) can receive an input clock signal and a programmable number, and the PCD can produce a divided clock signal based on the programmable number. First and second circuits can compare first and second numbers, respectively, with a count value from a counter to generate first and second signals, respectively. A multiplexer can receive the first and second signals at inputs and can receive the clock signal at a selection input. The multiplexer can output an output signal, as a divided clock signal, based on the clock signal, the first signal, and the second signal, where the output signal transitions from a first value to a second value on at least one of a first edge of the first clock signal to output the first signal and a second edge of the first clock signal to output the second signal.

Claims (98)

1. A clock divider, comprising:

a first circuit, including first logic to perform a first comparison of a first number and a count value to generate a first signal;

a second circuit, including second logic to perform a second comparison of a second number and the count value to generate a second signal; and

a first multiplexer including a first input coupled to the first circuit to receive the first signal, a second input coupled to the second circuit to receive the second signal, a selection input to receive a first clock signal, and an output, wherein the first multiplexer outputs an output signal via the output, as a divided clock signal, based on the first clock signal, the first signal, and the second signal, wherein the output signal transitions from a first value to a second value on at least one of a first edge of the first clock signal to output the first signal and a second edge of the first clock signal to output the second signal.

2. The clock divider of claim 1 , further comprising:

a second multiplexer including an output coupled to the selection input of the first multiplexer, a first input to receive a second clock signal, and a second input to receive a third clock signal, wherein the output of the second multiplexer provides at least one of the second clock signal and the third clock signal to the selection input of the first multiplexer as the first clock signal, wherein the first multiplexer and the second multiplexer provide a common path for the second clock signal and the third clock signal as an input clock to the clock divider.

3. The clock divider of claim 1 , further comprising:

a counter coupled to the first circuit to provide the count value.

4. The clock divider of claim 3 ,

wherein the second circuit includes:

a logic unit; and

a latch coupled to the logic unit;

wherein the logic unit compares the second number and the count value from the counter and provides the second signal to the latch; and

wherein the latch provides the second signal to the first multiplexer.

5. The clock divider of claim 1 , wherein if the first number is an even number, the output signal transitions from the first value to the second value on the first edge of the first clock signal, and if the first number is an odd number, the output signal transitions from the first value to the second value on the second edge of the first clock signal.

6. The clock divider of claim 1 ,

wherein the first multiplexer receives, from the first circuit, the first value at the first input of the first multiplexer for each of a first set of sequential values corresponding to the second value of the first clock signal;

wherein the first multiplexer receives, from the second circuit, the second value at the second input of the first multiplexer for each of a second set of sequential values corresponding to the first value of the first clock signal;

wherein, if the first number is not equal to the second number, the first multiplexer receives:

the first value, from the second circuit, at the second input of the first multiplexer for each of a third set of sequential values corresponding to the first value of the first clock signal; and

the second value, from the first circuit, at the first input of the first multiplexer for each of a fourth set of sequential values corresponding to the second value of the first clock signal; and

wherein, if the first number is equal to the first number, the first multiplexer receives:

the first value, from the second circuit, at the second input of the first multiplexer for each of a fifth set of sequential values corresponding to the first value the first clock signal; and

the second value, from the first circuit, at the first input of the first multiplexer for each of a sixth set of sequential values corresponding to the second value of the first clock signal.

7. The clock divider of claim 6 , further comprising:

a second multiplexer including an output coupled to the selection input of the first multiplexer, a first input to receive a second clock signal, and a second input to receive a third clock signal, wherein the output of the second multiplexer provides at least one of the second clock signal and the third clock signal to the selection input of the first multiplexer as the first clock signal, wherein the first multiplexer and the second multiplexer provide a common path for the second clock signal and the third clock signal as input clock to the clock divider;

wherein the first multiplexer receives the third clock signal as the first clock signal;

wherein the first multiplexer receives, from the circuit, the first value at the first input of the first multiplexer for each of a seventh set of sequential values corresponding to the second value of the first clock signal;

wherein the first multiplexer receives, from the circuit, the second value at the second input of the first multiplexer for each of an eighth set of sequential values corresponding to the first value of the first clock signal;

wherein, if first number is not equal to the second number, the first multiplexer receives:

the first value, from the second circuit, at the second input of the first multiplexer for each of a ninth set of sequential values corresponding to the first value of the first clock signal; and

the second value, from the circuit, at the first input of the first multiplexer for each of a tenth set of sequential values corresponding to the second value of the first clock signal; and

wherein, if first number equals the second number, the first multiplexer receives:

the first value, from the second circuit, at the second input of the first multiplexer for each of an eleventh set of sequential values corresponding to the first value of the first clock signal; and

the second value, from the circuit, at the first input of the first multiplexer for each of a twelfth set of sequential values corresponding to the second value of the first clock signal.

8. A method of operating a clock divider, comprising:

comparing a first number and a count value;

generating a first signal based on said comparing the first number and the count value;

comparing a second number and the count value;

generating a second signal based on said comparing the second number and the count value;

receiving the first signal at a first input of a first multiplexer;

receiving the second signal at a second input of the first multiplexer;

receiving a first clock signal at a selection input of the first multiplexer;

outputting, as output of the clock divider, an output signal via an output of the first multiplexer, wherein the output signal is based on the first clock signal, the first signal, and the second signal, wherein the output signal transitions from a first value to a second value on at least one of a first edge of the first clock signal to output the first signal and a second edge of the first clock signal to output the second signal.

9. The method of claim 8 , further comprising:

receiving a second clock signal at a first input of a second multiplexer;

receiving a third clock signal at a second input of the second multiplexer

outputting at least one of the second clock signal and the third clock signal as the first clock signal via an output of the second multiplexer, wherein the output of the second multiplexer is coupled to the selection input of the first multiplexer.

10. The method of claim 9 , wherein the first multiplexer and the second multiplexer provide a common path for the second clock signal and the third clock signal as input clock to the clock divider.

11. The method of claim 8 , further comprising:

adjusting a counter based on the first clock signal; and

providing the count value based on said adjusting the counter.

12. The method of claim 11 , wherein said adjusting the counter includes decrementing the count value.

13. The method of claim 8 ,

wherein said generating the first signal includes:

generating the first value for each of a first set of sequential values corresponding to the second value of the first clock signal;

if the first number is not equal to the second number, generating the second value for each of a second set of sequential values corresponding to the second value of the first clock signal; and

if the first number is equal to the first number, generating the second value for each of a third set of sequential values corresponding to the second value of the first clock signal; and

wherein said generating the second signal includes:

generating the second value for each of a fourth set of sequential values corresponding to the first value of the first clock signal;

if the first number is not equal to the second number, generating the first value for each of a fifth set of sequential values corresponding to the first value of the first clock signal; and

if the first number is equal to the first number, generating the first value for each of a sixth set of sequential values corresponding to the first value the first clock signal.

14. An integrated circuit, comprising:

a first circuit, including first logic to perform a first comparison of a first number and a count value to generate a first signal;

a second circuit, including second logic to perform a second comparison of a second number and the count value to generate a second signal; and

a first multiplexer including a first input coupled to the first circuit to receive the first signal, a second input coupled to the second circuit to receive the second signal, a selection input to receive a first clock signal, and an output, wherein the first multiplexer outputs an output signal via the output, as output of the clock divider, based on the first clock signal, the first signal, and the second signal, wherein the output signal transitions from a first value to a second value on at least one of a first edge of the first clock signal to output the first signal and a second edge of the first clock signal to output the second signal.

15. The integrated circuit of claim 1 , further comprising:

a second multiplexer including an output coupled to the selection input of the first multiplexer, a first input to receive a second clock signal, and a second input to receive a third clock signal, wherein the output of the second multiplexer provides at least one of the second clock signal and the third clock signal to the selection input of the first multiplexer as the first clock signal, wherein the first multiplexer and the second multiplexer provide a common path for the second clock signal and the third clock signal as input clock to the clock divider.

16. The integrated circuit of claim 15 , further comprising:

a counter coupled to the first circuit to provide the count value;

wherein the first circuit compares the first number and the count value and provides the first signal to the first multiplexer.

17. The integrated circuit of claim 16 ,

wherein the second circuit includes:

a logic unit; and

a latch coupled to the logic unit;

wherein the logic unit compares the second number and the count value from the counter and provides the second signal to the latch; and

wherein the latch provides the second signal to the first multiplexer.

18. The integrated circuit of claim 15 , wherein if the first number is an even number, the output signal transitions from the first value to the second value on the first edge of the first clock signal, and if the first number is an odd number, the output signal transitions from the first value to the second value on the second edge of the first clock signal.

19. The integrated circuit of claim 15 ,

wherein the first multiplexer receives, from the first circuit, the first value at the first input of the first multiplexer for each of a first set of sequential values corresponding to the second value of the first clock signal;

wherein the first multiplexer receives, from the second circuit, the second value at the second input of the first multiplexer for each of a second set of sequential values corresponding to the first value of the first clock signal;

wherein, if the first number is not equal to the second number, the first multiplexer receives:

the first value, from the second circuit, at the second input of the first multiplexer for each of a third set of sequential values corresponding to the first value of the first clock signal; and

the second value, from the first circuit, at the first input of the first multiplexer for each of a fourth set of sequential values corresponding to the second value of the first clock signal; and

wherein, if the first number is equal to the second number, the first multiplexer receives:

the first value, from the second circuit, at the second input of the first multiplexer for each of a fifth set of sequential values corresponding to the first value the first clock signal; and

the second value, from the first circuit, at the first input of the first multiplexer for each of a sixth set of sequential values corresponding to the second value of the first clock signal.

20. The integrated circuit of claim 19 , further comprising:

a second multiplexer including an output coupled to the selection input of the first multiplexer, a first input to receive a second clock signal, and a second input to receive a third clock signal, wherein the output of the second multiplexer provides at least one of the second clock signal and the third clock signal to the selection input of the first multiplexer as the first clock signal, wherein the first multiplexer and the second multiplexer provide a common path for the second clock signal and the third clock signal as input clock to the clock divider;

wherein the first multiplexer receives the third clock signal as the first clock signal;

wherein the first multiplexer receives, from the first circuit, the first value at the first input of the first multiplexer for each of a seventh set of sequential values corresponding to the second value of the first clock signal;

wherein the first multiplexer receives, from the second circuit, the second value at the second input of the first multiplexer for each of an eighth set of sequential values corresponding to the first value of the first clock signal;

wherein, if the first number is not equal to the second number, the first multiplexer receives:

the first value, from the second circuit, at the second input of the first multiplexer for each of a ninth set of sequential values corresponding to the first value of the first clock signal; and

the second value, from the first circuit, at the first input of the first multiplexer for each of a tenth set of sequential values corresponding to the second value of the first clock signal; and

wherein, if first number equals the second number, the first multiplexer receives:

the first value, from the second circuit, at the second input of the first multiplexer for each of an eleventh set of sequential values corresponding to the first value of the first clock signal; and

the second value, from the first circuit, at the first input of the first multiplexer for each of a twelfth set of sequential values corresponding to the second value of the first clock signal.

Assignments (27)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2025
From: NXP USA, INC.
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY LIMITED
Reel/Frame 072889/0893 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
MERGER Recorded Jan 3, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041144/0363 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037355/0723 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded Mar 15, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 024079/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2009
From: KUMAR, BHOODEV; MARTINEC, BART J.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 023579/0172 →