Skip to content

Commit ad48ef2

Browse files
Merge remote-tracking branch 'origin/master' into secure_hier_rtlmp
Signed-off-by: Ravi Varadarajan <[email protected]>
2 parents c924283 + cb97167 commit ad48ef2

File tree

609 files changed

+486913
-4
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

609 files changed

+486913
-4
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ flow/platforms/*
5959
!flow/platforms/sky130hs
6060
!flow/platforms/sky130io
6161
!flow/platforms/sky130ram
62+
!flow/platforms/gf180
6263
flow/private
6364

6465
# network

flow/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@
7575

7676
# DESIGN_CONFIG=./designs/intel22/gcd/config.mk
7777
# DESIGN_CONFIG=./designs/intel22/aes/config.mk
78+
79+
# DESIGN_CONFIG=./designs/gf180/aes/config.mk
7880
#
7981
# Default design
8082
DESIGN_CONFIG ?= ./designs/nangate45/gcd/config.mk
@@ -582,6 +584,10 @@ $(RESULTS_DIR)/5_route.odb: $(RESULTS_DIR)/5_2_route.odb
582584
$(RESULTS_DIR)/5_route.sdc: $(RESULTS_DIR)/4_cts.sdc
583585
cp $< $@
584586

587+
$(RESULTS_DIR)/5_route.v:
588+
@export OR_DB=5_route ;\
589+
$(OPENROAD_CMD) ./scripts/write_verilog.tcl
590+
585591
clean_route:
586592
rm -rf output*/ results*.out.dmp layer_*.mps
587593
rm -rf *.gdid *.log *.met *.sav *.res.dmp

flow/designs/gf180/aes/config.mk

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
export DESIGN_NICKNAME = aes
2+
export DESIGN_NAME = aes_cipher_top
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+
export ABC_AREA = 1
8+
9+
export CORE_UTILIZATION = 35
10+
export CORE_ASPECT_RATIO = 1
11+
export CORE_MARGIN = 2
12+
13+
export PLACE_DENSITY = 0.60
14+
15+
ifneq ($(USE_FILL),)
16+
export DESIGN_TYPE = CELL
17+
else
18+
export DESIGN_TYPE = CELL_NODEN
19+
endif
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
current_design aes_cipher_top
2+
3+
set clk_name clk
4+
set clk_port_name clk
5+
set clk_period 60
6+
set clk_io_pct 0.2
7+
8+
set clk_port [get_ports $clk_port_name]
9+
10+
create_clock -name $clk_name -period $clk_period $clk_port
11+
12+
set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port]
13+
14+
set_input_delay [expr $clk_period * $clk_io_pct] -clock $clk_name $non_clock_inputs
15+
set_output_delay [expr $clk_period * $clk_io_pct] -clock $clk_name [all_outputs]
16+
17+
set_timing_derate -early 0.9500
18+
set_timing_derate -late 1.0500
19+
Lines changed: 286 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,286 @@
1+
{
2+
"constraints__clocks__count": 1,
3+
"constraints__clocks__details": [
4+
"clk: 60.0000"
5+
],
6+
"cts__clock__skew__hold": -0.8079,
7+
"cts__clock__skew__hold__post_repair": -0.8079,
8+
"cts__clock__skew__hold__pre_repair": -0.8079,
9+
"cts__clock__skew__setup": -0.5817,
10+
"cts__clock__skew__setup__post_repair": -0.5817,
11+
"cts__clock__skew__setup__pre_repair": -0.5817,
12+
"cts__design__instance__area": 754184.8125,
13+
"cts__design__instance__area__macros": 0.0,
14+
"cts__design__instance__area__macros__post_repair": 0.0,
15+
"cts__design__instance__area__macros__pre_repair": 0.0,
16+
"cts__design__instance__area__post_repair": 754184.8125,
17+
"cts__design__instance__area__pre_repair": 754184.8125,
18+
"cts__design__instance__area__stdcell": 754184.8125,
19+
"cts__design__instance__area__stdcell__post_repair": 754184.8125,
20+
"cts__design__instance__area__stdcell__pre_repair": 754184.8125,
21+
"cts__design__instance__count": 27543,
22+
"cts__design__instance__count__hold_buffer": 0,
23+
"cts__design__instance__count__macros": 0,
24+
"cts__design__instance__count__macros__post_repair": 0,
25+
"cts__design__instance__count__macros__pre_repair": 0,
26+
"cts__design__instance__count__post_repair": 27543,
27+
"cts__design__instance__count__pre_repair": 27543,
28+
"cts__design__instance__count__setup_buffer": 0,
29+
"cts__design__instance__count__stdcell": 27543,
30+
"cts__design__instance__count__stdcell__post_repair": 27543,
31+
"cts__design__instance__count__stdcell__pre_repair": 27543,
32+
"cts__design__instance__displacement__max": 0.0,
33+
"cts__design__instance__displacement__mean": 0.0,
34+
"cts__design__instance__displacement__total": 0.0,
35+
"cts__design__instance__utilization": 0.3623,
36+
"cts__design__instance__utilization__post_repair": 0.3623,
37+
"cts__design__instance__utilization__pre_repair": 0.3623,
38+
"cts__design__instance__utilization__stdcell": 0.3623,
39+
"cts__design__instance__utilization__stdcell__post_repair": 0.3623,
40+
"cts__design__instance__utilization__stdcell__pre_repair": 0.3623,
41+
"cts__design__io": 389,
42+
"cts__design__io__post_repair": 389,
43+
"cts__design__io__pre_repair": 389,
44+
"cts__design__violations": 0,
45+
"cts__power__internal__total": 0.0698,
46+
"cts__power__internal__total__post_repair": 0.0698,
47+
"cts__power__internal__total__pre_repair": 0.0698,
48+
"cts__power__leakage__total": 0.0,
49+
"cts__power__leakage__total__post_repair": 0.0,
50+
"cts__power__leakage__total__pre_repair": 0.0,
51+
"cts__power__switching__total": 0.0517,
52+
"cts__power__switching__total__post_repair": 0.0516,
53+
"cts__power__switching__total__pre_repair": 0.0516,
54+
"cts__power__total": 0.1215,
55+
"cts__power__total__post_repair": 0.1214,
56+
"cts__power__total__pre_repair": 0.1214,
57+
"cts__route__wirelength__estimated": 1370857.744,
58+
"cts__timing__drv__hold_violation_count": 0,
59+
"cts__timing__drv__hold_violation_count__post_repair": 0,
60+
"cts__timing__drv__hold_violation_count__pre_repair": 0,
61+
"cts__timing__drv__max_cap": 0,
62+
"cts__timing__drv__max_cap__post_repair": 0,
63+
"cts__timing__drv__max_cap__pre_repair": 0,
64+
"cts__timing__drv__max_cap_limit": 0.9382,
65+
"cts__timing__drv__max_cap_limit__post_repair": 0.9382,
66+
"cts__timing__drv__max_cap_limit__pre_repair": 0.9382,
67+
"cts__timing__drv__max_fanout": 0,
68+
"cts__timing__drv__max_fanout__post_repair": 0,
69+
"cts__timing__drv__max_fanout__pre_repair": 0,
70+
"cts__timing__drv__max_fanout_limit": 1.0000000150474662e+30,
71+
"cts__timing__drv__max_fanout_limit__post_repair": 1.0000000150474662e+30,
72+
"cts__timing__drv__max_fanout_limit__pre_repair": 1.0000000150474662e+30,
73+
"cts__timing__drv__max_slew": 0,
74+
"cts__timing__drv__max_slew__post_repair": 0,
75+
"cts__timing__drv__max_slew__pre_repair": 0,
76+
"cts__timing__drv__max_slew_limit": 0.4197,
77+
"cts__timing__drv__max_slew_limit__post_repair": 0.4201,
78+
"cts__timing__drv__max_slew_limit__pre_repair": 0.4201,
79+
"cts__timing__drv__setup_violation_count": 0,
80+
"cts__timing__drv__setup_violation_count__post_repair": 0,
81+
"cts__timing__drv__setup_violation_count__pre_repair": 0,
82+
"cts__timing__setup__tns": 0.0,
83+
"cts__timing__setup__tns__post_repair": 0.0,
84+
"cts__timing__setup__tns__pre_repair": 0.0,
85+
"cts__timing__setup__ws": 45.41,
86+
"cts__timing__setup__ws__post_repair": 45.41,
87+
"cts__timing__setup__ws__pre_repair": 45.41,
88+
"detailedplace__cpu__total": 13.98,
89+
"detailedplace__design__instance__area": 743544.375,
90+
"detailedplace__design__instance__area__macros": 0.0,
91+
"detailedplace__design__instance__area__stdcell": 743544.375,
92+
"detailedplace__design__instance__count": 27398,
93+
"detailedplace__design__instance__count__macros": 0,
94+
"detailedplace__design__instance__count__stdcell": 27398,
95+
"detailedplace__design__instance__displacement__max": 70.56,
96+
"detailedplace__design__instance__displacement__mean": 3.629,
97+
"detailedplace__design__instance__displacement__total": 99427.906,
98+
"detailedplace__design__instance__utilization": 0.3572,
99+
"detailedplace__design__instance__utilization__stdcell": 0.3572,
100+
"detailedplace__design__io": 389,
101+
"detailedplace__design__violations": 0,
102+
"detailedplace__mem__peak": 228996.0,
103+
"detailedplace__power__internal__total": 0.0618,
104+
"detailedplace__power__leakage__total": 0.0,
105+
"detailedplace__power__switching__total": 0.0486,
106+
"detailedplace__power__total": 0.1104,
107+
"detailedplace__route__wirelength__estimated": 1392920.2345,
108+
"detailedplace__runtime__total": "0:14.22",
109+
"detailedplace__timing__drv__hold_violation_count": 0,
110+
"detailedplace__timing__drv__max_cap": 0,
111+
"detailedplace__timing__drv__max_cap_limit": 0.9382,
112+
"detailedplace__timing__drv__max_fanout": 0,
113+
"detailedplace__timing__drv__max_fanout_limit": 1.0000000150474662e+30,
114+
"detailedplace__timing__drv__max_slew": 0,
115+
"detailedplace__timing__drv__max_slew_limit": 0.4201,
116+
"detailedplace__timing__drv__setup_violation_count": 0,
117+
"detailedplace__timing__setup__tns": 0.0,
118+
"detailedplace__timing__setup__ws": 45.65,
119+
"detailedroute__route__drc_errors": 0,
120+
"detailedroute__route__drc_errors__iter:1": 19077,
121+
"detailedroute__route__drc_errors__iter:2": 458,
122+
"detailedroute__route__drc_errors__iter:3": 178,
123+
"detailedroute__route__drc_errors__iter:4": 0,
124+
"detailedroute__route__net": 22668,
125+
"detailedroute__route__net__special": 2,
126+
"detailedroute__route__vias": 155153,
127+
"detailedroute__route__vias__multicut": 0,
128+
"detailedroute__route__vias__singlecut": 155153,
129+
"detailedroute__route__wirelength": 1737954,
130+
"detailedroute__route__wirelength__iter:1": 1748920,
131+
"detailedroute__route__wirelength__iter:2": 1739769,
132+
"detailedroute__route__wirelength__iter:3": 1738013,
133+
"detailedroute__route__wirelength__iter:4": 1737954,
134+
"finish__clock__skew__hold": -0.9259,
135+
"finish__clock__skew__setup": -0.649,
136+
"finish__cpu__total": 25.0,
137+
"finish__design__instance__area": 754184.8125,
138+
"finish__design__instance__area__macros": 0.0,
139+
"finish__design__instance__area__stdcell": 754184.8125,
140+
"finish__design__instance__count": 27543,
141+
"finish__design__instance__count__macros": 0,
142+
"finish__design__instance__count__stdcell": 27543,
143+
"finish__design__instance__utilization": 0.3623,
144+
"finish__design__instance__utilization__stdcell": 0.3623,
145+
"finish__design__io": 389,
146+
"finish__mem__peak": 717312.0,
147+
"finish__power__internal__total": 0.0754,
148+
"finish__power__leakage__total": 0.0,
149+
"finish__power__switching__total": 0.0741,
150+
"finish__power__total": 0.1496,
151+
"finish__runtime__total": "0:26.12",
152+
"finish__timing__drv__hold_violation_count": 0.0,
153+
"finish__timing__drv__max_cap": 0,
154+
"finish__timing__drv__max_cap_limit": 0.8706,
155+
"finish__timing__drv__max_fanout": 0,
156+
"finish__timing__drv__max_fanout_limit": 1.0000000150474662e+30,
157+
"finish__timing__drv__max_slew": 0,
158+
"finish__timing__drv__max_slew_limit": 0.0866,
159+
"finish__timing__drv__setup_violation_count": 0.0,
160+
"finish__timing__setup__tns": 0.0,
161+
"finish__timing__setup__ws": 45.07,
162+
"finish__timing__wns_percent_delay": 1536.270666,
163+
"floorplan__cpu__total": 0.95,
164+
"floorplan__design__instance__area": 682896.625,
165+
"floorplan__design__instance__area__macros": 0.0,
166+
"floorplan__design__instance__area__stdcell": 682896.625,
167+
"floorplan__design__instance__count": 21872,
168+
"floorplan__design__instance__count__macros": 0,
169+
"floorplan__design__instance__count__stdcell": 21872,
170+
"floorplan__design__instance__utilization": 0.328,
171+
"floorplan__design__instance__utilization__stdcell": 0.328,
172+
"floorplan__design__io": 388,
173+
"floorplan__mem__peak": 120452.0,
174+
"floorplan__power__internal__total": 0.0671,
175+
"floorplan__power__leakage__total": 0.0,
176+
"floorplan__power__switching__total": 0.0462,
177+
"floorplan__power__total": 0.1133,
178+
"floorplan__runtime__total": "0:01.02",
179+
"floorplan__timing__setup__tns": 0.0,
180+
"floorplan__timing__setup__ws": 45.51,
181+
"globalplace__design__instance__area": 711877.0,
182+
"globalplace__design__instance__area__macros": 0.0,
183+
"globalplace__design__instance__area__stdcell": 711877.0,
184+
"globalplace__design__instance__count": 27006,
185+
"globalplace__design__instance__count__macros": 0,
186+
"globalplace__design__instance__count__stdcell": 27006,
187+
"globalplace__design__instance__utilization": 0.342,
188+
"globalplace__design__instance__utilization__stdcell": 0.342,
189+
"globalplace__design__io": 389,
190+
"globalplace__power__internal__total": 0.0683,
191+
"globalplace__power__leakage__total": 0.0,
192+
"globalplace__power__switching__total": 0.0479,
193+
"globalplace__power__total": 0.1162,
194+
"globalplace__timing__setup__tns": 0.0,
195+
"globalplace__timing__setup__ws": 43.77,
196+
"globalroute__clock__skew__hold": -0.8064,
197+
"globalroute__clock__skew__setup": -0.5802,
198+
"globalroute__design__instance__area": 754184.8125,
199+
"globalroute__design__instance__area__macros": 0.0,
200+
"globalroute__design__instance__area__stdcell": 754184.8125,
201+
"globalroute__design__instance__count": 27543,
202+
"globalroute__design__instance__count__macros": 0,
203+
"globalroute__design__instance__count__stdcell": 27543,
204+
"globalroute__design__instance__utilization": 0.3623,
205+
"globalroute__design__instance__utilization__stdcell": 0.3623,
206+
"globalroute__design__io": 389,
207+
"globalroute__power__internal__total": 0.0699,
208+
"globalroute__power__leakage__total": 0.0,
209+
"globalroute__power__switching__total": 0.0521,
210+
"globalroute__power__total": 0.122,
211+
"globalroute__timing__clock__slack": 45.404,
212+
"globalroute__timing__drv__hold_violation_count": 0,
213+
"globalroute__timing__drv__max_cap": 0,
214+
"globalroute__timing__drv__max_cap_limit": 0.9363,
215+
"globalroute__timing__drv__max_fanout": 0,
216+
"globalroute__timing__drv__max_fanout_limit": 1.0000000150474662e+30,
217+
"globalroute__timing__drv__max_slew": 0,
218+
"globalroute__timing__drv__max_slew_limit": 0.3803,
219+
"globalroute__timing__drv__setup_violation_count": 0,
220+
"globalroute__timing__setup__tns": 0.0,
221+
"globalroute__timing__setup__ws": 45.4,
222+
"placeopt__cpu__total": 11.36,
223+
"placeopt__design__instance__area": 743544.375,
224+
"placeopt__design__instance__area__macros": 0.0,
225+
"placeopt__design__instance__area__macros__pre_opt": 0.0,
226+
"placeopt__design__instance__area__pre_opt": 711877.0,
227+
"placeopt__design__instance__area__stdcell": 743544.375,
228+
"placeopt__design__instance__area__stdcell__pre_opt": 711877.0,
229+
"placeopt__design__instance__count": 27398,
230+
"placeopt__design__instance__count__macros": 0,
231+
"placeopt__design__instance__count__macros__pre_opt": 0,
232+
"placeopt__design__instance__count__pre_opt": 27006,
233+
"placeopt__design__instance__count__stdcell": 27398,
234+
"placeopt__design__instance__count__stdcell__pre_opt": 27006,
235+
"placeopt__design__instance__utilization": 0.3572,
236+
"placeopt__design__instance__utilization__pre_opt": 0.342,
237+
"placeopt__design__instance__utilization__stdcell": 0.3572,
238+
"placeopt__design__instance__utilization__stdcell__pre_opt": 0.342,
239+
"placeopt__design__io": 389,
240+
"placeopt__design__io__pre_opt": 389,
241+
"placeopt__mem__peak": 218480.0,
242+
"placeopt__power__internal__total": 0.0615,
243+
"placeopt__power__internal__total__pre_opt": 0.0683,
244+
"placeopt__power__leakage__total": 0.0,
245+
"placeopt__power__leakage__total__pre_opt": 0.0,
246+
"placeopt__power__switching__total": 0.0485,
247+
"placeopt__power__switching__total__pre_opt": 0.0479,
248+
"placeopt__power__total": 0.11,
249+
"placeopt__power__total__pre_opt": 0.1162,
250+
"placeopt__runtime__total": "0:11.69",
251+
"placeopt__timing__drv__hold_violation_count": 0,
252+
"placeopt__timing__drv__max_cap": 0,
253+
"placeopt__timing__drv__max_cap_limit": 0.9383,
254+
"placeopt__timing__drv__max_fanout": 0,
255+
"placeopt__timing__drv__max_fanout_limit": 1.0000000150474662e+30,
256+
"placeopt__timing__drv__max_slew": 0,
257+
"placeopt__timing__drv__max_slew_limit": 0.4209,
258+
"placeopt__timing__drv__setup_violation_count": 0,
259+
"placeopt__timing__setup__tns": 0.0,
260+
"placeopt__timing__setup__tns__pre_opt": 0.0,
261+
"placeopt__timing__setup__ws": 45.65,
262+
"placeopt__timing__setup__ws__pre_opt": 43.77,
263+
"run__flow__design": "aes",
264+
"run__flow__generate_date": "2022-11-17 10:24",
265+
"run__flow__metrics_version": "Metrics_2.1.2",
266+
"run__flow__openroad_commit": "N/A",
267+
"run__flow__openroad_version": "v2.0-5758-g7f00621cb",
268+
"run__flow__platform": "gf180",
269+
"run__flow__platform__capacitance_units": "1pF",
270+
"run__flow__platform__current_units": "1mA",
271+
"run__flow__platform__distance_units": "1um",
272+
"run__flow__platform__power_units": "1uW",
273+
"run__flow__platform__resistance_units": "1ohm",
274+
"run__flow__platform__time_units": "1ns",
275+
"run__flow__platform__voltage_units": "1v",
276+
"run__flow__platform_commit": "0c766d0c3b3f7ad002512feeec91c2d169b64423",
277+
"run__flow__scripts_commit": "0c766d0c3b3f7ad002512feeec91c2d169b64423",
278+
"run__flow__uuid": "72ca79aa-1d4f-4f00-bb48-b06061a9ac95",
279+
"run__flow__variant": "base",
280+
"synth__cpu__total": 61.31,
281+
"synth__design__instance__area__stdcell": 730400.4288,
282+
"synth__design__instance__count__stdcell": 23056.0,
283+
"synth__mem__peak": 699512.0,
284+
"synth__runtime__total": "1:03.42",
285+
"total_time": "0:01:56.470000"
286+
}

0 commit comments

Comments
 (0)