@@ -21,10 +21,19 @@ def setUp(self):
2121
2222 ParamTestBase .setUp (self , "hercules_is_int" )
2323
24- def get_exp_util (self , place_site , front_end , pdk_version ):
24+ def get_exp_util (self , place_site , front_end , pdk_version , layer_stack ):
2525 """Returns the expected value"""
2626
2727 if pdk_version in ["" , "0.3" ]:
28+ if place_site == "ra02h138_DST_45CPP" :
29+ if front_end in ["" , "slang" ]:
30+ if layer_stack == "14LM" :
31+ return 52
32+ if layer_stack in ["" , "16LM" ]:
33+ return 54
34+ else :
35+ if layer_stack == "14LM" :
36+ return 50
2837 return 56
2938 if front_end == "verific" :
3039 if place_site in ["SC6T" , "ra02h138_DST_45CPP" ]:
@@ -43,24 +52,31 @@ def test_pdk_0p3_default(self):
4352 pdk_version = ""
4453 for front_end in self ._front_end_list :
4554 for place_site in self ._synopsys_site_list :
46- exp_util = self .get_exp_util (place_site , front_end , pdk_version )
47- self .execute_cmd (
48- "CORE_UTILIZATION" ,
49- exp_util ,
50- place_site = place_site ,
51- pdk_version = pdk_version ,
52- front_end = front_end ,
53- )
55+ for layer_stack in self ._layer_stack_list :
56+ exp_util = self .get_exp_util (
57+ place_site , front_end , pdk_version , layer_stack
58+ )
59+ self .execute_cmd (
60+ "CORE_UTILIZATION" ,
61+ exp_util ,
62+ place_site = place_site ,
63+ pdk_version = pdk_version ,
64+ front_end = front_end ,
65+ layer_stack = layer_stack ,
66+ )
5467
5568 def test_pdk_0p2 (self ):
5669 """
5770 Tests PDK 0.2 utilization
5871 """
5972
6073 pdk_version = "0.2"
74+ layer_stack = "16LM"
6175 for front_end in self ._front_end_list :
6276 for place_site in self ._ibm_site_list :
63- exp_util = self .get_exp_util (place_site , front_end , pdk_version )
77+ exp_util = self .get_exp_util (
78+ place_site , front_end , pdk_version , layer_stack
79+ )
6480 self .execute_cmd (
6581 "CORE_UTILIZATION" ,
6682 exp_util ,
@@ -77,14 +93,18 @@ def test_pdk_0p2a(self):
7793 pdk_version = "0.2a"
7894 for front_end in self ._front_end_list :
7995 for place_site in self ._synopsys_site_list :
80- exp_util = self .get_exp_util (place_site , front_end , pdk_version )
81- self .execute_cmd (
82- "CORE_UTILIZATION" ,
83- exp_util ,
84- place_site = place_site ,
85- pdk_version = pdk_version ,
86- front_end = front_end ,
87- )
96+ for layer_stack in self ._layer_stack_list :
97+ exp_util = self .get_exp_util (
98+ place_site , front_end , pdk_version , layer_stack
99+ )
100+ self .execute_cmd (
101+ "CORE_UTILIZATION" ,
102+ exp_util ,
103+ place_site = place_site ,
104+ pdk_version = pdk_version ,
105+ front_end = front_end ,
106+ layer_stack = layer_stack ,
107+ )
88108
89109 def test_pdk_0p15 (self ):
90110 """
@@ -94,14 +114,18 @@ def test_pdk_0p15(self):
94114 pdk_version = "0.15"
95115 for front_end in self ._front_end_list :
96116 for place_site in self ._synopsys_site_list :
97- exp_util = self .get_exp_util (place_site , front_end , pdk_version )
98- self .execute_cmd (
99- "CORE_UTILIZATION" ,
100- exp_util ,
101- place_site = place_site ,
102- pdk_version = pdk_version ,
103- front_end = front_end ,
104- )
117+ for layer_stack in self ._layer_stack_list :
118+ exp_util = self .get_exp_util (
119+ place_site , front_end , pdk_version , layer_stack
120+ )
121+ self .execute_cmd (
122+ "CORE_UTILIZATION" ,
123+ exp_util ,
124+ place_site = place_site ,
125+ pdk_version = pdk_version ,
126+ front_end = front_end ,
127+ layer_stack = layer_stack ,
128+ )
105129
106130 def test_pdk_0p3 (self ):
107131 """
@@ -111,14 +135,18 @@ def test_pdk_0p3(self):
111135 pdk_version = "0.3"
112136 for front_end in self ._front_end_list :
113137 for place_site in self ._synopsys_site_list :
114- exp_util = self .get_exp_util (place_site , front_end , pdk_version )
115- self .execute_cmd (
116- "CORE_UTILIZATION" ,
117- exp_util ,
118- place_site = place_site ,
119- pdk_version = pdk_version ,
120- front_end = front_end ,
121- )
138+ for layer_stack in self ._layer_stack_list :
139+ exp_util = self .get_exp_util (
140+ place_site , front_end , pdk_version , layer_stack
141+ )
142+ self .execute_cmd (
143+ "CORE_UTILIZATION" ,
144+ exp_util ,
145+ place_site = place_site ,
146+ pdk_version = pdk_version ,
147+ front_end = front_end ,
148+ layer_stack = layer_stack ,
149+ )
122150
123151 def test_flow_variant (self ):
124152 """Tests that setting the flow variant uses the right frontend"""
0 commit comments