With the SPB16.3 release of Allegro PCB SI, there’s a new methodology for Device Modeling Language (DML) path setting and searching.
In previous releases, DML and IML paths were controlled graphically with the Library Browser, as shown below:
They could also be set through the use of environment variables such as signal_devlibs:
set SIGNAL_DEVLIBS /hm/test/dml/devices.dml $ALLEGRO_INSTALL_DIR/signal/cds_models.ndx
Regardless of the method used, model paths were based on individual DML files or indices rather than directories. This caused issues with portability across environments. Additionally, even though the example above references another variable ($ALLEGRO_INSTALL_DIR), the full path was stored in a configuration file (case.cfg) in the .run directory.
Read on for more details …
Setting the Search Path
In SPB16.3, there is no longer an Analyze > Library command in the menu since the Library Browser no longer exists. To invoke the Model Browser, select Analyze > Model Browser.
This will launch the new Model Browser:
Selecting the Set Search Path button displays the following form:
This form is used to manage the search path and file extensions for all model formats.
In the Directories To Be Searched for Model Files section, the first entry is the current directory, and the remaining two are Cadence defaults. The Add Directory... button is used to add directories that contain dml files. When a directory is added, the dmls in that directory are loaded, as seen in the Command Window:
The Move To Top, Move Up, Move Down, and Move To Bottom buttons can be used to set the order of the DML directories. This is similar to setting the order of the DML files in the old Library Browser, but here the priority of directories to be searched for models is being set.
When a directory of dmls is added, the new environment variable SI_MODEL_PATH is written to your local env file:
set SI_MODEL_PATH = . D:/Cadence/SPB_16.3/share/local/pcb/signal D:/Cadence/SPB_16.3/share/pcb/signal D:/dmls
If the list of directories is not as expected, select the Reset to Default button:
This is a quick way to reset the new SI environment variables without having to edit your local env file.
The DML Library Management dialog, available by selecting the Library Mgmt button in the Model Browser, is the new location for a lot of the core functionality previously found in the old Library Browser, such as creating a new library, merging libraries, and creating indices.
Recall that search ordering is prioritized by directories, not by individual dml/ndx files. Because of this, there are no controls here to move dml files up or down, but there are new controls to ignore libraries.
You can ignore libraries in directories by selecting the checkbox in the Ignore Library column. When ignoring libraries, the new environment variable SI_IGNORE_DML_LIBS is written to $HOME/pcbenv/env:
set SI_IGNORE_DML_LIBS = D:/dmls/cy9389v.dml D:/dmls/71v2576z.dml
The DML Library Management dialog is also used to set your working library, using a checkbox Working Library column. When a working library is selected, the new environment variable SI_DML_WORKING_LIB is written to $HOME/pcbenv/env:
set SI_DML_WORKING_LIB = test1.dml
To merge libraries, select the checkbox in the Select for Merge/Index column for the particular dmls, then select Merge Libs. Similarly, to create an index, select the checkbox in the Select for Merge/Index column for the particular dmls, then select Make Lib Index.
Setting File Extensions
File extensions for all model formats can be set in the Set Model Search Path dialog.
If extensions are changed in the form, they are written to the new SI_MODEL_FILE_EXT environment variable in $HOME/pcbenv/env.
set SI_MODEL_FILE_EXT = Generic_IBIS(ibs) IBIS_Buffer(buf) IBIS_EBD(ebd) IBIS_ICM(icm) IBIS_Pin_List(pin) IBIS_Package(pkg,pckg) Quad(mod) Generic_SPICE(spc) HSpice_Input(sp) HSpice_Output(lis) Spectre(spc) Touchstone(S?p,s??,snp) DML(ndx,dml) Interconnect(iml) ABIML(abiml)
There are four new SI environment variables used to control model searching:
These new environment variable settings support the use of variables in the paths, making them more portable. For example:
set SI_MODEL_PATH = . $MY_LIB_PATH $GLOBAL_LIB_PATH
The variables for MY_LIB_PATH and GLOBAL_LIB_PATH are only expanded when the files are opened and are not stored anywhere in their expanded format.
The new SI path variables are searched in the following order:
• $HOME/pcbenv/env file
• <install_dir>/share/pcb/text/env file
• A system environment variable of the same name
These new path variables are updated based on existing case.cfg files in run directories when pre-SPB16.3 designs are opened.
Please share your experiences in using this new SPB16.3 capability.
Jerry "GenPart" Grzenia