Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
257 words
A method for making a digital integrated circuit comprising: developing a set of circuit specifications for a digital integrated circuit including a maximum clock skew, a minimum driveability, and a maximum ramp delay; describing said set of circuit specifications in a hardware description language and inputting said hardware description language into a digital computer system; synthesizing on said digital computer system a netlist from said hardware description language which specifies circuitry of said integrated circuit, said synthesized netlist describing at least one clock net; analyzing and inserting buffers as required into said netlist on said digital computer system to create a modified netlist which describes a circuit that has at most said maximum clock skew, at least said minimum driveability, and at most said maximum ramp delay said analyzing and inserting buffers including creating an initial routing for said clock net, computing partial parameters for said clock net by conducting a bottom up scan and a top down scan of said clock net, finding at least one balance point in said clock net based on said partial parameters, and inserting a driver into said clock net at said balance point; and producing a digital integrated circuit as specified by said modified netlist comprising a semiconductor die including said circuitry of said integrated circuit, said semiconductor die having a plurality of I/O pads, a package enclosing said integrated circuit die, a plurality of leads extending from said package, and a plurality of conductors coupling said plurality of I/O pads of said semiconductor die to said plurality of leads.
Claim 2
Independent Claim
257 words
A method for making a digital integrated circuit comprising: developing a set of circuit specifications for a digital integrated circuit including a maximum clock skew, a minimum driveability, and a maximum ramp delay; describing said set of circuit specifications in a hardware description language and inputting said hardware description language into a digital computer system; synthesizing on said digital computer system a netlist from said hardware description language which specifies circuitry of said integrated circuit, said synthesized netlist describing at least one clock net; analyzing and inserting buffers as required into said netlist on said digital computer system to create a modified netlist which describes a circuit that has at most said maximum clock skew, at least said minimum driveability, and at most said maximum ramp delay said analyzing and inserting buffers including creating an initial routing for said clock net, computing partial parameters for said clock net by conducting a bottom up scan and a top down scan of said clock net, finding at least one balance point in said clock net based on said partial parameters, and inserting a driver into said clock net at said balance point; and producing a digital integrated circuit as specified by said modified netlist comprising a semiconductor die including said circuitry of said integrated circuit, said semiconductor die having a plurality of I/O pads, a package enclosing said integrated circuit die, a plurality of leads extending from said package, and a plurality of conductors coupling said plurality of I/O pads of said semiconductor die to said plurality of leads.
Claim 3
Dependent Claim
61 words
A method as recited in claim 1 further comprising the steps of: laying out on said digital computer system at least portions of said circuitry of said integrated circuit; and producing at least one integrated circuit mask based upon said laying out step; wherein said integrated circuit is produced, at least in part, with said at least one integrated circuit mask.
Claim 4
Dependent Claim
27 words
A method as recited in claim 2 wherein said step of laying out comprises laying out at least portions of said circuitry for a gate array circuit.
Claim 5
Dependent Claim
27 words
A method as recited in claim 2 wherein said step of laying out comprises laying out at least portions of said circuitry for a standard cell circuit.
Claim 6
Dependent Claim
40 words
A method as recited in claim 1 further comprising the step of: developing on said digital computer system a description of a placement of physical electronic devices corresponding to said previously synthesized netlist prior to said analyzing and inserting steps.
Claim 7
Dependent Claim
31 words
A method as recited in claim 5 further comprising the step of modifying said description of a placement based upon said modified netlist to produce a modified description of a placement.
Claim 8
Dependent Claim
79 words
A method as recited in claim 6 further comprising the steps of: verifying whether all of said clock nets implemented in said modified description of a placement meets user-defined circuit parameters; repeating said analyzing and inserting steps if said modified description does not meet user-defined circuit parameters; and routing interconnections between said physical electronic devices as described in said modified description of placement when all of said clock nets implemented in said modified description meet said user-defined circuit parameters.
Claim 9
Dependent Claim
42 words
A method as recited in claim 7 wherein said analyzing and inserting steps are performed recursively until no clock net has greater than a user-defined maximum clock skew, less than a user-defined minimum driveability, and greater than a user-defined maximum ramp delay.
Claim 10
Independent Claim
300 words
A method for laying out a digital integrated circuit comprising: analyzing on a digital computer system a previously synthesized netlist created by a synthesizer routine implemented on said digital computer system, said previously synthesized netlist describing at least one clock net; inserting into said previously synthesized netlist a description of at least one buffer such that no clock net described by said netlist has greater than a user-defined maximum clock skew, less than a user-defined minimum driveability, and greater than a user-defined maximum ramp delay, thereby creating a modified netlist; and wherein said analyzing and inserting are performed recursively until no clock net has greater than a user-defined maximum clock skew, less than a user-defined minimum driveability, and greater than a user-defined maximum ramp delay, and said analyzing and inserting include: (a) choosing a clock net; (b) creating on said computer system an initial routing comprising an initial sibling of an initial sibling level for said clock net; (c) computing partial parameters for each sibling; (d) finding a balance point of each sibling; (e) dividing each sibling into a plurality of siblings of a subsequent sibling level if all siblings at a sibling level do not have greater than a user-defined maximum clock skew, less than a user-defined minimum driveability, and greater than a user-defined maximum ramp delay, and repeating (c) through (e) until all siblings of a subsequent sibling level meet said criteria; (f) determining if the level is at said initial level and choosing an additional clock net and repeating steps (b) to (f) if it is; and (g) inserting a driver into said clock net at said balance point of each sibling at said subsequent level, resetting the sibling level to said initial sibling level, and repeating (c) to (f) until all clock nets have been processed.
Claim 11
Independent Claim
300 words
A method for laying out a digital integrated circuit comprising: analyzing on a digital computer system a previously synthesized netlist created by a synthesizer routine implemented on said digital computer system, said previously synthesized netlist describing at least one clock net; inserting into said previously synthesized netlist a description of at least one buffer such that no clock net described by said netlist has greater than a user-defined maximum clock skew, less than a user-defined minimum driveability, and greater than a user-defined maximum ramp delay, thereby creating a modified netlist; and wherein said analyzing and inserting are performed recursively until no clock net has greater than a user-defined maximum clock skew, less than a user-defined minimum driveability, and greater than a user-defined maximum ramp delay, and said analyzing and inserting include: (a) choosing a clock net; (b) creating on said computer system an initial routing comprising an initial sibling of an initial sibling level for said clock net; (c) computing partial parameters for each sibling; (d) finding a balance point of each sibling; (e) dividing each sibling into a plurality of siblings of a subsequent sibling level if all siblings at a sibling level do not have greater than a user-defined maximum clock skew, less than a user-defined minimum driveability, and greater than a user-defined maximum ramp delay, and repeating (c) through (e) until all siblings of a subsequent sibling level meet said criteria; (f) determining if the level is at said initial level and choosing an additional clock net and repeating steps (b) to (f) if it is; and (g) inserting a driver into said clock net at said balance point of each sibling at said subsequent level, resetting the sibling level to said initial sibling level, and repeating (c) to (f) until all clock nets have been processed.
Claim 12
Dependent Claim
47 words
A method for laying out a digital integrated circuit as recited in claim 9 further comprising the step of: developing on said digital computer system a description of a placement of physical electronic devices corresponding to said previously synthesized netlist prior to said analyzing and inserting steps.
Claim 13
Dependent Claim
38 words
A method for laying out a digital integrated circuit as recited in claim 10 further comprising the step of modifying said description of a placement based upon said modified netlist to produce a modified description of a placement.
Claim 14
Dependent Claim
86 words
A method for laying out a digital integrated circuit as recited in claim 11 further comprising the steps of: verifying whether all of said clock nets implemented in said modified description of a placement meets user-defined circuit parameters; repeating said analyzing and inserting steps if said modified description does not meet user-defined circuit parameters; and routing interconnections between said physical electronic devices as described in said modified description of placement when all of said clock nets implemented in said modified description meet said user-defined circuit parameters.
Claim 15
Dependent Claim
48 words
A method for laying out a digital integrated circuit as recited in claim 9 wherein said balance point is at a particular point in clock net having minimum skew, said skew being the difference between the maximum and minimum latency delays between specified levels of said clock net.
Claim 16
Dependent Claim
24 words
A method for laying out a digital integrated circuit as recited in claim 13 wherein said balance point is determined by said partial parameters.
Claim 17
Independent Claim
252 words
A system for creating integrated circuit masks comprising: (a) a digital hardware description processor including a central processing unit (CPU), digital storage coupled to said CPU, and a user input device coupled to said CPU, said hardware description processor being operative to; (i) create mask generation data from a hardware description of a set of circuit specifications for a digital integrated circuit received from said user input device, said circuit specifications including a maximum clock skew, a minimum driveability, and a maximum ramp delay, (ii) develop a netlist from said hardware description, said netlist specifying circuitry of said integrated circuit and describing at least one clock net, (iii) insert buffers, as required, into said netlist so as to provide a modified netlist which describes an integrated circuit having at most said maximum clock skew, at least said minimum driveability, and at most said maximum ramp delay, by creating an initial routing for said clock net, computing partial parameters for said clock net by conducting a bottom up scan and a top down scan of said clock net, finding at least one balance point in said clock net based on said partial parameters, inserting a driver into said clock net at said balance point; (iv) develop said mask generation data from said modified netlist and store said mask generation data in said digital storage; and (b) a digital mask generator coupled to said digital storage for making at least one integrated circuit mask from said mask generation data stored in said digital storage.
Claim 18
Independent Claim
252 words
A system for creating integrated circuit masks comprising: (a) a digital hardware description processor including a central processing unit (CPU), digital storage coupled to said CPU, and a user input device coupled to said CPU, said hardware description processor being operative to; (i) create mask generation data from a hardware description of a set of circuit specifications for a digital integrated circuit received from said user input device, said circuit specifications including a maximum clock skew, a minimum driveability, and a maximum ramp delay, (ii) develop a netlist from said hardware description, said netlist specifying circuitry of said integrated circuit and describing at least one clock net, (iii) insert buffers, as required, into said netlist so as to provide a modified netlist which describes an integrated circuit having at most said maximum clock skew, at least said minimum driveability, and at most said maximum ramp delay, by creating an initial routing for said clock net, computing partial parameters for said clock net by conducting a bottom up scan and a top down scan of said clock net, finding at least one balance point in said clock net based on said partial parameters, inserting a driver into said clock net at said balance point; (iv) develop said mask generation data from said modified netlist and store said mask generation data in said digital storage; and (b) a digital mask generator coupled to said digital storage for making at least one integrated circuit mask from said mask generation data stored in said digital storage.
Claim 19
Dependent Claim
26 words
A system as recited in claim 15 wherein said hardware description processor comprises a synthesizer for producing said netlist, and layout means for inserting said buffers.
Claim 20
Dependent Claim
99 words
A system as recited in claim 16 wherein said layout means includes: means for analyzing on said digital hardware description processor a previously synthesized netlist created by a synthesizer routine implemented on said digital hardware description processor said previously synthesized netlist describing at least one clock net; and means for inserting into said previously synthesized netlist a description of at least one buffer such that no clock net described by said netlist has greater than a user-defined maximum clock skew, less than a user-defined minimum driveability, and greater than a user-defined maximum ramp delay, thereby creating a modified netlist.
Claim 21
Dependent Claim
40 words
A system as recited in claim 17 further comprising: means for developing on said digital hardware description processor a description of a placement of physical electronic devices corresponding to said previously synthesized netlist prior to said analyzing and inserting steps.
Claim 22
Dependent Claim
30 words
A system as recited in claim 18 further comprising means for modifying said description of a placement based upon said modified netlist to produce a modified description of a placement.
Claim 23
Dependent Claim
82 words
A system as recited in claim 19 further comprising: means for verifying whether all of said clock nets implemented in said modified description of a placement meets user-defined circuit parameters; means for repeating said analyzing and inserting steps if said modified description does not meet user-defined circuit parameters; and means for routing interconnections between said physical electronic devices as described in said modified description of placement when all of said clock nets implemented in said modified description meet said user-defined circuit parameters.