Commit 81b6ef67 authored by Andrey Filippov's avatar Andrey Filippov

Added trce tools, fixed outid inheritance

parent 71298ae9
...@@ -558,7 +558,8 @@ public class Parameter implements Cloneable, Updateable { ...@@ -558,7 +558,8 @@ public class Parameter implements Cloneable, Updateable {
if(id == null) if(id == null)
throw new NullPointerException("id == null"); throw new NullPointerException("id == null");
if(outid == null) //outid is never null - it is set to id in that case just when parameter is constructed
if((outid == null) || outid.equals(id))
outid = param.outid; outid = param.outid;
if(typeName == null) if(typeName == null)
......
...@@ -18,36 +18,27 @@ ...@@ -18,36 +18,27 @@
label="GTKWave (Waves viewer)" label="GTKWave (Waves viewer)"
icon="gtkwave.ico" icon="gtkwave.ico"
call="iverilog"/> call="iverilog"/>
</menu>
<menu name="Python tests"
label="Tests with remote Python console"
icon="python.png">
<menuitem name="RemotePython"
label="Run remote Python session"
icon="python.png"
call="RemotePython"/>
<menuitem name="RemotePythonCommand"
label="Send a command to the remote Python session"
icon="my_tool.gif"
call="RemotePythonCommand"/>
</menu> </menu>
<menu name="ISE" <menu name="ISE"
label="ISE Tools" label="ISE Tools"
icon="xilinx.png"> icon="xilinx.png">
<menu name="ISE_utils"
label="ISE utilities"
icon="setup.png">
<menuitem name="ISECopyUnisims" <menuitem name="ISECopyUnisims"
label="Copy Xilinx ISE primitives library to the local project" label="Copy Xilinx ISE primitives library to the local project"
icon="copy.png" icon="copy.png"
call="ISEUnisims"/> call="ISEUnisims"/>
<menuitem name="ISE Server"
label="Start remote ISE session"
icon="door_in.png"
call="ISE"/>
<menuitem name="ISEPartgen" <menuitem name="ISEPartgen"
label="Run ISE partgen" label="Run ISE partgen"
icon="bitstream.png" icon="bitstream.png"
call="ISEPartgen"/> call="ISEPartgen"/>
</menu>
<menuitem name="ISE Server"
label="Start remote ISE session"
icon="door_in.png"
call="ISE"/>
<menuitem name="ISESynthesis" <menuitem name="ISESynthesis"
label="Synthesize design" label="Synthesize design"
icon="Retort.png" icon="Retort.png"
...@@ -60,10 +51,18 @@ ...@@ -60,10 +51,18 @@
label="Map design" label="Map design"
icon="map_icon.png" icon="map_icon.png"
call="ISEMap"/> call="ISEMap"/>
<menuitem name="ISETraceMap"
label="Report post-map timing"
icon="clock.png"
call="ISETraceMap"/>
<menuitem name="ISEPAR" <menuitem name="ISEPAR"
label="Place &amp; route design" label="Place &amp; route design"
icon="route66.png" icon="route66.png"
call="ISEPAR"/> call="ISEPAR"/>
<menuitem name="ISETracePAR"
label="Report post-implementation timing"
icon="clock.png"
call="ISETracePAR"/>
<menuitem name="ISEBitgen" <menuitem name="ISEBitgen"
label="Generate bitstream file(s)n" label="Generate bitstream file(s)n"
icon="bitstream.png" icon="bitstream.png"
...@@ -73,11 +72,19 @@ ...@@ -73,11 +72,19 @@
<menu name="Vivado" <menu name="Vivado"
label="Vivado Tools" label="Vivado Tools"
icon="xilinx.png"> icon="xilinx.png">
<menu name="VivadoUtils"
label="Vivado utilities"
icon="setup.png">
<menuitem name="CopyUnisims" <menuitem name="CopyUnisims"
label="Copy Xilinx Vivado primitives library to the local project" label="Copy Xilinx Vivado primitives library to the local project"
icon="copy.png" icon="copy.png"
call="VivadoUnisims"/> call="VivadoUnisims"/>
<menuitem name="Vivado Test"
label="Send a 'Hello World' command to the remote Vivado session"
icon="my_tool.gif"
call="VivadoTest"/>
</menu>
<menuitem name="Vivado Server" <menuitem name="Vivado Server"
label="Start remote Vivado session" label="Start remote Vivado session"
icon="door_in.png" icon="door_in.png"
...@@ -146,27 +153,8 @@ ...@@ -146,27 +153,8 @@
icon="bitstream.png" icon="bitstream.png"
call="VivadoBitstream"/> call="VivadoBitstream"/>
<menuitem name="Vivado Test"
label="Send a 'Hello World' command to the remote Vivado session"
icon="my_tool.gif"
call="VivadoTest"/>
</menu> </menu>
<menuitem name="Test VDT"
label="Testing some VDT features"
icon="sample.gif"
call="VDTTest"/>
<!--
<menuitem name="Test VDT-A"
label="Testing some VDT features"
icon="sample.gif"
tool-instance="VDTTest_inst2"
call="VDTTest"/>
-->
<menuitem name="Test VDT1"
label="Testing some VDT features - variant 1"
icon="sample.gif"
call="VDTTest1"/>
</menu> </menu>
...@@ -175,6 +163,19 @@ ...@@ -175,6 +163,19 @@
icon="sample.gif" icon="sample.gif"
tip="This is an user menu" tip="This is an user menu"
inherits="MainDesignMenu"> inherits="MainDesignMenu">
<menu name="Python tests"
label="Tests with remote Python console"
icon="python.png">
<menuitem name="RemotePython"
label="Run remote Python session"
icon="python.png"
call="RemotePython"/>
<menuitem name="RemotePythonCommand"
label="Send a command to the remote Python session"
icon="my_tool.gif"
call="RemotePythonCommand"/>
</menu>
<menu name="OtherStuff" <menu name="OtherStuff"
label="Various Sample Tools"> label="Various Sample Tools">
...@@ -193,6 +194,21 @@ ...@@ -193,6 +194,21 @@
label="MyTool" label="MyTool"
icon="my_tool.gif" icon="my_tool.gif"
call="MyTool"/> call="MyTool"/>
<menuitem name="Test VDT"
label="Testing some VDT features"
icon="sample.gif"
call="VDTTest"/>
<!--
<menuitem name="Test VDT-A"
label="Testing some VDT features"
icon="sample.gif"
tool-instance="VDTTest_inst2"
call="VDTTest"/>
-->
<menuitem name="Test VDT1"
label="Testing some VDT features - variant 1"
icon="sample.gif"
call="VDTTest1"/>
</menu> </menu>
</menu> </menu>
......
...@@ -141,7 +141,7 @@ ...@@ -141,7 +141,7 @@
<line name="ise_copy_after_bitgen"> <line name="ise_copy_after_bitgen">
"-c" "-c"
"mkdir -p %ISELocalResultDir ;" "mkdir -p %ISELocalResultDir ;"
"echo \" *** ignore missing files below ***\"" "echo \" *** ignore missing files below ***\";"
"rsync -avr -e ssh" "rsync -avr -e ssh"
"%RemoteUser@%RemoteHost:%ISEProjectRoot/*.bgn" "%RemoteUser@%RemoteHost:%ISEProjectRoot/*.bgn"
"%RemoteUser@%RemoteHost:%ISEProjectRoot/*.drc" "%RemoteUser@%RemoteHost:%ISEProjectRoot/*.drc"
......
...@@ -46,7 +46,6 @@ ...@@ -46,7 +46,6 @@
<depends-list> <depends-list>
<depends state="ISESnapshotMap"/> <depends state="ISESnapshotMap"/>
<!-- <depends files="constraints"/>-->
</depends-list> </depends-list>
<parameter id="SkipSnapshotPAR" label="Skip snapshot" tooltip="Do not create snapshot after PAR" <parameter id="SkipSnapshotPAR" label="Skip snapshot" tooltip="Do not create snapshot after PAR"
......
<?xml version="1.0" encoding="UTF-8"?>
<vdt-project>
<tool name="ISETraceMap" label="Report post-map timing"
project="FPGA_project"
interface="ISETraceInterface"
package="FPGA_package"
shell="/bin/bash"
description="Report post-map timing"
log-dir="ISELogDir"
state-dir="ISELocalDir"
disable="DisableISETiming"
inherits="ISETrace"
>
<action-menu>
<action label="Report post-map static timing" resource="" icon="clock.png" />
</action-menu>
<depends-list>
<depends state="ISESnapshotMap"/>
</depends-list>
<parameter id="DisableISETiming"/>
<parameter id="input_file"/>
<parameter id="physical_constraints_file"/>
<parameter id="extra_input_files"/>
<!-- Trace options -->
<parameter id="advanced_analysis"/>
<parameter id="error_report"/>
<parameter id="fastpath"/>
<parameter id="limit_per_endpoint"/>
<parameter id="nodatasheet"/>
<parameter id="noflight"/>
<parameter id="output_file" default="%%ProjectName-map.twr"/>
<parameter id="stamp"/>
<parameter id="timegroups"/>
<parameter id="timing_specification_interaction"/>
<parameter id="uncovered_paths"/>
<parameter id="verbose"/>
<parameter id="output_xml" default="%%ProjectName-map.twx"/>
<!-- common parameters from the base tool -->
<parameter id="intstyle"/>
<parameter id="command_files"/>
<parameter id="speed_grade"/>
<!-- calculated parameters -->
<parameter id="ISETraceActionIndex" default="%%ChosenActionIndex"
type="String" format="CopyValue" visible="false" />
<parameter id="rawStamp" default="%stamp" visible="false" type="String" format="CopyValue"/>
</tool>
</vdt-project>
<?xml version="1.0" encoding="UTF-8"?>
<vdt-project>
<tool name="ISETracePAR" label="Report post-implementation timing"
project="FPGA_project"
interface="ISETraceInterface"
package="FPGA_package"
shell="/bin/bash"
description="Report post-implementation timing"
log-dir="ISELogDir"
state-dir="ISELocalDir"
disable="DisableISETiming"
inherits="ISETrace"
>
<action-menu>
<action label="Report post-implementation static timing" resource="" icon="clock.png" />
</action-menu>
<depends-list>
<depends state="ISESnapshotPAR"/>
</depends-list>
<parameter id="DisableISETiming"/>
<parameter id="input_file"/>
<parameter id="physical_constraints_file"/>
<parameter id="extra_input_files"/>
<!-- Trace options -->
<parameter id="advanced_analysis"/>
<parameter id="error_report"/>
<parameter id="fastpath"/>
<parameter id="limit_per_endpoint"/>
<parameter id="nodatasheet"/>
<parameter id="noflight"/>
<parameter id="output_file" default="%%ProjectName-par.twr"/>
<parameter id="stamp"/>
<parameter id="timegroups"/>
<parameter id="timing_specification_interaction"/>
<parameter id="uncovered_paths"/>
<parameter id="verbose"/>
<parameter id="output_xml" default="%%ProjectName-par.twx"/>
<!-- common parameters from the base tool -->
<parameter id="intstyle"/>
<parameter id="command_files"/>
<parameter id="speed_grade"/>
<!-- calculated parameters -->
<parameter id="ISETraceActionIndex" default="%%ChosenActionIndex"
type="String" format="CopyValue" visible="false" />
<parameter id="rawStamp" default="%stamp" visible="false" type="String" format="CopyValue"/>
</tool>
</vdt-project>
<?xml version="1.0" encoding="UTF-8"?>
<vdt-project>
<interface name="ISETraceInterface" extends="ISEInterface">
</interface>
<tool name="ISETrace" label="run Trace"
project="FPGA_project"
interface="ISETraceInterface"
package="FPGA_package"
shell="/bin/bash"
description="Run Trace"
log-dir="ISELogDir"
state-dir="ISELocalDir"
disable="DisableISETiming"
abstract="true"
inherits="ISEToolPrototype"
priority="0.5"
>
<action-menu>
<action label="Report static timing" resource="" icon="clock.png" />
</action-menu>
<parameter id="DisableISETiming" label="Disable" tooltip="Disable timing report"
default="false" type= "Boolean" format="None"/>
<parameter id="input_file" label="Design file name" tooltip= "Input design file name (*.ncd)"
default="%%ProjectName.ncd" visible="true" type="String" format="CopyValue"/>
<parameter id="physical_constraints_file" label="Physical constraints file" tooltip= "Physical constraints file (*.pcf)"
default="%%ProjectName.pcf" visible="true" omit="" type="String" format="CopyValue"/>
<parameter id="extra_input_files" label="extra files"
tooltip= "Extra input files to copy to the top directory before running Trace"
default="" omit="" visible="true" type="Filelist" format="ParamListSyntax"/>
<!-- Can output_file be the same as input_file? -->
<!-- Trace options -->
<parameter id="advanced_analysis" outid="a" label="Advanced analysis"
tooltip="Used when no timing constraints are provided"
default="false" omit="false" type= "Boolean" format="DashName"/>
<parameter id="error_report" outid="e" label="Generate error report"
tooltip="Generate error report instead of timing report, limit number of items per constraint"
default="3" omit="3" type= "Cardinal" format="Dash"/>
<parameter id="fastpath" label="Report fastest"
tooltip="Report fastest paths of the design"
default="false" omit="false" type= "Boolean" format="DashName"/>
<parameter id="limit_per_endpoint" outid="n" label="Limit per endpoint"
tooltip="Limit paths per endpoint"
default="3" omit="3" type= "Cardinal" format="Dash"/>
<parameter id="nodatasheet" label="Skip datasheet"
tooltip="Skip datasheet section in the report"
default="false" omit="false" type= "Boolean" format="DashName"/>
<parameter id="noflight" label="No package delay"
tooltip="Do not include package flight delay"
default="false" omit="false" type= "Boolean" format="DashName"/>
<parameter id="output_file" outid="o" label="Output file name"
tooltip= "Output file name (*.twr) (use '-' to disable)"
default="%%ProjectName.twr" visible="true" omit="-" type="String" format="Dash"/>
<parameter id="stamp" label="Stamp file"
tooltip= "Generate STAMP timing model files"
default="" visible="true" omit="" type="String" format="Dash"/>
<parameter id="timegroups" label="Generate a table of timegroups"
tooltip="Generate a table of timegroups, requires 'v' (verbose) or 'e' (generate error report) options"
default="false" omit="false" type= "Boolean" format="DashName"/>
<parameter id="timing_specification_interaction" outid="tsi" label="Timing specification interaction"
tooltip= "Generate timing specification interaction (*.tsi) report"
default="" visible="true" omit="" type="String" format="Dash"/>
<parameter id="uncovered_paths" outid="u" label="Report uncovered paths"
tooltip= "Report paths that are not covered by any delays"
default="0" visible="true" omit="0" type="Cardinal" format="Dash"/>
<parameter id="verbose" outid="v" label="Verbose report limit"
tooltip= "Verbose report, limit number of items per constraint"
default="0" visible="true" omit="0" type="Cardinal" format="Dash"/>
<parameter id="output_xml" outid="xml" label="Output xml file"
tooltip= "Output xml file name (*.twx), use '-' to disable"
default="%%ProjectName.twx" visible="true" omit="-" type="String" format="Dash"/>
<!-- common parameters from the base tool -->
<parameter id="intstyle"/> <!-- USED Trace -->
<parameter id="command_files"/> <!-- USED Trace-->
<parameter id="speed_grade"/> <!-- USED Trace-->
<!-- calculated parameters -->
<parameter id="ISETraceActionIndex" default="%%ChosenActionIndex"
type="String" format="CopyValue" visible="false" />
<parameter id="rawStamp" default="%stamp" visible="false" type="String" format="CopyValue"/>
<input>
<group name="General options">
"DisableISETiming"
"input_file"
"physical_constraints_file"
"extra_input_files"
"output_file"
"output_xml"
"stamp"
</group>
<group name ="Trace Options">
<!-- Trace options -->
"advanced_analysis"
"error_report"
"fastpath"
"limit_per_endpoint"
"nodatasheet"
"noflight"
"timegroups"
"timing_specification_interaction"
"uncovered_paths"
"verbose"
"---"
"ISEProjectRoot"
"ISERemoteDir"
</group>
</input>
<output>
<if-not extra_input_files="">
<line name="ise_copy_pre_timing">
"-c"
"rsync -avrR -e ssh"
"%extra_input_files"
"%RemoteUser@%RemoteHost:%ISEProjectRoot"
</line>
</if-not>
<line name="ise_run_timimg"
dest="ISEConsole"
mark="``"
sep=" "
prompt="@@FINISH@@"
success="@@FINISH@@"
failure="ERROR"
log=""
stdout="parser_ISE">
"mkdir -p"
"~/%ISEProjectRoot/%ISERemoteDir"
"\n"
"cd ~/%ISEProjectRoot\n"
"%ISEBinAbsolutePath/trce"
<!-- bitgen command options -->
"%advanced_analysis"
"%error_report"
"%fastpath"
"%limit_per_endpoint"
"%nodatasheet"
"%noflight"
"%timegroups"
"%timing_specification_interaction"
"%uncovered_paths"
"%verbose"
"%output_file"
"%output_xml"
"%stamp"
<!-- input (*.ncd) file -->
"%input_file"
<!-- physical constraints (*.pcf) output file -->
"%physical_constraints_file"
"\n"
"echo \"@@FINISH@@\"\n"
</line>
<!-- TODO: copy results -->
<line name="ise_copy_after_timing">
"-c"
"mkdir -p %ISELocalResultDir ;"
"echo \" *** ignore missing files below ***\";"
"rsync -avr -e ssh"
"%RemoteUser@%RemoteHost:%ISEProjectRoot/*.twr"
"%RemoteUser@%RemoteHost:%ISEProjectRoot/*.twx"
<if-not rawStamp="">
"%RemoteUser@%RemoteHost:%ISEProjectRoot/%rawStamp"
</if-not>
"%ISELocalResultDir/"
</line>
</output>
</tool>
</vdt-project>
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<action label="Generate public key" resource="" icon="key.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="setup.png" /> check-extension="false" check-existence="false" icon="setup.png" />
<action label="Launch shell on remote" resource="" icon="shell.png" /> <!-- <action label="Launch shell on remote" resource="" icon="shell.png" /> -->
</action-menu> </action-menu>
<parameter id="command" label="Shell command" default="bash" <parameter id="command" label="Shell command" default="bash"
...@@ -106,6 +106,7 @@ ...@@ -106,6 +106,7 @@
"ssh-copy-id %RemoteUser@%RemoteHost;" "ssh-copy-id %RemoteUser@%RemoteHost;"
</line> </line>
</if> </if>
<!--
<if actionIndex="3"> <if actionIndex="3">
<line name="Vivado"> <line name="Vivado">
"%ShellSwitches" "%ShellSwitches"
...@@ -130,7 +131,7 @@ ...@@ -130,7 +131,7 @@
"exit 1; } ;" "exit 1; } ;"
</line> </line>
</if> </if>
-->
</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