|
@@ -45,10 +45,12 @@ class _GuiMain():
|
|
|
return gui.signale('stop')
|
|
return gui.signale('stop')
|
|
|
|
|
|
|
|
def Log_Print(self): # test: _GUI.Log_Print()
|
|
def Log_Print(self): # test: _GUI.Log_Print()
|
|
|
|
|
+ gui.signale("Busy")
|
|
|
print(1)
|
|
print(1)
|
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
|
print(2)
|
|
print(2)
|
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
|
|
|
+ gui.signale("Ready")
|
|
|
return ""
|
|
return ""
|
|
|
|
|
|
|
|
# test: _GUI.Shell_IsCmdFinished("print(1,")
|
|
# test: _GUI.Shell_IsCmdFinished("print(1,")
|
|
@@ -80,6 +82,7 @@ class _GuiMain():
|
|
|
|
|
|
|
|
def Analyze(self, type_paths):
|
|
def Analyze(self, type_paths):
|
|
|
assert isinstance(type_paths, list)
|
|
assert isinstance(type_paths, list)
|
|
|
|
|
+ gui.signale("Busy")
|
|
|
for tp in type_paths:
|
|
for tp in type_paths:
|
|
|
assert tp[0] in ("Filelist", "Netlist", "V2001",
|
|
assert tp[0] in ("Filelist", "Netlist", "V2001",
|
|
|
"V2005", "SV2005", "SV2009", "SV2012", "SearchPath")
|
|
"V2005", "SV2005", "SV2009", "SV2012", "SearchPath")
|
|
@@ -87,11 +90,13 @@ class _GuiMain():
|
|
|
print("Analyze:", tp[0], tp[1])
|
|
print("Analyze:", tp[0], tp[1])
|
|
|
time.sleep(0.1)
|
|
time.sleep(0.1)
|
|
|
print("Analyze Done")
|
|
print("Analyze Done")
|
|
|
|
|
+ gui.signale("Ready")
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
def Elaborate(self, top, bbox):
|
|
def Elaborate(self, top, bbox):
|
|
|
assert isinstance(top, str)
|
|
assert isinstance(top, str)
|
|
|
assert isinstance(bbox, bool)
|
|
assert isinstance(bbox, bool)
|
|
|
|
|
+ gui.signale("Busy")
|
|
|
if top == "":
|
|
if top == "":
|
|
|
print("Elaborate: Auto Top, ", end='')
|
|
print("Elaborate: Auto Top, ", end='')
|
|
|
else:
|
|
else:
|
|
@@ -109,18 +114,23 @@ class _GuiMain():
|
|
|
_GuiTreeRow([ ], "SubRow2", ["1","2"]),
|
|
_GuiTreeRow([ ], "SubRow2", ["1","2"]),
|
|
|
], "DemoDesign", ["123", "2"]),]))
|
|
], "DemoDesign", ["123", "2"]),]))
|
|
|
print("Elaborate Done")
|
|
print("Elaborate Done")
|
|
|
|
|
+ gui.signale("Ready")
|
|
|
return gui.signale(self.SideBar)
|
|
return gui.signale(self.SideBar)
|
|
|
|
|
|
|
|
def ReloadDesign(self):
|
|
def ReloadDesign(self):
|
|
|
|
|
+ gui.signale("Busy")
|
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
|
print("Reload Design Done")
|
|
print("Reload Design Done")
|
|
|
|
|
+ gui.signale("Ready")
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
def ReadTimingConstraint(self, filename):
|
|
def ReadTimingConstraint(self, filename):
|
|
|
assert isinstance(filename, str)
|
|
assert isinstance(filename, str)
|
|
|
print("Reading Timing Constraint: "+filename)
|
|
print("Reading Timing Constraint: "+filename)
|
|
|
|
|
+ gui.signale("Busy")
|
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
|
print("Read Timing Constraint Done")
|
|
print("Read Timing Constraint Done")
|
|
|
|
|
+ gui.signale("Ready")
|
|
|
return
|
|
return
|
|
|
|
|
|
|
|
def ReportExceptions(self, mcp, fp, mdp, limit):
|
|
def ReportExceptions(self, mcp, fp, mdp, limit):
|
|
@@ -128,6 +138,7 @@ class _GuiMain():
|
|
|
assert isinstance(fp, bool)
|
|
assert isinstance(fp, bool)
|
|
|
assert isinstance(mdp, bool)
|
|
assert isinstance(mdp, bool)
|
|
|
assert isinstance(limit, int)
|
|
assert isinstance(limit, int)
|
|
|
|
|
+ gui.signale("Busy")
|
|
|
print("Reporting Exception: ", end='')
|
|
print("Reporting Exception: ", end='')
|
|
|
if mcp:
|
|
if mcp:
|
|
|
print("MultiCycle Path, ", end='')
|
|
print("MultiCycle Path, ", end='')
|
|
@@ -153,6 +164,7 @@ class _GuiMain():
|
|
|
[["MCP", form_mcp], ["FP", form_fp], ["MDP", form_mdp]])
|
|
[["MCP", form_mcp], ["FP", form_fp], ["MDP", form_mdp]])
|
|
|
# return _GuiWinFormMulti(title, forms)
|
|
# return _GuiWinFormMulti(title, forms)
|
|
|
print("Names:", forms.Names)
|
|
print("Names:", forms.Names)
|
|
|
|
|
+ gui.signale("Ready")
|
|
|
return gui.signale(_GuiWinFormMulti(title, forms))
|
|
return gui.signale(_GuiWinFormMulti(title, forms))
|
|
|
|
|
|
|
|
def ReportClocks(self, start, end, exclude, autogen, include_async):
|
|
def ReportClocks(self, start, end, exclude, autogen, include_async):
|
|
@@ -161,6 +173,7 @@ class _GuiMain():
|
|
|
assert isinstance(exclude, str)
|
|
assert isinstance(exclude, str)
|
|
|
assert isinstance(autogen, bool)
|
|
assert isinstance(autogen, bool)
|
|
|
assert isinstance(include_async, bool)
|
|
assert isinstance(include_async, bool)
|
|
|
|
|
+ gui.signale("Busy")
|
|
|
print("Reporting Clocks: Startpoints",
|
|
print("Reporting Clocks: Startpoints",
|
|
|
start, "Endpoints", end, end='')
|
|
start, "Endpoints", end, end='')
|
|
|
if exclude:
|
|
if exclude:
|
|
@@ -172,6 +185,7 @@ class _GuiMain():
|
|
|
print()
|
|
print()
|
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
|
print("Report Clocks Done")
|
|
print("Report Clocks Done")
|
|
|
|
|
+ gui.signale("Ready")
|
|
|
self.WindowCount += 1
|
|
self.WindowCount += 1
|
|
|
title = "Report "+str(self.WindowCount)
|
|
title = "Report "+str(self.WindowCount)
|
|
|
fixed_row = ["Startpoint Clock", "Startpoint",
|
|
fixed_row = ["Startpoint Clock", "Startpoint",
|
|
@@ -190,6 +204,7 @@ class _GuiMain():
|
|
|
assert isinstance(to, str)
|
|
assert isinstance(to, str)
|
|
|
assert isinstance(flat, bool)
|
|
assert isinstance(flat, bool)
|
|
|
assert isinstance(limit, int)
|
|
assert isinstance(limit, int)
|
|
|
|
|
+ gui.signale("Busy")
|
|
|
print("Reporting Virtual Timing: From", from_type, from_,
|
|
print("Reporting Virtual Timing: From", from_type, from_,
|
|
|
"Through", thru_type, thru, "To", to_type, to, end='')
|
|
"Through", thru_type, thru, "To", to_type, to, end='')
|
|
|
if flat:
|
|
if flat:
|
|
@@ -202,6 +217,7 @@ class _GuiMain():
|
|
|
print("No Path Limit")
|
|
print("No Path Limit")
|
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
|
print("Report Virtual Timing Done")
|
|
print("Report Virtual Timing Done")
|
|
|
|
|
+ gui.signale("Ready")
|
|
|
self.WindowCount += 1
|
|
self.WindowCount += 1
|
|
|
title = "Report "+str(self.WindowCount)
|
|
title = "Report "+str(self.WindowCount)
|
|
|
text = "Virtual Timing:\nFrom "+from_type+" "+from_ + \
|
|
text = "Virtual Timing:\nFrom "+from_type+" "+from_ + \
|
|
@@ -215,7 +231,6 @@ class _GuiMain():
|
|
|
# sys.stdout.stdout_bak.flush()
|
|
# sys.stdout.stdout_bak.flush()
|
|
|
|
|
|
|
|
def run(self):
|
|
def run(self):
|
|
|
- self.Elaborate("top", True)
|
|
|
|
|
shell_loop()
|
|
shell_loop()
|
|
|
|
|
|
|
|
def Exit(self): # File - Exit
|
|
def Exit(self): # File - Exit
|