Patent US20030212657A1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US5880607A Expired / Lapsed US ⏱️ 0.0 years remaining

Clock distribution network with modular buffers

Assignee: Oracle America Inc
•
Filing: 1996-05-01
•
Granted: 1999-03-09
•
Expires: 2016-05-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A n level clock distribution network for a datapath block includes an external buffer that outputs a clock signal and a datapath block having a logic block and a buffer block containing one or more nth-level buffers implemented with predefined modular buffers. The logic block includes one or more predefined areas containing clocked logic elements. The number of clocked logic elements in a predefined area is constrained to be less than or equal to a predetermined maximum number. Each nth-level buffer receives the clock signal outputted by the external buffer and distributes this clock signal to the clocked logic elements within a corresponding predefined area of the logic block. The nth-level buffer driving each predefined area is implemented by selecting one or more buffers from a family of predefined modular buffers appropriate for the number of clocked logic elements in the predefined area. In cases where more than one predefined modular buffer is selected, the selected predefined modular buffers are connected in parallel. Because a family of predefined modular buffers is used instead of custom buffers, the design of the buffer block is greatly simplified. Moreover, this network is easily implemented with an automated place and route design tool by predefining each modular buffer in a standard cell library of the automated place and route design tool.

Inventors

  • 👤 Sundari S. Mitra

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 11:03
CPC Classifications
G; G06; G06F; G06F1/00; G06F1/04; G06F1/10

Claims Analysis

Total Claims: 42
Claim 1
Independent Claim 103 words
A clock distribution network having n levels, n being an integer greater than 1, said clock distribution network comprising: a logic block having a first predefined area containing substantially only clocked logic elements; and a nth-level modular buffer disposed outside of and coupled to said first predefined area of said logic block, wherein said nth-level modular buffer is configured to distribute a clock signal to said clocked logic elements within said predefined area of said logic block, and wherein said nth-level modular buffer is implemented by interconnecting one or more predefined buffers selected from a finite set of predefined buffers having different sizes.
Claim 2
Dependent Claim 103 words
A clock distribution network having n levels, n being an integer greater than 1, said clock distribution network comprising: a logic block having a first predefined area containing substantially only clocked logic elements; and a nth-level modular buffer disposed outside of and coupled to said first predefined area of said logic block, wherein said nth-level modular buffer is configured to distribute a clock signal to said clocked logic elements within said predefined area of said logic block, and wherein said nth-level modular buffer is implemented by interconnecting one or more predefined buffers selected from a finite set of predefined buffers having different sizes.
Claim 3
Dependent Claim 31 words
The clock distribution network of claim 1 wherein each said predefined buffer of said finite set of predefined buffers is sized to drive a different predetermined number of clocked logic elements.
Claim 4
Dependent Claim 71 words
The clock distribution network of claim 2 wherein said finite set of predefined buffers includes a first predefined buffer sized to drive one clocked logic element, a second predefined buffer sized to drive two clocked logic elements, a third predefined buffer sized to drive four clocked logic elements, a fourth predefined buffer sized to drive eight clocked logic elements, and a fifth predefined buffer sized to drive sixteen clocked logic elements.
Claim 5
Dependent Claim 26 words
The clock distribution network of claim 3 wherein said nth level modular buffer is implemented using one or more of said predefined buffers connected in parallel.
Claim 6
Dependent Claim 33 words
The clock distribution network of claim 4 further comprising a (n-1)th-level modular buffer coupled to said nth-level modular buffer, wherein said (n-1)th-level modular buffer provides a clock signal to said nth-level modular buffer.
Claim 7
Dependent Claim 32 words
The clock distribution network of claim 5 further comprising a buffer block coupled to said logic block, said (n-1)th modular buffer and said nth-level modular buffer being disposed within said buffer block.
Claim 8
Dependent Claim 36 words
The clock distribution network of claim 6 wherein said logic block comprises a plurality of predefined areas of clocked logic elements, each predefined area of said plurality of predefined area containing substantially only clocked logic elements.
Claim 9
Dependent Claim 43 words
The clock distribution network of claim 7 wherein said buffer block further comprises a plurality of nth-level modular buffers, each nth-level modular buffer of said plurality of nth-level modular buffers being coupled to a corresponding predefined area of said plurality of predefined areas.
Claim 10
Dependent Claim 45 words
The clock distribution network of claim 8 wherein said buffer block further comprises a plurality of (n-1)th-level modular buffers, each (n-1)th-level modular buffer of said plurality of (n-1)th-level modular buffers being coupled to a corresponding nth-level modular buffer of said plurality of nth-level modular buffers.
Claim 11
Dependent Claim 59 words
The clock distribution network of claim 9 further comprising a plurality of logic blocks, each logic block having a plurality of predefined areas of clocked logic elements, and further comprising a plurality of buffer blocks coupled to said plurality of logic blocks, each buffer block comprising a plurality of nth-level modular buffers and a plurality of (n-1)th-level modular buffers.
Claim 12
Dependent Claim 13 words
The clock distribution network of claim 9 wherein n is greater than four.
Claim 13
Dependent Claim 37 words
The clock distribution network of claim 9 wherein each said (n-1)th-level modular buffer of said plurality of (n-1)th-level modular buffers is implemented with a predefined buffer selected from a finite set of predefined buffers of differing sizes.
Claim 14
Dependent Claim 38 words
The clock distribution network of claim 12 wherein said implementation of a particular (n-1)th-level modular buffer of said plurality of (n-1)th-level modular buffers depends on the number of nth-level modular buffers coupled to said particular (n-1)th-level modular buffer.
Claim 15
Dependent Claim 36 words
The clock distribution network of claim 12 wherein said implementation of a particular (n-1)th-level modular buffer of said plurality of (n-1)th-level modular buffers depends on the clock line length driven by said particular (n-1)th-level modular buffer.
Claim 16
Dependent Claim 136 words
A computer system comprising: a memory; an interface, wherein said interface is configured to interact with a peripheral device; and a circuit coupled to said memory and said interface, said circuit comprising: a logic block having a first predefined area containing substantially only clocked logic elements, and a clock distribution network having n levels, n being an integer greater than 1, the clock distribution network including a nth-level modular buffer disposed outside of and coupled to said first predefined area of said logic block, wherein said nth-level modular buffer is configured to distribute a clock signal to said clocked logic elements within said first predefined area of said logic block, and wherein said nth-level modular buffer is implemented by interconnecting one or more predefined buffers selected from a finite set of predefined buffers having differing sizes.
Claim 17
Dependent Claim 136 words
A computer system comprising: a memory; an interface, wherein said interface is configured to interact with a peripheral device; and a circuit coupled to said memory and said interface, said circuit comprising: a logic block having a first predefined area containing substantially only clocked logic elements, and a clock distribution network having n levels, n being an integer greater than 1, the clock distribution network including a nth-level modular buffer disposed outside of and coupled to said first predefined area of said logic block, wherein said nth-level modular buffer is configured to distribute a clock signal to said clocked logic elements within said first predefined area of said logic block, and wherein said nth-level modular buffer is implemented by interconnecting one or more predefined buffers selected from a finite set of predefined buffers having differing sizes.
Claim 18
Dependent Claim 30 words
The computer system of claim 15 wherein each said predefined buffer of said finite set of predefined buffers is sized to drive a different predetermined number of clocked logic elements.
Claim 19
Dependent Claim 70 words
The computer system of claim 16 wherein said finite set of predefined buffers includes a first predefined buffer sized to drive one clocked logic element, a second predefined buffer sized to drive two clocked logic elements, a third predefined buffer sized to drive four clocked logic elements, a fourth predefined buffer sized to drive eight clocked logic elements, and a fifth predefined buffer sized to drive sixteen clocked logic elements.
Claim 20
Dependent Claim 25 words
The computer system of claim 17 wherein said nth level modular buffer is implemented using one or more of said predefined buffers connected in parallel.
Claim 21
Dependent Claim 32 words
The computer system of claim 17 further comprising a (n-1)th-level modular buffer coupled to said nth-level modular buffer, wherein said (n-1)th-level modular buffer provides a clock signal to said nth-level modular buffer.
Claim 22
Dependent Claim 30 words
The computer system of claim 19 further comprising a buffer block coupled to said logic block, said (n-1)th buffer and said nth-level modular buffer being disposed within said buffer block.
Claim 23
Dependent Claim 35 words
The computer system of claim 20 wherein said logic block comprises a plurality of predefined areas of clocked logic elements, each predefined area of said plurality of predefined areas containing substantially only clocked logic elements.
Claim 24
Dependent Claim 42 words
The computer system of claim 21 wherein said buffer block further comprises a plurality of nth-level modular buffers, each nth-level modular buffer of said plurality of nth-level modular buffers being coupled to a corresponding predefined area of said plurality of predefined areas.
Claim 25
Dependent Claim 44 words
The computer system of claim 22 wherein said buffer block further comprises a plurality of (n-1)th-level modular buffers, each (n-1)th-level modular buffer of said plurality of (n-1)th-level modular buffers being coupled to a corresponding nth-level modular buffer of said plurality of nth-level modular buffers.
Claim 26
Dependent Claim 58 words
The computer system of claim 23 further comprising a plurality of logic blocks, each logic block having a plurality of predefined areas of clocked logic elements, and further comprising a plurality of buffer blocks coupled to said plurality of logic blocks, each buffer block including a plurality of nth-level modular buffers and a plurality of (n-1)th-level modular buffers.
Claim 27
Dependent Claim 36 words
The computer system of claim 23 wherein each said (n-1)th-level modular buffer of said plurality of (n-1)th-level modular buffers is implemented with a predefined buffer selected from a finite set of predefined buffers of differing sizes.
Claim 28
Independent Claim 153 words
A method for implementing a n level datapath block distribution network in a circuit, n being an integer greater than 1, said datapath block including a logic block having clocked logic elements and a buffer block proximate to said logic block, said method comprising: disposing clocked logic elements in a first predefined area of said logic block; implementing a first nth-level modular buffer by interconnecting one or more predefined buffers selected from a finite set of predefined buffers having differing sizes; and disposing said first nth-level modular buffer within said buffer block and coupling said first nth-level modular buffer to said clocked logic elements within said first predefined area, wherein said first predefined area of said logic block contains substantially only said clocked logic elements, and wherein said first nth-level modular buffer is configured to distribute a clock signal to said clocked logic elements within said first predefined area of said logic block.
Claim 29
Independent Claim 153 words
A method for implementing a n level datapath block distribution network in a circuit, n being an integer greater than 1, said datapath block including a logic block having clocked logic elements and a buffer block proximate to said logic block, said method comprising: disposing clocked logic elements in a first predefined area of said logic block; implementing a first nth-level modular buffer by interconnecting one or more predefined buffers selected from a finite set of predefined buffers having differing sizes; and disposing said first nth-level modular buffer within said buffer block and coupling said first nth-level modular buffer to said clocked logic elements within said first predefined area, wherein said first predefined area of said logic block contains substantially only said clocked logic elements, and wherein said first nth-level modular buffer is configured to distribute a clock signal to said clocked logic elements within said first predefined area of said logic block.
Claim 30
Dependent Claim 29 words
The method of claim 26 wherein each said predefined buffer of said finite set of predefined buffers is sized to drive a different predetermined number of clocked logic elements.
Claim 31
Dependent Claim 69 words
The method of claim 27 wherein said finite set of predefined buffers includes a first predefined buffer sized to drive one clocked logic element, a second predefined buffer sized to drive two clocked logic elements, a third predefined buffer sized to drive four clocked logic elements, a fourth predefined buffer sized to drive eight clocked logic elements, and a fifth predefined buffer sized to drive sixteen clocked logic elements.
Claim 32
Dependent Claim 21 words
The method of claim 28 further comprising implementing said nth-level modular buffer by connecting in parallel one or more predefined buffers.
Claim 33
Dependent Claim 27 words
The method of claim 28 further comprising disposing a (n-1)th-level modular buffer within said buffer block and coupling said (n-1)th-level modular buffer to said nth-level modular buffer.
Claim 34
Dependent Claim 187 words
The method of claim 30 wherein: said disposing of clocked logic elements further comprises disposing substantially all of said clocked logic elements of said logic block within a plurality of predefined areas within said logic block, said plurality of predefined areas including said first predefined area; said implementing of a first nth-level modular buffer further comprises implementing a plurality of nth-level modular buffers using one or more predefined buffers selected from a finite set of predefined buffers, said plurality of nth-level modular buffers including said first nth-level modular buffer; and said disposing of said nth-level modular buffer within said buffer block further comprises disposing said plurality of nth-level modular buffers within said buffer block and coupling said plurality of nth-level modular buffers to said clocked elements within said corresponding predefined areas of plurality of predefined areas, wherein each predefined area of said plurality of predefined areas contains substantially only clocked logic elements, and wherein each nth-level modular buffer of said plurality of nth-level modular buffers is configured to distribute a clock signal to said clocked elements within the corresponding predefined area of said plurality of predefined areas.
Claim 35
Dependent Claim 45 words
The method of claim 31 further comprising disposing a plurality of (n-1)th-level modular buffers within said buffer block and coupling each (n-1)th-level modular buffer of said plurality of (n-1)th-level modular buffers to a corresponding said nth-level modular buffer of said plurality of nth-level modular buffers.
Claim 36
Dependent Claim 61 words
The method of claim 32 further comprising implementing each said (n-1)th-level modular buffer of said plurality of (n-1)th-level modular buffers with a buffer selected from a finite set of predefined buffers having differing sizes, wherein said selection of a particular predefined buffer of said finite set of predefined buffers is dependent on a capacitive load coupled to said (n-1)th-level modular buffer.
Claim 37
Dependent Claim 15 words
The method of claim 33 wherein an automated place and route tool performs said method.
Claim 38
Independent Claim 136 words
A method for distributing a clock signal, said method comprising: providing a clock signal from a first (n-1)th-level modular, n being an integer greater than 1, said first (n-1)th-level modular buffer being disposed within a buffer block; implementing a first nth-level modular buffer by interconnecting one or more predefined buffers selected from a finite set of predefined buffers having differing sizes; receiving said clock signal from said first (n-1)th-level modular buffer at said first nth-level modular buffer, said first nth-level modular buffer being disposed with said buffer block; and distributing said clock signal received at said first nth-level modular to a plurality of clocked logic elements disposed within a predefined area of a logic block, said predefined area containing substantially only said plurality of clocked logic elements, said logic block disposed proximate to said buffer block.
Claim 39
Independent Claim 136 words
A method for distributing a clock signal, said method comprising: providing a clock signal from a first (n-1)th-level modular, n being an integer greater than 1, said first (n-1)th-level modular buffer being disposed within a buffer block; implementing a first nth-level modular buffer by interconnecting one or more predefined buffers selected from a finite set of predefined buffers having differing sizes; receiving said clock signal from said first (n-1)th-level modular buffer at said first nth-level modular buffer, said first nth-level modular buffer being disposed with said buffer block; and distributing said clock signal received at said first nth-level modular to a plurality of clocked logic elements disposed within a predefined area of a logic block, said predefined area containing substantially only said plurality of clocked logic elements, said logic block disposed proximate to said buffer block.
Claim 40
Dependent Claim 183 words
The method of claim 35 wherein: said providing a clock signal from a first (n-1)th-level modular buffer further comprises providing clock signals from a plurality of (n-1)th-level modular buffers, said plurality of (n-1)th-level modular buffers disposed within said buffer block and including said first (n-1)th-level modular buffer; said implementing a first nth level modular buffer further comprises implementing each nth-level modular buffer of a plurality of nth level modular buffers using one or more predefined buffers selected from said finite set of predefined buffers, said plurality of nth-level modular buffers including said first nth-level modular buffer; said receiving said clock signal from said (n-1)th-level modular buffer further comprises receiving said clock signals from said plurality of (n-1)th-level modular buffers at a corresponding nth-level modular buffer of a plurality fourth-level modular buffers; and said distributing said clock signal further comprises distributing said clock signals received by said plurality of first nth-level modular to a plurality of clocked logic elements disposed within a corresponding predefined area of a plurality of predefined areas of a logic block, said logic block disposed proximate to said buffer block.
Claim 41
Dependent Claim 36 words
The method of claim 36 wherein a nth-level modular buffer of said plurality of nth-level modular buffers is implemented by connecting in parallel a plurality of predefined buffers selected from said finite set of predefined buffers.
Claim 42
Dependent Claim 56 words
The method of claim 36 wherein said (n-1)th-level modular buffer is implemented with a buffer selected from a finite set of predefined modular buffers having differing sizes, wherein said selection of a particular predefined modular buffer of said finite set of predefined modular buffers is dependent on a capacitive load coupled to said (n-1)th-level modular buffer.

References Cited (Backward Citations)

US5132563A Cited
US5497109A Cited
US5396129A Cited
US5586307A Cited
US5481209A Cited
US5570045A Cited
US6235521B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-03-08 2002-09-07 2003-03-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-03-08 2006-09-07 2007-03-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-03-08 2010-09-07 2011-03-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag