Skip to content

Commit f0c1fb2

Browse files
authored
Merge pull request #1121 from vijayank88/gf180_tc2
GF180 test case added
2 parents ec6bc0a + 46e2c8c commit f0c1fb2

File tree

11 files changed

+777
-2
lines changed

11 files changed

+777
-2
lines changed

flow/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@
8686
# DESIGN_CONFIG=./designs/gf180/aes/config.mk
8787
# DESIGN_CONFIG=./designs/gf180/ibex/config.mk
8888
# DESIGN_CONFIG=./designs/gf180/jpeg/config.mk
89+
# DESIGN_CONFIG=./designs/gf180/riscv32i/config.mk
90+
# DESIGN_CONFIG=./designs/gf180/sha3/config.mk
8991
#
9092
# Default design
9193
DESIGN_CONFIG ?= ./designs/nangate45/gcd/config.mk
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
export DESIGN_NICKNAME = riscv32i
2+
export DESIGN_NAME = riscv
3+
export PLATFORM = gf180
4+
5+
export VERILOG_FILES = $(sort $(wildcard ./designs/src/$(DESIGN_NICKNAME)/*.v))
6+
export SDC_FILE = ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/constraint.sdc
7+
8+
export CORE_UTILIZATION = 45
9+
export PLACE_DENSITY_LB_ADDON = 0.2
10+
export TNS_END_PERCENT = 100
11+
export HAS_IO_CONSTRAINTS = 1
12+
export PLACE_PINS_ARGS = -min_distance 5 -exclude bottom:* -exclude top:*
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_name clk
2+
set clk_port_name clk
3+
set clk_period 10.0
4+
set clk_io_pct 0.2
5+
6+
set clk_port [get_ports $clk_port_name]
7+
8+
create_clock -name $clk_name -period $clk_period $clk_port
9+
10+
set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port]
11+
set_input_delay [expr $clk_period * $clk_io_pct] -clock $clk_name $non_clock_inputs
12+
set_output_delay [expr $clk_period * $clk_io_pct] -clock $clk_name [all_outputs]
Lines changed: 271 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,271 @@
1+
{
2+
"constraints__clocks__count": 1,
3+
"constraints__clocks__details": [
4+
"clk: 10.0000"
5+
],
6+
"cts__clock__skew__hold": 0.305752,
7+
"cts__clock__skew__hold__post_repair": 0.30552,
8+
"cts__clock__skew__hold__pre_repair": 0.30552,
9+
"cts__clock__skew__setup": 0.305752,
10+
"cts__clock__skew__setup__post_repair": 0.30552,
11+
"cts__clock__skew__setup__pre_repair": 0.30552,
12+
"cts__design__core__area": 695750,
13+
"cts__design__core__area__post_repair": 695750,
14+
"cts__design__core__area__pre_repair": 695750,
15+
"cts__design__die__area": 703812,
16+
"cts__design__die__area__post_repair": 703812,
17+
"cts__design__die__area__pre_repair": 703812,
18+
"cts__design__instance__area": 347855,
19+
"cts__design__instance__area__macros": 0,
20+
"cts__design__instance__area__macros__post_repair": 0,
21+
"cts__design__instance__area__macros__pre_repair": 0,
22+
"cts__design__instance__area__post_repair": 338414,
23+
"cts__design__instance__area__pre_repair": 338414,
24+
"cts__design__instance__area__stdcell": 347855,
25+
"cts__design__instance__area__stdcell__post_repair": 338414,
26+
"cts__design__instance__area__stdcell__pre_repair": 338414,
27+
"cts__design__instance__count": 8706,
28+
"cts__design__instance__count__hold_buffer": 0,
29+
"cts__design__instance__count__macros": 0,
30+
"cts__design__instance__count__macros__post_repair": 0,
31+
"cts__design__instance__count__macros__pre_repair": 0,
32+
"cts__design__instance__count__post_repair": 8566,
33+
"cts__design__instance__count__pre_repair": 8566,
34+
"cts__design__instance__count__setup_buffer": 140.0,
35+
"cts__design__instance__count__stdcell": 8706,
36+
"cts__design__instance__count__stdcell__post_repair": 8566,
37+
"cts__design__instance__count__stdcell__pre_repair": 8566,
38+
"cts__design__instance__displacement__max": 110.88,
39+
"cts__design__instance__displacement__mean": 0.932,
40+
"cts__design__instance__displacement__total": 8116.25,
41+
"cts__design__instance__utilization": 0.499972,
42+
"cts__design__instance__utilization__post_repair": 0.486402,
43+
"cts__design__instance__utilization__pre_repair": 0.486402,
44+
"cts__design__instance__utilization__stdcell": 0.499972,
45+
"cts__design__instance__utilization__stdcell__post_repair": 0.486402,
46+
"cts__design__instance__utilization__stdcell__pre_repair": 0.486402,
47+
"cts__design__io": 165,
48+
"cts__design__io__post_repair": 165,
49+
"cts__design__io__pre_repair": 165,
50+
"cts__design__violations": 0,
51+
"cts__route__wirelength__estimated": 502321,
52+
"cts__timing__drv__hold_violation_count": 0,
53+
"cts__timing__drv__hold_violation_count__post_repair": 0,
54+
"cts__timing__drv__hold_violation_count__pre_repair": 0,
55+
"cts__timing__drv__max_cap": 0,
56+
"cts__timing__drv__max_cap__post_repair": 0,
57+
"cts__timing__drv__max_cap__pre_repair": 0,
58+
"cts__timing__drv__max_cap_limit": 0.0294095,
59+
"cts__timing__drv__max_cap_limit__post_repair": 0.029441,
60+
"cts__timing__drv__max_cap_limit__pre_repair": 0.029441,
61+
"cts__timing__drv__max_fanout": 0,
62+
"cts__timing__drv__max_fanout__post_repair": 0,
63+
"cts__timing__drv__max_fanout__pre_repair": 0,
64+
"cts__timing__drv__max_fanout_limit": 0,
65+
"cts__timing__drv__max_fanout_limit__post_repair": 0,
66+
"cts__timing__drv__max_fanout_limit__pre_repair": 0,
67+
"cts__timing__drv__max_slew": 0,
68+
"cts__timing__drv__max_slew__post_repair": 0,
69+
"cts__timing__drv__max_slew__pre_repair": 0,
70+
"cts__timing__drv__max_slew_limit": 0.0873489,
71+
"cts__timing__drv__max_slew_limit__post_repair": 0.0873366,
72+
"cts__timing__drv__max_slew_limit__pre_repair": 0.0873366,
73+
"cts__timing__drv__setup_violation_count": 1,
74+
"cts__timing__drv__setup_violation_count__post_repair": 229,
75+
"cts__timing__drv__setup_violation_count__pre_repair": 229,
76+
"cts__timing__setup__tns": -0.0444169,
77+
"cts__timing__setup__tns__post_repair": -108.569,
78+
"cts__timing__setup__tns__pre_repair": -108.569,
79+
"cts__timing__setup__ws": -0.0444436,
80+
"cts__timing__setup__ws__post_repair": -3.20889,
81+
"cts__timing__setup__ws__pre_repair": -3.20889,
82+
"detailedplace__cpu__total": 5.06,
83+
"detailedplace__design__core__area": 695750,
84+
"detailedplace__design__die__area": 703812,
85+
"detailedplace__design__instance__area": 329462,
86+
"detailedplace__design__instance__area__macros": 0,
87+
"detailedplace__design__instance__area__stdcell": 329462,
88+
"detailedplace__design__instance__count": 8444,
89+
"detailedplace__design__instance__count__macros": 0,
90+
"detailedplace__design__instance__count__stdcell": 8444,
91+
"detailedplace__design__instance__displacement__max": 103.04,
92+
"detailedplace__design__instance__displacement__mean": 3.875,
93+
"detailedplace__design__instance__displacement__total": 32722.4,
94+
"detailedplace__design__instance__utilization": 0.473535,
95+
"detailedplace__design__instance__utilization__stdcell": 0.473535,
96+
"detailedplace__design__io": 165,
97+
"detailedplace__design__violations": 0,
98+
"detailedplace__mem__peak": 136100.0,
99+
"detailedplace__route__wirelength__estimated": 419478,
100+
"detailedplace__runtime__total": "0:05.18",
101+
"detailedplace__timing__drv__hold_violation_count": 0,
102+
"detailedplace__timing__drv__max_cap": 0,
103+
"detailedplace__timing__drv__max_cap_limit": 0.029441,
104+
"detailedplace__timing__drv__max_fanout": 0,
105+
"detailedplace__timing__drv__max_fanout_limit": 0,
106+
"detailedplace__timing__drv__max_slew": 0,
107+
"detailedplace__timing__drv__max_slew_limit": 0.0873366,
108+
"detailedplace__timing__drv__setup_violation_count": 687,
109+
"detailedplace__timing__setup__tns": -480.353,
110+
"detailedplace__timing__setup__ws": -3.20889,
111+
"detailedroute__route__drc_errors": 0,
112+
"detailedroute__route__drc_errors__iter:1": 8460,
113+
"detailedroute__route__drc_errors__iter:2": 225,
114+
"detailedroute__route__drc_errors__iter:3": 126,
115+
"detailedroute__route__drc_errors__iter:4": 0,
116+
"detailedroute__route__net": 6440,
117+
"detailedroute__route__net__special": 2,
118+
"detailedroute__route__vias": 54274,
119+
"detailedroute__route__vias__multicut": 0,
120+
"detailedroute__route__vias__singlecut": 54274,
121+
"detailedroute__route__wirelength": 741112,
122+
"detailedroute__route__wirelength__iter:1": 745036,
123+
"detailedroute__route__wirelength__iter:2": 741759,
124+
"detailedroute__route__wirelength__iter:3": 741156,
125+
"detailedroute__route__wirelength__iter:4": 741112,
126+
"finish__clock__skew__hold": 0.374499,
127+
"finish__clock__skew__setup": 0.374499,
128+
"finish__cpu__total": 26.56,
129+
"finish__design__core__area": 695750,
130+
"finish__design__die__area": 703812,
131+
"finish__design__instance__area": 347855,
132+
"finish__design__instance__area__macros": 0,
133+
"finish__design__instance__area__stdcell": 347855,
134+
"finish__design__instance__count": 8706,
135+
"finish__design__instance__count__macros": 0,
136+
"finish__design__instance__count__stdcell": 8706,
137+
"finish__design__instance__utilization": 0.499972,
138+
"finish__design__instance__utilization__stdcell": 0.499972,
139+
"finish__design__io": 165,
140+
"finish__mem__peak": 1187448.0,
141+
"finish__runtime__total": "0:27.65",
142+
"finish__timing__drv__hold_violation_count": 0.0,
143+
"finish__timing__drv__max_cap": 2,
144+
"finish__timing__drv__max_cap_limit": -0.210216,
145+
"finish__timing__drv__max_fanout": 0,
146+
"finish__timing__drv__max_fanout_limit": 0,
147+
"finish__timing__drv__max_slew": 129,
148+
"finish__timing__drv__max_slew_limit": -0.12645,
149+
"finish__timing__drv__setup_violation_count": 1.0,
150+
"finish__timing__setup__tns": -87.754,
151+
"finish__timing__setup__ws": -1.74201,
152+
"finish__timing__wns_percent_delay": -17.881339,
153+
"floorplan__cpu__total": 0.89,
154+
"floorplan__design__core__area": 695750,
155+
"floorplan__design__die__area": 703812,
156+
"floorplan__design__instance__area": 297439,
157+
"floorplan__design__instance__area__macros": 0,
158+
"floorplan__design__instance__area__stdcell": 297439,
159+
"floorplan__design__instance__count": 5807,
160+
"floorplan__design__instance__count__macros": 0,
161+
"floorplan__design__instance__count__stdcell": 5807,
162+
"floorplan__design__instance__utilization": 0.427508,
163+
"floorplan__design__instance__utilization__stdcell": 0.427508,
164+
"floorplan__design__io": 165,
165+
"floorplan__mem__peak": 97096.0,
166+
"floorplan__runtime__total": "0:00.94",
167+
"floorplan__timing__setup__tns": -2334.5,
168+
"floorplan__timing__setup__ws": -3.88677,
169+
"globalplace__cpu__total": 7.69,
170+
"globalplace__design__core__area": 695750,
171+
"globalplace__design__die__area": 703812,
172+
"globalplace__design__instance__area": 311393,
173+
"globalplace__design__instance__area__macros": 0,
174+
"globalplace__design__instance__area__stdcell": 311393,
175+
"globalplace__design__instance__count": 8279,
176+
"globalplace__design__instance__count__macros": 0,
177+
"globalplace__design__instance__count__stdcell": 8279,
178+
"globalplace__design__instance__utilization": 0.447564,
179+
"globalplace__design__instance__utilization__stdcell": 0.447564,
180+
"globalplace__design__io": 165,
181+
"globalplace__mem__peak": 140072.0,
182+
"globalplace__runtime__total": "0:07.81",
183+
"globalplace__timing__setup__tns": -3084.01,
184+
"globalplace__timing__setup__ws": -4.55952,
185+
"globalroute__antenna__violating__nets": 9,
186+
"globalroute__antenna__violating__pins": 9,
187+
"globalroute__clock__skew__hold": 0.308345,
188+
"globalroute__clock__skew__setup": 0.308345,
189+
"globalroute__design__core__area": 695750,
190+
"globalroute__design__die__area": 703812,
191+
"globalroute__design__instance__area": 347855,
192+
"globalroute__design__instance__area__macros": 0,
193+
"globalroute__design__instance__area__stdcell": 347855,
194+
"globalroute__design__instance__count": 8706,
195+
"globalroute__design__instance__count__macros": 0,
196+
"globalroute__design__instance__count__stdcell": 8706,
197+
"globalroute__design__instance__utilization": 0.499972,
198+
"globalroute__design__instance__utilization__stdcell": 0.499972,
199+
"globalroute__design__io": 165,
200+
"globalroute__timing__clock__slack": -0.079,
201+
"globalroute__timing__drv__hold_violation_count": 0,
202+
"globalroute__timing__drv__max_cap": 0,
203+
"globalroute__timing__drv__max_cap_limit": 0.0256929,
204+
"globalroute__timing__drv__max_fanout": 0,
205+
"globalroute__timing__drv__max_fanout_limit": 0,
206+
"globalroute__timing__drv__max_slew": 0,
207+
"globalroute__timing__drv__max_slew_limit": 0.0885794,
208+
"globalroute__timing__drv__setup_violation_count": 3,
209+
"globalroute__timing__setup__tns": -0.161426,
210+
"globalroute__timing__setup__ws": -0.0786757,
211+
"placeopt__cpu__total": 7.69,
212+
"placeopt__design__core__area": 695750,
213+
"placeopt__design__core__area__pre_opt": 695750,
214+
"placeopt__design__die__area": 703812,
215+
"placeopt__design__die__area__pre_opt": 703812,
216+
"placeopt__design__instance__area": 329462,
217+
"placeopt__design__instance__area__macros": 0,
218+
"placeopt__design__instance__area__macros__pre_opt": 0,
219+
"placeopt__design__instance__area__pre_opt": 311393,
220+
"placeopt__design__instance__area__stdcell": 329462,
221+
"placeopt__design__instance__area__stdcell__pre_opt": 311393,
222+
"placeopt__design__instance__count": 8444,
223+
"placeopt__design__instance__count__macros": 0,
224+
"placeopt__design__instance__count__macros__pre_opt": 0,
225+
"placeopt__design__instance__count__pre_opt": 8279,
226+
"placeopt__design__instance__count__stdcell": 8444,
227+
"placeopt__design__instance__count__stdcell__pre_opt": 8279,
228+
"placeopt__design__instance__utilization": 0.473535,
229+
"placeopt__design__instance__utilization__pre_opt": 0.447564,
230+
"placeopt__design__instance__utilization__stdcell": 0.473535,
231+
"placeopt__design__instance__utilization__stdcell__pre_opt": 0.447564,
232+
"placeopt__design__io": 165,
233+
"placeopt__design__io__pre_opt": 165,
234+
"placeopt__mem__peak": 140072.0,
235+
"placeopt__runtime__total": "0:07.81",
236+
"placeopt__timing__drv__hold_violation_count": 0,
237+
"placeopt__timing__drv__max_cap": 0,
238+
"placeopt__timing__drv__max_cap_limit": 0.0286796,
239+
"placeopt__timing__drv__max_fanout": 0,
240+
"placeopt__timing__drv__max_fanout_limit": 0,
241+
"placeopt__timing__drv__max_slew": 0,
242+
"placeopt__timing__drv__max_slew_limit": 0.084992,
243+
"placeopt__timing__drv__setup_violation_count": 676,
244+
"placeopt__timing__setup__tns": -498.628,
245+
"placeopt__timing__setup__tns__pre_opt": -3084.01,
246+
"placeopt__timing__setup__ws": -3.25273,
247+
"placeopt__timing__setup__ws__pre_opt": -4.55952,
248+
"run__flow__design": "riscv32i",
249+
"run__flow__generate_date": "2023-06-06 11:09",
250+
"run__flow__metrics_version": "Metrics_2.1.2",
251+
"run__flow__openroad_commit": "N/A",
252+
"run__flow__openroad_version": "v2.0-8453-g93fdf28ec",
253+
"run__flow__platform": "gf180",
254+
"run__flow__platform__capacitance_units": "1pF",
255+
"run__flow__platform__current_units": "1mA",
256+
"run__flow__platform__distance_units": "1um",
257+
"run__flow__platform__power_units": "1uW",
258+
"run__flow__platform__resistance_units": "1ohm",
259+
"run__flow__platform__time_units": "1ns",
260+
"run__flow__platform__voltage_units": "1v",
261+
"run__flow__platform_commit": "bd0e04c6af76fed7fccc75301242f74d4216c128",
262+
"run__flow__scripts_commit": "bd0e04c6af76fed7fccc75301242f74d4216c128",
263+
"run__flow__uuid": "1389566d-7283-4aae-9f75-d9a28bdca7a0",
264+
"run__flow__variant": "base",
265+
"synth__cpu__total": 40.4,
266+
"synth__design__instance__area__stdcell": 315208.4544,
267+
"synth__design__instance__count__stdcell": 6393.0,
268+
"synth__mem__peak": 81668.0,
269+
"synth__runtime__total": "0:41.57",
270+
"total_time": "0:01:30.960000"
271+
}
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
{
2+
"synth__design__instance__area__stdcell": {
3+
"value": 362489.73,
4+
"compare": "<="
5+
},
6+
"constraints__clocks__count": {
7+
"value": 1,
8+
"compare": "=="
9+
},
10+
"placeopt__design__instance__area": {
11+
"value": 378881,
12+
"compare": "<="
13+
},
14+
"placeopt__design__instance__count__stdcell": {
15+
"value": 9711,
16+
"compare": "<="
17+
},
18+
"detailedplace__design__violations": {
19+
"value": 0,
20+
"compare": "=="
21+
},
22+
"cts__timing__setup__ws": {
23+
"value": -0.98,
24+
"compare": ">="
25+
},
26+
"cts__timing__setup__ws__pre_repair": {
27+
"value": -5.68,
28+
"compare": ">="
29+
},
30+
"cts__timing__setup__ws__post_repair": {
31+
"value": -5.68,
32+
"compare": ">="
33+
},
34+
"cts__design__instance__count__setup_buffer": {
35+
"value": 422,
36+
"compare": "<="
37+
},
38+
"cts__design__instance__count__hold_buffer": {
39+
"value": 422,
40+
"compare": "<="
41+
},
42+
"globalroute__timing__clock__slack": {
43+
"value": -0.57,
44+
"compare": ">="
45+
},
46+
"globalroute__timing__setup__ws": {
47+
"value": -0.57,
48+
"compare": ">="
49+
},
50+
"detailedroute__route__wirelength": {
51+
"value": 776391,
52+
"compare": "<="
53+
},
54+
"detailedroute__route__drc_errors": {
55+
"value": 0,
56+
"compare": "<="
57+
},
58+
"finish__timing__setup__ws": {
59+
"value": -2.24,
60+
"compare": ">="
61+
},
62+
"finish__design__instance__area": {
63+
"value": 400033,
64+
"compare": "<="
65+
},
66+
"finish__timing__drv__max_slew_limit": {
67+
"value": -0.32,
68+
"compare": ">="
69+
},
70+
"finish__timing__drv__max_fanout_limit": {
71+
"value": -0.2,
72+
"compare": ">="
73+
},
74+
"finish__timing__drv__max_cap_limit": {
75+
"value": -0.41,
76+
"compare": ">="
77+
},
78+
"finish__timing__drv__setup_violation_count": {
79+
"value": 10,
80+
"compare": "<="
81+
},
82+
"finish__timing__drv__hold_violation_count": {
83+
"value": 10,
84+
"compare": "<="
85+
},
86+
"finish__timing__wns_percent_delay": {
87+
"value": -31.45,
88+
"compare": ">="
89+
}
90+
}

0 commit comments

Comments
 (0)