I'm trying to auto-populate PVS forms automatically (I'm still using PVS because our tool version is IC6.1.8-64b-500.9). I have a PVSPreFormTrigger function that successfully auto-populates the run directory field:
procedure( PVSPreFormTrigger( runType presetFile winId )
let( (tmpName f )
;; create a temporary presets file
tmpName = sprintf( nil "/tmp/ipvs.%s.%d.pretrigger" runType ipcGetPid() )
f = outfile( tmpName )
fprintf( f "[ pvsgui.Run%s ]\n" runType )
when( winId~>cellView~>cell~>name
;; construct Run Directory name as "pvs/[DRC or LVS]_${PROJECT}_cell"
fprintf( f "RunDir \"%s\"\n" strcat( "pvs/" runType "_${PROJECT}_" winId~>cellView~>cell~>name ) )
); when
close(f)
;; return the name of presets file
tmpName
);let
);procedure
I also have a techRuleSet file that contains the following:
pvsRuleSet( "default"
(DrcRules "ruledecks/ohc15l_drc.pvl" )
(DrcGuiPreset "ruledecks/virtuoso6.drc_preset_golden")
(LvsRules "ruledecks/ohc15l_lvs.pvl" )
(LvsGuiPreset "ruledecks/virtuoso6.lvs_preset_golden")
)
My file structure looks like this:
~/analog/pvtech.lib (file)
~/analog/ruledecks (folder containing the files listed below)
ohc15l_ant.pvl
ohc15l_density.pvl
ohc15l_drc.pvl
ohc15l_lvs.pvl
techRuleSets
virtuoso6.drc_preset_golden
virtuoso6.lvs_preset_golden
The pvtech.lib file is a single line with an include statement that defines another path to the central location for the technology information (INCLUDE $TECH_PATH/pvtech.lib). The file pointed to then defines the library as:
DEFINE PVS_LPE ./ruledecks/LPE
From the tool manual it seems that the techRuleSets file should automatically fill the DRC and LVS submission forms with the presets specified by the default rule set if the techRuleSets file is in the correct place and the correct path is specified. This part of the manual shows that the techRuleSets file should live with the pvl files but it's not clear to me whether or not the tool expects this techRuleSets file to live in the central repository or in the local directory where we have copied our pvl files (https://support.cadence.com/apex/techpubDocViewerPage?xmlName=pegasususer.xml&title=Cadence%20Pegasus%20User%20Guide%20--%20Setting%20up%20of%20Technology%20Data%20-%20Technology%20Directory&hash=pgfId-1065185&c_version=22.10&path=pegasususer/pegasususer22.10/appc_TechData_tk_Setting_up_of_Technology_Data.html#pgfId-1065185). I've tried placing the techRuleSets file here, one also exists in the central repository but it just exists for linking locally. I've also tried changing the relative path in the techRuleSets file to point to files from ~/analog/ruledecks, ~/analog and from the repository but none of them seem to work. I get the message in the bottom right corner of the GUI that no presets file was loaded.
I'm probably missing something simple here, hopefully someone can point me in the right direction.