(
/
(
Il
)
c ,
CI
o
Chapter 5
~
----DELAYS-ffl BICONNECTEb COMPONENTS
(
) - .__ //~../I' • '"
,n (
This chapter is devoted to the problem of computing delays in smaller
r 0 , - -=:-1. •
units than the transistor groups defined earlier. The motivation for doing this is the
p~sible speed improvement \hat May result.
This presentation begins with' a definition and description of hiconnected
u '
components, which are the minimal subgroups i.n which delays can be computed. This is followed by a proof that these subgroups are indeed minimal for delay computati n.' Finally, algorithms to separ~te a group i~to biconnected comp~nents and to com ute delays in a group that is partitioned in \J this manner are presented. '
Bicomponents have been used in the context of logie eval tion {Bar8,6].
However, to the best
of
the author's knowledge, their usage in contéXt of delay evaluation is original.0.1 Biconnected Components
A subgroup in w~ich delay is to be computed must include ail nodes ~d
(J
transistors on any loop since, in the process of delay compùtation, this loop can be . broken a.ri.ywhere ând aIl sçcondary nodes of a ghren node must be in the same delay computation tree. Furthermore, the inclusion of complete loops guarantees that the - LM algorithm,
o~
&DY equivalent algorithm, can be carried through, provided that}~ ~
. the loa,ding capacitancès are correctly comput~d. - l
, r.. ....
1
. "
J
Cl
o
5.1 Biconnected Componentl
\
1
, ". /
J'igure 5.1 ~omputing delaya in lIubgroupe.
Example 5.1 In Fig. 5.1, once the capacitive loading is computed at nodês A, B
- The graph-theoretical concept that correctly abstracts the idea of complete loops is the biconnected component concept. Let G = (E, V) be a connected graph. A' vertex tJ is an articulation point (also c~lled eut-point) if there exist distinct vertices u and w distinct from v, such that tJ is on every path from u to w. Clearly, the .. emoval
a biconnected subgraph that is not èontained in any larger biconnected subgraph.
Biconnected components are also 'called bicomponents, for short.
l \
The folIowing are som~ facts about bicomponents, given without proof (see
,
.
[Baa78] or [Tut84]). Each edg~ of G is in exactly one bicomponent. Each articulation
l
' " l ,
"
point of ~east two distinct bicomponents. Each bicomponent consista of at ~ least one edge. AlI edges
par~llel
toa ~ven
edge are in the same bicompontt. If G..,r-is a 1hen' ail internai nodes~iculation points and aU bicomponents consist of a uni e edge.
; 48
"\
Q
r
shaH prove that bicomponents have this property.( a proper subset, contradicting the definition of bicomponent. !~r ~r:herefore, G'
contains aIl paths from ai to a;. ~ ."
the bicomponents are the minimal subgraphs of Gin which delays can be computed . ,
independéntly. .
r • '
\.
It remains now to relQ.te the delays computed in eac::h of the bicomponents to the dei a ys of the group. Let B (G) he the set of bicomponents of the graph G
o
o
i
.lgure 5.i \ A graph G with -4 bicom;onents. (a) Gi (h) Ite decompoeition .iD
~nent8i
(c) The bicomponent graph Bic(G).'ft
bipartition (UI, U2) such that UI
=
B(G) and U't.~ A(G). ~t in Ut is adjacent to "2in U2 if and only if the bicomponent UI includes the articulation point "2 {Tut84].
:.-, It would be tempting to define Bic( G) so that the articulation points are nodes-::â.nd bicomponents are edges. However, this is not possible Binee a biconnected 1::omponent can be adjacent to an arbitrary number of other bkomponentB through an arbitrary number of articulation points. For example, in Fig. 5:2, the bridge bicomponent cannot be replaced by an e"dge since, as a node of Bic( G), it has an incidence degree of 3.
..
Theorem 2. Bie(G) is a tree ([Tut84J).
• ( ' i .--Ji!8'
Pro of. : We shan prove' that Bic( G) is connected and that it contains no loops.
First, suppose that it is not connected. Let 0 be one ,of its components (maximally 'connected subgraphs). Let H be the union of bicomponents of G represented by the vertices of UI in C, and K the union of 8011 other bicomponents in G. Sinee each
1
l,
c
c
c
5.2 Delays· in the Bicomponent Graph
. ... ,
articulation point of G is contained in
ai
least one bicomponent of G, each component _ of Bic( G) includes a vertex of Ut. Therefore, since bicomponents of G contain at least.,. .-v ... \
one e4ge, the subgraphs H' and K contain at least one edge. Further, sinee an edge of Gis in exactly one bicomponent, it must be in exactly one of H or K.
.
Now, sinee Gis conneeted, the subgraph H has a vertex z also contained in K. This must be a common vertex of a bicomponent eo~tained in H and a bicomponent ~ contained in K. But then, the corresponding vertex in U2 is adjacent to a vertex of Ul in C and a , vertex of UI not in C. This contradicts the definition of C as a compon~nt of Bie(G),ther~fore, Bie(G) is eonnected.
Suppose now that Bic(G) contains a loop. We can then find k
>
2 distinct bicomponents .BII B2,.'" Bk and k distiIÏct articulation points al, a2, .. . , ak such that for each j, ai is corpmon to Bj-l and Bi' where Bo = Bk, Let H be the union of~ll
the Bi other than Bl' H~c~nnected
and it contains a path P from al to ak.The' subgrapli BI UP is a biconnec~d subgraph of G-having BI as a proper subgraph, eontradicting the definition of bicomponent for Bl' Therefore, Bic(G) contains no
loops and so is a. tre~. •
Let ba be the bieomponent in G that contains\the source. Consider blJ as the root of Eie(G}. Leaves"of Bic(G) ue bicomponents of G. They cannot be articu-lation points ainee, each articuarticu-lation point is contained in at least two b!F0mponents of G, i.e., nodes of Uz have at least degree 2. .