100 likes | 201 Views
Minimal Period Retiming Under Process Variations. Jia Wang and Hai Zhou Electrical & Computer Engineering Northwestern University. Process variations make delays random. Use arrival time to calculate the delay of a circuit.
E N D
Minimal Period Retiming Under Process Variations Jia Wang and Hai Zhou Electrical & Computer Engineering Northwestern University NUCAD Northwestern University
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 be ignored. • 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. NUCAD Northwestern University
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)=T0+wσ. • T0 is the mean, σ is the variance. • w is the weight. NUCAD Northwestern University
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. NUCAD Northwestern University
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. • Calculate the arrival times and then the clock period for the initial circuit. • Store the current circuit, which is the optimum one when we exit on line 6. • Put all the vertices with the maximum arrival time into a queue. • Take one vertex u from the queue. If the queue is empty, go to 2. • Increase r(u), reset arrival time for u, and maintain the policy graph. • If there is a cycle in the policy graph, terminate the algorithm. • Put the fanouts of u that need to be updated into the queue. Go to 4. NUCAD Northwestern University
Example • The policy graph is built by recording the source of the longest combinational path. Terminate when there is a cycle. NUCAD Northwestern University
Statistical retiming algorithm • An extension of the pushing down retiming algorithm. • Calculate the distribution of arrival times. • Suppose arrival times are a1,a2,…,an. • T=max(a1,a2,…,an) and disu(T)=disu(max(a1,a2,…,an)). • max_disu=max(disu(a1),disu(a2),…,disu(an)). • 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. NUCAD Northwestern University
Alternative algorithm • If d1,d2,…,dn are random gate delays, we could treat disu(d1), disu(d2), …, disu(dn) 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)=T0+wσ, • If the equations do not hold approximately, disu(T) cannot be optimized. NUCAD Northwestern University
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. NUCAD Northwestern University
Experimental results • disu(T)=E(T) • disu(T)=1/E(g(T)) NUCAD Northwestern University