Controller synthesis for pipelined circuits using uninterpreted functions
logic , arithmetic , and automata ^ ) .