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

more on error parsing

parent 2a1704e7
......@@ -30,7 +30,7 @@
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"
visible="true" />
......
......@@ -2,6 +2,9 @@
<vdt-project>
<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="VerboseSyntax" format=" -verbose" />
<syntax name="DirectiveSyntax" format=" -directive %%ParamValue" /> -->
......
......@@ -171,6 +171,38 @@
<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"/>
<!-- 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 -->
<!-- not really used now, always "0" -->
<parameter id="VivadoOptPlaceActionIndex" default="%%ChosenActionIndex"
......@@ -192,55 +224,72 @@
"GrepEWI"
</group>
<group name="Pre-optimization commands">
"PreOptTCL"
"PreOptTCL"
</group>
<group name="Optimization">
"directive_opt"
"---"
"retarget"
"propconst"
"sweep"
"bram_power_opt"
"remap"
"resynth_area"
"resynth_seq_area"
"---"
"quiet_opt"
"verbose_opt"
"directive_opt"
"---"
"retarget"
"propconst"
"sweep"
"bram_power_opt"
"remap"
"resynth_area"
"resynth_seq_area"
"---"
"quiet_opt"
"verbose_opt"
</group>
<group name="Power Optimization">
"quiet_pwr_opt"
"verbose_pwr_opt"
"quiet_pwr_opt"
"verbose_pwr_opt"
</group>
<group name="Placement">
"directive_place"
"---"
"no_timing_driven"
"unplace"
"post_place_opt"
"---"
"quiet_place"
"verbose_place"
"directive_place"
"---"
"no_timing_driven"
"unplace"
"post_place_opt"
"---"
"quiet_place"
"verbose_place"
</group>
<group name="Physical Optimization">
"directive_phys_opt"
"---"
"fanout_opt"
"placement_opt"
"rewire"
"critical_cell_opt"
"dsp_register_opt"
"bram_register_opt"
"bram_enable_opt"
"shift_register_opt"
"hold_fix"
"retime"
<!-- TODO: Implement force_replication_on_nets args (requires? get_nets command ) -->
"critical_pin_opt"
"---"
"quiet_phys_opt"
"verbose_phys_opt"
"directive_phys_opt"
"---"
"fanout_opt"
"placement_opt"
"rewire"
"critical_cell_opt"
"dsp_register_opt"
"bram_register_opt"
"bram_enable_opt"
"shift_register_opt"
"hold_fix"
"retime"
<!-- TODO: Implement force_replication_on_nets args (requires? get_nets command ) -->
"critical_pin_opt"
"---"
"quiet_phys_opt"
"verbose_phys_opt"
</group>
<group name="Parser">
"NoFileProblem"
"Drc"
"Memdata"
"Netlist"
"Opt"
"Project"
"Timing"
"Pwropt"
"Vivado_Tcl"
"OtherProblems"
"---"
"PatternErrors"
"PatternWarnings"
"PatternInfo"
</group>
</input>
<output>
......@@ -250,9 +299,9 @@
<line name="vivado_copy_pre_opt">
"-c"
<!-- Create project directory on remote server if it did not exist -->
"ssh -l"
"%RemoteUser"
"%RemoteHost"
"ssh"
"-oBatchMode=yes"
"-l %RemoteUser %RemoteHost"
"'"
"mkdir -p"
"%VivadoProjectRoot"
......@@ -362,18 +411,28 @@
</line>
</if-and>
<line name="parser_VivadoOpt"
errors=".*ERROR: (\[.*\].*)\[(.*):([0-9]+)\]"
warnings=".*WARNING: (\[.*\].*)\[(.*):([0-9]+)\]"
info=".*INFO: (\[.*\].*)\[(.*):([0-9]+)\]">
errors= "PatternErrors"
warnings= "PatternWarnings"
info= "PatternInfo">
"-c"
"%GrepEWI"
"| %SedPaths"
<if NoBabyTalk="true">
"| 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\]@'"
</if>
</line>
</output>
</tool>
......
......@@ -101,12 +101,12 @@
<parameter id="name" label="Design name" tooltip= "Design to open after synth"
default="" visible="true" omit="" type="String" format="Dash"/>
<!-- part is defined in "FPGA_project" -->
<!-- <parameter id="part" label="Part" tooltip= "Xilinx device to use"
default="" visible="true" omit="" type="String" format="Dash"/> -->
<parameter id="part_synth" outid="part" label="Part (see Project)" tooltip= "Xilinx device to use (configured in 'project' dialog)"
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"
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"
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'
......@@ -147,8 +147,8 @@
<!-- 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"
default="%ConstraintsFiles" visible="false" />
<parameter id="top" label="" tooltip= "Top module of the design"
default="%%TopModule" visible="false" omit="" type="String" format="Dash"/>
<!-- <parameter id="top" label="" tooltip= "Top module of the design"
default="%%TopModule" visible="false" omit="" type="String" format="Dash"/> -->
<parameter id="VivadoSynthActionIndex" default="%%ChosenActionIndex"
type="String" format="CopyValue" visible="false" />
......@@ -162,7 +162,22 @@
<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="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>
<group name="General">
......@@ -179,7 +194,8 @@
"---"
"top"
"name"
"part"
<!-- "part" -->
"part_synth"
"constrset"
"include_dirs"
"generic"
......@@ -200,9 +216,19 @@
"verbose"
</group>
<group name="Parser">
"NoFileProblem"
"Memdata"
"Synth"
"Netlist"
"Opt"
"Project"
"Timing"
"OtherProblems"
"---"
"PatternErrors"
"PatternWarnings"
"PatternInfo"
"PatternInfo"
</group>
</input>
......@@ -210,9 +236,9 @@
<!-- mkdir -p vdt/npmtest -->
<line name="vivado_copy_pre_synth">
"-c"
"ssh -l"
"%RemoteUser"
"%RemoteHost"
"ssh"
"-oBatchMode=yes"
"-l %RemoteUser %RemoteHost"
"'"
"mkdir -p"
"%VivadoProjectRoot"
......@@ -250,7 +276,8 @@
"%top"
<if VivadoSynthActionIndex="0">
"%name"
"%part"
<!-- "%part" -->
"%part_synth"
"%constrset"
"%include_dirs"
"%generic"
......@@ -299,7 +326,17 @@
"| %SedPaths"
<if NoBabyTalk="true">
"| 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\]@'"
</if>
</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