-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile
242 lines (195 loc) · 6.54 KB
/
makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
#To run this makefile please type the "make" command#
all: vendingmachinea.vbe \
vendingmachinej.vbe \
vendingmachinem.vbe \
vendingmachineo.vbe \
vendingmachiner.vbe \
syf \
vendingmachinea_o.vbe \
vendingmachinej_o.vbe \
vendingmachinem_o.vbe \
vendingmachiner_o.vbe \
vendingmachineo_o.vbe \
boom \
vendingmachinea_o.vst \
vendingmachinej_o.vst \
vendingmachinem_o.vst \
vendingmachiner_o.vst \
vendingmachineo_o.vst \
boog \
vendingmachinea_l.xsc \
vendingmachinej_l.xsc \
vendingmachinem_l.xsc \
vendingmachiner_l.xsc \
vendingmachineo_l.xsc \
loon \
vendingmachineo_labs.vbe \
flatbeh \
proof \
scapin \
ocp \
nero \
cougar \
s2r \
clean \
credits
@echo "-- Done, All Good --"
#----------------- [SYF] -----------------#
vendingmachinea.vbe: vendingmachine.fsm
@echo " Encoding Synthesis -> vendingmachinea.vbe"
syf -CEV -a vendingmachine
vendingmachinej.vbe: vendingmachine.fsm
@echo " Encoding Synthesis -> vendingmachinej.vbe"
syf -CEV -j vendingmachine
vendingmachinem.vbe: vendingmachine.fsm
@echo " Encoding Synthesis -> vendingmachinem.vbe"
syf -CEV -m vendingmachine
vendingmachineo.vbe: vendingmachine.fsm
@echo " Encoding Synthesis -> vendingmachineo.vbe"
syf -CEV -o vendingmachine
vendingmachiner.vbe: vendingmachine.fsm
@echo " Encoding Synthesis -> vendingmachiner.vbe"
syf -CEV -r vendingmachine
syf:
mkdir ./SYF
cp *.vbe ./SYF
cp *.enc ./SYF
#----------------- [BOOM] -----------------#
vendingmachinea_o.vbe: vendingmachinea.vbe
@echo "[BOOM] Boolean optimizing -a -> $@"
boom -V -d 50 vendingmachinea.vbe vendingmachinea_o.vbe > vendingmachinea.out
vendingmachinej_o.vbe: vendingmachinej.vbe
@echo "[BOOM] Boolean optimizing -j -> $@"
boom -V -d 50 vendingmachinej.vbe vendingmachinej_o.vbe > vendingmachinej.out
vendingmachinem_o.vbe: vendingmachinem.vbe
@echo "[BOOM] Boolean optimizing -m -> $@"
boom -V -d 50 vendingmachinem.vbe vendingmachinem_o.vbe > vendingmachinem.out
vendingmachineo_o.vbe: vendingmachineo.vbe
@echo "[BOOM] Boolean optimizing -o -> $@"
boom -V -d 50 vendingmachineo.vbe vendingmachineo_o.vbe > vendingmachineo.out
vendingmachiner_o.vbe: vendingmachiner.vbe
@echo "[BOOM] Boolean optimizing -r -> $@"
boom -V -d 50 vendingmachiner.vbe vendingmachiner_o.vbe > vendingmachiner.out
boom:
mkdir ./BOOM
cp *_o.vbe ./BOOM
mv *.out ./BOOM
#----------------- [BOOG] -----------------#
vendingmachinea_o.vst : vendingmachinea_o.vbe
@echo "[BOOG] Library Mapping -a -> $@ "
boog -l paramfile vendingmachinea_o
vendingmachinej_o.vst : vendingmachinej_o.vbe
@echo "[BOOG] Library Mapping -j -> $@ "
boog -l paramfile vendingmachinej_o
vendingmachinem_o.vst : vendingmachinem_o.vbe
@echo "[BOOG] Library Mapping -m -> $@ "
boog -l paramfile vendingmachinem_o
vendingmachineo_o.vst : vendingmachineo_o.vbe
@echo "[BOOG] Library Mapping -o -> $@ "
boog -l paramfile vendingmachineo_o
vendingmachiner_o.vst : vendingmachiner_o.vbe
@echo "[BOOG] Library Mapping -r -> $@ "
boog -l paramfile vendingmachiner_o
boog:
mkdir ./BOOG
cp *.vst ./BOOG
cp *.xsc ./BOOG
#----------------- [LOON] -----------------#
vendingmachinea_l.xsc : vendingmachinea_o.vst
@echo "[LOON] Netlist optimizing -a -> $@ "
loon vendingmachinea_o vendingmachinea_l paramfile > vendingmachinea_l.out
vendingmachinej_l.xsc : vendingmachinej_o.vst
@echo "[LOON] Netlist optimizing -j -> $@ "
loon vendingmachinej_o vendingmachinej_l paramfile > vendingmachinej_l.out
vendingmachinem_l.xsc : vendingmachinem_o.vst
@echo "[LOON] Netlist optimizing -m -> $@ "
loon vendingmachinem_o vendingmachinem_l paramfile > vendingmachinem_l.out
vendingmachineo_l.xsc : vendingmachineo_o.vst
@echo "[LOON] Netlist optimizing -o -> $@ "
loon vendingmachineo_o vendingmachineo_l paramfile > vendingmachineo_l.out
vendingmachiner_l.xsc : vendingmachiner_o.vst
@echo "[LOON] Netlist optimizing -r -> $@ "
loon vendingmachiner_o vendingmachiner_l paramfile > vendingmachiner_l.out
loon:
mkdir ./LOON
cp *_l.vst ./LOON
cp *_l.xsc ./LOON
mv *.out ./LOON
#----------------- [FLATBEH] -----------------#
vendingmachineo_labs.vbe : ./LOON/vendingmachineo_l.vst
@echo "[FLATBEH] Netlist checking -o -> $@ "
flatbeh vendingmachineo_l
flatbeh:
mkdir ./FLATBEH
cp *_labs.vbe ./FLATBEH
#----------------- [PROOF] -----------------#
proof :
@echo "[PROOF] Netlist checking -o -> $@ "
proof -d ./SYF/vendingmachineo ./FLATBEH/vendingmachineo_labs
#----------------- [SCAPIN] -----------------#
scapin: ./LOON/vendingmachineo_l.vst
@echo "[SCAPIN] Scan-path insertion (DFT) $@ "
scapin -VRB -P sxlib.scapin vendingmachineo_l pathfile vendingmachineo_s
mkdir ./SCAPIN
cp *_s.vst ./SCAPIN
#----------------- [OCP] -----------------#
ocp: ./SCAPIN/vendingmachineo_s.vst
@echo "[OCP] Placement $@ "
alliance-ocp -v -ring -ioc pinorder vendingmachineo_s vendingmachineo_ocp > vendingmachineo_ocp.out
mkdir ./OCP
cp *.ap ./OCP
mv *.out ./OCP
#----------------- [NERO] -----------------#
nero: ./OCP/vendingmachineo_ocp.ap ./SCAPIN/vendingmachineo_s.vst
@echo "[NERO] Routing $@ "
nero -V -p vendingmachineo_ocp vendingmachineo_s vendingmachineo_s > vendingmachineo_nero.out
mkdir ./NERO
cp *_s.ap ./NERO
mv *_nero.out ./NERO
#----------------- [COUGAR] -----------------#
cougar: ./NERO/vendingmachineo_s.ap ./SCAPIN/vendingmachineo_s.vst
@echo "[COUGAR] Netlist extraction $@ "
MBK_OUT_LO=al; export MBK_OUT_LO; \
RDS_TECHNO_NAME=./techno/techno-035.rds; \
export RDS_TECHNO_NAME; \
cougar -v vendingmachineo_s vendingmachineo_cougar > vendingmachineo_cougar.out
@echo "[LVX] Netlist comparison $@ "
lvx vst al vendingmachineo_s vendingmachineo_cougar -f > vendingmachineo_lvx.out
mkdir ./COUGAR
mv *.al ./COUGAR
mv *_cougar.out ./COUGAR
mkdir ./LVX
mv *_lvx.out ./LVX
#----------------- [S2R] -----------------#
s2r: ./NERO/vendingmachineo_s.ap
@echo "[S2R] Symbolic to real conversion $@ "
s2r -v -r vendingmachineo_s > vendingmachineo_s2r.out
mkdir ./S2R
mv *_s2r.out ./S2R
mv *.cif ./S2R
#----------------- [CREDITS] -----------------#
credits:
@echo ""
@echo "[CREDITS]"
@echo "Mohamed El Ghamry"
@echo "Faculty of Engineering Student"
@echo "Ain Shams University"
@echo "Computer Engineering and Software Systems Department"
@echo ""
#----------------- [CLEAN] -----------------#
clean :
rm -f *.vbe *.enc *.vst *.xsc *.ap *.out *.al *.cif *~
@echo "Erase all the unnecessary files generated by the makefile"
delete:
rm -rf SYF
rm -rf BOOM
rm -rf BOOG
rm -rf LOON
rm -rf FLATBEH
rm -rf SCAPIN
rm -rf OCP
rm -rf NERO
rm -rf COUGAR
rm -rf LVX
rm -rf S2R
@echo "Erase all the folders generated by the makefile"