Using Bézier Curve to Improve the Accuracy in Integrated Circuit Design Analysis Eric Y. Chen

May Huang

Google Inc. 1600 Amphitheatre Pkwy. MountainView, CA 94043, USA

Department of Electrical Engineering International Technology University 756 San Aleso Ave. Sunnyvale, CA 94085, USA

[email protected]

[email protected] ABSTRACT In this paper, we introduce a method for the application of B´ezier curve algorithms to lookup-table-based interpolations, particularly for the use of timing, power, and noise analysis in integrated circuit design. B´ezier curves can replace conventional piecewise linear functions for accuracy enhancement. Selecting control points with physical implications and forcing curves to pass through sampled points are critical for achieving the envisioned improvements. This method can be easily applied to the interpolation of splines. Keywords: Lookup Table, B´ezier Curve, Analysis.

1.

INTRODUCTION

In model-based analysis, lookup table (LUT) is a common used method for modeling characteristics. Indices on dimensions express measuring conditions, and values on a table represent sampled points measured on corresponding condition(s). For example, a table of internal energy consists of two indices: input signal slew and output capacitive load. The energy values in the table are measured with pairs of input slew and output load marked on the indices. A unit circuit can be small as an inverter or large as a processor. Given a point on the index for a two-dimensional LUT or a pair of points on the indices for a three-dimensional LUT, many algorithms are applicable for calculating the value. Piecewise linear (PWL) functions are commonly used in design analysis. The calculation accuracy is proportional to the size of tables. With the desire of pursuing high level of accuracy without intolerable increase in table size, various methods were endeavored, such as finding critical points on contours [11] and optimizing characterization tables [4]. Growing with technologies, more effects are added into considerations. Electrical current models [1, 2] are suggested to represent time and power models for accuracy improvement. These efforts cause the number of lookup tables increased exponentially. To keep analysis efficiency, a microprocessor

for PWL computation is also considered and developed [10]. A major disadvantage of the piecewise linear approach is that the continuity of first derivatives is not carried at sampled points, which limits the accuracy of interpolations. Another disadvantage is that many sample points are often required in order to describe the characteristics sufficiently, thus the size of LUTs cannot be too small. Theoretically, these disadvantages can be overcome by nonlinear fitting curves, such as splines [13]. The challenge of using splines is that the shape of nonlinear curves is not easy to control, especially to force the curves passing through sampled points. Since a design analysis primarily relies on lookup tables, any improvement of interpolation accuracy will contribute to the reliability of the analysis.

2.

NONLINEAR FITTING CURVES

Nonlinear fitting curves can provide smoother curves than piecewise linear functions. Among polynomial nonlinear curves, B-splines and B´ezier curves are commonly used in practice, since higher-degree curves are even more difficult to control.

2.1

B-Splines

B-splines a.k.a cubic splines are defined by piecewise cubic functions, represented by a set of knots. To add an extra piece to the curve, only one knot is required. Comparing with piecewise linear functions, B-splines are smoother. These advantages enable B-splines to be favored in CAD tools for providing smooth curves. The drawback is that spline curves do not pass through any knots. In fact, knots only indirectly affect the shape of curves. Manual and interactive refinement to the knots using CAD tools is sometime necessary to obtain an ideal spline curve. B-spline curves have been applied in circuit analysis. Vlach and Singhal have provided a method to compute the derivatives on the curves based on the knots [13]. However, the requirement of solving complicated high-dimensional equations prevents the method from replacing piecewise linear functions practically.

2.2

Bézier Curves

B´ezier curves are cubic curves, represented by a set of control points. In general, this method is not so popular as B-splines for two reasons. First, its representation is less compact.

Three extra control points are required to add a piece of curve whereas splines only need one point. Second, it is less smooth than B-splines at some points on curves. However, B´ezier curves are easier to manipulate. We can control not only the curves to pass through certain points but also the derivatives on curves directly. This advantage makes it possible to design smooth curves automatically from measured data. Meanwhile, B´ezier curves are evaluated in a similar way as splines, using de Casteljau’s algorithm [3].

−−→ b0 is defined by the vector b0 b1 and the first derivative at −−→ b3 is defined by the vector b2 b3 . The constructed piecewise curves are composed by a set of B´ezier curves. C0 and C1 continuity1 are preserved at any point on the curves. C2 continuity is guaranteed everywhere except at the sampled points. As mentioned in [8], the piecewise B´ezier curves can be transformed to B-splines by introducing duplicated knots that cause the loss of C2 continuity at sampled points. In section 5, we show the accuracy of the method.

In fact, the control points of B´ezier curves can be transformed into the knots of splines by duplicating some knots [8]. Therefore, the curves we generated can be automatically adopted by a system where B-splines are used as the interpolation method.

3.2

Approximating Derivatives at Sampled Points

Even if there are other types of piecewise nonlinear curves, such as Lagrange polynomials, Hermite polynomials and least squares approximations [8], those curves are usually evaluated using different algorithms, and thus harder to be converted into B-splines.

To avoid the inconvenience of measuring derivatives, we present a substitution to obtain the derivatives at sampled points. We approximate these derivatives with the average of the slopes of two adjacent piecewise linear functions. There are two special cases, at the first and last sampled points in a lookup table. We define b1 of the first piece as the mid point of b0 b2 , and b2 of the last piece as the mid point of b1 b3 .

3.

3.3

IMPROVING ACCURACY IN 2D LOOKUP TABLES

We use piecewise cubic B´ezier curves to interpolate values between two sampled points. To define a piece of the curve, we only need four data: the values at the sampled points and the first derivatives at the points. The smoothness is ensured at any point on the curve.

3.1

Determining Control Points

For each piece of the B´ezier curve, we define four control points. The first one and the last one will be shared with adjacent pieces. As shown in figure 1, the first control point b0 is set to the sampled point on the left, and the last control point b3 is set to the sampled point on the right. We compute the control points b1 and b2 based on the first derivatives at b0 and b3 respectively. The derivative at b0 can be represented as line l passing through b0 . The control point b1 is defined at the intersection of l and the vertical line passing through the left tercile of the x-coordinates of b0 and b3 . Symmetrically, we define b2 using the first derivative at b3 and the right tercile of the x-coordinates of b0 and b3 . b1

b2

b0

1/3

1/3

1/3

b3

Figure 1: A cubic B´ezier curve As a well-known property of cubic B´ezier curves [8], the constructed curve starts from the first control point b0 and ends at the last control point b3 . The first derivative at

Evaluating Points on the Curve

we first locate the piece containing the query point. After the four control points are found, the evaluation of the curve is standard, such as using de Casteljau’s algorithm [8]. Using this method, a B´ezier curve is represented as (x(t), y(t)), t ∈ (0, 1). Since we cannot compute y as a function of x directly, Newton’s iterative method is used to determine t by x(t) and then compute y(t) [12].

4.

IMPROVING ACCURACY IN 3D LOOKUP TABLES

There are two ways of extending the 2D lookup tables in 3D, using rectangular surface patches or using triangular surface patches. A surface of rectangular patches can be easily constructed from existing lookup tables, but it is less smooth on the boundaries of patches. A surface of triangular patches is harder to construct, but it can provide a smoother surface and requires fewer constraints on sampled points.

4.1

Rectangular Patches with Tensor Product

For existing 3D lookup tables, the sampled points are usually represented as a grid, where each point is defined as z(x, y). We compute the piecewise cubic B´ezier curve along each column and row using the method introduced in section 3. By doing so, we divide the surface into a set of rectangular patches, and all the boundaries of the patches are defined as cubic B´ezier curves. We evaluate the values in a rectangular patch using tensor product [8]. It guarantees C1 continuity in both x and y directions in the patch and along its boundaries and C0 continuity on the boundaries in the perpendicular direction. This method can be extended to higher dimensions. Similar to the 2D curves, a point of a 3D surface is defined as a set of functions (x(u), y(v), z(u, v)), (u ∈ (0, 1), v ∈ (0, 1), 1 r C : being r times differentiable with respect to the given parametrization is preserved [8].

instead of z(x, y). We can compute u and v using the Newton’s method, and then compute z(u, v).

4.2

We also introduced a method to apply B´ezier curves on existing LUTs without suffering the measurement of derivatives.

Triangular Patches

We introduce a method to achieve better smoothness on edges and corners using triangular patches, which can be used to process any set of sampled points without requiring their positions to be on a grid. We construct a triangular subdivision of the plane using Delaunay triangulation [9], and then take each triangle in this triangulation as a patch. In the surface, triangular patches are defined as B´ezier triangles. For each B´ezier triangle, ten control points are required: three corner points, two tercile points on each edge, and the point at the gravity center of the triangle. The corner points have already been given as sampled points. The two control points on each edge are computed using the method mentioned in section 3.1. Required derivatives at the corners along edges can be computed from their derivatives in x and y directions. The control point at the gravity center can be flexibly determined, for example using the average of the six control points at the terciles of edges.2

Figure 2: 2-Dimensional Table of an Inverter. The 1st, the 3rd and the 5th points are sampled points, and the other two are from calculation

The evaluation of the surface is more difficult than rectangular patches [5, 6, 7, 8]. In one B´ezier triangle, x, y, z are evaluated independently based on the same parameter (u, v, w), where 0 ≤ u ≤ 1, 0 ≤ v ≤ 1, 0 ≤ w ≤ 1, u + v + w = 1. With x(u, v, w) and y(u, v, w), we can compute (u, v, w), and then compute z(u, v, w), correspondingly.

5.

RESULTS FROM EXPERIMENTS

We present experiment results in 2D and 3D LUTs. With control points defined as in sections 3 and 4, accuracy improvement is illustrated in following figures with the comparison to piecewise linear interpolation. In the figures, the blue lines represent the data measured from transistor-level simulation using 90nm technology; the yellow lines represent the data calculated by piecewise linear interpolation; the purple lines represent the data from our B´ezier curve interpolation.

Figure 3: 3-Dimensional Table of a NOR when Signal Rising. The 1st and the 3rd points are sampled points, and the other two are from calculation

In the figures of 2D LUTs, piecewise cubic B´ezier curves are compared with piecewise linear interpolations, and in 3D rectangular B´ezier patches are compared with bilinear interpolations.

6.

SUMMARY

A new method is presented in the paper to improve interpolation accuracy of lookup tables in IC design analysis using B´ezier curves. Since control points of B´ezier curves can be systemically transformed into knots of B-splines, our method can be easily applied to the use of B-splines. The choice of B´ezier-curve control points determines the accuracy of interpolations. Our control points imply physical information of the circuits. Therefore, the accuracy is improved. 2

To ensure C1 continuity on the edge in the direction perpendicular to the edge, global adjustment of the control point at the gravity center is required.

Figure 4: 3-Dimensional Table of a NOR when Signal Falling. The 1st and the 3rd points are sampled points, and the other two are from calculation

Figure 5: 3-Dimensional Table of a MUX when Signal Rising. The 1st and the 3rd points are sampled points, and the other two are from calculation

Figure 8: 3-Dimensional Table of a DFF when Signal Falling. The 1st, 3rd, and 5th points are sampled points, and the other three are from calculation

ACKNOWLEDGMENTS We thank Xiaolan Bai and Hu Xu for helping us collecting data and preparing some figures.

7.

Figure 6: 3-Dimensional Table of a MUX when Signal Falling. The 1st and the 3rd points are sampled points, and the other two are from calculation

Figure 7: 3-Dimensional Table of a DFF when Signal Rising. The 1st, 3rd, and 5th points are sampled points, and the other three are from calculation

REFERENCES

[1] Datasheet of encounter library characterizer. Tech. rep., Cadence, 1997. [2] CCS power technical white paper, version 3.0. Tech. rep., Synopsys, 2006. [3] Boehm, W., and M¨ uller, A. On de Casteljau’s algorithm. Computer Aided Geometric Design 16, 7 (2000), 583–586. [4] Croix, J., and Wong, D. A fast and accurate technique to optimize characterization tables. In Proc. Design Automation Conference (1997), pp. 337 – 340. [5] de Casteljau, P. Outillages m´ethodes calcul. Tech. rep., A. Citro¨en, Paris, 1959. [6] de Casteljau, P. Courbes et surfaces a ` pˆ oles. Tech. rep., A. Citro¨en, Paris, 1963. [7] Farin, G. B´ezier polynomicals over triangles and the construction of piecewise C r polynomials. Tech. rep., Brunel University, Uxbridge, England, 1980. [8] Farin, G. Curves and Surfaces for CAGD, A Practical Guide, fifth ed. Academic Press, 2002. [9] O’Rourke, J. Computational Geometry in C, second ed. 1998. ´nez, V., Lifschitz, O., [10] Rodr´ıguez, A., Jime ´ n, P., and Agamennoni, O. Implementation of Julia an application specific microporcessor for pwl computations using synopsys. Synopsys Articles (2009). [11] Salman, E., Dasdan, A., Taraporevala, F., ¨ k¸ K¨ uc ¸u cakar, K., and Friedman, E. Exploiting setup-hold-time interdependence in static timing analysis. IEEE Transcations on Computer-Aided Design of Intergrated Circuits and Systems 26, 6 (2007). [12] van Loan, C. F. Introduction to Scientific Computing, second ed. 2000. [13] Vlach, J., and Singhal, K. Computer Methods for Circuit Analysis and Design. 1983.

Using Bézier Curve to Improve the Accuracy in ... - Research at Google

place conventional piecewise linear functions for accuracy ... Growing with technologies, more effects are added into con- .... information of the circuits. Therefore ...

292KB Sizes 0 Downloads 77 Views

Recommend Documents

Using Machine Learning to Improve the Email ... - Research at Google
Using Machine Learning to Improve the Email Experience ... services including email, and machine learning has come of ... Smart Reply: Automated response.

Accuracy at the Top - Research at Google
We define an algorithm optimizing a convex surrogate of the ... as search engines or recommendation systems, since most users of these systems browse or ...

Fast Elliptic Curve Cryptography in OpenSSL - Research at Google
for unnamed prime and/or characteristic-2 curves (the OpenSSL elliptic curve library supports ..... ietf.org/html/draft-bmoeller-tls-falsestart-00. 11. ECRYPT II.

Trading off Accuracy for Speed in PowerDrill - Research at Google
month it is used by about 1800 users sending out 15 million .... number of distinct values, compressability and type. With regards ...... Business Intelligence, 1995.

Using the Wave Protocol to Represent ... - Research at Google
There are several challenges in aggregating health records from multiple sources, including merging data, preserving proper attribution, and allowing.

Accuracy of Contemporary Parametric Software ... - Research at Google
parametric software estimation models, namely COCOMO II, ... [10] reports on a similar study that ... collected by companies, non-profit organizations, research.

Using Relaxations to Improve Search in Distributed ...
Computer Science, University College Cork, Ireland. Abstract. Densely ..... Autonomous Agents and Multi-Agent Systems 3(2) (2000) 185–207. 4. Modi, P., Shen ...

Using Meta-Reasoning to Improve the Performance of ...
CCL, Cognitive Computing Lab. Georgia Institute of ..... Once a game finishes, an abstracted trace is created from the execution trace that Darmok generates.

Using The Simpsons to Improve Economic Instruction ...
students the opportunity to practice the economic analysis of public policy issues. Empirical research on the .... prohibition seen in Springfield and the narcotics market in the United States are clear. Showing this ..... While we did not collect co

Using a Market Economy to Provision Compute ... - Research at Google
on the CPU, disk, memory, etc. that each job or job class can .... of other required resources or data, network connectivity, or ..... Just getting this is a very hard.

Using Transparent WDM Metro Rings to Provide ... - Research at Google
1. Using Transparent WDM Metro Rings to Provide an Out-of-Band Control ... Software-defined networking (SDN) [1] is a new networking paradigm where the .... [9] G. Rodríguez de los Santos et al., "On providing metro Ethernet services over ...

Using Annotations in Enterprise Search - Research at Google
With more and more companies having a significant part of their ..... 10. EA = Explicit Annotations, IA = Implicit Annotations. Adding explicit annotations to the ...

Using the contextual redefinition strategy to improve ... - PUCV Inglés
The whole class sat the test and the score average was 34 (see Appendix E: Vocabulary Size Test. Scores), which ..... Retrieved from http://ejournal.upi.edu/index.php/L-E/article/view/583 ... http://181.112.224.103/bitstream/27000/3081/1/T-UTC-4018.p

Fighting back: Using observability tools to improve the ...
Using observability tools to improve the DBMS (not just ... For concreteness, we'll discuss a specific tool. (DTrace) and ... Sample-based profiling. (OS service).

Content Fingerprinting Using Wavelets - Research at Google
Abstract. In this paper, we introduce Waveprint, a novel method for ..... The simplest way to combine evidence is a simple voting scheme that .... (from this point on, we shall call the system with these ..... Conference on Very Large Data Bases,.

SOUND SOURCE SEPARATION USING ... - Research at Google
distribution between 0 dB up to clean. Index Terms— Far-field Speech Recognition, Sound ... Recently, we observed that training using noisy data gen- erated using “room simulator” [7] improves speech ... it turns out that they may show degradat

Using the contextual redefinition strategy to improve ... - PUCV Inglés
students, and then the way in which the English subject is addressed in the school. .... observe those characteristics in the 10th graders I am teaching when I wanted to introduce a simple ..... Next, the students will have to be able to analyse the

Using Meta-Reasoning to Improve the Performance of Case-Based ...
formance over a period of time. Fox and Leake [8] developed a system to improve the retrieval of a CBR system using meta-reasoning. Their work used a model.

Boosting the Area Under the ROC Curve (Poster ... - Research at Google
Boosting the Area Under the ROC Curve (Poster M32). Phil Long (Google) and Rocco Servedio (Columbia). • Ranking problem. ○ Given examples of members ...

Friends Using the Implicit Social Graph - Research at Google
10% of emails are sent to more than one recipient, and over .... with which the user last interacted a year ago. .... to indicate a higher degree of similarity. ..... In Proceedings of Computer Human ... Conference on Computational Science and.

Suggesting Friends Using the Implicit Social ... - Research at Google
micro-blogging platforms like Twitter2, the information com- municated by an individual ...... Got the wrong. Bob? http://www.nytimes.com/2009/10/22/technology ...

Using the Web for Language Independent ... - Research at Google
Aug 6, 2009 - Subjects were asked to randomly se- ... subjects, resulting in a test set of 11.6k tokens, and ..... tion Processing and Management, 27(5):517.