1. A method of circuit design with a computer system, comprising: generating with the computer system a placed, routed, and optimized circuit design, including: guiding, with the computer system, coarse placement of the circuit design according to rules created specifically and automatically for a set of circuit elements in the circuit design, at least one of the rules specified at a register transfer language-level in response to a register transfer language-level construct in the circuit design, the rules specifying positioning of each circuit element of the set of circuit elements in the circuit design relative to other circuit elements of the set of circuit elements in the circuit design; and completing synthesis placement, routing, and optimization of the circuit design according to the rules, wherein the register transfer language-level construct includes at least one of: (i) a plurality of register banks that are part of a pipelined datapath, and the rules specify spaces between register banks of the pipelined datapath, and the spaces are sufficient for combinational logic coupling together different register banks of the pipelined datapath; and (ii) a multiplexer having a bit width of M and a number of inputs per bit of N, and the multiplexer has a rectangle shape with a width and a height such that M is equal to a product of the width times the height.
1. A method of circuit design with a computer system, comprising: generating with the computer system a placed, routed, and optimized circuit design, including: guiding, with the computer system, coarse placement of the circuit design according to rules created specifically and automatically for a set of circuit elements in the circuit design, at least one of the rules specified at a register transfer language-level in response to a register transfer language-level construct in the circuit design, the rules specifying positioning of each circuit element of the set of circuit elements in the circuit design relative to other circuit elements of the set of circuit elements in the circuit design; and completing synthesis placement, routing, and optimization of the circuit design according to the rules, wherein the register transfer language-level construct includes at least one of: (i) a plurality of register banks that are part of a pipelined datapath, and the rules specify spaces between register banks of the pipelined datapath, and the spaces are sufficient for combinational logic coupling together different register banks of the pipelined datapath; and (ii) a multiplexer having a bit width of M and a number of inputs per bit of N, and the multiplexer has a rectangle shape with a width and a height such that M is equal to a product of the width times the height. 10. The method of claim 1 , wherein the register transfer language-level construct includes a random access memory.