Patent ID: 8302053

Claim:
A method comprising: receiving, by a user device, a request to perform an automatic clock insertion operation for an integrated circuit; retrieving, by the user device and based on the request, location information associated with a plurality of components, of the integrated circuit, that use a clock signal input; deploying, by the user device, a clock mesh based on the location information associated with the plurality of components; determining, by the user device, one or more drop point intervals associated with the clock mesh; inserting, by the user device, one or more drop points at the one or more drop point intervals associated with the clock mesh; deploying, by the user device, a particular clock buffer, of a plurality of clock buffers, for each of the one or more drop points; mapping, by the user device, each of one or more components, of the plurality of components, to the particular clock buffer, of the plurality of clock buffers; generating, by the user device, a clock box for the particular clock buffer, dimensions of the clock box being based on the location information associated with the one or more components; deploying, by the user device, an H-tree associated with the clock box, dimensions of the H-tree being proportional to the clock box dimensions; connecting, by the user device, the H-tree to the one or more components; performing an optimization operation, for the particular clock buffer, to reconfigure the particular clock buffer, the performing including: measuring input electrical parameters of the H-tree, determining, based on the measured input electrical parameters of the H-tree, buffering characteristics to drive the H-tree and the one or more components to which the H-tree is connected, and reconfiguring, based on the determined buffering characteristics, the particular clock buffer; and storing, by the user device, information associated with the clock mesh, information associated with the plurality of clock buffers, information associated with the H-tree, information associated with the reconfigured particular clock buffer, and the location information associated with the plurality of components.