Hello, I am trying the *`Regression & Explorat...
# openlane
r
Hello, I am trying the
Regression & Exploration
flow of openlane following the doc. I wrote a config.tcl like this as a basic configuration:
Copy code
# Design
set ::env(DESIGN_NAME) "Rift2LinkA"
set ::env(VERILOG_FILES) "$::env(DESIGN_DIR)/src/*.v"
set ::env(CLOCK_PORT) "clock"
set ::env(CLOCK_NET) "clock"
set ::env(CLOCK_PERIOD) 20
set ::env(FP_SIZING) relative
# set ::env(FP_CORE_UTIL) 20
set ::env(FP_ASPECT_RATIO) 1.2
# set ::env(PL_TARGET_DENSITY) 0.21
set ::env(CELL_PAD) 6
set ::env(RT_MAX_LAYER) {met4}
set ::env(ROUTING_CORES) 16
set ::env(DESIGN_IS_CORE) 0
And I wrote a regression.config like this:
Copy code
FP_CORE_UTIL=(15,17,20)
FP_ASPECT_RATIO=(1.2)
PL_TARGET_DENSITY=(FP_CORE_UTIL*0.01+0.01)
When I use
python3 run_designs.py --regression ./designs/Rift2LinkA/regression.config -j16  Rift2LinkA
, I found that all three flows running under the basic configuration. The regression configuration didn't take effect.
$PWD/runs/config_regression_1/config.tcl
was generated from basic configuration, although 3 regression configuration files has been generated at
$PWD/
. Then I reviewed
run_designs.py
and add 2 lines, for
-config_file
, into the codes. And then it looks fine.
Copy code
def run_design(designs_queue):
        nonlocal design_failure_flag, flow_failure_flag
        while not designs_queue.empty():
            design, config, tag, design_name = designs_queue.get(
                timeout=3
            )  # 3s timeout
            run_path = utils.get_run_path(design=design, tag=tag)
            update("START", design)
            command = [
                os.getenv("OPENLANE_ENTRY") or "./flow.tcl",
                "-design",
                design,
                "-tag",
                tag,
                "-config_tag",
                config,
                "-config_file",
                "./designs/"+design+"/"+config+".tcl",
                "-overwrite",
                "-no_save",
                "-run_hooks",
            ] + (["-verbose", "1"] if show_log_output else [])
Now I want to know if it is a bug or I have done somethings wrong?