Skip to content

Commit 536e135

Browse files
fix: revert commented flow changes
1 parent 35f1ac6 commit 536e135

File tree

7 files changed

+379
-4
lines changed

7 files changed

+379
-4
lines changed

openfasoc/generators/bigprocess.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
with open('passed.csv', 'w') as passedcsv:
2+
with open('failed.csv', 'w') as failedcsv:
3+
for arr_size_start in range(1, 250, 6):
4+
run_dir = f'xruns_ldo-gen_{arr_size_start}'
5+
6+
with open(f'{run_dir}/result.txt') as resultfile:
7+
for line in resultfile:
8+
arr_size = int(line.split(':')[0].strip())
9+
passed_densities = line.split(':')[1].split(';')[0].strip().split(',')
10+
failed_densities = line.split(':')[1].split(';')[1].strip().split(',')
11+
12+
for density in passed_densities:
13+
passedcsv.write(f'{arr_size},{density}\n')
14+
15+
for density in failed_densities:
16+
failedcsv.write(f'{arr_size},{density}\n')

openfasoc/generators/bigscript.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
from subprocess import Popen
2+
import os
3+
import shutil
4+
5+
def get_script(arr_size_start, arr_size_end):
6+
SCRIPT = f"arr_range = [{arr_size_start}, {arr_size_end}]"
7+
8+
return SCRIPT + r"""
9+
from subprocess import Popen
10+
11+
density_range = [x / 100 for x in range(101)]
12+
13+
with open('result.txt', 'w') as results_file:
14+
for arr_size in range(arr_range[0], arr_range[1]):
15+
with open(f'logs/result_{arr_size}.log', 'w') as logfile:
16+
failed_densities = []
17+
passed_densities = []
18+
19+
for density in density_range:
20+
p = Popen(f'python3 ./tools/ldo-gen.py --arr_size_in {arr_size} --place_density {density} --output ./work --platform sky130hvl --mode macro --specfile spec.json --simtype prePEX', shell=True, stderr=logfile)
21+
p.wait()
22+
23+
last_return_code = p.returncode
24+
if last_return_code == 0:
25+
passed_densities.append(str(density))
26+
else:
27+
failed_densities.append(str(density))
28+
29+
results_file.write(f"{arr_size}: {','.join(passed_densities)}; {','.join(failed_densities)}\n")
30+
results_file.flush()
31+
"""
32+
33+
runs = []
34+
for arr_size_start in range(1, 250, 6):
35+
run_dir = f'xruns_ldo-gen_{arr_size_start}'
36+
Popen(f'cp -pr ldo-gen {run_dir}', shell=True).wait()
37+
38+
open(f'{run_dir}/littlescript.py', 'w').write(get_script(arr_size_start, arr_size_start + 5))
39+
40+
runs.append(Popen(f'python littlescript.py', shell=True, cwd=run_dir))
41+
42+
for run in runs:
43+
run.wait()

openfasoc/generators/dcdc-gen/flow/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export UTILS_DIR = ./util
4444
export TEST_DIR = ./test
4545
export SIM_DIR = $(PWD)/../simulation
4646

47-
# export MACRO_PLACEMENT = $(RESULTS_DIR)/six_stage.macro_placment.cfg
47+
export MACRO_PLACEMENT = $(RESULTS_DIR)/six_stage.macro_placment.cfg
4848

4949
# export BASE = /shared/OpenFASOC/generators/temp-sense-gen/flow
5050
# export LOG_DIR = $(BASE)/logs/$(PLATFORM)/$(DESIGN_NICKNAME)
@@ -195,8 +195,8 @@ $(RESULTS_DIR)/2_1_floorplan.def: $(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synt
195195

196196
# STEP 1.1: DEF manipulation
197197
#-------------------------------------------------------------------------------
198-
# $(RESULTS_DIR)/six_stage.macro_placment.cfg: $(RESULTS_DIR)/2_1_floorplan.def
199-
# python3 $(UTILS_DIR)/place_six_stage.py
198+
$(RESULTS_DIR)/six_stage.macro_placment.cfg:
199+
python3 $(UTILS_DIR)/place_six_stage.py
200200

201201
# STEP 2: IO Placement
202202
#-------------------------------------------------------------------------------
@@ -210,7 +210,7 @@ $(RESULTS_DIR)/2_3_floorplan_tdms.def: $(RESULTS_DIR)/2_2_floorplan_io.def $(RES
210210

211211
# STEP 4: Macro Placement
212212
#-------------------------------------------------------------------------------
213-
$(RESULTS_DIR)/2_4_floorplan_macro.def: $(RESULTS_DIR)/2_3_floorplan_tdms.def $(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc $(IP_GLOBAL_CFG)
213+
$(RESULTS_DIR)/2_4_floorplan_macro.def: $(RESULTS_DIR)/2_3_floorplan_tdms.def $(RESULTS_DIR)/1_synth.v $(RESULTS_DIR)/1_synth.sdc $(IP_GLOBAL_CFG) $(RESULTS_DIR)/six_stage.macro_placment.cfg
214214
($(TIME_CMD) $(OPENROAD_CMD) $(SCRIPTS_DIR)/macro_place.tcl -metrics $(LOG_DIR)/2_4_mplace.json) 2>&1 | tee $(LOG_DIR)/2_4_mplace.log
215215

216216
# STEP 5: Tapcell and Welltie insertion
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
from subprocess import Popen
2+
3+
with open('result.txt', 'w') as results_file:
4+
for arr_size in range(30, 251):
5+
with open(f'logs/result_{arr_size}.log', 'w') as logfile:
6+
place_density_range = (0, 1)
7+
last_return_code = 10
8+
iter = 1
9+
passed_tries = 0
10+
failed_tries = 0
11+
12+
while (place_density_range[1] - place_density_range[0] > 0.005 or last_return_code != 0) and iter <= 25:
13+
test_place_density = (place_density_range[0] + place_density_range[1]) / 2 if iter != 1 else place_density_range[1]
14+
15+
p = Popen(f'python3 ./tools/ldo-gen.py --arr_size_in {arr_size} --place_density {test_place_density} --output ./work --platform sky130hvl --mode macro --specfile spec.json --simtype prePEX', shell=True, stderr=logfile)
16+
p.wait()
17+
18+
last_return_code = p.returncode
19+
iter += 1
20+
if last_return_code == 0:
21+
place_density_range = ((place_density_range[0] + place_density_range[1]) / 2, place_density_range[1])
22+
passed_tries += 1
23+
else:
24+
place_density_range = (place_density_range[0], (place_density_range[0] + place_density_range[1]) / 2)
25+
failed_tries += 1
26+
27+
results_file.write(f'{arr_size},{test_place_density},{last_return_code},{passed_tries},{failed_tries}\n')
28+
results_file.flush()
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
arr_range = [1, 251]
2+
from subprocess import Popen
3+
4+
density_range = [x / 100 for x in range(101)]
5+
6+
with open('result.txt', 'w') as results_file:
7+
for arr_size in range(arr_range[0], arr_range[1]):
8+
with open(f'logs/result_{arr_size}.log', 'w') as logfile:
9+
failed_densities = []
10+
passed_densities = []
11+
12+
for density in density_range:
13+
p = Popen(f'python3 ./tools/ldo-gen.py --arr_size_in {arr_size} --place_density {density} --output ./work --platform sky130hvl --mode macro --specfile spec.json --simtype prePEX', shell=True, stderr=logfile)
14+
p.wait()
15+
16+
last_return_code = p.returncode
17+
if last_return_code == 0:
18+
passed_densities.append(str(density))
19+
else:
20+
failed_densities.append(str(density))
21+
22+
results_file.write(f"{arr_size}: {','.join(passed_densities)}; {','.join(failed_densities)}\n")
23+
results_file.flush()
Lines changed: 252 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
1,0.2
2+
2,0.21
3+
3,0.22
4+
4,0.22
5+
5,0.24
6+
6,0.25
7+
7,0.26
8+
8,0.28
9+
9,0.29
10+
10,0.3
11+
11,0.31
12+
12,0.31
13+
13,0.32
14+
14,0.32
15+
15,0.33
16+
16,0.33
17+
17,0.34
18+
18,0.34
19+
19,0.34
20+
20,0.35
21+
21,0.35
22+
22,0.36
23+
23,0.36
24+
24,0.36
25+
25,0.37
26+
26,0.37
27+
27,0.37
28+
28,0.38
29+
29,0.38
30+
30,0.38
31+
31,0.39
32+
32,0.39
33+
33,0.4
34+
34,0.41
35+
35,0.41
36+
36,0.41
37+
37,0.43
38+
38,0.42
39+
39,0.44
40+
40,0.46
41+
41,0.48
42+
42,0.5
43+
43,0.49
44+
44,0.52
45+
45,0.52
46+
46,0.55
47+
47,0.56
48+
48,0.59
49+
49,0.59
50+
50,0.62
51+
51,0.64
52+
52,0.65
53+
53,0.65
54+
54,0.66
55+
55,0.67
56+
56,0.68
57+
57,0.68
58+
58,0.68
59+
59,0.69
60+
60,0.69
61+
61,0.69
62+
62,0.69
63+
63,0.7
64+
64,0.7
65+
65,0.7
66+
66,0.7
67+
67,0.71
68+
68,0.7
69+
69,0.71
70+
70,0.71
71+
71,0.71
72+
72,0.72
73+
73,0.72
74+
74,0.72
75+
75,0.73
76+
76,0.73
77+
77,0.73
78+
78,0.73
79+
79,0.74
80+
80,0.74
81+
81,0.74
82+
82,0.74
83+
83,0.74
84+
84,0.75
85+
85,0.76
86+
86,0.76
87+
87,0.76
88+
88,0.76
89+
89,0.76
90+
90,0.76
91+
91,0.77
92+
92,0.77
93+
93,0.78
94+
94,0.78
95+
95,0.78
96+
96,0.79
97+
97,0.78
98+
98,0.79
99+
99,0.79
100+
100,0.72
101+
101,0.72
102+
102,0.72
103+
103,0.72
104+
104,0.73
105+
105,0.72
106+
106,0.73
107+
107,0.73
108+
108,0.73
109+
109,0.73
110+
110,0.73
111+
111,0.74
112+
112,0.74
113+
113,0.74
114+
114,0.74
115+
115,0.75
116+
116,0.74
117+
117,0.75
118+
118,0.75
119+
119,0.75
120+
120,0.76
121+
121,0.76
122+
122,0.76
123+
123,0.76
124+
124,0.76
125+
125,0.78
126+
126,0.76
127+
127,0.77
128+
128,0.77
129+
129,0.75
130+
130,0.76
131+
131,0.76
132+
132,0.76
133+
133,0.76
134+
134,0.76
135+
135,0.76
136+
136,0.76
137+
137,0.77
138+
138,0.77
139+
139,0.77
140+
140,0.78
141+
141,0.78
142+
142,0.77
143+
143,0.77
144+
144,0.79
145+
145,0.78
146+
146,0.78
147+
147,0.79
148+
148,0.78
149+
149,0.78
150+
150,0.73
151+
151,0.73
152+
152,0.73
153+
153,0.73
154+
154,0.73
155+
155,0.73
156+
156,0.73
157+
157,0.73
158+
158,0.74
159+
159,0.75
160+
160,0.74
161+
161,0.74
162+
162,0.75
163+
163,0.74
164+
164,0.74
165+
165,0.75
166+
166,0.75
167+
167,0.75
168+
168,0.75
169+
169,0.75
170+
170,0.75
171+
171,0.76
172+
172,0.75
173+
173,0.76
174+
174,0.76
175+
175,0.76
176+
176,0.76
177+
177,0.77
178+
178,0.76
179+
179,0.77
180+
180,0.76
181+
181,0.77
182+
182,0.77
183+
183,0.77
184+
184,0.77
185+
185,0.77
186+
186,0.78
187+
187,0.78
188+
188,0.77
189+
189,0.76
190+
190,0.74
191+
191,0.76
192+
192,0.75
193+
193,0.79
194+
194,0.79
195+
195,0.79
196+
196,0.8
197+
197,0.74
198+
198,0.81
199+
199,0.79
200+
200,0.73
201+
201,0.74
202+
202,0.75
203+
203,0.75
204+
204,0.74
205+
205,0.74
206+
206,0.73
207+
207,0.73
208+
208,0.75
209+
209,0.75
210+
210,0.73
211+
211,0.72
212+
212,0.74
213+
213,0.68
214+
214,0.75
215+
215,0.72
216+
216,0.73
217+
217,0.73
218+
218,0.76
219+
219,0.72
220+
220,0.77
221+
221,0.74
222+
222,0.75
223+
223,0.75
224+
224,0.72
225+
225,0.75
226+
226,0.74
227+
227,0.75
228+
228,0.73
229+
229,0.75
230+
230,0.72
231+
231,0.76
232+
232,0.79
233+
233,0.81
234+
234,0.75
235+
235,0.76
236+
236,0.79
237+
237,0.75
238+
238,0.77
239+
239,0.75
240+
240,0.76
241+
241,0.78
242+
242,0.81
243+
243,0.84
244+
244,0.56
245+
245,0.79
246+
246,0.88
247+
247,0.85
248+
248,0.89
249+
249,0.79
250+
250,0.68
251+
251,0.74
252+
252,0.68

0 commit comments

Comments
 (0)