Commit 0c056d60 authored by Andrey Filippov's avatar Andrey Filippov

added action icons for iverilog, using simulate directory for generated

files
parent d2d7c636
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?> <?eclipse version="3.0"?>
<plugin> <plugin>
<extension point="org.eclipse.ui.editors">
<editor
id="net.sourceforge.GTKWave"
name="GTKWave Waveform Viewer"
extensions="sav,lxt"
command="gtkwave"
icon="gtkwave.ico"
default="false">
</editor>
</extension>
<extension <extension
point="org.eclipse.ui.editors"> point="org.eclipse.ui.editors">
<editor <editor
...@@ -25,6 +37,8 @@ ...@@ -25,6 +37,8 @@
</editor> </editor>
</extension> </extension>
<extension <extension
point="org.eclipse.ui.editors"> point="org.eclipse.ui.editors">
<editor <editor
......
...@@ -26,23 +26,50 @@ ...@@ -26,23 +26,50 @@
<paramtype kind="number" lo="0" hi="2147483647" format="%d" /> <paramtype kind="number" lo="0" hi="2147483647" format="%d" />
</typedef> </typedef>
<!-- All below changed case sensitivity (was "insensitive" ) -->
<typedef name="String"> <typedef name="String">
<paramtype kind="string" sensitivity="insensitive" textkind="text" /> <paramtype kind="string" sensitivity="sensitive" textkind="text" />
</typedef>
<typedef name="Stringlist" list="true">
<paramtype kind="string" sensitivity="sensitive" textkind="text" />
</typedef> </typedef>
<typedef name="Filename"> <typedef name="Filename">
<paramtype kind="string" sensitivity="insensitive" textkind="file" /> <paramtype kind="string" sensitivity="sensitive" textkind="file" />
</typedef> </typedef>
<typedef name="Filelist" list="true"> <typedef name="Filelist" list="true">
<paramtype kind="string" sensitivity="insensitive" textkind="file" /> <paramtype kind="string" sensitivity="sensitive" textkind="file" />
</typedef> </typedef>
<typedef name="Pathname"> <typedef name="Pathname">
<paramtype kind="string" sensitivity="insensitive" textkind="dir" /> <paramtype kind="string" sensitivity="sensitive" textkind="dir" />
</typedef> </typedef>
<typedef name="Pathlist" list="true"> <typedef name="Pathlist" list="true">
<paramtype kind="string" sensitivity="sensitive" textkind="dir" />
</typedef>
<!-- Case-insensitive variants -->
<typedef name="StringInsensitive">
<paramtype kind="string" sensitivity="insensitive" textkind="text" />
</typedef>
<typedef name="FilenameInsensitive">
<paramtype kind="string" sensitivity="insensitive" textkind="file" />
</typedef>
<typedef name="FilelistInsensitive" list="true">
<paramtype kind="string" sensitivity="insensitive" textkind="file" />
</typedef>
<typedef name="PathnameInsensitive">
<paramtype kind="string" sensitivity="insensitive" textkind="dir" />
</typedef>
<typedef name="PathlistInsensitive" list="true">
<paramtype kind="string" sensitivity="insensitive" textkind="dir" /> <paramtype kind="string" sensitivity="insensitive" textkind="dir" />
</typedef> </typedef>
......
...@@ -2,67 +2,35 @@ ...@@ -2,67 +2,35 @@
<vdt-project> <vdt-project>
<interface name = "project_interface"> <interface name = "project_interface">
<typedef name="StringType"> <!-- All renamed to match Basicinterface.xml
<typedef name="String">
<paramtype kind="string" <paramtype kind="string"
maxlength="256" maxlength="256"
sensitivity="sensitive"/> sensitivity="sensitive"/>
</typedef> </typedef>
<typedef name="StringListType" list="true"> <typedef name="Stringlist" list="true">
<paramtype kind="string" <paramtype kind="string"
maxlength="256" maxlength="256"
sensitivity="sensitive"/> sensitivity="sensitive"/>
</typedef> </typedef>
<typedef name="DirType"> <typedef name="Pathname">
<paramtype kind="string" <paramtype kind="string"
maxlength="256" maxlength="256"
sensitivity="sensitive" sensitivity="sensitive"
textkind="dir"/> textkind="dir"/>
</typedef> </typedef>
<typedef name="FileType">
<typedef name="Filename">
<paramtype kind="string" <paramtype kind="string"
maxlength="256" maxlength="256"
sensitivity="sensitive" sensitivity="sensitive"
textkind="file"/> textkind="file"/>
</typedef> </typedef>
<syntax name="ValueSyntax" format="%%ParamValue" /> <syntax name="CopyValue" format="%%ParamValue" />
-->
</interface> </interface>
<!--
<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>
-->
</vdt-project> </vdt-project>
...@@ -146,7 +146,7 @@ ...@@ -146,7 +146,7 @@
format = '--%%ParamName="%%ProjectPath"'/> format = '--%%ParamName="%%ProjectPath"'/>
<syntax name = "JustValueSyntax" <syntax name = "JustCopyValue"
format = "%%ParamValue"></syntax> format = "%%ParamValue"></syntax>
</interface> </interface>
...@@ -165,7 +165,7 @@ ...@@ -165,7 +165,7 @@
--> -->
<!-- exe = "?%%OS: Windows=mytest.bat, Linux=mytest.sh" --> <!-- exe = "?%%OS: Windows=mytest.bat, Linux=mytest.sh" -->
<tool name = "MyTool" <tool name = "MyTool"
project = "project_settings" project = "FPGA_project"
label = "My Tool" label = "My Tool"
shell = "?%%OS: Windows=, Linux=/bin/bash" shell = "?%%OS: Windows=, Linux=/bin/bash"
interface = "MyControlInterface" interface = "MyControlInterface"
...@@ -182,7 +182,7 @@ ...@@ -182,7 +182,7 @@
<parameter id = "Param_Shell_Options" <parameter id = "Param_Shell_Options"
label = "Param_Shell_Options" label = "Param_Shell_Options"
type = "MyString" type = "MyString"
format = "JustValueSyntax" format = "JustCopyValue"
default = "-c" default = "-c"
readonly = "false" readonly = "false"
visible = "true"/> visible = "true"/>
...@@ -274,7 +274,7 @@ ...@@ -274,7 +274,7 @@
<parameter id = "Param_parser" <parameter id = "Param_parser"
type = "MyType1" type = "MyType1"
format = "JustValueSyntax" format = "JustCopyValue"
default = "| python -u /data/vdt/workspace_01/veditor/parsers/parser01.py; ls -all" default = "| python -u /data/vdt/workspace_01/veditor/parsers/parser01.py; ls -all"
readonly = "false" readonly = "false"
visible = "true" visible = "true"
......
<?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 -->
<vdt-project> <vdt-project>
<interface name="IVerilog" extends="project_interface"> <interface name="IVerilog" extends="project_interface">
<!-- Syntax definitions --> <!-- 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="D_ParamSyntax" format="-D%%ParamName" />
<syntax name="g_ParamSyntax" format="-g%%ParamName" /> <syntax name="g_ParamSyntax" format="-g%%ParamName" />
<syntax name="NospecifySyntax" format="-gno-specify" />
<typedef name="LegacyModelType">
<paramtype kind="bool" formatTrue="-Dlegacy_model"
formatFalse="" />
</typedef>
<typedef name="NoSpecifyType">
<paramtype kind="bool" formatTrue="-gno-specify"
formatFalse="" />
</typedef>
<!-- Actually used -->
<syntax name="JustValueSyntax" format="%%ParamValue"></syntax>
<syntax name="TopModuleSyntax" format="-s%%TopModule" /> <syntax name="TopModuleSyntax" format="-s%%TopModule" />
<syntax name="TopModulesOtherSyntax" format="%(-s%%ParamValue%| %)" /> <syntax name="TopModulesOtherSyntax" format="%(-s%%ParamValue%| %)" />
<syntax name="ModuleLibrarySyntax" format="%(-y%%ParamValue%| %)" /> <syntax name="ModuleLibrarySyntax" format="%(-y%%ParamValue%| %)" />
<syntax name="SourceListSyntax" format="%(%%SourceList%| %)" /> <syntax name="SourceListSyntax" format="%(%%SourceList%| %)" />
<syntax name="ExtraFilesSyntax" format="%(%%ParamValue%| %)" /> <syntax name="ExtraFilesSyntax" format="%(%%ParamValue%| %)" />
<syntax name="exeFileSyntax" format="%%ParamValue" />
<syntax name="SwitchSyntax" format="-%%ParamName" /> <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="GrepFindSyntax" <syntax name="GrepFindSyntax"
format="| { grep --line-buffered -E &quot;%%ParamValue&quot; || true; }" /> format="| { grep --line-buffered -E &quot;%%ParamValue&quot; || true; }" />
<syntax name="GrepSkipSyntax" <syntax name="GrepSkipSyntax"
format="| { grep --line-buffered -v &quot;%%ParamValue&quot; || true; }" /> format="| { grep --line-buffered -v &quot;%%ParamValue&quot; || true; }" />
<syntax name="LogFileSyntax" format="%%ParamValue-%%BuildStamp.log" />
<syntax name="OutputFileSyntax" format="%%ParamValue-%%BuildStamp.ivlg" />
<!-- <syntax name="LogFileSyntax" format="%BuildDirSlash%%ParamValue-%%BuildStamp.log" />
<syntax name="OutFileSyntax" format="%BuildDirSlash%%ParamValue-%%BuildStamp.ivlg" />
<syntax name="LxtFileSyntax" format="%BuildDirSlash%%ParamValue-%%BuildStamp.lxt" />
-->
<syntax name="LogFileSyntax" format="%%ParamValue-%%BuildStamp.log" />
<syntax name="OutFileSyntax" format="%%ParamValue-%%BuildStamp.ivlg" />
<syntax name="LxtFileSyntax" format="%%ParamValue-%%BuildStamp.lxt" /> <syntax name="LxtFileSyntax" format="%%ParamValue-%%BuildStamp.lxt" />
<!--
<syntax name="LogFileLatestSyntax"
format="ln -sf %BuildDirSlash%%ParamValue-%%BuildStamp.log %BuildDirSlash%%ParamValue-latest.log;" />
<syntax name="OutputFileLatestSyntax"
format="ln -sf %BuildDirSlash%%ParamValue-%%BuildStamp.ivlg %BuildDirSlash%%ParamValue-latest.ivlg;" />
<syntax name="LxtFileLatestSyntax"
format="ln -sf %BuildDirSlash%%ParamValue-%%BuildStamp.lxt %BuildDirSlash%%ParamValue-latest.lxt;" />
-->
<syntax name="LogFileLatestSyntax"
format="ln -sf %%ParamValue-%%BuildStamp.log %BuildDir/%%ParamValue-latest.log;" />
<syntax name="OutputFileLatestSyntax"
format="ln -sf %%ParamValue-%%BuildStamp.ivlg %BuildDir/%%ParamValue-latest.ivlg;" />
<syntax name="LxtFileLatestSyntax"
format="ln -sf %%ParamValue-%%BuildStamp.lxt %BuildDir/%%ParamValue-latest.lxt;" />
<!-- include file has target, not link value -->
<syntax name="LxtParamFileSyntax" <syntax name="LxtParamFileSyntax"
format="parameter lxtname=&quot;%%ParamValue-%%BuildStamp.lxt&quot;;" /> format="parameter lxtname=&quot;%%ParamValue-%%BuildStamp.lxt&quot;;" />
<!-- <syntax name="LxtParamFileSyntax" format="parameter lxtname=%%ParamValue;"
/> -->
<syntax name="IncludeParamSyntax" format="%(%%ParamValue%|\n%)" /> <syntax name="IncludeParamSyntax" format="%(%%ParamValue%|\n%)" />
<!-- typedef --> <!-- Types definitions -->
<typedef name="ExtraFilesType" list="true">
<paramtype kind="string" textkind="file" maxlength="256"
sensitivity="sensitive" />
</typedef>
<typedef name="exeType"> <typedef name="ModuleLibraryType" list="true">
<paramtype kind="string" maxlength="256" sensitivity="sensitive" <paramtype kind="string" default="" textkind="dir"
textkind="file" /> maxlength="256" sensitivity="sensitive" />
</typedef> </typedef>
<typedef name="SwitchType"> <typedef name="SwitchType">
<paramtype kind="bool" formatTrue="-%%ParamName" <paramtype kind="bool" formatTrue="-%%ParamName"
formatFalse="" /> formatFalse="" />
</typedef> </typedef>
<!-- <typedef name= "StringType" list="true"> <paramtype kind="string" <typedef name="D_ParamType">
textkind="text" maxlength="256" sensitivity="sensitive"/> </typedef> --> <paramtype kind="bool" formatTrue="-D%%ParamName"
formatFalse="" />
</typedef>
<typedef name="g_ParamType">
<paramtype kind="bool" formatTrue="-g%%ParamName"
formatFalse="" />
</typedef>
</interface> </interface>
<!-- <project name="IVerilogProject" label="iverilog project label" interface="IVerilog">
</project> -->
<project name="project_settings" label="Project parameters for project_settings"
interface="project_interface">
<project name="FPGA_project" label="Project parameters for FPGA_project"
interface="project_interface">
<parameter id="SimulationTopFile" label="Project top simulation file" <parameter id="SimulationTopFile" label="Project top simulation file"
type="FileType" default="default_top (testing)" format="ValueSyntax" type="Filename" default="default_top (testing)" format="CopyValue"
readonly="false" /> readonly="false" />
<parameter id="SimulationTopModule" label="Project top simulation module" <parameter id="SimulationTopModule" label="Project top simulation module"
type="StringType" default="" format="ValueSyntax" readonly="false" /> type="String" default="" format="CopyValue" readonly="false" />
<parameter id="BuildDir" label="project build directory" <parameter id="BuildDir" label="project build directory"
type="DirType" default="build" format="ValueSyntax" readonly="false" /> type="Pathname" default="simulation" format="CopyValue" readonly="false" />
<!-- Invisible (calculated) project-wide parameters -->
<parameter id="BuildDirSlash" type="Pathname" visible="false"
default="?%BuildDir=:,%BuildDir/" format="CopyValue"/>
<input> <input>
<group name="General" label="Project properties"> <group name="General" label="Project properties">
...@@ -108,11 +95,11 @@ ...@@ -108,11 +95,11 @@
<tool name="iverilog" project="project_settings" label="Icarus Verilog compiler" <tool name="iverilog" project="FPGA_project" label="Icarus Verilog compiler"
exe="iverilog" shell="?%%OS: Windows=shell:, Linux=/bin/bash" exe="iverilog" shell="?%%OS: Windows=shell:, Linux=/bin/bash"
interface="IVerilog" errors="(.*):([0-9]+): [a-z_\- ]*error: (.*)" interface="IVerilog" errors="(.*):([0-9]+): [a-z_\- ]*error: (.*)"
warnings="(.*):([0-9]+): [a-z_\- ]*warning: (.*)" info="(.*):([0-9]+): [a-z_\- ]*info: (.*)"> <!--does not actually exist --> warnings="(.*):([0-9]+): [a-z_\- ]*warning: (.*)" info="(.*):([0-9]+): [a-z_\- ]*info: (.*)"> <!--do not actually exist -->
<extensions-list> <extensions-list>
<extension mask="v" /> <extension mask="v" />
...@@ -120,34 +107,32 @@ ...@@ -120,34 +107,32 @@
</extensions-list> </extensions-list>
<action-menu> <action-menu>
<action label="Simulate" resource="%SimulationTopFile" <action label="Simulate project " resource="%SimulationTopFile"
check-extension="false" check-existence="true" icon="iverilog.ico" /> check-extension="false" check-existence="true" icon="iverilog.ico" />
<action label="Simulate for" resource="%%SelectedFile" <action label="Simulate selected" resource="%%SelectedFile"
check-extension="true" check-existence="true" /> check-extension="true" check-existence="true" icon="iverilog_pointer.png" />
<action label="Verify" resource="%%SelectedFile" <action label="Verify" resource="%%SelectedFile"
check-extension="true" check-existence="true" icon="newmod_wiz.gif" /> check-extension="true" check-existence="true" icon="iverilog_check.png" />
<action label="Empty" resource="" icon="sample.gif" /> <!-- <action label="Empty" resource="" icon="sample.gif" />
<action label="Just try for" resource="%%OS" /> <action label="Just try for" resource="%%OS" /> -->
</action-menu> </action-menu>
<parameter id="Param_Shell_Options" label="Param_Shell_Options" <parameter id="Param_Shell_Options" label="Param_Shell_Options"
type="StringType" format="JustValueSyntax" default="-c" readonly="false" type="String" format="CopyValue" default="-c" readonly="false"
visible="true" /> visible="true" />
<!-- Intentional error: No, does not detect duplicates yet -->
<parameter id="Param_PreExe" label="Param_PreExe" type="StringType" <parameter id="Param_PreExe" label="Param_PreExe" type="String"
format="JustValueSyntax" default="" readonly="false" visible="true" /> format="CopyValue" default="" readonly="false" visible="true" />
<parameter id="Param_Exe" label="Param_Exe" type="exeType" <parameter id="Param_Exe" label="Param_Exe" type="Filename"
format="exeFileSyntax" default="/usr/bin/iverilog" readonly="false" format="CopyValue" default="/usr/bin/iverilog" readonly="false"
visible="true" /> visible="true" />
<parameter id="Param_TopModule" label="Top module extracted from the chosen target file" <parameter id="Param_TopModule" label="Top module extracted from the chosen target file"
type="StringType" format="TopModuleSyntax" default="%%TopModule" type="String" format="TopModuleSyntax" default="%%TopModule"
readonly="true" visible="true" /> readonly="true" visible="true" />
<parameter id="TopModulesOther" type="StringListType" <parameter id="TopModulesOther" type="Stringlist"
format="TopModulesOtherSyntax" default="" omit="" format="TopModulesOtherSyntax" default="" omit=""
label="Select top modules not referenced by the chosen target" label="Select top modules not referenced by the chosen target"
readonly="false" visible="true" /> readonly="false" visible="true" />
...@@ -157,31 +142,26 @@ ...@@ -157,31 +142,26 @@
omit="" readonly="false" visible="true" /> omit="" readonly="false" visible="true" />
<parameter id="ExtraFiles" type="ExtraFilesType" format="ExtraFilesSyntax" <parameter id="ExtraFiles" type="Filelist" format="ExtraFilesSyntax"
default="" label="Select additional files to include" readonly="false" default="" label="Select additional files to include" readonly="false"
visible="true" /> visible="true" />
<parameter id="LegacyModel" outid="legacy_model" type="LegacyModelType" <parameter id="legacy_model" outid="legacy_model" type="D_ParamType"
format="D_ParamSyntax" default="true" label="Use legacy model" /> format="D_ParamSyntax" default="true" label="Use legacy model" />
<parameter id="NoSpecify" outid="no-specify" type="NoSpecifyType" <parameter id="no_specify" outid="no-specify" type="g_ParamType"
format="g_ParamSyntax" default="true" label="Use no-specify" /> format="NospecifySyntax" default="true" label="Use no-specify" />
<!-- -->
<!-- --> <!-- -->
<parameter id="v" type="SwitchType" format="SwitchSyntax" <parameter id="v" type="SwitchType" format="SwitchSyntax"
default="true" label="Verbose" /> default="true" label="Verbose" />
<parameter id="Param_SourceList" label="Param_SourceList" <parameter id="Param_SourceList" label="Param_SourceList"
type="StringListType" format="SourceListSyntax" default="" readonly="true" type="Stringlist" format="SourceListSyntax" default="" readonly="true"
visible="true" /> 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="ShowNoProblem" type="BoolYesNo" format="None" <parameter id="ShowNoProblem" type="BoolYesNo" format="None"
default="false" label="Show output with no errors/warnings" /> default="false" label="Show output with no errors/warnings" />
...@@ -205,64 +185,99 @@ ...@@ -205,64 +185,99 @@
<parameter id="LogFile" label="Simulator log file prefix" <parameter id="LogFile" label="Simulator log file prefix"
type="StringType" default="%%CurrentFileBase" format="LogFileSyntax" type="String" default="%%CurrentFileBase" format="LogFileSyntax"
readonly="false" /> readonly="false" />
<parameter id="OutFile" label="Simulator intermediate file prefix" <parameter id="OutFile" label="Simulator intermediate file prefix"
type="StringType" default="%%CurrentFileBase" format="OutputFileSyntax" type="String" default="%%CurrentFileBase" format="OutFileSyntax"
readonly="false" /> readonly="false" />
<parameter id="LxtDumpFile" label="Simulator LXT dump file prefix" <parameter id="LxtDumpFile" label="Simulator LXT dump file prefix"
type="StringType" default="%%CurrentFileBase" format="LxtFileSyntax" type="String" default="%%CurrentFileBase" format="LxtFileSyntax"
readonly="false" /> readonly="false" />
<parameter id="GTKWaveSavFile" label="GTKWave sav file" <parameter id="GTKWaveSavFile" label="GTKWave sav file"
type="FileType" default="%%CurrentFileBase.sav" format="ValueSyntax" type="Filename" default="%%CurrentFileBase.sav" format="CopyValue"
omit="" readonly="false" /> omit="" readonly="false" />
<parameter id="GrepFindErr" label="Grep pattern for errors only" <parameter id="GrepFindErr" label="Grep pattern for errors only"
type="StringType" format="GrepFindSyntax" default="error" readonly="false" type="String" format="GrepFindSyntax" default="error" readonly="false"
visible="true" /> visible="true" />
<parameter id="GrepFindErrWarn" label="Grep pattern for both errors and warnings" <parameter id="GrepFindErrWarn" label="Grep pattern for both errors and warnings"
type="StringType" format="GrepFindSyntax" default="error|warning" type="String" format="GrepFindSyntax" default="error|warning"
readonly="false" visible="true" /> readonly="false" visible="true" />
<parameter id="GrepSkip1" label="Grep skip pattern" type="StringType" <parameter id="GrepSkip1" label="Grep skip pattern" type="String"
format="GrepSkipSyntax" default="(null)" readonly="false" visible="true" /> format="GrepSkipSyntax" default="(null)" readonly="false" visible="true" />
<parameter id="Param_1" label="Param_1" type="StringType"
format="JustValueSyntax" default="" omit="" readonly="false" visible="true" />
<parameter id="Param_2" label="Param_2" type="StringType"
format="JustValueSyntax" default="" omit="" readonly="false" visible="true" />
<parameter id="Param_3" label="Param_3" type="StringType"
format="JustValueSyntax" default="" omit="" readonly="false" visible="true" />
<parameter id="Param_4" label="Param_4" type="StringType"
format="JustValueSyntax" default="" omit="" readonly="false" visible="true" />
<parameter id="IVerilogOther" label="Other IVerilog options" <parameter id="IVerilogOther" label="Other IVerilog options"
type="StringType" format="JustValueSyntax" default="" omit="" type="String" format="CopyValue" default="" omit=""
readonly="false" visible="true" /> readonly="false" visible="true" />
<parameter id="IncludeParametersList" type="StringListType" <parameter id="IncludeParametersList" type="Stringlist"
format="IncludeParamSyntax" default="" omit="" format="IncludeParamSyntax" default="" omit=""
label="Verilog parameters definition to be included in the test fixture" label="Verilog parameters definition to be included in the test fixture"
readonly="false" visible="true" /> readonly="false" visible="true" />
<!-- Invisible parameters -->
<parameter id="IVerilogActionIndex" type="StringType"
format="JustValueSyntax" visible="false" default="%%ChosenActionIndex" />
<parameter id="SourceList" type="StringListType" format="SourceListSyntax" <!-- Temporary inserted into the command line, will be removed -->
default="" readonly="true" visible="false" />
<parameter id="Param_1" label="Param_1" type="String"
format="CopyValue" default="" omit="" readonly="false" visible="true" />
<parameter id="Param_2" label="Param_2" type="String"
format="CopyValue" default="" omit="" readonly="false" visible="true" />
<parameter id="Param_3" label="Param_3" type="String"
format="CopyValue" default="" omit="" readonly="false" visible="true" />
<parameter id="Param_4" label="Param_4" type="String"
format="CopyValue" default="" omit="" readonly="false" visible="true" />
<!-- Invisible parameters, just pass calculated default values -->
<parameter id="IVerilogActionIndex" default="%%ChosenActionIndex"
type="String" format="CopyValue" visible="false" />
<parameter id="SourceList" format="SourceListSyntax"
type="Stringlist" default="" readonly="true" visible="false" />
<parameter id="iverilog_include_file" default="IVERILOG_INCLUDE.v"
type="Filename" format="CopyValue" visible="false" />
<parameter id="LxtDumpFileParameter" default="%LxtDumpFileFull"
type="String" format="LxtParamFileSyntax" visible="false" />
<parameter id="LogFileLatest" default="%LogFile"
type="String" format="LogFileLatestSyntax" visible="false" />
<parameter id="OutFileLatest" type="String" default="%OutFile"
format="OutputFileLatestSyntax" visible="false" />
<parameter id="LxtDumpFileLatest" default="%LxtDumpFile"
type="String" format="LxtFileLatestSyntax" visible="false" />
<!--
<parameter id="LogFileFull" default="%BuildDirSlash%LogFile"
visible="false" type="String" format="CopyValue"/>
<parameter id="OutFileFull" default="%BuildDirSlash%OutFile"
visible="false" type="String" format="CopyValue"/>
<parameter id="LxtDumpFileFull" default="%BuildDirSlash%LxtDumpFile"
visible="false" type="String" format="CopyValue"/>
-->
<parameter id="LogFileFull" default="%BuildDir/%LogFile"
visible="false" type="String" format="LogFileSyntax"/>
<parameter id="OutFileFull" default="%BuildDir/%OutFile"
visible="false" type="String" format="OutFileSyntax"/>
<parameter id="LxtDumpFileFull" default="%BuildDir/%LxtDumpFile"
visible="false" type="String" format="LxtFileSyntax"/>
<parameter id="iverilog_include_file" type="FileType"
default="IVERILOG_INCLUDE.v" format="JustValueSyntax" visible="false" />
<parameter id="LxtDumpFileParameter" type="StringType"
default="%LxtDumpFile" format="LxtParamFileSyntax" visible="false" />
<input> <input>
<group name="files" label="Files"> <group name="files" label="Files">
...@@ -282,8 +297,8 @@ ...@@ -282,8 +297,8 @@
"SaveLogsPreprocessor" "SaveLogsPreprocessor"
"SaveLogsSimulator" "SaveLogsSimulator"
"v" "v"
"LegacyModel" "legacy_model"
"NoSpecify" "no_specify"
</group> </group>
<group name="Advanced" label="Advanced"> <group name="Advanced" label="Advanced">
"Param_PreExe" "Param_PreExe"
...@@ -303,9 +318,23 @@ ...@@ -303,9 +318,23 @@
</group> </group>
</input> </input>
<output> <output>
<!-- TODO: watch for new lines inserted inside quoted tokens during autoformat - they break output
Maybe add filter to the code to transform white spaces -->
<line name="command_line" sep=" "> <line name="command_line" sep=" ">
"%Param_Shell_Options" "%Param_Shell_Options"
"%Param_PreExe" "%Param_PreExe"
<!-- MKDIR - ALWAYS -->
"mkdir -p"
"%BuildDir"
";"
<if SaveLogsPreprocessor="true"
SaveLogsSimulator="true">
"touch"
"%LogFileFull"
";"
"%LogFileLatest"
</if>
"trap 'killall iverilog; ' EXIT;" "trap 'killall iverilog; ' EXIT;"
"echo 'current PID='$$;" "echo 'current PID='$$;"
"%Param_Exe" "%Param_Exe"
...@@ -314,15 +343,15 @@ ...@@ -314,15 +343,15 @@
"/dev/null" "/dev/null"
</if> </if>
<if-not IVerilogActionIndex="2"> <if-not IVerilogActionIndex="2">
"%OutFile" "%OutFileFull"
</if-not> </if-not>
" -D IVERILOG" " -D IVERILOG"
"%IVerilogOther" "%IVerilogOther"
"%Param_TopModule" "%Param_TopModule"
"%TopModulesOther" "%TopModulesOther"
"%ModuleLibrary" "%ModuleLibrary"
"%LegacyModel" "%legacy_model"
"%NoSpecify" "%no_specify"
"%v" "%v"
"%SourceList" "%SourceList"
"%ExtraFiles" "%ExtraFiles"
...@@ -330,8 +359,8 @@ ...@@ -330,8 +359,8 @@
"2&gt;&amp;1" "2&gt;&amp;1"
</if> </if>
<if SaveLogsPreprocessor="true"> <if SaveLogsPreprocessor="true">
"| tee" "| tee -a"
"%LogFile" "%LogFileFull"
</if> </if>
<if ShowNoProblem="false"> <if ShowNoProblem="false">
<if ShowWarnings="true"> <if ShowWarnings="true">
...@@ -347,35 +376,29 @@ ...@@ -347,35 +376,29 @@
"|| { echo '*** iverilog failed ***'; exit 1; } ;" "|| { echo '*** iverilog failed ***'; exit 1; } ;"
"trap '' EXIT;" "trap '' EXIT;"
<if-not IVerilogActionIndex="2"> <if-not IVerilogActionIndex="2">
"%OutFileLatest"
<!-- "time vvp -v" --> <!-- "time vvp -v" -->
"%Param_1" "%Param_1"
"trap 'killall vvp; ' EXIT;" "trap 'killall vvp; ' EXIT;"
"vvp -v" "vvp -v"
"%Param_2" "%Param_2"
"%OutFile" "%OutFileFull"
"-lxt2 " "-lxt2 "
<if SaveLogsSimulator="true"> <if SaveLogsSimulator="true">
<if SaveLogsPreprocessor="true">
"| tee -a" "| tee -a"
"%LogFile" "%LogFileFull"
</if>
<if-not SaveLogsPreprocessor="true">
"| tee"
"%LogFile"
</if-not>
</if> </if>
"|| { echo '*** vvp failed ***'; exit 1; } ;" "|| { echo '*** vvp failed ***'; exit 1; } ;"
"trap '' EXIT;" <!-- no "%LxtDumpFileLatest"
trap for GTKWave --> <!-- no trap for GTKWave -->
"trap '' EXIT;"
<!-- "%Param_2" --> <!-- "%Param_2" -->
"%Param_3" "%Param_3"
<if ShowWaves="true"> <if ShowWaves="true">
"gtkwave" "gtkwave"
"%LxtDumpFile" "%LxtDumpFileFull"
"%GTKWaveSavFile" "%GTKWaveSavFile"
"&amp;" "&amp; "
</if> </if>
"%Param_4" "%Param_4"
</if-not> </if-not>
...@@ -389,13 +412,5 @@ ...@@ -389,13 +412,5 @@
</tool> </tool>
<!-- "echo %SimulationTopFile %%CurrentFile ;" -->
<!-- "-s counter_tb" "%SourceList" -->
<!-- <parameter id = "xc_config_file" type = "Filename" default = "xc.cfg"
format = "Option" visible = "false" /> || { echo "iverilog failed"; exit
1; } ; time vvp -v x353mjpeg_test -lxt2 || { echo "vvp failed"; exit 1; }
; || { echo "iverilog failed"; exit 1; } time vvp -v x353mjpeg_test -lxt2
|| { echo "vvp failed"; exit 1; } gtkwave x353.lxt x353_1.sav & exit 0 -->
</vdt-project> </vdt-project>
<?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-->
<vdt-project> <vdt-project>
<interface name="IVerilogDebug" <interface name="IVerilogDebug" extends="project_interface">
extends="project_interface">
<!-- Syntax definitions --> <!-- 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;"/>
<syntax name="D_ParamSyntax" format="-D%%ParamName" />
<syntax name="g_ParamSyntax" format="-g%%ParamName" />
<!-- Actually used --> <syntax name="NospecifySyntax" format="-gno-specify" />
<syntax name="JustValueSyntax" format="%%ParamValue"></syntax>
<syntax name="TopModuleSyntax" format="-s%%TopModule" /> <syntax name="TopModuleSyntax" format="-s%%TopModule" />
<syntax name="TopModulesOtherSyntax" format="%(-s%%ParamValue%| %)" /> <syntax name="TopModulesOtherSyntax" format="%(-s%%ParamValue%| %)" />
<syntax name="ModuleLibrarySyntax" format="%(-y%%ParamValue%| %)" /> <syntax name="ModuleLibrarySyntax" format="%(-y%%ParamValue%| %)" />
<syntax name="SourceListSyntax" format="%(%%SourceList%| %)" /> <syntax name="SourceListSyntax" format="%(%%SourceList%| %)" />
<syntax name="ExtraFilesSyntax" format="%(%%ParamValue%| %)" /> <syntax name="ExtraFilesSyntax" format="%(%%ParamValue%| %)" />
<syntax name="exeFileSyntax" format="%%ParamValue" />
<syntax name="SwitchSyntax" format="-%%ParamName" /> <syntax name="SwitchSyntax" format="-%%ParamName" />
<syntax name="GrepFindSyntax"
<syntax name="DbgCurrentFileSyntax" format="echo &quot;%%CurrentFile&quot; ;" /> format="| { grep --line-buffered -E &quot;%%ParamValue&quot; || true; }" />
<syntax name="DbgChosenActionIndexSyntax" format="echo &quot;index=%%ChosenActionIndex&quot; ;" /> <syntax name="GrepSkipSyntax"
<syntax name="BuildStampSyntax" format="%%BuildStamp" /> format="| { grep --line-buffered -v &quot;%%ParamValue&quot; || true; }" />
<syntax name="LogFileSyntax" format="%%BuildStamp.log" /> <syntax name="LogFileSyntax" format="%%ParamValue-%%BuildStamp.log" />
<syntax name="GrepSkipSyntax" format="| grep --line-buffered -v &quot;%%ParamValue&quot;" /> <syntax name="OutputFileSyntax" format="%%ParamValue-%%BuildStamp.ivlg" />
<syntax name="LxtFileSyntax" format="%%ParamValue-%%BuildStamp.lxt" />
<!-- typedef -->
<syntax name="LogFileLatestSyntax" format="ln -sf %%ParamValue-%%BuildStamp.log %%ParamValue-latest.log;" />
<typedef name="MyTypeList" list="true"> <syntax name="OutputFileLatestSyntax" format="ln -sf %%ParamValue-%%BuildStamp.ivlg %%ParamValue-latest.ivlg;" />
<paramtype kind="string" <syntax name="LxtFileLatestSyntax" format="ln -sf %%ParamValue-%%BuildStamp.lxt %%ParamValue-latest.lxt;" />
maxlength="256"
sensitivity="sensitive"/> <syntax name="LxtParamFileSyntax"
</typedef> format="parameter lxtname=&quot;%%ParamValue-%%BuildStamp.lxt&quot;;" />
<syntax name="IncludeParamSyntax" format="%(%%ParamValue%|\n%)" />
<typedef name= "ExtraFilesType" list="true"> <!-- Types definitions -->
<paramtype kind="string"
textkind="file" <typedef name="ModuleLibraryType" list="true">
maxlength="256" <paramtype kind="string" default="" textkind="dir"
sensitivity="sensitive"/> maxlength="256" sensitivity="sensitive" />
</typedef>
<typedef name="exeType">
<paramtype kind="string"
maxlength="256"
sensitivity="sensitive"
textkind="file"/>
</typedef> </typedef>
<typedef name="SwitchType"> <typedef name="SwitchType">
<paramtype kind="bool" <paramtype kind="bool" formatTrue="-%%ParamName"
formatTrue="-%%ParamName" formatFalse="" />
formatFalse=""/>
</typedef> </typedef>
<!-- <typedef name="D_ParamType">
<typedef name= "StringType" list="true"> <paramtype kind="bool" formatTrue="-D%%ParamName"
<paramtype kind="string" formatFalse="" />
textkind="text" </typedef>
maxlength="256" <typedef name="g_ParamType">
sensitivity="sensitive"/> <paramtype kind="bool" formatTrue="-g%%ParamName"
formatFalse="" />
</typedef> </typedef>
-->
</interface> </interface>
<!-- <!--
<project name="IVerilogProject" <project name="FPGA_project" label="Project parameters for FPGA_project"
label="iverilog project label"
interface="IVerilog">
</project>
-->
<project name="project_settings"
label="Project parameters for project_settings"
interface="project_interface"> interface="project_interface">
<parameter id = "SimulationTopFile" <parameter id="SimulationTopFile" label="Project top simulation file"
label = "Project top simulation file" type="Filename" default="default_top (testing)" format="CopyValue"
type = "FileType" readonly="false" />
default = "default_top (testing)"
format = "ValueSyntax" <parameter id="SimulationTopModule" label="Project top simulation module"
readonly= "false" /> type="String" default="" format="CopyValue" readonly="false" />
<parameter id = "SimulationTopModule" <parameter id="BuildDir" label="project build directory"
label = "Project top simulation module" type="Pathname" default="build" format="CopyValue" readonly="false" />
type = "StringType"
default = ""
format = "ValueSyntax"
readonly= "false" />
<parameter id = "BuildDir"
label = "project build directory"
type = "DirType"
default = "build"
format = "ValueSyntax"
readonly= "false" />
<input> <input>
<group name="General" label="Project properties"> <group name="General" label="Project properties">
...@@ -151,229 +74,298 @@ ...@@ -151,229 +74,298 @@
</output> </output>
</project> </project>
-->
<tool name="iverilog_dbg" project="FPGA_project" label="Icarus Verilog compiler - debug"
exe="iverilog" shell="?%%OS: Windows=shell:, Linux=/bin/bash"
<tool name = "iverilog_dbg" interface="IVerilogDebug" errors="(.*):([0-9]+): [a-z_\- ]*error: (.*)"
project = "project_settings" warnings="(.*):([0-9]+): [a-z_\- ]*warning: (.*)" info="(.*):([0-9]+): [a-z_\- ]*info: (.*)"> <!--do not actually exist -->
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> <extensions-list>
<extension mask="v"/> <extension mask="v" />
<extension mask="tf"/> <extension mask="tf" />
</extensions-list> </extensions-list>
<action-menu> <action-menu>
<action label="Simulate" resource="%SimulationTopFile" check-extension="false" check-existence="true" icon="iverilog.ico"/> <action label="Simulate" resource="%SimulationTopFile"
<action label="Simulate for" resource="%%SelectedFile" check-extension="true" check-existence="true"/> check-extension="false" check-existence="true" icon="iverilog.ico" />
<action label="Empty" resource="" icon="sample.gif"/> <action label="Simulate for" resource="%%SelectedFile"
check-extension="true" check-existence="true" />
<action label="Verify" resource="%%SelectedFile"
check-extension="true" check-existence="true" icon="newmod_wiz.gif" />
<action label="Empty" resource="" icon="sample.gif" />
<action label="Just try for" resource="%%OS" /> <action label="Just try for" resource="%%OS" />
</action-menu> </action-menu>
<parameter id="Param_Shell_Options" label="Param_Shell_Options"
type="String" format="CopyValue" default="-c" readonly="false"
visible="true" />
<parameter id="Param_PreExe" label="Param_PreExe" type="String"
format="CopyValue" default="" readonly="false" visible="true" />
<parameter id="Param_Exe" label="Param_Exe" type="Filename"
format="CopyValue" default="/usr/bin/iverilog" readonly="false"
visible="true" />
<parameter id="Param_TopModule" label="Top module extracted from the chosen target file"
type="String" format="TopModuleSyntax" default="%%TopModule"
readonly="true" visible="true" />
<parameter id="TopModulesOther" type="Stringlist"
format="TopModulesOtherSyntax" default="" omit=""
label="Select top modules not referenced by the chosen target"
readonly="false" visible="true" />
<parameter id="ModuleLibrary" type="ModuleLibraryType"
format="ModuleLibrarySyntax" default="" label="Select additional libraries to include"
omit="" readonly="false" visible="true" />
<parameter id="ExtraFiles" type="Filelist" format="ExtraFilesSyntax"
default="" label="Select additional files to include" readonly="false"
visible="true" />
<parameter id="legacy_model" outid="legacy_model" type="D_ParamType"
format="D_ParamSyntax" default="true" label="Use legacy model" />
<parameter id="no_specify" outid="no-specify" type="g_ParamType"
format="NospecifySyntax" default="true" label="Use no-specify" />
<!-- -->
<parameter id="v" type="SwitchType" format="SwitchSyntax"
default="true" label="Verbose" />
<parameter id="Param_SourceList" label="Param_SourceList"
type="Stringlist" format="SourceListSyntax" default="" readonly="true"
visible="true" />
<parameter id="ShowNoProblem" type="BoolYesNo" format="None"
default="false" label="Show output with no errors/warnings" />
<parameter id="ShowWarnings" type="BoolYesNo" format="None"
default="false" label="Show output warnings" />
<parameter id="RemoveBugs" type="BoolYesNo" format="None"
default="false" label="Remove buggy simulator output" />
<parameter id="SaveLogsPreprocessor" type="BoolYesNo"
format="None" default="false" label="Save simulator preprocessor log output" />
<parameter id="SaveLogsSimulator" type="BoolYesNo" format="None"
default="false" label="Save simulator log output" />
<parameter id="ShowWaves" type="BoolYesNo" format="None"
default="true" label="Show simulation result in waveform viewer" />
<!-- Advanced Section -->
<parameter id="LogFile" label="Simulator log file prefix"
type="String" default="%%CurrentFileBase" format="LogFileSyntax"
readonly="false" />
<parameter id="OutFile" label="Simulator intermediate file prefix"
type="String" default="%%CurrentFileBase" format="OutputFileSyntax"
readonly="false" />
<parameter id="LxtDumpFile" label="Simulator LXT dump file prefix"
type="String" default="%%CurrentFileBase" format="LxtFileSyntax"
readonly="false" />
<parameter id="GTKWaveSavFile" label="GTKWave sav file"
type="Filename" default="%%CurrentFileBase.sav" format="CopyValue"
omit="" readonly="false" />
<parameter id="GrepFindErr" label="Grep pattern for errors only"
type="String" format="GrepFindSyntax" default="error" readonly="false"
visible="true" />
<parameter id="GrepFindErrWarn" label="Grep pattern for both errors and warnings"
type="String" format="GrepFindSyntax" default="error|warning"
readonly="false" visible="true" />
<parameter id="GrepSkip1" label="Grep skip pattern" type="String"
format="GrepSkipSyntax" default="(null)" readonly="false" visible="true" />
<parameter id="IVerilogOther" label="Other IVerilog options"
type="String" format="CopyValue" default="" omit=""
readonly="false" visible="true" />
<parameter id="IncludeParametersList" type="Stringlist"
format="IncludeParamSyntax" default="" omit=""
label="Verilog parameters definition to be included in the test fixture"
readonly="false" visible="true" />
<!-- Temporary inserted into the command line, will be removed -->
<parameter id="Param_1" label="Param_1" type="String"
format="CopyValue" default="" omit="" readonly="false" visible="true" />
<parameter id="Param_2" label="Param_2" type="String"
format="CopyValue" default="" omit="" readonly="false" visible="true" />
<parameter id="Param_3" label="Param_3" type="String"
format="CopyValue" default="" omit="" readonly="false" visible="true" />
<parameter id="Param_4" label="Param_4" type="String"
format="CopyValue" default="" omit="" readonly="false" visible="true" />
<!-- Invisible parameters, just pass calculated default values -->
<parameter id="IVerilogActionIndex" type="String"
format="CopyValue" visible="false" default="%%ChosenActionIndex" />
<parameter id="SourceList" type="Stringlist" format="SourceListSyntax"
default="" readonly="true" visible="false" />
<parameter id="iverilog_include_file" type="Filename"
default="IVERILOG_INCLUDE.v" format="CopyValue" visible="false" />
<parameter id="LxtDumpFileParameter" type="String"
default="%LxtDumpFile" format="LxtParamFileSyntax" visible="false" />
<parameter id="LogFileLatest" type="String"
default="%LogFile" format="LogFileLatestSyntax" visible="false" />
<parameter id="OutFileLatest" type="String"
default="%OutFile" format="OutputFileLatestSyntax" visible="false" />
<parameter id="LxtDumpFileLatest" type="String"
default="%LxtDumpFile" format="LxtFileLatestSyntax" visible="false" />
<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> <input>
<group name="files" label="Files"> <group name="files" label="Files">
<!-- "SimulationTopFile" --> <!-- "SimulationTopFile" -->
"Param_PreExe"
"Param_Exe"
"Param_Shell_Options"
"Param_TopModule" "Param_TopModule"
"TopModulesOther" "TopModulesOther"
"ModuleLibrary"
"ExtraFiles" "ExtraFiles"
"ModuleLibrary"
"GTKWaveSavFile"
"IncludeParametersList"
</group> </group>
<group name="options" label="Options"> <group name="options" label="Options">
"ErrorsOnly" "ShowWaves"
"Filter_String" "ShowNoProblem"
"GrepSkip1" "ShowWarnings"
"RemoveBugs"
"SaveLogsPreprocessor"
"SaveLogsSimulator"
"v" "v"
"LegacyModel" "legacy_model"
"NoSpecify" "no_specify"
<!-- "SourceList" --> </group>
<group name="Advanced" label="Advanced">
"Param_PreExe"
"Param_Exe"
"Param_Shell_Options"
"IVerilogOther"
"LogFile"
"OutFile"
"LxtDumpFile"
"GrepFindErr"
"GrepFindErrWarn"
"GrepSkip1"
"Param_1"
"Param_2"
"Param_3"
"Param_4"
</group> </group>
</input> </input>
<output> <output>
<!-- TODO: watch for new lines inserted inside quoted tokens during autoformat - they break output
Maybe add filter to the code to transform white spaces -->
<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"
<if SaveLogsPreprocessor="true"
SaveLogsSimulator="true">
"touch"
"%LogFile"
";"
"%LogFileLatest"
</if>
"trap 'killall iverilog; ' EXIT;"
"echo 'current PID='$$;"
"%Param_Exe" "%Param_Exe"
"-o"
<if IVerilogActionIndex="2">
"/dev/null"
</if>
<if-not IVerilogActionIndex="2">
"%OutFile"
</if-not>
" -D IVERILOG"
"%IVerilogOther"
"%Param_TopModule" "%Param_TopModule"
"%TopModulesOther" "%TopModulesOther"
"%ModuleLibrary" "%ModuleLibrary"
"%LegacyModel" "%legacy_model"
"%NoSpecify" "%no_specify"
"%v" "%v"
"%SourceList" "%SourceList"
"%ExtraFiles" "%ExtraFiles"
<if ErrorsOnly="true"> <if ShowNoProblem="false">
"2&gt;&amp;1" "2&gt;&amp;1"
"| tee %LogFile" </if>
"| grep --line-buffered -E 'error|warning'" <if SaveLogsPreprocessor="true">
"| tee -a"
"%LogFile"
</if>
<if ShowNoProblem="false">
<if ShowWarnings="true">
"%GrepFindErrWarn"
</if>
<if ShowWarnings="false">
"%GrepFindErr"
</if>
<if RemoveBugs="true">
"%GrepSkip1" "%GrepSkip1"
<!-- "%Filter_String" -->
</if> </if>
</if>
"|| { echo '*** iverilog failed ***'; exit 1; } ;"
"trap '' EXIT;"
<if-not IVerilogActionIndex="2">
"%OutFileLatest"
<!-- "time vvp -v" -->
"%Param_1"
"trap 'killall vvp; ' EXIT;"
"vvp -v"
"%Param_2"
"%OutFile"
"-lxt2 "
<if SaveLogsSimulator="true">
"| tee -a"
"%LogFile"
</if>
"|| { echo '*** vvp failed ***'; exit 1; } ;"
"%LxtDumpFileLatest"
<!-- no trap for GTKWave -->
"trap '' EXIT;"
<!-- "%Param_2" -->
"%Param_3"
<if ShowWaves="true">
"gtkwave"
"%LxtDumpFile"
"%GTKWaveSavFile"
"&amp; "
</if>
"%Param_4"
</if-not>
</line>
<line name="IverilogIncludeFile" dest="iverilog_include_file"
sep="\n">
"%LxtDumpFileParameter"
"%IncludeParametersList"
</line> </line>
</output> </output>
</tool>
</tool>
</vdt-project> </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