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

Adaptive programming method for antifuse technology

Assignee: Xilinx Inc
•
Filing: 1992-09-03
•
Granted: 1994-09-20
•
Expires: 2012-09-03
📄 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

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 10:07
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: 19
Claim 1
Independent Claim 127 words
A method of programming an antifuse programmable logic device having interconnect wiring segments, and antifuses 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 antifuses in said antifuse programmable logic device to implement said connection, thereby to form a route for said connection; programming at least some of said active antifuses; if during programming any of said active antifuses fails to become conductive, selecting from those antifuses not yet programmed an alternative set of antifuses to complete said connections; programming said alternative set of antifuses, thereby to form an implementation of said design.
Claim 2
Independent Claim 127 words
A method of programming an antifuse programmable logic device having interconnect wiring segments, and antifuses 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 antifuses in said antifuse programmable logic device to implement said connection, thereby to form a route for said connection; programming at least some of said active antifuses; if during programming any of said active antifuses fails to become conductive, selecting from those antifuses not yet programmed an alternative set of antifuses to complete said connections; programming said alternative set of antifuses, thereby to form an implementation of said design.
Claim 3
Dependent Claim 26 words
A method as in claim 1 comprising the further step of leaving spare wiring segments and spare antifuses not used initially for any of said connections.
Claim 4
Dependent Claim 72 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 antifuses 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 61 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 antifuses 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 75 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 antifuses 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 40 words
A method as in claim 1 in which said active antifuses 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 35 words
A method as in claim 1 in which said alternative set of antifuses is selected such that paths selected after an antifuse failure have the same timing as corresponding paths selected before said antifuse failure.
Claim 9
Dependent Claim 37 words
A method as in claim 1 in which said alternative set of antifuses is selected so that said implementation of said logic design meets the same timing requirements as would have been met if no antifuses failed.
Claim 10
Dependent Claim 26 words
A method as in claim 1 in which said step of selecting an alternative set of antifuses is performed after a first failed antifuse is found.
Claim 11
Dependent Claim 35 words
A method as in claim 9 in which said alternative set of antifuses is selected to swap equivalent input ports of a logic element which will receive plural input signals, thereby avoiding said failed antifuse.
Claim 12
Dependent Claim 37 words
A method as in claim 1 in which all of said active antifuses are programmed as part of a first programming step, and said alternative set of antifuses are selected and programmed after said first programming step.
Claim 13
Dependent Claim 44 words
A method as in claim 1 in which said wiring segments comprise both horizontal and vertical wiring segments, and said antifuses 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
Independent Claim 183 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 between selected ones of said design elements; selecting one of said logic elements to implement each of said design elements; for each of said connections, selecting active wiring segments and active antifuses in said antifuse programmable logic device to implement said connection and thereby to form a conductive route for said connection; leaving spare wiring segments and spare antifuses not to be used initially for any of said connections; programming each of said active antifuses; for each of said active antifuses which failed to become conductive upon said programming, selecting an alternative route to complete that connection of which said failed antifuse is a part, using selected ones of said spare wiring segments and said spare antifuses, programming said selected spare antifuses, thereby to form said alternative route for said connection.
Claim 15
Independent Claim 183 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 between selected ones of said design elements; selecting one of said logic elements to implement each of said design elements; for each of said connections, selecting active wiring segments and active antifuses in said antifuse programmable logic device to implement said connection and thereby to form a conductive route for said connection; leaving spare wiring segments and spare antifuses not to be used initially for any of said connections; programming each of said active antifuses; for each of said active antifuses which failed to become conductive upon said programming, selecting an alternative route to complete that connection of which said failed antifuse is a part, using selected ones of said spare wiring segments and said spare antifuses, programming said selected spare antifuses, thereby to form said alternative route for said connection.
Claim 16
Independent Claim 140 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 between selected ones of said design elements; selecting one of said logic elements to implement each of said design elements; for each of said connections, selecting active wiring segments and active antifuses in said antifuse programmable logic device to implement said connection and thereby to form a conductive route for said connection; programming said active antifuses in turn; 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.
Claim 17
Independent Claim 140 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 between selected ones of said design elements; selecting one of said logic elements to implement each of said design elements; for each of said connections, selecting active wiring segments and active antifuses in said antifuse programmable logic device to implement said connection and thereby to form a conductive route for said connection; programming said active antifuses in turn; 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.
Claim 18
Dependent Claim 28 words
A method as in claim 14 in which said step of calculating an alternative route to complete that connection further comprises calculating alternative routes for additional unprogrammed connections.
Claim 19
Dependent Claim 24 words
A method as in claim 14 in which said steps of providing, selecting, programming, and calculating are performed under control of a single computer.

References Cited (Backward Citations)

US4605928A Cited
US4845633A Cited
US4758745A Cited
US5223792A Cited
US4758745B1 Cited
US4974048A Cited
US5153463A Cited
US5272388A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-09-19 1998-03-21 1998-09-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-09-19 2002-03-21 2002-09-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-09-19 2006-03-21 2006-09-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag