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

Generation of sub-netlists for use in incremental compilation

Assignee: Altera Corp
•
Filing: 1997-10-27
•
Granted: 2000-10-17
•
Expires: 2017-10-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A technique is disclosed for performing an incremental recompile of an electronic design that has been previous compiled and then changed by a designer. This is accomplished by identifying a "sub-netlist" within the larger netlist of the changed design. The sub-netlist contains the sphere of influence of the designer's changes to the original design. During incremental recompile, only the sub-netlist is compiled; the remainder of the netlist is left as is from the previous compile. After the sub-netlist is synthesized, it is integrated back into the synthesized netlist from the previous compilation. The newly synthesized netlist for the changed design is mapped to logic cells which are then fit onto a target hardware device.

Inventors

  • 👤 Bruce Pedersen
  • 👤 Francis B. Heile
  • 👤 Marwan Adel Khalaf
  • 👤 David Wolk Mendel

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 08:35
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/60; G01; G01R; G01R31/00; G01R31/28; G01R31/317; G01R31/3177; G01R31/3181; G01R31/3185; G01R31/318516; G06F11/00; G06F11/07; G06F11/0703; G06F11/0706; G06F11/0748; G06F11/22; G06F11/2294; G06F30/00; G06F30/30; G06F30/32; G06F30/33; G06F30/3308; G06F30/331; G06F30/34; G06F30/347; G06F8/65; G06F8/70; G06F8/71; G06Q; G06Q10/00; G06Q10/06; G06Q10/10; G06F2111/00; G06F2111/02; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953; Y10S707/99954

Claims Analysis

Total Claims: 31
Claim 1
Independent Claim 180 words
In a compiler that compiles an electronic design for implementation on a target hardware device, a method of identifying a changed portion of a changed electronic design which is changed from an original electronic design that was previously compiled, the changed electronic design including an unchanged portion which is unchanged from the original electronic design and the changed portion which is changed from the original electronic design, the method comprising: (a) identifying one or more new logic nodes in the changed electronic design that have been directly changed from the original electronic design; and (b) tracing a signal propagation path in a netlist forward between at least one output of the new logic nodes and one or more external nodes and backward between at least one input of the new logic nodes and one or more external nodes, which external nodes include hard register and I/O pins, such that nodes encountered on the signal propagation path are designated as affected nodes; wherein the changed portion of the changed electronic design includes both the new logic nodes and the affected nodes.
Claim 2
Dependent Claim 180 words
In a compiler that compiles an electronic design for implementation on a target hardware device, a method of identifying a changed portion of a changed electronic design which is changed from an original electronic design that was previously compiled, the changed electronic design including an unchanged portion which is unchanged from the original electronic design and the changed portion which is changed from the original electronic design, the method comprising: (a) identifying one or more new logic nodes in the changed electronic design that have been directly changed from the original electronic design; and (b) tracing a signal propagation path in a netlist forward between at least one output of the new logic nodes and one or more external nodes and backward between at least one input of the new logic nodes and one or more external nodes, which external nodes include hard register and I/O pins, such that nodes encountered on the signal propagation path are designated as affected nodes; wherein the changed portion of the changed electronic design includes both the new logic nodes and the affected nodes.
Claim 3
Dependent Claim 16 words
The method of claim 1, wherein the target hardware device is an Application Specific Integrated Circuit.
Claim 4
Dependent Claim 15 words
The method of claim 2, wherein the target hardware device is a Programmable Logic Device.
Claim 5
Dependent Claim 22 words
The method of claim 1, wherein the new logic nodes and the affected logic nodes form at least part of a netlist.
Claim 6
Dependent Claim 10 words
The method of claim 4, wherein the netlist is unsynthesized.
Claim 7
Dependent Claim 54 words
The method of claim 1, further comprising: comparing an unsynthesized netlist of the changed electronic design with a synthesized netlist of the original electronic design to identify as external nodes those hard registers and I/O pins which are (i) common between the unsynthesized netlist and the synthesized netlist and (ii) output a common signal.
Claim 8
Dependent Claim 37 words
The method of claim 1, further comprising: (c) synthesizing the changed portion of the changed electronic design to produce a synthesized changed portion; (d) incorporating the synthesized changed portion in a synthesized netlist of the original design.
Claim 9
Dependent Claim 190 words
A machine readable medium containing instructions for operating a compiler that compiles an electronic design for implementation on a target hardware device, the instructions controlling identification of a changed portion of a changed electronic design which is changed from an original electronic design that was previously compiled, the changed electronic design including an unchanged portion which is unchanged from the original electronic design and the changed portion which is changed from the original electronic design, the instructions specifying operations comprising: (a) identifying one or more new logic nodes in the changed electronic design that have been directly changed from the original electronic design; and (b) tracing a signal propagation path in a netlist forward between at least one output of the new logic nodes and one or more external nodes and backward between at least one input of the new logic nodes and one or more external nodes, which external nodes include hard registers and I/O pins, such that nodes encountered on the signal propagation path are designated as affected nodes; wherein the changed portion of the changed electronic design includes both the new logic nodes and the affected nodes.
Claim 10
Dependent Claim 190 words
A machine readable medium containing instructions for operating a compiler that compiles an electronic design for implementation on a target hardware device, the instructions controlling identification of a changed portion of a changed electronic design which is changed from an original electronic design that was previously compiled, the changed electronic design including an unchanged portion which is unchanged from the original electronic design and the changed portion which is changed from the original electronic design, the instructions specifying operations comprising: (a) identifying one or more new logic nodes in the changed electronic design that have been directly changed from the original electronic design; and (b) tracing a signal propagation path in a netlist forward between at least one output of the new logic nodes and one or more external nodes and backward between at least one input of the new logic nodes and one or more external nodes, which external nodes include hard registers and I/O pins, such that nodes encountered on the signal propagation path are designated as affected nodes; wherein the changed portion of the changed electronic design includes both the new logic nodes and the affected nodes.
Claim 11
Dependent Claim 24 words
The machine readable medium of claim 8, wherein the new logic nodes and the affected logic nodes form at least part of a netlist.
Claim 12
Dependent Claim 12 words
The machine readable medium of claim 9, wherein the netlist is unsynthesized.
Claim 13
Dependent Claim 59 words
The machine readable medium of claim 8, wherein the instructions further comprise: comparing an unsynthesized netlist of the changed electronic design with a synthesized netlist of the original electronic design to identify as external nodes those hard registers and I/O pins which are (i) common between the unsynthesized netlist and the synthesized netlist and (ii) output a common signal.
Claim 14
Dependent Claim 42 words
The machine readable medium of claim 8, wherein the instructions further comprise: (c) synthesizing the changed portion of the changed electronic design to produce a synthesized changed portion; (d) incorporating the synthesized changed portion in a synthesized netlist of the original design.
Claim 15
Dependent Claim 257 words
In a compiler that compiles an electronic design for implementation on a target hardware device, a method of incrementally recompiling a changed electronic design which is changed from an original electronic design that was previously compiled, the changed electronic design including an unchanged portion which is unchanged from the original electronic design and a changed portion which is changed from the original electronic design, the method comprising: (a) receiving an unsynthesized netlist for the original electronic design, a synthesized netlist for the original electronic design, and an unsynthesized netlist for the changed electronic design; (b) identifying one or more new logic nodes in the unsynthesized netlist for the changed electronic design that have been directly changed from the unsynthesized netlist for the original electronic design; (c) in the unsynthesized netlist for the changed electronic design, tracing signal propagation paths between at least one of the new logic nodes and one or more external nodes, which external nodes include hard registers and I/O pins, such that nodes encountered on the signal propagation path are designated as affected nodes which together with the one or more new logic nodes comprise the changed portion of the unsynthesized netlist for the changed electronic design; (d) synthesizing the changed portion of the unsynthesized netlist for the changed electronic design to produce a synthesized changed portion; (e) incorporating the synthesized changed portion in the synthesized netlist for the original design to produce a synthesized netlist for the changed electronic design; and (f) completing compilation of the synthesized netlist for the changed electronic design.
Claim 16
Dependent Claim 257 words
In a compiler that compiles an electronic design for implementation on a target hardware device, a method of incrementally recompiling a changed electronic design which is changed from an original electronic design that was previously compiled, the changed electronic design including an unchanged portion which is unchanged from the original electronic design and a changed portion which is changed from the original electronic design, the method comprising: (a) receiving an unsynthesized netlist for the original electronic design, a synthesized netlist for the original electronic design, and an unsynthesized netlist for the changed electronic design; (b) identifying one or more new logic nodes in the unsynthesized netlist for the changed electronic design that have been directly changed from the unsynthesized netlist for the original electronic design; (c) in the unsynthesized netlist for the changed electronic design, tracing signal propagation paths between at least one of the new logic nodes and one or more external nodes, which external nodes include hard registers and I/O pins, such that nodes encountered on the signal propagation path are designated as affected nodes which together with the one or more new logic nodes comprise the changed portion of the unsynthesized netlist for the changed electronic design; (d) synthesizing the changed portion of the unsynthesized netlist for the changed electronic design to produce a synthesized changed portion; (e) incorporating the synthesized changed portion in the synthesized netlist for the original design to produce a synthesized netlist for the changed electronic design; and (f) completing compilation of the synthesized netlist for the changed electronic design.
Claim 17
Dependent Claim 16 words
A programmable logic device the changed electronic design compiled according to the method of claim 13.
Claim 18
Dependent Claim 16 words
The method of claim 13, wherein the target hardware device is an Application Specific Integrated Circuit.
Claim 19
Dependent Claim 15 words
The method of claim 15, wherein the target hardware device is a Programmable Logic Device.
Claim 20
Dependent Claim 68 words
The method of claim 13, further comprising: prior to performing (c), comparing the unsynthesized netlist of the changed electronic design with the synthesized netlist of the original electronic design to identify as external nodes those hard registers and I/O pins which are (i) common between the unsynthesized netlist of the changed electronic design and the synthesized netlist of the original electronic design and (ii) output a common signal.
Claim 21
Dependent Claim 19 words
The method of claim 13, wherein (d) is performed without synthesizing the unchanged portion of the changed electronic design.
Claim 22
Dependent Claim 67 words
The method of claim 13, further comprising: after performing (d), identifying one or more new synthesized logic nodes in the synthesized netlist for the changed electronic design that have been directly changed from the synthesized netlist for the original electronic design, wherein (f) is limited to a portion of the synthesized netlist for the changed electronic design, which portion is delineated by the new synthesized logic nodes.
Claim 23
Dependent Claim 29 words
The method of claim 13, wherein tracing signal propagation paths comprises tracing a path forward from an output of a new logic node to one or more external nodes.
Claim 24
Dependent Claim 29 words
The method of claim 13, wherein tracing signal propagation paths comprises tracing a path backward from an input of a new logic node to one or more external nodes.
Claim 25
Dependent Claim 266 words
A machine readable medium containing instructions for operating a compiler that compiles an electronic design for implementation on a target hardware device, the instructions controlling incrementally recompiling a changed electronic design which is changed from an original electronic design that was previously compiled, the changed electronic design including an unchanged portion which is unchanged from the original electronic design and a changed portion which is changed from the original electronic design, the instructions specifying operations comprising: (a) receiving an unsynthesized netlist for the original electronic design, a synthesized netlist for the original electronic design, and an unsynthesized netlist for the changed electronic design; (b) identifying one or more new logic nodes in the unsynthesized netlist for the changed electronic design that have been directly changed from the unsynthesized netlist for the original electronic design; (c) in the unsynthesized netlist for the changed electronic design, tracing signal propagation paths between at least one of the new logic nodes and one or more external nodes, which external nodes include hard registers and I/O pins, such that nodes encountered on the signal propagation path are designated as affected nodes which together with the one or more new logic nodes comprise the changed portion of the unsynthesized netlist for the changed electronic design; (d) synthesizing the changed portion of the unsynthesized netlist for the changed electronic design to produce a synthesized changed portion; (e) incorporating the synthesized changed portion in the synthesized netlist for the original design to produce a synthesized netlist for the changed electronic design; and (f) completing compilation of the synthesized netlist for the changed electronic design.
Claim 26
Dependent Claim 266 words
A machine readable medium containing instructions for operating a compiler that compiles an electronic design for implementation on a target hardware device, the instructions controlling incrementally recompiling a changed electronic design which is changed from an original electronic design that was previously compiled, the changed electronic design including an unchanged portion which is unchanged from the original electronic design and a changed portion which is changed from the original electronic design, the instructions specifying operations comprising: (a) receiving an unsynthesized netlist for the original electronic design, a synthesized netlist for the original electronic design, and an unsynthesized netlist for the changed electronic design; (b) identifying one or more new logic nodes in the unsynthesized netlist for the changed electronic design that have been directly changed from the unsynthesized netlist for the original electronic design; (c) in the unsynthesized netlist for the changed electronic design, tracing signal propagation paths between at least one of the new logic nodes and one or more external nodes, which external nodes include hard registers and I/O pins, such that nodes encountered on the signal propagation path are designated as affected nodes which together with the one or more new logic nodes comprise the changed portion of the unsynthesized netlist for the changed electronic design; (d) synthesizing the changed portion of the unsynthesized netlist for the changed electronic design to produce a synthesized changed portion; (e) incorporating the synthesized changed portion in the synthesized netlist for the original design to produce a synthesized netlist for the changed electronic design; and (f) completing compilation of the synthesized netlist for the changed electronic design.
Claim 27
Dependent Claim 71 words
The machine readable medium of claim 22, wherein the instructions further comprise: after performing (d), identifying one or more new synthesized logic nodes in the synthesized netlist for the changed electronic design that have been directly changed from the synthesized netlist for the original electronic design, wherein (f) is limited a portion of the synthesized netlist for the changed electronic design, which portion is delineated by the new synthesized logic nodes.
Claim 28
Dependent Claim 35 words
The machine readable medium of claim 22, wherein the instructions specify that tracing signal propagation paths comprises tracing a path forward from an output of a new logic node to one or more external nodes.
Claim 29
Dependent Claim 35 words
The machine readable medium of claim 22, wherein the instructions specify that tracing signal propagation paths comprises tracing a path backward from an input of a new logic node to one or more external nodes.
Claim 30
Dependent Claim 73 words
The machine readable medium of claim 22, wherein the instructions further comprise: prior to performing (c), comparing the unsynthesized netlist of the changed electronic design with the synthesized netlist of the original electronic design to identify as external nodes those hard registers and I/O pins which are (i) common between the unsynthesized netlist of the changed electronic design and the synthesized netlist of the original electronic design and (ii) output a common signal.
Claim 31
Dependent Claim 25 words
The machine readable medium of claim 22, wherein the instructions specify that (d) is performed without synthesizing the unchanged portion of the changed electronic design.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-10-17 2004-04-17 2004-10-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-10-17 2008-04-17 2008-10-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-10-17 2012-04-17 2012-10-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag