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
bee49a3f
Commit
bee49a3f
authored
Jul 25, 2015
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed 'enebled' for report tools, modified tool sequencing
parent
be2ad110
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
50 additions
and
22 deletions
+50
-22
XMLConfig.java
src/com/elphel/vdt/core/tools/config/xml/XMLConfig.java
+1
-1
Tool.java
src/com/elphel/vdt/core/tools/params/Tool.java
+13
-6
ToolSequence.java
src/com/elphel/vdt/core/tools/params/ToolSequence.java
+35
-12
quartus_place.xml
tools/Altera_Quartus/quartus_place.xml
+0
-1
quartus_synthesis.xml
tools/Altera_Quartus/quartus_synthesis.xml
+0
-1
ise_map.xml
tools/Xilinx_ISE/ise_map.xml
+1
-1
No files found.
src/com/elphel/vdt/core/tools/config/xml/XMLConfig.java
View file @
bee49a3f
...
@@ -139,7 +139,7 @@ public class XMLConfig extends Config {
...
@@ -139,7 +139,7 @@ public class XMLConfig extends Config {
static
final
String
CONTEXT_TOOL_LOG_DIRECTORY
=
"log-dir"
;
// folder to store the tool log files
static
final
String
CONTEXT_TOOL_LOG_DIRECTORY
=
"log-dir"
;
// folder to store the tool log files
static
final
String
CONTEXT_TOOL_STATE_DIRECTORY
=
"state-dir"
;
// folder to store the tool state (snapshot) files
static
final
String
CONTEXT_TOOL_STATE_DIRECTORY
=
"state-dir"
;
// folder to store the tool state (snapshot) files
static
final
String
CONTEXT_TOOL_DISABLED
=
"disable
d
"
;
// Parameter name that disables the tool if true
static
final
String
CONTEXT_TOOL_DISABLED
=
"disable"
;
// Parameter name that disables the tool if true
static
final
String
CONTEXT_TOOL_RESULT
=
"result"
;
// Parameter name keeps the filename representing result (snapshot)
static
final
String
CONTEXT_TOOL_RESULT
=
"result"
;
// Parameter name keeps the filename representing result (snapshot)
static
final
String
CONTEXT_TOOL_RESTORE
=
"restore"
;
// tool name that restores the state from result (shapshot)
static
final
String
CONTEXT_TOOL_RESTORE
=
"restore"
;
// tool name that restores the state from result (shapshot)
static
final
String
CONTEXT_TOOL_SAVE
=
"save"
;
// tool name that saves the state to result file (snapshot)
static
final
String
CONTEXT_TOOL_SAVE
=
"save"
;
// tool name that saves the state to result file (snapshot)
...
...
src/com/elphel/vdt/core/tools/params/Tool.java
View file @
bee49a3f
...
@@ -46,7 +46,7 @@ import com.elphel.vdt.core.tools.params.types.ParamTypeBool;
...
@@ -46,7 +46,7 @@ import com.elphel.vdt.core.tools.params.types.ParamTypeBool;
import
com.elphel.vdt.core.tools.params.types.ParamTypeString
;
import
com.elphel.vdt.core.tools.params.types.ParamTypeString
;
import
com.elphel.vdt.core.tools.params.types.ParamTypeString.KIND
;
import
com.elphel.vdt.core.tools.params.types.ParamTypeString.KIND
;
import
com.elphel.vdt.core.tools.params.types.RunFor
;
import
com.elphel.vdt.core.tools.params.types.RunFor
;
import
com.elphel.vdt.ui.MessageUI
;
//
import com.elphel.vdt.ui.MessageUI;
import
com.elphel.vdt.ui.VDTPluginImages
;
import
com.elphel.vdt.ui.VDTPluginImages
;
import
com.elphel.vdt.ui.views.DesignFlowView
;
import
com.elphel.vdt.ui.views.DesignFlowView
;
import
com.elphel.vdt.ui.variables.SelectedResourceManager
;
import
com.elphel.vdt.ui.variables.SelectedResourceManager
;
...
@@ -227,6 +227,7 @@ public class Tool extends Context implements Cloneable, Inheritable {
...
@@ -227,6 +227,7 @@ public class Tool extends Context implements Cloneable, Inheritable {
this
.
stateDirString
=
stateDirString
;
this
.
stateDirString
=
stateDirString
;
this
.
disabledString
=
disabledString
;
// to disable tools from automatic running
this
.
disabledString
=
disabledString
;
// to disable tools from automatic running
this
.
resultString
=
resultString
;
// parameter name of kind of file that represents state after running this tool
this
.
resultString
=
resultString
;
// parameter name of kind of file that represents state after running this tool
this
.
restoreString
=
restoreString
;
// name of tool that restores the state of this tool ran (has own dependencies)
this
.
restoreString
=
restoreString
;
// name of tool that restores the state of this tool ran (has own dependencies)
this
.
saveString
=
saveString
;
// name of tool that saves the state of this tool run
this
.
saveString
=
saveString
;
// name of tool that saves the state of this tool run
...
@@ -239,7 +240,7 @@ public class Tool extends Context implements Cloneable, Inheritable {
...
@@ -239,7 +240,7 @@ public class Tool extends Context implements Cloneable, Inheritable {
result
=
null
;
result
=
null
;
dependStates
=
null
;
dependStates
=
null
;
dependFiles
=
null
;
dependFiles
=
null
;
DEBUG_PRINT
(
"Created tool"
+
name
+
" disabledString = "
+
disabledString
);
pinned
=
false
;
pinned
=
false
;
openState
=
null
;
openState
=
null
;
openTool
=
null
;
openTool
=
null
;
...
@@ -577,14 +578,20 @@ public class Tool extends Context implements Cloneable, Inheritable {
...
@@ -577,14 +578,20 @@ public class Tool extends Context implements Cloneable, Inheritable {
"' must be of type '"
+
ParamTypeBool
.
NAME
+
"' must be of type '"
+
ParamTypeBool
.
NAME
+
"'"
);
"'"
);
}
}
DEBUG_PRINT
(
"initDisabled() tool "
+
name
+
" disabled = "
+
disabled
);
// parameter, not value
}
}
public
boolean
isDisabled
(){
public
boolean
isDisabled
(){
if
(
abstractTool
)
return
true
;
// abstract are always disabled
if
(
abstractTool
)
return
true
;
// abstract are always disabled
if
(
disabled
==
null
)
return
false
;
if
(
disabled
==
null
)
return
false
;
List
<
String
>
values
=
disabled
.
getValue
(
new
FormatProcessor
(
this
));
// null for topFormatProcessor
List
<
String
>
values
=
disabled
.
getValue
(
new
FormatProcessor
(
this
));
// null for topFormatProcessor
if
((
values
==
null
)
||
(
values
.
size
()==
0
))
return
false
;
if
((
values
==
null
)
||
(
values
.
size
()==
0
))
{
return
(!
values
.
get
(
0
).
equals
(
"true"
));
DEBUG_PRINT
(
name
+
".isDisabled() ==> FALSE (((values==null) || (values.size()==0)))"
);
return
false
;
}
DEBUG_PRINT
(
name
+
".isDisabled() ==> "
+
values
.
get
(
0
).
equals
(
"true"
));
// return (!values.get(0).equals("true"));
return
(
values
.
get
(
0
).
equals
(
"true"
));
}
}
public
void
initDepends
()
throws
ConfigException
{
public
void
initDepends
()
throws
ConfigException
{
...
...
src/com/elphel/vdt/core/tools/params/ToolSequence.java
View file @
bee49a3f
...
@@ -530,8 +530,8 @@ java.lang.NullPointerException
...
@@ -530,8 +530,8 @@ java.lang.NullPointerException
DEBUG_PRINT
(
"Could not find enabled tool to provide state "
+
state
);
DEBUG_PRINT
(
"Could not find enabled tool to provide state "
+
state
);
return
null
;
return
null
;
}
else
{
}
else
{
MessageUI
.
error
(
"No tool provide state "
+
state
);
MessageUI
.
error
(
"No tool provide
s
state "
+
state
);
DEBUG_PRINT
(
"No tool provide state "
+
state
);
DEBUG_PRINT
(
"No tool provide
s
state "
+
state
);
return
null
;
return
null
;
}
}
}
}
...
@@ -698,8 +698,8 @@ java.lang.NullPointerException
...
@@ -698,8 +698,8 @@ java.lang.NullPointerException
if
((
dependStates
!=
null
)
&&
(
dependStates
.
size
()>
0
)){
if
((
dependStates
!=
null
)
&&
(
dependStates
.
size
()>
0
)){
for
(
String
state:
dependStates
){
for
(
String
state:
dependStates
){
if
(!
stateProviders
.
containsKey
(
state
)){
if
(!
stateProviders
.
containsKey
(
state
)){
MessageUI
.
error
(
"No tool provide output state '"
+
state
+
"' needed to satisfy dependency of the tool "
+
tool
.
getName
());
MessageUI
.
error
(
"No tool provide
s
output state '"
+
state
+
"' needed to satisfy dependency of the tool "
+
tool
.
getName
());
System
.
out
.
println
(
"No tool provide output state '"
+
state
+
"' needed to satisfy dependency of the tool "
+
tool
.
getName
());
System
.
out
.
println
(
"No tool provide
s
output state '"
+
state
+
"' needed to satisfy dependency of the tool "
+
tool
.
getName
());
}
}
}
}
}
}
...
@@ -716,8 +716,10 @@ java.lang.NullPointerException
...
@@ -716,8 +716,10 @@ java.lang.NullPointerException
String
ignoreFilter
)
throws
CoreException
{
String
ignoreFilter
)
throws
CoreException
{
if
(!
okToRun
())
return
;
if
(!
okToRun
())
return
;
// Set this tool dirty (not to try reports on this tool before it ran)
DEBUG_PRINT
(
"launchToolSequence("
+
tool
.
getName
()+
", setting its state to \"Dirty\""
);
tool
.
setDirty
(
true
);
setStateProvides
();
// just testing
setStateProvides
();
// just testing
// tool.setDesignFlowView(designFlowView);
// tool.setDesignFlowView(designFlowView);
tool
.
setDesignFlowView
(
designFlowView
);
// maybe will not be needed with ToolSequencing class
tool
.
setDesignFlowView
(
designFlowView
);
// maybe will not be needed with ToolSequencing class
tool
.
setMode
(
mode
)
;
//TOOL_MODE.RUN);
tool
.
setMode
(
mode
)
;
//TOOL_MODE.RUN);
...
@@ -1603,11 +1605,11 @@ java.lang.NullPointerException
...
@@ -1603,11 +1605,11 @@ java.lang.NullPointerException
public
void
setDependState
(
Tool
tool
){
public
void
setDependState
(
Tool
tool
){
DEBUG_PRINT
(
"++++++++ setDependState("
+
tool
.
getName
()+
")"
);
DEBUG_PRINT
(
"++++++++ setDependState("
+
tool
.
getName
()+
")"
);
tool
.
clearDependStamps
();
// is it needed?
tool
.
clearDependStamps
();
// is it needed?
Map
<
String
,
String
>
depStates
=
makeDependStates
(
tool
);
Map
<
String
,
String
>
depStates
=
makeDependStates
(
tool
,
false
);
for
(
String
state:
depStates
.
keySet
()){
for
(
String
state:
depStates
.
keySet
()){
tool
.
setStateTimeStamp
(
state
,
depStates
.
get
(
state
));
// name of the state file including timestamp
tool
.
setStateTimeStamp
(
state
,
depStates
.
get
(
state
));
// name of the state file including timestamp
}
}
Map
<
String
,
String
>
depFiles
=
makeDependFiles
(
tool
);
Map
<
String
,
String
>
depFiles
=
makeDependFiles
(
tool
,
false
);
for
(
String
file:
depFiles
.
keySet
()){
for
(
String
file:
depFiles
.
keySet
()){
DEBUG_PRINT
(
"setDependState("
+
tool
.
getName
()+
"), file="
+
file
+
" stamp="
+
depFiles
.
get
(
file
));
DEBUG_PRINT
(
"setDependState("
+
tool
.
getName
()+
"), file="
+
file
+
" stamp="
+
depFiles
.
get
(
file
));
tool
.
setFileTimeStamp
(
file
,
depFiles
.
get
(
file
));
tool
.
setFileTimeStamp
(
file
,
depFiles
.
get
(
file
));
...
@@ -1621,15 +1623,26 @@ java.lang.NullPointerException
...
@@ -1621,15 +1623,26 @@ java.lang.NullPointerException
* @return true if all timestamps matched, false otherwise
* @return true if all timestamps matched, false otherwise
*/
*/
public
boolean
matchDependState
(
Tool
tool
){
public
boolean
matchDependState
(
Tool
tool
){
Map
<
String
,
String
>
depStates
=
makeDependStates
(
tool
);
Map
<
String
,
String
>
depStates
=
makeDependStates
(
tool
,
true
);
Map
<
String
,
String
>
depFiles
=
makeDependFiles
(
tool
);
Map
<
String
,
String
>
depFiles
=
makeDependFiles
(
tool
,
true
);
Map
<
String
,
String
>
storedDepStates
=
tool
.
getDependStatesTimestamps
();
Map
<
String
,
String
>
storedDepStates
=
tool
.
getDependStatesTimestamps
();
Map
<
String
,
String
>
storedDepFiles
=
tool
.
getDependFilesTimestamps
();
Map
<
String
,
String
>
storedDepFiles
=
tool
.
getDependFilesTimestamps
();
if
(
depStates
==
null
)
{
DEBUG_PRINT
(
"matchDependState("
+
tool
.
getName
()+
") :"
+
" depStates == null"
);
return
false
;
}
if
(
depStates
.
size
()!=
storedDepStates
.
size
())
{
if
(
depStates
.
size
()!=
storedDepStates
.
size
())
{
DEBUG_PRINT
(
"matchDependState("
+
tool
.
getName
()+
") :"
+
DEBUG_PRINT
(
"matchDependState("
+
tool
.
getName
()+
") :"
+
" depStates.size()!=storedDepStates.size() - "
+
depStates
.
size
()+
"!="
+
storedDepStates
.
size
());
" depStates.size()!=storedDepStates.size() - "
+
depStates
.
size
()+
"!="
+
storedDepStates
.
size
());
return
false
;
return
false
;
}
}
if
(
depFiles
==
null
)
{
DEBUG_PRINT
(
"matchDependState("
+
tool
.
getName
()+
") :"
+
" depFiles == null"
);
return
false
;
}
if
(
depFiles
.
size
()!=
storedDepFiles
.
size
())
{
if
(
depFiles
.
size
()!=
storedDepFiles
.
size
())
{
DEBUG_PRINT
(
"matchDependState("
+
tool
.
getName
()+
") :"
+
DEBUG_PRINT
(
"matchDependState("
+
tool
.
getName
()+
") :"
+
" depFiles.size()!=storedDepFiles.size() - "
+
depFiles
.
size
()+
"!="
+
storedDepFiles
.
size
());
" depFiles.size()!=storedDepFiles.size() - "
+
depFiles
.
size
()+
"!="
+
storedDepFiles
.
size
());
...
@@ -1662,7 +1675,7 @@ java.lang.NullPointerException
...
@@ -1662,7 +1675,7 @@ java.lang.NullPointerException
* @param tool tool just ran
* @param tool tool just ran
* @return map of states (link names) to states files (full with timestamps)
* @return map of states (link names) to states files (full with timestamps)
*/
*/
private
Map
<
String
,
String
>
makeDependStates
(
Tool
tool
){
private
Map
<
String
,
String
>
makeDependStates
(
Tool
tool
,
boolean
failOnMissing
){
Map
<
String
,
String
>
depStates
=
new
Hashtable
<
String
,
String
>();
Map
<
String
,
String
>
depStates
=
new
Hashtable
<
String
,
String
>();
List
<
String
>
dependStates
=
tool
.
getDependStates
();
List
<
String
>
dependStates
=
tool
.
getDependStates
();
if
(
dependStates
!=
null
)
for
(
String
state:
dependStates
){
if
(
dependStates
!=
null
)
for
(
String
state:
dependStates
){
...
@@ -1670,6 +1683,10 @@ java.lang.NullPointerException
...
@@ -1670,6 +1683,10 @@ java.lang.NullPointerException
ToolStateStamp
tss
=
currentStates
.
get
(
state
);
ToolStateStamp
tss
=
currentStates
.
get
(
state
);
depStates
.
put
(
state
,
tss
.
getToolStateFile
());
// name of the state file including timestamp
depStates
.
put
(
state
,
tss
.
getToolStateFile
());
// name of the state file including timestamp
}
else
{
}
else
{
if
(
failOnMissing
)
{
DEBUG_PRINT
(
"makeDependStates: no information for state "
+
state
+
" on which tool "
+
tool
.
getName
()+
" depends, failing"
);
return
null
;
}
DEBUG_PRINT
(
"Seems a BUG (OK when called matchDependState): no information for state "
+
state
+
" on which tool "
+
tool
.
getName
()+
" depends"
);
DEBUG_PRINT
(
"Seems a BUG (OK when called matchDependState): no information for state "
+
state
+
" on which tool "
+
tool
.
getName
()+
" depends"
);
/*
/*
DEBUG_PRINT("currentStates are:");
DEBUG_PRINT("currentStates are:");
...
@@ -1681,10 +1698,10 @@ java.lang.NullPointerException
...
@@ -1681,10 +1698,10 @@ java.lang.NullPointerException
}
}
return
depStates
;
return
depStates
;
}
}
private
Map
<
String
,
String
>
makeDependFiles
(
Tool
tool
){
private
Map
<
String
,
String
>
makeDependFiles
(
Tool
tool
,
boolean
failOnMissing
){
DEBUG_PRINT
(
"++++++ makeDependFiles("
+
tool
.
getName
()+
")"
);
DEBUG_PRINT
(
"++++++ makeDependFiles("
+
tool
.
getName
()+
")"
);
Map
<
String
,
String
>
depFiles
=
new
Hashtable
<
String
,
String
>();
Map
<
String
,
String
>
depFiles
=
new
Hashtable
<
String
,
String
>();
List
<
String
>
dependFileNames
=
tool
.
getDependFiles
();
List
<
String
>
dependFileNames
=
tool
.
getDependFiles
();
// files on which this tool depends
if
(
dependFileNames
!=
null
)
{
if
(
dependFileNames
!=
null
)
{
IProject
project
=
SelectedResourceManager
.
getDefault
().
getSelectedProject
();
// should not be null when we got here
IProject
project
=
SelectedResourceManager
.
getDefault
().
getSelectedProject
();
// should not be null when we got here
for
(
String
depFile:
dependFileNames
){
for
(
String
depFile:
dependFileNames
){
...
@@ -1698,6 +1715,12 @@ java.lang.NullPointerException
...
@@ -1698,6 +1715,12 @@ java.lang.NullPointerException
DEBUG_PRINT
(
"makeDependFiles(): file="
+
depFile
+
", stamp="
+
sourceFile
.
getModificationStamp
()+
DEBUG_PRINT
(
"makeDependFiles(): file="
+
depFile
+
", stamp="
+
sourceFile
.
getModificationStamp
()+
" ("
+
sourceFile
.
toString
()+
")"
);
" ("
+
sourceFile
.
toString
()+
")"
);
}
else
{
}
else
{
if
(
failOnMissing
)
{
DEBUG_PRINT
(
"makeDependFiles(): source file "
+
sourceFile
.
getLocation
()+
" on which tool "
+
tool
.
getName
()+
" depends does not exist, failing"
);
return
null
;
}
System
.
out
.
println
(
"Seems a BUG: source file "
+
sourceFile
.
getLocation
()+
" on which tool "
+
System
.
out
.
println
(
"Seems a BUG: source file "
+
sourceFile
.
getLocation
()+
" on which tool "
+
tool
.
getName
()+
" depends does not exist"
);
tool
.
getName
()+
" depends does not exist"
);
depFiles
.
put
(
depFile
,
""
);
// empty stamp for non-existent files?
depFiles
.
put
(
depFile
,
""
);
// empty stamp for non-existent files?
...
...
tools/Altera_Quartus/quartus_place.xml
View file @
bee49a3f
...
@@ -73,7 +73,6 @@ register cascade chains, or that can be converted to register cascade chains"/>
...
@@ -73,7 +73,6 @@ register cascade chains, or that can be converted to register cascade chains"/>
log-dir=
"QuartusLogDir"
log-dir=
"QuartusLogDir"
state-dir=
"QuartusLocalDir"
state-dir=
"QuartusLocalDir"
restore=
"RestoreQuartusPlace"
restore=
"RestoreQuartusPlace"
disable=
"DisableQuartusPlace"
save=
"SaveQuartusPlace"
save=
"SaveQuartusPlace"
autosave=
"AutosaveQuartusPlace"
autosave=
"AutosaveQuartusPlace"
inherits=
"QuartusToolPrototype"
inherits=
"QuartusToolPrototype"
...
...
tools/Altera_Quartus/quartus_synthesis.xml
View file @
bee49a3f
...
@@ -72,7 +72,6 @@ may decrease as fast-synthesis netlists take longer to route."/>
...
@@ -72,7 +72,6 @@ may decrease as fast-synthesis netlists take longer to route."/>
log-dir=
"QuartusLogDir"
log-dir=
"QuartusLogDir"
state-dir=
"QuartusLocalDir"
state-dir=
"QuartusLocalDir"
restore=
"RestoreQuartusSynthesis"
restore=
"RestoreQuartusSynthesis"
disable=
"DisableQuartusSynth"
save=
"SaveQuartusSynthesis"
save=
"SaveQuartusSynthesis"
autosave=
"AutosaveQuartusSynthesis"
autosave=
"AutosaveQuartusSynthesis"
inherits=
"QuartusToolPrototype"
inherits=
"QuartusToolPrototype"
...
...
tools/Xilinx_ISE/ise_map.xml
View file @
bee49a3f
...
@@ -194,7 +194,7 @@
...
@@ -194,7 +194,7 @@
default=
"off"
visible=
"true"
omit=
"off"
type=
"PRIOType"
format=
"Dash"
/>
default=
"off"
visible=
"true"
omit=
"off"
type=
"PRIOType"
format=
"Dash"
/>
<!-- default not clear , disabling omit-->
<!-- default not clear , disabling omit-->
<parameter
id=
"register_duplication"
label=
"Register duplication"
<parameter
id=
"register_duplication"
label=
"Register duplication"
tooltip=
"
P
Register duplication (disabled if '-global_opt' is used, reguires '-timing')"
tooltip=
"Register duplication (disabled if '-global_opt' is used, reguires '-timing')"
default=
"true"
omit=
""
type=
"Bool_on_off"
format=
"Dash"
/>
default=
"true"
omit=
""
type=
"Bool_on_off"
format=
"Dash"
/>
<parameter
id=
"register_ordering"
outid=
"r"
label=
"Register ordering"
<parameter
id=
"register_ordering"
outid=
"r"
label=
"Register ordering"
tooltip=
"Register ordering in a slice (use 4 or 8)"
tooltip=
"Register ordering in a slice (use 4 or 8)"
...
...
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