1. A system for specification of an integrated circuit, comprising: at least one data processor coupled to a user interface; and a memory storing computer program code for directing operation of said at least one data processor for enabling a user to specify, using said user interface, an existence of uncertainty in at least one circuit, and for automatically implementing the specified uncertainty as at least one programmable circuit, wherein said uncertainty comprises one or more uncertain parameters of at least one Uncertain Function, at least one Uncertain Register, at least one Uncertain Constant and at least one Uncertain Function Assertion of said at least one Uncertain Function, wherein said at least one data processor is configured to optimize an implementation of the at least one programmable circuit in view of at least one predetermined performance constraint in order to simplify a circuit network obtained as a result of the automatically implementing the specified uncertainty as said at least one programmable circuit by using logic synthesis optimizations in accordance with at least one assertion.