@@ -349,11 +349,12 @@ FAST_BUILD_SETTINGS = {
349349 "TAPCELL_TCL" : "" ,
350350}
351351
352- SWEEP = {
352+ # This is used as inputs to other BoomTile configurations in the sweep,
353+ # but is not part of the sweep itself
354+ OTHER_CONFIGS = {
353355 "base" : {
354356 "description" : "Base settings, provides macro placement from hierarchical synthesis" ,
355357 "variables" : {
356- "GLOBAL_ROUTE_ARGS" : "-congestion_iterations 30 -congestion_report_iter_step 5 -verbose" ,
357358 },
358359 },
359360 "naja" : {
@@ -364,28 +365,18 @@ SWEEP = {
364365 "floorplan" : "BoomTile_synth" ,
365366 },
366367 },
368+ }
369+
370+ SWEEP = {
367371 "1" : {
368- "description" : "Flattend, timing driven placement, CTS timing repair enabled" ,
369- "variables" : {
370- "SYNTH_HIERARCHICAL" : "0" ,
371- "GPL_TIMING_DRIVEN" : "1" ,
372- "SKIP_CTS_REPAIR_TIMING" : "0" ,
373- "MACRO_PLACEMENT_TCL" : "$(location write_macro_placement)" ,
374- },
375- "stage_sources" : {"floorplan" : ["write_macro_placement" ]},
376- },
377- "2" : {
378- "description" : "Flattend, timing driven placement, CTS timing repair enabled, last gasp timing repair" ,
372+ "description" : "Flattend, timing driven placement" ,
379373 "variables" : {
380374 "SYNTH_HIERARCHICAL" : "0" ,
381375 "GPL_TIMING_DRIVEN" : "1" ,
382376 "SKIP_CTS_REPAIR_TIMING" : "0" ,
383377 "MACRO_PLACEMENT_TCL" : "$(location write_macro_placement)" ,
384378 "SKIP_LAST_GASP" : "0" ,
385379 },
386- "previous_stage" : {
387- "floorplan" : "BoomTile_1_synth" ,
388- },
389380 "stage_sources" : {"floorplan" : ["write_macro_placement" ]},
390381 },
391382}
@@ -411,7 +402,7 @@ BOOMTILE_VARIABLES = SKIP_REPORT_METRICS | FAST_BUILD_SETTINGS | {
411402 "HOLD_SLACK_MARGIN" : "-200" ,
412403}
413404
414- WNS_REPORT_SWEEP = [variant for variant in SWEEP if "naja" not in variant ]
405+ WNS_REPORT_SWEEP = [variant for variant in SWEEP ]
415406
416407SWEEP_JSON = {
417408 "base" : BOOMTILE_VARIABLES ,
@@ -439,39 +430,36 @@ BOOMTILE_SOURCES = {
439430
440431boomtile_all_rams = boom_regfile_rams .keys () + all_srams .keys ()
441432
433+ ALL_VARIANTS = SWEEP | OTHER_CONFIGS
434+
442435[orfs_flow (
443436 name = "BoomTile" ,
444- arguments = BOOMTILE_VARIABLES | SWEEP [variant ].get ("variables" , {}),
437+ arguments = BOOMTILE_VARIABLES | ALL_VARIANTS [variant ].get ("variables" , {}),
445438 macros = [
446439 ":" + m + "_generate_abstract"
447440 for m in boomtile_all_rams
448- if m not in SWEEP [variant ].get ("dissolve" , [])
441+ if m not in ALL_VARIANTS [variant ].get ("dissolve" , [])
449442 ],
450- previous_stage = SWEEP [variant ].get ("previous_stage" , {}),
451- renamed_inputs = SWEEP [variant ].get ("renamed_inputs" , {}),
443+ previous_stage = ALL_VARIANTS [variant ].get ("previous_stage" , {}),
444+ renamed_inputs = ALL_VARIANTS [variant ].get ("renamed_inputs" , {}),
452445 # Explictily set arguments for a stage when stages are not listed in
453446 # variables.yaml or we want to explicitly set a multi-stage argument
454447 # for a specific stage, e.g. SETUP_SLACK_MARGIN could be useful to
455448 # have a different value for floorplan, cts and grt.
456449 stage_arguments = {
457- "grt" : {
458- # global route is futile for now, so do a few iterations to
459- # get a global route artifact with .odb and .rpt file
460- "GLOBAL_ROUTE_ARGS" : "-congestion_iterations 5 -congestion_report_iter_step 5 -verbose" ,
461- },
462450 },
463451 # Starlark does not have sets, nor can we define functions in BUILD files
464452 # Use a dict to get a set of keys
465453 stage_sources = {
466- key : (SWEEP [variant ].get ("stage_sources" , {}).get (key , []) + BOOMTILE_SOURCES .get (key , []))
454+ key : (ALL_VARIANTS [variant ].get ("stage_sources" , {}).get (key , []) + BOOMTILE_SOURCES .get (key , []))
467455 for key in {
468456 key : "dummy"
469- for key in (BOOMTILE_SOURCES .keys () + SWEEP [variant ].get ("stage_sources" , {}).keys ())
457+ for key in (BOOMTILE_SOURCES .keys () + ALL_VARIANTS [variant ].get ("stage_sources" , {}).keys ())
470458 }.keys ()
471459 },
472460 variant = variant ,
473461 verilog_files = all_source_files ,
474- ) for variant in SWEEP ]
462+ ) for variant in SWEEP | OTHER_CONFIGS ]
475463
476464[filegroup (
477465 name = "BoomTile_" + variant + "_odb" ,
0 commit comments