Claims Analysis
Total Claims: 16
Claim 1
Independent Claim
130 words
A method of programming a programmable device having interconnect wiring segments and programmable elements which programmably connect said wiring segments to each other, said method comprising the steps of: providing a design in machine readable form, said design comprising connections between selected nodes in said device; for each of said connections, selecting active wiring segments and active programmable elements in said programmable device to implement said connection, thereby to form a route for said connection; programming at least some of said active programmable elements; if during programming any of said active programmable elements fails to become conductive, selecting from those programmable elements not yet programmed an alternative set of programmable elements to complete said connections; programming said alternative set of programmable elements, thereby to form an implementation of said design.
Claim 2
Independent Claim
130 words
A method of programming a programmable device having interconnect wiring segments and programmable elements which programmably connect said wiring segments to each other, said method comprising the steps of: providing a design in machine readable form, said design comprising connections between selected nodes in said device; for each of said connections, selecting active wiring segments and active programmable elements in said programmable device to implement said connection, thereby to form a route for said connection; programming at least some of said active programmable elements; if during programming any of said active programmable elements fails to become conductive, selecting from those programmable elements not yet programmed an alternative set of programmable elements to complete said connections; programming said alternative set of programmable elements, thereby to form an implementation of said design.
Claim 3
Dependent Claim
27 words
A method as in claim 1 comprising the further step of leaving spare wiring segments and spare programmable elements not used initially for any of said connections.
Claim 4
Dependent Claim
73 words
A method as in claim 1 in which said design comprises a logic design comprising both design elements and said connections, and said device further comprises logic elements, said programmable elements programmably connecting said logic elements to said wiring segments, said method comprising the further steps of: selecting one of said logic elements to implement each of said design elements; leaving spare logic elements not used initially for any of said design elements.
Claim 5
Dependent Claim
62 words
A method as in claim 1 in which said design comprises a logic design comprising both design elements and said connections, and said device further comprises logic elements grouped into blocks, said programmable elements programmably connecting said logic elements to said wiring segments, said method comprising the further step of: leaving spare blocks not used initially for any of said design elements.
Claim 6
Dependent Claim
76 words
A method as in claim 1 in which said design comprises a logic design comprising both design elements and said connections, and said device further comprises logic elements, said programmable elements programmably connecting said logic elements to said wiring segments, said method comprising the further steps of: selecting one of said logic elements to implement each of said design elements; leaving spare logic element inputs not used initially in at least some of said logic elements.
Claim 7
Dependent Claim
41 words
A method as in claim 1 in which said active programmable elements are programmed in the order of time to spare for a path such that paths having the least time to spare in meeting a timing requirement are programmed first.
Claim 8
Dependent Claim
38 words
A method as in claim 1 in which said alternative set of programmable elements is selected such that paths selected after a programmable element failure have the same timing as corresponding paths selected before said programmable element failure.
Claim 9
Dependent Claim
39 words
A method as in claim 1 in which said alternative set of programmable elements is selected so that said implementation of said logic design meets the same timing requirements as would have been met if no programmable elements failed.
Claim 10
Dependent Claim
28 words
A method as in claim 1 in which said step of selecting an alternative set of programmable elements is performed after a first failed programmable element is found.
Claim 11
Dependent Claim
69 words
A method as in claim 1 in which said design comprises a logic deign comprising both design elements and said connections, and said device further comprises logic elements, said programmable elements programmably connecting said logic elements to said wiring segments, said alternative set of programmable elements is selected to swap equivalent input ports of a logic element which will receive plural input signals, thereby avoiding said failed programmable element.
Claim 12
Dependent Claim
39 words
A method as in claim 1 in which all of said active programmable elements are programmed as part of a first programming step, and said alternative set of programmable elements are selected and programmed after said first programming step.
Claim 13
Dependent Claim
45 words
A method as in claim 1 in which said wiring segments comprise both horizontal and vertical wiring segments, and said programmable elements are positioned at intersections of said horizontal and vertical wiring segments, spare wiring segments being selected from both horizontal and vertical wiring segments.
Claim 14
Dependent Claim
27 words
A method as in claim 1 in which said alternative set of programmable elements is selected to swap equivalent wiring segments, thereby avoiding said failed programmable element.
Claim 15
Independent Claim
253 words
A method of programming an antifuse programmable logic device having logic elements, interconnect wiring segments, and antifuses which programmably connect wiring segments to each other and to said logic elements, said method comprising the steps of: providing a logic design in machine readable form, said logic design comprising design elements and connections for carrying a signal from an output terminal of one of said design elements to an input terminal of at least one of said design elements; selecting one of said logic elements to implement at least one of said design elements; for at least one of said connections, selecting active wiring segments and active antifuses in said antifuse programmable logic device to form a route from an output terminal of one of said design elements to an input terminal of at least one of said design elements; selecting one of said logic elements to implement at least one of said design elements; for said at least one of said connections, programming said active antifuses in order of signal flow from said output terminal of said one of said design elements to said input terminal of said at least one of said design elements; if an antifuse fails to become conductive upon programming, for at least that connection of which said failed antifuse is a part, calculating an alternative route to complete that connection; and continuing to program active antifuses in said alternative route in order of signal flow to said input terminal of said at least one of said design elements.
Claim 16
Independent Claim
253 words
A method of programming an antifuse programmable logic device having logic elements, interconnect wiring segments, and antifuses which programmably connect wiring segments to each other and to said logic elements, said method comprising the steps of: providing a logic design in machine readable form, said logic design comprising design elements and connections for carrying a signal from an output terminal of one of said design elements to an input terminal of at least one of said design elements; selecting one of said logic elements to implement at least one of said design elements; for at least one of said connections, selecting active wiring segments and active antifuses in said antifuse programmable logic device to form a route from an output terminal of one of said design elements to an input terminal of at least one of said design elements; selecting one of said logic elements to implement at least one of said design elements; for said at least one of said connections, programming said active antifuses in order of signal flow from said output terminal of said one of said design elements to said input terminal of said at least one of said design elements; if an antifuse fails to become conductive upon programming, for at least that connection of which said failed antifuse is a part, calculating an alternative route to complete that connection; and continuing to program active antifuses in said alternative route in order of signal flow to said input terminal of said at least one of said design elements.