FV Interview Questions (II) – How to Do FSM Checks?

Jasper Gold offers “fsm_checks” command to auto-generate properties for FSM state / transition reachability. When running this command, the tool automatically detects FSM state variables or accepts user-specified FSM state variables, and extracts cover properties to prove.

To define a conceptual FSM from the the concatenation of “signal0” and “signal1“:

# The outermost brace bracket defines the FSM spec, which consists of FSM signals and a list of FSM states
# The list of FSM states is an alternating list of values and labels
fsm_checks -add_fsm {{{signal0, signal1}} {0 `IDLE 1 `WRITE 2 `READ 3 `WAIT}}

To generate properties for state reachability for both user-defined and automatically identified FSMs:

fsm_checks -states

To generate properties for state transition reachability for both user-defined and automatically identified FSMs:

fsm_checks -trans

To generate dead end properties for both user-defined and automatically identified FSMs:

fsm_checks -deadend

To generate state checks between FSMs:

# This command creates a new task for each pair of FSMs
fsm_checks -cross

Subscribe

Enter your email to get updates from us. You might need to check the spam folder for the confirmation email.

Leave a comment