• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. detect if dcOp boolean button ( on DC analysis form ) is...

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 13185
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

detect if dcOp boolean button ( on DC analysis form ) is check .

mlea
mlea over 7 years ago

Hi ,

Im trying to detect if the dcOp ( save DC operating point)  button ( on DC analysis form) is checked or not.

Im doing he below : 

session = asiGetCurrentSession()

myOpt=asiGetAnalysis( session 'dc)

myOpt~>?? gives :

(name dc parent stdobj@0x3a385770 scopeStore
nil scope nil valid t
modified nil data table:asiTable type
dc prompt "DC" formatFunc nil
enable t continuable nil oceanOnly
nil form \*slotUnbound\* formInitCB nil
formApplyCB nil formType custom advAnaObject
nil
)

so I do : 

myOpt~>data~>fields~>data~>?? and I get :

asiGetAnalysis( session 'dc)~>data~>fields~>data~>??
values(stdobj@0x3a392fc8 SpecificPointsLabel stdobj@0x14fec5f0 span stdobj@0x3a392fb0
_XX_order
values(SpecificPointsLabel useDiscrete log dec lin
step stepTypeLog stepTypeLin incrType SweepTypelabel
span center stop freqLabel startLabel
start sweepChange rangeType SweepRangelabel SweepRangeFrame
param selectDV designVar modelParam mod
deviceParam select dev sweep SweepVariableLabel
SweepVariableFrame hysteresis saveOppoint clearAna anaName
enable
) stepTypeLog stdobj@0x3a392f80 enable
stdobj@0x3a392f98 useDiscrete stdobj@0x3a392f38 log stdobj@0x3a392f50
param stdobj@0x3a392f68 dev stdobj@0x3a392f20 select
stdobj@0x14fec380 dec stdobj@0x3a392ef0 designVar stdobj@0x3a392f08
SweepRangeFrame stdobj@0x14fec428 sweepChange stdobj@0x3a392ed8 SweepVariableFrame
stdobj@0x14fec320 center stdobj@0x3a392ec0 startLabel stdobj@0x14fec4a0
stop stdobj@0x3a392ea8 deviceParam stdobj@0x3a392e90 freqLabel
stdobj@0x14fec4b8 clearAna stdobj@0x14fec2d8 modelParam stdobj@0x3a392e78
SweepTypelabel stdobj@0x14fec518 SweepVariableLabel stdobj@0x14fec338 anaName
stdobj@0x3a392e60 saveOppoint stdobj@0x3a392e48 SweepRangelabel stdobj@0x14fec440
hysteresis stdobj@0x3a392e30 selectDV stdobj@0x14fec3f8 mod
stdobj@0x3a392e18 incrType stdobj@0x3a392e00 stepTypeLin stdobj@0x3a392de8
lin stdobj@0x3a392dd0 step stdobj@0x3a392db8 start
stdobj@0x3a392da0 sweep stdobj@0x3a392d88 rangeType stdobj@0x3a392d70
)

but when trying to get into values fields, I get  

(_anaShiftFieldsViaDisplayCB(form
'dc
'values
'nil 380
) && !member(asiGetAnalysisFormFieldVal(form
'dc
'sweep
_asiGetAnaSubName(form
'dc
)
)
'("" "None")
) && ((('nil && (asiGetAnalysisFormFieldVal(form
'dc
'sweep
_asiGetAnaSubName(form
'dc
)
) == "Frequency")) && _anaShiftSpecificPtField(form
'dc
'values
(0 + 145)
(220 + 30)
)) || (member('dc
'(pss qpss hb)
) && asiGetAnalysisFormFieldVal(form
'dc
'useDiscrete
_asiGetAnaSubName(form
'dc
)
)) || (!member('dc
'(pss qpss hb)
) && asiGetAnalysisFormFieldVal(form
'dc
'useDiscrete
_asiGetAnaSubName(form
'dc
)
) && _anaShiftSpecificPtField(form
'dc
'values
(0 + 160) 380
))) && not(((eq('dc
'hbac
) || eq('dc
'pac
)) && member(asiGetAnalysisFormFieldVal(form
'dc
'special
)
'("Compression Distortion Summary" "Rapid IP3" "IM2 Distortion Summary" "Rapid IP2" "Triple Beat")
))
)) editable t
enabled t coordinates
((160 380)
(240 20) 0
) page
nil value nil name values
prompt "" defValue nil envValue
nil private nil appCB \*slotUnbound\*
sendMethod t allowExpr nil updateEvent
nil invalidateFunc asiInvalidateControlStmts aelEnv nil
native t nativeSet t nativeLoad
nil active
lambda( (ana)
(t && (('nil && (asiGetAnalysisFieldVal(ana
'sweep
) == "Frequency")) || asiGetAnalysisFieldVal(ana
'useDiscrete
)) && ('nil || !member(asiGetAnalysisFieldVal(ana
'sweep
)
'("" "None")
)))
) savestate t
mtsOption nil deltaDel t partition
fields tooltip nil startMarker "["
endMarker "]"
)

looks like I doing something totally wrong. 

can anyone advise?

thx

meny

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago

    Hi Meny,

    You're overcomplicating things. In general it's not wise to interact with the objects themselves because the fields are not documented - but there's a perfectly good API to find this information:

    session=asiGetCurrentSession()
    ana=asiGetAnalysis(session 'dc)
    asiGetAnalysisFieldVal(ana 'saveOppoint) 

    The last will return t or nil depending on whether the "Save DC Operating Point" is checked or not.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mlea
    mlea over 7 years ago
    so simple.. :-)
    thx.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information