Presentation on theme: "April 2004NUCAD Northwestern University1 Minimal Period Retiming Under Process Variations Jia Wang and Hai Zhou Electrical & Computer Engineering Northwestern."— Presentation transcript:
April 2004NUCAD Northwestern University1 Minimal Period Retiming Under Process Variations Jia Wang and Hai Zhou Electrical & Computer Engineering Northwestern University
April 2004NUCAD Northwestern University2 Process variations make delays random Use arrival time to calculate the delay of a circuit. Arrival times could be expressed by combining gate delays with + and max. Correlations cannot beignored. –Reconvergent paths. How to determine the distribution of the arrival times? –Simulation based method. Monte Carlo: accurate but slow. –Algebra based method. Chang and Sapatnekar, ICCAD 2003 Efficiently achieve the accuracy comparable to Monte Carlo method.
April 2004NUCAD Northwestern University3 Disutility function The clock period T determined by the maximum combinational path delay is a random variable under process variations. How to measure T? –E(g(T)) is the expected income when we sell one circuit. –Define disu(T)=1/E(g(T)). –The less disu(T), the better. Or define disu(T)=T 0 +wσ. –T 0 is the mean, σ is the variance. –w is the weight.
April 2004NUCAD Northwestern University4 Statistical retiming problem Retiming balances the combinational path length in a sequential circuit to achieve optimal clock period. The actual clock period may be larger than the nominal value under process variations. –Situations are worsen when there are many critical paths. Solution: statistical retiming. What are given? –A sequential circuit. –Distribution of gate delays due to process variations. –A disutility function disu. What does the problem want to find? –Find a retiming of the circuit that minimizes disu(T). –T is the clock period with which the circuit could function correctly.
April 2004NUCAD Northwestern University5 Pushing down retiming A new algorithm discovered by us to solve the traditional minimal period retiming problem by iteratively adjusting the critical path. Maintain valid arrival times across iterations. Obtain minimal clock period. –A policy graph is used to determine termination. Details. 1.Calculate the arrival times and then the clock period for the initial circuit. 2.Store the current circuit, which is the optimum one when we exit on line 6. 3.Put all the vertices with the maximum arrival time into a queue. 4.Take one vertex u from the queue. If the queue is empty, go to 2. 5.Increase r(u), reset arrival time for u, and maintain the policy graph. 6.If there is a cycle in the policy graph, terminate the algorithm. 7.Put the fanouts of u that need to be updated into the queue. Go to 4.
April 2004NUCAD Northwestern University6 Example The policy graph is built by recording the source of the longest combinational path. Terminate when there is a cycle.
April 2004NUCAD Northwestern University7 Statistical retiming algorithm An extension of the pushing down retiming algorithm. Calculate the distribution of arrival times. Suppose arrival times are a 1,a 2,…,a n. –T=max(a 1,a 2,…,a n ) and disu(T)=disu(max(a 1,a 2,…,a n )). –max_disu=max(disu(a 1 ),disu(a 2 ),…,disu(a n )). Adjust the paths containing the vertices whose arrival times are max_disu. –Although max_disu is not disu(T), decreasing it may result in smaller disu(T). A heuristic is used to determine the termination. –May terminate the algorithm before reaching the optimum. –Experiments show it works well.
April 2004NUCAD Northwestern University8 Alternative algorithm If d 1,d 2,…,d n are random gate delays, we could treat disu(d 1 ), disu(d 2 ), …, disu(d n ) as fixed gate delays and perform the pushing down retiming algorithm. If disu(X+Y)=disu(X)+disu(Y) and disu(max(X,Y))=max(disu(X),disu(Y)), the result is the optimum for the statistic retiming algorithm. If not, compute the distribution of T and then disu(T). –If the equations hold approximately, disu(T) could be optimized. Example of such disutility functions: disu(T)=T 0 +wσ, –If the equations do not hold approximately, disu(T) cannot be optimized.
April 2004NUCAD Northwestern University9 Lowerbound on disutility functions Follow the first step in the alternative algorithm. If disu(X+Y)>=disu(X)+disu(Y) and disu(Z)>=0 where X, Y, Z are random variables and Z is always larger than 0, the result of the pushing down retiming algorithm is a lowerbound of disu(T). Example –disu(T)=E(T). –Retiming with nominal delays gives a lowerbound of retiming with random delays no matter what the distribution is.
April 2004NUCAD Northwestern University10 Experimental results disu(T)=1/E(g(T))disu(T)=E(T)