Latch/Register Scheduling For Process Variation

Size: px
Start display at page:

Download "Latch/Register Scheduling For Process Variation"

Transcription

1 Latch/Register Scheduling For Process Variation Aaron P. Hurst Dept. of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA Abstract Managing the effect of process variation is already a challenge, and may become more of one as device technology progresses. Because of the increasing burden of the overdesign necessary to meet overly strong timing guarantees, design flows need to be aware of the more subtle effects of particular design choices on yield. Statistical timing techniques offer exact this ability: to quantify the tradeoff between performance and yield for manufactured devices. Latch-based design offers a particularly ripe application for statistical analysis. Unlike edgetriggered registers, the variations across adjacent timing paths have the ability to interact, achieving a better yield than is possible with registers. Effects of this sort are not visible to a traditional timing analysis tool. The goal of this work is to explore the application of statistical techniques to latch-based design, both to analyze yield and to optimize it. In particular, the problem of clock scheduling for latches is examined in detail. The applicability of existing techniques is discussed, and several ideas are outlined for future work. I. INTRODUCTION With greater integration and decreasing feature sizes, managing process variation is becoming an increasing challenge. The traditional solution is to include enough conservatism in timing analysis to ensure proper device functionality in the presence of the most antagonistic variations. However, the size of this required timing margin is becoming an increasing burden. It is not uncommon for manufactured designs to reliably operate at much higher frequencies than their design specifications. This results in a significant waste of design effort to meet performance requirements that were never actually a problem and a very real cost associated with this overdesign. For designers to address this problem, two developments are necessary. They must first be able to predict the expected yield of a particular design before it has been manufactured. The degree to which the process has been characterized will clearly affect the precision of the prediction, but even coarse estimates can be made from logic structure and physical information alone. With the ability to explore the effects of different design decisions on yield, it becomes possible to optimize the tradeoffs between yield, power, performance, or cost to meet some set of specific criteria. However, even given a very limited set of transformations on a circuit, it can quickly become very difficult to evaluate and choose amongst them. In developing an optimization technique, it is desirable to consider the widest possible space in as little as possible time. This goal is particularly challenging in when considering statistical effects. Clock skew scheduling [1] offers a technique for balancing the computation by applying different non-zero delays on the clock inputs of each register. The timing of the design is then no longer limited by the single worst-case path but by the maximum average delay around any loop of register-toregister path segments. In contrast to retiming, clock skew scheduling also possesses the desirable feature of preserving circuit structure and functionality. In recent years, it has gained practical acceptance in multiple design tools, usually at the end of the flow after physical synthesis is nearly complete. The sequential elements in a design are typically one of two types: edge-triggered registers or level-sensitive latches. An edge-triggered element will propagate the value from its input to its output only at the instant during each clock cycle when the clock input is rising (or falling, depending on the implementation.) A level-sensitive device, on the other hand, will propagate the value from its input to its output whenever the clock input is high (or low.) When the level-sensitive latch is enabled to propagate transitions on its input, the latch is open or transparent. There are several advantages to utilizing each. Registerbased designs offer a simpler timing analysis, as the edge creates a well-defined sequential boundary between the logic on either side of the register. The time that a transition departs the output is entirely decoupled from the time that it arrived at the input. It is instead determined only by the timing of the clock, which is presumably regular and independent of the functionality of the circuit. The timing of a latch, however, does not possess this property. If the latch is currently transparent, a transition on its input will immediately stimulate one on its output; the timing of the logic after the latch is dependent on the timing of logic preceding the latch. Furthermore, these dependencies can be circular. Because of this difficultly, the analysis of latch-based timing is significantly more complicated than for register-based designs. Latch-based design has the advantage of being more tolerant to imbalances in the delays between adjacent paths. For two adjacent paths to operate at the mean of their delays, the arrival of the clock at a register between them must be scheduled at exactly the balancing point; the arrival of the clock at a latch between them must only be scheduled so that the balancing point falls somewhere within the transparent window. This tolerance to timing imbalance extends to the case where the imbalance is due to variations in the manufacturing process. Unlike timing imbalances that result from mispredic-

2 tions about subsequent steps in the design flow or globally mischaracterized delays, process variations impact individual manufactured instances differently. There may not be any single global correction that could compensate for all dieto-die variation. In this case, the tolerance of level-sensitive latches to timing variation offers a benefit that can not be matched with an improved design process using edge-triggered registers. It is not the scheduling but the operation of the latches that is fundamentally better. Furthermore, a purely nonstatistical static timing analysis can not quantify this effect. It is not captured by best, typical, or worst-case behavior, but by the interaction of variation across different timing paths. By examining a single worstcase value for every component, the information about the correlation between them is ignored. New analysis and optimization techniques are required. II. EXAMPLE A circuit that can achieve a better yield with a latch-based design is described in Figure 1. Due to manufacturing variations, there are four different instances of circuit timing that may be produced (as specified in the figure), each with equally likely probability. The timing diagram in Figure 2 illustrates their behaviors. If the circuit were built with registers, both the S/F and S/S cases would violate the setup condition of register R u, leading exactly half of the manufactured instances to fail. On the other hand, a latch-based design would only fail for the S/S case. In the S/F instance, the slow transition would immediately pass through the transparent window of latch R u without violating its setup condition, arriving before the clock at R v because of the subsequent fast path. The process variations would effectively cancel each other out. This sort of interaction will not be detected in the worst-case analysis; only the case where the design is most likely to fail is considered. The rate of failure will be overestimated, probably leading to some unnecessary cost to correct. R t d t u d u v Fig. 1. A basic example. The combinational logic d t u will be manufactured with a fast delay of 3 and a slow delay of 4 with equal probability. The logic d u v will be manufactured with a fast delay of 4 and a slow delay of 5 with equal probability. The period of the clock Θ is 4. R u III. STATISTICAL TIMING ANALYSIS As an alternative to costly Monte Carlo simulation, [2], [3], and [4] describe techniques for a block-based singlepass analysis. Le and Pileggi [5] propose approximating all statistical quantities as Gaussian (normal) distributions and conclude that this does not significantly affect the accuracy of the result. They also demonstrate a technique for controlling the number of pair-wise correlations stored by discarding information when no longer needed. R v Θ F/S F/F S/F S/S Fig. 2. A timing diagram. The timing of the four equally likely manufactured versions of the circuit in Figure 1 are illustrated. S and F represent the slow and fast cases, respectively, of each set of logic. Much of the complexity in block-based statistical timing analysis is in storing and manipulating the statistical quantities and their relation with each other. Propagating arbitrary probability distributions (e.g. piecewise linear) through the circuit can lead to exponential growth in the size of the representations with the size of the circuit. The degree and manner in which correlation is maintained also determines the complexity of storing the statistical relationships. Choosing the appropriate representation is critical. Any one of the techniques listed above can be used to calculate the distribution of maximum and minimum delays between every set of registers. We use a technique similar to Le and Pileggi because of its computation efficiency and demonstrated accuracy. Because scheduling techniques only modify the sequential boundaries of the circuit, the combinational delays will be constant over the course of the optimization. They need only be calculated once. The benefit to representing delays as statistical quantities is that it allows use to more exactly define the optimization space that meets the yield criteria. In the worst-case model, we fix ourselves to an unnecessarily small subset of the design space. The worst-case constraints guarantee that the timing will be met, but at the potential cost of a much overconservatism. IV. SCHEDULE VERIFICATION In the nonstatistical domain, the schedule verification problem is the test of whether a latch schedule results in a worstcase operation that is functionally correct and meets the setup and hold constraint on every latch. For registers, schedule verification is trivial; it involves nothing more than examining the setup and hold constraint on each path. For latches, the timing dependencies cross multiple adjacent paths, and the problem is more difficult. There are two existing classes of solution methods: iterative and structural. The iterative method, first proposed by [6], begins with the earliest possible arrival times and continues propagating the earliest and latest arrival times through the cyclic circuit until they both converge to fixpoints. The structural method, introduced by [7], operates on a graph of the latch timing constraints. The schedule is infeasible if and only if there exists a negative cycle in the constraint graph. The result of the nonstatistical verification problem is binary; a schedule either functions correctly or it does not. In the statistical domain, however, the result is a probability that the

3 circuit will function correctly. It s not immediately clear how either of the existing methods directly apply to the statistical problem. The proof of convergence for the iterative method is not readily extended to probability distributions, nor is the negative cycle detection required for the structural method directly applicable to graphs whose edges are probabilistic expressions. paths u v latches i B u + D u v T + τ v t setup b u + d u v τ v + t hold B v B u + D u v b v b u + D u v B i τ i b i τ i (1) A. Structural Chen and Zhou [8] describe a technique for extending the structural verification of [7] into the statistical domain. Because a schedule fails if and only if there is a negative cycle, the yield is exactly the probability that there exists a negative cycle. They propose a heuristic to approximate this quantity. Single backwards edges are randomly selected, and the distribution of the minimum acyclic path length between the ends of each edge is computed. There is a negative cycle through the selected graph edge when the sum of the forward and backwards components is negative. With enough coverage, the likelihood of a negative cycle occurring anywhere in the probabilistic constraint graph can be estimated. B. Iterative Chen and Zhou dismiss a statistical version of the iterative method because of the problems inherent in proving convergence. Assuming that the latch schedule is feasible, the nonstatistical iterative algorithm will reach a fixpoint after which any more iterations and the application of the max and min operators will not affect the result. In the statistical domain, however, the max and min operators do not have the same simple noncontinuous behavior that they do for single values. Assuming that the iterative method does converge for quantities that are statistical distributions, it appears to be equally applicable to the problem of schedule verification under process variation. Unlike the solution of [8], it is deterministic, and an error bound can be established and met with enough iteration. Once the distribution of the arrival times has been computed for each latch input, the overall yield is exactly the conjunction of the yield of each latch, that is, the probability that no transition violates any latch setup or hold constraint. V. SCHEDULE OPTIMIZATION The statistical clock scheduling problem is that for a given period T, find some clock schedule τ (T ), τ (T ) that maximizes the yield of the design. We need to define the intermediate values b i and B i, the latest and earliest departure times from the latch i. d u v and D u v are the longest and shortest delays along path u to v. Here, it is assumed that the number of clock cycles that are allotted a computation is equal to the number of sequential elements; while the scheduling problem can be extended to include cases where this isnt true, it is not relevant to the question under study. minimize T, s.t. While this is a most general formulation of the clock scheduling problem for latches, it will not necessary lead to solutions that can not be practically implemented. In particular, the requirement that each register is clocked with an oscillating signal of different duty cycle is difficult to realize. For this reason, well define a restricted scheduling problem, selecting only a single duty cycle for the whole circuit. A set of additional constraints, Equation 2, is added to the problem, where w is the single global duty cycle. A. Edge-Triggered t = t + w (2) In the edge-triggered case, we can add the additional constraint that the transparent window has zero width, Equation 3. w = 0 (3) Because the arrival and departure times are now decoupled, we can write the scheduling problem in the familiar form for registers. minimize T, s.t. paths u v Y (T, τ) = P ( paths u v τ u + D u v T + τ v t setup τ u + d u v τ v + t hold (4) (τ u + D u v τ v + t setup T ) (τ v d u v τ u + t hold 0) ) (5) The general procedure for scheduling registers is as follows. Let us consider a single vector in the input space of Y (T, τ), resulting in a one-variable function Y (t) where t is the distance along that vector. Because each timing constraint is a linear inequality of the single-valued variables T and τ and one normal random variable X (either a longest or shortest path delay), it reduces to a linear constraint of the form (X < at + b) along this vector. Because normal distributions remain normal under linear transformation, we can rewrite this linear constraint as the CDF of some normal variable X. However, since the standard deviation, σ, of the random variable X is defined to be a nonnegative real number, we must fix a to be nonnegative, possibly leading to a constraint of (X < t). Whether a constraint reduces to the form (X < t) or (X < t) depends on the original sign of t. Each variable X will be correspondingly placed into one of two subsets:

4 X +, those that result from a constraint that is a function of a t, and X, those that result from a constraint that is a function of t. There is one such partition for each direction, regardless of the choice of point. The probability that the conjunction of the simple constraints (X < t) is satisfied is equivalent to the probability that their maximum satisfies the simple constraints. Let M + and M be the maximum of the sets X + and X respectively. The expression of Y (t) in the form of Equation 6 was derived through a repeated application of the max operator. Y (t) = P(M + t) P(max(M +, M ) t) (6) In general, the random variables M + and M will be nonnormal because of the nature of this operation. However, if we instead use the approximated max operator described in [9], we can generate a normal approximation to these two quantities. If these approximation are substituted into Equation 6, let the resulting function be Y aprx and the corresponding gradient be ( Y ) aprx. For each gradient direction τ i, only the setup and hold constraints for paths adjacent to the register R i will be functions of τ i. The size of the resulting set X will typically be small, requiring only a few max operations and introducing minimal approximation error. As an optimization technique, the conjugate gradient method offers a robust and efficient procedure for the local maximization of differentiable functions. We use it to find the maximum of Y aprx. While non-linear optimization only guarantees a local maximum, we seek a global maximum. Fortunately, even though Y aprx is nonconvex, it has a single local maximum for each value of T. The proof is in [10]. B. Level-Sensitive The problem of level-sensitive scheduling, Equations 1 2, is more difficult. If it assumed that each transition departs the latch at the latest possible time (B i == τ downarrow ), the problem reduces to the scheduling problem described in the previous section, though the predicted yield will be only a lower-bound. Clearly, many of the signals will depart the latches at the middle or beginning of the transparent window and meet the subsequent setup conditions with much higher probability than predicted. If we instead consider the case of two adjacent paths (with the transition departing the originating latch at the latest possible time), we now have a double-path constraint as in Equation 7. The problem reduces to a similar scheduling problem, but with a set of constraints that arise from each double-path. The result will still be a lower bound, but a less conservative one. This process could be continued, unrolling loops into n-path constraints. The likelihood that the transition passes through n transparent windows will quickly fall towards to zero, and the predicted yield will approach the actual one. Cycles will converge at different rates. τ t + max(t + τ t, D t u ) + D u v 2T + τ t (7) An alternative strategy is to break all cyclic dependencies by replacing some minimal set of latches with edge-triggered devices, such that there is no cyclic path through the circuit that does not contain at least one edge-triggered device. While this greatly simplifies the problem of analysis and optimization, it leads to a solution that is less variation-tolerant than an all-latch design. However, by choosing a good subset of latches to replace with registers, it should be possible to produce a solution that is nearly equivalent. For each latch, one can compute the probability P(B i == τ ), the likelihood that transition arrived at the input before the latch became transparent (and thus the transition departed when the latch opened). From a timing standpoint, this is the probability that the latch will behave no differently than an edge-triggered register. By breaking cycles by greedily choosing the latches that maximize this probability, the solution should not be greatly perturbed. Because many paths in real designs have significant slack, there should be many such choices, and the solution should be minimally affected. VI. EXPERIMENTAL RESULTS We ran the following experiments on a subset of the ISCAS benchmark circuits, mapped to a standard technology library. Because the library lacked information about the statistical timing behavior of each gate, we arbitrarily assumed that the worst-case gate delays were 3σ values, i.e % of manufactured instances of each gate meet the worst-case timing. With this assumption, a normal delay distribution can be derived from the typical and worst-case values. We also assumed that half of the variation of each gate delay was globally correlated, and half was local. Register-to-register delay distributions were calculated using a combinational statistical timing analysis similar to [5]. In this method, all statistical quantities are approximated by normal distributions. The analysis required two operations to be defined for these quantities: sum and max. While the sum of two normal distributions is also normal, the maximum of two is not. Heavy use is made of the approximation described by [9]. For the benchmark circuits tested, the combinational portion of the analysis had negligible memory and runtime requirements. Our statistical timing tool was written in C++ and run on a 3.0 GHz Intel machine. A. Iterative Verification The first experiment seeks to empirically verify the convergence of the iterative approach to latch schedule verification with statistical quantities. Given a target clock period and a latch schedule (arbitrarily a zero skew schedule), the iterative algorithm was applied to several of the benchmarks and run until convergence was reached. Since all of the timing quantities are approximated by normal distributions, convergence was defined as a change of no more than 0.1% in either the mean or the standard deviation of any arrival time between two iterations. In all of the benchmark circuits tested, the iteration reached a fixpoint, and the total number of iterations is listed in

5 Fig. 3. (a) Exact (b) Approx. An example of the max approximation gone awry. Table I. The first column is the number of iterations required for a nonstatistical analysis, and the last three columns are statistical analyses under three different target clock periods: slightly above the maximum mean cycle, slightly below the maximum mean cycle, and significantly below the maximum mean cycle. It may seem surprising that the statistical analyses converge almost as quickly as the nonstatistical one, but this is probably due to the fact that the majority of paths in each of these circuits have significant timing slack. In almost all instances, the transition will arrive before the latch even opens, and the departure time will be fixed at the latch opening. The results also reflect the expected fact that the convergence takes longer under the tighter target period; the number of transitions that arrive late and inside the transparent window of the latch is increased as the period is shrunk. One potential problem with the iterative method lies in the error of the approximated max operator of [9]. In the course of combinational timing analysis, the quantities used as operands typically have standard deviations that are within the same order of magnitude (because the standard deviations of gate delays are fairly similar from gate to gate.) The error introduced by the max operator is minimal under these circumstances. This is not the case in the latch-based algorithm. Because the opening of the latch window is exactly defined, one of the operands will have zero deviation (σ = 0). An example of this situation is illustrated in Figure 3. An arbitrary arrival distribution is shown, and if the latch opens at time 0, the resulting departure distribution (max(0, t arrival )) is illustrated. The resulting PDF from the max approximation (on the right) visible differs from the exact version of the operator (on the left). A significant portion of distribution of the departure time even appears to lie before the point where the latch is opened; this does not match reality. Because of the degree of error in each max approximation, a more detailed exploration of the effect on the final result needs to be conducted before overall yield results for latches are presented. Alternatively, another method of approximating statistical distributions (i.e. one that is not strictly normal) may be required. B. Edge-Triggered Scheduling We applied the edge-triggered clock schedule optimization algorithm to compute a yield-aware clock schedule for each of these benchmarks, and then compared it against two alternatives: no clock schedule, and an optimal schedule under the linear formulation. To solve the linear clock scheduling problem, we used an implementation of Howard s algorithm [11]. This has been empirically verified [12] to be the fastest maximum mean cycle solver for VLSI applications. Along with the maximum mean cycle time, the algorithm returns a schedule that meets this optimal time, and we use this result as the point of comparison. A standard implementation of conjugate gradient minimization based on [13] was used. The results of these three scheduling techniques are compared using two different target metrics: reliability (Table II) and performance (Table III). For a set of target clock periods (arbitrarily selected to be the T 3σ points of the statistical schedules), Table II demonstrates that the statistical scheduling results in a (logarithmic) average 13x decrease in the failure rate, compared to the yield of the same design with optimal linear scheduling. Similar results are seen for other target clock periods. Equivalently, statistical scheduling can be used to improve performance under a yield constraint. In III, two types of performance results are presented: T wc and T 3σ. T wc is the worst-case delay along the longest path; this is the overconservative result of a traditional static timing analysis. T 3σ is the clock period that will result in failures for manufactured instances that fall outside of 3 standard deviations worse than the mean performance. Although this information results from a statistical timing analysis and is not part of a design flow built on the worst-case model, we wish to demonstrate that our optimization clock schedule is better under comparable analyses. The yield-aware schedule realizes a better yield that translates into a 4% gain in performance. If a purely nonstatistical design flow is used, our result is 19% better than the worst-case prediction of a linearly scheduled design. Since the problems with the linear model are even worse for complex designs, we expect the improvements to be greater for larger examples. VII. CONCLUSION Designing for yield offers clear advantages, and as advancing process technology incorporates more variation, yield will become an even more important design metric. It s not enough to make pre-manufacturing corrections. The synthesis process needs to fully incorporate the yield metric as a criterion in evaluating design choices. The possible payoff lies not only in fewer failures, but in other attributes that are currently being compromised to meet worst-case scenarios that may not reflect any actual manufactured instances. The goal of this project was twofold: to be able to estimate the yield of a latch-based design, and to be able schedule the clocks to optimize the yield-performance tradeoff. Current nonstatistical timing tools can not even account for the tolerance to timing variation that level-sensitive clocking allows, let alone optimize the schedule appropriately. The current results indicate some promise along both fronts, but the problem is significantly challenging, and more is definitely to be done.

6 Iterations Design Nonstatistical Statistical (T MMC + 1) (T MMC 1) (0.8T MMC) s s s s s s TABLE I ITERATIONS UNTIL CONVERGENCE OF LATCH ARRIVALS No Sched. Opt. Linear Sched. Statistical Sched. Size, # Setup Improv. f fail (v. Lin.) Design # Cells Constraints T target Yield Yield Runtime Yield Raw Log 10 Runtime s <0.001s x s s s x s s <0.001s x s s <0.001s x s s <0.001s x s s <0.001s x s s <0.001s x s s <0.001s x s s <0.001s x s s <0.001s x s TABLE II EXPERIMENTAL RESULTS, YIELD IMPROVEMENT No Scheduling Optimal Linear Schedule Statistical Schedule Design T W C T 3σ T W C T 3σ T 3σ % Improv. (v. Lin. T 3σ) s % s % s % s % s % s % s % s % s % s % TABLE III EXPERIMENTAL RESULTS, PERFORMANCE IMPROVEMENT ACKNOWLEDGMENT This work was funded in part by the MARCO Focus Center for Circuit & System Solutions (C2S2, under contract 2003-CT-888. REFERENCES [1] J. P. Fishburn, Clock skew optimization, IEEE Trans. on Computing, vol. 39, pp , July [2] J.-J. Liou, K.-T. Cheng, S. Kundu, and A. Krstic, Fast statistical timing analysis by probabilistic event propagation, in Proc. 38th Design Automation Conference, June [3] A. Devgan and C. Kashyap, Block-based static timing analysis with uncertainty, in Proceedings of the ICCAD, pp , [4] H. Chang and S. S. Sapatnekar, Statistical timing analysis considering spatial correlations using a single pert-like traversal, in Proceedings of the ICCAD, pp , [5] J. Le, X. Li, and L. T. Pileggi, Stac: Statistical timing analysis with correlation, in Proceedings of the 41st Annual Conference on Design Automation, pp , ACM Press, [6] K. Sakallah, T. Mudge, and O. Olukotun, Timing verification and optimal clocking of synchronous digital circuits, in Proceedings of the ICCAD, pp , [7] T. G. Szymanski and N. Shenoy, Verifying clock schedules, in Proceedings of the ICCAD, [8] R. Chen and H. Zhou, Clock schedule verification under process variations, in Proceedings of the International Conference on Computer- Aided Design, November [9] C. Clark, The greatest of a set of random variables, Operations Research, [10] A. Hurst and R. K. Brayton, Computing optimal clock skew schedules

7 under normal process variation, in Proceedings of the International Workshop on Logic Synthesis, [11] J. Cochet-Terrasson, G. Cohen, S. Gaubert, M. McGettrick, and J.- P. Quadrat, Numerical computation of spectral elements in max-plus algebra, in Proceedings of the IFAC Conference on System Structure and Control, July [12] A. Dasdan, S. S. Irani, and R. K. Gupta, Efficient algorithms for optimum cycle mean and optimum cost to time ratio problems, in Proceedings of the 36th ACM/IEEE conference on Design automation, pp , ACM Press, [13] W. H. Press, W. T. Vetterling, S. A. Teukolsky, and B. P. Flannery, Numerical Recipes in C: The Art of Scientific Computing. Cambridge University Press, 2 ed., 1992.

Computing Clock Skew Schedules Under Normal Process Variation

Computing Clock Skew Schedules Under Normal Process Variation Computing Clock Skew Schedules Under Normal Process Variation Aaron P. Hurst and Robert K. Brayton Dept. of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA

More information

THE UNIVERSITY OF MICHIGAN. Faster Static Timing Analysis via Bus Compression

THE UNIVERSITY OF MICHIGAN. Faster Static Timing Analysis via Bus Compression Faster Static Timing Analysis via Bus Compression by David Van Campenhout and Trevor Mudge CSE-TR-285-96 THE UNIVERSITY OF MICHIGAN Computer Science and Engineering Division Department of Electrical Engineering

More information

TAU 2014 Contest Pessimism Removal of Timing Analysis v1.6 December 11 th,

TAU 2014 Contest Pessimism Removal of Timing Analysis v1.6 December 11 th, TU 2014 Contest Pessimism Removal of Timing nalysis v1.6 ecember 11 th, 2013 https://sites.google.com/site/taucontest2014 1 Introduction This document outlines the concepts and implementation details necessary

More information

Reducing Delay Uncertainty in Deeply Scaled Integrated Circuits Using Interdependent Timing Constraints

Reducing Delay Uncertainty in Deeply Scaled Integrated Circuits Using Interdependent Timing Constraints Reducing Delay Uncertainty in Deeply Scaled Integrated Circuits Using Interdependent Timing Constraints Emre Salman and Eby G. Friedman Department of Electrical and Computer Engineering University of Rochester

More information

Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006

Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006 Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006 1 Lecture 04: Timing Analysis Static timing analysis STA for sequential circuits

More information

Clock Skew Scheduling in the Presence of Heavily Gated Clock Networks

Clock Skew Scheduling in the Presence of Heavily Gated Clock Networks Clock Skew Scheduling in the Presence of Heavily Gated Clock Networks ABSTRACT Weicheng Liu, Emre Salman Department of Electrical and Computer Engineering Stony Brook University Stony Brook, NY 11794 [weicheng.liu,

More information

Timing Analysis with Clock Skew

Timing Analysis with Clock Skew , Mark Horowitz 1, & Dean Liu 1 David_Harris@hmc.edu, {horowitz, dliu}@vlsi.stanford.edu March, 1999 Harvey Mudd College Claremont, CA 1 (with Stanford University, Stanford, CA) Outline Introduction Timing

More information

Sequential Equivalence Checking without State Space Traversal

Sequential Equivalence Checking without State Space Traversal Sequential Equivalence Checking without State Space Traversal C.A.J. van Eijk Design Automation Section, Eindhoven University of Technology P.O.Box 53, 5600 MB Eindhoven, The Netherlands e-mail: C.A.J.v.Eijk@ele.tue.nl

More information

iretilp : An efficient incremental algorithm for min-period retiming under general delay model

iretilp : An efficient incremental algorithm for min-period retiming under general delay model iretilp : An efficient incremental algorithm for min-period retiming under general delay model Debasish Das, Jia Wang and Hai Zhou EECS, Northwestern University, Evanston, IL 60201 Place and Route Group,

More information

Generation of High Quality Non-Robust Tests for Path Delay Faults

Generation of High Quality Non-Robust Tests for Path Delay Faults Generation of High Quality Non-Robust Tests for Path Delay Faults Kwang-Ting Cheng Hsi-Chuan Chen Department of ECE AT&T Bell Laboratories University of California Murray Hill, NJ 07974 Santa Barbara,

More information

Problem Set 9 Solutions

Problem Set 9 Solutions CSE 26 Digital Computers: Organization and Logical Design - 27 Jon Turner Problem Set 9 Solutions. For each of the sequential circuits shown below, draw in the missing parts of the timing diagrams. You

More information

CSE241 VLSI Digital Circuits Winter Lecture 07: Timing II

CSE241 VLSI Digital Circuits Winter Lecture 07: Timing II CSE241 VLSI Digital Circuits Winter 2003 Lecture 07: Timing II CSE241 L3 ASICs.1 Delay Calculation Cell Fall Cap\Tr 0.05 0.2 0.5 0.01 0.02 0.16 0.30 0.5 2.0 0.04 0.32 0.178 0.08 0.64 0.60 1.20 0.1ns 0.147ns

More information

TAU 2015 Contest Incremental Timing Analysis and Incremental Common Path Pessimism Removal (CPPR) Contest Education. v1.9 January 19 th, 2015

TAU 2015 Contest Incremental Timing Analysis and Incremental Common Path Pessimism Removal (CPPR) Contest Education. v1.9 January 19 th, 2015 TU 2015 Contest Incremental Timing nalysis and Incremental Common Path Pessimism Removal CPPR Contest Education v1.9 January 19 th, 2015 https://sites.google.com/site/taucontest2015 Contents 1 Introduction

More information

Methodology to Achieve Higher Tolerance to Delay Variations in Synchronous Circuits

Methodology to Achieve Higher Tolerance to Delay Variations in Synchronous Circuits Methodology to Achieve Higher Tolerance to Delay Variations in Synchronous Circuits Emre Salman and Eby G. Friedman Department of Electrical and Computer Engineering University of Rochester Rochester,

More information

6. Finite State Machines

6. Finite State Machines 6. Finite State Machines 6.4x Computation Structures Part Digital Circuits Copyright 25 MIT EECS 6.4 Computation Structures L6: Finite State Machines, Slide # Our New Machine Clock State Registers k Current

More information

EECS 427 Lecture 14: Timing Readings: EECS 427 F09 Lecture Reminders

EECS 427 Lecture 14: Timing Readings: EECS 427 F09 Lecture Reminders EECS 427 Lecture 14: Timing Readings: 10.1-10.3 EECS 427 F09 Lecture 14 1 Reminders CA assignments Please submit CA6 by tomorrow noon CA7 is due in a week Seminar by Prof. Bora Nikolic SRAM variability

More information

Sequential Logic. Handouts: Lecture Slides Spring /27/01. L06 Sequential Logic 1

Sequential Logic. Handouts: Lecture Slides Spring /27/01. L06 Sequential Logic 1 Sequential Logic Handouts: Lecture Slides 6.4 - Spring 2 2/27/ L6 Sequential Logic Roadmap so far Fets & voltages Logic gates Combinational logic circuits Sequential Logic Voltage-based encoding V OL,

More information

A Geometric Programming-based Worst-Case Gate Sizing Method Incorporating Spatial Correlation

A Geometric Programming-based Worst-Case Gate Sizing Method Incorporating Spatial Correlation A Geometric Programming-based Worst-Case Gate Sizing Method Incorporating Spatial Correlation Jaskirat Singh Vidyasagar Nookala Zhi-Quan Luo Sachin S. Sapatnekar Department of Electrical & Computer Engineering

More information

On Critical Path Selection Based Upon Statistical Timing Models -- Theory and Practice

On Critical Path Selection Based Upon Statistical Timing Models -- Theory and Practice On Critical Path Selection Based Upon Statistical Timing Models -- Theory and Practice Jing-Jia Liou, Angela Krstic, Li-C. Wang, and Kwang-Ting Cheng University of California - Santa Barbara Problem Find

More information

ABSTRACT TIMING VERIFICATION AND OPTIMIZATION OF CIRCUITS WITH LEVEL-SENSITIVE LATCHES. by Timothy Michael Burks

ABSTRACT TIMING VERIFICATION AND OPTIMIZATION OF CIRCUITS WITH LEVEL-SENSITIVE LATCHES. by Timothy Michael Burks ABSTRACT TIMING VERIFICATION AND OPTIMIZATION OF CIRCUITS WITH LEVEL-SENSITIVE LATCHES by Timothy Michael Burks Chair: Karem Sakallah This work describes the development of a model for the static timing

More information

CIS 4930/6930: Principles of Cyber-Physical Systems

CIS 4930/6930: Principles of Cyber-Physical Systems CIS 4930/6930: Principles of Cyber-Physical Systems Chapter 11 Scheduling Hao Zheng Department of Computer Science and Engineering University of South Florida H. Zheng (CSE USF) CIS 4930/6930: Principles

More information

Chapter 2 Process Variability. Overview. 2.1 Sources and Types of Variations

Chapter 2 Process Variability. Overview. 2.1 Sources and Types of Variations Chapter 2 Process Variability Overview Parameter variability has always been an issue in integrated circuits. However, comparing with the size of devices, it is relatively increasing with technology evolution,

More information

SIMULATION-BASED APPROXIMATE GLOBAL FAULT COLLAPSING

SIMULATION-BASED APPROXIMATE GLOBAL FAULT COLLAPSING SIMULATION-BASED APPROXIMATE GLOBAL FAULT COLLAPSING Hussain Al-Asaad and Raymond Lee Computer Engineering Research Laboratory Department of Electrical & Computer Engineering University of California One

More information

Chapter 3. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 3 <1>

Chapter 3. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 3 <1> Chapter 3 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 3 Chapter 3 :: Topics Introduction Latches and Flip-Flops Synchronous Logic Design Finite

More information

A Statistical Study of the Effectiveness of BIST Jitter Measurement Techniques

A Statistical Study of the Effectiveness of BIST Jitter Measurement Techniques A Statistical Study of the Effectiveness of BIST Jitter Measurement Techniques David Bordoley, Hieu guyen, Mani Soma Department of Electrical Engineering, University of Washington, Seattle WA {bordoley,

More information

UNIVERSITY OF CALIFORNIA

UNIVERSITY OF CALIFORNIA UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Last modified on April 14, 2004 by Brian Leibowitz (bsl@eecs.berkeley.edu) Jan Rabaey Homework

More information

The Design Procedure. Output Equation Determination - Derive output equations from the state table

The Design Procedure. Output Equation Determination - Derive output equations from the state table The Design Procedure Specification Formulation - Obtain a state diagram or state table State Assignment - Assign binary codes to the states Flip-Flop Input Equation Determination - Select flipflop types

More information

for generating the LP. Utilizing the retiming-skew relation for level-clocked circuits from [7], bounds on the variables of the minarea LP are obtaine

for generating the LP. Utilizing the retiming-skew relation for level-clocked circuits from [7], bounds on the variables of the minarea LP are obtaine Ecient Minarea Retiming of Large Level-Clocked Circuits Naresh Maheshwari Sachin S. Sapatnekar Department of Electrical & Computer Engineering Department of Electrical & Computer Engineering Iowa State

More information

Structural Delay Testing Under Restricted Scan of Latch-based Pipelines with Time Borrowing

Structural Delay Testing Under Restricted Scan of Latch-based Pipelines with Time Borrowing Structural Delay Testing Under Restricted Scan of Latch-based Pipelines with Borrowing Kun Young Chung and Sandeep K. Gupta University of Southern California, EE Systems Abstract High-speed circuits use

More information

USING SAT FOR COMBINATIONAL IMPLEMENTATION CHECKING. Liudmila Cheremisinova, Dmitry Novikov

USING SAT FOR COMBINATIONAL IMPLEMENTATION CHECKING. Liudmila Cheremisinova, Dmitry Novikov International Book Series "Information Science and Computing" 203 USING SAT FOR COMBINATIONAL IMPLEMENTATION CHECKING Liudmila Cheremisinova, Dmitry Novikov Abstract. The problem of checking whether a

More information

UNIVERSITY OF CALIFORNIA, BERKELEY College of Engineering Department of Electrical Engineering and Computer Sciences

UNIVERSITY OF CALIFORNIA, BERKELEY College of Engineering Department of Electrical Engineering and Computer Sciences UNIVERSITY OF CALIFORNIA, BERKELEY College of Engineering Department of Electrical Engineering and Computer Sciences Elad Alon Homework #9 EECS141 PROBLEM 1: TIMING Consider the simple state machine shown

More information

Built-In Test Generation for Synchronous Sequential Circuits

Built-In Test Generation for Synchronous Sequential Circuits Built-In Test Generation for Synchronous Sequential Circuits Irith Pomeranz and Sudhakar M. Reddy + Electrical and Computer Engineering Department University of Iowa Iowa City, IA 52242 Abstract We consider

More information

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013 Lecture 3 Real-Time Scheduling Daniel Kästner AbsInt GmbH 203 Model-based Software Development 2 SCADE Suite Application Model in SCADE (data flow + SSM) System Model (tasks, interrupts, buses, ) SymTA/S

More information

On Bounding the Delay of a Critical Path

On Bounding the Delay of a Critical Path On Bounding the Delay of a Critical Path Leonard Lee lylee@ece.ucsb.edu Li-C. Wang licwang@ece.ucsb.edu Department of Electrical and Computer Engineering University of California - Santa Barbara Santa

More information

Sequential vs. Combinational

Sequential vs. Combinational Sequential Circuits Sequential vs. Combinational Combinational Logic: Output depends only on current input TV channel selector (-9) inputs system outputs Sequential Logic: Output depends not only on current

More information

PARADE: PARAmetric Delay Evaluation Under Process Variation * (Revised Version)

PARADE: PARAmetric Delay Evaluation Under Process Variation * (Revised Version) PARADE: PARAmetric Delay Evaluation Under Process Variation * (Revised Version) Xiang Lu, Zhuo Li, Wangqi Qiu, D. M. H. Walker, Weiping Shi Dept. of Electrical Engineering Dept. of Computer Science Texas

More information

Issues on Timing and Clocking

Issues on Timing and Clocking ECE152B TC 1 Issues on Timing and Clocking X Combinational Logic Z... clock clock clock period ECE152B TC 2 Latch and Flip-Flop L CK CK 1 L1 1 L2 2 CK CK CK ECE152B TC 3 Clocking X Combinational Logic...

More information

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering TIMING ANALYSIS Overview Circuits do not respond instantaneously to input changes

More information

Figure 1.1: Schematic symbols of an N-transistor and P-transistor

Figure 1.1: Schematic symbols of an N-transistor and P-transistor Chapter 1 The digital abstraction The term a digital circuit refers to a device that works in a binary world. In the binary world, the only values are zeros and ones. Hence, the inputs of a digital circuit

More information

Technology Mapping for Reliability Enhancement in Logic Synthesis

Technology Mapping for Reliability Enhancement in Logic Synthesis Technology Mapping for Reliability Enhancement in Logic Synthesis Zhaojun Wo and Israel Koren Department of Electrical and Computer Engineering University of Massachusetts,Amherst,MA 01003 E-mail: {zwo,koren}@ecs.umass.edu

More information

PARADE: PARAmetric Delay Evaluation Under Process Variation *

PARADE: PARAmetric Delay Evaluation Under Process Variation * PARADE: PARAmetric Delay Evaluation Under Process Variation * Xiang Lu, Zhuo Li, Wangqi Qiu, D. M. H. Walker, Weiping Shi Dept. of Electrical Engineering Dept. of Computer Science Texas A&M University

More information

Metastability. Introduction. Metastability. in Altera Devices

Metastability. Introduction. Metastability. in Altera Devices in Altera Devices May 1999, ver. 4 Application Note 42 Introduction The output of an edge-triggered flipflop has two valid states: high and low. To ensure reliable operation, designs must meet the flipflop

More information

An Extended Metastability Simulation Method for Synchronizer Characterization

An Extended Metastability Simulation Method for Synchronizer Characterization An Extended Metastability Simulation Method for Synchronizer Characterization Salomon Beer and Ran Ginosar Electrical Engineering Department, Technion Israel Institute of Technology, 382 Haifa, Israel

More information

Counting Two-State Transition-Tour Sequences

Counting Two-State Transition-Tour Sequences Counting Two-State Transition-Tour Sequences Nirmal R. Saxena & Edward J. McCluskey Center for Reliable Computing, ERL 460 Department of Electrical Engineering, Stanford University, Stanford, CA 94305

More information

THE UNIVERSITY OF MICHIGAN. Timing Analysis of Domino Logic

THE UNIVERSITY OF MICHIGAN. Timing Analysis of Domino Logic Timing Analsis of Domino Logic b David Van Campenhout, Trevor Mudge and Karem Sakallah CSE-T-296-96 THE UNIVESITY O MICHIGAN Computer Science and Engineering Division Department of Electrical Engineering

More information

CMPEN 411. Spring Lecture 18: Static Sequential Circuits

CMPEN 411. Spring Lecture 18: Static Sequential Circuits CMPEN 411 VLSI Digital Circuits Spring 2011 Lecture 18: Static Sequential Circuits [Adapted from Rabaey s Digital Integrated Circuits, Second Edition, 2003 J. Rabaey, A. Chandrakasan, B. Nikolic] Sp11

More information

Designing Sequential Logic Circuits

Designing Sequential Logic Circuits igital Integrated Circuits (83-313) Lecture 5: esigning Sequential Logic Circuits Semester B, 2016-17 Lecturer: r. Adam Teman TAs: Itamar Levi, Robert Giterman 26 April 2017 isclaimer: This course was

More information

Reducing power in using different technologies using FSM architecture

Reducing power in using different technologies using FSM architecture Reducing power in using different technologies using FSM architecture Himani Mitta l, Dinesh Chandra 2, Sampath Kumar 3,2,3 J.S.S.Academy of Technical Education,NOIDA,U.P,INDIA himanimit@yahoo.co.in, dinesshc@gmail.com,

More information

SINCE the early 1990s, static-timing analysis (STA) has

SINCE the early 1990s, static-timing analysis (STA) has IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 4, APRIL 2008 589 Keynote Paper Statistical Timing Analysis: From Basic Principles to State of the Art David

More information

Embedded Systems Development

Embedded Systems Development Embedded Systems Development Lecture 3 Real-Time Scheduling Dr. Daniel Kästner AbsInt Angewandte Informatik GmbH kaestner@absint.com Model-based Software Development Generator Lustre programs Esterel programs

More information

EE115C Winter 2017 Digital Electronic Circuits. Lecture 19: Timing Analysis

EE115C Winter 2017 Digital Electronic Circuits. Lecture 19: Timing Analysis EE115C Winter 2017 Digital Electronic Circuits Lecture 19: Timing Analysis Outline Timing parameters Clock nonidealities (skew and jitter) Impact of Clk skew on timing Impact of Clk jitter on timing Flip-flop-

More information

EE382 Processor Design Winter 1999 Chapter 2 Lectures Clocking and Pipelining

EE382 Processor Design Winter 1999 Chapter 2 Lectures Clocking and Pipelining Slide 1 EE382 Processor Design Winter 1999 Chapter 2 Lectures Clocking and Pipelining Slide 2 Topics Clocking Clock Parameters Latch Types Requirements for reliable clocking Pipelining Optimal pipelining

More information

Timing-Aware Decoupling Capacitance Allocation in Power Distribution Networks

Timing-Aware Decoupling Capacitance Allocation in Power Distribution Networks Timing-Aware Decoupling Capacitance Allocation in Power Distribution Networks Sanjay Pant, David Blaauw Electrical Engineering and Computer Science University of Michigan 1/22 Power supply integrity issues

More information

Jim Lambers MAT 610 Summer Session Lecture 2 Notes

Jim Lambers MAT 610 Summer Session Lecture 2 Notes Jim Lambers MAT 610 Summer Session 2009-10 Lecture 2 Notes These notes correspond to Sections 2.2-2.4 in the text. Vector Norms Given vectors x and y of length one, which are simply scalars x and y, the

More information

Efficient Circuit Analysis under Multiple Input Switching (MIS) Anupama R. Subramaniam

Efficient Circuit Analysis under Multiple Input Switching (MIS) Anupama R. Subramaniam Efficient Circuit Analysis under Multiple Input Switching (MIS) by Anupama R. Subramaniam A Dissertation Presented in Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy Approved

More information

Rahul B. Deokar and Sachin S. Sapatnekar. 201 Coover Hall, Iowa State University, Ames, IA

Rahul B. Deokar and Sachin S. Sapatnekar. 201 Coover Hall, Iowa State University, Ames, IA A Fresh Look at Retiming via Clock Skew Optimization Rahul B. Deokar and Sachin S. Sapatnekar Department of Electrical and Computer Engineering 201 Coover Hall, Iowa State University, Ames, IA 50011. Abstract

More information

Chapter 3. Chapter 3 :: Topics. Introduction. Sequential Circuits

Chapter 3. Chapter 3 :: Topics. Introduction. Sequential Circuits Chapter 3 Chapter 3 :: Topics igital esign and Computer Architecture, 2 nd Edition avid Money Harris and Sarah L. Harris Introduction Latches and Flip Flops Synchronous Logic esign Finite State Machines

More information

Comments on An Improvement to the Brent s Method

Comments on An Improvement to the Brent s Method Comments on An Improvement to the Brent s Method Steven A. Stage IEM 8550 United Plaza Boulevard, Suite 501 Baton Rouge, Louisiana 70808-000, United States of America steve.stage@iem.com Abstract Zhang

More information

Embedded Systems 14. Overview of embedded systems design

Embedded Systems 14. Overview of embedded systems design Embedded Systems 14-1 - Overview of embedded systems design - 2-1 Point of departure: Scheduling general IT systems In general IT systems, not much is known about the computational processes a priori The

More information

Buffered Clock Tree Sizing for Skew Minimization under Power and Thermal Budgets

Buffered Clock Tree Sizing for Skew Minimization under Power and Thermal Budgets Buffered Clock Tree Sizing for Skew Minimization under Power and Thermal Budgets Krit Athikulwongse, Xin Zhao, and Sung Kyu Lim School of Electrical and Computer Engineering Georgia Institute of Technology

More information

Unit 1A: Computational Complexity

Unit 1A: Computational Complexity Unit 1A: Computational Complexity Course contents: Computational complexity NP-completeness Algorithmic Paradigms Readings Chapters 3, 4, and 5 Unit 1A 1 O: Upper Bounding Function Def: f(n)= O(g(n)) if

More information

Laboratory Exercise #8 Introduction to Sequential Logic

Laboratory Exercise #8 Introduction to Sequential Logic Laboratory Exercise #8 Introduction to Sequential Logic ECEN 248: Introduction to Digital Design Department of Electrical and Computer Engineering Texas A&M University 2 Laboratory Exercise #8 1 Introduction

More information

Logic Synthesis and Verification

Logic Synthesis and Verification Logic Synthesis and Verification Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Fall Timing Analysis & Optimization Reading: Logic Synthesis in a Nutshell Sections

More information

Symbolic Variable Elimination in Discrete and Continuous Graphical Models. Scott Sanner Ehsan Abbasnejad

Symbolic Variable Elimination in Discrete and Continuous Graphical Models. Scott Sanner Ehsan Abbasnejad Symbolic Variable Elimination in Discrete and Continuous Graphical Models Scott Sanner Ehsan Abbasnejad Inference for Dynamic Tracking No one previously did this inference exactly in closed-form! Exact

More information

CS264: Beyond Worst-Case Analysis Lecture #15: Smoothed Complexity and Pseudopolynomial-Time Algorithms

CS264: Beyond Worst-Case Analysis Lecture #15: Smoothed Complexity and Pseudopolynomial-Time Algorithms CS264: Beyond Worst-Case Analysis Lecture #15: Smoothed Complexity and Pseudopolynomial-Time Algorithms Tim Roughgarden November 5, 2014 1 Preamble Previous lectures on smoothed analysis sought a better

More information

Optimal Control of Partiality Observable Markov. Processes over a Finite Horizon

Optimal Control of Partiality Observable Markov. Processes over a Finite Horizon Optimal Control of Partiality Observable Markov Processes over a Finite Horizon Report by Jalal Arabneydi 04/11/2012 Taken from Control of Partiality Observable Markov Processes over a finite Horizon by

More information

CS264: Beyond Worst-Case Analysis Lecture #18: Smoothed Complexity and Pseudopolynomial-Time Algorithms

CS264: Beyond Worst-Case Analysis Lecture #18: Smoothed Complexity and Pseudopolynomial-Time Algorithms CS264: Beyond Worst-Case Analysis Lecture #18: Smoothed Complexity and Pseudopolynomial-Time Algorithms Tim Roughgarden March 9, 2017 1 Preamble Our first lecture on smoothed analysis sought a better theoretical

More information

Lecture 9: Sequential Logic Circuits. Reading: CH 7

Lecture 9: Sequential Logic Circuits. Reading: CH 7 Lecture 9: Sequential Logic Circuits Reading: CH 7 Sequential Logic FSM (Finite-state machine) Inputs Current State COMBINATIONAL LOGIC Registers Outputs = f(current, inputs) Next state 2 storage mechanisms

More information

Online Packet Routing on Linear Arrays and Rings

Online Packet Routing on Linear Arrays and Rings Proc. 28th ICALP, LNCS 2076, pp. 773-784, 2001 Online Packet Routing on Linear Arrays and Rings Jessen T. Havill Department of Mathematics and Computer Science Denison University Granville, OH 43023 USA

More information

arxiv: v1 [math.ho] 25 Feb 2008

arxiv: v1 [math.ho] 25 Feb 2008 A Note on Walking Versus Waiting Anthony B. Morton February 28 arxiv:82.3653v [math.ho] 25 Feb 28 To what extent is a traveller called Justin, say) better off to wait for a bus rather than just start walking

More information

Fundamental Algorithms for System Modeling, Analysis, and Optimization

Fundamental Algorithms for System Modeling, Analysis, and Optimization Fundamental Algorithms for System Modeling, Analysis, and Optimization Edward A. Lee, Jaijeet Roychowdhury, Sanjit A. Seshia UC Berkeley EECS 144/244 Fall 2010 Copyright 2010, E. A. Lee, J. Roydhowdhury,

More information

On the Approximate Linear Programming Approach for Network Revenue Management Problems

On the Approximate Linear Programming Approach for Network Revenue Management Problems On the Approximate Linear Programming Approach for Network Revenue Management Problems Chaoxu Tong School of Operations Research and Information Engineering, Cornell University, Ithaca, New York 14853,

More information

Transistor Sizing for Radiation Hardening

Transistor Sizing for Radiation Hardening Transistor Sizing for Radiation Hardening Qug Zhou and Kartik Mohanram Department of Electrical and Computer Engineering Rice University, Houston, TX 775 E-mail: {qug, kmram}@rice.edu Abstract This paper

More information

EE241 - Spring 2007 Advanced Digital Integrated Circuits. Announcements

EE241 - Spring 2007 Advanced Digital Integrated Circuits. Announcements EE241 - Spring 2007 Advanced Digital Integrated Circuits Lecture 25: Synchronization Timing Announcements Homework 5 due on 4/26 Final exam on May 8 in class Project presentations on May 3, 1-5pm 2 1 Project

More information

Delay Variation Tolerance for Domino Circuits

Delay Variation Tolerance for Domino Circuits Delay Variation Tolerance for Domino Circuits Student: Kai-Chiang Wu Advisor: Shih-Chieh Chang Department of Computer Science National Tsing Hua University Hsinchu, Taiwan 300, R.O.C. June, 2004 Abstract

More information

Lecture 10: Sequential Networks: Timing and Retiming

Lecture 10: Sequential Networks: Timing and Retiming Lecture 10: Sequential Networks: Timing and Retiming CSE 140: Components and Design Techniques for Digital Systems Diba Mirza Dept. of Computer Science and Engineering University of California, San Diego

More information

Longest Path Selection for Delay Test under Process Variation

Longest Path Selection for Delay Test under Process Variation 2093 1 Longest Path Selection for Delay Test under Process Variation Xiang Lu, Zhuo Li, Wangqi Qiu, D. M. H. Walker and Weiping Shi Abstract Under manufacturing process variation, a path through a net

More information

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

ESE 570: Digital Integrated Circuits and VLSI Fundamentals ESE 570: Digital Integrated Circuits and VLSI Fundamentals Lec 17: March 23, 2017 Energy and Power Optimization, Design Space Exploration, Synchronous MOS Logic Lecture Outline! Energy and Power Optimization

More information

A Rothschild-Stiglitz approach to Bayesian persuasion

A Rothschild-Stiglitz approach to Bayesian persuasion A Rothschild-Stiglitz approach to Bayesian persuasion Matthew Gentzkow and Emir Kamenica Stanford University and University of Chicago December 2015 Abstract Rothschild and Stiglitz (1970) represent random

More information

Test Generation for Designs with Multiple Clocks

Test Generation for Designs with Multiple Clocks 39.1 Test Generation for Designs with Multiple Clocks Xijiang Lin and Rob Thompson Mentor Graphics Corp. 8005 SW Boeckman Rd. Wilsonville, OR 97070 Abstract To improve the system performance, designs with

More information

Clock Buffer Polarity Assignment Utilizing Useful Clock Skews for Power Noise Reduction

Clock Buffer Polarity Assignment Utilizing Useful Clock Skews for Power Noise Reduction Clock Buffer Polarity Assignment Utilizing Useful Clock Skews for Power Noise Reduction Deokjin Joo and Taewhan Kim Department of Electrical and Computer Engineering, Seoul National University, Seoul,

More information

ECE 3060 VLSI and Advanced Digital Design. Testing

ECE 3060 VLSI and Advanced Digital Design. Testing ECE 3060 VLSI and Advanced Digital Design Testing Outline Definitions Faults and Errors Fault models and definitions Fault Detection Undetectable Faults can be used in synthesis Fault Simulation Observability

More information

Memory Elements I. CS31 Pascal Van Hentenryck. CS031 Lecture 6 Page 1

Memory Elements I. CS31 Pascal Van Hentenryck. CS031 Lecture 6 Page 1 Memory Elements I CS31 Pascal Van Hentenryck CS031 Lecture 6 Page 1 Memory Elements (I) Combinational devices are good for computing Boolean functions pocket calculator Computers also need to remember

More information

Hold Time Illustrations

Hold Time Illustrations Hold Time Illustrations EE213-L09-Sequential Logic.1 Pingqiang, ShanghaiTech, 2018 Hold Time Illustrations EE213-L09-Sequential Logic.2 Pingqiang, ShanghaiTech, 2018 Hold Time Illustrations EE213-L09-Sequential

More information

Timing Analysis. Andreas Kuehlmann. A k = max{a 1 +D k1, A 2 +D k2,a 3 +D k3 } S k. S j. Required times: S ki. given required times on primary outputs

Timing Analysis. Andreas Kuehlmann. A k = max{a 1 +D k1, A 2 +D k2,a 3 +D k3 } S k. S j. Required times: S ki. given required times on primary outputs EECS 9B Spring 3 Timing Analysis - Delay Models Simple model : D k Ak A A A3 Timing Analysis A k = arrival time = max(a,a,a 3 ) + D k D k is the delay at node k, parameterized according to function f k

More information

Static Timing Analysis Considering Power Supply Variations

Static Timing Analysis Considering Power Supply Variations Static Timing Analysis Considering Power Supply Variations Sanay Pant, David Blaauw University of Michigan, Ann Arbor, MI Abstract Power supply integrity verification has become a key concern in high performance

More information

EffiTest2: Efficient Delay Test and Prediction for Post-Silicon Clock Skew Configuration under Process Variations

EffiTest2: Efficient Delay Test and Prediction for Post-Silicon Clock Skew Configuration under Process Variations IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS 1 EffiTest2: Efficient Delay Test and Prediction for Post-Silicon Clock Skew Configuration under Process Variations Grace Li

More information

CPE/EE 422/522. Chapter 1 - Review of Logic Design Fundamentals. Dr. Rhonda Kay Gaede UAH. 1.1 Combinational Logic

CPE/EE 422/522. Chapter 1 - Review of Logic Design Fundamentals. Dr. Rhonda Kay Gaede UAH. 1.1 Combinational Logic CPE/EE 422/522 Chapter - Review of Logic Design Fundamentals Dr. Rhonda Kay Gaede UAH UAH Chapter CPE/EE 422/522. Combinational Logic Combinational Logic has no control inputs. When the inputs to a combinational

More information

Strong Performance Guarantees for Asynchronous Buffered Crossbar Schedulers

Strong Performance Guarantees for Asynchronous Buffered Crossbar Schedulers Strong Performance Guarantees for Asynchronous Buffered Crossbar Schedulers Jonathan Turner Washington University jon.turner@wustl.edu January 30, 2008 Abstract Crossbar-based switches are commonly used

More information

A Rothschild-Stiglitz approach to Bayesian persuasion

A Rothschild-Stiglitz approach to Bayesian persuasion A Rothschild-Stiglitz approach to Bayesian persuasion Matthew Gentzkow and Emir Kamenica Stanford University and University of Chicago September 2015 Abstract Rothschild and Stiglitz (1970) introduce a

More information

Constrained Clock Shifting for Field Programmable Gate Arrays

Constrained Clock Shifting for Field Programmable Gate Arrays Constrained Clock Shifting for Field Programmable Gate Arrays Deshanand P. Singh Dept. of Electrical and Computer Engineering University of Toronto Toronto, Canada singhd@eecg.toronto.edu Stephen D. Brown

More information

Selected Examples of CONIC DUALITY AT WORK Robust Linear Optimization Synthesis of Linear Controllers Matrix Cube Theorem A.

Selected Examples of CONIC DUALITY AT WORK Robust Linear Optimization Synthesis of Linear Controllers Matrix Cube Theorem A. . Selected Examples of CONIC DUALITY AT WORK Robust Linear Optimization Synthesis of Linear Controllers Matrix Cube Theorem A. Nemirovski Arkadi.Nemirovski@isye.gatech.edu Linear Optimization Problem,

More information

THIS paper is aimed at designing efficient decoding algorithms

THIS paper is aimed at designing efficient decoding algorithms IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 45, NO. 7, NOVEMBER 1999 2333 Sort-and-Match Algorithm for Soft-Decision Decoding Ilya Dumer, Member, IEEE Abstract Let a q-ary linear (n; k)-code C be used

More information

Vehicle Routing and Scheduling. Martin Savelsbergh The Logistics Institute Georgia Institute of Technology

Vehicle Routing and Scheduling. Martin Savelsbergh The Logistics Institute Georgia Institute of Technology Vehicle Routing and Scheduling Martin Savelsbergh The Logistics Institute Georgia Institute of Technology Vehicle Routing and Scheduling Part II: Algorithmic Enhancements Handling Practical Complexities

More information

Fli;W HEWLETT. Timing Analysis ofdigital Circuits and the Theory ofmin-max Functions

Fli;W HEWLETT. Timing Analysis ofdigital Circuits and the Theory ofmin-max Functions Fli;W HEWLETT a:~ PACKARD Timing Analysis ofdigital Circuits and the Theory ofmin-max Functions Jeremy Gunawardena External Research Program HPL-94-39 April, 1994 jhcg@hplb.hpl.hp.com asynchronous circuit,

More information

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP)

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP) INTEGER PROGRAMMING Integer Programming g In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

More information

On Application of Output Masking to Undetectable Faults in Synchronous Sequential Circuits with Design-for-Testability Logic

On Application of Output Masking to Undetectable Faults in Synchronous Sequential Circuits with Design-for-Testability Logic On Application of Output Masking to Undetectable Faults in Synchronous Sequential Circuits with Design-for-Testability Logic Irith Pomeranz 1 and Sudhakar M. Reddy 2 School of Electrical & Computer Eng.

More information

The Linear-Feedback Shift Register

The Linear-Feedback Shift Register EECS 141 S02 Timing Project 2: A Random Number Generator R R R S 0 S 1 S 2 1 0 0 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 The Linear-Feedback Shift Register 1 Project Goal Design a 4-bit LFSR SPEED, SPEED,

More information

Synchronous Sequential Circuit

Synchronous Sequential Circuit Synchronous Sequential Circuit The change of internal state occurs in response to the synchronized clock pulses. Data are read during the clock pulse (e.g. rising-edge triggered) It is supposed to wait

More information

The Separation Problem for Binary Decision Diagrams

The Separation Problem for Binary Decision Diagrams The Separation Problem for Binary Decision Diagrams J. N. Hooker Joint work with André Ciré Carnegie Mellon University ISAIM 2014 Separation Problem in Optimization Given a relaxation of an optimization

More information