Decision modules
Abstract
An abstract decision module primitive for placement within a logical representation (i.e., a netlist) of a circuit design is described. The decision module primitive receives as inputs alternative solutions for a given function or segment of a netlist. The alternative solutions include functionally equivalent, but structurally different implementations of the function or segment of the netlist. The decision module primitive alternatively selects between connecting one of the inputs to the netlist to provide a complete functional definition for the netlist based on constraint information. The selected input of the decision module may be updated as additional constraint information is determined throughout the various stages of the design process. In addition, alternative solutions for a given function or segment of the netlist may be added to and/or removed from the inputs of a decision module as additional constraint information is identified.
Claims
exact text as granted — not AI-modified1 . An automated method of providing a plurality of alternative implementations for an integrated circuit (IC) design, the method comprising:
receiving an abstract circuit representation of the IC design comprising a plurality of segments, each segment for implementing a particular function; defining a decision module for inclusion in the IC design during a plurality of stages of a multi-stage design process, said decision module comprising (i) a plurality of inputs, each input connected to an alternative implementation for a particular segment of the IC design, and (ii) an output for selecting a particular alternative implementation from the plurality of inputs to include as part of the IC design; and using said decision module to design and manufacture the IC.
2 . The automated method of claim 1 , wherein during at least one stage of the multi-stage design process, a particular alternative implementation connected to a particular input to the decision module is modified based on constraint data realized during said stage.
3 . The automated method of claim 1 , wherein during at least one stage of the multi-stage design process, the output of the decision module is modified by selecting a different input based on constraint data realized during said stage.
4 . The automated method of claim 1 , wherein during the plurality of stages, a non-Boolean representation of the IC design is transformed to a Boolean representation, wherein said decision module is included within the non-Boolean and Boolean representations of the IC design.
5 . The automated method of claim 4 , wherein the non-Boolean representation comprises a register transfer language (RTL) representation for the functionality of the design and the Boolean representation comprises a circuit level representation for the functionality of the design.
6 . The automated method of claim 1 , wherein the plurality of stages comprise synthesis and post-synthesis stages.
7 . The automated method of claim 6 , wherein the post-synthesis stages include at least one of placement and routing.
8 - 20 . (canceled)
21 . An automated method of defining a physical design for an integrated circuit (IC) design, the method comprising:
receiving a netlist for defining a function of the IC design, said netlist comprising at least one decision module for representing a plurality of alternative implementations for said function; and selecting a particular alternative implementation from the plurality of alternative implementations represented by the decision module that best satisfies physical design constraints.
22 . The automated method of claim 21 , wherein said netlist comprises a plurality of circuit modules for performing said function, wherein said decision module represents a plurality of alternative circuit module implementations for performing said function.
23 . The automated method of claim 22 , wherein each of the alternative circuit module implementations comprises a different structural arrangement of circuit elements.
24 . The automated method of claim 21 , wherein selecting the particular alternative implementation comprises performing placement for at least one of the alternative implementations to determine whether the particular alternative implementation satisfies placement constraints.
25 . The automated method of claim 21 , wherein selecting the particular alternative implementation comprises performing routing for at least one of the alternative implementations to determine whether the particular alternative implementation satisfies routing constraints.
26 . An automated method of defining a physical design for an integrated circuit (IC) design, the method comprising:
inserting a decision module that retains a plurality of alternative implementations for a segment of the IC design into the design at a particular stage of a multi-stage design process; performing a plurality of transformations to the design that realize constraint data at subsequent stages of the multi-stage design process; and defining a physical design for the design by utilizing an implementation retrained by the decision module that satisfies the realized constraint data.
27 . The automated method of claim 26 , wherein the constraint data comprises timing constraints.
28 . The automated method of claim 27 , wherein the constraint data further comprises a set of area constraints.
29 . The automated method of claim 26 , wherein the constraint data comprises delays associated with each implementation for the particular segment.
30 . The automated method of claim 26 , wherein the multi-stage design process comprises synthesis and post-synthesis operations.Join the waitlist — get patent alerts
Track US2015135148A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.