← Back to Patent Explorer
US5498979A Expired / Lapsed US ⏱️ 0.0 years remaining

Adaptive programming method for antifuse technology

Assignee: Xilinx Inc
•
Filing: 1994-09-20
•
Granted: 1996-03-12
•
Expires: 2014-09-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract For antifuse programmable integrated circuit devices, in particular FPGA devices, the invention allows for alternative routing around antifuses which fail to program. The chip architecture includes wiring segments and antifuses which together allow for alternative routes around every antifuse in the event of failure of that antifuse. The method includes programming the device under control of a computer which can recalculate routes in the event of an antifuse which fails to program. Preferably the initial routing distributes unused wiring segments through the chip to be available for routing around a failed antifuse. When a failure occurs, the method includes determining an alternative route around every failed antifuse. The alternative route may be established directly after the antifuse has failed or after all initially selected antifuses have been programmed. The method also includes swapping of logic cell inputs, logic cells, and/or logic blocks from their original layout to adapt to a failed antifuse without changing the timing of signals which would have used the failed antifuse.

Inventors

  • 👤 David B. Parlour
  • 👤 F. Erich Goetting
  • 👤 Stephen M. Trimberger
  • 👤 Edel M. Young

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 08:05
CPC Classifications
H; H03; H03K; H03K19/00; H03K19/02; H03K19/173; H03K19/177; H03K19/17704; G; G11; G11C; G11C17/00; G11C17/14; G11C17/16

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.

References Cited (Backward Citations)

US4605928A Cited
US4758745A Cited
US5223792A Cited
US4758745B1 Cited
US4974048A Cited
US5153463A Cited
US5349248A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-03-12 1999-09-11 2000-03-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-03-12 2003-09-11 2004-03-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-03-12 2007-09-11 2008-03-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag