A method and a device for performing placement of a plurality of elements
for circuit design. A potential location is assigned to each element and
a placement engine is assigned to each potential location. Pairing
operations are performed, in parallel, between placement engines to
determine whether to perform exchange of the elements associated with the
engines. Exchange determination is based both on a cost function and on
randomness considerations. Also self-placement is allowed, where the
placement engines are implemented on the same hardware system on which
the elements are to be placed.