Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vdt-plugin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
vdt-plugin
Commits
0c056d60
Commit
0c056d60
authored
Jan 25, 2014
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added action icons for iverilog, using simulate directory for generated
files
parent
d2d7c636
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
599 additions
and
583 deletions
+599
-583
iverilog_check.png
icons/iverilog_check.png
+0
-0
iverilog_pointer.png
icons/iverilog_pointer.png
+0
-0
plugin.xml
plugin.xml
+14
-0
BasicInterface.xml
tools/BasicInterface.xml
+31
-4
Project.xml
tools/Project.xml
+11
-43
Tools.xml
tools/SimpleSamples/Tools.xml
+4
-4
IVerilog.xml
tools/Verilog/IVerilog.xml
+172
-157
IVerilogDebug.xml
tools/Verilog/IVerilogDebug.xml
+367
-375
No files found.
icons/iverilog_check.png
0 → 100644
View file @
0c056d60
696 Bytes
icons/iverilog_pointer.png
0 → 100644
View file @
0c056d60
858 Bytes
plugin.xml
View file @
0c056d60
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<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
point=
"org.eclipse.ui.editors"
>
<editor
...
...
@@ -25,6 +37,8 @@
</editor>
</extension>
<extension
point=
"org.eclipse.ui.editors"
>
<editor
...
...
tools/BasicInterface.xml
View file @
0c056d60
...
...
@@ -26,23 +26,50 @@
<paramtype
kind=
"number"
lo=
"0"
hi=
"2147483647"
format=
"%d"
/>
</typedef>
<!-- All below changed case sensitivity (was "insensitive" ) -->
<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
name=
"Filename"
>
<paramtype
kind=
"string"
sensitivity=
"
in
sensitive"
textkind=
"file"
/>
<paramtype
kind=
"string"
sensitivity=
"sensitive"
textkind=
"file"
/>
</typedef>
<typedef
name=
"Filelist"
list=
"true"
>
<paramtype
kind=
"string"
sensitivity=
"
in
sensitive"
textkind=
"file"
/>
<paramtype
kind=
"string"
sensitivity=
"sensitive"
textkind=
"file"
/>
</typedef>
<typedef
name=
"Pathname"
>
<paramtype
kind=
"string"
sensitivity=
"
in
sensitive"
textkind=
"dir"
/>
<paramtype
kind=
"string"
sensitivity=
"sensitive"
textkind=
"dir"
/>
</typedef>
<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"
/>
</typedef>
...
...
tools/Project.xml
View file @
0c056d60
...
...
@@ -2,67 +2,35 @@
<vdt-project>
<interface
name =
"project_interface"
>
<typedef
name=
"StringType"
>
<!-- All renamed to match Basicinterface.xml
<typedef name="String">
<paramtype kind="string"
maxlength="256"
sensitivity="sensitive"/>
</typedef>
<typedef
name=
"String
ListType
"
list=
"true"
>
<typedef name="String
list
" list="true">
<paramtype kind="string"
maxlength="256"
sensitivity="sensitive"/>
</typedef>
<typedef
name=
"
DirTyp
e"
>
<typedef name="
Pathnam
e">
<paramtype kind="string"
maxlength="256"
sensitivity="sensitive"
textkind="dir"/>
</typedef>
<typedef
name=
"FileType"
>
<typedef name="Filename">
<paramtype kind="string"
maxlength="256"
sensitivity="sensitive"
textkind="file"/>
</typedef>
<syntax
name=
"ValueSyntax"
format=
"%%ParamValue"
/>
<syntax name="CopyValue" format="%%ParamValue" />
-->
</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>
tools/SimpleSamples/Tools.xml
View file @
0c056d60
...
...
@@ -146,7 +146,7 @@
format =
'--%%ParamName="%%ProjectPath"'
/>
<syntax
name =
"Just
ValueSyntax
"
<syntax
name =
"Just
CopyValue
"
format =
"%%ParamValue"
></syntax>
</interface>
...
...
@@ -165,7 +165,7 @@
-->
<!-- exe = "?%%OS: Windows=mytest.bat, Linux=mytest.sh" -->
<tool
name =
"MyTool"
project =
"
project_settings
"
project =
"
FPGA_project
"
label =
"My Tool"
shell =
"?%%OS: Windows=, Linux=/bin/bash"
interface =
"MyControlInterface"
...
...
@@ -182,7 +182,7 @@
<parameter
id =
"Param_Shell_Options"
label =
"Param_Shell_Options"
type =
"MyString"
format =
"Just
ValueSyntax
"
format =
"Just
CopyValue
"
default =
"-c"
readonly =
"false"
visible =
"true"
/>
...
...
@@ -274,7 +274,7 @@
<parameter
id =
"Param_parser"
type =
"MyType1"
format =
"Just
ValueSyntax
"
format =
"Just
CopyValue
"
default =
"| python -u /data/vdt/workspace_01/veditor/parsers/parser01.py; ls -all"
readonly =
"false"
visible =
"true"
...
...
tools/Verilog/IVerilog.xml
View file @
0c056d60
<?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=
"IVerilog"
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>
<!-- Actually used -->
<syntax
name=
"JustValueSyntax"
format=
"%%ParamValue"
></syntax>
<syntax
name=
"NospecifySyntax"
format=
"-gno-specify"
/>
<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 "%%CurrentFile" ;"
/>
<syntax
name=
"DbgChosenActionIndexSyntax"
format=
"echo "index=%%ChosenActionIndex" ;"
/>
<syntax
name=
"BuildStampSyntax"
format=
"%%BuildStamp"
/>
<syntax
name=
"GrepFindSyntax"
format=
"| { grep --line-buffered -E "%%ParamValue" || true; }"
/>
<syntax
name=
"GrepSkipSyntax"
format=
"| { grep --line-buffered -v "%%ParamValue" || 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="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"
format=
"parameter lxtname="%%ParamValue-%%BuildStamp.lxt";"
/>
<!-- <syntax name="LxtParamFileSyntax" format="parameter lxtname=%%ParamValue;"
/> -->
<syntax
name=
"IncludeParamSyntax"
format=
"%(%%ParamValue%|\n%)"
/>
<!-- typedef -->
<typedef
name=
"ExtraFilesType"
list=
"true"
>
<paramtype
kind=
"string"
textkind=
"file"
maxlength=
"256"
sensitivity=
"sensitive"
/>
</typedef>
<!-- Types definitions -->
<typedef
name=
"
exeTyp
e"
>
<paramtype
kind=
"string"
maxlength=
"256"
sensitivity=
"sensitive
"
textkind=
"fil
e"
/>
<typedef
name=
"
ModuleLibraryType"
list=
"tru
e"
>
<paramtype
kind=
"string"
default=
""
textkind=
"dir
"
maxlength=
"256"
sensitivity=
"sensitiv
e"
/>
</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> -->
<typedef
name=
"D_ParamType"
>
<paramtype
kind=
"bool"
formatTrue=
"-D%%ParamName"
formatFalse=
""
/>
</typedef>
<typedef
name=
"g_ParamType"
>
<paramtype
kind=
"bool"
formatTrue=
"-g%%ParamName"
formatFalse=
""
/>
</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"
>
<project
name=
"FPGA_project"
label=
"Project parameters for FPGA_project"
interface=
"project_interface"
>
<parameter
id=
"SimulationTopFile"
label=
"Project top simulation file"
type=
"File
Type"
default=
"default_top (testing)"
format=
"ValueSyntax
"
type=
"File
name"
default=
"default_top (testing)"
format=
"CopyValue
"
readonly=
"false"
/>
<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"
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>
<group
name=
"General"
label=
"Project properties"
>
...
...
@@ -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"
interface=
"IVerilog"
errors=
"(.*):([0-9]+): [a-z_\- ]*error: (.*)"
warnings=
"(.*):([0-9]+): [a-z_\- ]*warning: (.*)"
info=
"(.*):([0-9]+): [a-z_\- ]*info: (.*)"
>
<!--do
es
not actually exist -->
warnings=
"(.*):([0-9]+): [a-z_\- ]*warning: (.*)"
info=
"(.*):([0-9]+): [a-z_\- ]*info: (.*)"
>
<!--do not actually exist -->
<extensions-list>
<extension
mask=
"v"
/>
...
...
@@ -120,34 +107,32 @@
</extensions-list>
<action-menu>
<action
label=
"Simulate"
resource=
"%SimulationTopFile"
<action
label=
"Simulate
project
"
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=
"Simulate
selected
"
resource=
"%%SelectedFile"
check-extension=
"true"
check-existence=
"true"
icon=
"iverilog_pointer.png"
/>
<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"
/>
check-extension=
"true"
check-existence=
"true"
icon=
"
iverilog_check.png
"
/>
<!--
<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=
"String
Type"
format=
"JustValueSyntax
"
default=
"-c"
readonly=
"false"
type=
"String
"
format=
"CopyValue
"
default=
"-c"
readonly=
"false"
visible=
"true"
/>
<!-- Intentional error: No, does not detect duplicates yet -->
<parameter
id=
"Param_PreExe"
label=
"Param_PreExe"
type=
"String
Type
"
format=
"
JustValueSyntax
"
default=
""
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=
"
exeTyp
e"
format=
"
exeFileSyntax
"
default=
"/usr/bin/iverilog"
readonly=
"false"
<parameter
id=
"Param_Exe"
label=
"Param_Exe"
type=
"
Filenam
e"
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
Type
"
format=
"TopModuleSyntax"
default=
"%%TopModule"
type=
"String"
format=
"TopModuleSyntax"
default=
"%%TopModule"
readonly=
"true"
visible=
"true"
/>
<parameter
id=
"TopModulesOther"
type=
"String
ListType
"
<parameter
id=
"TopModulesOther"
type=
"String
list
"
format=
"TopModulesOtherSyntax"
default=
""
omit=
""
label=
"Select top modules not referenced by the chosen target"
readonly=
"false"
visible=
"true"
/>
...
...
@@ -157,31 +142,26 @@
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"
visible=
"true"
/>
<parameter
id=
"
LegacyModel"
outid=
"legacy_model"
type=
"LegacyModel
Type"
<parameter
id=
"
legacy_model"
outid=
"legacy_model"
type=
"D_Param
Type"
format=
"D_ParamSyntax"
default=
"true"
label=
"Use legacy model"
/>
<parameter
id=
"
NoSpecify"
outid=
"no-specify"
type=
"NoSpecify
Type"
format=
"
g_Param
Syntax"
default=
"true"
label=
"Use no-specify"
/>
<!-- -->
<parameter
id=
"
no_specify"
outid=
"no-specify"
type=
"g_Param
Type"
format=
"
Nospecify
Syntax"
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=
"String
ListType
"
format=
"SourceListSyntax"
default=
""
readonly=
"true"
type=
"String
list
"
format=
"SourceListSyntax"
default=
""
readonly=
"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"
default=
"false"
label=
"Show output with no errors/warnings"
/>
...
...
@@ -205,64 +185,99 @@
<parameter
id=
"LogFile"
label=
"Simulator log file prefix"
type=
"String
Type
"
default=
"%%CurrentFileBase"
format=
"LogFileSyntax"
type=
"String"
default=
"%%CurrentFileBase"
format=
"LogFileSyntax"
readonly=
"false"
/>
<parameter
id=
"OutFile"
label=
"Simulator intermediate file prefix"
type=
"String
Type"
default=
"%%CurrentFileBase"
format=
"Outp
utFileSyntax"
type=
"String
"
default=
"%%CurrentFileBase"
format=
"O
utFileSyntax"
readonly=
"false"
/>
<parameter
id=
"LxtDumpFile"
label=
"Simulator LXT dump file prefix"
type=
"String
Type
"
default=
"%%CurrentFileBase"
format=
"LxtFileSyntax"
type=
"String"
default=
"%%CurrentFileBase"
format=
"LxtFileSyntax"
readonly=
"false"
/>
<parameter
id=
"GTKWaveSavFile"
label=
"GTKWave sav file"
type=
"File
Type"
default=
"%%CurrentFileBase.sav"
format=
"ValueSyntax
"
type=
"File
name"
default=
"%%CurrentFileBase.sav"
format=
"CopyValue
"
omit=
""
readonly=
"false"
/>
<parameter
id=
"GrepFindErr"
label=
"Grep pattern for errors only"
type=
"String
Type
"
format=
"GrepFindSyntax"
default=
"error"
readonly=
"false"
type=
"String"
format=
"GrepFindSyntax"
default=
"error"
readonly=
"false"
visible=
"true"
/>
<parameter
id=
"GrepFindErrWarn"
label=
"Grep pattern for both errors and warnings"
type=
"String
Type
"
format=
"GrepFindSyntax"
default=
"error|warning"
type=
"String"
format=
"GrepFindSyntax"
default=
"error|warning"
readonly=
"false"
visible=
"true"
/>
<parameter
id=
"GrepSkip1"
label=
"Grep skip pattern"
type=
"String
Type
"
<parameter
id=
"GrepSkip1"
label=
"Grep skip pattern"
type=
"String"
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"
type=
"String
Type"
format=
"JustValueSyntax
"
default=
""
omit=
""
type=
"String
"
format=
"CopyValue
"
default=
""
omit=
""
readonly=
"false"
visible=
"true"
/>
<parameter
id=
"IncludeParametersList"
type=
"String
ListType
"
<parameter
id=
"IncludeParametersList"
type=
"String
list
"
format=
"IncludeParamSyntax"
default=
""
omit=
""
label=
"Verilog parameters definition to be included in the test fixture"
readonly=
"false"
visible=
"true"
/>
<!-- Invisible parameters -->
<parameter
id=
"IVerilogActionIndex"
type=
"StringType"
format=
"JustValueSyntax"
visible=
"false"
default=
"%%ChosenActionIndex"
/>
<parameter
id=
"SourceList"
type=
"StringListType"
format=
"SourceListSyntax"
default=
""
readonly=
"true"
visible=
"false"
/>
<!-- 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"
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>
<group
name=
"files"
label=
"Files"
>
...
...
@@ -282,8 +297,8 @@
"SaveLogsPreprocessor"
"SaveLogsSimulator"
"v"
"
LegacyM
odel"
"
NoS
pecify"
"
legacy_m
odel"
"
no_s
pecify"
</group>
<group
name=
"Advanced"
label=
"Advanced"
>
"Param_PreExe"
...
...
@@ -303,9 +318,23 @@
</group>
</input>
<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=
" "
>
"%Param_Shell_Options"
"%Param_PreExe"
<!-- MKDIR - ALWAYS -->
"mkdir -p"
"%BuildDir"
";"
<if
SaveLogsPreprocessor=
"true"
SaveLogsSimulator=
"true"
>
"touch"
"%LogFileFull"
";"
"%LogFileLatest"
</if>
"trap 'killall iverilog; ' EXIT;"
"echo 'current PID='$$;"
"%Param_Exe"
...
...
@@ -314,15 +343,15 @@
"/dev/null"
</if>
<if-not
IVerilogActionIndex=
"2"
>
"%OutFile"
"%OutFile
Full
"
</if-not>
" -D IVERILOG"
"%IVerilogOther"
"%Param_TopModule"
"%TopModulesOther"
"%ModuleLibrary"
"%
LegacyM
odel"
"%
NoS
pecify"
"%
legacy_m
odel"
"%
no_s
pecify"
"%v"
"%SourceList"
"%ExtraFiles"
...
...
@@ -330,8 +359,8 @@
"2
>&
1"
</if>
<if
SaveLogsPreprocessor=
"true"
>
"| tee"
"%LogFile"
"| tee
-a
"
"%LogFile
Full
"
</if>
<if
ShowNoProblem=
"false"
>
<if
ShowWarnings=
"true"
>
...
...
@@ -347,35 +376,29 @@
"|| { 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"
"%OutFile
Full
"
"-lxt2 "
<if
SaveLogsSimulator=
"true"
>
<if
SaveLogsPreprocessor=
"true"
>
"| tee -a"
"%LogFile"
</if>
<if-not
SaveLogsPreprocessor=
"true"
>
"| tee"
"%LogFile"
</if-not>
"%LogFileFull"
</if>
"|| { echo '*** vvp failed ***'; exit 1; } ;"
"trap '' EXIT;"
<!-- no
trap for GTKWave -->
"%LxtDumpFileLatest"
<!-- no trap for GTKWave -->
"trap '' EXIT;"
<!-- "%Param_2" -->
"%Param_3"
<if
ShowWaves=
"true"
>
"gtkwave"
"%LxtDumpFile"
"%LxtDumpFile
Full
"
"%GTKWaveSavFile"
"
&
"
"
&
"
</if>
"%Param_4"
</if-not>
...
...
@@ -389,13 +412,5 @@
</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>
tools/Verilog/IVerilogDebug.xml
View file @
0c056d60
<?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"
>
<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 %("%%FileList"%| %)"
/>
<syntax
name =
"QuotedTopModuleSyntax"
format =
"--%%ParamName=%%TopModule"
/>
<syntax
name =
"QuotedTopModulesSyntax"
format =
"--%%ParamName %("%%TopModules"%| %)"
/>
<syntax
name =
"QuotedSourceListSyntax"
format =
"--%%ParamName %("%%SourceList"%| %)"
/>
<syntax
name =
"QuotedCurrentFileSyntax"
format =
"--%%ParamName="%%CurrentFile""
/>
<syntax
name =
"QuotedCurrentFileBaseSyntax"
format =
"--%%ParamName="%%CurrentFileBase""
/>
<syntax
name =
"QuotedProjectNameSyntax"
format =
"--%%ParamName="%%ProjectName""
/>
<!-- Actually used -->
<syntax
name=
"JustValueSyntax"
format=
"%%ParamValue"
></syntax>
<syntax
name=
"D_ParamSyntax"
format=
"-D%%ParamName"
/>
<syntax
name=
"g_ParamSyntax"
format=
"-g%%ParamName"
/>
<syntax
name=
"NospecifySyntax"
format=
"-gno-specify"
/>
<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 "%%CurrentFile" ;"
/>
<syntax
name=
"DbgChosenActionIndexSyntax"
format=
"echo "index=%%ChosenActionIndex" ;"
/>
<syntax
name=
"BuildStampSyntax"
format=
"%%BuildStamp"
/>
<syntax
name=
"LogFileSyntax"
format=
"%%BuildStamp.log"
/>
<syntax
name=
"GrepSkipSyntax"
format=
"| grep --line-buffered -v "%%ParamValue""
/>
<!-- 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"
/>
<syntax
name=
"GrepFindSyntax"
format=
"| { grep --line-buffered -E "%%ParamValue" || true; }"
/>
<syntax
name=
"GrepSkipSyntax"
format=
"| { grep --line-buffered -v "%%ParamValue" || true; }"
/>
<syntax
name=
"LogFileSyntax"
format=
"%%ParamValue-%%BuildStamp.log"
/>
<syntax
name=
"OutputFileSyntax"
format=
"%%ParamValue-%%BuildStamp.ivlg"
/>
<syntax
name=
"LxtFileSyntax"
format=
"%%ParamValue-%%BuildStamp.lxt"
/>
<syntax
name=
"LogFileLatestSyntax"
format=
"ln -sf %%ParamValue-%%BuildStamp.log %%ParamValue-latest.log;"
/>
<syntax
name=
"OutputFileLatestSyntax"
format=
"ln -sf %%ParamValue-%%BuildStamp.ivlg %%ParamValue-latest.ivlg;"
/>
<syntax
name=
"LxtFileLatestSyntax"
format=
"ln -sf %%ParamValue-%%BuildStamp.lxt %%ParamValue-latest.lxt;"
/>
<syntax
name=
"LxtParamFileSyntax"
format=
"parameter lxtname="%%ParamValue-%%BuildStamp.lxt";"
/>
<syntax
name=
"IncludeParamSyntax"
format=
"%(%%ParamValue%|\n%)"
/>
<!-- Types definitions -->
<typedef
name=
"ModuleLibraryType"
list=
"true"
>
<paramtype
kind=
"string"
default=
""
textkind=
"dir"
maxlength=
"256"
sensitivity=
"sensitive"
/>
</typedef>
<typedef
name=
"SwitchType"
>
<paramtype
kind=
"bool"
formatTrue=
"-%%ParamName"
formatFalse=
""
/>
<paramtype
kind=
"bool"
formatTrue=
"-%%ParamName"
formatFalse=
""
/>
</typedef>
<!--
<typedef name= "StringType" list="true">
<paramtype kind="string"
textkind="text"
maxlength="256"
sensitivity="sensitive"/>
<typedef
name=
"D_ParamType"
>
<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"
<project name="FPGA_project" label="Project parameters for FPGA_project"
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"
/>
<parameter id="SimulationTopFile" label="Project top simulation file"
type="Filename" default="default_top (testing)" format="CopyValue"
readonly="false" />
<parameter id="SimulationTopModule" label="Project top simulation module"
type="String" default="" format="CopyValue" readonly="false" />
<parameter id="BuildDir" label="project build directory"
type="Pathname" default="build" format="CopyValue" readonly="false" />
<input>
<group name="General" label="Project properties">
...
...
@@ -151,229 +74,298 @@
</output>
</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"
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 -->
interface=
"IVerilogDebug"
errors=
"(.*):([0-9]+): [a-z_\- ]*error: (.*)"
warnings=
"(.*):([0-9]+): [a-z_\- ]*warning: (.*)"
info=
"(.*):([0-9]+): [a-z_\- ]*info: (.*)"
>
<!--do not actually exist -->
<extensions-list>
<extension
mask=
"v"
/>
<extension
mask=
"tf"
/>
<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=
"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=
"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-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>&1 | tee %LogFile | grep --line-buffered -E 'error|warning' | grep --line-buffered -v "(null):0""
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"
"ModuleLibrary"
"GTKWaveSavFile"
"IncludeParametersList"
</group>
<group
name=
"options"
label=
"Options"
>
"ErrorsOnly"
"Filter_String"
"GrepSkip1"
"ShowWaves"
"ShowNoProblem"
"ShowWarnings"
"RemoveBugs"
"SaveLogsPreprocessor"
"SaveLogsSimulator"
"v"
"LegacyModel"
"NoSpecify"
<!-- "SourceList" -->
"legacy_model"
"no_specify"
</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>
</input>
<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=
" "
>
"%Param_Shell_Options"
"%DbgCurrentFile"
"%ChosenActionIndex"
"echo BuildDir=%BuildDir ;"
"echo CurrentFile=%%CurrentFile ;"
"echo SimulationTopFile=%SimulationTopFile ;"
"echo SimulationTopModule=%SimulationTopModule ;"
"echo LogFile=%LogFile ;"
"%Param_PreExe"
<if
SaveLogsPreprocessor=
"true"
SaveLogsSimulator=
"true"
>
"touch"
"%LogFile"
";"
"%LogFileLatest"
</if>
"trap 'killall iverilog; ' EXIT;"
"echo 'current PID='$$;"
"%Param_Exe"
"-o"
<if
IVerilogActionIndex=
"2"
>
"/dev/null"
</if>
<if-not
IVerilogActionIndex=
"2"
>
"%OutFile"
</if-not>
" -D IVERILOG"
"%IVerilogOther"
"%Param_TopModule"
"%TopModulesOther"
"%ModuleLibrary"
"%LegacyM
odel"
"%NoS
pecify"
"%legacy_m
odel"
"%no_s
pecify"
"%v"
"%SourceList"
"%ExtraFiles"
<if
ErrorsOnly=
"tru
e"
>
<if
ShowNoProblem=
"fals
e"
>
"2
>&
1"
"| tee %LogFile"
"| grep --line-buffered -E 'error|warning'"
</if>
<if
SaveLogsPreprocessor=
"true"
>
"| tee -a"
"%LogFile"
</if>
<if
ShowNoProblem=
"false"
>
<if
ShowWarnings=
"true"
>
"%GrepFindErrWarn"
</if>
<if
ShowWarnings=
"false"
>
"%GrepFindErr"
</if>
<if
RemoveBugs=
"true"
>
"%GrepSkip1"
<!-- "%Filter_String" -->
</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"
"
&
"
</if>
"%Param_4"
</if-not>
</line>
<line
name=
"IverilogIncludeFile"
dest=
"iverilog_include_file"
sep=
"\n"
>
"%LxtDumpFileParameter"
"%IncludeParametersList"
</line>
</output>
</tool>
</tool>
</vdt-project>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment