Synthesis aware placement: a novel approach that combines knowledge of possible resynthesis
First Claim
1. A method of determining a configuration of a programmable device, the method comprising:
- identifying a set of duplicate atoms in a user design;
determining a location for an atom driven by one of the set of duplicate atoms using a duplicate-aware cost function;
determining performance of each a set of potential connections between the atom and each of the set of duplicate atoms;
selecting one of the set of potential connections providing performance greater than the performance of at least a portion of the set of potential connections; and
establishing a connection between the atom and one of the set of duplicate atoms in accordance with the selected one of the set of potential connections.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method improves the effectiveness of logic duplication optimizations by dynamically allocating the usage of logic duplicates. Duplicate atoms in the user design are identified. Atoms satisfying heuristics can also be duplicated and added to the user design. During placement, a duplicate-aware cost function is used to determine the location on the programmable device of atoms driven by a duplicate atom. The duplicate-aware cost function evaluates the suitability of a potential location of a driven atom with respect to a source atom and any duplicates of the source atom. Following placement of the atoms of the user design, a rewiring phase establishes a connection between each driven atom and one of the duplicated source atoms. The duplicate-aware cost function can be used to evaluate sets of duplicate source atoms to optimize the operating speed, power consumption, and/or routability of a user design.
24 Citations
40 Claims
-
1. A method of determining a configuration of a programmable device, the method comprising:
-
identifying a set of duplicate atoms in a user design; determining a location for an atom driven by one of the set of duplicate atoms using a duplicate-aware cost function; determining performance of each a set of potential connections between the atom and each of the set of duplicate atoms; selecting one of the set of potential connections providing performance greater than the performance of at least a portion of the set of potential connections; and establishing a connection between the atom and one of the set of duplicate atoms in accordance with the selected one of the set of potential connections. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of determining a configuration of a programmable device, the method comprising:
-
identifying a set of duplicate atoms in a user design; determining a portion of a configuration of a programmable device for an atom driven by one of the set of duplicate atoms using a duplicate-aware cost function; determining performance of each a set of potential connections between the atom and each of the set of duplicate atoms; selecting one of the set of potential connections providing performance greater than the performance of at least a portion of the set of potential connections; and establishing a connection between the atom and one of the set of duplicate atoms in accordance with the selected one of the set of potential connections. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An information storage medium including a plurality of instructions adapted to direct an information processing device to perform a set of steps for determining a configuration of a programmable logic device, the set of steps comprising:
-
identifying a set of duplicate atoms in a user design; determining a location for an atom driven by one of the set of duplicate atoms using a duplicate-aware cost function; determining performance of each a set of potential connections between the atom and each of the set of duplicate atoms; selecting one of the set of potential connections providing performance greater than the performance of at least a portion of the set of potential connections; and establishing a connection between the atom and one of the set of duplicate atoms in accordance with the selected one of the set of potential connections. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
-
29. An information storage medium including a plurality of instructions adapted to direct an information processing device to perform a set of steps for determining a configuration of a programmable logic device, the set of steps comprising:
-
identifying a set of duplicate atoms in a user design; determining a portion of a configuration of a programmable device for an atom driven by one of the set of duplicate atoms using a duplicate-aware cost function; determining performance of each a set of potential connections between the atom and each of the set of duplicate atoms; selecting one of the set of potential connections providing performance greater than the performance of at least a portion of the set of potential connections; and establishing a connection between the atom and one of the set of duplicate atoms in accordance with the selected one of the set of potential connections. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification