Text this: Testable data path synthesis with integer linear programming allocation