-
Notifications
You must be signed in to change notification settings - Fork 37
/
success_fail.v
326 lines (316 loc) · 44.2 KB
/
success_fail.v
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
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
task YOU_PASS_TASK; begin
$display(" `-:/+++++++/:-` ");
$display(" ./shmNdddmmNNNMMMMMNNhs/. ");
$display(" `:yNMMMMMdo------:/+ymMMMMMNds- ");
$display(" `+dNMMNysmMMMd/....-ymNMMMMNMMMMMd+` ");
$display(" .+NMMNy:-.-oNMMm..../MMMNho:-+dMMMMMm+` ");
$display(" `` +-oso/:::::/+so:....-:+++//////hNNm++dd- ");
$display(" +/- -` -:.-//--.....-:+-.....-+/--....--/+-..:Nm: ");
$display(" :--./-:::/. /-.+:..-:+oso+:-+....-+:/oso+:....-+:..yMN: ");
$display(" -/:-:-.+-/ `+--+.-smNMMMMMNh/....:ymNMMMMNy:...-+../MMm. ");
$display(" ::/+-...--/ `--:-...-dMMMh/.-yMMd-..-mMMy::oNMMm:...-..-mMMy.` ");
$display(" .-:+:.....---::-......+MMMM- `sMMN-..oMMN. .mMMM+.......hd+:-::` ");
$display(" /+/::/:..:/-........:mMMMmddmMMMs...+NMMmddNMMMm:......-+-....-/. ");
$display(" ``` `/.::...........:odmNNNNmh/-..../ydmNNNmds:.......-.......-+` ");
$display(" -:+..............--::::--........--:::--..................:: ");
$display(" //.......................................................-: ");
$display(" `+...........................................--::::-....-/` ");
$display(" ::.....................................-//os+/+/+oo----.` ");
$display(" :/-.............................-::/\033[0;31;111mosyyyyyyyyyyyh\033[m- ");
$display(" +s+:-...................--::/\033[0;31;111m+ssyyyyyyyyyyyyyyyyy\033[m+ ");
$display(" .\033[0;31;111myyyyso+:::----:/::://+osssyyyyyyyyyyyyyyyyyyyyyyyy\033[m- ");
$display(" -/\033[0;31;111msyyyyyyysssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy\033[m. ");
$display(" `-/\033[0;31;111mssyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy\033[m`");
$display(" `.\033[0;31;111mohyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhyyyyyyyyyyss\033[m/");
$display(" `\033[0;31;111myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyydyyyyysso/o\033[m.` ");
$display(" :\033[0;31;111mhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhyy\033[m:-...+ ");
$display(" \033[0;31;111msyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy\033[m+....o ");
$display(" `\033[0;31;111mhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy\033[m+:..// ");
$display(" :\033[0;31;111mhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy\033[m:+.-o` ");
$display(" -\033[0;31;111mhyyyyyyssoosyyyyyssoosyyyyyyssoo+oosy\033[m+--..o` ");
$display(" `s\033[0;33;219m/////:-.``.://::-.``.:/++/:-```````.\033[m+:--:+ ");
$display(" ./\033[0;33;219m`````````````````````````````````````\033[ms.-. ");
$display(" /-\033[0;33;219m`````````````````. ``````````````````\033[mo ");
$display(" +\033[0;33;219m``````````````````. ``````````````````\033[m+` ");
$display(" +-\033[0;33;219m....-...---------: :::::::::::::/::::\033[m+` ");
$display(" `\033[0;33;219m.....+::::-:+````` ` `/+..---o:```\033[m ");
$display(" :-..../` o-....s`` ");
$display(" ./-.--o :+:::/o ");
$display(" /::--o `o````o ");
$display(" -// + +- `-s/ ");
$display(" `-/-::::o: :+////-+/:-` ");
$display(" `///:-:///:::+ `+////:////+s+ ");
$display("*************************************************************************************");
$display(" \033[0;38;5;219mCongratulations!\033[m ");
$display(" \033[0;38;5;219mYou have passed all patterns!\033[m ");
$display(" \033[0;38;5;219mTotal Cycles : %d\033[m ",total_cycles);
$display("*************************************************************************************");
#(100);
$finish;
end endtask
task YOU_PASS_task; begin
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8OOOOOOO8@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O .o8@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8:. .o@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o :O@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ .o8@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@888888@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@88888888OOO88@@@@@@@@@@ :@@@@@@@");
$display("@@@@@@@@@@@@8o:. .o8@@@@@@@@@@@@@@@@@@@88Oo:. .:ooo o@@@@@@");
$display("@@@@@@@@@@8 .8@@@@@@@@@@@@8O:. ..::::::ooo:. .8@@@@@");
$display("@@@@@@@O. 8@@@@@8O:. .:O88@@@@@@@@@@@@@@@@@@@@@@@88Oo. :8@@@@@");
$display("@@@@@@o :8@@8. .:o8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OO: o@@@@@@");
$display("@@@@@8 :o. .O8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@88@@8o. 8@@@@@@");
$display("@@@@: o8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8: :OO. o@@@@@8@");
$display("@@@o. :O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. OO: :8@@@@@@@@");
$display("@@8. O8@@@@@@@@@@O:. .oO@@@@@@@@@@@@@@@@@@@@@@@. o88 O@@@@@@@@@@@");
$display("@@O. :O@@@@@@@@@@: o@@@@@@@@@@@@@@@@@@@@@@. .88o. oO@@@@@@@@@@@@");
$display("@@O. :8@@@@@@@@@@8: .O@@@@@@@@@@@@@@@@@@@@@o .@@8O: o8@@@@@8@@@@@@");
$display("@@@: 8@@@@@@@@@@O. :8@@@@@@@@@@@@@@@@@@@@8o O@@@@. 8@@@@@@@@@8@");
$display("@@@@o :@@@@@@@@@@o :8@@@@@@@@@@@@@@@@@@@@@@o O@@@@O: .O@@@@@@@@@@");
$display("@@@@@@. .O@@@@@@@@@@8 O@@@@@@@@@@@@@@@@@@@@@@@@@O .O@@@@@@@@o :@@@@@@@@@");
$display("@@@@@@@O:. .O@@@@@@@@@@@@o .8@@@@@@@@@@@@888O8@@@@@@@@@o. .o8@@@@@@@@@@o o8@@@@@@@");
$display("@@@@@@@@@@8. o@@@@@@@@@@@@@: o@@@@@@@O:. :O@@@@@@@@Oo. .:8@@@@@@@@@@@@@8 @@@@@@@");
$display("@@@@@@@@@@@@@@@@: 8@@@@@@@@@@@@@8 :8@@@@8: .O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@");
$display("@@@@@@@@@@@@@@@@ :@@@@@@@@@@@@@@@O. 8@@@@@8: o@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8@@@ @@@@@@");
$display("@@@@@@@@@@@@@@@O :@@@@@@@@@@@@@@@@@@@8O:....:O8@@@@@@@@@@@o O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8@@@@ @@@@@");
$display("@@@@@@@@@@@@@@8: :O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Oo. .o8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@");
$display("@@@@@@@@@@@@@8: o@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8 :@@@@@@@@@@@@@@@@@@@@@@@8Ooo\033[0;40;31m:::::\033[0;40;37moOO8@@8OOo o@@@");
$display("@@@@@@@@@@@@@O O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8. .8@@8o:O@@@@@@@@@@@@@8O\033[0;40;31m:::::::::::::::\033[0;40;37mO@@@O :@@@");
$display("@@@@@@@@@@@@@O O@@@@@@@@@@@@@@@@@@88888@@@@@@@@@@@@@@@@@@O:oO8@8. .: o@@@@@@@@@@@@O\033[0;40;31m::::::::::::::::::\033[0;40;37mo8@O :8@@");
$display("@@@@@@@@@@@@@O O@@@@@@@@@@@@@\033[1;40;31mO\033[0;40;31m:::::::::::::\033[0;40;37mo8@@@@@@@@@@@@8. :@@@@@@@@@@8o\033[0;40;31m::::::::::::::::::::\033[0;40;37mo8@: .@@");
$display("@@@@@@@@@@@@O. .8@@@@@@@@@@8Oo\033[0;40;31m.:::::::::::::::\033[0;40;37moO@@@@@@@@@@8: .@@@@@@@@@@O\033[0;40;31m::::::::::::::::::::::\033[0;40;37mo8O @@");
$display("@@@@@@@@@@@@o O@@@@@@@@@@8o\033[0;40;31m::::::::::::::::::::\033[0;40;37mo8@@@@@@@@@O .@@@@@@@@@@O\033[0;40;31m::::::::::::::::::::::\033[0;40;37mo8O @@");
$display("@@@@@@@@@@@@O. :8@@@@@@@@o\033[0;40;31m::::::::::::::::::::::::\033[0;40;37m8@@@@@@@@@ :@@@@@@@@@@8o\033[0;40;31m:::::::::::::::::::::\033[0;40;37mO@o @@");
$display("@@@@@@@@@@@@8: :8@@@@@@@8\033[0;40;31m:::::::::::::::::::::::::\033[0;40;37m8@@@@@@@@@ O@@@@@@@@@@@O\033[0;40;31m::::::::::::::::::::\033[0;40;37mo8@: :@@");
$display("@@@@@@@@@@@@@O O@@@@@@8O\033[0;40;31m:::::::::::::::::::::::::\033[0;40;37mo8@@@@@@@@O .8@@@@@@@@@@@@@8o\033[0;40;31m::::::::::::::::\033[0;40;37mo8@@@ .O@@");
$display("@@@@@@@@@@@@@O O8@@@@@8O\033[0;40;31m:::::::::::::::::::::::::\033[0;40;37mo8@@@@@@@@@8: .O@@@@@@@@@@@@@@@@@O\033[0;40;31m::::::::::::::\033[0;40;37mo@@@@8 .8@@");
$display("@@@@@@@@@@@@@O O@@@@@@@O\033[0;40;31m::::::::::::::::::::::::.\033[0;40;37mO8@@@@8OOooo:. :@@@@@@@@@@@@@@@@@@@@8OOo\033[0;40;31m::::::\033[0;40;37mooO8@@@@@o :@@@");
$display("@@@@@@@@@@@@@8. o8@@@@@@@\033[0;40;31m:::::::::::::::::::::::::\033[0;40;37m8@8O. .:O8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8o o@@@@");
$display("@@@@@@@@@@@@@8: .O@@@@@@@O\033[0;40;31m:::::::::::::::::::::::\033[0;40;37mo@O. .:oOOOo::. .:OO8@@@@@@@@@@@@@@@@@@@@@@@@O. :8@@@@");
$display("@@@@@@@@@@@@@@8. :8@@@@@@@8o\033[0;40;31m:::::::::::::::::::\033[0;40;37mO8@O 8@@@@@@@@@@@@@@@@@8O.. :oO8@@@@@@@@@@@@@@@8o. .8@@@@@");
$display("@@@@@@@@@@@@@@@O :8@@@@@@@@8O\033[0;40;31m:::::::::::::::\033[0;40;37mO8@@@: .@@@@@@@@@@@@@@@@@@@@@@88Oo:. .:O8@@@@@@@@@@@. O@@@@@@");
$display("@@@@@@@@@@@@@@@8 O@@@@@@@@@@8Oo\033[0;40;31m::::::::\033[0;40;37mooO8@@@@@O. O@@@@@@@@@@@@@@@@@@@@@@@@@@@@8:. .o@@@@@@@@@o O@@@@@@@");
$display("@@@@@@@@@@@@@@@@o 8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8: :O8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o. :O@@@8o. .o@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@: :8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8: ...:oO8@@@@@@@@@@@@@@@@@@@@@@@@@O: .O8. .O@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@O: :@@@@@@@@@@@@@@@@@@@@@@@@@@@O. \033[0;40;33m...\033[0;40;37m O@@@@@@@@@@@@@@@@@@@@@@@O .O8@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@: :O@@@@@@@@@@@@@@@@@@@@@@@@@O \033[0;40;33m:O888Ooo:..\033[0;40;37m :8@@@@@@@@@@@@@@@@@@@@O: :O@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@8o .O8@@@@@@@@@@@@@@@@@@@@@O: \033[0;40;33m.o8888888888O.\033[0;40;37m .O@@@@@@@@@@@OO888@8O:. :O@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@O o8@@@@@@@@@@@@@@@@@@@o \033[0;40;33m:88888888888o\033[0;40;37m o8@@@@@@@: o8@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@: .:88@@@@@@@@@@@@@8: \033[0;40;33mo8888O88888O.\033[0;40;37m .8@@@@@@@O \033[1;40;33m..\033[0;40;37m .::O@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@O. .:o \033[0;40;33m8888\033[0;40;37m@@@@\033[0;40;33m888o.\033[0;40;37m o8@@@@@8o \033[0;40;33mo88o.\033[0;40;37m @@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@o .OOo:. \033[0;40;33mO88\033[0;40;37m@@@@@\033[0;40;33m888o.\033[0;40;37m :8@@@@@o \033[0;40;33m:O88.\033[0;40;37m .@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@8o :@@@@@O: \033[0;40;33m.O8\033[0;40;37m@@@@\033[0;40;33m8888O:\033[0;40;37m .O88O: \033[0;40;33m.O88O\033[0;40;37m O@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@: \033[0;40;33m.o8\033[0;40;37m@@@@\033[0;40;33m\033[0;40;33m888888O:\033[0;40;37m \033[0;40;33m.888O:\033[0;40;37m o8@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@8o \033[0;40;33m.O\033[0;40;37m@@@@\033[0;40;33m\888888888Oo:...ooO8888: \033[0;40;37m:8@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8o \033[0;40;33mo8\033[0;40;37m@@@@\033[0;40;33m888888888888888888888O.\033[0;40;37m :8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o. \033[0;40;33m.8\033[0;40;37m@@@@\033[0;40;33m888888888888888888888O:\033[0;40;37m o@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O:. \033[0;40;33m.o8\033[0;40;37m@@@@@\033[0;40;33m88888888888888888888Oo\033[0;40;37m :8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8OOo::::::. \033[0;40;33mo888\033[0;40;37m@@@@@\033[0;40;33m88888888888888888888o.\033[0;40;37m @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8: \033[0;40;33mo888\033[0;40;37m@@@@@\033[0;40;33m88888888888888888888.\033[0;40;37m .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8: \033[0;40;33mo888\033[0;40;37m@@@@@\033[0;40;33m88888888888888888888O\033[0;40;37m .O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O. \033[0;40;33mO8888\033[0;40;37m@@@\033[0;40;33m88888888888888888888O.\033[0;40;37m O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o \033[0;40;33m8888888888888888888888888888o\033[0;40;37m o8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. \033[0;40;33m. ..:oOO8888888888888888888o.\033[0;40;37m .8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O. \033[0;40;33m..:oO8888888888888O.\033[0;40;37m .O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8OO. \033[0;40;33m.oOO88O.\033[0;40;37m O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@88:.. \033[0;40;33m...\033[0;40;37m 8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@88Ooo:. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8OoOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display ("----------------------------------------------------------------------------------------------------------------------");
$display (" Congratulations! ");
$display (" You have passed all patterns! ");
$display (" Your clock period = %.1f ns ", CYCLE);
$display (" Your total latency = %.1f ns ", $time);
$display ("----------------------------------------------------------------------------------------------------------------------");
#(100);
$finish;
end endtask
task fail; begin
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8Oo::::ooOOO8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o: ..::.. .:o88@@@@@@@@@@@8OOoo:::..::oooOO8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8. :8@@@@@@@@@@@@Oo.. ..:.:.. .:O8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8. .8@@@@@@@@@@@@@@@@@@@@@@88888888888@@@@@@@@@@@@@@@@@8. :O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:. .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8. :8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8. :o@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o 8@@@@@@@@@@@@@8@@@@@@@@8o::o8@@@@@8ooO88@@@@@@@@@@@@@@@@@@@@@@@@8:. .:ooO8@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o :@@@@@@@@@@O :@@@O .. :O@@@: :@@@@OoO8@@@@@@@@@@@@@@@@Oo... ..:o@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ :8@@@@@@@@@: .@@88@@@8: o@@o :@@@. 0@@@. O@@@ .O8@@@@@@@@@@@@@@@@@@8OOo. O8@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ o@@@@@@@@@@O. :8@8: o@@O. .@@8 000o .8@@O O8O: .@@o .O@@@@@@@@@@@@@@@@@@@o. .o@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. :8@@@@@@@@@@@@@@@: .o8: o@@o. .@@O :: .O@@@O. o0o. :@@O. :8@8::8@@@@@@@@@@@@@@@8O .:8@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ o8@@@@@@@@@@@OO@@8. o@8 '' .O@@o O@: :O@@: :: .8@@@O. .: .8@@@@@@@@@@@@@@@@@@O 8@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. .O@@@@@@@@@@O .8@@@@Oo::oO@@@@O 8@8: :@8 :@O. :O@@@@8: .o@@@@@@@@@@@@@@@@@@@@@@o :8@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8: 8@@@@@@@@@@@@8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o:8@8: :@@@@: .O@@@@@@@@@@@@@@@@@@@@@@@@8: o@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@: .8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OoO@@@O :8@@@@@@@@@@@@@@@@@@@@@@@@@@8o 8@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8. o8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@88@@@@@@@@@@@@@@@@@@@8::@@@@@88@@@@@@@@@@@@@@@@@@@@@@@ :8@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O. .:8@@@@@@@@@@@@@@@@@@@88OOoo::....:O88@@@@@@@@@@@@@@@@@@@@8o .8@@@@@@@@@@@@@@@@@@@@@@: o@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o. ..:o8888888OO::. ....:o:.. oO@@@@@@@@@@@@@@@@8O..@@ooO@@@@@@@@@@@@@@@@@@O. :@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Oo::. ..:OO@@@@@@@@@@@@@@@@O: .o@@@@@@@@@@@@@@@@@@@O 8@@@@@@@@@@@@@@@@@. .O@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8O .8@@@@@@@@@@@@@@@@@@@@@O O@@@@@@@@@@@@@. o8@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O .O@@@@@@@@@@@@@@@@@@8..8@@@@@@@@@@@@@. .O@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O: ..:O88@888@@@@@@@@@@@@@@@@@@@@@@@O O@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o. ..:oO@@@@@@@@@@@@@@@o @@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. .o@@8O::. o8@@@@@@@@@@@O 8@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o :O@@@@@@@o. :O8@@@@@@@@8 o8@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@88OO888@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8888OOOOO8@@8888@@@@@O. .@@@@@@@@@:. :@@@@@@@@@. .O@");
$display("@@@@@@@@@@@@@@@@@@@@8o: O8@@@@@@@@@@@@@@@@@@@8OO:. .:: :8@@@@@@@@@. .O@@@@@@@o. o@");
$display("@@@@@@@@@@@@@@@@@@. o8@@@@@@@@@@@O:. .::oOOO8Oo:..::::.. o@@@@@@@@@@8: 8@@@@@@o. o@");
$display("@@@@@@@@@@@@@@@@: .@@@@@Oo. .:OO@@@@@@@@@@@@@@@@@@@@@@@@@o. O@@@@@@@@@@@@ o8@@@@@O. o@");
$display("@@@@@@@@@@@@@@: o88. ..O88@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@888O. .8@@@@@@@@@@@@ o8@@@@@: .O@");
$display("@@@@@@@@@@@@O: :o8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@: .8@@@@@@@@@@@8o 8@@@@@O O@@");
$display("@@@@@@@@@@@O. :8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o. :8@@@@@@@@@@8. .O@@@@o. :@@@");
$display("@@@@@@@@@@@: :O8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O: .o@@@@@@@@@8o .o@@@8:. .@@@@@");
$display("@@@@@@@@@@@. O8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O. .o8@@@@@@@@@@O :O@@8o: .O@@@@@@@");
$display("@@@@@@@@@@@. :O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O: o8@@@@@@@@8 oO@@@@@@@@@@");
$display("@@@@@@@@@@@: o@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. .@@@@@@@O. .:o8@@@@@@@@@@@@@");
$display("@@@@@@@@@@@8o 8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o :@@@@O o8@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@8. .O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@: .@@@8..:8@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@8: .o@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O. :8@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@8O. 8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ :@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@8o o@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o O@@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@O O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O :@@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@8 :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@: 8@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@8o :8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:.. .:o@@@@@@@@@@@@@@@@@@8. O@@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@8o :8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O. .:@@@@@@@@@@@@@@@@@: :O@@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@O. o@@@@@@@@@@@@@@@@@@@@@@8OOO8@@@@@@@@@@@@@@@@@@@@@@@@@@@8. .@@@@@@@@@@@@@@@@. .O@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@o. .@@@@@@@@@@@@@@@@@@@8:. :8@@@@@@@@@@@@@@@@@@@@@@@@8. o8@@@@@@@@@@@@@o. .:@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@o. :@@@@@@@@@@@@@@@@@O .@@@@@@@@@@@@@@@@@@@@@@@@@: .8@@@@@@@@@@@@O. :@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@O. .@@@@@@@@@@@@@@@@: .8@@@@@@@@@@@@@@@@@@@@@@@@O: o@@@@@@@@@@@@O: .@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@O. .@@@@@@@@@@@@@@8: 8@@@@@@@@@@@@@@@@@@@@@@@@@@. o@@@@@@@@@@@@O: .@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@O. .@@@@@@@@@@@@@o. 8@@@@@@@@@@@@@@@@@@@@@@@@@@8o .8@@@@@@@@@@@@O. .@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@8: .@@@@@@@@@@@@@ :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8:. O8@@@@@@@@@@@@@@o. :@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@o 8@@@@@@@@@@@@. :8@@@@@@@@@ :8@@@@@@@@@@@8OoooO@@@@@@@@@@@@@@@@@@. .o@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@88O: O@@@@@@@@@@@@O: .@@@@@@@@O .8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8 :8@@@@@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@O:. :O8@@@@@@@@@@8o :O@@@@@@@8: :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8: :o@@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@o ..:8@@@@@@@@@8o:::.:O8@@@@@@@@@@@8. :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O:. o@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@8o :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:. .o@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8 o8@@@@@@@@@@@@@@@");
$display("8OOOooooOOoo:. :OOOOOOOOOO8888OOOOOOOOOOOoo:ooOOOo: .OOOOOOOOOO888OOooOO888OOOOOooO8: .:OOOOOOOOOOO88@@");
$display(" . ");
$display("@@@@@@@@@@@@@@8o .8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8 :8@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@8O. o8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8o .@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@::. :O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O.. .:8@@@@@@@@@@@@@@@@@@");
$display("@@@@@@@@@@@@@@@@@@@@@@@@@88O8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@88@@@@@@@@@@@@@@@@@@@@@@@@@@");
#(100);
$finish;
end endtask
task YOU_PASS_task;begin
$display(" \033[33m`- ");
$display(" /NN. ");
$display(" sMMM+ ");
$display(" .`` sMMMMy ");
$display(" oNNmhs+:-` oMMMMMh ");
$display(" /mMMMMMNNd/:-` :+smMMMh ");
$display(" .sNMMMMMN::://:-` .o--:sNMy ");
$display(" -yNMMMM:----::/:-. o:----/mo ");
$display(" -yNMMo--------://:. -+------+/ ");
$display(" .omd/::--------://:` o-------o. ");
$display(" `/+o+//::-------:+:` .+-------y ");
$display(" .:+++//::------:+/.---------.` +:------/+ ");
$display(" `-/+++/::----:/:::::::::::://:-. o------:s. \033[37m:::::----. -::::. `-:////:-` `.:////:-. \033[33m");
$display(" `.:///+/------------------:::/:- `o-----:/o \033[37m.NNNNNNNNNNds- -NNNNNd` -smNMMMMMMNy .smNNMMMMMNh \033[33m");
$display(" :+:----------------------::/:s-----/s. \033[37m.MMMMo++sdMMMN- `mMMmMMMs -NMMMh+///oys `mMMMdo///oyy \033[33m");
$display(" :/---------------------------:++:--/++ \033[37m.MMMM. `mMMMy yMMM:dMMM/ +MMMM: ` :MMMM+` ` \033[33m");
$display(" :/---///:-----------------------::-/+o` \033[37m.MMMM. -NMMMo +MMMs -NMMm. .mMMMNdo:. `dMMMNds/-` \033[33m");
$display(" -+--/dNs-o/------------------------:+o` \033[37m.MMMMyyyhNMMNy` -NMMm` sMMMh .odNMMMMNd+` `+dNMMMMNdo. \033[33m");
$display(" .o---yMMdsdo------------------------:s` \033[37m.MMMMNmmmdho- `dMMMdooosMMMM+ `./sdNMMMd. `.:ohNMMMm- \033[33m");
$display(" -yo:--/hmmds:----------------//:------o \033[37m.MMMM:...` sMMMMMMMMMMMMMN- `` `:MMMM+ `` -NMMMs \033[33m");
$display(" /yssy----:::-------o+-------/h/-hy:---:+ \033[37m.MMMM. /MMMN:------hMMMd` +dy+:::/yMMMN- :my+:::/sMMMM/ \033[33m");
$display(" :ysssh:------//////++/-------sMdyNMo---o. \033[37m.MMMM. .mMMMs .NMMMs /NMMMMMMMMmh: -NMMMMMMMMNh/ \033[33m");
$display(" ossssh:-------ddddmmmds/:----:hmNNh:---o \033[37m`::::` .::::` -:::: `-:/++++/-. .:/++++/-. \033[33m");
$display(" /yssyo--------dhhyyhhdmmhy+:---://----+- ");
$display(" `yss+---------hoo++oosydms----------::s `.....-. ");
$display(" :+-----------y+++++++oho--------:+sssy.://:::://+o. ");
$display(" //----------y++++++os/--------+yssssy/:--------:/s- ");
$display(" `..:::::s+//:::----+s+++ooo:--------+yssssy:-----------++ ");
$display(" `://::------::///+/:--+soo+:----------ssssys/---------:o+s.`` ");
$display(" .+:----------------/++/:---------------:sys+----------:o/////////::::-...` ");
$display(" o---------------------oo::----------::/+//---------::o+--------------:/ohdhyo/-.`` ");
$display(" o---------------------/s+////:----:://:---------::/+h/------------------:oNMMMMNmhs+:.` ");
$display(" -+:::::--------------:s+-:::-----------------:://++:s--::------------::://sMMMMMMMMMMNds/` ");
$display(" .+++/////////////+++s/:------------------:://+++- :+--////::------/ydmNNMMMMMMMMMMMMMMmo` ");
$display(" ./+oo+++oooo++/:---------------------:///++/- o--:///////::----sNMMMMMMMMMMMMMMMmo. ");
$display(" o::::::--------------------------:/+++:` .o--////////////:--+mMMMMMMMMMMMMmo` ");
$display(" :+--------------------------------/so. +:-:////+++++///++//+mMMMMMMMMMmo` ");
$display(" .s----------------------------------+: ````` `s--////o:.-:/+syddmNMMMMMMMMMmo` ");
$display(" o:----------------------------------s. :s+/////--//+o- `-:+shmNNMMMNs. ");
$display(" //-----------------------------------s` .s///:---:/+o. `-/+o. ");
$display(" .o------------------------------------o. y///+//:/+o` ");
$display(" o-------------------------------------:/ o+//s//+++` ");
$display(" //--------------------------------------s+/o+//s` ");
$display(" -+---------------------------------------:y++///s ");
$display(" o-----------------------------------------oo/+++o ");
$display(" `s-----------------------------------------:s `` ");
$display(" o-:::::------------------:::::-------------o. ");
$display(" .+//////////::::::://///////////////:::----o` ");
$display(" `:soo+///////////+++oooooo+/////////////:-// ");
$display(" -/os/--:++/+ooo:::---..:://+ooooo++///////++so-` ");
$display(" syyooo+o++//::- ``-::/yoooo+/:::+s/. ");
$display(" `..`` `-::::///:++sys: ");
$display(" `.:::/o+ \033[37m ");
$display ("--------------------------------------------------------------------------------------------------------------------------------------------");
$display (" Congratulations! ");
$display (" You have passed all patterns! ");
$display (" Your total latency = %.1f ns ", count*CYCLE);
$display ("--------------------------------------------------------------------------------------------------------------------------------------------");
#(100);
$finish;
end endtask
task fail; begin
$display("\033[33m .: ");
$display(" .: ");
$display(" --` ");
$display(" `--` ");
$display(" `-. -.. .-//- ");
$display(" `.:.` -.- `:+yhddddo. ");
$display(" `-:-` ` .-.` -ohdddddddddh: ");
$display(" `---` `.://:-. :`- `:ydddddhhsshdddh- \033[31m.yhhhhhhhhhs /yyyyy` .yhhy` +yhyo \033[33m");
$display(" `--. ./////:-::` `-.--yddddhs+//::/hdddy` \033[31m-MMMMNNNNNNh -NMMMMMs .MMMM. sMMMh \033[33m");
$display(" .-.. ////:-..-// :.:oddddho:----:::+dddd+ \033[31m-MMMM-...... `dMMmhMMM/ .MMMM. sMMMh \033[33m");
$display(" `-.-` ///::::/::/:/`odddho:-------:::sdddh` \033[31m-MMMM. sMMM/.NMMN. .MMMM. sMMMh \033[33m");
$display(" `:/+++//:--.`` .--..+----::://o:`osss/-.--------::/dddd/ ..` \033[31m-MMMMysssss. /MMMh oMMMh .MMMM. sMMMh \033[33m");
$display(" oddddddddddhhhyo///.-/:-::--//+o-`:``````...------::dddds `.-.` \033[31m-MMMMMMMMMM- .NMMN-``.mMMM+ .MMMM. sMMMh \033[33m");
$display(" .ddddhhhhhddddddddddo.//::--:///+/`.````````..``...-:ddddh `.-.` \033[31m-MMMM:.....` `hMMMMmmmmNMMMN- .MMMM. sMMMh \033[33m");
$display(" /dddd//::///+syhhdy+:-`-/--/////+o```````.-.......``./yddd` `.--.` \033[31m-MMMM. oMMMmhhhhhhdMMMd` .MMMM. sMMMh``````` \033[33m");
$display(" /dddd:/------:://-.`````-/+////+o:`````..`` `.-.``./ym.`..--` \033[31m-MMMM. :NMMM: .NMMMs .MMMM. sMMMNmmmmmms \033[33m");
$display(" :dddd//--------.`````````.:/+++/.`````.` `.- `-:.``.o:---` \033[31m.dddd` yddds /dddh. .dddd` +ddddddddddo \033[33m");
$display(" .ddddo/-----..`........`````..```````.. .-o` `:.`.--/- ``````````` \033[31m ```` ```` ```` ```` `````````` \033[33m");
$display(" ydddh/:---..--.````.`.-.````````````- `yd: `:.`...:` `................` ");
$display(" :dddds:--..:. `.: .-``````````.: +ys :-````.:...```````````````..` ");
$display(" sdddds:.`/` ``s. `-`````````-/. .sy` .:.``````-`````..-.-:-.````..`- ");
$display(" `ydddd-`.: `sh+ /:``````````..`` +y` `.--````````-..---..``.+::-.-``--: ");
$display(" .yddh``-. oys` /.``````````````.-:.`.-..`..```````/--.` /:::-:..--` ");
$display(" .sdo``:` .sy. .:``````````````````````````.:```...+.`` -::::-`.` ");
$display(" ````.........```.++``-:` :y:.-``````````````....``.......-.```..::::----.``` `` ");
$display("`...````..`....----:.``...```` ``::.``````.-:/+oosssyyy:`.yyh-..`````.:` ````...-----..` ");
$display(" `.+.``````........````.:+syhdddddddddddhoyddh.``````-- `..--.` ");
$display(" ``.....--```````.```````.../ddddddhhyyyyyyyhhhddds````.--` ```` `` ");
$display(" `.-..``````-.`````.-.`.../ss/.oddhhyssssooooooossyyd:``.-:. `-//::/++/:::.` ");
$display(" `..```````...-::`````.-....+hddhhhyssoo+++//////++osss.-:-. /++++o++//s+++/ ");
$display(" `-.```````-:-....-/-``````````:hddhsso++/////////////+oo+:` +++::/o:::s+::o \033[31m `-/++++:-` \033[33m");
$display(" `:````````./` `.----:..````````.oysso+///////////////++:::. :++//+++/+++/+- \033[31m :ymMMMMMMMMms- \033[33m");
$display(" :.`-`..```./.`----.` .----..`````-oo+////////////////o:-.`-. `+++++++++++/. \033[31m `yMMMNho++odMMMNo \033[33m");
$display(" ..`:..-.`.-:-::.` `..-:::::--/+++////////////++:-.```-` +++++++++o: \033[31m hMMMm- /MMMMo .ssss`/yh+.syyyyyyyyss. \033[33m");
$display(" `.-::-:..-:-.` ```.+::/++//++++++++:..``````:` -++++++++oo \033[31m:MMMM: yMMMN -MMMMdMNNs-mNNNNNMMMMd` \033[33m");
$display(" ` `--` /``...-::///::-.`````````.: `......` ++++++++oy- \033[31m+MMMM` +MMMN` -MMMMh:--. ````:mMMNs` \033[33m");
$display(" --` /`````````````````````````/-.``````.::-::::::/+ \033[31m:MMMM: yMMMm -MMMM` `oNMMd: \033[33m");
$display(" .` :```````````````````````--.`````````..````.``/- \033[31m dMMMm:` `+MMMN/ -MMMN :dMMNs` \033[33m");
$display(" :``````````````````````-.``.....````.```-::-.+ \033[31m `yNMMMdsooymMMMm/ -MMMN `sMMMMy/////` \033[33m");
$display(" :.````````````````````````-:::-::.`````-:::::+::-.` \033[31m -smNMMMMMNNd+` -NNNN hNNNNNNNNNNN- \033[33m");
$display(" `......../```````````````````````-:/: `--.```.://.o++++++/. \033[31m .:///:-` `---- ------------` \033[33m");
$display(" `:.``````````````````````````````.-:-` `/````..`+sssso++++: ");
$display(" :`````.---...`````````````````.--:-` :-````./ysoooss++++. ");
$display(" -.````-:/.`.--:--....````...--:/-` /-..-+oo+++++o++++. ");
$display(" `:++/:.` -.```.:: `.--:::::://:::::. -:/o++++++++s++++ ");
$display(" `-+++++++++////:::/-.:.```.:-.` :::::-.-` -+++++++o++++. ");
$display(" /++osoooo+++++++++:`````````.-::. .::::.`-.` `/oooo+++++. ");
$display(" ++oysssosyssssooo/.........---::: -:::.``.....` `.:/+++++++++: ");
$display(" -+syoooyssssssyo/::/+++++/+::::-` -::.``````....../++++++++++:` ");
$display(" .:///-....---.-..-.----..` `.--.``````````++++++/:. ");
$display(" `........-:+/:-.` \033[37m ");
$display ("--------------------------------------------------------------------------------------------------------------------------------------------");
$display (" FAIL ");
$display ("--------------------------------------------------------------------------------------------------------------------------------------------");
#(100);
$finish;
end endtask