Logic synthesis of multi-level domino asynchronous pipelines
First Claim
Patent Images
1. A computer-implemented method for synthesizing a circuit which includes asynchronous logic from a netlist generated by a synchronous computer-aided design (CAD) tool, comprising using one or more computing devices to perform the following:
- converting synchronous logic gates represented by the netlist to asynchronous logic gates;
replacing clock circuitry represented by the netlist with asynchronous control circuitry and completion control circuitry thereby generating a plurality of asynchronous pipelines including the asynchronous logic gates;
inserting a plurality of buffers corresponding to a specific design template into selected ones of the asynchronous pipelines to balance the asynchronous pipelines thereby meeting a plurality of performance constraints; and
removing selected ones of the buffers in a manner dependent on the specific design template to reduce overhead associated with the asynchronous logic while substantially meeting the plurality of performance constraints.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus are described for optimizing a circuit design. A gate level circuit description corresponding to the circuit design is generated. The gate level circuit description includes a plurality of pipelines across a plurality of levels. Using a linear programming technique, a minimal number of buffers is added to selected ones of the pipelines such that a performance constraint is satisfied.
-
Citations
20 Claims
-
1. A computer-implemented method for synthesizing a circuit which includes asynchronous logic from a netlist generated by a synchronous computer-aided design (CAD) tool, comprising using one or more computing devices to perform the following:
-
converting synchronous logic gates represented by the netlist to asynchronous logic gates; replacing clock circuitry represented by the netlist with asynchronous control circuitry and completion control circuitry thereby generating a plurality of asynchronous pipelines including the asynchronous logic gates; inserting a plurality of buffers corresponding to a specific design template into selected ones of the asynchronous pipelines to balance the asynchronous pipelines thereby meeting a plurality of performance constraints; and removing selected ones of the buffers in a manner dependent on the specific design template to reduce overhead associated with the asynchronous logic while substantially meeting the plurality of performance constraints. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program product for synthesizing a circuit which includes asynchronous logic from a netlist generated by a synchronous computer-aided design (CAD) tool, the computer program product comprising one or more non-transitory computer-readable media having computer program instructions stored therein configured, when executed by one or more computing devices, to cause the one or more computing devices to:
-
convert synchronous logic gates represented by the netlist to asynchronous logic gates; replace clock circuitry represented by the netlist with asynchronous control circuitry and completion control circuitry thereby generating a plurality of asynchronous pipelines including the asynchronous logic gates; insert a plurality of buffers corresponding to a specific design template into selected ones of the asynchronous pipelines to balance the asynchronous pipelines thereby meeting a plurality of performance constraints; and remove selected ones of the buffers in a manner dependent on the specific design template to reduce overhead associated with the asynchronous logic while substantially meeting the plurality of performance constraints. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification