Skip to content

Commit ff7a5fc

Browse files
authored
Merge pull request #110 from zsjiang99/master
Sync AI-generated Multi-CGRA params
2 parents 7ce6762 + e937a60 commit ff7a5fc

1 file changed

Lines changed: 28 additions & 2 deletions

File tree

mode_dark_light.py

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,8 @@ def display_ai_response(response, error):
274274
config = ai_assistant.lastRecommendedConfigs.get("balanced", {})
275275
if config:
276276
apply_config_by_mode("balanced")
277-
clickUpdate(master)
277+
updateMultiCgraPanelOnly(master) # Update Multi-CGRA panel without resetting Per-CGRA entries
278+
clickUpdate(master) # Update Per-CGRA panel with AI values
278279
# Apply FU types after clickUpdate to avoid being overwritten
279280
fu_types = config.get("fu_types", [])
280281
apply_fu_types_to_cgra(fu_types)
@@ -508,7 +509,8 @@ def apply_recommended_config():
508509
def apply_and_update(mode):
509510
dialog.destroy()
510511
apply_config_by_mode(mode)
511-
clickUpdate(master)
512+
updateMultiCgraPanelOnly(master) # Update Multi-CGRA panel without resetting Per-CGRA entries
513+
clickUpdate(master) # Update Per-CGRA panel with AI values
512514
fu_types = ai_assistant.lastRecommendedConfigs.get(mode, {}).get("fu_types", [])
513515
apply_fu_types_to_cgra(fu_types)
514516

@@ -1984,6 +1986,30 @@ def clickMultiCgraUpdate(root):
19841986
create_param_pannel(root)
19851987

19861988

1989+
def updateMultiCgraPanelOnly(root):
1990+
"""Only update Multi-CGRA panel visualization without resetting Per-CGRA entries."""
1991+
cgraRows = int(widgets["multiCgraRowsLabelEntry"].get())
1992+
cgraCols = int(widgets["multiCgraColumnsEntry"].get())
1993+
1994+
global multiCgraParam
1995+
global selectedCgraParam
1996+
1997+
multiCgraParam = MultiCGRAParam(rows=cgraRows, cols=cgraCols, globalWidgets=widgets)
1998+
multiCgraParam.setSelectedCgra(0, 0)
1999+
selectedCgraParam = multiCgraParam.getSelectedCgra()
2000+
selectedCgraParam.set_cgra_param_callbacks(switchDataSPMOutLinks=switchDataSPMOutLinks,
2001+
updateFunCheckoutButtons=updateFunCheckoutButtons,
2002+
updateFunCheckVars=updateFunCheckVars,
2003+
updateXbarCheckbuttons=updateXbarCheckbuttons,
2004+
updateXbarCheckVars=updateXbarCheckVars,
2005+
getFunCheckVars=getFunCheckVars,
2006+
getXbarCheckVars=getXbarCheckVars)
2007+
2008+
# Only update Multi-CGRA panel, don't touch Per-CGRA panels
2009+
multiCgraPanel = create_multi_cgra_panel(root, cgraRows, cgraCols)
2010+
multiCgraPanel.grid(row=0, column=0, padx=(0, 5), sticky="nsew")
2011+
2012+
19872013
def create_cgra_pannel(master, rows, columns):
19882014
# Clear previous CGRA panel if it exists
19892015
if 'cgraPannel' in widgets:

0 commit comments

Comments
 (0)