Commit ed18a78f authored by Andrey Filippov's avatar Andrey Filippov

working on tools definitions

parent dbb68380
...@@ -11,27 +11,32 @@ ...@@ -11,27 +11,32 @@
icon="newmod_wiz.gif"> icon="newmod_wiz.gif">
<menuitem name="cver" <menuitem name="cver"
label="Run CVer simulator" label="CVer simulator"
icon="cver.gif" icon="cver.gif"
call="cver"/> call="cver"/>
<menuitem name="modelsim" <menuitem name="modelsim"
label="Run ModelSIM simulator" label="ModelSIM simulator"
icon="modelsim.gif" icon="modelsim.gif"
call="ModelSIM"/> call="ModelSIM"/>
<menuitem name="xst" <menuitem name="xst"
label="Run XST (Synthesis)" label="XST (Synthesis)"
icon="xst.gif" icon="xst.gif"
call="XST"/> call="XST"/>
<menuitem name="IVerilog" <menuitem name="IVerilog"
label="Run Icarus Verilog (Simulation)" label="Icarus Verilog Simulator"
icon="iverilog.ico" icon="iverilog.ico"
call="iverilog"/> call="iverilog"/>
<menuitem name="IVerilog Debug"
label="Icarus Verilog (Debugging TSL)"
icon="iverilog.ico"
call="iverilog_dbg"/>
<menuitem name="GTKWave" <menuitem name="GTKWave"
label="Run GTKWave (Waves viewer)" label="GTKWave (Waves viewer)"
icon="gtkwave.ico" icon="gtkwave.ico"
call="iverilog"/> call="iverilog"/>
</menu> </menu>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!--iverilog -Dlegacy_model -gno-specify -v -o x353mjpeg_test -sglbl -stestbench353 -y./unisims -y. x353_1.tf glbl.v--> <!--iverilog -Dlegacy_model -gno-specify -v -o x353mjpeg_test -sglbl -stestbench353
-y./unisims -y. x353_1.tf glbl.v -->
<vdt-project> <vdt-project>
<interface name="IVerilog" <interface name="IVerilog" extends="project_interface">
extends="project_interface"> <!-- Syntax definitions -->
<!-- Syntax definitions --> <syntax name="BoolParamSyntax" format="-%%ParamName" />
<syntax name="BoolParamSyntax" format="-%%ParamName"/> <syntax name="InputPatternSyntax" format="’%%ParamValue’" />
<syntax name="InputPatternSyntax" format= "’%%ParamValue’"/>
<typedef name="ModuleLibraryType" list="true">
<typedef name= "ModuleLibraryType" list="true"> <paramtype kind="string" default="" textkind="dir"
<paramtype kind="string" maxlength="256" sensitivity="sensitive" />
default="" </typedef>
textkind="dir"
maxlength="256"
sensitivity="sensitive"/>
</typedef>
<syntax name="D_ParamSyntax" format="-D%%ParamName" />
<syntax name="g_ParamSyntax" format="-g%%ParamName" />
<typedef name="LegacyModelType">
<syntax name = "D_ParamSyntax" <paramtype kind="bool" formatTrue="-Dlegacy_model"
format = "-D%%ParamName"/> formatFalse="" />
<syntax name = "g_ParamSyntax" </typedef>
format = "-g%%ParamName"/> <typedef name="NoSpecifyType">
<paramtype kind="bool" formatTrue="-gno-specify"
<typedef name="LegacyModelType"> formatFalse="" />
<paramtype kind="bool" </typedef>
formatTrue="-Dlegacy_model"
formatFalse=""/>
</typedef> <syntax name="QuotedFileListSyntax" format="--%%ParamName %(&quot;%%FileList&quot;%| %)" />
<typedef name="NoSpecifyType"> <syntax name="QuotedTopModuleSyntax" format="--%%ParamName=%%TopModule" />
<paramtype kind="bool" <syntax name="QuotedTopModulesSyntax" format="--%%ParamName %(&quot;%%TopModules&quot;%| %)" />
formatTrue="-gno-specify" <syntax name="QuotedSourceListSyntax" format="--%%ParamName %(&quot;%%SourceList&quot;%| %)" />
formatFalse=""/> <syntax name="QuotedCurrentFileSyntax" format="--%%ParamName=&quot;%%CurrentFile&quot;" />
</typedef> <syntax name="QuotedCurrentFileBaseSyntax" format="--%%ParamName=&quot;%%CurrentFileBase&quot;" />
<syntax name="QuotedProjectNameSyntax" format="--%%ParamName=&quot;%%ProjectName&quot;" />
<syntax name = "QuotedFileListSyntax"
format = "--%%ParamName %(&quot;%%FileList&quot;%| %)"/>
<syntax name = "QuotedTopModuleSyntax" <!-- Actually used -->
format = "--%%ParamName=%%TopModule"/> <syntax name="JustValueSyntax" format="%%ParamValue"></syntax>
<syntax name = "QuotedTopModulesSyntax" <syntax name="TopModuleSyntax" format="-s%%TopModule" />
format = "--%%ParamName %(&quot;%%TopModules&quot;%| %)"/> <syntax name="TopModulesOtherSyntax" format="%(-s%%ParamValue%| %)" />
<syntax name = "QuotedSourceListSyntax" <syntax name="ModuleLibrarySyntax" format="%(-y%%ParamValue%| %)" />
format = "--%%ParamName %(&quot;%%SourceList&quot;%| %)"/> <syntax name="SourceListSyntax" format="%(%%SourceList%| %)" />
<syntax name = "QuotedCurrentFileSyntax" <syntax name="ExtraFilesSyntax" format="%(%%ParamValue%| %)" />
format = "--%%ParamName=&quot;%%CurrentFile&quot;"/> <syntax name="exeFileSyntax" format="%%ParamValue" />
<syntax name = "QuotedCurrentFileBaseSyntax" <syntax name="SwitchSyntax" format="-%%ParamName" />
format = "--%%ParamName=&quot;%%CurrentFileBase&quot;"/>
<syntax name = "QuotedProjectNameSyntax" <syntax name="DbgCurrentFileSyntax" format="echo &quot;%%CurrentFile&quot; ;" />
format = "--%%ParamName=&quot;%%ProjectName&quot;"/> <syntax name="DbgChosenActionIndexSyntax" format="echo &quot;index=%%ChosenActionIndex&quot; ;" />
<syntax name="BuildStampSyntax" format="%%BuildStamp" />
<syntax name="GrepFindSyntax"
<!-- Actually used --> format="| grep --line-buffered -E &quot;%%ParamValue&quot;" />
<syntax name="JustValueSyntax" format="%%ParamValue"></syntax> <syntax name="GrepSkipSyntax"
<syntax name="TopModuleSyntax" format="-s%%TopModule" /> format="| grep --line-buffered -v &quot;%%ParamValue&quot;" />
<syntax name="TopModulesOtherSyntax" format="%(-s%%ParamValue%| %)" /> <syntax name="LogFileSyntax" format="| tee %%ParamName%%BuildStamp.log" />
<syntax name="ModuleLibrarySyntax" format="%(-y%%ParamValue%| %)" />
<syntax name="SourceListSyntax" format="%(%%SourceList%| %)" /> <!-- typedef -->
<syntax name="ExtraFilesSyntax" format="%(%%ParamValue%| %)" />
<syntax name="exeFileSyntax" format="%%ParamValue" /> <typedef name="MyTypeList" list="true">
<syntax name="SwitchSyntax" format="-%%ParamName" /> <paramtype kind="string" maxlength="256" sensitivity="sensitive" />
</typedef>
<syntax name="DbgCurrentFileSyntax" format="echo &quot;%%CurrentFile&quot; ;" />
<syntax name="DbgChosenActionIndexSyntax" format="echo &quot;index=%%ChosenActionIndex&quot; ;" />
<syntax name="BuildStampSyntax" format="%%BuildStamp" /> <typedef name="ExtraFilesType" list="true">
<syntax name="LogFileSyntax" format="%%BuildStamp.log" /> <paramtype kind="string" textkind="file" maxlength="256"
<syntax name="GrepSkipSyntax" format="| grep --line-buffered -v &quot;%%ParamValue&quot;" /> sensitivity="sensitive" />
</typedef>
// <typedef name="exeType">
<paramtype kind="string" maxlength="256" sensitivity="sensitive"
ChosenActionIndex textkind="file" />
</typedef>
<!-- typedef -->
<typedef name="SwitchType">
<typedef name="MyTypeList" list="true"> <paramtype kind="bool" formatTrue="-%%ParamName"
<paramtype kind="string" formatFalse="" />
maxlength="256" </typedef>
sensitivity="sensitive"/> <!-- <typedef name= "StringType" list="true"> <paramtype kind="string"
</typedef> textkind="text" maxlength="256" sensitivity="sensitive"/> </typedef> -->
</interface>
<typedef name= "ExtraFilesType" list="true"> <!-- <project name="IVerilogProject" label="iverilog project label" interface="IVerilog">
<paramtype kind="string" </project> -->
textkind="file" <project name="project_settings" label="Project parameters for project_settings"
maxlength="256" interface="project_interface">
sensitivity="sensitive"/>
</typedef> <parameter id="SimulationTopFile" label="Project top simulation file"
type="FileType" default="default_top (testing)" format="ValueSyntax"
<typedef name="exeType"> readonly="false" />
<paramtype kind="string"
maxlength="256" <parameter id="SimulationTopModule" label="Project top simulation module"
sensitivity="sensitive" type="StringType" default="" format="ValueSyntax" readonly="false" />
textkind="file"/>
</typedef> <parameter id="BuildDir" label="project build directory"
type="DirType" default="build" format="ValueSyntax" readonly="false" />
<typedef name="SwitchType">
<paramtype kind="bool" <input>
formatTrue="-%%ParamName" <group name="General" label="Project properties">
formatFalse=""/> "SimulationTopFile"
</typedef> "SimulationTopModule"
<!-- "BuildDir"
<typedef name= "StringType" list="true"> </group>
<paramtype kind="string" </input>
textkind="text" <output>
maxlength="256" </output>
sensitivity="sensitive"/> </project>
</typedef>
-->
</interface> <tool name="iverilog" project="project_settings" label="Icarus Verilog compiler"
<!-- exe="iverilog" shell="?%%OS: Windows=shell:, Linux=/bin/bash"
<project name="IVerilogProject"
label="iverilog project label" interface="IVerilog" errors="(.*):([0-9]+): [a-z_\- ]*error: (.*)"
interface="IVerilog"> warnings="(.*):([0-9]+): [a-z_\- ]*warning: (.*)" info="(.*):([0-9]+): [a-z_\- ]*info: (.*)"> <!--does not actually exist -->
</project>
--> <extensions-list>
<project name="project_settings" <extension mask="v" />
label="Project parameters for project_settings" <extension mask="tf" />
interface="project_interface"> </extensions-list>
<parameter id = "SimulationTopFile" <action-menu>
label = "Project top simulation file" <action label="Simulate" resource="%SimulationTopFile"
type = "FileType" check-extension="false" check-existence="true" icon="iverilog.ico" />
default = "default_top (testing)" <action label="Simulate for" resource="%%SelectedFile"
format = "ValueSyntax" check-extension="true" check-existence="true" />
readonly= "false" /> <action label="Empty" resource="" icon="sample.gif" />
<action label="Just try for" resource="%%OS" />
<parameter id = "SimulationTopModule" </action-menu>
label = "Project top simulation module"
type = "StringType"
default = "" <parameter id="Param_Shell_Options" label="Param_Shell_Options"
format = "ValueSyntax" type="StringType" format="JustValueSyntax" default="-c" readonly="false"
readonly= "false" /> visible="true" />
<!-- Intentional error: No, does not detect duplicates yet -->
<parameter id = "BuildDir"
label = "project build directory" <parameter id="Param_PreExe" label="Param_PreExe" type="StringType"
type = "DirType" format="JustValueSyntax" default="" readonly="false" visible="true" />
default = "build"
format = "ValueSyntax" <parameter id="Param_Exe" label="Param_Exe" type="exeType"
readonly= "false" /> format="exeFileSyntax" default="/usr/bin/iverilog" readonly="false"
visible="true" />
<input>
<group name="General" label="Project properties"> <parameter id="Param_TopModule" label="Param_TopModule"
"SimulationTopFile" type="StringType" format="TopModuleSyntax" default="%%TopModule"
"SimulationTopModule" readonly="true" visible="true" />
"BuildDir"
</group> <parameter id="TopModulesOther" type="StringListType"
</input> format="TopModulesOtherSyntax" default="" omit=""
<output> label="Select top modules (not referenced by other modules)"
</output> readonly="false" visible="true" />
</project>
<parameter id="ModuleLibrary" type="ModuleLibraryType"
format="ModuleLibrarySyntax" default="" label="Select libraries to include"
omit="" readonly="false" visible="true" />
<tool name = "iverilog"
project = "project_settings"
label = "Icarus Verilog compiler" <parameter id="ExtraFiles" type="ExtraFilesType" format="ExtraFilesSyntax"
exe = "iverilog" default="" label="Select extra files to include" readonly="false"
shell = "?%%OS: Windows=shell:, Linux=/bin/bash" visible="true" />
interface = "IVerilog"
errors = "(.*):([0-9]+): [a-z_\- ]*error: (.*)" <parameter id="LegacyModel" outid="legacy_model" type="LegacyModelType"
warnings = "(.*):([0-9]+): [a-z_\- ]*warning: (.*)" format="D_ParamSyntax" default="true" label="Use legacy model" />
info = "(.*):([0-9]+): [a-z_\- ]*info: (.*)"> <!--does not actually exist -->
<parameter id="NoSpecify" outid="no-specify" type="NoSpecifyType"
<extensions-list> format="g_ParamSyntax" default="true" label="Use no-specify" />
<extension mask="v"/> <!-- -->
<extension mask="tf"/> <parameter id="SourceList" type="MyTypeList" format="SourceListSyntax"
</extensions-list> default="" readonly="true" visible="false" />
<!-- -->
<action-menu> <parameter id="v" type="SwitchType" format="SwitchSyntax"
<action label="Simulate" resource="%SimulationTopFile" check-extension="false" check-existence="true" icon="iverilog.ico"/> default="true" label="Verbose" />
<action label="Simulate for" resource="%%SelectedFile" check-extension="true" check-existence="true"/>
<action label="Empty" resource="" icon="sample.gif"/> <parameter id="Param_SourceList" label="Param_SourceList"
<action label="Just try for" resource="%%OS" /> type="MyTypeList" format="SourceListSyntax" default="" readonly="true"
</action-menu> visible="true" />
<parameter id = "Param_Shell_Options" <parameter id="Filter_String" label="Filter_String" type="StringType"
label = "Param_Shell_Options" format="JustValueSyntax"
type = "StringType" default="2&gt;&amp;1 | tee %LogFile | grep --line-buffered -E 'error|warning' | grep --line-buffered -v &quot;(null):0&quot;"
format = "JustValueSyntax" readonly="false" visible="true" />
default = "-c"
readonly = "false"
visible = "true"/>
<!-- Intentional error: No, does not detect duplicates yet--> <parameter id="DbgCurrentFile" label="DbgCurrentFile" type="StringType"
format="DbgCurrentFileSyntax" default="" readonly="false" visible="true" />
<parameter id = "Param_PreExe"
label = "Param_PreExe" <parameter id="ChosenActionIndex" label="ChosenActionIndex"
type = "StringType" type="StringType" format="DbgChosenActionIndexSyntax" default=""
format = "JustValueSyntax" readonly="false" visible="true" />
default = ""
readonly = "false"
visible = "true"/>
<!-- intentional error below - duplicate -->
<parameter id = "Param_Exe"
label = "Param_Exe"
type = "exeType"
format = "exeFileSyntax" <parameter id="ShowNoProblem" type="BoolYesNo" format="None"
default = "/usr/bin/iverilog" default="false" label="Show output with no errors/warnings" />
readonly = "false"
visible = "true"/> <parameter id="ShowWarnings" type="BoolYesNo" format="None"
default="false" label="Show output warnings" />
<parameter id = "Param_TopModule"
label = "Param_TopModule" <parameter id="RemoveBugs" type="BoolYesNo" format="None"
type = "StringType" default="false" label="Remove buggy simulator output" />
format = "TopModuleSyntax"
default = "%%TopModule" <parameter id="SaveLogs" type="BoolYesNo" format="None"
readonly = "true" default="false" label="Save simulator log output" />
visible = "true"/>
<!-- Advanced Section -->
<parameter id = "TopModulesOther"
type = "StringListType"
format = "TopModulesOtherSyntax" <parameter id="LogFile" label="Simulator log file prefix"
default = "" type="StringType" default="iverilog" format="LogFileSyntax" readonly="false" />
omit = ""
label = "Select top modules (not referenced by other modules)" <parameter id="GrepFindErr" label="Grep pattern for errors only"
readonly = "false" type="StringType" format="GrepFindSyntax" default="error" readonly="false"
visible = "true"/> visible="true" />
<parameter id = "ModuleLibrary" <parameter id="GrepFindErrWarn" label="Grep pattern for both errors and warnings"
type = "ModuleLibraryType" type="StringType" format="GrepFindSyntax" default="error|warning"
format = "ModuleLibrarySyntax" readonly="false" visible="true" />
default = ""
label = "Select libraries to include" <parameter id="GrepSkip1" label="Grep skip pattern" type="StringType"
omit = "" format="GrepSkipSyntax" default="(null)" readonly="false" visible="true" />
readonly = "false"
visible = "true"/>
<parameter id = "ExtraFiles"
type = "ExtraFilesType"
format = "ExtraFilesSyntax"
default = ""
label = "Select extra files to include"
readonly = "false"
visible = "true"/>
<parameter id = "LegacyModel"
outid = "legacy_model"
type = "LegacyModelType"
format = "D_ParamSyntax"
default = "true"
label = "Use legacy model"/>
<parameter id = "NoSpecify"
outid = "no-specify"
type = "NoSpecifyType"
format = "g_ParamSyntax"
default = "true"
label = "Use no-specify"/>
<!-- -->
<parameter id = "SourceList"
type = "MyTypeList"
format = "SourceListSyntax"
default = ""
readonly = "true"
visible = "false"/>
<!-- -->
<parameter id = "v"
type = "SwitchType"
format = "SwitchSyntax"
default = "true"
label = "Verbose"/>
<parameter id = "Param_SourceList"
label = "Param_SourceList"
type = "MyTypeList"
format = "SourceListSyntax"
default = ""
readonly = "true"
visible = "true"/>
<parameter id = "ErrorsOnly"
type = "LegacyModelType"
format = "D_ParamSyntax"
default = "false"
label = "Only errors/warning to console"/>
<parameter id = "Filter_String"
label = "Filter_String"
type = "StringType"
format = "JustValueSyntax"
default = "2&gt;&amp;1 | tee %LogFile | grep --line-buffered -E 'error|warning' | grep --line-buffered -v &quot;(null):0&quot;"
readonly = "false"
visible = "true"/>
<parameter id = "DbgCurrentFile"
label = "DbgCurrentFile"
type = "StringType"
format = "DbgCurrentFileSyntax"
default = ""
readonly = "false"
visible = "true"/>
<parameter id = "ChosenActionIndex"
label = "ChosenActionIndex"
type = "StringType"
format = "DbgChosenActionIndexSyntax"
default = ""
readonly = "false"
visible = "true"/>
<parameter id = "GrepSkip1"
label = "GrepSkip"
type = "StringType"
format = "GrepSkipSyntax"
default = "(null)"
readonly = "false"
visible = "true"/>
<!-- intentional error below - duplicate -->
<parameter id = "LogFile"
label = "Simulator Log Filie"
type = "StringType"
default = "logfile.log"
format = "LogFileSyntax"
readonly= "false" />
<input> <input>
...@@ -341,25 +245,24 @@ ...@@ -341,25 +245,24 @@
"ExtraFiles" "ExtraFiles"
</group> </group>
<group name="options" label="Options"> <group name="options" label="Options">
"ErrorsOnly" "ShowNoProblem"
"Filter_String" "ShowWarnings"
"GrepSkip1" "RemoveBugs"
"SaveLogs"
"v" "v"
"LegacyModel" "LegacyModel"
"NoSpecify" "NoSpecify"
<!-- "SourceList" --> </group>
<group name="Advanced" label="Advanced">
"LogFile"
"GrepFindErr"
"GrepFindErrWarn"
"GrepSkip1"
</group> </group>
</input> </input>
<output> <output>
<line name="command_line" sep=" "> <line name="command_line" sep=" ">
"%Param_Shell_Options" "%Param_Shell_Options"
"%DbgCurrentFile"
"%ChosenActionIndex"
"echo BuildDir=%BuildDir ;"
"echo CurrentFile=%%CurrentFile ;"
"echo SimulationTopFile=%SimulationTopFile ;"
"echo SimulationTopModule=%SimulationTopModule ;"
"echo LogFile=%LogFile ;"
"%Param_PreExe" "%Param_PreExe"
"%Param_Exe" "%Param_Exe"
"%Param_TopModule" "%Param_TopModule"
...@@ -370,21 +273,29 @@ ...@@ -370,21 +273,29 @@
"%v" "%v"
"%SourceList" "%SourceList"
"%ExtraFiles" "%ExtraFiles"
<if ErrorsOnly="true"> <if ShowNoProblem="false">
"2&gt;&amp;1" "2&gt;&amp;1"
"| tee %LogFile" </if>if>
"| grep --line-buffered -E 'error|warning'" <if SaveLogs="true">
"%GrepSkip1" "%LogFile"
<!-- "%Filter_String" --> </if>
<if ShowNoProblem="false">
<if ShowWarnings="true">
"%GrepFindErrWarn"
</if>
<if ShowWarnings="false">
"%GrepFindErr"
</if>
<if RemoveBugs="true">
"%GrepSkip1"
</if>
</if> </if>
</line> </line>
</output> </output>
</tool> </tool>
<!-- "echo %SimulationTopFile %%CurrentFile ;" --> <!-- "echo %SimulationTopFile %%CurrentFile ;" -->
<!-- <!-- "-s counter_tb" "%SourceList" -->
"-s counter_tb"
"%SourceList" -->
......
<?xml version="1.0" encoding="UTF-8"?>
<!--iverilog -Dlegacy_model -gno-specify -v -o x353mjpeg_test -sglbl -stestbench353 -y./unisims -y. x353_1.tf glbl.v-->
<vdt-project>
<interface name="IVerilogDebug"
extends="project_interface">
<!-- Syntax definitions -->
<syntax name="BoolParamSyntax" format="-%%ParamName"/>
<syntax name="InputPatternSyntax" format= "’%%ParamValue’"/>
<typedef name= "ModuleLibraryType" list="true">
<paramtype kind="string"
default=""
textkind="dir"
maxlength="256"
sensitivity="sensitive"/>
</typedef>
<syntax name = "D_ParamSyntax"
format = "-D%%ParamName"/>
<syntax name = "g_ParamSyntax"
format = "-g%%ParamName"/>
<typedef name="LegacyModelType">
<paramtype kind="bool"
formatTrue="-Dlegacy_model"
formatFalse=""/>
</typedef>
<typedef name="NoSpecifyType">
<paramtype kind="bool"
formatTrue="-gno-specify"
formatFalse=""/>
</typedef>
<syntax name = "QuotedFileListSyntax"
format = "--%%ParamName %(&quot;%%FileList&quot;%| %)"/>
<syntax name = "QuotedTopModuleSyntax"
format = "--%%ParamName=%%TopModule"/>
<syntax name = "QuotedTopModulesSyntax"
format = "--%%ParamName %(&quot;%%TopModules&quot;%| %)"/>
<syntax name = "QuotedSourceListSyntax"
format = "--%%ParamName %(&quot;%%SourceList&quot;%| %)"/>
<syntax name = "QuotedCurrentFileSyntax"
format = "--%%ParamName=&quot;%%CurrentFile&quot;"/>
<syntax name = "QuotedCurrentFileBaseSyntax"
format = "--%%ParamName=&quot;%%CurrentFileBase&quot;"/>
<syntax name = "QuotedProjectNameSyntax"
format = "--%%ParamName=&quot;%%ProjectName&quot;"/>
<!-- Actually used -->
<syntax name="JustValueSyntax" format="%%ParamValue"></syntax>
<syntax name="TopModuleSyntax" format="-s%%TopModule" />
<syntax name="TopModulesOtherSyntax" format="%(-s%%ParamValue%| %)" />
<syntax name="ModuleLibrarySyntax" format="%(-y%%ParamValue%| %)" />
<syntax name="SourceListSyntax" format="%(%%SourceList%| %)" />
<syntax name="ExtraFilesSyntax" format="%(%%ParamValue%| %)" />
<syntax name="exeFileSyntax" format="%%ParamValue" />
<syntax name="SwitchSyntax" format="-%%ParamName" />
<syntax name="DbgCurrentFileSyntax" format="echo &quot;%%CurrentFile&quot; ;" />
<syntax name="DbgChosenActionIndexSyntax" format="echo &quot;index=%%ChosenActionIndex&quot; ;" />
<syntax name="BuildStampSyntax" format="%%BuildStamp" />
<syntax name="LogFileSyntax" format="%%BuildStamp.log" />
<syntax name="GrepSkipSyntax" format="| grep --line-buffered -v &quot;%%ParamValue&quot;" />
<!-- typedef -->
<typedef name="MyTypeList" list="true">
<paramtype kind="string"
maxlength="256"
sensitivity="sensitive"/>
</typedef>
<typedef name= "ExtraFilesType" list="true">
<paramtype kind="string"
textkind="file"
maxlength="256"
sensitivity="sensitive"/>
</typedef>
<typedef name="exeType">
<paramtype kind="string"
maxlength="256"
sensitivity="sensitive"
textkind="file"/>
</typedef>
<typedef name="SwitchType">
<paramtype kind="bool"
formatTrue="-%%ParamName"
formatFalse=""/>
</typedef>
<!--
<typedef name= "StringType" list="true">
<paramtype kind="string"
textkind="text"
maxlength="256"
sensitivity="sensitive"/>
</typedef>
-->
</interface>
<!--
<project name="IVerilogProject"
label="iverilog project label"
interface="IVerilog">
</project>
-->
<project name="project_settings"
label="Project parameters for project_settings"
interface="project_interface">
<parameter id = "SimulationTopFile"
label = "Project top simulation file"
type = "FileType"
default = "default_top (testing)"
format = "ValueSyntax"
readonly= "false" />
<parameter id = "SimulationTopModule"
label = "Project top simulation module"
type = "StringType"
default = ""
format = "ValueSyntax"
readonly= "false" />
<parameter id = "BuildDir"
label = "project build directory"
type = "DirType"
default = "build"
format = "ValueSyntax"
readonly= "false" />
<input>
<group name="General" label="Project properties">
"SimulationTopFile"
"SimulationTopModule"
"BuildDir"
</group>
</input>
<output>
</output>
</project>
<tool name = "iverilog_dbg"
project = "project_settings"
label = "Icarus Verilog compiler - debug"
exe = "iverilog"
shell = "?%%OS: Windows=shell:, Linux=/bin/bash"
interface = "IVerilogDebug"
errors = "(.*):([0-9]+): [a-z_\- ]*error: (.*)"
warnings = "(.*):([0-9]+): [a-z_\- ]*warning: (.*)"
info = "(.*):([0-9]+): [a-z_\- ]*info: (.*)"> <!--does not actually exist -->
<extensions-list>
<extension mask="v"/>
<extension mask="tf"/>
</extensions-list>
<action-menu>
<action label="Simulate" resource="%SimulationTopFile" check-extension="false" check-existence="true" icon="iverilog.ico"/>
<action label="Simulate for" resource="%%SelectedFile" check-extension="true" check-existence="true"/>
<action label="Empty" resource="" icon="sample.gif"/>
<action label="Just try for" resource="%%OS" />
</action-menu>
<parameter id = "Param_Shell_Options"
label = "Param_Shell_Options"
type = "StringType"
format = "JustValueSyntax"
default = "-c"
readonly = "false"
visible = "true"/>
<!-- Intentional error: No, does not detect duplicates yet-->
<parameter id = "Param_PreExe"
label = "Param_PreExe"
type = "StringType"
format = "JustValueSyntax"
default = ""
readonly = "false"
visible = "true"/>
<parameter id = "Param_Exe"
label = "Param_Exe"
type = "exeType"
format = "exeFileSyntax"
default = "/usr/bin/iverilog"
readonly = "false"
visible = "true"/>
<parameter id = "Param_TopModule"
label = "Param_TopModule"
type = "StringType"
format = "TopModuleSyntax"
default = "%%TopModule"
readonly = "true"
visible = "true"/>
<parameter id = "TopModulesOther"
type = "StringListType"
format = "TopModulesOtherSyntax"
default = ""
omit = ""
label = "Select top modules (not referenced by other modules)"
readonly = "false"
visible = "true"/>
<parameter id = "ModuleLibrary"
type = "ModuleLibraryType"
format = "ModuleLibrarySyntax"
default = ""
label = "Select libraries to include"
omit = ""
readonly = "false"
visible = "true"/>
<parameter id = "ExtraFiles"
type = "ExtraFilesType"
format = "ExtraFilesSyntax"
default = ""
label = "Select extra files to include"
readonly = "false"
visible = "true"/>
<parameter id = "LegacyModel"
outid = "legacy_model"
type = "LegacyModelType"
format = "D_ParamSyntax"
default = "true"
label = "Use legacy model"/>
<parameter id = "NoSpecify"
outid = "no-specify"
type = "NoSpecifyType"
format = "g_ParamSyntax"
default = "true"
label = "Use no-specify"/>
<!-- -->
<parameter id = "SourceList"
type = "MyTypeList"
format = "SourceListSyntax"
default = ""
readonly = "true"
visible = "false"/>
<!-- -->
<parameter id = "v"
type = "SwitchType"
format = "SwitchSyntax"
default = "true"
label = "Verbose"/>
<parameter id = "Param_SourceList"
label = "Param_SourceList"
type = "MyTypeList"
format = "SourceListSyntax"
default = ""
readonly = "true"
visible = "true"/>
<parameter id = "ErrorsOnly"
type = "LegacyModelType"
format = "D_ParamSyntax"
default = "false"
label = "Only errors/warning to console"/>
<parameter id = "Filter_String"
label = "Filter_String"
type = "StringType"
format = "JustValueSyntax"
default = "2&gt;&amp;1 | tee %LogFile | grep --line-buffered -E 'error|warning' | grep --line-buffered -v &quot;(null):0&quot;"
readonly = "false"
visible = "true"/>
<parameter id = "DbgCurrentFile"
label = "DbgCurrentFile"
type = "StringType"
format = "DbgCurrentFileSyntax"
default = ""
readonly = "false"
visible = "true"/>
<parameter id = "ChosenActionIndex"
label = "ChosenActionIndex"
type = "StringType"
format = "DbgChosenActionIndexSyntax"
default = ""
readonly = "false"
visible = "true"/>
<parameter id = "GrepSkip1"
label = "GrepSkip"
type = "StringType"
format = "GrepSkipSyntax"
default = "(null)"
readonly = "false"
visible = "true"/>
<!-- intentional error below - duplicate -->
<parameter id = "LogFile"
label = "Simulator Log Filie"
type = "StringType"
default = "logfile.log"
format = "LogFileSyntax"
readonly= "false" />
<input>
<group name="files" label="Files">
<!-- "SimulationTopFile" -->
"Param_PreExe"
"Param_Exe"
"Param_Shell_Options"
"Param_TopModule"
"TopModulesOther"
"ModuleLibrary"
"ExtraFiles"
</group>
<group name="options" label="Options">
"ErrorsOnly"
"Filter_String"
"GrepSkip1"
"v"
"LegacyModel"
"NoSpecify"
<!-- "SourceList" -->
</group>
</input>
<output>
<line name="command_line" sep=" ">
"%Param_Shell_Options"
"%DbgCurrentFile"
"%ChosenActionIndex"
"echo BuildDir=%BuildDir ;"
"echo CurrentFile=%%CurrentFile ;"
"echo SimulationTopFile=%SimulationTopFile ;"
"echo SimulationTopModule=%SimulationTopModule ;"
"echo LogFile=%LogFile ;"
"%Param_PreExe"
"%Param_Exe"
"%Param_TopModule"
"%TopModulesOther"
"%ModuleLibrary"
"%LegacyModel"
"%NoSpecify"
"%v"
"%SourceList"
"%ExtraFiles"
<if ErrorsOnly="true">
"2&gt;&amp;1"
"| tee %LogFile"
"| grep --line-buffered -E 'error|warning'"
"%GrepSkip1"
<!-- "%Filter_String" -->
</if>
</line>
</output>
</tool>
</vdt-project>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment