used when further execution of the tool is useless, e.g. when no space on disk isleft for required intermediate files creation.Information about objects currently processed and number of issues found islogged to the log file and CIW.After Scan stage completes, the form with gathered data (Scan Data form)appears. Unless any data found – a message about it appears and tool finisheswork. The Scan Data form contains two listboxes, "Available data:" - with founddata and "Chosen data:" - with data (issues) which you chose to be fixed. Eachline in listbox represents one issue, found while scanning. It contains instancemaster, name, address (library, cell, view), id of issue, issue description.Auxiliary buttons “All”, “None”, “Choose”/”Unchoose”, “Chooseall”/”Unchoose all” allow handy selection of the issues. “Information” buttondisplays expanded generated by plug-in information about each issue cause.Cyclic field “Sort by” allow to sort issues by any field. "Check schematics"button allows to use standard Cadence “Check&Save” functionality before eachschematic view closing with printing results to log and CIW.Unless Action stage desired, the original list of found issues can be saved bypressing "Save scan data" button for future use. File name is set by file managerdialog. To avoid repeated database scanning for someone reason, e.g. whenaction stage failed due to write-protected database, previously saved data can beloaded in main form by “Load scan data” button, thus replacing Scan stage.After pressing “OK” button fixing of all chosen issues begins. Process isreported to CIW and log file. Issues which require no action are skipped.Disregarding absence of any stage, at the end of work the tool performs deinitializationof plug-ins to clean up environment.Plug-insActual design database problem resolving is provided by specially preparedSKILL utility or utilities set. They could be involved in the database conversionprocess if several pre-defined rules are supported. The utilities could bereasonably named as plug-ins for <strong>Design</strong> <strong>Conversion</strong> tool. The followingconditions should be satisfied to successfully register and execute a plug-in by<strong>Design</strong> Converter:plug-in configuration file should be named with “.il” extension and locatedaccording to known TDK sub-directory or DESIGNCONVERSION_PATHSKILL variable in case of generic mode;all SKILL procedures which are used by plug-in should be defined before theplug-in registration.correct set of keywords and their values should be available in the plug-inconfiguration, this information should be followed by the next template:; $keyword: value $Plug-in configuration could be done either as separate file or usually could bemerged with correspondent SKILL procedures. Below is a list of valid plug-inattributes which allows migration procedure registering and defines how itshould be executed. Each keyword should be selected in the configuration, nonesymbol should be done for optional fields at least.<strong>Tool</strong>Name: plug-in symbolic name. It is identification name which is used by<strong>Design</strong> Converter for processing and log information keeping.Prompt: user friendly plug-in name. It’s used in <strong>Design</strong> Converter GUI andcould be referenced in related documentation.
Configures: external plug-in symbolic name or none symbol. The reason of thisfield is to maintain simplified setting plug-ins which are targeted to tunesomeone standard external main plug-in for local needs, e.g. for currenttechnology. <strong>Design</strong> Converter will ignore registration of setting plug-in, but itsinitialization procedure (see PreProc below) will be executed only. none valuemeans that this is a regular self-consistent plug-in.Level: valid choices: library, cell, cellview or instance. Defines object type toapply scanning and converting plug-in procedures. dd_object, dd_object,db_object or db_object are supported respectively. Thus, plug-in could be doneto process one of mentioned database objects.CellViewTypes: valid choices: schematicSymbol, schematic, maskLayout, or anycombination of these symbols separated by space. Defines what Cadence cellview type should be processed by the plug-in. For example, schematic valuemeans that schematic views will be processed only.PreProc: symbolic name of SKILL procedure. It is executed by <strong>Design</strong>Converter immediately after the plug-in registration. No any argument should besupported. This field is optional and usually it’s used to create and fill plug-inlocal option form. However any other initialization features could be als osupported. Convention for procedure returned value is : nil means that plug-inregistration failed and this migration utility will be skipped by <strong>Design</strong>Converter, other value – plug-in registration completed successfully and thecorrespondent record will be appeared in the <strong>Design</strong> Converter start form.ScanProc: symbolic name of SKILL procedure. It is applied by <strong>Design</strong>Converter to specified in the Level field object during database scanning. Singleargument – database object ID – should be supported. Of course ScanProcprocedure should be compatible with object selected in Level field. Conventionfor procedure returned value is: nil - if no issue found, lis t of SKILL structureswith ”id”, “message” and “information” fields for each in case of discoveredissue, where id –string with flag number to display in <strong>Design</strong> Converted ScanData form, e.g. “PcellError.1”; message – string with short flag description toexplain it in <strong>Design</strong> Converted Scan Data form as well, e.g. “Repair layout byold pcell?”, information – detailed issue description to display this one in <strong>Design</strong>Converted Information form, e.g. “New pcell affects on existing layout:source/drain via array extended. To protect the design layout instance flatteningis recommended before new technology libra ry setup”. Thus, mentioned SKILLstructure defines discovered issue and should be named as aldDCscanData.ActionProc: symbolic name of SKILL procedure. It is applied by <strong>Design</strong>Converter to specified in the Level field object during database correction.Flagged database object is supported as first argument and aldDCscanData assecond. Issue definition is necessary to understand what problem has beenappeared for entered database object. Output value will be processed by <strong>Design</strong>Converter as following: t or nil will be understood as successful or failed resultrespectively. Correspondent notification will be returned in the log file anyway.If ActionProc isn’t defined, i.e. it’s marked by none, then no database correctionwill be done for discovered issue. It means that the plug-in is a design librarychecker only and not intended for automatic database correction. For example,such information plug-in could be prepared to check alternative devices in thedesign, but the responsibility to clean-up the project will be assigned to designer.PostProc: symbolic name of SKILL procedure. It is applied by <strong>Design</strong>Converter during tool exit. This de-initialization procedure is supposed to bedone without any argument. The field is optional and usually it’s used to cleanup memory after plug-in work. For example, PostProc procedure can deleteplug-in option form, temporal files, etc. Convention for procedure returned