1. Can only choose from mult, add result

0

InSel = 0 Mux1: X Mux2: 0 Mult: 0 Add: X

Reg1: ? Reg2: X

1

InSel = 0 Mux1: X Mux2: X Mult: X^2 Add: 2X

Reg1: X^2 Reg2: X (dont update)

2

InSel = 3 Mux1: C Mux2: X Mult: CX Add: C+X

Reg1: X^2 (dont update this guy) Reg2: CX

3

InSel = x Mux1: X^2 Mux2: CX Mult: — Add: X^2 + CX

Reg1: X^2 + CX Reg2: CX (dont care)

3.5

InSel = 1 Mux1: A Mux2: 0 Mult: 0 Add: A

Reg1: X^2 + CX Reg2: A

4

InSel = 2 Mux1: A Mux2: B Mult: AB Add: A+B

Reg1: X^2 + CX Reg2: AB

5

Mux1: AB Mux2: C Mult: ABC Add: AB+C

Reg1: X^2 + CX (dont update this guy) Reg2: ABC

6

Mux1: X^2 + CX Mux2: ABC Mult: --- Add: X^2 + CX + ABC

Reg1: X^2 + CX + ABC Reg2: dont care

done is true now. at step 101 done=1

StepOperationIn R1In R2R1mulN
0R1=X^2X^2?
1R2=CXX^2CX
2R1=X^2+CXX^2+CXCX
3R2=ABX^2+CXAB
4R2=ABCX^2+CXABC
5R1=X^2+CX+ABCX^2+CX+ABCABC
6HoldX^2+CX+ABCABC