diff --git a/flow/designs/rapidus2hp/hercules_idecode/config.mk b/flow/designs/rapidus2hp/hercules_idecode/config.mk index 145ccb5ec7..ccc90dd13b 100644 --- a/flow/designs/rapidus2hp/hercules_idecode/config.mk +++ b/flow/designs/rapidus2hp/hercules_idecode/config.mk @@ -46,8 +46,8 @@ export CORE_UTILIZATION = $(strip \ 45 \ ), \ $(if $(filter slang,$(SYNTH_HDL_FRONTEND)), \ - 58, \ - 54 \ + 59, \ + 58 \ ) \ ), \ $(if $(and $(filter t0.5,$(RAPIDUS_PDK_VERSION)),$(filter SC5T,$(PLACE_SITE))), \ diff --git a/flow/designs/rapidus2hp/hercules_idecode/rules-base.json b/flow/designs/rapidus2hp/hercules_idecode/rules-base.json index 6242192b4f..5860df3fe1 100644 --- a/flow/designs/rapidus2hp/hercules_idecode/rules-base.json +++ b/flow/designs/rapidus2hp/hercules_idecode/rules-base.json @@ -8,11 +8,11 @@ "compare": "==" }, "placeopt__design__instance__area": { - "value": 9732, + "value": 9648, "compare": "<=" }, "placeopt__design__instance__count__stdcell": { - "value": 214023, + "value": 212534, "compare": "<=" }, "detailedplace__design__violations": { @@ -20,19 +20,19 @@ "compare": "==" }, "cts__design__instance__count__setup_buffer": { - "value": 18611, + "value": 18481, "compare": "<=" }, "cts__design__instance__count__hold_buffer": { - "value": 18611, + "value": 18481, "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.0772, + "value": -0.0586, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -0.381, + "value": -0.315, "compare": ">=" }, "cts__timing__hold__ws": { @@ -52,7 +52,7 @@ "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -97.2, + "value": -6.06, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -62,5 +62,25 @@ "globalroute__timing__hold__tns": { "value": -0.05, "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.101, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -6.06, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.0185, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.074, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 9917, + "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/hercules_idecode/rules-verific.json b/flow/designs/rapidus2hp/hercules_idecode/rules-verific.json index 6e7219746c..1e38eb89de 100644 --- a/flow/designs/rapidus2hp/hercules_idecode/rules-verific.json +++ b/flow/designs/rapidus2hp/hercules_idecode/rules-verific.json @@ -8,11 +8,11 @@ "compare": "==" }, "placeopt__design__instance__area": { - "value": 9790, + "value": 9688, "compare": "<=" }, "placeopt__design__instance__count__stdcell": { - "value": 214546, + "value": 212745, "compare": "<=" }, "detailedplace__design__violations": { @@ -20,19 +20,19 @@ "compare": "==" }, "cts__design__instance__count__setup_buffer": { - "value": 18656, + "value": 18500, "compare": "<=" }, "cts__design__instance__count__hold_buffer": { - "value": 18656, + "value": 18500, "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.0782, + "value": -0.0754, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -0.392, + "value": -0.333, "compare": ">=" }, "cts__timing__hold__ws": { @@ -44,15 +44,15 @@ "compare": ">=" }, "globalroute__antenna_diodes_count": { - "value": 186, + "value": 184, "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.0894, + "value": -0.0849, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -224.0, + "value": -48.2, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -62,5 +62,25 @@ "globalroute__timing__hold__tns": { "value": -0.05, "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.0849, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -48.3, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.0185, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -0.074, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 9964, + "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/hercules_idecode/test/test_params.py b/flow/designs/rapidus2hp/hercules_idecode/test/test_params.py index 4c6824f453..62f4a86c73 100755 --- a/flow/designs/rapidus2hp/hercules_idecode/test/test_params.py +++ b/flow/designs/rapidus2hp/hercules_idecode/test/test_params.py @@ -38,8 +38,8 @@ def get_exp_util(self, place_site, pdk_version, front_end): return 45 return 45 if front_end in ["", "slang"]: - return 58 - return 54 + return 59 + return 58 if pdk_version == "t0.5" and place_site == "SC5T": if front_end in ["", "slang"]: return 48 diff --git a/flow/designs/rapidus2hp/hercules_is_int/config.mk b/flow/designs/rapidus2hp/hercules_is_int/config.mk index 1fe6b8df6e..4f84cf051c 100644 --- a/flow/designs/rapidus2hp/hercules_is_int/config.mk +++ b/flow/designs/rapidus2hp/hercules_is_int/config.mk @@ -58,11 +58,8 @@ export CORE_UTILIZATION = $(strip \ ), \ $(if $(filter 0.3,$(RAPIDUS_PDK_VERSION)), \ $(if $(filter ra02h138_DST_45CPP SC6T,$(PLACE_SITE)), \ - 52, \ - $(if $(filter slang,$(SYNTH_HDL_FRONTEND)), \ - 60, \ - 61 \ - ) \ + 55, \ + 57 \ ), \ $(if $(and $(filter t0.5,$(RAPIDUS_PDK_VERSION)),$(filter SC5T,$(PLACE_SITE))), \ 45, \ diff --git a/flow/designs/rapidus2hp/hercules_is_int/rules-base.json b/flow/designs/rapidus2hp/hercules_is_int/rules-base.json index 32b6d1770f..3944dfad41 100644 --- a/flow/designs/rapidus2hp/hercules_is_int/rules-base.json +++ b/flow/designs/rapidus2hp/hercules_is_int/rules-base.json @@ -28,11 +28,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.177, + "value": -0.176, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -368.0, + "value": -448.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -44,15 +44,15 @@ "compare": ">=" }, "globalroute__antenna_diodes_count": { - "value": 479, + "value": 477, "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.263, + "value": -0.258, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -1050.0, + "value": -1280.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -60,7 +60,27 @@ "compare": ">=" }, "globalroute__timing__hold__tns": { - "value": -0.703, + "value": -1.7, "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.258, + "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -1060.0, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.0472, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -1.7, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 30174, + "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/hercules_is_int/rules-verific.json b/flow/designs/rapidus2hp/hercules_is_int/rules-verific.json index 3565342ef3..8d6dbcd294 100644 --- a/flow/designs/rapidus2hp/hercules_is_int/rules-verific.json +++ b/flow/designs/rapidus2hp/hercules_is_int/rules-verific.json @@ -28,11 +28,11 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.164, + "value": -0.193, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -332.0, + "value": -448.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -48,19 +48,39 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.212, + "value": -0.239, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -983.0, + "value": -1190.0, "compare": ">=" }, "globalroute__timing__hold__ws": { - "value": -0.0125, + "value": -0.0394, "compare": ">=" }, "globalroute__timing__hold__tns": { - "value": -0.581, + "value": -1.37, + "compare": ">=" + }, + "finish__timing__setup__ws": { + "value": -0.239, "compare": ">=" + }, + "finish__timing__setup__tns": { + "value": -1190.0, + "compare": ">=" + }, + "finish__timing__hold__ws": { + "value": -0.0394, + "compare": ">=" + }, + "finish__timing__hold__tns": { + "value": -1.37, + "compare": ">=" + }, + "finish__design__instance__area": { + "value": 30446, + "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/rapidus2hp/hercules_is_int/test/test_params.py b/flow/designs/rapidus2hp/hercules_is_int/test/test_params.py index 1930cd5882..532d77ab80 100755 --- a/flow/designs/rapidus2hp/hercules_is_int/test/test_params.py +++ b/flow/designs/rapidus2hp/hercules_is_int/test/test_params.py @@ -41,10 +41,8 @@ def get_exp_util(self, place_site, front_end, pdk_version, layer_stack): return 56 if pdk_version in ["", "0.3"]: if place_site == "ra02h138_DST_45CPP": - return 52 - if front_end in ["", "slang"]: - return 60 - return 61 + return 55 + return 57 if pdk_version == "t0.5" and place_site == "SC5T": return 45 if front_end == "verific":