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:
-
Import a CSV file:
mapFile = "./SCHMAP_CONFIG/mapping.csv" - On the Schematic Migration Part 1 Form, under the "More Options" section, use the Browse button of the Migration Mapping File to locate and run a CSV mapping 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
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.
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.
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:
- Position 0: Check symbol for size changes
- Position 1: Perform optimization for size changes
- Position 2: Check symbol for rotation (applies to map file libraries)
- Position 3: Perform optimization for rotation
- Position 4: Enable pin optimization methods
copyProperties
This option controls the copying of design properties (not to be confused with CDF Parameters on a Pcell). The default value is nil.
-
If set to
t, all cell and instance properties are copied from source to target. -
If set to
nil, no cell or instance properties are copied from source to target. -
If set to
list(“copyProp”), only the map file #copyProp information is used. -
If set to
list(“prop1Name” “prop2Name”), any cell view or instance properties withprop1Nameorprop2Nameare copied from source to target.
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:
-
If
#keepPinLocis specified, then#keepCenteris attempted for shorts avoidance. -
If
#keepCenteris specified, then source instance origin is used. -
If
#symbolOffsetXand/or#symbolOffsetYis specified, then source instance origin is used.
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:
-
#mfactor2vector=m(0)produces target instancePM0<0:3> -
#mfactor2vector=m(2)produces target instancePM0<2:5> -
#mfactor2vector=m(4)produces target instancePM0<4:7>
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>:
-
#vector2mfactor=m|eq|(cc_icnt*2)produces target instancePM0withm=8 -
#vector2mfactor=m|eq|(cc_icnt*4)produces target instancePM0withm=16
In the expression m|eq|(cc_icnt*2):
-
mis the name of the m-factor parameter of the target instance -
eqis a keyword that marks the following text as a mathematical expression -
cc_icntis a variable that holds the instance count, which is the number of bits, for a mapped instance
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.
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