Professional Documents
Culture Documents
Figure 7: For the target signal Cb , this algorithm defines a set Figure 8: A CG with three stages of FFs. The vertex A is a
of sufficient properties for legal backward clock-gating, where PI, where the selection-edge is driven by T rue. These signals,
Cb is sequential stuck-at-1. S1 , S2 and S3 represent the updating conditions for FFs F1 ,
F2 and F3 , respectively.
Based on this algorithm, the sufficient property across one time-
frame for Cb being sequentially redundant to constant 1 is Consider the CG in Figure 8, where F1 , F2 and F3 are FFs,
Q is a PO and S1 , S2 and S3 are corresponding control sig-
1 1
⇒ Cb ) ∧ ... ∧
G((XCo1 ⇒ Cb )
(XCok nals. The control signal S1 only can be the backward clock-
^ 1 1
(3) gating case, where a sufficient condition for S1 being sequential
(XCv1 ⇒ Cb ) ∧ ... ∧ (XCvr ⇒ Cb )), stuck-at-1 is G(XS2 ⇒ S1 ). Because the PO is not driven by F1
across one timeframe, another sufficient condition is G((XXS3 ⇒
1
where {Cvi } stands for the updating conditions of target vertices, S1 ) ∧ (XXS2 ⇒ S1 )).
1 For S2 , it can be a forward clock-gating case with the property
and {Coi } is for target vertices containing POs, which are driven
by Vb across one timeframe (because any PO is observable). G(S1 ⇒ XS2 ), or backward clock-gating with G(XS3 ⇒ S1 ). S3
Proof : The LTL property in Equation 3 guarantees the FFs can only be a forward clock-gating case, where sufficient proper-
ties are either G(S2 ⇒ XS3 ) or G(S1 ∨ S2 ⇒ XXS3 ).
(F Fb ) contained by Vb are updated when any of its targets Vi1 As implied by the LTL safety properties, only the fanin cones
gets updated in the next timeframe. If Cb is 0, this property of those control signals need to be considered by model check-
implies that none of Vi1 gets updated in the next timeframe. This ing, and hence irrelevant combinational logic will be excluded
blocks any new state of F Fb to be observed at any outputs. Thus automatically by state-of-the-art model checking methods. Thus,
Cb can be 0 or 1 in these cases. By choosing it to be 1, Cb is when model checking the generated properties on the original cir-
sequentially stuck-at-1 redundant. cuit, the problem size is effectively much less.
Similarly, we can write down a sufficient condition for backward There are some limitations of finding sequential redundancy on
clock-gating across n timeframes, which justifies target signal, Cb , CGs. Currently each vertex on a CG covers all signals controlled
as sequential stuck-at-1: by the same selection signal, so some sequential redundant points
may be missed. For example, if a set of FFs is clock-gated by
G((X n Co1
n
⇒ Cb ) ∧ ... ∧ (X n Cok
n
⇒ Cb ) forward condition with a certain control signal, while another set
^ n n n n (4) of FFs clock-gated by backward condition with the same signal,
(X Cv1 ⇒ Cb ) ∧ ... ∧ (X Cvr ⇒ Cb )),
both the two cases are legal but cannot be proved by the current
n formulation. This issue can be resolved by separating all FF into
where Cvi stands for the updating condition of the ith target different vertices, but that may result duplicate properties for
vertex, Vin , which is driven by Vb across n timeframes, while Coi
n
proving.
is for the ith target vertex containing PO. The two properties in
Equation 3 and 4 are formulated at Line 20 in Figure 7. 4.4 Property Modeling and Proving
Notice that the property across n timeframes is sufficient only We describe the circuit-based modeling and proving for the LTL
when the following property holds for all m, 1 ≤ m ≤ n − 1: properties in Equation 1 to 5. In sequential circuits, the notation
G((X m Co1
m
⇒ Cb ) ∧ ... ∧ (X m Co1
m
⇒ Cb )), (5) next (X) is represented by adding FFs in front of other signals.
For example, the property in Equation 1 becomes
m th
where Coi refers to the updating condition of the i vertex con- 1
G(P rev[Cv1 1
∨ Cv2 1
∨ ... ∨ Cvk ] ⇒ Cf ). (6)
taining POs, Vim , which is driven by Vb across m timeframes.
Once one of these properties is violated, it implies the clock-gating Model checking of a safety property tries to find an execution
condition (Cb equals to 0) on Vb is observable at an output (at path from the initial state which leads to a bad state, where the
least one of X m Coi
m
equals to 1 ), so it might be an invalid clock- property gets violated. If no such path exists, the safety property
gating case. holds. Therefore, the circuit structure shown in Figure 9 is added
Theorem 3: If all the properties of Equation 5 hold for 1 ≤ as an output for verifying the property in Equation 1, where an
m ≤ n − 1, then Equation 4 is sufficient for Cb to be sequentially execution path (counter-example) leading to O = 1 would violate
stuck-at-1 redundant. the safety property.
Algorithm: Proposed SEC
Cv11 Input:
D Q G and R // two circuits with mapped PIs, POs and FFs.
Cv1k Output:
Assertion EQ or NON-EQ
sequentially equivalent. This paper presents a novel SEC method for clock-gated cir-
cuits. The proposed method is based on constructing a charac-
teristic graph (CG) to model essential signals of a circuit. It uses
6. EXPERIMENTAL RESULTS CG to formulate sufficient properties for sequential redundancies.
We compare the CG method against two state-of-the-art meth- These properties are proved and used to simplify the circuit after
ods, (1) model checker super prove [6], which won the single- which SEC becomes easy. The experimental results show that
output track in the Hardware Model Checking Competition 2014 the CG method is scalable and effective, and substantially out-
(HWMCC’14) [2], and (2) Absec, a command implemented in performs existing techniques.
ABC [5] which performs the algorithm in [14]. Future research will include experiments on benchmarks which
have been more additionally modified before or after clock-gating
The CG method, SEC(G, R) is implemented in ABC. The to see how missing some essential signals in the CG will effect
multiP rove(...) function used is multi prove, which won the multi- performance. Also we need to experiment with errors inserted
output track in HWMCC’13 [1] (not held in HWMCC’14). We in the clock-gating to see how we can detect these and feedback
also apply super prove to the final SEC between G’ and R’. useful counter-examples.
All experiments were performed on a 16-core 2.60GHz Intel(R) In addition, we want to explore how the CG concept might be
Xeon(R) CPU with a 1500 second time limit. The example cir- applicable to other verification and synthesis problems. For ex-
cuits were clock-gated at the RTL, and then synthesized into AIGs ample, based on the ideas in Section 4, a CG might be useful to
to create R. Each input for super prove is a multi-output miter synthesize clock-gating on a circuit. It might be used or extended
between a golden design (G) and its clock-gated circuit (R). The to extract control paths from circuits with many arithmetic op-
inputs for Absec and the CG method are G and R given before erators, and then used to mediate equivalence checking for these.
mitering.
7. CONCLUSIONS