1. A method for designing a circuit block, comprising the steps of: (a) selecting a plurality of pre-designed circuit blocks to be used to design the circuit system, at least one of said circuit blocks being programmable; (b) collecting data reflecting the experience of the designer regarding the pre-designed circuit blocks, the designer's experience being adaptable to a processing method; (c) accepting or rejecting a design of the circuit system in a manner based on the designer's experience data and acceptable degree of risk; (d) upon acceptance, forming block specifications containing criteria and modified constraints for each of the circuit blocks (FEA); and (e) upon acceptance, forming block specifications for deploying the circuit blocks on a floor plan of a chip, in compliance with the criteria and modified constraints without changing the selected circuit block and the processing method.