Basic Constructive/Iterative Allocation
(1) select an operation, value, or interconnection;
(2) assign it to an available operator, register or bus, using a heuristic;
(3) if (all operations, values and interconnections not assigned) goto (1);
(4) select an operation, value, or interconnection already assigned;
(5) reassign it using a heuristic or stochastic approach
(6) if design constraints still not met) goto (4);