Efficient Parallel Verification of Galois Field Multipliers Cunxi - - PowerPoint PPT Presentation

efficient parallel verification of galois field
SMART_READER_LITE
LIVE PREVIEW

Efficient Parallel Verification of Galois Field Multipliers Cunxi - - PowerPoint PPT Presentation

Efficient Parallel Verification of Galois Field Multipliers Cunxi Yu, Maciej Ciesielski ECE Department University of Massachusetts, Amherst Why Research on Verification ? q Verification cost n 57% in 2014 designs 61-70% n Increasing q


slide-1
SLIDE 1

Cunxi Yu, Maciej Ciesielski ECE Department University of Massachusetts, Amherst

Efficient Parallel Verification of Galois Field Multipliers

slide-2
SLIDE 2

Why Research on Verification ?

q Verification cost

n 57% in 2014

  • ¼ designs 61-70%

n Increasing

q Verification works

n Debugging n Test bench n Test planning Percentage of Project Time Spent in Verification

Harry D. Fos

  • ster. “Trends in function
  • nal verification
  • n: A 2014 industry study”. DAC’15.

37% 24% 3% 14% 22%

Debug Crea0ng Test & Simula0on Other Test Planing Testbench Development

2

slide-3
SLIDE 3

Hardware Verification

q We focus on logical implementation

n Gate-level Galois Field Arithmetic Circuits

  • Pre-synthesized and post-synthesized multipliers
  • Including Montgomery and Mastrovito Multipliers

always @(posedge clk) begin if ( r ) then p <= 0 else p <= p+1; end if; end

HDL/C/C++ Netlist Schematic Layout IC Equivalence checking

3

slide-4
SLIDE 4

Galois Field

q Finite Fields

q

Number system with a finite number of elements

§ Crytopgraphy systems, e.g. Advanced Encryption Standard (AES)

q

Prime field

§ GF(p) finite number of integers {1, 2, ...., p−1} , p is prime number

q

Extension field

§ A={a0,a1} in GF (22), is A(x)=a0+a1x , ai∈{0,1}

q Example

q

2-bit integer multiplication: r0+2r1+4r2+8r3

q

GF(22), irreducible poly P(x)=x2+x+1

§ Many P(x) exist in GF(2n) (n>=4)

4

slide-5
SLIDE 5

Introduction

q Hardware verification

n Checking if the design meets specification

  • Equivalence checking (EC)
  • Property, model checking
  • Functional verification

q Verification Techniques

n Canonical diagrams (BDDs, BMDs), SAT/SMT

  • Require “bit-blasting”, memory explosion

n Theorem proving (ACL2, HOL)

§ Requires domain knowledge, complex for gate-level

n Computer algebraic

§ Finite field arithmetic [Lvov’FMCAD11][Kalla’DAC14, TCAD’13] § Integer arithmetic [DAC’15] [TCAD’16] § Floating point arithmetic [Drechsler’FMCAD16]

5

slide-6
SLIDE 6

Equivalence Checking (EC)

q A method to check two behavior equivalence

n Combinational Equivalence checking (CEC)

  • Exhaustive simulation
  • Canonical methods, e.g. BDDs, BMDs, TEDs

– Poor scalability

  • Solve Boolean Satisfiability using SAT/SMT/ILP solvers

– Build a “miter”; check if the “miter” is unSAT – Build a pseudo-Boolean “miter” in SMT/ILP

Inputs Design 1 Design 2

6

slide-7
SLIDE 7

§ A “random walk” through the state space of the design § Test bench + Scalable: applicable to designs of any size + Very robust set of tools & methodologies available for this technique + Constraint-based stimulus generation; random biasing + Clever testcase generation techniques – Explicit one-state-at-a-time nature severely limits attainable coverage – Suffers from incomplete coverage problem: often fails to expose every bug

Simulation

Slide from Jason Baumgartner, IBM Austin, 2011

slide-8
SLIDE 8

Design 1 Design 2 Inputs

miter

Boolean Satisfiability using SAT/SMT

q Check whether the miter is satisfiable

n Specifically:

  • SAT solvers: miniSAT, etc.

q Convert a netlist to Conjunction Normal Format (CNF)

n AND: n OR :

q Performance

n More scalable than BDD/*BMD n Exponential runtime for hard problem

(a∨¬x)∧(b∨¬x)∧(¬a∨¬b∨x) (clause1)∧(clause2)∧(...)∧miter (¬x∨out)∧(¬c∨out)∧(x∨c∨¬out)

8

slide-9
SLIDE 9

Evaluation of BDD/SAT/SMT/ABC

q Evaluation of existing formal methods [Kalla’TCAD13]

q

SAT: MiniSAT, CrytoSAT, PicoSAT

q

SMT: Yices, Beaver, CVC4, Z3, Boolector

q

BDD: CUDD Package

q

ABC

9

Design 1 Design 2 Inputs

miter

slide-10
SLIDE 10

Transformation-based Verification

q Complexity reduction

n Redundancy removal n Combinational rewriting

  • And-Inv-Graph (AIG) [11]

q Example: Mastrovito Mult [Kalla’TCAD13]

n FRAIG – Functional reduced AIG

  • Miter of two multipliers

– Ideally should be reduced to an empty AIG

  • Percentage of AIG nodes eliminated before/after FRAIG

A B C D i1 i2 i3 z0 z1 z2 A B D i1 i2 i3 z0 z1 z2

D i1 i2 i3 z0 z1 z2 B 10

slide-11
SLIDE 11

Computer Algebraic method

q Computer Algebra method [Wienand’08, Pavlenko’11, Kalla’13, Drechsler’16]

n Circuit represented in arithmetic bit level (ABL)

  • Specification Fspec and implementation B defined as polynomials in Z2

n

  • Reduce Fspec modulo B by polynomial divisions

n If r = 0, the circuit is correct

q Algebraic Techniques

n Polynomial divisions: to check if r = 0

  • Otherwise, determine if r is 0-polynomial

using canonical Groebner basis

n Algebraic rewriting

  • Rewriting the signature based on a topological order of the

network [DAC’15]

Fspec r

NOR XOR AND

HA (gates, Add, Mult, etc.)

B

Implementation Specification Fspec

11

slide-12
SLIDE 12

Previous Work

q Replace gate output by its equation

n Substitution

  • Replace variables using algebraic model

n Simplification

  • Eliminate monomials with

coefficients “zero”

n Must rewrite entire Signature

f0 = 4(a1b1) + 2(a0b0) + 2(a1+ b1 - 2a1b1) + (a0 + b0 - 2a0b0)

  • 4(a1b1) (a0b0) (a1 + b1 -2a1b1)

= 2a1+ 2b1 + a0 + b0

a1 a0 b0 b

1

z1

z2 z0

f0

f1

f2 f3

e

d

c

g

f3 = 4z2+2z1+z0 f2=4(g + e - eg) + 2z1+ z0

=4g + 4e - 4eg+2z1 + z0

f1 = 4e + 4(cd) - 4e(cd) + 2(c + d - 2cd)+z0

= 4e + 2c +2d + z0 – 4ecd

Matches the input signature. Circuit is correct.

12

slide-13
SLIDE 13

1 10 100 1000 10000 10 20 30 40 50 60 70 80 90 #. rewriting iterations z0 z1 z2 z3 z4 z5 z6 z7 Sigout

Previous Work

q Expression reduction: 4-bit multiplier

n Large number of reductions between each output bit n Output signature vs. individual bits

300X larger!

13

slide-14
SLIDE 14

Verification of GF Multipliers

q Finite field multiplier

n Function: A(x)*B(x) mod P(x) n Irredundant polynomial: P(x) = x2+x+1

  • equals to A*B mod 7

q Example: 2-bit GF Multiplier

n P(x) = x2+x+1

  • s0 = a0b0
  • s1 = a1b0 ⊕ a0b1
  • s2 = a1b1
  • z0 = s0 ⊕ s1
  • z1 = s1 ⊕ s2

n z0 =a0b0 ⊕ a1b0 ⊕ a0b1 n z1 = a1b0 ⊕ a0b1 ⊕ a1b1

14

slide-15
SLIDE 15

Verification of GF(2m) Multipliers

q Finite field multiplier

n Function: A(x)*B(x) mod P(x) n Irredundant polynomial: P(x) = x2+x+1

  • equals to A*B mod 7

q Modeling in finite field

n Post-synthesized 2-bit GF multiplier

G1 G2 G3 G4

n1 n2

G6

G8

G7

n3

G5

n4 n5 n6 z1 z0 a1 a0 b1 b0 a1 b0 a0 b1

Z = x1z0 +x2z1 mod P(x)

A= x1a0 +x2a1 B= x1b0 +x2b1

input signature:

  • utput signature

15

slide-16
SLIDE 16

Verification of GF(2m) Multipliers

q 2-bit GF(22) multiplier

n Irredundant polynomial: P(x) = x2+x+1 n Function: Z = z0 + z1*x

  • z0 = a0b0 ⊕ a1b0 ⊕ a0b1
  • z1 = a1b0 ⊕ a0b1 ⊕ a1b1

q Modeling in finite field

n Post-synthesized 2-bit GF multiplier

G1 G2 G3 G4

n1 n2

G6

G8

G7

n3

G5

n4 n5 n6 z1 z0 a1 a0 b1 b0 a1 b0 a0 b1

16

G1:n1 =1+a0b0 G2:n2 =1+a1b1 G3:n3 =1+a1b0 G4:n4 =1+a0b1 G5:n6 =n3 +n4 G6: z0 =n1 +n2 G7 : z1 =n5 +n6 G8:n5 =1+n2

{

B

slide-17
SLIDE 17

Verification of GF(2m) Multipliers

q 2-bit GF(22) multiplier

n Irredundant polynomial: P(x) = x2+x+1 n Function: Z = z0 + z1*x

  • z0 = a0b0 ⊕ a1b0 ⊕ a0b1
  • z1 = a1b0 ⊕ a0b1 ⊕ a1b1

q Modeling in finite field

n Each rewriting result (F0, F1,…Fi ∈GF(2m) ) n Theorem 1: Algebraic model ∈GF(2)

¬a =(1+a) mod2 a∧b=a⋅b a∨b=(a+b+a⋅b)mod2 a⊕b=(a+b)mod2

17

¬a =1−a a∧b=a⋅b a∨b=a+b−a⋅b a⊕b=a+b−2a⋅b

mod 2

slide-18
SLIDE 18

Verification of GF(2m) Multipliers

q 2-bit GF(22) multiplier

n Irredundant polynomial: P(x) = x2+x+1 n Function: Z = z0 + z1*x

  • z0 = a0b0 ⊕ a1b0 ⊕ a0b1
  • z1 = a1b0 ⊕ a0b1 ⊕ a1b1

q Modeling in finite field

n Each rewriting result (F0, F1,…Fi ∈GF(2m) ) n Theorem 1: Algebraic model ∈GF(2)

¬a =(1+a) mod2 a∧b=a⋅b a∨b=(a+b+a⋅b)mod2 a⊕b=(a+b)mod2

18

¬a =1−a a∧b=a⋅b a∨b=a+b−a⋅b a⊕b=a+b−2a⋅b

mod 2

Fspec = a0b0+a1b1+(a1b1+a1b0+a0b1)*x

slide-19
SLIDE 19

Verification of GF(2m) Multipliers

q Finite field multiplier

n Function: A(x)*B(x) mod P(x) n Irredundant polynomial: P(x) = x2+x+1

  • equals to A*B mod 7

q Modeling in finite field

n Each rewriting result (F0, F1,…Fi ∈GF(2m) ) n Theorem 1: Algebraic model ∈GF(2) n Theorem 2: Coefficients of each monomial ∈GF(2)

  • Provides eliminations/polynomial reductions

¬a =(1+a) mod2 a∧b=a⋅b a∨b=(a+b+a⋅b)mod2 a⊕b=(a+b)mod2

19

¬a =1−a a∧b=a⋅b a∨b=a+b−a⋅b a⊕b=a+b−2a⋅b

mod 2

slide-20
SLIDE 20

Verification of GF(2m) Multipliers

q Single-thread verification

q Order = <7,6,5,8,4,3,2,1>

G1 G2 G3 G4

n1 n2

G6

G8

G7

n3

G5

n4 n5 n6 z1 z0 a1 a0 b1 b0 a1 b0 a0 b1

“+” is addition “add, mod 2”

20

Sigout: F0 = z0+z1*x G7: F1 = z0+(n5+n6)*x G6: F2 = n1+n2+(n5+n6)*x G5: F3 = n1+n2+(n3+n4+n5)*x G8: F4 = n1+n2+(n3+n4+n2+1)*x G4: F5 = n1+n2+(n2+n3+a0b1)*x + 2x G3: F6 = n1+n2+(n2+a1b0+a0b1)*x + x G2: F7 = n1+a1b1+1+(a1b1+a1b0+a0b1)*x +2x G1: F8 = a0b0+a1b1+(a1b1+a1b0+a0b1)*x +2 Sigin = F9 = a0b0+a1b1+(a1b1+a1b0+a0b1)*x

slide-21
SLIDE 21

Verification of GF(2m) Multipliers

q Theorem 3: Reductions exist only within each output

element

q

Regardless of logic sharing

21

slide-22
SLIDE 22

Gate-leve netlist Netlist to Equations Sigout

Sigout =zm Sigout =z2 Sigout =z1 Equations

  • f netlist

Sigout=z0

thread 1 thread 2 thread 3 thread m Compute final function Return Fn

Parallel Verification Flow

m-threads for GF(2m)

22

slide-23
SLIDE 23

Results

q Results compared to [Tim’DAC14]

q

Mastrovito

§ 32- to 571-bit, avg 43x speedup T=20

q

Montgomery multipliers

§ 32- to 283-bit, avg 16x speedup T=20

q

Other solvers (SAT,SMT) time out at 32-bit

23

slide-24
SLIDE 24

Results

q Complexity depends on irreducible poly P(x)

q

P(x) = x4+x3+1, XOR operations = 3+1+2+3=9

q

P(x) = x4+x+1, XOR operations = 1+2+2+1=6

24

slide-25
SLIDE 25

Performance of Parallel

q Memory vs. Runtime

25

100 500 1000 2000 3000 T=5 T=10 T=20 T=30 1000 5000 10000 Average runtime (sec) Average Memory usage (MB) Mas-runtime Mas-memory Mont-runtime Mont-memory

slide-26
SLIDE 26

Synthesis vs. Verification

q Synthesis effect: 8-bit integer multiplier [TCAD’16]

n Bit-optimization, technology mapping n Increases the verification complexity

10 100 1000 10000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 #. monomials Rewriting process Original resyn(complex) resyn(no-complex) resyn3(complex) resyn3(no-complex)

26

slide-27
SLIDE 27

64 96 128 163 233 283

Synthesis vs. Verifica1on

Pre-synthesis Post-synthesis

Synthesis vs. Verification

q Synthesis effect on GF(2m) multipliers

n Bit-optimization, technology mapping n Decreases the verification complexity

  • Runtime comparison

27

slide-28
SLIDE 28

Results

q Runtime of each output elements

q

GF(2233) multipliers implemented using different P(x)

28

10 20 30 40 50 50 100 150 200

Runtime (s) Output bit position Pentium NIST msp430 ARM

slide-29
SLIDE 29

Thank you !

29