1. A method of selecting a structure and parameters of an electrical circuit component (ECC), the ECC having design variables, the ECC further having performance metrics, each performance metric being a function of at least one design variable, the method comprising steps of: (a) storing an arrangement of pre-defined, hierarchically interconnected building blocks of the ECC into a building block database, each building block representing a sub-circuit of the ECC, each building block having respective input parameters, the building blocks including atomic blocks, compound blocks, and flexible blocks, each individual compound block having at least one of a first atomic block, a first compound block and a first flexible block, each individual flexible block having alternative building blocks selectable through a choice parameter of each individual flexible block, each alternative block including at least one of an second atomic block, a second compound block and a second flexible block, the arrangement of pre-defined, hierarchically interconnected building blocks representing candidate topologies of the ECC; (b) selecting candidate topologies from the building block database to obtain initial candidate topologies; (c) selecting initial parameters for the initial topologies to obtained sized initial candidate topologies; (d) calculating performance metric values for the sized initial candidate topologies to obtain calculated performance metric values; (e) in accordance with the calculated performance metric values, determining if the sized initial candidate topologies fail to meet pre-determined criteria; (f) while the sized initial candidate topologies fail to meet a pre-determined criteria, in accordance with a search algorithm: (i) searching the candidate topologies for other candidate topologies; (ii) selecting parameters for the other candidate topologies to obtain sized other candidate topologies; (iii) calculating performance metric values for the sized other candidate topologies to obtain other calculated performance metric values; and (iv) in accordance with the other calculated performance metric values, determining if the sized other candidate topologies fail to meet the pre-determined criteria; (g) storing, in an output database, sized candidate topologies, and their respective performance values, that do meet the pre-determined criteria; and (h) displaying, for selection, the sized candidate topologies that meet the pre-determined criteria.