Commit 284d0f69 authored by Andrey Filippov's avatar Andrey Filippov
Browse files

new tool description files

parent c21075db
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -205,10 +205,10 @@
			</line>
			</line>
			<line name="vivado_copy_after_bitstream">
			<line name="vivado_copy_after_bitstream">
				"-c"
				"-c"
				"mkdir -p %VivadoLocalDir ;"
				"mkdir -p %VivadoLocalResultDir ;"
				"rsync -avr -e ssh"
				"rsync -avr -e ssh"
				"%RemoteUser@%RemoteHost:%VivadoProjectRoot/build/%filename.*"
				"%RemoteUser@%RemoteHost:%VivadoProjectRoot/build/%filename.*"
				"%VivadoLocalDir/"
				"%VivadoLocalResultDir/"
			</line>
			</line>
			<line name="parser_VivadoBitstream"
			<line name="parser_VivadoBitstream"
				errors=   "PatternErrors"
				errors=   "PatternErrors"
+4 −4
Original line number Original line Diff line number Diff line
@@ -8,13 +8,13 @@
		shell="/bin/bash" interface="VivadoInterface" description="Launching remote Xilinx Vivado in console"> 
		shell="/bin/bash" interface="VivadoInterface" description="Launching remote Xilinx Vivado in console"> 
		<action-menu>
		<action-menu>
			<action label="Launch Vivado" resource="" icon="door_in.png" />
			<action label="Launch Vivado" resource="" icon="door_in.png" />
			<action label="Generate public key" resource="" icon="gnu.png" />
			<action label="Generate public key" resource="" icon="key.png" />
			<action label="Setup connection to" resource="%RemoteUser@%RemoteHost"
			<action label="Setup connection to" resource="%RemoteUser@%RemoteHost"
			check-extension="false" check-existence="false" icon="gnu.png" />
			check-extension="false" check-existence="false" icon="setup.png" />
			<action label="Launch shell on remote" resource="" icon="xilinx.png" />
			<action label="Launch shell on remote" resource="" icon="shell.png" />
		</action-menu>
		</action-menu>
 
 
		<parameter   id="command" label="Shell command" default=""
		<parameter   id="command" label="Shell command" default="bash"
					type="String" format="CopyValue" visible="true" readonly="false"  />
					type="String" format="CopyValue" visible="true" readonly="false"  />


		<parameter   id="actionIndex" default="%%ChosenActionIndex"
		<parameter   id="actionIndex" default="%%ChosenActionIndex"
+250 −0
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>

<vdt-project>
	<interface name="VivadoOptInterface" extends="VivadoInterface">
	    <typedef name="OptDirectiveType">
      		<paramtype kind= "enum" base="String">
      			<item value="Explore"               label="Run multiple passes of optimization to improve results."/>
      			<item value="ExploreArea"           label="Run multiple passes of optimization, with an emphasis on reducing area."/>
      			<item value="ExploreSequentialArea" label="Run multiple passes of optimization, with an emphasis on reducing registers and related combinational logic."/>
      			<item value="AddRemap"              label="Run the default optimization, and include LUT remapping to reduce logic levels."/>
      			<item value="RuntimeOptimized"      label="Run the fewest iterations, trading optimization results for faster runtime."/>
      			<item value="Default"               label=" Run the default optimization."/>
      		</paramtype>
    	</typedef>
	</interface>

	<tool name="VivadoOpt" label="Optimize design"
	    project="FPGA_project"
		interface="VivadoOptInterface"
		package="FPGA_package"
		shell="/bin/bash"
		description="Vivado optimize design"
		result="SnapshotOpt"
		log-dir="VivadoLogDir"
		state-dir="VivadoLocalDir"
		restore="RestoreVivadoOpt"
		disable="DisableVivadoOpt"
		autosave="AutosaveVivadoOpt"
		save="SaveVivadoOpt"
		
		>
		<action-menu>
			<action label="Optimize" resource="" icon="opt_blue.png" />
		</action-menu>
		<parameter id="SkipPreOptimization" label="Skip pre-optimization" tooltip="Do not run pre optimization TCL commands"
		           default="false" type= "Boolean" format="None"/>
		<parameter id="SkipOptimization" label="Skip optimize" tooltip="Do not run opt_design"
		           default="false" type= "Boolean" format="None"/>

<!--   left from synthesis, may need update--> 
		<parameter id="ShowWarnings" label="Parse warnings" tooltip="Parse warning messages"
		           default="true"
		           type= "Boolean" format="None"/>
		<parameter id="ShowInfo" label="Parse info" tooltip="Parse info messages"
		           default="true"
		           type= "Boolean" format="None"/>
        <parameter id="PreGrepW" visible="false"
                   type="String" format="None"
                   default="?%ShowWarnings=true: |WARNING, "/>
        <parameter id="PreGrepI" visible="false"
                   type="String" format="None"
                   default="?%ShowInfo=true: |INFO, "/>
        <parameter id="GrepEWI" label="Grep filter" tooltip="Calculated grep filter"
                   default="grep --line-buffered -E 'ERROR%PreGrepW%PreGrepI'"
                   type="String" format="CopyValue"
                   visible="true" readonly="true"/>
                   
		<parameter id="PreOptTCL" label="Pre-optimize TCL commands" tooltip="TCL commands to run before opt_design"
			type="Stringlist" format="ProgramSyntax" default="" omit=""
			readonly="false" visible="true" />
  
<!-- opt_design arguments -->  

        <parameter 	id="directive_opt" outid="directive" label="Directive" tooltip= "Mode of behaviour for opt_design command, not compatible with individual optimization settings."
        			default="Default" visible="true" omit="Default" type="OptDirectiveType" format="Dash"/>
        <parameter 	id="retarget"  label="Retarget" tooltip= "Retarget block types when using different part"
        			default="false" visible="true" omit="false" type="Boolean" format="DashName"/>
        <parameter 	id="propconst" label="Propagate constants" tooltip= "Propagate constants across leaf-level instances"
        			default="false" visible="true" omit="false" type="Boolean" format="DashName"/>
        <parameter 	id="sweep" label="Remove unconnected instances" tooltip= "Remove unconnected leaf-level instances"
        			default="false" visible="true" omit="false" type="Boolean" format="DashName"/>
        <parameter 	id="bram_power_opt" label="Optimize BRAM" tooltip= "Power optimization of BRAM cells - changes WRITE_MODE and clock gating"
        			default="false" visible="true" omit="false" type="Boolean" format="DashName"/>
        <parameter 	id="remap" label="Remap LUTs" tooltip= "Remap logic optimally in LUTs"
        			default="false" visible="true" omit="false" type="Boolean" format="DashName"/>
        <parameter 	id="resynth_area" label="Re-synthesis in area mode" tooltip= " Perform re-synthesis in area mode to reduce the number of LUTs."
        			default="false" visible="true" omit="false" type="Boolean" format="DashName"/>
        <parameter 	id="resynth_seq_area" label="Re-synthesis with sequential" tooltip= "Re-synthesis with both combinatorial and sequential optimizations)."
        			default="false" visible="true" omit="false" type="Boolean" format="DashName"/>
        <parameter	id="quiet_opt" outid="quiet" label="Quiet" tooltip= "Ignore errors, return TCL_OK in any case"
        			default="false" visible="true" omit="false" type="Boolean" format="DashName"/>
        <parameter	id="verbose_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="VivadoOptActionIndex" default="%%ChosenActionIndex"
					type="String" format="CopyValue" visible="false"  />
					<!--  invisible/calculated parameters -->        			
        <parameter	id="AutosaveVivadoOpt" default="?%%ChosenActionIndex=0 ^ %SkipSnapshotOpt=false : true, false"
                    visible="false" type="Boolean" format="None"/>
					
			
		<input>
			<group name="General">
				"SkipPreOptimization"
				"SkipOptimization"
				"---"
 				"SnapshotOpt" <!--  same as in project -->
				"ShowWarnings"
				"ShowInfo"
				"GrepEWI"
			</group>
			<group name="Pre-optimization commands">
		        "PreOptTCL"
			</group>
			<group name="Optimization">
       			"directive_opt"
       			"---"
				"retarget"
				"propconst"
       			"sweep"
       			"bram_power_opt"
				"remap"
       			"resynth_area"
       			"resynth_seq_area"
       			"---"
       			"quiet_opt"
       			"verbose_opt"
			</group>
			<group name="Parser">
				"NoFileProblem"
		        "Drc"
				"Memdata"
		        "Netlist"
		        "Opt"
		        "Project"
		        "Timing"
		        "Pwropt"
		        "Vivado_Tcl"
		        "OtherProblems"
				"---"
				"PatternErrors"
				"PatternWarnings"
 				"PatternInfo"
			</group>
			
		</input>
		<output>
			<line name="vivado_run_opt"
			      dest="VivadoConsole"
			      mark="``" 
			      sep=""
			      prompt="@@FINISH@@"
			      success="opt_design completed successfully"
			      log=""
			      stdout="parser_VivadoOpt">
			      "cd ~/%VivadoProjectRoot\n"
			      "set outputDir ~/%VivadoProjectRoot/build\n"
			      "file mkdir $outputDir\n"
		          <!-- Run pre-optimization TCL commands (if specified) -->
			      <if SkipPreOptimization="false">
				      <if-not PreOptTCL="">
				      		"%PreOptTCL\n"
				      </if-not>
				      <if PreOptTCL="">
				      		"puts \"No pre-optimization TCL commands specified\"\n"'
				      </if>
			      </if>
			      <if SkipOptimization="false">
		          <!-- Run optimization -->
			          "opt_design"
			          "%retarget"
			          "%propconst"
			          "%sweep"
			          "%bram_power_opt"
			          "%remap"
			          "%resynth_area"
			          "%resynth_seq_area"
			          "%directive_opt"
			          "%quiet_opt"
			          "%verbose_opt"
				      "\n"
			      </if>
				"puts \"@@FINISH@@\"\n"
			</line>
			<line name="parser_VivadoOpt"
				errors=   "PatternErrors"
				warnings= "PatternWarnings"
				info=     "PatternInfo">
				"-c"
     			"%GrepEWI"
     			"| %SedPaths"
     			<if NoBabyTalk="true">
     				"| grep --line-buffered -v \"license\""
     			</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;\[Optimization:0000\]@'"
     			</if>
			</line>
		</output>
	</tool>
	
	<!--  Restore tool for VivadoOptPlace -->
	<tool name="RestoreVivadoOpt"
		project="FPGA_project"
		interface="VivadoInterface"
		package="FPGA_package"
		inherits="RestoreVivado"/>
	<!--  Save tool for VivadoOptPlace -->

	<tool name="SaveVivadoOpt"
		project="FPGA_project"
		interface="VivadoInterface"
		package="FPGA_package"
		inherits="SaveVivado"/>
</vdt-project>
Loading