Pipeline the datapath, write test program