Product Documentation
Virtuoso Custom Design Migrate User Guide
Product Version IC23.1, November 2023

A


Schematic Mapping Options

You can specify the spreadsheet mapping file using the following methods. The first one is the most common method to map a schematic file:

Schematic Mapping Configuration File Options

Below is the list of schematic mapping configuration file options:

useInFlowMapFileChecker

If set to t, the mapping file is checked by the internal map file checker located in this directory:

<cds_install>/share/cdssetup/dfII/schMap/schMigMapChecker.py
schMigMapChecker.py requires Python 3.

If not specified, or specified as nil, no map file checking is performed. However, the map file can be checked before running migration with the following command:

<cds_install>/share/cdssetup/dfII/schMap/schMigMapChecker.py /path/to/mapfile.csv cc_ /path/for/the/output.csv

where parameter prefix is cc_ by default.

unmappedPassThru

If set to t, any instance with a library name defined in the mapping file for another cell (a known library), and no mapping in the map file for this cell, passes through migration unmodified. If unset, or set to nil, the instance is deleted from the target schematic and wires are left open-circuit.

enableTgtNameBySrcPar

If set to t, the target cell name in the map file may be a reference to a source cell parameter. For example, if the source cell parameter cellName has the target cell name, then placing cc_cellName in the target cell name field of the map file greatly reduces the number of lines in the map file.

bypassPreTriggers

If set to t, Schematic Design Migration bypasses the pre-trigger functions in Part 1 of the migration.

preMigInstTrigger

If set to a user defined pre-trigger function name, then the function must receive an instance object as an argument, to be run per instance loop before saving the source data in Part1 migration. The function name can be set as string or symbol value, for example: preInstUserTrig() or preInstUserTrig.

preMigCellTrigger

If set to a user defined pre-trigger function name, then the function must receive a cell object as an argument, to be run per cell loop before saving the source data in Part1 migration. The function name can be set as string or symbol value, for example: preCellUserTrig() or preCellUserTrig.

deleteSrcSimHistory

By default, any maestro or adexl history data will be copied to the target libraries. To delete this data on the source side (this modifies the source library) before copy, set this option to t.

deleteTgtSimHistory

By default, any maestro or adexl history data will be copied from the source libraries. To delete this data on the target side after copy, set this option to t.

bypassPostTriggers

If set to t, Schematic Design Migration bypasses the post-trigger functions in Part 2 of the migration.

postMigInstTrigger

If set to a user defined post-trigger function name, then the function must receive an instance object as an argument, to be run per instance after re-creating the target data in Part2 migration. The function name can be set as string or symbol value, for example: postInstUserTrig() or postInstUserTrig.

A per cell post migration trigger will override post instance trigger defined by postMigInstTrigger

postMigCellTrigger

If set to a user defined post-trigger function name, then the function must receive a cell object as an argument, to be run per cell after re-creating the target data in Part2 migration. The function name can be set as string or symbol value, for example: postCellUserTrig() or postCellUserTrig.

bypassLibCheck

If set to t, Schematic Migration will bypass the default check to ensure that the source PDK has been removed from the cds.lib file for Part 2 of the migration.

bypassRewiring

If set to t, Schematic Migration will bypass the automatic rewiring in Part 2 of the migration.

checkPCellToMap

If set to t, Schematic Migration compares the post-migration Pcell CDF Parameter values to the specification of CDF Parameters in migration mapping file. The results are displayed in the CDF Parameters tab of the Migration Results Browser. The default is t.

skipPCellDefaults

If set to t, Part 2 will create an instance of a Pcell but not set all the Pcell defaults. If the Pcells were defined to be created with default parameters all of the time, this step is not necessary. The default is t.

setTargetParameterTopDown

If set to t, the mapping file, match parameters, will set from just below the "device" map line to the last match parameter for that device. The default order is to set the last match parameter first, and build up to the "device" map line. Some PDKs require CDF parameters to be set in a particular order.

keepDataFile

If set to t, Part 2 will not remove temporary migration data; all Part1 data files will be saved. This is especially helpful during testing of a new map file, where an undo will allow multiple Part 2 runs on the same Part 1 schematic. This is typically used for debug with the doNotSaveResults option.

doNotSaveResults

If set to t, Part 2 will not save the migration result, all Part2 cellviews will be modified but not saved. This is especially helpful during testing of a new map file, where an undo will allow multiple Part 2 runs on the same Part 1 schematic. This is typically used for debug with the keepDataFile option.

removeDanglingNets

If set to t, any “line” or “path” object type in the schematic that does not connect to anything either are removed. Floating, unlabeled wires are removed all the way to the original instance pin, or first labeled wire (including unnecessary solder dots). This parameter may be entered at any time in the CIW.

postMigrationNetCheck

If set to t, a before and after comparison of net names will output any new nets that have been created in the “Status” column of the Results Browser Cell Mappings tab. In addition, each instance terminal will be checked before and after, and any change to the net name reported in the same location of the Results Browser.

maxCellsToOpen

If set, it will limit the Migration Results Browser to opening that integer number of cellviews at once. The default value is 5. This parameter may be entered at any time in the CIW.

migBrowserStatusFilters

If set, when Migration Results Browser is selected in the Migration menu, this field, a list, will filter what gets displayed in the Cell Mappings tab of the Results Browser. It is a list of regular expression strings. Each line of the table will be filtered through each regular expression string before being displayed on the Results Browser. This parameter may be entered at any time in the CIW. For example, if the following two regular expression strings are specified as follows:

list("^Mismatched Parameter\\(s\\)$"  "COMPLETE")

then any line item in the table with “Mismatched Parameter(s)” or “COMPLETE” will be filtered out and not displayed.

By default, when Schematic Migration Part 2 completes, there is no filter when “Open Results Browser” is selected. It is only set to the migBrowserStatusFilters value when run from the menu.

migBrowserResultsFile

If set, the tool uses this as the default results file when you do not provide any results file for a lower level cell. This can be used after running a top-level cell, and if multiple results files are present in the run directory which contains the results for current cell. You can click Cancel in the UI form that appears for file selection, and the tool automatically checks if the results are present in default results file set using:

migBrowserResultsFile ="/path/to/specific/runDir/Top_CellMappings.csv"

symbolChangeOptions

This option provides control of symbol and pin optimization methods.

The default value is list (t t nil nil t). If each value in the list represents a position:

copyProperties

This option controls the copying of design properties (not to be confused with CDF Parameters on a Pcell). The default value is nil.

instConnChangesByCDF

Used to provide a list of cell names that change their connectivity based on a parameter setting. If Schematic Migration encounters one of the listed cell names, no pre-placement check, according to useInstPreCheck will occur.

usePlacementEffort

If non-nil, and if useInstPreCheck is not nil, an alternate method for instance placement is attempted as follows:

useInstPreCheck

Enables a pre-placement check of the target instance pins to see if they land on an existing wire that would create a short circuit. If usePlacementEffort is not nil, an alternate method for placement may be used, otherwise any shorts from the current placement method are reported in the Migration Results Browser.

mfactorAndVectorTrans

Enables migrating from m-factored devices to vectored devices, or from vectored devices to m-factored devices, using the Other Parameters specification #mfactor2vector or #vector2mfactor.

For example, given a source instance named PM0 with parameter m=4:

In #mfactor2vector=m(4), 4 is the starting bit index of the target instance, while m is the name of the multiplicity parameter in the source. The specification changes with the name of the multiplicity parameter, that is, if the parameter is f instead of m, the specification in this example becomes #mfactor2vector=f(4).

#vector2mfactor works the opposite way and has a different syntax. Given a source instance named PM0<0:3>:

In the expression m|eq|(cc_icnt*2):

You can use this variable in an expression whose result is the value of the target m-factor parameter.

postMigrationCb

Adds a user defined callback after clicking OK on the Select the Migartion to Finish (Part 2) form. If defined, it returns the following arguments:

postMigrationCb = 'myCb
myCb(libOrTopCellName migMode runDir)
libOrTopCellName "cellA"

In case of a full library migration, the name of the library is returned.

migMode "Single Cell migration"

Other options are "Cell Hierarchy migration" and "Full library migration".

runDir "./SCHMAP_RUNDIR"

cdfgFormEmulation

If cdfgForm is used in the callbacks of parameters, the below value will emulate cdfgForm to cdfgData:

cdfgFormEmulation = 'cdfgData

designInventoryPath

Used to define the path of the schematic design inventory file. The default value is nil. The default path of the schematic design inventory file is "./SCHMAP_CONFIG/SchDesignInventory.il".

shortAvoidance

If set to t, the tool attempts to fix shorts that are created as a result of the migration. Certain instances may be placed to the side of the schematic, reconnected using wire stubs. The default is nil.

The tool can cause flightlines to appear on the schematic.

Other Environment Options

excludedLibs: Any instance from one of the ignore libraries will pass through to the target schematic unmodified.

excludedLibs = "basic US_8ths borders analogLib"

sourceTech: The source technology library.

sourceTech = "gpdk045"

targetTech: The target technology library.

targetTech = "cds_ff_mpt"

excludedViews: Specify views to skip during migration.

excludedViews = "layout abstract"

runDir: Optionally set the migration run directory. The default is to use the current run directory and runDir/SchMig. For example:

runDir = “/path/for/run/directory”


Return to top
 ⠀
X