Dumb (DRC motions) Question #0003

Have gone through the FSi tutorial and docs, I have not
found anything much on the actual motions of running,
interpreting / viewing results and debugging scripts.

I think I follow the basics but I can't seem to get any
errors reported from this small layout and DRC script,
where there should be several?

1) The docs mention log and error files but I find none in
the project where I'm working. Where would these land,
by default? There is mention of a log window and that
this may not be open - so how to open?

2) I note that the Macro Development Window has two
ways to run a script. There's F5 run current script, and
there's Shift+F5 run script from current tab. I seem to
get no action from the former, the latter at least seems
to execute (throwing syntax errors when those are present)
but in no case do I get a result of error markers to browse.
It seems like nothing happens. So what is "current script"
and how do I set it and know what it is set to?

Comments

  • Hi Jim,

    I see you're optimistic, so you just reserved 4 digits for the question count :)

    Regarding log file etc:

    1. Log files are not quite useful - currently they just list the execution times, not error counts

    2. Logs can be seen in the log viewer ("File/Log Viewer"). You can put messages into the script which are then printed like this:

    log("My message")
    

    If you place a "verbose" statement into your script, the log will show the execution times too:

    1. If you want to have a log file, you can use "log_file(path_to_your_logfile)". "path_to_your_logfile" should be a full path. If you don't want to enter a full path here, you can build a path relative to the current layout file you start your DRC on like this:
    # puts the log text into "logfile.txt" next to the current layout's file:
    log_file(File.join(File.dirname(RBA::CellView::active.filename), "logfile.txt"))
    

    You can do the same for the report file.

    1. If you want to print error counts and similar, you can do so explicitly inside the DRC script. The following lines will print the number of errors (flat) to the log (file) which outputting the errors too:
    log("Mbig1_interact errors: #{Mbig1_interact.data.size}")
    Mbig1_interact.output("big")
    
    1. Regarding F5 and Shift+F5: this is for people working with scripts composed of multiple files. Shift+F5 will run the script in the current tab. F5 will run the "current script" (the one that has the green arrow in the tab). With F5 you can edit a different script (e.g. a sub-module) while running the top level script.

    Best regards,

    Matthias

Sign In or Register to comment.