Skip to content

Commit bac20e6

Browse files
authored
Merge pull request #4047 from The-OpenROAD-Project-staging/pdk_0.3-metrics
Rapidus design updates for PDK 0.3 (full)
2 parents 5c5d440 + ec4471c commit bac20e6

32 files changed

+587
-198
lines changed
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
11
{
22
"synth__design__instance__area__stdcell": {
3-
"value": 17000.0,
3+
"value": 16800.0,
44
"compare": "<="
55
},
66
"constraints__clocks__count": {
77
"value": 1,
88
"compare": "=="
99
},
1010
"placeopt__design__instance__area": {
11-
"value": 14040,
11+
"value": 13856,
1212
"compare": "<="
1313
},
1414
"placeopt__design__instance__count__stdcell": {
15-
"value": 164719,
15+
"value": 142196,
1616
"compare": "<="
1717
},
1818
"detailedplace__design__violations": {
1919
"value": 0,
2020
"compare": "=="
2121
},
2222
"cts__design__instance__count__setup_buffer": {
23-
"value": 14323,
23+
"value": 12365,
2424
"compare": "<="
2525
},
2626
"cts__design__instance__count__hold_buffer": {
27-
"value": 14323,
27+
"value": 12365,
2828
"compare": "<="
2929
},
3030
"cts__timing__setup__ws": {
31-
"value": -0.14,
31+
"value": -0.04,
3232
"compare": ">="
3333
},
3434
"cts__timing__setup__tns": {
35-
"value": -168.0,
35+
"value": -0.16,
3636
"compare": ">="
3737
},
3838
"cts__timing__hold__ws": {
@@ -44,15 +44,15 @@
4444
"compare": ">="
4545
},
4646
"globalroute__antenna_diodes_count": {
47-
"value": 138,
47+
"value": 118,
4848
"compare": "<="
4949
},
5050
"globalroute__timing__setup__ws": {
51-
"value": -0.194,
51+
"value": -0.0412,
5252
"compare": ">="
5353
},
5454
"globalroute__timing__setup__tns": {
55-
"value": -244.0,
55+
"value": -0.164,
5656
"compare": ">="
5757
},
5858
"globalroute__timing__hold__ws": {
@@ -64,11 +64,11 @@
6464
"compare": ">="
6565
},
6666
"finish__timing__setup__ws": {
67-
"value": -0.194,
67+
"value": -0.0412,
6868
"compare": ">="
6969
},
7070
"finish__timing__setup__tns": {
71-
"value": -244.0,
71+
"value": -0.164,
7272
"compare": ">="
7373
},
7474
"finish__timing__hold__ws": {
@@ -80,7 +80,7 @@
8080
"compare": ">="
8181
},
8282
"finish__design__instance__area": {
83-
"value": 14360,
83+
"value": 14305,
8484
"compare": "<="
8585
}
8686
}
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
11
{
22
"synth__design__instance__area__stdcell": {
3-
"value": 17200.0,
3+
"value": 17000.0,
44
"compare": "<="
55
},
66
"constraints__clocks__count": {
77
"value": 1,
88
"compare": "=="
99
},
1010
"placeopt__design__instance__area": {
11-
"value": 14318,
11+
"value": 14072,
1212
"compare": "<="
1313
},
1414
"placeopt__design__instance__count__stdcell": {
15-
"value": 201058,
15+
"value": 146806,
1616
"compare": "<="
1717
},
1818
"detailedplace__design__violations": {
1919
"value": 0,
2020
"compare": "=="
2121
},
2222
"cts__design__instance__count__setup_buffer": {
23-
"value": 15130,
23+
"value": 12766,
2424
"compare": "<="
2525
},
2626
"cts__design__instance__count__hold_buffer": {
27-
"value": 15130,
27+
"value": 12766,
2828
"compare": "<="
2929
},
3030
"cts__timing__setup__ws": {
31-
"value": -0.136,
31+
"value": -0.04,
3232
"compare": ">="
3333
},
3434
"cts__timing__setup__tns": {
35-
"value": -388.0,
35+
"value": -0.16,
3636
"compare": ">="
3737
},
3838
"cts__timing__hold__ws": {
@@ -44,15 +44,15 @@
4444
"compare": ">="
4545
},
4646
"globalroute__antenna_diodes_count": {
47-
"value": 148,
47+
"value": 122,
4848
"compare": "<="
4949
},
5050
"globalroute__timing__setup__ws": {
51-
"value": -0.279,
51+
"value": -0.04,
5252
"compare": ">="
5353
},
5454
"globalroute__timing__setup__tns": {
55-
"value": -659.0,
55+
"value": -0.16,
5656
"compare": ">="
5757
},
5858
"globalroute__timing__hold__ws": {
@@ -64,11 +64,11 @@
6464
"compare": ">="
6565
},
6666
"finish__timing__setup__ws": {
67-
"value": -0.279,
67+
"value": -0.04,
6868
"compare": ">="
6969
},
7070
"finish__timing__setup__tns": {
71-
"value": -550.0,
71+
"value": -0.16,
7272
"compare": ">="
7373
},
7474
"finish__timing__hold__ws": {
@@ -80,7 +80,7 @@
8080
"compare": ">="
8181
},
8282
"finish__design__instance__area": {
83-
"value": 14642,
83+
"value": 14515,
8484
"compare": "<="
8585
}
8686
}

flow/designs/rapidus2hp/cva6/test/test_params.py

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@ def setUp(self):
2424
def get_exp_sdc(self, place_site, pdk_version):
2525
"""Returns the expected SDC file path"""
2626

27-
if pdk_version in ["", "0.2a", "0.3s"]:
28-
if pdk_version == "":
29-
pdk_version = "0.3s"
27+
if pdk_version in ["0.2a", "0.3s"]:
3028
if place_site == "ra02h138_DST_45CPP":
3129
return os.path.join(
3230
self._design_full_dir, f"constraint_{pdk_version}_6T.sdc"
@@ -41,9 +39,9 @@ def get_exp_sdc(self, place_site, pdk_version):
4139

4240
return os.path.join(self._design_full_dir, "constraint.sdc")
4341

44-
def test_pdk_0p3s_default(self):
42+
def test_pdk_0p3_default(self):
4543
"""
46-
Tests PDK 0.3s
44+
Tests PDK 0.3
4745
"""
4846

4947
pdk_version = ""
@@ -126,6 +124,23 @@ def test_pdk_0p3s(self):
126124
front_end=front_end,
127125
)
128126

127+
def test_pdk_0p3(self):
128+
"""
129+
Tests PDK 0.3
130+
"""
131+
132+
pdk_version = "0.3"
133+
for front_end in self._front_end_list:
134+
for place_site in self._synopsys_site_list:
135+
exp_sdc = self.get_exp_sdc(place_site, pdk_version)
136+
self.execute_cmd(
137+
"SDC_FILE",
138+
exp_sdc,
139+
place_site=place_site,
140+
pdk_version=pdk_version,
141+
front_end=front_end,
142+
)
143+
129144
def test_flow_variant(self):
130145
"""Tests that setting the flow variant uses the right frontend"""
131146

flow/designs/rapidus2hp/ethmac/config.mk

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ export CORE_UTILIZATION = $(strip \
1919
65), \
2020
$(if $(filter 0.3s,$(RAPIDUS_PDK_VERSION)), \
2121
65, \
22-
70) \
22+
$(if $(filter 0.3,$(RAPIDUS_PDK_VERSION)), \
23+
63, \
24+
70 \
25+
) \
26+
) \
2327
))
2428

2529
export CORE_ASPECT_RATIO = 1

flow/designs/rapidus2hp/ethmac/rules-base.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"compare": ">="
3333
},
3434
"cts__timing__setup__tns": {
35-
"value": -0.453,
35+
"value": -0.658,
3636
"compare": ">="
3737
},
3838
"cts__timing__hold__ws": {
@@ -48,11 +48,11 @@
4848
"compare": "<="
4949
},
5050
"globalroute__timing__setup__ws": {
51-
"value": -0.0462,
51+
"value": -0.0519,
5252
"compare": ">="
5353
},
5454
"globalroute__timing__setup__tns": {
55-
"value": -1.07,
55+
"value": -1.58,
5656
"compare": ">="
5757
},
5858
"globalroute__timing__hold__ws": {
@@ -64,11 +64,11 @@
6464
"compare": ">="
6565
},
6666
"finish__timing__setup__ws": {
67-
"value": -0.0462,
67+
"value": -0.0519,
6868
"compare": ">="
6969
},
7070
"finish__timing__setup__tns": {
71-
"value": -1.07,
71+
"value": -1.58,
7272
"compare": ">="
7373
},
7474
"finish__timing__hold__ws": {

flow/designs/rapidus2hp/ethmac/rules-verific.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"synth__design__instance__area__stdcell": {
3-
"value": 3290.0,
3+
"value": 3780.0,
44
"compare": "<="
55
},
66
"constraints__clocks__count": {
@@ -28,11 +28,11 @@
2828
"compare": "<="
2929
},
3030
"cts__timing__setup__ws": {
31-
"value": -0.0287,
31+
"value": -0.0353,
3232
"compare": ">="
3333
},
3434
"cts__timing__setup__tns": {
35-
"value": -0.514,
35+
"value": -0.698,
3636
"compare": ">="
3737
},
3838
"cts__timing__hold__ws": {
@@ -48,11 +48,11 @@
4848
"compare": "<="
4949
},
5050
"globalroute__timing__setup__ws": {
51-
"value": -0.0459,
51+
"value": -0.0601,
5252
"compare": ">="
5353
},
5454
"globalroute__timing__setup__tns": {
55-
"value": -0.885,
55+
"value": -1.63,
5656
"compare": ">="
5757
},
5858
"globalroute__timing__hold__ws": {
@@ -64,11 +64,11 @@
6464
"compare": ">="
6565
},
6666
"finish__timing__setup__ws": {
67-
"value": -0.0459,
67+
"value": -0.0601,
6868
"compare": ">="
6969
},
7070
"finish__timing__setup__tns": {
71-
"value": -0.885,
71+
"value": -1.63,
7272
"compare": ">="
7373
},
7474
"finish__timing__hold__ws": {

flow/designs/rapidus2hp/ethmac/test/test_params.py

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,14 @@ def get_exp_util(self, place_site, pdk_version):
2828
if place_site == "ra02h138_DST_45CPP":
2929
return 63
3030
return 65
31-
if pdk_version in ["", "0.3s"]:
31+
if pdk_version == "0.3s":
3232
return 65
33+
if pdk_version in ["", "0.3"]:
34+
return 63
3335
return 70
3436

35-
def test_pdk_0p3s_default(self):
36-
"""Tests PDK 0.3s Utilization"""
37+
def test_pdk_0p3_default(self):
38+
"""Tests PDK 0.3 Utilization"""
3739

3840
pdk_version = ""
3941
for front_end in self._front_end_list:
@@ -107,6 +109,21 @@ def test_pdk_0p3s(self):
107109
front_end=front_end,
108110
)
109111

112+
def test_pdk_0p3(self):
113+
"""Tests PDK 0.3 Utilization"""
114+
115+
pdk_version = "0.3"
116+
for front_end in self._front_end_list:
117+
for place_site in self._synopsys_site_list:
118+
exp_util = self.get_exp_util(place_site, pdk_version)
119+
self.execute_cmd(
120+
"CORE_UTILIZATION",
121+
exp_util,
122+
place_site=place_site,
123+
pdk_version=pdk_version,
124+
front_end=front_end,
125+
)
126+
110127
def test_flow_variant(self):
111128
"""Tests that setting the flow variant uses the right frontend"""
112129

0 commit comments

Comments
 (0)