Product Documentation
Virtuoso ADE Verifier SKILL Reference
Product Version IC23.1, November 2023

verifRegisterCallback

verifRegisterCallback(
g_callback
)
=> g_callback

Description

Registers a callback with Verifier, which is executed at various times, such as, when a session is opened, saved, closed, simulations are started, finished, and when percentage changes.

Callback registration can be done at any time, and even before any Verifier sessions are opened.

The callback function takes three arguments, x_session, x_signal, and l_args. The x_session is the session identifier that calls the callback. x_signal is a symbol containing the type of callback, and args is a list containing data specific to the signal. For example,

for the 'sessionSaved signal the args is a list:

'("opamp090.full_diff_opamp_AC:verifier")

whereas for 'simulationPercentage the list is:

'("opamp090/full_diff_opamp_AC/maestro/Active" 49 98 200), and for 'requirementStatusChange it is '("ID6" "Passed").

The following table describes the supported signals:

Signal

args

When the signal is sent

'sessionCreated

session_num

When a session is first created either when it is opened from a cellview, or created from scratch.

Example: '(0)

'sessionDeleted

session_num

When the session has been deleted, which is typically done by closing the window.

Example: '(0)

'sessionSaved

lib_Name
cell_Name
view_Name

When the session is saved to disk.

Example: '("myLib" "myCell" "verifier")

'sessionLoaded

lib_Name
cell_Name
view_Name

When the session has been loaded from disk.

Example: '("myLib" "myCell" "verifier")

'simulationStatus

imp_name
sim_status

When the simulation status of the given implementation changes. The sim_status is a string such as "Running", "Finished".

Example: '("myLib/myCell/maestro/Active" "Finished")

'simulationPercentage

imp_name
int_percentage_Complete
int_num_Completed
int_num_Submitted

When the implementation simulation percentage changes. The three numbers are the calculated percentage complete, the number of points that have completed, and the total number of points.

Example: '("myLib/myCell/maestro/Active" 75 3 4).

'simulationsDone

When all of the simulations for the implementations have completed.

Example: nil.

'simulationsAdded

Int_number_added

The number of implementations that have been added to the simulation queue. Typically this will happen when the user clicks Run.

Example: '(3).

'implementationAdded

imp_name

The name of the implementation that has been added. Typically sent out when an implementation is added to the Verifier session.

Example: '("opamp090/full_diff_opamp_AC/maestro/MonteCarlo.1").

'implementationDeleted

imp_name

The name of the implementation that is being deleted. Typically gets called just before the implementation is deleted so that the implementation to be deleted is still accessible.

Example: '("opamp090/full_diff_opamp_AC/maestro/MonteCarlo.1").

'preImplementationModified

imp_name
name_property
key_property_value

The given implementation is about to be changed.

Example: '("opamp090/full_diff_opamp_AC_bad/maestro/Interactive.226" "Run" t).

'implementationModified

imp_name
name_property

The callback after the implementation has changed.

Example: '("opamp090/full_diff_opamp_AC_bad/maestro/Interactive.226" "Run" nil).

'mappingCreated

req_id
mappable_name

The callback when a mapping between a requirement and implementation is created.

Example: '("z_48" "avgOutN::Cpk").

'mappingDeleted

req_id
mappable_name

The callback when a mapping between a requirement and implementation is deleted. Typically gets called just before the mapping is deleted so that the mapping to be deleted is still accessible.

Example: '("z_48" "avgOutN::Cpk").

'requirementCreated

req_id

The ID of the requirement that has been created.

Example: '("2902d5a4-7ec5-4302-b083-3750dfc10da7").

'requirementDeleted

req_id

The ID of the requirement that is about to be deleted. Typically gets called just before the requirement is deleted so that the requirement to be deleted is still accessible.

Example: '("2902d5a4-7ec5-4302-b083-3750dfc10da7").

'requirementModified

req_id
property_name
property_value

This callback gets a list of changes that match the property name or value specified using verifGetReqProps().

Example: '(("x_5" "MinSpec" "0.5")).

The only exception to this behavior is when the ID changes and both the IDs, before and after the change, are returned.

Example: '("my_req" "ID" "2902d5a4-7ec5-4302-b083-3750dfc10da7" "my_req").

Arguments

g_callback

A symbol or function object, where the symbol is the name of a function that takes three arguments, and the function object is a callable function that also takes three arguments.

Value Returned

g_callback

The callback is registered.

Examples

The following example shows how to register a callback with Verifier.

defun(myCallback (sess sig args)
info("Callback: %L %L %L\n" sess sig args)
)
myCallback
verifRegisterCallback('myCallback) => myCallback verifRegisterCallback(lambda((sess sig args) info("Lambda CB: %L %L %L\n" sess sig args))) funobj@0x254db9a8

Related Topics

verifGetCallbacks

verifRemoveCallback

Verifier Session and Setup Functions


Return to top
 ⠀
X