reduce critical path
testbench for implementation
n sqaure counter