A method for verifying a design through symbolic simulation is disclosed.
The method comprises creating one or more binary decision diagram
variables for one or more inputs in a design containing one or more state
variables and building a binary decision diagram for a first node of one
or more nodes of the design. A binary decision diagram for the initial
state function of one or more state variables of the design is generated
and the design is subsequently initialized. Binary decisions diagrams for
one or more constraints are synthesized. A set of constraint values is
accumulated over time by combining the binary decision diagrams for the
one or more constraints with a set of previously generated binary
decision diagrams for a set of constraints previously used in one or more
previous time-steps. A binary decision diagram for the next state
function of the one or more state variables in the design is constructed
in the presence of the constraints. The one or more state variables in
the design are updated by propagating the binary decision diagram for the
next state function to the one or more state variables and a set of
binary decision diagrams for the one or more targets in the presence of
the one or more constraints is calculated. The set of binary decision
diagrams for one or more targets is constrained and the design is
verified by determining whether the one or more targets were hit.