Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/user/FlowVariables.md
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,7 @@ configuration file.
- [PWR_NETS_VOLTAGES](#PWR_NETS_VOLTAGES)
- [REPORT_CLOCK_SKEW](#REPORT_CLOCK_SKEW)
- [ROUTING_LAYER_ADJUSTMENT](#ROUTING_LAYER_ADJUSTMENT)
- [SKIP_DETAILED_ROUTE](#SKIP_DETAILED_ROUTE)
- [SKIP_REPORT_METRICS](#SKIP_REPORT_METRICS)

## generate_abstract variables
Expand Down
54 changes: 54 additions & 0 deletions flow/designs/rapidus2hp/cva6/rules-base.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"synth__design__instance__area__stdcell": {
"value": 13516.26,
"compare": "<="
},
"constraints__clocks__count": {
"value": 1,
"compare": "=="
},
"placeopt__design__instance__area": {
"value": 14746,
"compare": "<="
},
"placeopt__design__instance__count__stdcell": {
"value": 171414,
"compare": "<="
},
"detailedplace__design__violations": {
"value": 0,
"compare": "=="
},
"cts__design__instance__count__setup_buffer": {
"value": 14906,
"compare": "<="
},
"cts__design__instance__count__hold_buffer": {
"value": 14906,
"compare": "<="
},
"globalroute__antenna_diodes_count": {
"value": 0,
"compare": "<="
},
"finish__timing__setup__ws": {
"value": 0.0,
"compare": ">="
},
"finish__design__instance__area": {
"value": 15035,
"compare": "<="
},
"finish__timing__drv__setup_violation_count": {
"value": 7453,
"compare": "<="
},
"finish__timing__drv__hold_violation_count": {
"value": 795,
"compare": "<="
},
"finish__timing__wns_percent_delay": {
"value": -10.0,
"compare": ">="
}
}
54 changes: 54 additions & 0 deletions flow/designs/rapidus2hp/ethmac/rules-base.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"synth__design__instance__area__stdcell": {
"value": 3307.96,
"compare": "<="
},
"constraints__clocks__count": {
"value": 3,
"compare": "=="
},
"placeopt__design__instance__area": {
"value": 3774,
"compare": "<="
},
"placeopt__design__instance__count__stdcell": {
"value": 70864,
"compare": "<="
},
"detailedplace__design__violations": {
"value": 0,
"compare": "=="
},
"cts__design__instance__count__setup_buffer": {
"value": 6162,
"compare": "<="
},
"cts__design__instance__count__hold_buffer": {
"value": 6162,
"compare": "<="
},
"globalroute__antenna_diodes_count": {
"value": 0,
"compare": "<="
},
"finish__timing__setup__ws": {
"value": 0.0,
"compare": ">="
},
"finish__design__instance__area": {
"value": 3961,
"compare": "<="
},
"finish__timing__drv__setup_violation_count": {
"value": 3081,
"compare": "<="
},
"finish__timing__drv__hold_violation_count": {
"value": 100,
"compare": "<="
},
"finish__timing__wns_percent_delay": {
"value": -10.0,
"compare": ">="
}
}
54 changes: 54 additions & 0 deletions flow/designs/rapidus2hp/gcd/rules-base.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"synth__design__instance__area__stdcell": {
"value": 20.89,
"compare": "<="
},
"constraints__clocks__count": {
"value": 1,
"compare": "=="
},
"placeopt__design__instance__area": {
"value": 31,
"compare": "<="
},
"placeopt__design__instance__count__stdcell": {
"value": 638,
"compare": "<="
},
"detailedplace__design__violations": {
"value": 0,
"compare": "=="
},
"cts__design__instance__count__setup_buffer": {
"value": 56,
"compare": "<="
},
"cts__design__instance__count__hold_buffer": {
"value": 56,
"compare": "<="
},
"globalroute__antenna_diodes_count": {
"value": 0,
"compare": "<="
},
"finish__timing__setup__ws": {
"value": 0.0,
"compare": ">="
},
"finish__design__instance__area": {
"value": 33,
"compare": "<="
},
"finish__timing__drv__setup_violation_count": {
"value": 28,
"compare": "<="
},
"finish__timing__drv__hold_violation_count": {
"value": 100,
"compare": "<="
},
"finish__timing__wns_percent_delay": {
"value": -10.0,
"compare": ">="
}
}
54 changes: 54 additions & 0 deletions flow/designs/rapidus2hp/hercules_is_int/rules-base.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"synth__design__instance__area__stdcell": {
"value": 26638.13,
"compare": "<="
},
"constraints__clocks__count": {
"value": 1,
"compare": "=="
},
"placeopt__design__instance__area": {
"value": 44052,
"compare": "<="
},
"placeopt__design__instance__count__stdcell": {
"value": 764564,
"compare": "<="
},
"detailedplace__design__violations": {
"value": 0,
"compare": "=="
},
"cts__design__instance__count__setup_buffer": {
"value": 66484,
"compare": "<="
},
"cts__design__instance__count__hold_buffer": {
"value": 66484,
"compare": "<="
},
"globalroute__antenna_diodes_count": {
"value": 0,
"compare": "<="
},
"finish__timing__setup__ws": {
"value": -114.96,
"compare": ">="
},
"finish__design__instance__area": {
"value": 45133,
"compare": "<="
},
"finish__timing__drv__setup_violation_count": {
"value": 33242,
"compare": "<="
},
"finish__timing__drv__hold_violation_count": {
"value": 1410,
"compare": "<="
},
"finish__timing__wns_percent_delay": {
"value": -36.44,
"compare": ">="
}
}
54 changes: 54 additions & 0 deletions flow/designs/rapidus2hp/ibex/rules-base.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"synth__design__instance__area__stdcell": {
"value": 1020.31,
"compare": "<="
},
"constraints__clocks__count": {
"value": 1,
"compare": "=="
},
"placeopt__design__instance__area": {
"value": 1198,
"compare": "<="
},
"placeopt__design__instance__count__stdcell": {
"value": 19647,
"compare": "<="
},
"detailedplace__design__violations": {
"value": 0,
"compare": "=="
},
"cts__design__instance__count__setup_buffer": {
"value": 1708,
"compare": "<="
},
"cts__design__instance__count__hold_buffer": {
"value": 1708,
"compare": "<="
},
"globalroute__antenna_diodes_count": {
"value": 0,
"compare": "<="
},
"finish__timing__setup__ws": {
"value": 0.0,
"compare": ">="
},
"finish__design__instance__area": {
"value": 1247,
"compare": "<="
},
"finish__timing__drv__setup_violation_count": {
"value": 854,
"compare": "<="
},
"finish__timing__drv__hold_violation_count": {
"value": 100,
"compare": "<="
},
"finish__timing__wns_percent_delay": {
"value": -10.0,
"compare": ">="
}
}
54 changes: 54 additions & 0 deletions flow/designs/rapidus2hp/jpeg/rules-base.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"synth__design__instance__area__stdcell": {
"value": 3297.12,
"compare": "<="
},
"constraints__clocks__count": {
"value": 1,
"compare": "=="
},
"placeopt__design__instance__area": {
"value": 3853,
"compare": "<="
},
"placeopt__design__instance__count__stdcell": {
"value": 100478,
"compare": "<="
},
"detailedplace__design__violations": {
"value": 0,
"compare": "=="
},
"cts__design__instance__count__setup_buffer": {
"value": 8737,
"compare": "<="
},
"cts__design__instance__count__hold_buffer": {
"value": 8737,
"compare": "<="
},
"globalroute__antenna_diodes_count": {
"value": 0,
"compare": "<="
},
"finish__timing__setup__ws": {
"value": 0.0,
"compare": ">="
},
"finish__design__instance__area": {
"value": 3959,
"compare": "<="
},
"finish__timing__drv__setup_violation_count": {
"value": 4369,
"compare": "<="
},
"finish__timing__drv__hold_violation_count": {
"value": 100,
"compare": "<="
},
"finish__timing__wns_percent_delay": {
"value": -10.0,
"compare": ">="
}
}
2 changes: 1 addition & 1 deletion flow/scripts/detail_route.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ if { ![grt::have_routes] } {
in DRC viewer to view congestion"
}

if { [env_var_exists_and_non_empty SKIP_DRT] } {
if { [env_var_equals SKIP_DETAILED_ROUTE 1] } {
write_db $::env(RESULTS_DIR)/5_2_route.odb
exit
}
Expand Down
2 changes: 1 addition & 1 deletion flow/scripts/final_report.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ write_verilog $::env(RESULTS_DIR)/6_final.v
# Run extraction and STA
if {
[env_var_exists_and_non_empty RCX_RULES]
&& ![env_var_exists_and_non_empty SKIP_DRT]
&& [env_var_equals SKIP_DETAILED_ROUTE 0]
} {
# RCX section
define_process_corner -ext_model_index 0 X
Expand Down
1 change: 1 addition & 0 deletions flow/scripts/variables.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1004,3 +1004,4 @@ SKIP_DETAILED_ROUTE:
Skips detailed route.
stages:
- route
- final
4 changes: 2 additions & 2 deletions flow/util/genRuleFile.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,8 +181,8 @@ def gen_rule_file(
change_str = ""
for field, option in rules_dict.items():
if field not in metrics.keys():
print(f"[ERROR] Metric {field} not found")
sys.exit(1)
print(f"[WARNING] Metric {field} not found")
continue

if isinstance(metrics[field], str):
print(f"[WARNING] Skipping string field {field} = {metrics[field]}")
Expand Down