Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vdt-plugin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
vdt-plugin
Commits
06425a7a
Commit
06425a7a
authored
Feb 21, 2014
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Just next snapshot
parent
4a32831e
Changes
25
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
917 additions
and
205 deletions
+917
-205
VDTConsoleRunner.java
src/com/elphel/vdt/core/launching/VDTConsoleRunner.java
+25
-14
XMLConfig.java
src/com/elphel/vdt/core/tools/config/xml/XMLConfig.java
+6
-6
Tool.java
src/com/elphel/vdt/core/tools/params/Tool.java
+43
-8
ToolSequence.java
src/com/elphel/vdt/core/tools/params/ToolSequence.java
+140
-64
VDTPluginImages.java
src/com/elphel/vdt/ui/VDTPluginImages.java
+9
-1
DesignFlowView.java
src/com/elphel/vdt/ui/views/DesignFlowView.java
+5
-34
DesignMenuModel.java
src/com/elphel/vdt/ui/views/DesignMenuModel.java
+10
-1
DesignMenu.xml
tools/DesignMenu.xml
+50
-25
FPGA_project.xml
tools/FPGA_project.xml
+8
-4
vivado_bitstream.xml
tools/Xilinx/vivado_bitstream.xml
+17
-10
vivado_interface.xml
tools/Xilinx/vivado_interface.xml
+7
-7
vivado_launch.xml
tools/Xilinx/vivado_launch.xml
+0
-2
vivado_opt.xml
tools/Xilinx/vivado_opt.xml
+7
-2
vivado_opt_phys.xml
tools/Xilinx/vivado_opt_phys.xml
+5
-3
vivado_opt_place.xml
tools/Xilinx/vivado_opt_place.xml
+5
-2
vivado_opt_power.xml
tools/Xilinx/vivado_opt_power.xml
+5
-2
vivado_place.xml
tools/Xilinx/vivado_place.xml
+5
-2
vivado_route.xml
tools/Xilinx/vivado_route.xml
+5
-2
vivado_synthesis.xml
tools/Xilinx/vivado_synthesis.xml
+2
-2
vivado_timing_implemented.xml
tools/Xilinx/vivado_timing_implemented.xml
+37
-0
vivado_timing_proto.xml
tools/Xilinx/vivado_timing_proto.xml
+392
-0
vivado_timing_summary_implemented.xml
tools/Xilinx/vivado_timing_summary_implemented.xml
+40
-0
vivado_timing_summary_proto.xml
tools/Xilinx/vivado_timing_summary_proto.xml
+17
-14
vivado_timing_summary_synthesis.xml
tools/Xilinx/vivado_timing_summary_synthesis.xml
+39
-0
vivado_timing_synthesis.xml
tools/Xilinx/vivado_timing_synthesis.xml
+38
-0
No files found.
src/com/elphel/vdt/core/launching/VDTConsoleRunner.java
View file @
06425a7a
...
...
@@ -33,6 +33,7 @@ import org.eclipse.debug.core.model.IProcess;
import
org.eclipse.debug.core.model.IStreamMonitor
;
import
org.eclipse.debug.core.model.IStreamsProxy2
;
import
org.eclipse.swt.graphics.Color
;
import
org.eclipse.swt.widgets.Display
;
import
org.eclipse.ui.console.IConsole
;
import
org.eclipse.ui.console.ConsolePlugin
;
import
org.eclipse.ui.console.IConsoleManager
;
...
...
@@ -264,20 +265,30 @@ public class VDTConsoleRunner{
outputListener
);
consoleOutStreamMonitor
.
addListener
(
outputListener
);
// }
//Problems occurred when invoking code from plug-in: "org.eclipse.ui.console".
//Exception occurred during console property change notification.
outStream
.
setColor
(
new
Color
(
null
,
128
,
128
,
255
));
// org.eclipse.swt.SWTException: Invalid thread access
try
{
for
(
int
i
=
0
;
i
<
arguments
.
length
;
i
++){
if
(
VerilogPlugin
.
getPreferenceBoolean
(
PreferenceStrings
.
LOCAL_ECHO
))
{
outStream
.
write
(
arguments
[
i
]+
"\n"
);
// writes to console itself
System
.
out
.
println
(
"--->"
+
arguments
[
i
]+
"\n"
);
}
consoleInStreamProxy
.
write
(
arguments
[
i
]+
"\n"
);
}
}
catch
(
IOException
e
)
{
System
.
out
.
println
(
"Can not write to outStream of console "
+
iCons
.
getName
());
}
// Problems occurred when invoking code from plug-in: "org.eclipse.ui.console".
// Exception occurred during console property change notification.
// Trying to fix Illegal THread Access
final
String
[]
fArguments
=
arguments
;
final
IOConsoleOutputStream
fOutStream
=
outStream
;
final
IOConsole
fICons
=
iCons
;
Display
.
getDefault
().
syncExec
(
new
Runnable
()
{
public
void
run
()
{
fOutStream
.
setColor
(
new
Color
(
null
,
128
,
128
,
255
));
// org.eclipse.swt.SWTException: Invalid thread access
try
{
for
(
int
i
=
0
;
i
<
fArguments
.
length
;
i
++){
if
(
VerilogPlugin
.
getPreferenceBoolean
(
PreferenceStrings
.
LOCAL_ECHO
))
{
fOutStream
.
write
(
fArguments
[
i
]+
"\n"
);
// writes to console itself
System
.
out
.
println
(
"--->"
+
fArguments
[
i
]+
"\n"
);
}
consoleInStreamProxy
.
write
(
fArguments
[
i
]+
"\n"
);
}
}
catch
(
IOException
e
)
{
System
.
out
.
println
(
"Can not write to outStream of console "
+
fICons
.
getName
());
}
}
});
int
timeout
=
buildParamsItem
.
getTimeout
();
if
((
timeout
==
0
)
&&
(
buildParamsItem
.
getPrompt
()==
null
))
timeout
=
1
;
// should specify at least one of timeout or prompt
timer
=
null
;
...
...
src/com/elphel/vdt/core/tools/config/xml/XMLConfig.java
View file @
06425a7a
...
...
@@ -103,6 +103,7 @@ public class XMLConfig extends Config {
static
final
String
CONTEXT_TOOL_SHELL_ATTR
=
"shell"
;
static
final
String
CONTEXT_TOOL_EXTENSIONS_LIST_TAG
=
"extensions-list"
;
static
final
String
CONTEXT_TOOL_EXTENSION_TAG
=
"extension"
;
static
final
String
CONTEXT_TOOL_EXTENSION_MASK_ATTR
=
"mask"
;
static
final
String
CONTEXT_TOOL_ACTION_LIST_TAG
=
"action-menu"
;
static
final
String
CONTEXT_TOOL_ACTION_TAG
=
"action"
;
static
final
String
CONTEXT_TOOL_ACTION_LABEL
=
"label"
;
...
...
@@ -110,9 +111,9 @@ public class XMLConfig extends Config {
static
final
String
CONTEXT_TOOL_ACTION_CHECK_EXTENSION
=
"check-extension"
;
static
final
String
CONTEXT_TOOL_ACTION_CHECK_EXISTENCE
=
"check-existence"
;
static
final
String
CONTEXT_TOOL_ACTION_ICON
=
"icon"
;
static
final
String
CONTEXT_TOOL_DEPENDS_LIST_TAG
=
"depends-list"
;
static
final
String
CONTEXT_TOOL_DEPENDS_TAG
=
"depends"
;
static
final
String
CONTEXT_TOOL_DEPENDS_
TOOL_TAG
=
"tool
"
;
static
final
String
CONTEXT_TOOL_DEPENDS_LIST_TAG
=
"depends-list"
;
static
final
String
CONTEXT_TOOL_DEPENDS_TAG
=
"depends"
;
static
final
String
CONTEXT_TOOL_DEPENDS_
STATE_TAG
=
"state
"
;
// TODO: May add other types of dependencies
static
final
String
CONTEXT_TOOL_DFLT_ACTION_LABEL
=
"Run for"
;
...
...
@@ -120,7 +121,6 @@ public class XMLConfig extends Config {
static
final
String
CONTEXT_TOOL_DFLT_ACTION_CHECK_EXTENSION
=
"true"
;
static
final
String
CONTEXT_TOOL_DFLT_ACTION_CHECK_EXISTENCE
=
"false"
;
static
final
String
CONTEXT_TOOL_EXTENSION_MASK_ATTR
=
"mask"
;
static
final
String
CONTEXT_TOOL_SYNTAX_ERRORS
=
"errors"
;
static
final
String
CONTEXT_TOOL_SYNTAX_WARNINGS
=
"warnings"
;
static
final
String
CONTEXT_TOOL_SYNTAX_INFO
=
"info"
;
...
...
@@ -1066,9 +1066,9 @@ public class XMLConfig extends Config {
// TODO: allow here other types of dependencies (conditionals(source files)
for
(
Iterator
<
Node
>
n
=
depNodes
.
iterator
();
n
.
hasNext
();)
{
Node
node
=
(
Node
)
n
.
next
();
String
dep
=
getAttributeValue
(
node
,
CONTEXT_TOOL_DEPENDS_
TOOL
_TAG
);
String
dep
=
getAttributeValue
(
node
,
CONTEXT_TOOL_DEPENDS_
STATE
_TAG
);
if
(
dep
==
null
)
throw
new
ConfigException
(
toolInfo
+
": Attribute '"
+
CONTEXT_TOOL_DEPENDS_
TOOL
_TAG
+
"' is absent"
);
throw
new
ConfigException
(
toolInfo
+
": Attribute '"
+
CONTEXT_TOOL_DEPENDS_
STATE
_TAG
+
"' is absent"
);
depList
.
add
(
dep
);
}
return
depList
;
...
...
src/com/elphel/vdt/core/tools/params/Tool.java
View file @
06425a7a
...
...
@@ -21,7 +21,6 @@ import java.util.*;
import
java.io.*
;
import
org.eclipse.core.resources.IProject
;
import
org.eclipse.swt.widgets.Display
;
import
org.eclipse.ui.IMemento
;
import
com.elphel.vdt.VDT
;
...
...
@@ -123,6 +122,7 @@ public class Tool extends Context implements Cloneable, Inheritable {
private
TOOL_MODE
runMode
;
private
TOOL_MODE
lastRunMode
;
// last running (not STOP) mode
private
int
lastRunHash
;
// hash code of the last run
private
ToolWaitingArguments
toolWaitingArguments
;
// save here launch parameters wjhen tool need to wait for other tools to run/get restored
public
Tool
(
String
name
,
String
controlInterfaceName
,
...
...
@@ -217,22 +217,51 @@ public class Tool extends Context implements Cloneable, Inheritable {
}
public
enum
TOOL_MODE
{
STOP
,
WAIT
,
RUN
,
RESTORE
,
SAVE
,
PLAYBACK
}
public
class
ToolWaitingArguments
{
private
TOOL_MODE
mode
;
private
int
choice
;
private
String
fullPath
;
private
String
ignoreFilter
;
public
ToolWaitingArguments
(
TOOL_MODE
mode
,
int
choice
,
String
fullPath
,
String
ignoreFilter
){
this
.
mode
=
mode
;
this
.
choice
=
choice
;
this
.
fullPath
=
fullPath
;
this
.
ignoreFilter
=
ignoreFilter
;
}
public
TOOL_MODE
getMode
()
{
return
mode
;}
public
int
getChoice
()
{
return
choice
;}
public
String
getFullPath
(){
return
fullPath
;}
public
String
getIgnoreFilter
(){
return
ignoreFilter
;}
}
// public void setRunStamp(long runStamp) { this.runStamp=runStamp; }
public
List
<
String
>
getDepends
()
{
return
depends
;
}
public
boolean
isDirty
()
{
return
dirty
;
}
// public boolean isRunning() { return running; }
public
boolean
isRunning
()
{
return
runMode
!=
TOOL_MODE
.
STOP
;
}
public
boolean
isRunning
()
{
return
(
runMode
!=
TOOL_MODE
.
STOP
)
&&
((
runMode
!=
TOOL_MODE
.
WAIT
));
}
public
boolean
isWaiting
()
{
return
runMode
==
TOOL_MODE
.
WAIT
;
}
public
boolean
isAlmostDone
(){
if
(
runMode
!=
TOOL_MODE
.
STOP
)
return
false
;
if
((
getRestore
()!=
null
)
&&
(
getRestore
().
isRunning
()))
return
true
;
if
((
getSave
()!=
null
)
&&
(
getSave
().
isRunning
()))
return
true
;
return
false
;
}
public
TOOL_MODE
getMode
()
{
return
runMode
;
}
public
TOOL_MODE
getLastMode
()
{
return
lastRunMode
;
}
// public long getRunStamp() { return runStamp; }
public
TOOL_STATE
getState
()
{
return
state
;
}
public
boolean
isPinned
()
{
return
pinned
;
}
public
String
getOpenState
()
{
return
openState
;
}
...
...
@@ -255,8 +284,14 @@ public class Tool extends Context implements Cloneable, Inheritable {
}
}
public
void
setModeWait
(
ToolWaitingArguments
toolWaitingArguments
)
{
this
.
toolWaitingArguments
=
toolWaitingArguments
;
setMode
(
TOOL_MODE
.
WAIT
);
}
public
void
setMode
(
TOOL_MODE
mode
)
{
if
((
runMode
!=
TOOL_MODE
.
STOP
)
&&
(
mode
==
TOOL_MODE
.
STOP
)){
// jsut stopped
if
(
mode
!=
TOOL_MODE
.
WAIT
)
this
.
toolWaitingArguments
=
null
;
if
((
runMode
!=
TOOL_MODE
.
STOP
)
&&
(
mode
==
TOOL_MODE
.
STOP
)){
// just stopped
lastRunHash
=
getCurrentHash
();
if
(
VerilogPlugin
.
getPreferenceBoolean
(
PreferenceStrings
.
DEBUG_TOOL_SEQUENCE
))
{
System
.
out
.
println
(
":::: Tool "
+
name
+
": lastRunHash="
+
lastRunHash
);
...
...
@@ -294,7 +329,7 @@ public class Tool extends Context implements Cloneable, Inheritable {
System
.
out
.
println
(
"SetState("
+
state
+
")"
);
}
}
public
void
setDesignFlowView
(
DesignFlowView
designFlowView
){
this
.
designFlowView
=
designFlowView
;
// to be able to update actions and so the state icons
}
...
...
src/com/elphel/vdt/core/tools/params/ToolSequence.java
View file @
06425a7a
This diff is collapsed.
Click to expand it.
src/com/elphel/vdt/ui/VDTPluginImages.java
View file @
06425a7a
...
...
@@ -89,7 +89,10 @@ public class VDTPluginImages {
public
static
final
String
ICON_TOOLSTATE_WTF
=
"obj16"
+
File
.
separator
+
"question.png"
;
public
static
final
String
ICON_TOOLSTATE_WTF_OLD
=
"obj16"
+
File
.
separator
+
"question_dim.png"
;
public
static
final
String
ICON_TOOLSTATE_RUNNING
=
"obj16"
+
File
.
separator
+
"spinning.gif"
;
// public static final String ICON_TOOLSTATE_KEPT_OPEN= "obj16"+File.separator+"heart.gif";
public
static
final
String
ICON_TOOLSTATE_WAITING
=
"obj16"
+
File
.
separator
+
"hourglass.gif"
;
public
static
final
String
ICON_TOOLSTATE_ALMOST_GOOD
=
"obj16"
+
File
.
separator
+
"check_almost.gif"
;
public
static
final
String
ICON_TOOLSTATE_ALMOST_WTF
=
"obj16"
+
File
.
separator
+
"question_almost.gif"
;
public
static
final
String
ICON_TOOLSTATE_KEPT_OPEN
=
"obj16"
+
File
.
separator
+
"beat.gif"
;
public
static
final
String
ICON_TOOLSTATE_PINNED
=
"obj16"
+
File
.
separator
+
"pinned_good.png"
;
...
...
@@ -101,6 +104,11 @@ public class VDTPluginImages {
public
static
final
String
KEY_TOOLSTATE_WTF
=
"TOOLSTATE_WTF"
;
public
static
final
String
KEY_TOOLSTATE_WTF_OLD
=
"TOOLSTATE_WTF_OLD"
;
public
static
final
String
KEY_TOOLSTATE_RUNNING
=
"TOOLSTATE_RUNNING"
;
public
static
final
String
KEY_TOOLSTATE_WAITING
=
"TOOLSTATE_WAITING"
;
public
static
final
String
KEY_TOOLSTATE_ALMOST_GOOD
=
"TOOLSTATE_ALMOST_GOOD"
;
public
static
final
String
KEY_TOOLSTATE_ALMOST_WTF
=
"TOOLSTATE_ALMOST_WTF"
;
public
static
final
String
KEY_TOOLSTATE_KEPT_OPEN
=
"TOOLSTATE_KEPT_OPEN"
;
public
static
final
String
KEY_TOOLSTATE_PINNED
=
"TOOLSTATE_PINNED"
;
...
...
src/com/elphel/vdt/ui/views/DesignFlowView.java
View file @
06425a7a
...
...
@@ -798,7 +798,6 @@ public class DesignFlowView extends ViewPart implements ISelectionListener {
public
void
run
()
{
try
{
playLogs
(
fDesignFlowView
,
// to be able to launch update when build state of the tool changes
false
,
fFullPath
,
fIgnoreFilter
);
...
...
@@ -813,7 +812,6 @@ public class DesignFlowView extends ViewPart implements ISelectionListener {
public
void
run
()
{
try
{
playLogs
(
fDesignFlowView
,
// to be able to launch update when build state of the tool changes
true
,
fFullPath
,
fIgnoreFilter
);
...
...
@@ -881,20 +879,7 @@ public class DesignFlowView extends ViewPart implements ISelectionListener {
String
fullPath
,
String
ignoreFilter
)
throws
CoreException
{
if
(
tool
!=
null
)
{
// tool.setDesignFlowView(designFlowView);
tool
.
setDesignFlowView
(
this
);
// maybe will not be needed with ToolSequencing class
if
(!
toolSequence
.
okToRun
())
return
;
tool
.
setMode
(
mode
)
;
//TOOL_MODE.RUN);
tool
.
toolFinished
();
tool
.
setChoice
(
0
);
SelectedResourceManager
.
getDefault
().
updateActionChoice
(
fullPath
,
choice
,
ignoreFilter
);
// Andrey
SelectedResourceManager
.
getDefault
().
setBuildStamp
();
// Andrey
// apply designFlowView to the tool itself
LaunchCore
.
launch
(
tool
,
selectedResource
.
getProject
(),
fullPath
,
null
);
// run, not playback
toolSequence
.
launchToolSequence
(
tool
,
mode
,
choice
,
fullPath
,
ignoreFilter
);
}
else
if
(
selectedItem
.
hasChildren
())
{
if
(
viewer
.
getExpandedState
(
selectedItem
))
viewer
.
collapseToLevel
(
selectedItem
,
AbstractTreeViewer
.
ALL_LEVELS
);
...
...
@@ -903,10 +888,7 @@ public class DesignFlowView extends ViewPart implements ISelectionListener {
}
}
// launchTool()
private
void
playLogs
(
final
DesignFlowView
designFlowView
,
boolean
select
,
// select log file
String
fullPath
,
String
ignoreFilter
)
throws
CoreException
{
...
...
@@ -917,21 +899,10 @@ public class DesignFlowView extends ViewPart implements ISelectionListener {
if
(
VerilogPlugin
.
getPreferenceBoolean
(
PreferenceStrings
.
DEBUG_OTHER
))
{
System
.
out
.
println
(
"logBuildStamp="
+
logBuildStamp
);
}
tool
.
setDesignFlowView
(
designFlowView
);
if
(!
toolSequence
.
okToRun
())
return
;
// tool.setRunning(true);
tool
.
setMode
(
TOOL_MODE
.
PLAYBACK
);
tool
.
toolFinished
();
tool
.
setChoice
(
0
);
SelectedResourceManager
.
getDefault
().
updateActionChoice
(
fullPath
,
0
,
ignoreFilter
);
// Andrey
SelectedResourceManager
.
getDefault
().
setBuildStamp
();
// OK - even for log? Or use old/selected one?
// apply designFlowView to the tool itself
LaunchCore
.
launch
(
tool
,
selectedResource
.
getProject
(),
fullPath
,
logBuildStamp
);
// probably should not get here if not a tool
toolSequence
.
playLogs
(
tool
,
fullPath
,
logBuildStamp
);
}
else
if
(
selectedItem
.
hasChildren
())
{
if
(
viewer
.
getExpandedState
(
selectedItem
))
viewer
.
collapseToLevel
(
selectedItem
,
AbstractTreeViewer
.
ALL_LEVELS
);
...
...
src/com/elphel/vdt/ui/views/DesignMenuModel.java
View file @
06425a7a
...
...
@@ -48,6 +48,7 @@ import com.elphel.vdt.core.tools.menu.DesignMenu;
import
com.elphel.vdt.core.tools.menu.DesignMenuItem
;
import
com.elphel.vdt.core.tools.menu.DesignMenuToolItem
;
import
com.elphel.vdt.core.tools.params.Tool
;
import
com.elphel.vdt.core.tools.params.Tool.TOOL_STATE
;
import
com.elphel.vdt.ui.VDTPluginImages
;
import
com.elphel.vdt.ui.variables.SelectedResourceManager
;
...
...
@@ -308,7 +309,15 @@ public class DesignMenuModel {
if
(
tool
.
isRunning
()){
iconName
=
VDTPluginImages
.
ICON_TOOLSTATE_RUNNING
;
key
=
VDTPluginImages
.
KEY_TOOLSTATE_RUNNING
;
}
else
if
(
tool
.
isWaiting
()){
iconName
=
VDTPluginImages
.
ICON_TOOLSTATE_WAITING
;
key
=
VDTPluginImages
.
KEY_TOOLSTATE_WAITING
;
}
else
if
(
tool
.
isAlmostDone
()&&
(
tool
.
getState
()==
TOOL_STATE
.
SUCCESS
)){
iconName
=
VDTPluginImages
.
ICON_TOOLSTATE_ALMOST_GOOD
;
key
=
VDTPluginImages
.
KEY_TOOLSTATE_ALMOST_GOOD
;
}
else
if
(
tool
.
isAlmostDone
()&&
(
tool
.
getState
()==
TOOL_STATE
.
UNKNOWN
)){
iconName
=
VDTPluginImages
.
ICON_TOOLSTATE_ALMOST_WTF
;
key
=
VDTPluginImages
.
KEY_TOOLSTATE_ALMOST_WTF
;
}
else
{
switch
(
tool
.
getState
()){
case
NEW:
...
...
tools/DesignMenu.xml
View file @
06425a7a
...
...
@@ -44,40 +44,65 @@
label=
"Start remote Vivado session"
icon=
"door_in.png"
call=
"Vivado"
/>
<menuitem
name=
"VivadoSynthesis"
label=
"Synthesize design"
icon=
"Retort.png"
call=
"VivadoSynthesis"
/>
<menu
name=
"VivadoSynthesisTools"
label=
"Synthesis Tools"
icon=
"Retort.png"
>
<menuitem
name=
"VivadoSynthesis"
label=
"Synthesize design"
icon=
"Retort.png"
call=
"VivadoSynthesis"
/>
<menuitem
name=
"VivadoTimingReportSynthesis"
label=
"Timing report"
icon=
"clock.png"
call=
"VivadoTimingReportSynthesis"
/>
<menuitem
name=
"VivadoTimimgSummaryReportSynthesis"
label=
"Timing summary"
icon=
"clock_sum.png"
call=
"VivadoTimimgSummaryReportSynthesis"
/>
</menu>
<!-- <menuitem name="VivadoOptPlace"
label="Optimize and place design"
icon="mondrian2x2.png"
call="VivadoOptPlace"/> -->
<menu
name=
"VivadoImplementationTools"
label=
"Implementation tools"
icon=
"process.gif"
>
<menuitem
name=
"VivadoOpt"
label=
"Optimize design"
icon=
"opt_blue.png"
call=
"VivadoOpt"
/>
<menuitem
name=
"VivadoOpt"
label=
"Optimize design"
icon=
"opt_blue.png"
call=
"VivadoOpt"
/>
<menuitem
name=
"VivadoOptPower"
label=
"Reduce power"
icon=
"fire.png"
call=
"VivadoOptPower"
/>
<menuitem
name=
"VivadoOptPower"
label=
"Reduce power"
icon=
"fire.png"
call=
"VivadoOptPower"
/>
<menuitem
name=
"VivadoPlace"
label=
"Place design"
icon=
"mondrian2x2.png"
call=
"VivadoPlace"
/>
<menuitem
name=
"VivadoOptPhys"
label=
"Post-placement optimize"
icon=
"opt_yellow.png"
call=
"VivadoOptPhys"
/>
<menuitem
name=
"VivadoPlace"
label=
"Place design"
icon=
"mondrian2x2.png"
call=
"VivadoPlace"
/>
<menuitem
name=
"VivadoRoute
"
label=
"Route design
"
icon=
"route66
.png"
call=
"VivadoRoute
"
/>
<menuitem
name=
"VivadoOptPhys
"
label=
"Post-placement optimize
"
icon=
"opt_yellow
.png"
call=
"VivadoOptPhys
"
/>
<menuitem
name=
"VivadoRoute"
label=
"Route design"
icon=
"route66.png"
call=
"VivadoRoute"
/>
<menuitem
name=
"VivadoTimingReportImplemented"
label=
"Timing report"
icon=
"clock.png"
call=
"VivadoTimingReportImplemented"
/>
<menuitem
name=
"VivadoTimimgSummaryReportImplemented"
label=
"Timing summary"
icon=
"clock_sum.png"
call=
"VivadoTimimgSummaryReportImplemented"
/>
</menu>
<menuitem
name=
"VivadoBitstream"
label=
"Generate bitstream"
icon=
"bitstream.png"
...
...
tools/FPGA_project.xml
View file @
06425a7a
...
...
@@ -107,12 +107,15 @@
<parameter
id=
"VivadoProjectRoot"
label=
"Workspace directory"
tooltip=
"Relative (to user home directory) path of the workspace on Vivado server"
type=
"String"
default=
"vdt"
format=
"RemoteRootSyntax"
readonly=
"false"
/>
<parameter
id=
"Vivado
LocalDir"
label=
"Local Xilinx directory"
tooltip=
"Local project subdirectroy for Xilinx Vivado generated
files"
type=
"Pathname"
default=
"vivado"
format=
"CopyValue"
readonly=
"false"
/>
<parameter
id=
"Vivado
RemoteDir"
label=
"Remote Vivado directory"
tooltip=
"Remote Vivado output subdirectroy for snapshot and result
files"
type=
"Pathname"
default=
"vivado
_build
"
format=
"CopyValue"
readonly=
"false"
/>
<parameter
id=
"VivadoLocalResultDir"
label=
"Local Xilinx results directory"
<parameter
id=
"VivadoLocalDir"
label=
"Local Vivado directory"
tooltip=
"Local project subdirectroy for Xilinx Vivado snapshot files"
type=
"Pathname"
default=
"vivado_state"
format=
"CopyValue"
readonly=
"false"
/>
<parameter
id=
"VivadoLocalResultDir"
label=
"Local Vivado results directory"
tooltip=
"Local project subdirectroy for Xilinx Vivado generated result files"
type=
"Pathname"
default=
"vivado"
format=
"CopyValue"
readonly=
"false"
/>
type=
"Pathname"
default=
"vivado
_results
"
format=
"CopyValue"
readonly=
"false"
/>
<parameter
id=
"VivadoLogDir"
label=
"Local Vivado tool logsx directory"
tooltip=
"Local project subdirectroy for Xilinx Vivado tools log files"
type=
"Pathname"
default=
"vivado_logs"
format=
"CopyValue"
readonly=
"false"
/>
...
...
@@ -217,6 +220,7 @@
<group
name=
"Vivado"
label=
"Vivado general properties"
>
"part"
"VivadoProjectRoot"
"VivadoRemoteDir"
"VivadoLocalDir"
"VivadoLocalResultDir"
"VivadoLogDir"
...
...
tools/Xilinx/vivado_bitstream.xml
View file @
06425a7a
...
...
@@ -17,6 +17,9 @@
<action-menu>
<action
label=
"Generate bitstream"
resource=
""
icon=
"bitstream.png"
/>
</action-menu>
<depends-list>
<depends
state=
"SnapshotRoute"
/>
</depends-list>
<parameter
id=
"SkipPreBitstream"
label=
"Skip pre-bitstream"
tooltip=
"Do not run pre bitstream TCL commands"
default=
"false"
type=
"Boolean"
format=
"None"
/>
<!-- left from synthesis, may need update-->
...
...
@@ -43,7 +46,7 @@
<!-- write_bitstream arguments -->
<parameter
id=
"
filenam
e"
label=
"Bitstream filename"
tooltip=
"Bitstream file name (will add *.bit extension)."
<parameter
id=
"
rawfil
e"
label=
"Bitstream filename"
tooltip=
"Bitstream file name (will add *.bit extension)."
default=
"%%ProjectName"
visible=
"true"
omit=
""
type=
"String"
format=
"CopyValue"
/>
<parameter
id=
"force"
label=
"Force (overwrite)"
tooltip=
"Overwrite existent files."
default=
"false"
visible=
"true"
omit=
"false"
type=
"Boolean"
format=
"DashName"
/>
...
...
@@ -60,7 +63,7 @@
default=
"false"
visible=
"true"
omit=
"false"
type=
"Boolean"
format=
"DashName"
/>
<parameter
id=
"reference_bitfile"
label=
"Read reference bitfile"
tooltip=
"Read reference bitstream file."
default=
""
visible=
"true"
omit=
""
type=
"Filename"
format=
"
Dash
"
/>
default=
""
visible=
"true"
omit=
""
type=
"Filename"
format=
"
CopyValue
"
/>
<parameter
id=
"quiet_bit"
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_bit"
outid=
"verbose"
label=
"Verbose"
tooltip=
"Temporarily override message limits set with set_msg_config"
...
...
@@ -106,9 +109,11 @@
<!-- hidden (calculated) parameters -->
<!-- not really used now, always "0" -->
<parameter
id=
"VivadoBitstreamActionIndex"
default=
"%%ChosenActionIndex"
type=
"String"
format=
"CopyValue"
visible=
"false"
/>
<input>
<group
name=
"General"
>
...
...
@@ -121,7 +126,7 @@
"PreBitstreamTCL"
</group>
<group
name=
"Bitstream"
>
"
filenam
e"
"
rawfil
e"
"force"
"raw_bitfile"
"no_binary_bitfile"
...
...
@@ -161,9 +166,9 @@
"-c"
"rsync -avrR -e ssh"
<!-- from: (trying full name) -->
"%reference_bitfile"
"%
VivadoLocalResultDir/%
reference_bitfile"
<!-- to: -->
"%RemoteUser@%RemoteHost:%VivadoProjectRoot/
build
"
"%RemoteUser@%RemoteHost:%VivadoProjectRoot/
%VivadoRemoteDir
"
";"
</line>
</if-not>
...
...
@@ -171,13 +176,13 @@
<line
name=
"vivado_run_bitstream"
dest=
"VivadoConsole"
mark=
"``"
sep=
""
sep=
"
"
prompt=
"@@FINISH@@"
success=
"write_bitstream completed successfully"
log=
""
stdout=
"parser_VivadoBitstream"
>
"cd ~/%VivadoProjectRoot\n"
"set outputDir ~/%VivadoProjectRoot/
build\n"
"set outputDir ~/%VivadoProjectRoot/
%VivadoRemoteDir\n"
"file mkdir $outputDir\n"
<!-- Run pre-bitstream TCL commands (if specified) -->
<if
SkipPreBitstream=
"false"
>
...
...
@@ -190,16 +195,18 @@
</if>
<!-- Run routing -->
"write_bitstream "
"%filename"
"%force"
"%raw_bitfile"
"%no_binary_bitfile"
"%readback_file"
"%logic_location_file"
"%bin_file"
"%reference_bitfile"
<if-not
reference_bitfile=
""
>
"-reference_bitfile %VivadoRemoteDir/%reference_bitfile"
</if-not>
"%quiet_bit"
"%verbose_bit"
"%VivadoRemoteDir/%rawfile"
"\n"
"puts \"@@FINISH@@\"\n"
</line>
...
...
@@ -207,7 +214,7 @@
"-c"
"mkdir -p %VivadoLocalResultDir ;"
"rsync -avr -e ssh"
"%RemoteUser@%RemoteHost:%VivadoProjectRoot/
build/%filenam
e.*"
"%RemoteUser@%RemoteHost:%VivadoProjectRoot/
%VivadoRemoteDir/%rawfil
e.*"
"%VivadoLocalResultDir/"
</line>
<line
name=
"parser_VivadoBitstream"
...
...
tools/Xilinx/vivado_interface.xml
View file @
06425a7a
...
...
@@ -46,14 +46,14 @@
<line
name=
"vivado_restore"
dest=
"VivadoConsole"
mark=
"``"
sep=
""
sep=
"
"
failure=
"ERROR"
prompt=
"@@FINISH@@"
log=
""
>
"cd ~/%VivadoProjectRoot\n"
"set outputDir ~/%VivadoProjectRoot/
build\n"
"set outputDir ~/%VivadoProjectRoot/
%VivadoRemoteDir\n"
"file mkdir $outputDir\n"
"open_checkpoint %%StateFile\n"
"open_checkpoint %
VivadoRemoteDir/%
%StateFile\n"
"puts \"@@FINISH@@\"\n"
</line>
</output>
...
...
@@ -71,21 +71,21 @@
<line
name=
"vivado_save"
dest=
"VivadoConsole"
mark=
"``"
sep=
""
sep=
"
"
prompt=
"@@FINISH@@"
failure=
"ERROR"
log=
""
>
"cd ~/%VivadoProjectRoot\n"
"set outputDir ~/%VivadoProjectRoot/
build\n"
"set outputDir ~/%VivadoProjectRoot/
%VivadoRemoteDir\n"
"file mkdir $outputDir\n"
"write_checkpoint -force %%StateFile\n"
"write_checkpoint -force %
VivadoRemoteDir/%
%StateFile\n"
"puts \"@@FINISH@@\"\n"
</line>
<line
name=
"vivado_copy_after_save"
>
"-c"
"mkdir -p %VivadoLocalDir ;"
"rsync -avr -e ssh"
"%RemoteUser@%RemoteHost:%VivadoProjectRoot/%%StateFile"
"%RemoteUser@%RemoteHost:%VivadoProjectRoot/%
VivadoRemoteDir/%
%StateFile"
"%%StateDir/"
</line>
</output>
...
...
tools/Xilinx/vivado_launch.xml
View file @
06425a7a
...
...
@@ -61,8 +61,6 @@
sep=
""
success=
"Finished parsing RTL primitives"
prompt=
"@@FINISH@@"
>
<!-- "cd ~/%VivadoProjectRoot\n"
"set outputDir ~/%VivadoProjectRoot/build\n"-->
"puts \"@@FINISH@@\"\n"
</line>
...
...
tools/Xilinx/vivado_opt.xml
View file @
06425a7a
...
...
@@ -32,6 +32,11 @@
<action-menu>
<action
label=
"Optimize"
resource=
""
icon=
"opt_blue.png"
/>
</action-menu>
<depends-list>
<depends
state=
"SnapshotSynth"
/>
</depends-list>
<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"
...
...
@@ -172,13 +177,13 @@
<line
name=
"vivado_run_opt"
dest=
"VivadoConsole"
mark=
"``"
sep=
""
sep=
"
"
prompt=
"@@FINISH@@"
success=
"opt_design completed successfully"
log=
""
stdout=
"parser_VivadoOpt"
>
"cd ~/%VivadoProjectRoot\n"
"set outputDir ~/%VivadoProjectRoot/
build\n"
"set outputDir ~/%VivadoProjectRoot/
%VivadoRemoteDir\n"
"file mkdir $outputDir\n"
<!-- Run pre-optimization TCL commands (if specified) -->
<if
SkipPreOptimization=
"false"
>
...
...
tools/Xilinx/vivado_opt_phys.xml
View file @
06425a7a
...
...
@@ -29,11 +29,13 @@
disable=
"DisableVivadoOptPhys"
autosave=
"AutosaveVivadoOptPhys"
save=
"SaveVivadoOptPhys"
>
<action-menu>
<action
label=
"Post placement optimize"
resource=
""
icon=
"opt_yellow.png"
/>
</action-menu>
<depends-list>
<depends
state=
"SnapshotPlace"
/>
</depends-list>
<parameter
id=
"SkipPreOptimization"
label=
"Skip pre-optimization"
tooltip=
"Do not run pre optimization TCL commands"
default=
"false"
type=
"Boolean"
format=
"None"
/>
<parameter
id=
"SkipPhysOpt"
label=
"Skip physical optimize"
tooltip=
"Do not run phys_opt_design"
...
...
@@ -192,13 +194,13 @@
<line
name=
"vivado_run_opt_phys"
dest=
"VivadoConsole"
mark=
"``"
sep=
""
sep=
"
"
prompt=
"@@FINISH@@"
success=
"phys_opt_design completed successfully"
log=
""
stdout=
"parser_VivadoOptPhys"
>
"cd ~/%VivadoProjectRoot\n"
"set outputDir ~/%VivadoProjectRoot/
build\n"
"set outputDir ~/%VivadoProjectRoot/
%VivadoRemoteDir\n"
"file mkdir $outputDir\n"
<!-- Run pre-optimization TCL commands (if specified) -->
<if
SkipPreOptimization=
"false"
>
...
...
tools/Xilinx/vivado_opt_place.xml
View file @
06425a7a
...
...
@@ -66,6 +66,9 @@
<action-menu>
<action
label=
"Optimize and Place"
resource=
""
icon=
"mondrian2x2.png"
/>
</action-menu>
<depends-list>
<depends
state=
"SnapshotSynth"
/>
</depends-list>
<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"
...
...
@@ -309,13 +312,13 @@
<line
name=
"vivado_run_opt"
dest=
"VivadoConsole"
mark=
"``"
sep=
""
sep=
"
"
prompt=
"@@FINISH@@"
success=
"phys_opt_design completed successfully"
log=
""
stdout=
"parser_VivadoOpt"
>
"cd ~/%VivadoProjectRoot\n"
"set outputDir ~/%VivadoProjectRoot/
build\n"
"set outputDir ~/%VivadoProjectRoot/
%VivadoRemoteDir\n"
"file mkdir $outputDir\n"
<!-- Run pre-optimization TCL commands (if specified) -->
<if
SkipPreOptimization=
"false"
>
...
...
tools/Xilinx/vivado_opt_power.xml
View file @
06425a7a
...
...
@@ -21,6 +21,9 @@
<action-menu>
<action
label=
"Power optimize"
resource=
""
icon=
"fire.png"
/>
</action-menu>
<depends-list>
<depends
state=
"SnapshotOpt"
/>
</depends-list>
<parameter
id=
"SkipPreOptimization"
label=
"Skip pre-optimization"
tooltip=
"Do not run pre optimization TCL commands"
default=
"false"
type=
"Boolean"
format=
"None"
/>
<parameter
id=
"SkipPowerOptimization"
label=
"skip power optimize"
tooltip=
"Do not run power_opt_design"
...
...
@@ -127,13 +130,13 @@
<line
name=
"vivado_run_opt_pwr"
dest=
"VivadoConsole"
mark=
"``"
sep=
""
sep=
"
"
prompt=
"@@FINISH@@"
success=
"power_opt_design completed successfully"
log=
""
stdout=
"parser_VivadoOptPwr"
>
"cd ~/%VivadoProjectRoot\n"
"set outputDir ~/%VivadoProjectRoot/
build\n"
"set outputDir ~/%VivadoProjectRoot/
%VivadoRemoteDir\n"
"file mkdir $outputDir\n"
<!-- Run pre-optimization TCL commands (if specified) -->
<if
SkipPreOptimization=
"false"
>
...
...
tools/Xilinx/vivado_place.xml
View file @
06425a7a
...
...
@@ -43,6 +43,9 @@
<action-menu>
<action
label=
"Place"
resource=
""
icon=
"mondrian2x2.png"
/>
</action-menu>
<depends-list>
<depends
state=
"SnapshotOptPower"
/>
</depends-list>
<parameter
id=
"SkipPreOptimization"
label=
"Skip pre-optimization"
tooltip=
"Do not run pre optimization TCL commands"
default=
"false"
type=
"Boolean"
format=
"None"
/>
<parameter
id=
"SkipPlacement"
label=
"Skip place"
tooltip=
"Do not run place_design"
...
...
@@ -173,13 +176,13 @@
<line
name=
"vivado_run_place"
dest=
"VivadoConsole"
mark=
"``"
sep=
""
sep=
"
"
prompt=
"@@FINISH@@"
success=
"place_design completed successfully"
log=
""
stdout=
"parser_VivadoPlace"
>
"cd ~/%VivadoProjectRoot\n"
"set outputDir ~/%VivadoProjectRoot/
build\n"
"set outputDir ~/%VivadoProjectRoot/
%VivadoRemoteDir\n"
"file mkdir $outputDir\n"
<!-- Run pre-optimization TCL commands (if specified) -->
<if
SkipPreOptimization=
"false"
>
...
...
tools/Xilinx/vivado_route.xml
View file @
06425a7a
...
...
@@ -33,6 +33,9 @@
<action-menu>
<action
label=
"Route"
resource=
""
icon=
"route66.png"
/>
</action-menu>
<depends-list>
<depends
state=
"SnapshotOptPhys"
/>
</depends-list>
<parameter
id=
"SkipPreRoute"
label=
"Skip pre-route"
tooltip=
"Do not run pre route TCL commands"
default=
"false"
type=
"Boolean"
format=
"None"
/>
<parameter
id=
"SkipSnapshotRoute"
label=
"Skip snapshot save"
tooltip=
"Do not create snapshot after route"
...
...
@@ -197,13 +200,13 @@
<line
name=
"vivado_run_route"
dest=
"VivadoConsole"
mark=
"``"
sep=
""
sep=
"
"
prompt=
"@@FINISH@@"
success=
"route_design completed successfully"
log=
""
stdout=
"parser_VivadoRoute"
>
"cd ~/%VivadoProjectRoot\n"
"set outputDir ~/%VivadoProjectRoot/
build\n"
"set outputDir ~/%VivadoProjectRoot/
%VivadoRemoteDir\n"
"file mkdir $outputDir\n"
<!-- Run pre-route TCL commands (if specified) -->
<if
SkipPreRoute=
"false"
>
...
...
tools/Xilinx/vivado_synthesis.xml
View file @
06425a7a
...
...
@@ -267,14 +267,14 @@
<line
name=
"vivado_run_synth"
dest=
"VivadoConsole"
mark=
"``"
sep=
""
sep=
"
"
prompt=
"@@FINISH@@"
success=
"synth_design completed successfully"
log=
""
stdout=
"parser_VivadoSynth"
>
<!-- synth_design completed successfully -->
"cd ~/%VivadoProjectRoot\n"
"set outputDir ~/%VivadoProjectRoot/
build
\n"
"set outputDir ~/%VivadoProjectRoot/
%VivadoRemoteDir
\n"
<if
ResetProject=
"true"
>
"reset_project -quiet\n"
</if>
...
...
tools/Xilinx/vivado_timing_implemented.xml
0 → 100644
View file @
06425a7a
<?xml version="1.0" encoding="UTF-8"?>
<vdt-project>
<tool
name=
"VivadoTimingReportImplemented"
label=
"Report post-implementation timimg"
project=
"FPGA_project"
interface=
"VivadoReportTimingInterface"
package=
"FPGA_package"
inherits=
"VivadoReportTiming"
shell=
"/bin/bash"
description=
"Report post-implementation timimg"
disable=
"DisableVivadoTiming"
>
<depends-list>
<depends
state=
"SnapshotOptPhys"
/>
</depends-list>
<action-menu>
<action
label=
"Report post-implementation timing"
resource=
""
icon=
"clock.png"
/>
</action-menu>
<parameter
id=
"DisableVivadoTiming"
label=
"Disable"
tooltip=
"Disable post-implementation timing report"
default=
"false"
type=
"Boolean"
format=
"None"
/>
<!-- TODO Add (copy from proto) parameters that should be different for post and pre routing.
Or add more derivative reports. -->
<parameter
id=
"rawfile"
label=
"Result filename"
tooltip=
"Write report to the specified file."
default=
"%%ProjectName.timing_impl"
visible=
"true"
omit=
""
type=
"String"
format=
"CopyValue"
/>
<parameter
id=
"append"
label=
"Append to file"
tooltip=
"Append to the output file."
default=
"false"
visible=
"true"
omit=
"false"
type=
"Boolean"
format=
"DashName"
/>
<parameter
id=
"return_string"
label=
"Return string"
tooltip=
"Write result to TCL to be captured into variable."
default=
""
visible=
"true"
omit=
""
type=
"String"
format=
"Dash"
/>
<!-- Invisible (calculated) parameters -->
<!-- same value as %file, but will appear withou "-file" prefix -->
<parameter
id=
"file"
default=
"%VivadoRemoteDir/%rawfile"
visible=
"false"
omit=
""
type=
"String"
format=
"Dash"
/>
</tool>
</vdt-project>
tools/Xilinx/vivado_timing_proto.xml
0 → 100644
View file @
06425a7a
This diff is collapsed.
Click to expand it.
tools/Xilinx/vivado_timing_summary_implemented.xml
0 → 100644
View file @
06425a7a
<?xml version="1.0" encoding="UTF-8"?>
<vdt-project>
<tool
name=
"VivadoTimimgSummaryReportImplemented"
label=
"Report post-implementation timimg summary"
project=
"FPGA_project"
interface=
"VivadoReportTimingSummaryInterface"
package=
"FPGA_package"
inherits=
"VivadoReportTimingSummary"
shell=
"/bin/bash"
description=
"Report post-implementation timimg summary"
disable=
"DisableVivadoTimingSummary"
>
<depends-list>
<depends
state=
"SnapshotSynth"
/>
</depends-list>
<action-menu>
<action
label=
"Report post-implementation timing summary"
resource=
""
icon=
"clock_sum.png"
/>
</action-menu>
<parameter
id=
"DisableVivadoTimingSummary"
label=
"Disable"
tooltip=
"Disable post-implementation timing summary report"
default=
"false"
type=
"Boolean"
format=
"None"
/>
<!-- TODO Add (copy from proto) parameters that should be different for post and pre routing.
Or add more derivative reports. -->
<parameter
id=
"rawfile"
label=
"Result filename"
tooltip=
"Write report to the specified file."
default=
"%%ProjectName.timing_summary_impl"
visible=
"true"
omit=
""
type=
"String"
format=
"CopyValue"
/>
<parameter
id=
"append"
label=
"Append to file"
tooltip=
"Append to the output file."
default=
"false"
visible=
"true"
omit=
"false"
type=
"Boolean"
format=
"DashName"
/>
<parameter
id=
"return_string"
label=
"Return string"
tooltip=
"Write result to TCL to be captured into variable."
default=
""
visible=
"true"
omit=
""
type=
"String"
format=
"Dash"
/>
<parameter
id=
"datasheet"
label=
"Datasheet info"
tooltip=
"Generate datasheet information for the report."
default=
"false"
visible=
"true"
omit=
"false"
type=
"Boolean"
format=
"DashName"
/>
<!-- Invisible (calculated) parameters -->
<!-- same value as %file, but will appear withou "-file" prefix -->
<parameter
id=
"file"
default=
"%VivadoRemoteDir/%rawfile"
visible=
"false"
omit=
""
type=
"String"
format=
"Dash"
/>
</tool>
</vdt-project>
tools/Xilinx/vivado_timing_summary_proto.xml
View file @
06425a7a
...
...
@@ -37,9 +37,13 @@
abstract=
"true"
>
<action-menu>
<action
label=
"Report timing summary"
resource=
""
icon=
"clock.png"
/>
<action
label=
"Report timing summary"
resource=
""
icon=
"clock
_sum
.png"
/>
</action-menu>
<parameter
id=
"SkipTCL"
label=
"Skip TCL commands"
tooltip=
"Do not run pre-timing summary TCL commands"
default=
"false"
type=
"Boolean"
format=
"None"
/>
<parameter
id=
"SkipTCL"
label=
"Skip TCL commands"
tooltip=
"Do not run pre-timing summary TCL commands"
default=
"false"
type=
"Boolean"
format=
"None"
/>
<!-- left from synthesis, may need update-->
...
...
@@ -96,15 +100,15 @@
tooltip=
"Report timing on unconstrained paths in the design."
default=
"false"
visible=
"true"
omit=
"false"
type=
"Boolean"
format=
"DashName"
/>
<parameter
id=
"significant_digits"
label=
"Number of digits"
tooltip=
"Number of significat digits ion the output."
default=
"3"
visible=
"true"
omit=
"
1
"
type=
"Cardinal_0_3"
format=
"Dash"
/>
default=
"3"
visible=
"true"
omit=
"
3
"
type=
"Cardinal_0_3"
format=
"Dash"
/>
<parameter
id=
"no_header"
label=
"No header"
tooltip=
"Do not add header information to the report."
default=
"false"
visible=
"true"
omit=
"false"
type=
"Boolean"
format=
"DashName"
/>
<parameter
id=
"file"
label=
"Result filename"
tooltip=
"Write report to the specified file."
<parameter
id=
"
raw
file"
label=
"Result filename"
tooltip=
"Write report to the specified file."
default=
"%%ProjectName.timing_summary"
visible=
"true"
omit=
""
type=
"String"
format=
"CopyValue"
/>
<parameter
id=
"append"
label=
"Append to file"
tooltip=
"Append to the output file."
default=
"false"
visible=
"true"
omit=
"false"
type=
"Boolean"
format=
"DashName"
/>
<parameter
id=
"return_string"
label=
"Return string"
tooltip=
"Write result to TCL to be captured into variable."
default=
""
visible=
"true"
omit=
""
type=
"String"
format=
"
CopyValue
"
/>
default=
""
visible=
"true"
omit=
""
type=
"String"
format=
"
Dash
"
/>
<parameter
id=
"datasheet"
label=
"Datasheet info"
tooltip=
"Generate datasheet information for the report."
default=
"false"
visible=
"true"
omit=
"false"
type=
"Boolean"
format=
"DashName"
/>
<parameter
id=
"quiet"
outid=
"quiet"
label=
"Quiet"
tooltip=
"Ignore errors, return TCL_OK in any case"
...
...
@@ -146,10 +150,9 @@
<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=
"VivadoTimingSummaryActionIndex"
default=
"%%ChosenActionIndex"
type=
"String"
format=
"CopyValue"
visible=
"false"
/>
<!-- Invisible (calculated) parameters -->
<!-- same value as %file, but will appear withou "-file" prefix -->
<parameter
id=
"file"
default=
"%VivadoRemoteDir/%rawfile"
visible=
"false"
omit=
""
type=
"String"
format=
"Dash"
/>
<input>
<group
name=
"General"
>
...
...
@@ -176,7 +179,7 @@
"report_unconstrained"
"significant_digits"
"no_header"
"file"
"
raw
file"
"append"
"return_string"
"datasheet"
...
...
@@ -206,13 +209,13 @@
<line
name=
"vivado_run_timing_summary"
dest=
"VivadoConsole"
mark=
"``"
sep=
""
sep=
"
"
prompt=
"@@FINISH@@"
success=
"report_timing_summary completed successfully
"
failure=
"ERROR
"
log=
""
stdout=
"parser_VivadoTimingSummary"
>
"cd ~/%VivadoProjectRoot\n"
"set outputDir ~/%VivadoProjectRoot/
build\n"
"set outputDir ~/%VivadoProjectRoot/
%VivadoRemoteDir\n"
"file mkdir $outputDir\n"
<!-- Run pre-bitstream TCL commands (if specified) -->
<if
SkipTCL=
"false"
>
...
...
@@ -248,11 +251,11 @@
"\n"
"puts \"@@FINISH@@\"\n"
</line>
<line
name=
"vivado_copy_after_
bitstream
"
>
<line
name=
"vivado_copy_after_
timing_summary
"
>
"-c"
"mkdir -p %VivadoLocalResultDir ;"
"rsync -avr -e ssh"
"%RemoteUser@%RemoteHost:%VivadoProjectRoot/
build/%
file"
"%RemoteUser@%RemoteHost:%VivadoProjectRoot/
%VivadoRemoteDir/%raw
file"
"%VivadoLocalResultDir/"
</line>
<line
name=
"parser_VivadoTimingSummary"
...
...
tools/Xilinx/vivado_timing_summary_synthesis.xml
0 → 100644
View file @
06425a7a
<?xml version="1.0" encoding="UTF-8"?>
<vdt-project>
<tool
name=
"VivadoTimimgSummaryReportSynthesis"
label=
"Report post-synthesis timimg summary"
project=
"FPGA_project"
interface=
"VivadoReportTimingSummaryInterface"
package=
"FPGA_package"
inherits=
"VivadoReportTimingSummary"
shell=
"/bin/bash"
description=
"Report post-synthesis timimg summary"
disable=
"DisableVivadoTimingSummary"
>
<depends-list>
<depends
state=
"SnapshotSynth"
/>
</depends-list>
<action-menu>
<action
label=
"Report post-synthesis timing summary"
resource=
""
icon=
"clock_sum.png"
/>
</action-menu>
<parameter
id=
"DisableVivadoTimingSummary"
label=
"Disable"
tooltip=
"Disable post-synthesis timing summary report"
default=
"false"
type=
"Boolean"
format=
"None"
/>
<!-- TODO Add (copy from proto) parameters that should be different for post and pre routing.
Or add more derivative reports. -->
<parameter
id=
"rawfile"
label=
"Result filename"
tooltip=
"Write report to the specified file."
default=
"%%ProjectName.timing_summary_synth"
visible=
"true"
omit=
""
type=
"String"
format=
"CopyValue"
/>
<parameter
id=
"append"
label=
"Append to file"
tooltip=
"Append to the output file."
default=
"false"
visible=
"true"
omit=
"false"
type=
"Boolean"
format=
"DashName"
/>
<parameter
id=
"return_string"
label=
"Return string"
tooltip=
"Write result to TCL to be captured into variable."
default=
""
visible=
"true"
omit=
""
type=
"String"
format=
"Dash"
/>
<parameter
id=
"datasheet"
label=
"Datasheet info"
tooltip=
"Generate datasheet information for the report."
default=
"false"
visible=
"true"
omit=
"false"
type=
"Boolean"
format=
"DashName"
/>
<!-- Invisible (calculated) parameters -->
<!-- same value as %file, but will appear withou "-file" prefix -->
<parameter
id=
"file"
default=
"%VivadoRemoteDir/%rawfile"
visible=
"false"
omit=
""
type=
"String"
format=
"Dash"
/>
</tool>
</vdt-project>
tools/Xilinx/vivado_timing_synthesis.xml
0 → 100644
View file @
06425a7a
<?xml version="1.0" encoding="UTF-8"?>
<vdt-project>
<tool
name=
"VivadoTimingReportSynthesis"
label=
"Report post-synthesis timimg"
project=
"FPGA_project"
interface=
"VivadoReportTimingInterface"
package=
"FPGA_package"
inherits=
"VivadoReportTiming"
shell=
"/bin/bash"
description=
"Report post-synthesis timimg"
disable=
"DisableVivadoTiming"
>
<depends-list>
<depends
state=
"SnapshotSynth"
/>
</depends-list>
<action-menu>
<action
label=
"Report post-synthesis timing"
resource=
""
icon=
"clock.png"
/>
</action-menu>
<parameter
id=
"DisableVivadoTiming"
label=
"Disable"
tooltip=
"Disable post-synthesis timing report"
default=
"false"
type=
"Boolean"
format=
"None"
/>
<!-- TODO Add (copy from proto) parameters that should be different for post and pre routing.
Or add more derivative reports. -->
<parameter
id=
"rawfile"
label=
"Result filename"
tooltip=
"Write report to the specified file."
default=
"%%ProjectName.timing_synth"
visible=
"true"
omit=
""
type=
"String"
format=
"CopyValue"
/>
<parameter
id=
"append"
label=
"Append to file"
tooltip=
"Append to the output file."
default=
"false"
visible=
"true"
omit=
"false"
type=
"Boolean"
format=
"DashName"
/>
<parameter
id=
"return_string"
label=
"Return string"
tooltip=
"Write result to TCL to be captured into variable."
default=
""
visible=
"true"
omit=
""
type=
"String"
format=
"Dash"
/>
<!-- Invisible (calculated) parameters -->
<!-- same value as %file, but will appear withou "-file" prefix -->
<parameter
id=
"file"
default=
"%VivadoRemoteDir/%rawfile"
visible=
"false"
omit=
""
type=
"String"
format=
"Dash"
/>
</tool>
</vdt-project>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment