1 / 10

Minimal Period Retiming Under Process Variations

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.

pabla
Télécharger la présentation

Minimal Period Retiming Under Process Variations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Minimal Period Retiming Under Process Variations Jia Wang and Hai Zhou Electrical & Computer Engineering Northwestern University NUCAD Northwestern University

  2. 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

  3. 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

  4. 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

  5. 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

  6. Example • The policy graph is built by recording the source of the longest combinational path. Terminate when there is a cycle. NUCAD Northwestern University

  7. 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

  8. 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

  9. 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

  10. Experimental results • disu(T)=E(T) • disu(T)=1/E(g(T)) NUCAD Northwestern University

More Related