Commit 19ca3351 authored by Mikhail Karpenko's avatar Mikhail Karpenko

Start adding Altera Quartus tools to VDT plugin

Quartus tools submenu has been added to MainDesignMenu. Tcl shell
invocation works but causes an error during launch. This is Quartus
issue as the same error appears when the shell is started from
conventional Linux console.
parent 5d32fdb2
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*******************************************************************************
* Copyright (c) 2015 Elphel, Inc.
* This file is a part of VDT plug-in.
* VDT plug-in is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* VDT plug-in is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Additional permission under GNU GPL version 3 section 7:
* If you modify this Program, or any covered work, by linking or combining it
* with Eclipse or Eclipse plugins (or a modified version of those libraries),
* containing parts covered by the terms of EPL/CPL, the licensors of this
* Program grant you additional permission to convey the resulting work.
* {Corresponding Source for a non-source form of such a combination shall
* include the source code for the parts of Eclipse or Eclipse plugins used
* as well as that of the covered work.}
*******************************************************************************/
-->
<vdt-project>
<interface name="QuartusInterface" extends="FPGAPprojectInterface">
<syntax name="GrepFilterProblemSyntax" format='| grep --line-buffered -v "\[%%ParamName"' />
<syntax name="GrepFilterProblemOtherSyntax" format='%(| grep --line-buffered -v "\[%%ParamValue"%|\n%)' />
<typedef name="ParserModeType">
<paramtype kind= "enum" base="String">
<item value="0" label="Tool output is parsed immediately"/>
<item value="1" label="Tool output is delayed by not more than 1 line when consolidating bits"/>
<item value="2" label="As '1', but do not show same bits again"/>
<item value="3" label="All tool output containg hierarchical output is delayed to the very end"/>
</paramtype>
</typedef>
</interface>
<!-- Abstract tools to be inherited by instances used for various Quartus tools -->
<!-- Restore tool for Quartus -->
<tool name="RestoreQuartus" label="Restore state after Quartus tool"
project="FPGA_project"
interface="QuartusInterface"
package="FPGA_package"
shell="/bin/bash"
abstract="true">
<output>
<line name="quartus_pre_restore">
"-c"
<!-- Create project directory on remote server if it did not exist -->
"ssh"
"-oBatchMode=yes"
"-l %RemoteUser %RemoteHost"
"'"
"mkdir -p"
"%QuartusProjectRoot"
"' ;"
<!-- Copy snapshot generated after synthesis from local to remote -->
"rsync -avr -e ssh"
<!-- from: -->
"%QuartusLocalDir/%%StateFile"
<!-- to: -->
"%RemoteUser@%RemoteHost:%QuartusProjectRoot"
";"
</line>
<line name="quartus_restore"
dest="QuartusConsole"
mark="``"
sep=" "
failure="ERROR"
prompt="@@FINISH@@"
log="">
"cd ~/%QuartusProjectRoot\n"
"set outputDir ~/%QuartusProjectRoot/%QuartusRemoteDir\n"
"file mkdir $outputDir\n"
"open_checkpoint %QuartusRemoteDir/%%StateFile\n"
"puts \"@@FINISH@@\"\n"
</line>
</output>
</tool>
<!-- Save tool for Quartus tool -->
<tool name="SaveQuartus"
label="SaveQuartus"
project="FPGA_project"
interface="QuartusInterface"
package="FPGA_package"
shell="/bin/bash"
abstract="true">
<output>
<line name="quartus_save"
dest="QuartusConsole"
mark="``"
sep=" "
prompt="@@FINISH@@"
failure="ERROR"
log="">
"cd ~/%QuartusProjectRoot\n"
"set outputDir ~/%QuartusProjectRoot/%QuartusRemoteDir\n"
"file mkdir $outputDir\n"
"write_checkpoint -force %QuartusRemoteDir/%%StateFile\n"
"puts \"@@FINISH@@\"\n"
</line>
<line name="quartus_copy_after_save">
"-c"
"mkdir -p %QuartusLocalDir ;"
"rsync -avr -e ssh"
"%RemoteUser@%RemoteHost:%QuartusProjectRoot/%QuartusRemoteDir/%%StateFile"
"%%StateDir/"
</line>
</output>
</tool>
</vdt-project>
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*******************************************************************************
* Copyright (c) 2015 Elphel, Inc.
* This file is a part of VDT plug-in.
* VDT plug-in is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* VDT plug-in is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Additional permission under GNU GPL version 3 section 7:
* If you modify this Program, or any covered work, by linking or combining it
* with Eclipse or Eclipse plugins (or a modified version of those libraries),
* containing parts covered by the terms of EPL/CPL, the licensors of this
* Program grant you additional permission to convey the resulting work.
* {Corresponding Source for a non-source form of such a combination shall
* include the source code for the parts of Eclipse or Eclipse plugins used
* as well as that of the covered work.}
*******************************************************************************/
-->
<vdt-project>
<tool name="Quartus"
label="Launch Quartus"
project="FPGA_project"
package="FPGA_package"
shell="/bin/bash" interface="QuartusInterface" description="Launching remote Quartus in console">
<action-menu>
<action label="Launch Quartus" resource="" icon="door_in.png" />
<action label="Generate public key" resource="" icon="key.png" />
<action label="Setup connection to" resource="%RemoteUser@%RemoteHost"
check-extension="false" check-existence="false" icon="setup.png" />
</action-menu>
<parameter id="command" label="Shell command" default="bash"
type="String" format="CopyValue" visible="true" readonly="false" />
<parameter id="actionIndex" default="%%ChosenActionIndex"
type="String" format="CopyValue" visible="false" />
<input>
<group name="General">
"RemoteCommand"
</group>
<group name="Shell">
"command"
</group>
</input>
<output>
<if actionIndex="0">
<line name="Quartus"
timeout="1"
keep-open= "true">
"%QuartusShellSwitches"
"%QuartusPreSSH"
"ssh"
"-oBatchMode=yes"
<if TerminalMode = "true">
"-t -t"
</if>
"%QuartusSSHSwitches"
"-l"
"%RemoteUser"
"%RemoteHost"
"'"
"%QuartusRemoteCommand"
"'"
"%QuartusSSHExtra"
"|| { echo '*** ssh connection to the server %RemoteUser@%RemoteHost failed ***';"
"echo 'You may need to configure connection - it is done in \"Package Setup\"';"
"echo 'Then generate a public key (if it is not done already), and post it to';"
"echo 'the remote server (currently set as %RemoteUser@%RemoteHost)';"
"exit 1; } ;"
</line>
<line name="quartus_check"
dest="QuartusConsole"
mark="``"
sep=""
success="All Rights Reserved."
prompt="@@FINISH@@">
<!--success="Finished parsing RTL primitives"-->
"puts \"@@FINISH@@\"\n"
</line>
</if>
<if actionIndex="1">
<line name="Keygen">
"%QuartusShellSwitches"
"echo \"Generating public key with command:\";"
"echo \"ssh-keygen -t rsa -q -f ~/.ssh/id_rsa -N ''\";"
"ssh-keygen -t rsa -q -f ~/.ssh/id_rsa -N ''"
</line>
</if>
<if actionIndex="2">
<line name="SSHCopyID">
"%QuartusShellSwitches"
"echo \"*********************************************\";"
"echo \"** **\";"
"echo \"** This command requires you to be able **\";"
"echo \"** to login to the remote system and enter **\";"
"echo \"** a password once to post your public key **\";"
"echo \"** there. **\";"
"echo \"** **\";"
"echo \"** For this you need 'ssh-askpass' to be **\";"
"echo \"** installed in your system. **\";"
"echo \"** **\";"
"echo \"** If the command will fail, you need to **\";"
"echo \"** install 'ssh-askpass' and try again or **\";"
"echo \"** just manually run: **\";"
"echo \"\n ssh-copy-id %RemoteUser@%RemoteHost\n\";"
"echo \"** from the system terminal and enter your **\";"
"echo \"** password when prompted. **\";"
"echo \"** **\";"
"echo \"** If you see nothing below this box, that **\";"
"echo \"** likely means that Eclipse is launched **\";"
"echo \"** from the terminal, and the system asks **\";"
"echo \"** your password (or permission to add **\";"
"echo \"** key of the remote host first) in that **\";"
"echo \"** terminal - just switch to it and **\";"
"echo \"** complete the setup. **\";"
"echo \"** **\";"
"echo \"*********************************************\";"
"ssh-copy-id %RemoteUser@%RemoteHost;"
</line>
</if>
</output>
</tool>
</vdt-project>
...@@ -27,247 +27,253 @@ ...@@ -27,247 +27,253 @@
*******************************************************************************/ *******************************************************************************/
--> -->
<vdt-project> <vdt-project>
<menu name="MainDesignMenu" <menu name="MainDesignMenu"
label="Design Menu" label="Design Menu"
icon="sample.gif" icon="sample.gif"
tip="This is a common menu that contains common items"> tip="This is a common menu that contains common items">
<menu name="Verilog" <menu name="Verilog"
label="Verilog Development Tools" label="Verilog Development Tools"
icon="newmod_wiz.gif"> icon="newmod_wiz.gif">
<menuitem name="IVerilog" <menuitem name="IVerilog"
label="Icarus Verilog Simulator" label="Icarus Verilog Simulator"
icon="iverilog.ico" icon="iverilog.ico"
call="iverilog"/> call="iverilog"/>
<menuitem name="GTKWave" <menuitem name="GTKWave"
label="GTKWave (Waves viewer)" label="GTKWave (Waves viewer)"
icon="gtkwave.ico" icon="gtkwave.ico"
call="iverilog"/> call="iverilog"/>
</menu> </menu>
<menu name="ISE" <menu name="ISE"
label="ISE Tools" label="ISE Tools"
icon="xilinx.png"> icon="xilinx.png">
<menu name="ISE_utils" <menu name="ISE_utils"
label="ISE utilities" label="ISE utilities"
icon="setup.png"> 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="ISEPartgen" <menuitem name="ISEPartgen"
label="Run ISE partgen" label="Run ISE partgen"
icon="bitstream.png" icon="bitstream.png"
call="ISEPartgen"/> call="ISEPartgen"/>
</menu> </menu>
<menuitem name="ISE Server" <menuitem name="ISE Server"
label="Start remote ISE session" label="Start remote ISE session"
icon="door_in.png" icon="door_in.png"
call="ISE"/> call="ISE"/>
<menuitem name="ISESynthesis" <menuitem name="ISESynthesis"
label="Synthesize design" label="Synthesize design"
icon="Retort.png" icon="Retort.png"
call="ISExst"/> call="ISExst"/>
<menuitem name="ISENGDBuild" <menuitem name="ISENGDBuild"
label="Run NGDBuild" label="Run NGDBuild"
icon="opt_blue.png" icon="opt_blue.png"
call="ISENGDBuild"/> call="ISENGDBuild"/>
<menuitem name="ISEMap" <menuitem name="ISEMap"
label="Map design" label="Map design"
icon="map_icon.png" icon="map_icon.png"
call="ISEMap"/> call="ISEMap"/>
<menuitem name="ISETraceMap" <menuitem name="ISETraceMap"
label="Report post-map timing" label="Report post-map timing"
icon="clock.png" icon="clock.png"
call="ISETraceMap"/> 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"
<menuitem name="ISETracePAR" label="Report post-implementation timing"
label="Report post-implementation timing" icon="clock.png"
icon="clock.png" call="ISETracePAR"/>
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" call="ISEBitgen"/>
call="ISEBitgen"/> </menu>
</menu>
<menu name="Vivado"
<menu name="Vivado" label="Vivado Tools"
label="Vivado Tools" icon="xilinx.png">
icon="xilinx.png"> <menu name="VivadoUtils"
<menu name="VivadoUtils" label="Vivado utilities"
label="Vivado utilities" icon="setup.png">
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"
<menuitem name="Vivado Test" label="Send a 'Hello World' command to the remote Vivado session"
label="Send a 'Hello World' command to the remote Vivado session" icon="my_tool.gif"
icon="my_tool.gif" call="VivadoTest"/>
call="VivadoTest"/> </menu>
</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" call="Vivado"/>
call="Vivado"/> <menu name="VivadoSynthesisTools"
<menu name="VivadoSynthesisTools" label="Synthesis Tools"
label="Synthesis Tools" icon="Retort.png">
icon="Retort.png"> <menuitem name="VivadoSynthesis"
<menuitem name="VivadoSynthesis" label="Synthesize design"
label="Synthesize design" icon="Retort.png"
icon="Retort.png" call="VivadoSynthesis"/>
call="VivadoSynthesis"/> <menuitem name="VivadoTimingReportSynthesis"
<menuitem name="VivadoTimingReportSynthesis" label="Timing report"
label="Timing report" icon="clock.png"
icon="clock.png" call="VivadoTimingReportSynthesis"/>
call="VivadoTimingReportSynthesis"/> <menuitem name="VivadoTimimgSummaryReportSynthesis"
<menuitem name="VivadoTimimgSummaryReportSynthesis" label="Timing summary"
label="Timing summary" icon="clock_sum.png"
icon="clock_sum.png" call="VivadoTimimgSummaryReportSynthesis"/>
call="VivadoTimimgSummaryReportSynthesis"/> </menu>
</menu> <!-- <menuitem name="VivadoOptPlace"
<!-- <menuitem name="VivadoOptPlace" label="Optimize and place design"
label="Optimize and place design" icon="mondrian2x2.png"
icon="mondrian2x2.png" call="VivadoOptPlace"/> -->
call="VivadoOptPlace"/> --> <menu name="VivadoImplementationTools"
<menu name="VivadoImplementationTools" label="Implementation tools"
label="Implementation tools" icon="process.gif">
icon="process.gif">
<menuitem name="VivadoOpt"
<menuitem name="VivadoOpt" label="Optimize design"
label="Optimize design" icon="opt_blue.png"
icon="opt_blue.png" call="VivadoOpt"/>
call="VivadoOpt"/>
<menuitem name="VivadoOptPower"
<menuitem name="VivadoOptPower" label="Reduce power"
label="Reduce power" icon="fire.png"
icon="fire.png" call="VivadoOptPower"/>
call="VivadoOptPower"/>
<menuitem name="VivadoPlace"
<menuitem name="VivadoPlace" label="Place design"
label="Place design" icon="mondrian2x2.png"
icon="mondrian2x2.png" call="VivadoPlace"/>
call="VivadoPlace"/>
<menuitem name="VivadoOptPhys"
<menuitem name="VivadoOptPhys" label="Post-placement optimize"
label="Post-placement optimize" icon="opt_yellow.png"
icon="opt_yellow.png" call="VivadoOptPhys"/>
call="VivadoOptPhys"/>
<menuitem name="VivadoRoute"
<menuitem name="VivadoRoute" label="Route design"
label="Route design" icon="route66.png"
icon="route66.png" call="VivadoRoute"/>
call="VivadoRoute"/>
<menuitem name="VivadoTimingReportImplemented"
<menuitem name="VivadoTimingReportImplemented" label="Timing report"
label="Timing report" icon="clock.png"
icon="clock.png" call="VivadoTimingReportImplemented"/>
call="VivadoTimingReportImplemented"/>
<menuitem name="VivadoTimimgSummaryReportImplemented"
<menuitem name="VivadoTimimgSummaryReportImplemented" label="Timing summary"
label="Timing summary" icon="clock_sum.png"
icon="clock_sum.png" call="VivadoTimimgSummaryReportImplemented"/>
call="VivadoTimimgSummaryReportImplemented"/> </menu>
</menu> <menuitem name="VivadoBitstream"
<menuitem name="VivadoBitstream" label="Generate bitstream"
label="Generate bitstream" icon="bitstream.png"
icon="bitstream.png" call="VivadoBitstream"/>
call="VivadoBitstream"/> </menu>
<menu name="Quartus"
label="Quartus tools"
</menu> icon="xilinx.png">
<menuitem name="Quartus Server"
</menu> label="Start remote Quartus session"
icon="door_in.png"
<menu name="MainDesignMenu2" call="Quartus"/>
label="Design Menu 2" </menu>
icon="sample.gif"
tip="This is an user menu"
inherits="MainDesignMenu"> </menu>
<menu name="Python tests"
label="Tests with remote Python console" <menu name="MainDesignMenu2"
icon="python.png"> label="Design Menu 2"
icon="sample.gif"
<menuitem name="RemotePython" tip="This is an user menu"
label="Run remote Python session" inherits="MainDesignMenu">
icon="python.png" <menu name="Python tests"
call="RemotePython"/> label="Tests with remote Python console"
<menuitem name="RemotePythonCommand" icon="python.png">
label="Send a command to the remote Python session"
icon="my_tool.gif" <menuitem name="RemotePython"
call="RemotePythonCommand"/> label="Run remote Python session"
</menu> icon="python.png"
call="RemotePython"/>
<menu name="OtherStuff" <menuitem name="RemotePythonCommand"
label="Various Sample Tools"> label="Send a command to the remote Python session"
icon="my_tool.gif"
<menuitem name="tool1" call="RemotePythonCommand"/>
label="MyTool_exe" </menu>
icon="my_tool.gif"
call="MyTool_exe"/> <menu name="OtherStuff"
label="Various Sample Tools">
<menuitem name="tool2"
label="MyTool2_exe" <menuitem name="tool1"
icon="my_tool.gif" label="MyTool_exe"
call="MyTool2_exe"/> icon="my_tool.gif"
call="MyTool_exe"/>
<menuitem name="tool3"
label="MyTool" <menuitem name="tool2"
icon="my_tool.gif" label="MyTool2_exe"
call="MyTool"/> icon="my_tool.gif"
<menuitem name="Test VDT" call="MyTool2_exe"/>
label="Testing some VDT features"
icon="sample.gif" <menuitem name="tool3"
call="VDTTest"/> label="MyTool"
<!-- icon="my_tool.gif"
<menuitem name="Test VDT-A" call="MyTool"/>
label="Testing some VDT features" <menuitem name="Test VDT"
icon="sample.gif" label="Testing some VDT features"
tool-instance="VDTTest_inst2" icon="sample.gif"
call="VDTTest"/> call="VDTTest"/>
--> <!--
<menuitem name="Test VDT1" <menuitem name="Test VDT-A"
label="Testing some VDT features - variant 1" label="Testing some VDT features"
icon="sample.gif" icon="sample.gif"
call="VDTTest1"/> tool-instance="VDTTest_inst2"
</menu> call="VDTTest"/>
-->
</menu> <menuitem name="Test VDT1"
label="Testing some VDT features - variant 1"
<menu name="MainDesignMenu3" icon="sample.gif"
label="Design Menu 3" call="VDTTest1"/>
icon="sample.gif" </menu>
tip="This is another custom user menu"
inherits="MainDesignMenu2"> </menu>
<menu name="JustAnotherStuff" <menu name="MainDesignMenu3"
label="Just Another Stuff" label="Design Menu 3"
icon="sample.gif" icon="sample.gif"
inherits="MainDesignMenu2" tip="This is another custom user menu"
after="Python tests"/> inherits="MainDesignMenu2">
<menuitem name="GREP" <menu name="JustAnotherStuff"
label="Run GREP" label="Just Another Stuff"
call="grep"/> icon="sample.gif"
<menu name="Python tests" inherits="MainDesignMenu2"
label="Tests with remote Python console" after="Python tests"/>
icon="python.png">
<menuitem name="GREP"
<menuitem name="RemotePython" label="Run GREP"
label="Run remote Python session" call="grep"/>
icon="python.png" <menu name="Python tests"
call="RemotePython"/> label="Tests with remote Python console"
<menuitem name="RemotePythonCommand" icon="python.png">
label="Send a command to the remote Python session"
icon="my_tool.gif" <menuitem name="RemotePython"
call="RemotePythonCommand"/> label="Run remote Python session"
</menu> icon="python.png"
call="RemotePython"/>
</menu> <menuitem name="RemotePythonCommand"
label="Send a command to the remote Python session"
</vdt-project> icon="my_tool.gif"
call="RemotePythonCommand"/>
</menu>
</menu>
</vdt-project>
...@@ -29,8 +29,6 @@ ...@@ -29,8 +29,6 @@
<vdt-project> <vdt-project>
<interface name="FPGAPprojectInterface"> <interface name="FPGAPprojectInterface">
<syntax name="RemoteRootSyntax" format="%%ParamValue/%%ProjectName" /> <syntax name="RemoteRootSyntax" format="%%ParamValue/%%ProjectName" />
<!-- <syntax name="SourceListSyntax" format="%(%%SourceList%| %)" />
<syntax name="FilteredSourceListSyntax" format="%(%%FilteredSourceList%| %)" /> -->
<syntax name="ProgramSyntax" format="%(%%ParamValue%|\n%)" /> <syntax name="ProgramSyntax" format="%(%%ParamValue%|\n%)" />
<!-- typedef --> <!-- typedef -->
</interface> </interface>
...@@ -44,7 +42,7 @@ ...@@ -44,7 +42,7 @@
<parameter id="RemoteUser" label="Remote user name" tooltip="Remote user name" type="String" <parameter id="RemoteUser" label="Remote user name" tooltip="Remote user name" type="String"
format="CopyValue" default="%%UserName" readonly="false" visible="true" /> format="CopyValue" default="%%UserName" readonly="false" visible="true" />
<!-- Vivado options --> <!-- Vivado options -->
<parameter id="VivadoRelease" label="Vivado 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" />
...@@ -53,7 +51,7 @@ ...@@ -53,7 +51,7 @@
type="String" format="CopyValue" default="/opt/Xilinx/Vivado" readonly="false" type="String" format="CopyValue" default="/opt/Xilinx/Vivado" readonly="false"
visible="true" /> visible="true" />
<!-- ISE options --> <!-- ISE options -->
<parameter id="ISERelease" label="ISE release" tooltip="ISE release number (part of the path)" <parameter id="ISERelease" label="ISE release" tooltip="ISE release number (part of the path)"
type="String" format="CopyValue" default="14.7" readonly="false" type="String" format="CopyValue" default="14.7" readonly="false"
visible="true" /> visible="true" />
...@@ -62,8 +60,16 @@ ...@@ -62,8 +60,16 @@
type="String" format="CopyValue" default="/opt/Xilinx" readonly="false" type="String" format="CopyValue" default="/opt/Xilinx" readonly="false"
visible="true" /> visible="true" />
<!-- Quartus options -->
<parameter id="QuartusRelease" label="Quartus release" tooltip="Quartus release number (part of the path)"
type="String" format="CopyValue" default="15.0" readonly="false"
visible="true" />
<parameter id="QuartusInstallationRoot" label="Quartus root" tooltip="Quartus Installation Root"
type="String" format="CopyValue" default="/opt/Altera" readonly="false"
visible="true" />
<!-- Vivado advanced parameters --> <!-- Vivado advanced parameters -->
<parameter id="TerminalMode" type="BoolYesNo" format="None" <parameter id="TerminalMode" type="BoolYesNo" format="None"
default="false" label="Force terminal mode" tooltip="Force terminal mode for the remote program" /> default="false" label="Force terminal mode" tooltip="Force terminal mode for the remote program" />
...@@ -102,7 +108,7 @@ ...@@ -102,7 +108,7 @@
readonly="true" readonly="true"
visible="true" /> visible="true" />
<!-- ISE advanced parameters --> <!-- ISE advanced parameters -->
<parameter id="ISETerminalMode" type="BoolYesNo" format="None" <parameter id="ISETerminalMode" type="BoolYesNo" format="None"
default="false" label="Force terminal mode" tooltip="Force terminal mode for the remote program" /> default="false" label="Force terminal mode" tooltip="Force terminal mode for the remote program" />
...@@ -147,9 +153,36 @@ ...@@ -147,9 +153,36 @@
readonly="true" readonly="true"
visible="true" /> visible="true" />
<!-- Quartus advanced parameters -->
<parameter id="QuartusTerminalMode" type="BoolYesNo" format="None"
default="false" label="Force terminal mode" tooltip="Force terminal mode for the remote program" />
<!-- /opt/Xilinx/Vivado/2013.4/bin/vivado -mode tcl --> <parameter id="QuartusShellSwitches" label="Shell switch" tooltip="Shell switches" type="String"
format="CopyValue" default="-c" readonly="false" visible="true" />
<parameter id="QuartusPreSSH" label="pre-ssh" tooltip="pre-ssh shell parameters"
type="String" format="CopyValue" default="" readonly="false" visible="true" />
<parameter id="QuartusSSHSwitches" label="ssh switches" tooltip="Other ssh switches"
type="String" format="CopyValue" default="" readonly="false" visible="true" />
<parameter id="QuartusSSHExtra" label="ssh extra parameters" tooltip="ssh extra parameters" type="String"
format="CopyValue" default="" readonly="false" visible="true" />
<parameter id="QuartusConsole" default="Quartus" label="Quartus console name" tooltip="Quartus console name in Eclipse, used by other tools"
type="String" format="CopyValue" visible="true" readonly="false"/>
<parameter id="QuartusRelativeExeOptions" label="Quartus launch command" tooltip="Quartus relative executable path and command options"
type="String" format="CopyValue" default="quartus/bin/quartus_sh -s" readonly="false"
visible="true" />
<parameter id="QuartusRemoteCommand" label="Remote command" tooltip="Remote ssh command"
type="String" format="CopyValue"
default="%QuartusInstallationRoot/%QuartusRelease/%QuartusRelativeExeOptions"
readonly="true"
visible="true" />
<!-- /opt/Xilinx/Vivado/2013.4/bin/vivado -mode tcl -->
<parameter id="NoBabyTalk" label="No Baby talk" tooltip= "Remove licensing baby talk from INFO messages." <parameter id="NoBabyTalk" label="No Baby talk" tooltip= "Remove licensing baby talk from INFO messages."
default="true" visible="true" omit="false" type="Boolean" format="DashName"/> default="true" visible="true" omit="false" type="Boolean" format="DashName"/>
...@@ -161,6 +194,8 @@ ...@@ -161,6 +194,8 @@
"VivadoInstallationRoot" "VivadoInstallationRoot"
"ISERelease" "ISERelease"
"ISEInstallationRoot" "ISEInstallationRoot"
"QuartusRelease"
"QuartusInstallationRoot"
</group> </group>
<group name="AdvancedVivado" label="Vivado server advanced setup"> <group name="AdvancedVivado" label="Vivado server advanced setup">
"TerminalMode" "TerminalMode"
...@@ -186,6 +221,16 @@ ...@@ -186,6 +221,16 @@
"ISEBinDirectory" "ISEBinDirectory"
"ISEUnisimsAbsolutePath" "ISEUnisimsAbsolutePath"
</group> </group>
<group name="AdvancedQuartus" label="Quartus server advanced setup">
"QuartusTerminalMode"
"QuartusShellSwitches"
"QuartusPreSSH"
"QuartusSSHSwitches"
"QuartusSSHExtra"
"QuartusConsole"
"QuartusRelativeExeOptions"
"QuartusRemoteCommand"
</group>
</input> </input>
</package> </package>
...@@ -223,7 +268,7 @@ ...@@ -223,7 +268,7 @@
<parameter id="VivadoIgnoreSource" label="Ignore source files" tooltip="Pattern to ignore source files that match this regular expression" <parameter id="VivadoIgnoreSource" label="Ignore source files" tooltip="Pattern to ignore source files that match this regular expression"
type="String" default=".*unisims.*" format="CopyValue" readonly="false" /> type="String" default=".*unisims.*" format="CopyValue" readonly="false" />
<!-- ISE parameters --> <!-- ISE parameters -->
<parameter id="ISEProjectRoot" label="Workspace directory" tooltip="Relative (to user home directory) path of the workspace on ISE server" <parameter id="ISEProjectRoot" label="Workspace directory" tooltip="Relative (to user home directory) path of the workspace on ISE server"
type="String" default="vdt_ise" format="RemoteRootSyntax" readonly="false" /> type="String" default="vdt_ise" format="RemoteRootSyntax" readonly="false" />
...@@ -242,163 +287,179 @@ ...@@ -242,163 +287,179 @@
<parameter id="ISEIgnoreSource" label="Ignore source files" tooltip="Pattern to ignore source files that match this regular expression" <parameter id="ISEIgnoreSource" label="Ignore source files" tooltip="Pattern to ignore source files that match this regular expression"
type="String" default=".*unisims.*" format="CopyValue" readonly="false" /> type="String" default=".*unisims.*" format="CopyValue" readonly="false" />
<!-- Quartus parameters -->
<parameter id="part" label="Device" tooltip= "FPGA part number (device) to use"
default="" visible="true" omit="" type="String" format="CopyValue"/>
<parameter id="QuartusProjectRoot" label="Workspace directory" tooltip="Relative (to user home directory) path of the workspace on Quartus server"
type="String" default="vdt" format="RemoteRootSyntax" readonly="false" />
<parameter id="QuartusRemoteDir" label="Remote Quartus directory" tooltip="Remote Quartus output subdirectroy for snapshot and result files"
type="Pathname" default="quartus_build" format="CopyValue" readonly="false" />
<parameter id="QuartusLocalDir" label="Local Quartus directory" tooltip="Local project subdirectroy for Quartus snapshot files"
type="Pathname" default="quartus_state" format="CopyValue" readonly="false" />
<parameter id="QuartusLocalResultDir" label="Local Quartus results directory"
tooltip="Local project subdirectroy for Xilinx Quartus generated result files"
type="Pathname" default="quartus_results" format="CopyValue" readonly="false" />
<parameter id="QuartusLogDir" label="Local Quartus tool logs directory" tooltip="Local project subdirectroy for Quartus tools log files"
type="Pathname" default="quartus_logs" format="CopyValue" readonly="false" />
<parameter id="QuartusIgnoreSource" label="Ignore source files" tooltip="Pattern to ignore source files that match this regular expression"
type="String" default="" format="CopyValue" readonly="false" />
<!-- Calculated --> <!-- Calculated -->
<!-- <parameter id="VivadoProjectRoot" label="" tooltip="Relative (to user home directory) path of the project on Vivado server" <parameter id="SnapshotSynth"
type="String" default="vdt" format="RemoteRootSyntax" readonly="false" /> --> label="Synthesis snapshot" tooltip="Name of Vivado snapshot archive after synthesis"
default="%%ProjectName-synth.dcp"
<parameter id="SnapshotSynth"
label="Synthesis snapshot" tooltip="Name of Vivado snapshot archive after synthesis"
default="%%ProjectName-synth.dcp"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="SnapshotOptPlace" <parameter id="SnapshotOptPlace"
label="Placement snapshot" tooltip="Name of Vivado snapshot archive after optimization/placement" label="Placement snapshot" tooltip="Name of Vivado snapshot archive after optimization/placement"
default="%%ProjectName-opt-place.dcp" default="%%ProjectName-opt-place.dcp"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="SnapshotOpt" <parameter id="SnapshotOpt"
label="Optimization snapshot" tooltip="Name of Vivado snapshot archive after optimization" label="Optimization snapshot" tooltip="Name of Vivado snapshot archive after optimization"
default="%%ProjectName-opt.dcp" default="%%ProjectName-opt.dcp"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="SnapshotOptPower" <parameter id="SnapshotOptPower"
label="Power optimization snapshot" tooltip="Name of Vivado snapshot archive after power optimization" label="Power optimization snapshot" tooltip="Name of Vivado snapshot archive after power optimization"
default="%%ProjectName-opt-power.dcp" default="%%ProjectName-opt-power.dcp"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="SnapshotPlace" <parameter id="SnapshotPlace"
label="Placement snapshot" tooltip="Name of Vivado snapshot archive after placement" label="Placement snapshot" tooltip="Name of Vivado snapshot archive after placement"
default="%%ProjectName-place.dcp" default="%%ProjectName-place.dcp"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="SnapshotOptPhys" <parameter id="SnapshotOptPhys"
label="Physical optimization snapshot" tooltip="Name of Vivado snapshot archive after physical optimization" label="Physical optimization snapshot" tooltip="Name of Vivado snapshot archive after physical optimization"
default="%%ProjectName-opt-phys.dcp" default="%%ProjectName-opt-phys.dcp"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="SnapshotRoute" <parameter id="SnapshotRoute"
label="Routing snapshot" tooltip="Name of Vivado snapshot archive after routing" label="Routing snapshot" tooltip="Name of Vivado snapshot archive after routing"
default="%%ProjectName-route.dcp" default="%%ProjectName-route.dcp"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="DisableVivadoSynth" <parameter id="DisableVivadoSynth"
label="Disable Vivado synthesis" tooltip="Disable tool Vivado Synthesis" label="Disable Vivado synthesis" tooltip="Disable tool Vivado Synthesis"
default="false" default="false"
type="Boolean" format="None" /> type="Boolean" format="None" />
<parameter id="DisableVivadoOptPlace" <parameter id="DisableVivadoOptPlace"
label="Disable Vivado opt/place" tooltip="Disable tool Vivado Optimize and Place" label="Disable Vivado opt/place" tooltip="Disable tool Vivado Optimize and Place"
default="false" default="false"
type="Boolean" format="None" /> type="Boolean" format="None" />
<parameter id="DisableVivadoOpt" <parameter id="DisableVivadoOpt"
label="Disable Vivado optimization" tooltip="Disable tool Vivado Optimize" label="Disable Vivado optimization" tooltip="Disable tool Vivado Optimize"
default="false" default="false"
type="Boolean" format="None" /> type="Boolean" format="None" />
<parameter id="DisableVivadoOptPower" <parameter id="DisableVivadoOptPower"
label="Disable Vivado power optimization" tooltip="Disable reduction of power consumption" label="Disable Vivado power optimization" tooltip="Disable reduction of power consumption"
default="false" default="false"
type="Boolean" format="None" /> type="Boolean" format="None" />
<parameter id="DisableVivadoPlace" <parameter id="DisableVivadoPlace"
label="Disable placement" tooltip="Disable tool Vivado Place" label="Disable placement" tooltip="Disable tool Vivado Place"
default="false" default="false"
type="Boolean" format="None" /> type="Boolean" format="None" />
<parameter id="DisableVivadoOptPhys" <parameter id="DisableVivadoOptPhys"
label="Disable phys. optimization" tooltip="Disable tool Vivado Physical (post-placement) Optimization" label="Disable phys. optimization" tooltip="Disable tool Vivado Physical (post-placement) Optimization"
default="false" default="false"
type="Boolean" format="None" /> type="Boolean" format="None" />
<parameter id="DisableVivadoRoute" <parameter id="DisableVivadoRoute"
label="Disable Vivado route" tooltip="Disable tool Vivado route" label="Disable Vivado route" tooltip="Disable tool Vivado route"
default="false" default="false"
type="Boolean" format="None" /> type="Boolean" format="None" />
<parameter id="DisableVivadoBitsteam" <parameter id="DisableVivadoBitsteam"
label="Disable Vivado bitstream" tooltip="Disable tool Vivado bitstream generator" label="Disable Vivado bitstream" tooltip="Disable tool Vivado bitstream generator"
default="false" default="false"
type="Boolean" format="None" /> type="Boolean" format="None" />
"" <!-- same as in project --> "" <!-- same as in project -->
<!-- Invisible (calculated) project-wide parameters --> <!-- Invisible (calculated) project-wide parameters -->
<parameter id="SimulDirSlash" type="Pathname" visible="false" <parameter id="SimulDirSlash" type="Pathname" visible="false"
default="?%SimulDir=:,%SimulDir/" format="CopyValue"/> default="?%SimulDir=:,%SimulDir/" format="CopyValue"/>
<parameter id="VivadoSedPaths" type="String" format="CopyValue" <parameter id="VivadoSedPaths" type="String" format="CopyValue"
label="sed command line" tooltip="Remote file prefix to be removed for the local error parser when running Vivado tools" label="sed command line" tooltip="Remote file prefix to be removed for the local error parser when running Vivado tools"
default="sed -u 's@/home/%RemoteUser/%VivadoProjectRoot/%%ProjectName/@@'"/> default="sed -u 's@/home/%RemoteUser/%VivadoProjectRoot/%%ProjectName/@@'"/>
<parameter id="ISESedPaths" type="String" format="CopyValue" <parameter id="ISESedPaths" type="String" format="CopyValue"
label="sed command line" tooltip="Remote file prefix to be removed for the local error parser when running ISE tools" label="sed command line" tooltip="Remote file prefix to be removed for the local error parser when running ISE tools"
default="sed -u 's@/home/%RemoteUser/%ISEProjectRoot/%%ProjectName/@@'"/> default="sed -u 's@/home/%RemoteUser/%ISEProjectRoot/%%ProjectName/@@'"/>
<parameter id="ISEWorkspace" label="Workspace directory" tooltip="Relative (to user home directory) path of the workspace on ISE server" <parameter id="ISEWorkspace" label="Workspace directory" tooltip="Relative (to user home directory) path of the workspace on ISE server"
type="String" default="%ISEProjectRoot" format="CopyValue" readonly="true" /> type="String" default="%ISEProjectRoot" format="CopyValue" readonly="true" />
<parameter id="ISESnapshotSynth" <parameter id="ISESnapshotSynth"
label="Synthesis snapshot" tooltip="Name of ISE snapshot archive after synthesis" label="Synthesis snapshot" tooltip="Name of ISE snapshot archive after synthesis"
default="%%ProjectName-synth.tgz" default="%%ProjectName-synth.tgz"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="ISESnapshotNGDBuild" <parameter id="ISESnapshotNGDBuild"
label="NGDBuild snapshot" tooltip="Name of ISE snapshot archive after NGDBuild" label="NGDBuild snapshot" tooltip="Name of ISE snapshot archive after NGDBuild"
default="%%ProjectName-ngdbuild.tgz" default="%%ProjectName-ngdbuild.tgz"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="ISESnapshotMap" <parameter id="ISESnapshotMap"
label="NGDBuild snapshot" tooltip="Name of ISE snapshot archive after map" label="NGDBuild snapshot" tooltip="Name of ISE snapshot archive after map"
default="%%ProjectName-map.tgz" default="%%ProjectName-map.tgz"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="ISESnapshotPAR" <parameter id="ISESnapshotPAR"
label="NGDBuild snapshot" tooltip="Name of ISE snapshot archive after PAR" label="NGDBuild snapshot" tooltip="Name of ISE snapshot archive after PAR"
default="%%ProjectName-par.tgz" default="%%ProjectName-par.tgz"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="ISESnapshotOptPlace" <parameter id="ISESnapshotOptPlace"
label="Placement snapshot" tooltip="Name of ISE snapshot archive after optimization/placement" label="Placement snapshot" tooltip="Name of ISE snapshot archive after optimization/placement"
default="%%ProjectName-opt-place.tgz" default="%%ProjectName-opt-place.tgz"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="ISESnapshotOpt" <parameter id="ISESnapshotOpt"
label="Optimization snapshot" tooltip="Name of ISE snapshot archive after optimization" label="Optimization snapshot" tooltip="Name of ISE snapshot archive after optimization"
default="%%ProjectName-opt.tgz" default="%%ProjectName-opt.tgz"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="ISESnapshotOptPower" <parameter id="ISESnapshotOptPower"
label="Power optimization snapshot" tooltip="Name of ISE snapshot archive after power optimization" label="Power optimization snapshot" tooltip="Name of ISE snapshot archive after power optimization"
default="%%ProjectName-opt-power.tgz" default="%%ProjectName-opt-power.tgz"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="ISESnapshotPlace" <parameter id="ISESnapshotPlace"
label="Placement snapshot" tooltip="Name of ISE snapshot archive after placement" label="Placement snapshot" tooltip="Name of ISE snapshot archive after placement"
default="%%ProjectName-place.tgz" default="%%ProjectName-place.tgz"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="ISESnapshotOptPhys" <parameter id="ISESnapshotOptPhys"
label="Physical optimization snapshot" tooltip="Name of ISE snapshot archive after physical optimization" label="Physical optimization snapshot" tooltip="Name of ISE snapshot archive after physical optimization"
default="%%ProjectName-opt-phys.tgz" default="%%ProjectName-opt-phys.tgz"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="ISESnapshotRoute" <parameter id="ISESnapshotRoute"
label="Routing snapshot" tooltip="Name of ISE snapshot archive after routing" label="Routing snapshot" tooltip="Name of ISE snapshot archive after routing"
default="%%ProjectName-route.tgz" default="%%ProjectName-route.tgz"
type="String" format="CopyValue" /> type="String" format="CopyValue" />
<parameter id="ISECleanRestore" label="ISE Clean restore" <parameter id="ISECleanRestore" label="ISE Clean restore"
tooltip= "Remove remote ISE project files before unpacking snapshot archives" tooltip= "Remove remote ISE project files before unpacking snapshot archives"
default="true" visible="true" type="Boolean" format="None"/> default="true" visible="true" type="Boolean" format="None"/>
<input> <input>
<group name="Genaral" label="General parameters"> <group name="General" label="General parameters">
"part" "part"
"ImplementationTopFile" "ImplementationTopFile"
</group> </group>
...@@ -459,8 +520,14 @@ ...@@ -459,8 +520,14 @@
"ISESnapshotOptPhys" "ISESnapshotOptPhys"
"ISESnapshotRoute" "ISESnapshotRoute"
</group> </group>
<group name="Quartus" label="Quartus general properties">
"QuartusProjectRoot"
"QuartusRemoteDir"
"QuartusLocalDir"
"QuartusLocalResultDir"
"QuartusLogDir"
"QuartusIgnoreSource"
</group>
</input> </input>
<output>
</output>
</project> </project>
</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