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

Copy Implementation Units to Requirements

The following code illustrates a custom function to get the unit and mapping information from each output of an implementation cellview in a Verifier session. It then sets the unit in the requirements mapped to the output.

This custom function does not copy the specification values set in the implementations to the requirements. To copy the specifications and units of the implementations to the mapped requirements, use the Override Verifier Specification feature.

Overwrite the unit of requirements that are mapped to the specified implementation
NOTE: This is not support for implementation with 'Run Plan' mode
procedure(copyUnitToReq(sessionId impLib impCell impView impHistory "gt")
    let(((reqIds list()) mappedReqs unit)
        when(verifIsSessionReadOnly(sessionId)
            error("Cannot overwrite the unit of requirement because of read-only             verifier session")
        )
        Iterate tests in the implementation
        foreach(testName verifGetImpTests(sessionId impLib impCell impView         impHistory)
            Iterate outputs in the test
            foreach(outputName verifGetImpTestOutputs(sessionId impLib impCell             impView impHistory testName)
                Get the list of requirements that are mapped to the output
                mappedReqs = verifGetImpMapping(sessionId impLib impCell impView                 impHistory ?testName testName ?outputName outputName)
                when(listp(mappedReqs) && mappedReqs
                    Get the unit of output
                    unit = verifGetImpData(sessionId impLib impCell impView                     impHistory ?testName testName ?outputName outputName                     ?dataName "unit")
                    when(stringp(unit) && unit != ""
                        Set the unit for all the mapped requirements
                        foreach(reqId mappedReqs
                            when(verifSetReqProp(sessionId reqId "Unit" unit)
                                reqIds = append1(reqIds reqId)))))))
        reqIds))

Copy the above code and paste it in Virtuoso CIW to register the procedure. Then, run the following function in Virtuoso CIW.

copyUnitToReq(sesssionId impLib impCell impView impHistory)

For example:

sess = verifOpenCellView("test" "sample" "verifier")
=> 0
copyUnitToReq(sess "")

Related Topics

Requirement Functions

Implementation Functions

Simulation and Results Extraction Functions


Return to top
 ⠀
X