Commit 19bfb29f authored by Andrey Filippov's avatar Andrey Filippov

more on error parsing

parent 2a1704e7
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
type="String" format="CopyValue" default="" readonly="false" visible="true" /> type="String" format="CopyValue" default="" readonly="false" visible="true" />
<parameter id="VivadoRelease" label="Vivade release" tooltip="Vivado release number (part of the path)" <parameter id="VivadoRelease" label="Vivado release" tooltip="Vivado release number (part of the path)"
type="String" format="CopyValue" default="2013.4" readonly="false" type="String" format="CopyValue" default="2013.4" readonly="false"
visible="true" /> visible="true" />
......
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
<vdt-project> <vdt-project>
<interface name="VivadoInterface" extends="FPGAPprojectInterface"> <interface name="VivadoInterface" extends="FPGAPprojectInterface">
<syntax name="GrepFilterProblemSyntax" format='| grep --line-buffered -v "\[%%ParamName"' />
<syntax name="GrepFilterProblemOtherSyntax" format='%(| grep --line-buffered -v "\[%%ParamValue"%|\n%)' />
<!-- <syntax name="QuietSyntax" format=" -quiet" /> <!-- <syntax name="QuietSyntax" format=" -quiet" />
<syntax name="VerboseSyntax" format=" -verbose" /> <syntax name="VerboseSyntax" format=" -verbose" />
<syntax name="DirectiveSyntax" format=" -directive %%ParamValue" /> --> <syntax name="DirectiveSyntax" format=" -directive %%ParamValue" /> -->
......
...@@ -171,6 +171,38 @@ ...@@ -171,6 +171,38 @@
<parameter id="verbose_phys_opt" outid="verbose" label="Verbose" tooltip= "Temporarily override message limits set with set_msg_config" <parameter id="verbose_phys_opt" outid="verbose" label="Verbose" tooltip= "Temporarily override message limits set with set_msg_config"
default="false" visible="true" omit="false" type="Boolean" format="DashName"/> default="false" visible="true" omit="false" type="Boolean" format="DashName"/>
<!-- parser parameters -->
<parameter id="PatternErrors" label="Errors" tooltip= "Regular expression for error messages"
default=".*ERROR: (\[.*\].*)\[(.*):([0-9]+)\]"
visible="true" type="String" format="CopyValue"/>
<parameter id="PatternWarnings" label="Warnings" tooltip= "Regular expression for warnings messages"
default=".*WARNING: (\[.*\].*)\[(.*):([0-9]+)\]"
visible="true" type="String" format="CopyValue"/>
<parameter id="PatternInfo" label="Info" tooltip= "Regular expression for info messages"
default=".*INFO: (\[.*\].*)\[(.*):([0-9]+)\]"
visible="true" type="String" format="CopyValue"/>
<parameter id="NoFileProblem" label="No-file problems" tooltip= "Report problems that do not specify particular source file/line"
default="true" visible="true" omit="false" type="Boolean" format="None"/>
<parameter id="Drc" label="Drc" tooltip= "Enable problems with [Drc to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="Memdata" label="Memdata" tooltip= "Enable problems with [Memdata to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="Netlist" label="Netlist" tooltip= "Enable problems with [Netlist to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="Opt" label="Opt" tooltip= "Enable problems with [Opt to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="Project" label="Project" tooltip= "Enable problems with [Project to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="Timing" label="Timing" tooltip= "Enable problems with [Timing to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="Pwropt" label="Pwropt" tooltip= "Enable problems with [Pwropt to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="Vivado_Tcl" label="Vivado_Tcl" tooltip= "Enable problems with [Vivado_Tcl to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="OtherProblems" label="Other problems" tooltip= "Other problem patterns (after opening '[') to be suppressed)"
default="" visible="true" omit="" type="Stringlist" format="GrepFilterProblemOtherSyntax"/>
<!-- hidden (calculated) parameters --> <!-- hidden (calculated) parameters -->
<!-- not really used now, always "0" --> <!-- not really used now, always "0" -->
<parameter id="VivadoOptPlaceActionIndex" default="%%ChosenActionIndex" <parameter id="VivadoOptPlaceActionIndex" default="%%ChosenActionIndex"
...@@ -192,55 +224,72 @@ ...@@ -192,55 +224,72 @@
"GrepEWI" "GrepEWI"
</group> </group>
<group name="Pre-optimization commands"> <group name="Pre-optimization commands">
"PreOptTCL" "PreOptTCL"
</group> </group>
<group name="Optimization"> <group name="Optimization">
"directive_opt" "directive_opt"
"---" "---"
"retarget" "retarget"
"propconst" "propconst"
"sweep" "sweep"
"bram_power_opt" "bram_power_opt"
"remap" "remap"
"resynth_area" "resynth_area"
"resynth_seq_area" "resynth_seq_area"
"---" "---"
"quiet_opt" "quiet_opt"
"verbose_opt" "verbose_opt"
</group> </group>
<group name="Power Optimization"> <group name="Power Optimization">
"quiet_pwr_opt" "quiet_pwr_opt"
"verbose_pwr_opt" "verbose_pwr_opt"
</group> </group>
<group name="Placement"> <group name="Placement">
"directive_place" "directive_place"
"---" "---"
"no_timing_driven" "no_timing_driven"
"unplace" "unplace"
"post_place_opt" "post_place_opt"
"---" "---"
"quiet_place" "quiet_place"
"verbose_place" "verbose_place"
</group> </group>
<group name="Physical Optimization"> <group name="Physical Optimization">
"directive_phys_opt" "directive_phys_opt"
"---" "---"
"fanout_opt" "fanout_opt"
"placement_opt" "placement_opt"
"rewire" "rewire"
"critical_cell_opt" "critical_cell_opt"
"dsp_register_opt" "dsp_register_opt"
"bram_register_opt" "bram_register_opt"
"bram_enable_opt" "bram_enable_opt"
"shift_register_opt" "shift_register_opt"
"hold_fix" "hold_fix"
"retime" "retime"
<!-- TODO: Implement force_replication_on_nets args (requires? get_nets command ) --> <!-- TODO: Implement force_replication_on_nets args (requires? get_nets command ) -->
"critical_pin_opt" "critical_pin_opt"
"---" "---"
"quiet_phys_opt" "quiet_phys_opt"
"verbose_phys_opt" "verbose_phys_opt"
</group> </group>
<group name="Parser">
"NoFileProblem"
"Drc"
"Memdata"
"Netlist"
"Opt"
"Project"
"Timing"
"Pwropt"
"Vivado_Tcl"
"OtherProblems"
"---"
"PatternErrors"
"PatternWarnings"
"PatternInfo"
</group>
</input> </input>
<output> <output>
...@@ -250,9 +299,9 @@ ...@@ -250,9 +299,9 @@
<line name="vivado_copy_pre_opt"> <line name="vivado_copy_pre_opt">
"-c" "-c"
<!-- Create project directory on remote server if it did not exist --> <!-- Create project directory on remote server if it did not exist -->
"ssh -l" "ssh"
"%RemoteUser" "-oBatchMode=yes"
"%RemoteHost" "-l %RemoteUser %RemoteHost"
"'" "'"
"mkdir -p" "mkdir -p"
"%VivadoProjectRoot" "%VivadoProjectRoot"
...@@ -362,18 +411,28 @@ ...@@ -362,18 +411,28 @@
</line> </line>
</if-and> </if-and>
<line name="parser_VivadoOpt" <line name="parser_VivadoOpt"
errors=".*ERROR: (\[.*\].*)\[(.*):([0-9]+)\]" errors= "PatternErrors"
warnings=".*WARNING: (\[.*\].*)\[(.*):([0-9]+)\]" warnings= "PatternWarnings"
info=".*INFO: (\[.*\].*)\[(.*):([0-9]+)\]"> info= "PatternInfo">
"-c" "-c"
"%GrepEWI" "%GrepEWI"
"| %SedPaths" "| %SedPaths"
<if NoBabyTalk="true"> <if NoBabyTalk="true">
"| grep --line-buffered -v \"license\"" "| grep --line-buffered -v \"license\""
<!-- Add [Placement:0000] to lines that do not have [file:line] - then "Placement" will appear in "Problems" location--> </if>
"%Drc"
"%Memdata"
"%Netlist"
"%Opt"
"%Project"
"%Timing"
"%Pwropt"
"%Vivado_Tcl"
"%OtherProblems"
<if NoFileProblem="true">
<!-- Add [Placement:0000] to lines that do not have [file:line] - then "Placement" will appear in "Problems" location-->
"| sed -u 's@^[^\[]*\[[^\[]*$@&amp;\[Placement:0000\]@'" "| sed -u 's@^[^\[]*\[[^\[]*$@&amp;\[Placement:0000\]@'"
</if> </if>
</line> </line>
</output> </output>
</tool> </tool>
......
...@@ -101,12 +101,12 @@ ...@@ -101,12 +101,12 @@
<parameter id="name" label="Design name" tooltip= "Design to open after synth" <parameter id="name" label="Design name" tooltip= "Design to open after synth"
default="" visible="true" omit="" type="String" format="Dash"/> default="" visible="true" omit="" type="String" format="Dash"/>
<!-- part is defined in "FPGA_project" --> <!-- part is defined in "FPGA_project" -->
<!-- <parameter id="part" label="Part" tooltip= "Xilinx device to use" <parameter id="part_synth" outid="part" label="Part (see Project)" tooltip= "Xilinx device to use (configured in 'project' dialog)"
default="" visible="true" omit="" type="String" format="Dash"/> --> default="%part" visible="true" readonly="true" omit="" type="String" format="Dash"/>
<parameter id="top" label="Design top module" tooltip= "Top module of the design, determined by the project top file"
default="%%TopModule" visible="true" omit="" readonly="true" type="String" format="Dash"/>
<parameter id="constrset" label="Constraints set" tooltip= "Constraints set to use" <parameter id="constrset" label="Constraints set" tooltip= "Constraints set to use"
default="" visible="true" omit="" type="String" format="Dash"/> default="" visible="true" omit="" type="String" format="Dash"/>
<!-- <parameter id="top" label="" tooltip= "Top module of the design (you may set in in project properties)"
default="%ImplementationTopModule" visible="true" omit="" type="String" format="Dash"/> -->
<parameter id="include_dirs" label="Include directory" tooltip= "Include directories for Verilog `include" <parameter id="include_dirs" label="Include directory" tooltip= "Include directories for Verilog `include"
default="" visible="true" omit="" type="Stringlist" format="DashList"/> default="" visible="true" omit="" type="Stringlist" format="DashList"/>
<parameter id="generic" label="VHDL/Verilog parameters" tooltip= '"name=value" list of VHDL generic entity or Verilog parameter' <parameter id="generic" label="VHDL/Verilog parameters" tooltip= '"name=value" list of VHDL generic entity or Verilog parameter'
...@@ -147,8 +147,8 @@ ...@@ -147,8 +147,8 @@
<!-- Parameter read_xdc just copies parameter ConstraintsFiles, but they have different syntax (output representation) --> <!-- Parameter read_xdc just copies parameter ConstraintsFiles, but they have different syntax (output representation) -->
<parameter id="read_xdc" type="Filelist" format="read_xdc_syntax" label="" tooltip="read_xdc" <parameter id="read_xdc" type="Filelist" format="read_xdc_syntax" label="" tooltip="read_xdc"
default="%ConstraintsFiles" visible="false" /> default="%ConstraintsFiles" visible="false" />
<parameter id="top" label="" tooltip= "Top module of the design" <!-- <parameter id="top" label="" tooltip= "Top module of the design"
default="%%TopModule" visible="false" omit="" type="String" format="Dash"/> default="%%TopModule" visible="false" omit="" type="String" format="Dash"/> -->
<parameter id="VivadoSynthActionIndex" default="%%ChosenActionIndex" <parameter id="VivadoSynthActionIndex" default="%%ChosenActionIndex"
type="String" format="CopyValue" visible="false" /> type="String" format="CopyValue" visible="false" />
...@@ -162,7 +162,22 @@ ...@@ -162,7 +162,22 @@
<parameter id="PatternInfo" label="Info" tooltip= "Regular expression for info messages" <parameter id="PatternInfo" label="Info" tooltip= "Regular expression for info messages"
default=".*INFO: (\[.*\].*)\[(.*):([0-9]+)\]" default=".*INFO: (\[.*\].*)\[(.*):([0-9]+)\]"
visible="true" type="String" format="CopyValue"/> visible="true" type="String" format="CopyValue"/>
<parameter id="NoFileProblem" label="No-file problems" tooltip= "Report problems that do not specify particular source file/line"
default="true" visible="true" omit="false" type="Boolean" format="None"/>
<parameter id="Memdata" label="Memdata" tooltip= "Enable problems with [Memdata to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="Synth" label="Synth" tooltip= "Enable problems with [Synth to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="Netlist" label="Netlist" tooltip= "Enable problems with [Netlist to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="Opt" label="Opt" tooltip= "Enable problems with [Opt to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="Project" label="Project" tooltip= "Enable problems with [Project to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="Timing" label="Timing" tooltip= "Enable problems with [Timing to be reported"
default="true" visible="true" omit="true" type="Boolean" format="GrepFilterProblemSyntax"/>
<parameter id="OtherProblems" label="Other problems" tooltip= "Other problem patterns (after opening '[') to be suppressed)"
default="" visible="true" omit="" type="Stringlist" format="GrepFilterProblemOtherSyntax"/>
<input> <input>
<group name="General"> <group name="General">
...@@ -179,7 +194,8 @@ ...@@ -179,7 +194,8 @@
"---" "---"
"top" "top"
"name" "name"
"part" <!-- "part" -->
"part_synth"
"constrset" "constrset"
"include_dirs" "include_dirs"
"generic" "generic"
...@@ -200,9 +216,19 @@ ...@@ -200,9 +216,19 @@
"verbose" "verbose"
</group> </group>
<group name="Parser"> <group name="Parser">
"NoFileProblem"
"Memdata"
"Synth"
"Netlist"
"Opt"
"Project"
"Timing"
"OtherProblems"
"---"
"PatternErrors" "PatternErrors"
"PatternWarnings" "PatternWarnings"
"PatternInfo" "PatternInfo"
</group> </group>
</input> </input>
...@@ -210,9 +236,9 @@ ...@@ -210,9 +236,9 @@
<!-- mkdir -p vdt/npmtest --> <!-- mkdir -p vdt/npmtest -->
<line name="vivado_copy_pre_synth"> <line name="vivado_copy_pre_synth">
"-c" "-c"
"ssh -l" "ssh"
"%RemoteUser" "-oBatchMode=yes"
"%RemoteHost" "-l %RemoteUser %RemoteHost"
"'" "'"
"mkdir -p" "mkdir -p"
"%VivadoProjectRoot" "%VivadoProjectRoot"
...@@ -250,7 +276,8 @@ ...@@ -250,7 +276,8 @@
"%top" "%top"
<if VivadoSynthActionIndex="0"> <if VivadoSynthActionIndex="0">
"%name" "%name"
"%part" <!-- "%part" -->
"%part_synth"
"%constrset" "%constrset"
"%include_dirs" "%include_dirs"
"%generic" "%generic"
...@@ -299,7 +326,17 @@ ...@@ -299,7 +326,17 @@
"| %SedPaths" "| %SedPaths"
<if NoBabyTalk="true"> <if NoBabyTalk="true">
"| grep --line-buffered -v \"license\"" "| grep --line-buffered -v \"license\""
<!-- Add [Synthesis:0000] to lines that do not have [file:line] - then "Synthesis" will appear in "Problems" location--> </if>
<!-- Various grep filters -->
"%Memdata"
"%Synth"
"%Netlist"
"%Opt"
"%Project"
"%Timing"
"%OtherProblems"
<if NoFileProblem="true">
<!-- Add [Synthesis:0000] to lines that do not have [file:line] - then "Synthesis" will appear in "Problems" location-->
"| sed -u 's@^[^\[]*\[[^\[]*$@&amp;\[Synthesis:0000\]@'" "| sed -u 's@^[^\[]*\[[^\[]*$@&amp;\[Synthesis:0000\]@'"
</if> </if>
</line> </line>
......
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