EDA Solutions logo

Utilising triggers in Calibre Interactive

Created 02/08/2024

Operating systems: Linux
Versions affected: All

Summary

Triggers in Calibre are functions which are executed at specific times in a workflow to automate the physical verification flow and reduce the need for user interaction. Triggers can be external which execute before or after Calibre Interactive or internal which executes before or after a Calibre run.

Internal triggers

Internal triggers are defined within Calibre Interactive and can be saved to a “runset”. A runset is a file which stores the setup of a Calibre run created within Calibre Interactive so the options do not need to be loaded each time. These functions can be run in a Linux shell or within a supported design tool.

To create an internal trigger, from the menu Settings > Show Pages > Triggers.

Pre-execution

Use the plus sign to add a new trigger.

Triggers can be toggled on and off with the “Use” button. The type of trigger Process, Layout or Schematic which refers to where the function executes from. A process uses a Linux bash terminal where Layout will use the layout editor connected with the tool, for example L-Edit.

Post-execution

Post-Execution triggers are created in the same way as Pre-Execution but from within the Post-Execution tab. The options for new triggers are the same apart from some additional options on how they run:

Options can be toggled on and off as required.

The option to still run trigger if DRC is terminated applies to other physical verification methods.

Writing an Internal trigger

In the Trigger line, users can write commands to perform actions or reference scripts. These scripts can be written in Bash/Python/TCL-sh. To simplify automation, Parameter Substitution Information is given:

For example, a script written by a user takes in the Layout primary cell, which changes from design to design. In the trigger pane would be a trigger /home/user/my_script.sh %L

External trigger

Calibre Interactive external triggers execute when the user starts or closes the tool from a layout or schematic viewer which supports external triggers. External triggers are written in the API for the supported design environment using the API Language (Tcl, SKILL, Scheme…).

Pre-execution

The function named mgc_start_calibre_trigger can be used to set triggers to go off on the opening of Calibre Interactive. User environment triggers can be defined in the users environment and will be applied to all Calibre sessions for that specific user. The function can also be set locally as a Local trigger in the run directory for the design tool or directly loaded into the design environment. This can be achieved with a command line argument or in a shell window for the design tool. The local triggers take priority over user environment trigger definitions.

Post-Eexecution

Using the function name mgc_close_calibre_trigger will set triggers to be used on the closing of Calibre Interactive. Like Pre-Execution triggers, Local and User environment triggers are available and apply in the same way.

Writing an external trigger

External triggers can be written for Calibre’s layout tool, Calibre DESIGNrev, using Tcl:

proc mgc_start_calibre_trigger {run_type cell} {
<Tcl code>
}

proc mgc_close_calibre_trigger {run_type cell} {
<Tcl code>
}

The parameter run_type refers to the Calibre Interactive application to be used (drc, lvs, pex, perc, dfm). The other parameter cell refers to the cell which is open in the viewer. By default, the external triggers in Calibre DESIGNrev return 1.

To define an external trigger to be used with Calibre DESIGNrev, create/edit a file named wbinit.tcl. The file is known as an application extension file which allows the user to write Tcl-based scripts. The location of the file should be as follows:

Trigger ScopeFile Location
User Environment~/.calibrewb_workspace/wbinit.tcl
LocalIn a directory which the environment variable MGC_CWB_CONFIG_DIRS points to

Tcl scripts can also be run with the command line argument -s when launching Calibre DESIGNrev.

References

https://support.sw.siemens.com/en-US

https://docs.sw.siemens.com/en-US/doc/862138555/202402009.calbr_interactive_n_user/ided2acdf4-8f8e-49e0-a726-8d083583f1e7


Related product information

Calibre Interactive

Calibre Interactive GUI gives users access to the Calibre RVE interface, the robust and easy-to-use results viewing environment. Deploy foundry decks to design flows The Calibre Interactive interface is integrated with all major custom design and P&R tools, as well as a wide range of specialty design tools, to offer…

Read more


Post published by


Comments

Leave a Reply