pub fn place(
geometry: &Geometry,
units: &[Unit],
wires: &[Wire],
fill: Fill,
aspect: f64,
blocked: &[Rect],
) -> Result<Vec<Assignment>, PlaceError>Expand description
The floorplan of units, each in the order given at its candidate of least cost: the width of each of its wires to
a unit placed before it or to a fixed site, times the straight distance between centres, so a unit sits where its
wires meet; a candidate overlaps no unit placed before it nor blocked. Ties go to the smaller perimeter (the more
compact region), then area, then the top row and left column. A unit no candidate holds is refused by name.