Quantcast
Channel: Jason Andrews Blog
Viewing all articles
Browse latest Browse all 33813

RE: Inconsistency in maestro result DB using SKILL

$
0
0
Karam, I'm not entirely sure what the problem is here. For a start, your script looks incorrect - it says it is picking the first point and first corner, but it had no car() on each, and so it failed for me (in any version). I then updated the calcVal expression to try to pick the specific corner, history and result (for signals) and added the check for nil - but then I realised your calcVal are trying to reference previous waveform expressions rather than signals. For me, the calcVal doesn't work in any version if I'm trying to retrieve waveform expressions this way. I suggest you contact customer support so that you can provide a bit more information and somebody can investigate in more detail. Here's my updated version of your script, in case it helps. ; get session Id sessId = maeOpenSetup(myLib myCell "maestro") ; get result DB resDB = maeReadResDB(?historyName myHistory ?session sessId) ; select one arbitrary point and corner ; ANDREW - didn't have car here before, so this wouldn't have worked point = car(resDB->points()) corner = car(point->corners()) ; iterate tests and outputs foreach(test corner->tests() foreach(output test->outputs() printf("%L %L %L\n" output->name output->value output->test()->name) ; ANDREW - need to map corner name for nominal (for some reason) cornerName=corner->name when(cornerName=="nominal" cornerName="Nominal" ) ; evaluate wave outputs ; ANDREW - have to be more explicit about which corner and history you want when(output->value == "wave" || output->value==nil myWave = calcVal(output->name test->name ?cornerName cornerName ?historyName myHistory ?result 'tran) print(myWave) ) ) ) maeCloseSession(?session sessId)

Viewing all articles
Browse latest Browse all 33813

Trending Articles