Top Banner
Equivalence Verification of Polynomial Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra using Finite Ring Algebra Namrata Shekhar Namrata Shekhar 1 , Priyank Kalla , Priyank Kalla 1 , Florian , Florian Enescu Enescu 2 , , Sivaram Gopalakrishnan Sivaram Gopalakrishnan 1 1 Department of Electrical and Computer Engineering, University of Utah, Salt Lake City, UT-84112. 2 Department of Mathematics and Statistics, Georgia State University, Atlanta, GA-30303
34

Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Equivalence Verification of Polynomial Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Datapaths with Fixed-Size Bit-Vectors using

Finite Ring AlgebraFinite Ring Algebra

Namrata ShekharNamrata Shekhar1, Priyank Kalla, Priyank Kalla1, Florian Enescu, Florian Enescu2, ,

Sivaram GopalakrishnanSivaram Gopalakrishnan1

1Department of Electrical and Computer Engineering,University of Utah, Salt Lake City, UT-84112.

2Department of Mathematics and Statistics,Georgia State University, Atlanta, GA-30303

Page 2: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

OutlineOutline Overall Verification ProblemOverall Verification Problem

• Our Focus: Equivalence Verification of Fixed-size Our Focus: Equivalence Verification of Fixed-size Arithmetic DatapathsArithmetic Datapaths

Problem ModelingProblem Modeling

• Polynomial Functions over Finite Integer RingsPolynomial Functions over Finite Integer Rings

Limitations of Previous WorkLimitations of Previous Work Approach and ContributionsApproach and Contributions

• Canonical form for Polynomials over Finite RingsCanonical form for Polynomials over Finite Rings

Algorithm Design and Experimental Verification RunsAlgorithm Design and Experimental Verification Runs Results, Conclusions & Future WorkResults, Conclusions & Future Work

Page 3: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

The Equivalence Verification ProblemThe Equivalence Verification Problem

Page 4: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

MotivationMotivation

Quadratic filter design for polynomial signal processing

y = a0 . x12 + a1 . x1 + b0 . x0

2 + b1 . x0 + c . x0 . x1

Page 5: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Fixed-Size (m) Data-path: ModelingFixed-Size (m) Data-path: Modeling

Control the datapath size: Fixed size bit-vectors (m)

* *

8-bit

8-bit

16-bit32-bit

* *

8-bit

8-bit

8-bit8-bit

Bit-vector of size m: integer values in 0,…, 2m-1

Fixed-size (m) bit-vector

arithmetic

Polynomials reduced %2m

Algebra over the ring Z2m

Page 6: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Fixed-Size Data-path: ImplementationFixed-Size Data-path: Implementation

Signal Truncation

• Keep lower order m-bits, ignore higher bits

• f % 2m ≡ g % 2m

Fractional Arithmetic with rounding

• Keep higher order m-bits, round lower order bits

• f - f %2m ≡ g - g%2m

2m 2m

Saturation Arithmetic• Saturate at overflow

• Used in image-processing applications

Page 7: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Example: Anti-Aliasing FunctionExample: Anti-Aliasing Function

F = 1 = 1 = 2√a2 + b2 2√x [Peymandoust et al, TCAD‘03]

Expand into Taylor series

• F ≈ 1 x6 – 9 x5 + 115 x4

64 32 64 – 75 x3 + 279 x2 – 81 x

16 64 32 + 85 64

Scale coefficients; Implement

as bit-vectors

MAC

x = a2 + b2

coefficients coefficients

a b

x

F

DFF

Page 8: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Example 1: Anti-Aliasing FunctionExample 1: Anti-Aliasing Function

F1[15:0], F2[15:0], x[15:0]

F1 = 156x6 + 62724x5 + 17968x4 + 18661x3 + 43593 x2

+ 40244x +13281

F2 = 156x6 + 5380x5 + 1584x4 + 10469x3 + 27209 x2 + 7456x

+ 13281

F1 ≠ F2 ; F1[15:0] = F2[15:0]

To Prove: F1 % 216 ≡ F2 % 216

• F1 ≡ F2 in Z2m[x1, …, xd]

Page 9: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Previous Work: Function RepresentationsPrevious Work: Function Representations

Boolean Representations (f: B → B): BDDs, ZBDDs etc.

Moment Diagrams (f: B → Z): BMDs, K*BMDs, HDDs etc. Canonical DAGs for Polynomials (f: Z → Z)

• Taylor Expansion Diagrams (TEDs)

Required: Representation for f: Z2m → Z2m

SAT, MILP, Word-level ATPG, …

Theorem-Proving (HOL), term-rewriting

• Works when datapath size can be abstracted away

Page 10: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Previous Work: Symbolic AlgebraPrevious Work: Symbolic Algebra

Symbolic Algebra Tools: Singular, Macaulay, Maple,

Mathematica, Zen, Dagwood etc.

• Polynomial representations: Sparse, Dense, Recursive,

Straight-line programs, DAGs, etc.

• Polynomial equivalence over R, Q, C, Zp

• Unique Factorization Domains (UFDs) : Uniquely factorize

into irreducibles

• Match corresponding irreducibles to prove equivalence

Page 11: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Why is the Problem Difficult?Why is the Problem Difficult?

Z2m is a non-UFD

• f = x2 + 6x in Z8 can be factorized as

Atypical approach required to prove equivalence

f

x+6

f

x+4 x+2x

Page 12: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Proposed SolutionProposed Solution

f (x1, …, xd) % n ≡ g(x1, …, xd) % n

• Proving equivalence is NP-hard

Vanishing polynomials [ICCD ‘05]

• f(x) – g(x) ≡ 0 % 2m : Zero Equivalence

• An instance of Ideal Membership Testing

• Efficient solutions over fields (Groebner’s bases): Z2m[x1,…, xd] ?

Canonical forms: Current focus

• Unique representations for polyfunctions over Z2m

• Equivalence by coefficient matching

• Concepts from Hungerbuhler et al. [To appear J. Sm. Not., ‘06 ]

Page 13: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Polyfunctions over Polyfunctions over ZZ22mm

Polynomials over Z2m[x1, …, xd]

• Represented by polyfunctions from Z2m[x1, …, xd] to Z2m

F1 % 2m ≡ F2 % 2m => they have the same underlying polyfunction (f )

Use equivalence classes of polynomials

• Derive representative for each class: Canonical form

f

g

Equivalence classes

Z2m[x1, …, xd] Z2m

F2

F1

G2

G1

Page 14: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Motivating our ApproachMotivating our Approachmodule fixed_bit_width (x, f, g);

input [2:0] x;

output [2:0] f, g;

assign f[2:0] = 5x2 + 6x - 3;

assign g[2:0] = x2 + 2x + 5;

f (x) = 5x2 + 6x - 3 = (x2 + 2x + 5) + (4x2 + 4x) • f (x) = g(x) + V (x) in Z23

V (x) = 4x2 + 4x ≡ 0 % 23 ; for x in {0,…,7}• f (x) = g (x) + 0 in Z23

Required: To identify and eliminate such redundant sub-expressions(vanishing)

Page 15: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Vanishing polynomials: RequirementVanishing polynomials: Requirement

Generate vanishing expressions V(x)

• Test if f (x) = g (x) + V(x)

• f (x) = f (x) – V(x) Challenge: Infinite number of vanishing polynomials Required: To generate V(x) specific to given f (x)

Z2m

Set of all Vanishing

polynomials

f

g

Z2m[x1, …, xd]

0

h: % 2m

Page 16: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Vanishing Polynomials for ReducibilityVanishing Polynomials for Reducibility

In Z23, say f (x) = 4x2

• f (x) = f (x) - V(x)

• Generate V(x) of degree 2

• V(x) = 4x2 + 4x ≡ 0 % 23

Reduce by subtraction: • 4x2 f (x)

– 4x2 + 4x V(x)= - 4x = - 4x % 8 = 4x

• 4x2 can be reduced to 4x

• Degree reduction

Page 17: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Coefficient Reduction: ExampleCoefficient Reduction: Example

Degree is not always reducible

In Z23, f (x) = 6x2

• a = 6

• k = 2

Divide and subtract

• 6x2 = 2x2 + 4x2 % 23

• 4x2 can be reduced to 4x f (x) = 2x2 + 4x : Lower Coefficient

Page 18: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Our ApproachOur Approach

Say f (x) = akxk + ak-1xk-1 + …+ a0

• In decreasing lexicographic order

Required: f (x) in reduced, minimal, unique form

• Check if degree can be reduced

• Check if coefficient can be reduced

• Perform corresponding reductions

• Repeat for all monomials …

Page 19: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Degree Reduction: RequirementDegree Reduction: Requirement Generate appropriate vanishing polynomial , V(x) f (x) = axk + a1xk-1 + …

V(x) = axk + a2xk-1 + …

f (x) – V(x) = bxk-1 + …

V(x): axk is the leading term Identify constraints on

• Degree : k• Coefficient : a

Use concepts from number theory

Page 20: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Results From Number TheoryResults From Number Theory

n! divides a product of n consecutive numbers

• 4! divides 99 X 100 X 101 X 102

Find least n such that 2m|n!

• Smarandache Function (SF) of 2m = n

• SF(23) = 4, since 23|4!

2m divides the product of n = SF(2m) consecutive numbers

Use SF(2m) to generate vanishing polynomial V(x)

Page 21: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Results From Number TheoryResults From Number Theory

V (x) ≡ 0 % 23

• 23| V (x) in Z23

• 23| 4! , since SF(23) = 4

• 4! divides the product of 4 consecutive numbers

A polynomial as a product of 4 consecutive numbers? • (x+1)(x+2)(x+3)(x+4) = 4! x + 4 ≡ 0 % 23

4

Write V(x) as a product of SF(23) = 4 consecutive numbers

Page 22: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Constraints on the CoefficientConstraints on the Coefficient

In Z23 , SF(23) = 4. Product of 4 consecutive numbers:

• (x+1) (x+2)

missing factors

V (x) = 4x2 + 4x = (x+1)(x+2) ≡ 0 % 23

compensated by constant 4(x+1)(x+2) = 4·2!· x + 2 2 f (x) = axk + …

Rule 1: If 2m|ak!, then V(x) = ak! x + k ≡ 0 % 2m k

= axk + a1xk-1…..

(x+3) (x+4)

4

Page 23: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Example: Vanishing PolynomialExample: Vanishing Polynomial

Consider f (x) = 4x2 in Z23

• a = 4

• k = 2

• V (x) = ?

Rule 1: 2m|a·k! => 23 | 4·2!

• V (x) = a·k! x + k = 4. 2! x + 2 = 4. 2! (x+2) (x+1) k 2 2!

= 4x2 + 4x ≡ 0 % 23

• f (x) = 4x2

V(x) = - 4x2 + 4x = - 4x = - 4x % 8 = 4x

Page 24: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Coefficient Reduction: RequirementCoefficient Reduction: Requirement

Define v2(k!) = {max x Є N: 2x| k!}

• number-of-factors-2 in k!

• v2(4!) = v2(4 * 3 * 2* 1) = 3

Rule 1: 2m| a·k!• Number-of-factors-2 in a·k! ≥ m or

• v2(a·k!) ≥ m

If 2m does not divide a·k!

• v2(a·k!) < m

• v2(k!) < m and a < 2m- v2(k!)

Rule 2: Coefficient (a) has to be in the range {0, …, 2m- v2(k!)-1}

Constraint on coefficient

Constraint on degree

Page 25: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Notation: Multivariate PolynomialsNotation: Multivariate Polynomials

Given d variables x = <x1, …, xd>

with degrees k = <k1, …, kd>

Replace in Rule 1 and Rule 2

• xk = ∏di=1 xi

ki

• k! = ∏di=1

ki!

• x = ∏di=1 xi

k ki

• v2(k!) = ∏d v2(ki!)

Use lexicographic term ordering for variables

Page 26: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

UniquenessUniqueness

Theorem: Any polynomial F in Z2m can be uniquely

written as

F = F = ΣΣ kkЄЄNNd d ααk k xxkk

d is the number of variables

αk Є {0, …, 2m- v2(k!)-1} is the coefficient

v2(k!) < m

Page 27: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Reduction ProcedureReduction Procedure

Given a monomial f (x) = a·xk

Degree reduction: Determine if 2m| a·k!

• If yes, generate V(x) of with a·xk as the leading term

• f (x) = f (x) – V(x) If 2m| a·k!, check if coefficient (a) is in {0, …, 2m- v2(k!)-1}

• If not, perform division according to

a·xk = q. 2m- v2(k!)·xk + r·xk

Degree reducible Reduced form

r < 2m- v2(k!)

Page 28: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

1. Reducing 6x2y

2. Degree Reduction: • a = 6; • k! = kx!.ky! = 2!1! = 2

• 23 does not divide (a ·k! ) = 12;

• Degree reduction not possible

• Perform coefficient reduction

Example: ReductionExample: Reduction

Given poly = 6x2y + 4xy in Z23

Page 29: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

3. Coefficient Reduction:• v2(k!) = v2(2!·1!) = 1

• Range = {0, …, 2m- v2(k!) – 1} = {0,…, 3}

• a = 6 > 3; Can reduce coefficient

• 6x2y = 4x2y + 2x2y

• Degree reduction for 4x2y: Rule 1: 23 | (4· 2! ·1!) 4x2y – 4 . 2!·1! x + 2 y + 1 = 4xy

2 1

4. poly = (4xy + 2x2y) + 4xy ≡ 2x2y in Z23

Example: ReductionExample: Reduction

Given poly = 6x2y + 4xy in Z23

Page 30: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Experimental SetupExperimental Setup

Distinct RTL designs are input to GAUT [U. de LESTER, ‘04] Extract data-flow graphs for RTL designs Construct the corresponding polynomial representations (f, g)

• Extract bit-vector size

Reduce f and g to canonical form

• Equivalence check by coefficient matching

Algorithm implemented in MAPLE

• Complexity: O(kd); where k is the total degree and d is the number of variables

Compare with BDD, BMD and SAT

Page 31: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

ResultsResults

1

10

100

1000

PSK

Anti-Alia

s Funct

ion

Cubic F

ilter

Degre

e-4

Filter

Savitz

y-Gola

y Filt

er

MIB

ENCH

Horner

Poly

1

Horner

Poly

2

Horner

Poly

3

Poly U

nopt.

Vanis

hing P

oly.

Our Approach (< 30 s)

BDD-VIS

BMD

SAT-Zchaff

Page 32: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Conclusions & Future WorkConclusions & Future Work

Technique to verify equivalence of multivariate polynomial RTL

computations Fixed-size bit-vector arithmetic is polynomial algebra over the finite

integer ring, Z2m

f (x1,…, xd) % 2m ≡ g (x1, …, xd) % 2m is proved by reduction to canonical

form

Efficient algorithm to determine unique representations

Future Work involves extensions for -

• Multiple Word-length Implementations [DATE ‘06]

• Verification of Rounding and Saturation Arithmetic

Page 33: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

Questions?Questions?

Page 34: Equivalence Verification of Polynomial Datapaths with Fixed-Size Bit-Vectors using Finite Ring Algebra Namrata Shekhar, Priyank Kalla, Florian Enescu,

ComparisonComparison

1

10

100

Anti-Alia

s Funct

ion

Horner

Poly

1

Horner

Poly

2

Horner

Poly

3

Poly U

nopt.

Vanis

hing P

oly.

Our Approach (< 30 s)

Approach 2