A method to cluster Boolean functions for clock gating according to
various exemplary embodiments can include identifying at least two small
gating groups within a clock tree representative of an electrical network
and at least two gating functions of the at least two small gating
groups, wherein the at least two gating functions are Boolean functions;
performing hierarchical clustering on the at least two gating functions
using a similarity measure that describes a distance between the at least
two gating functions such that the clustering forms a merge function of a
cluster generated and displayed in a form of a dendrogram; assigning to
each gating domain a merit value according to a power consumption profile
of the gating domain using a merit function; and partitioning the cluster
into gating groups using the dendrogram to construct a directed acyclic
graph to determine a partition which maximize the overall power saving.