-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathRV32I-modded-logisim.circ
5153 lines (5153 loc) · 239 KB
/
RV32I-modded-logisim.circ
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
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project source="2.7.1" version="1.0">
This file is intended to be loaded by Logisim (http://www.cburch.com/logisim/).
<lib desc="#Wiring" name="0">
<tool name="Splitter">
<a name="facing" val="south"/>
</tool>
<tool name="Probe">
<a name="facing" val="west"/>
</tool>
<tool name="Tunnel">
<a name="facing" val="east"/>
</tool>
<tool name="Clock">
<a name="facing" val="west"/>
</tool>
<tool name="Constant">
<a name="width" val="2"/>
<a name="value" val="0x3"/>
</tool>
<tool name="Ground">
<a name="facing" val="west"/>
</tool>
<tool name="Transistor">
<a name="type" val="n"/>
<a name="width" val="32"/>
</tool>
</lib>
<lib desc="#Gates" name="1"/>
<lib desc="#Plexers" name="2">
<tool name="Multiplexer">
<a name="selloc" val="tr"/>
</tool>
</lib>
<lib desc="#Arithmetic" name="3"/>
<lib desc="#Memory" name="4">
<tool name="ROM">
<a name="contents">addr/data: 8 8
0
</a>
</tool>
</lib>
<lib desc="#I/O" name="5"/>
<lib desc="#Base" name="6">
<tool name="Text Tool">
<a name="text" val=""/>
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="center"/>
<a name="valign" val="base"/>
</tool>
</lib>
<main name="main"/>
<options>
<a name="gateUndefined" val="ignore"/>
<a name="simlimit" val="1000"/>
<a name="simrand" val="0"/>
</options>
<mappings>
<tool lib="6" map="Button2" name="Menu Tool"/>
<tool lib="6" map="Button3" name="Menu Tool"/>
<tool lib="6" map="Ctrl Button1" name="Menu Tool"/>
</mappings>
<toolbar>
<tool lib="6" name="Poke Tool"/>
<tool lib="6" name="Edit Tool"/>
<tool lib="6" name="Text Tool">
<a name="text" val=""/>
<a name="font" val="SansSerif plain 12"/>
<a name="halign" val="center"/>
<a name="valign" val="base"/>
</tool>
<sep/>
<tool lib="0" name="Pin">
<a name="tristate" val="false"/>
</tool>
<tool lib="0" name="Pin">
<a name="facing" val="west"/>
<a name="output" val="true"/>
<a name="labelloc" val="east"/>
</tool>
<tool lib="1" name="NOT Gate">
<a name="size" val="20"/>
</tool>
<tool lib="1" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</tool>
<tool lib="1" name="OR Gate"/>
</toolbar>
<circuit name="main">
<a name="circuit" val="main"/>
<a name="clabel" val=""/>
<a name="clabelup" val="east"/>
<a name="clabelfont" val="SansSerif plain 12"/>
<wire from="(650,730)" to="(650,740)"/>
<wire from="(770,610)" to="(770,620)"/>
<wire from="(730,470)" to="(730,610)"/>
<wire from="(270,200)" to="(640,200)"/>
<wire from="(960,240)" to="(960,270)"/>
<wire from="(1020,230)" to="(1060,230)"/>
<wire from="(250,810)" to="(350,810)"/>
<wire from="(1070,590)" to="(1070,600)"/>
<wire from="(630,630)" to="(630,650)"/>
<wire from="(510,490)" to="(510,650)"/>
<wire from="(620,640)" to="(650,640)"/>
<wire from="(910,610)" to="(940,610)"/>
<wire from="(370,570)" to="(380,570)"/>
<wire from="(1150,460)" to="(1170,460)"/>
<wire from="(620,420)" to="(630,420)"/>
<wire from="(630,750)" to="(640,750)"/>
<wire from="(950,440)" to="(1000,440)"/>
<wire from="(690,480)" to="(690,620)"/>
<wire from="(630,680)" to="(680,680)"/>
<wire from="(140,190)" to="(190,190)"/>
<wire from="(540,860)" to="(540,930)"/>
<wire from="(400,610)" to="(400,630)"/>
<wire from="(350,810)" to="(1100,810)"/>
<wire from="(410,650)" to="(410,730)"/>
<wire from="(140,190)" to="(140,210)"/>
<wire from="(490,490)" to="(490,570)"/>
<wire from="(680,680)" to="(680,760)"/>
<wire from="(270,200)" to="(270,480)"/>
<wire from="(630,680)" to="(630,700)"/>
<wire from="(610,420)" to="(610,440)"/>
<wire from="(1010,140)" to="(1250,140)"/>
<wire from="(170,560)" to="(200,560)"/>
<wire from="(1290,180)" to="(1300,180)"/>
<wire from="(620,690)" to="(650,690)"/>
<wire from="(130,450)" to="(130,560)"/>
<wire from="(530,430)" to="(620,430)"/>
<wire from="(600,440)" to="(600,560)"/>
<wire from="(70,620)" to="(150,620)"/>
<wire from="(1000,370)" to="(1010,370)"/>
<wire from="(890,580)" to="(900,580)"/>
<wire from="(670,760)" to="(680,760)"/>
<wire from="(660,430)" to="(670,430)"/>
<wire from="(530,860)" to="(540,860)"/>
<wire from="(200,760)" to="(200,890)"/>
<wire from="(770,470)" to="(770,480)"/>
<wire from="(320,450)" to="(320,520)"/>
<wire from="(1010,450)" to="(1010,580)"/>
<wire from="(1000,440)" to="(1000,570)"/>
<wire from="(290,470)" to="(290,480)"/>
<wire from="(410,730)" to="(530,730)"/>
<wire from="(1020,230)" to="(1020,580)"/>
<wire from="(200,540)" to="(200,560)"/>
<wire from="(1000,440)" to="(1170,440)"/>
<wire from="(1060,520)" to="(1060,530)"/>
<wire from="(140,160)" to="(140,190)"/>
<wire from="(840,570)" to="(860,570)"/>
<wire from="(460,580)" to="(490,580)"/>
<wire from="(610,580)" to="(630,580)"/>
<wire from="(1250,190)" to="(1260,190)"/>
<wire from="(270,480)" to="(290,480)"/>
<wire from="(140,160)" to="(290,160)"/>
<wire from="(600,560)" to="(630,560)"/>
<wire from="(910,470)" to="(940,470)"/>
<wire from="(520,490)" to="(520,610)"/>
<wire from="(480,860)" to="(490,860)"/>
<wire from="(310,450)" to="(320,450)"/>
<wire from="(200,890)" to="(600,890)"/>
<wire from="(480,490)" to="(480,860)"/>
<wire from="(1170,230)" to="(1170,270)"/>
<wire from="(270,770)" to="(470,770)"/>
<wire from="(540,820)" to="(1000,820)"/>
<wire from="(920,300)" to="(920,350)"/>
<wire from="(790,510)" to="(870,510)"/>
<wire from="(560,780)" to="(570,780)"/>
<wire from="(540,840)" to="(550,840)"/>
<wire from="(920,350)" to="(920,360)"/>
<wire from="(1050,240)" to="(1050,260)"/>
<wire from="(190,450)" to="(190,520)"/>
<wire from="(220,610)" to="(220,620)"/>
<wire from="(700,240)" to="(700,310)"/>
<wire from="(400,610)" to="(520,610)"/>
<wire from="(1070,180)" to="(1070,210)"/>
<wire from="(500,160)" to="(940,160)"/>
<wire from="(650,730)" to="(690,730)"/>
<wire from="(530,670)" to="(640,670)"/>
<wire from="(690,630)" to="(690,710)"/>
<wire from="(1010,200)" to="(1010,220)"/>
<wire from="(690,200)" to="(690,220)"/>
<wire from="(490,570)" to="(530,570)"/>
<wire from="(1010,450)" to="(1100,450)"/>
<wire from="(950,380)" to="(950,440)"/>
<wire from="(1300,180)" to="(1300,410)"/>
<wire from="(340,590)" to="(420,590)"/>
<wire from="(500,490)" to="(500,540)"/>
<wire from="(670,520)" to="(750,520)"/>
<wire from="(690,620)" to="(770,620)"/>
<wire from="(890,440)" to="(900,440)"/>
<wire from="(370,540)" to="(500,540)"/>
<wire from="(1110,570)" to="(1110,680)"/>
<wire from="(350,740)" to="(350,810)"/>
<wire from="(620,420)" to="(620,430)"/>
<wire from="(640,200)" to="(690,200)"/>
<wire from="(220,740)" to="(220,750)"/>
<wire from="(870,980)" to="(930,980)"/>
<wire from="(680,590)" to="(680,660)"/>
<wire from="(530,730)" to="(530,760)"/>
<wire from="(240,440)" to="(240,460)"/>
<wire from="(1180,420)" to="(1180,430)"/>
<wire from="(1040,680)" to="(1040,690)"/>
<wire from="(540,820)" to="(540,840)"/>
<wire from="(840,430)" to="(860,430)"/>
<wire from="(690,310)" to="(690,480)"/>
<wire from="(960,270)" to="(1170,270)"/>
<wire from="(630,750)" to="(630,790)"/>
<wire from="(930,440)" to="(950,440)"/>
<wire from="(610,440)" to="(630,440)"/>
<wire from="(330,760)" to="(490,760)"/>
<wire from="(680,590)" to="(700,590)"/>
<wire from="(1090,210)" to="(1100,210)"/>
<wire from="(670,570)" to="(700,570)"/>
<wire from="(400,630)" to="(420,630)"/>
<wire from="(1210,450)" to="(1210,510)"/>
<wire from="(410,650)" to="(420,650)"/>
<wire from="(530,440)" to="(600,440)"/>
<wire from="(1000,570)" to="(1000,820)"/>
<wire from="(340,540)" to="(340,590)"/>
<wire from="(150,620)" to="(220,620)"/>
<wire from="(790,370)" to="(870,370)"/>
<wire from="(540,860)" to="(550,860)"/>
<wire from="(340,650)" to="(410,650)"/>
<wire from="(870,510)" to="(870,560)"/>
<wire from="(690,300)" to="(690,310)"/>
<wire from="(1010,220)" to="(1060,220)"/>
<wire from="(910,600)" to="(910,610)"/>
<wire from="(610,440)" to="(610,580)"/>
<wire from="(630,630)" to="(690,630)"/>
<wire from="(270,760)" to="(270,770)"/>
<wire from="(1110,480)" to="(1110,510)"/>
<wire from="(530,710)" to="(570,710)"/>
<wire from="(370,540)" to="(370,570)"/>
<wire from="(600,850)" to="(600,890)"/>
<wire from="(1200,450)" to="(1210,450)"/>
<wire from="(1250,180)" to="(1260,180)"/>
<wire from="(190,450)" to="(280,450)"/>
<wire from="(670,710)" to="(690,710)"/>
<wire from="(1100,510)" to="(1110,510)"/>
<wire from="(1130,460)" to="(1140,460)"/>
<wire from="(1050,260)" to="(1250,260)"/>
<wire from="(260,460)" to="(280,460)"/>
<wire from="(610,720)" to="(640,720)"/>
<wire from="(320,450)" to="(330,450)"/>
<wire from="(1140,450)" to="(1170,450)"/>
<wire from="(1010,140)" to="(1010,200)"/>
<wire from="(1030,190)" to="(1100,190)"/>
<wire from="(950,360)" to="(960,360)"/>
<wire from="(630,790)" to="(1220,790)"/>
<wire from="(670,520)" to="(670,570)"/>
<wire from="(340,590)" to="(340,650)"/>
<wire from="(200,720)" to="(270,720)"/>
<wire from="(1010,580)" to="(1020,580)"/>
<wire from="(1250,140)" to="(1250,180)"/>
<wire from="(670,380)" to="(750,380)"/>
<wire from="(690,480)" to="(770,480)"/>
<wire from="(1090,570)" to="(1110,570)"/>
<wire from="(270,720)" to="(330,720)"/>
<wire from="(230,610)" to="(230,620)"/>
<wire from="(1000,570)" to="(1060,570)"/>
<wire from="(1030,360)" to="(1090,360)"/>
<wire from="(220,200)" to="(270,200)"/>
<wire from="(530,760)" to="(570,760)"/>
<wire from="(1090,670)" to="(1090,680)"/>
<wire from="(1090,350)" to="(1090,360)"/>
<wire from="(530,670)" to="(530,710)"/>
<wire from="(200,560)" to="(200,720)"/>
<wire from="(680,450)" to="(700,450)"/>
<wire from="(670,430)" to="(700,430)"/>
<wire from="(610,770)" to="(640,770)"/>
<wire from="(920,360)" to="(950,360)"/>
<wire from="(460,640)" to="(470,640)"/>
<wire from="(1100,710)" to="(1100,810)"/>
<wire from="(940,160)" to="(940,470)"/>
<wire from="(690,310)" to="(700,310)"/>
<wire from="(590,850)" to="(600,850)"/>
<wire from="(870,370)" to="(870,420)"/>
<wire from="(630,650)" to="(640,650)"/>
<wire from="(940,470)" to="(940,610)"/>
<wire from="(910,610)" to="(910,940)"/>
<wire from="(640,410)" to="(640,550)"/>
<wire from="(470,640)" to="(470,770)"/>
<wire from="(680,450)" to="(680,590)"/>
<wire from="(910,460)" to="(910,470)"/>
<wire from="(730,340)" to="(730,470)"/>
<wire from="(1110,510)" to="(1150,510)"/>
<wire from="(250,610)" to="(250,810)"/>
<wire from="(260,610)" to="(260,620)"/>
<wire from="(530,730)" to="(570,730)"/>
<wire from="(1250,190)" to="(1250,260)"/>
<wire from="(1020,580)" to="(1060,580)"/>
<wire from="(1010,220)" to="(1010,370)"/>
<wire from="(640,200)" to="(640,410)"/>
<wire from="(240,440)" to="(280,440)"/>
<wire from="(1140,450)" to="(1140,460)"/>
<wire from="(110,160)" to="(140,160)"/>
<wire from="(1150,460)" to="(1150,510)"/>
<wire from="(1240,190)" to="(1250,190)"/>
<wire from="(1050,240)" to="(1060,240)"/>
<wire from="(1080,670)" to="(1090,670)"/>
<wire from="(1220,540)" to="(1220,790)"/>
<wire from="(1230,410)" to="(1300,410)"/>
<wire from="(150,580)" to="(150,620)"/>
<wire from="(490,580)" to="(490,760)"/>
<wire from="(140,210)" to="(150,210)"/>
<wire from="(1230,410)" to="(1230,510)"/>
<wire from="(700,240)" to="(960,240)"/>
<wire from="(670,380)" to="(670,430)"/>
<wire from="(950,380)" to="(960,380)"/>
<wire from="(530,420)" to="(610,420)"/>
<wire from="(240,460)" to="(240,580)"/>
<wire from="(670,660)" to="(680,660)"/>
<wire from="(660,570)" to="(670,570)"/>
<wire from="(930,580)" to="(1010,580)"/>
<wire from="(630,700)" to="(640,700)"/>
<comp lib="0" loc="(540,930)" name="Tunnel">
<a name="facing" val="north"/>
<a name="width" val="32"/>
<a name="label" val="Ii32b"/>
</comp>
<comp lib="0" loc="(830,970)" name="Constant">
<a name="width" val="7"/>
<a name="value" val="0x73"/>
</comp>
<comp lib="5" loc="(930,980)" name="ECall">
<a name="trigger" val="falling"/>
</comp>
<comp lib="1" loc="(410,160)" name="NOT Gate"/>
<comp lib="0" loc="(140,710)" name="Tunnel">
<a name="label" val="AUIPC"/>
</comp>
<comp lib="0" loc="(140,690)" name="Tunnel">
<a name="label" val="JAL"/>
</comp>
<comp lib="0" loc="(750,500)" name="Constant">
<a name="width" val="5"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="1" loc="(1100,710)" name="AND Gate">
<a name="facing" val="south"/>
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(520,650)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="12"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="2" loc="(1130,460)" name="Multiplexer">
<a name="width" val="32"/>
</comp>
<comp loc="(1090,210)" name="data in stapler"/>
<comp lib="3" loc="(870,980)" name="Comparator">
<a name="width" val="7"/>
<a name="mode" val="unsigned"/>
</comp>
<comp lib="0" loc="(140,670)" name="Tunnel">
<a name="label" val="JALR"/>
</comp>
<comp lib="0" loc="(1270,170)" name="Tunnel">
<a name="facing" val="south"/>
<a name="width" val="3"/>
<a name="label" val="funct3"/>
</comp>
<comp lib="0" loc="(420,570)" name="Bit Extender">
<a name="in_width" val="13"/>
<a name="out_width" val="32"/>
<a name="type" val="sign"/>
</comp>
<comp lib="0" loc="(310,520)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="6"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="0" loc="(330,520)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="2"/>
<a name="value" val="0x0"/>
</comp>
<comp lib="3" loc="(1080,670)" name="Comparator">
<a name="width" val="7"/>
<a name="mode" val="unsigned"/>
</comp>
<comp lib="6" loc="(469,908)" name="Text">
<a name="text" val="rs1 + sign extended I-immediate for JALR instruction"/>
</comp>
<comp lib="0" loc="(620,640)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="LUI"/>
</comp>
<comp loc="(1090,570)" name="branch evaluator"/>
<comp lib="3" loc="(1100,510)" name="Comparator">
<a name="width" val="7"/>
<a name="mode" val="unsigned"/>
</comp>
<comp lib="0" loc="(950,360)" name="Pull Resistor"/>
<comp lib="0" loc="(570,570)" name="Bit Extender">
<a name="in_width" val="12"/>
<a name="out_width" val="32"/>
</comp>
<comp lib="0" loc="(290,740)" name="Tunnel">
<a name="label" val="JAL"/>
</comp>
<comp lib="1" loc="(240,580)" name="OR Gate">
<a name="facing" val="north"/>
<a name="size" val="30"/>
<a name="inputs" val="4"/>
</comp>
<comp lib="0" loc="(200,720)" name="Transistor">
<a name="type" val="n"/>
<a name="facing" val="north"/>
<a name="gate" val="br"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(1070,600)" name="Tunnel">
<a name="facing" val="north"/>
<a name="width" val="3"/>
<a name="label" val="funct3"/>
</comp>
<comp lib="0" loc="(260,620)" name="Tunnel">
<a name="label" val="JALR"/>
</comp>
<comp lib="4" loc="(840,430)" name="RAM">
<a name="addrWidth" val="5"/>
<a name="dataWidth" val="32"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="2" loc="(890,580)" name="Multiplexer">
<a name="selloc" val="tr"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(880,300)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Ii32b"/>
</comp>
<comp lib="3" loc="(610,770)" name="Adder">
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(1040,660)" name="Constant">
<a name="width" val="7"/>
<a name="value" val="0x63"/>
</comp>
<comp loc="(140,670)" name="LUI/AUIPC/JAL/JALR"/>
<comp lib="6" loc="(431,151)" name="Text">
<a name="text" val="control state A"/>
</comp>
<comp lib="0" loc="(900,280)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="ld"/>
</comp>
<comp lib="1" loc="(380,160)" name="NOT Gate"/>
<comp lib="1" loc="(220,200)" name="AND Gate">
<a name="size" val="30"/>
<a name="inputs" val="2"/>
</comp>
<comp lib="0" loc="(170,560)" name="Transistor">
<a name="type" val="n"/>
<a name="gate" val="br"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(530,860)" name="Bit Extender">
<a name="in_width" val="12"/>
<a name="out_width" val="32"/>
<a name="type" val="sign"/>
</comp>
<comp lib="1" loc="(690,280)" name="NOT Gate">
<a name="facing" val="south"/>
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(1100,470)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Ii32b"/>
</comp>
<comp lib="0" loc="(530,480)" name="Tunnel">
<a name="width" val="7"/>
<a name="label" val="funct7"/>
</comp>
<comp lib="0" loc="(140,750)" name="Tunnel">
<a name="label" val="ld"/>
</comp>
<comp lib="3" loc="(1000,370)" name="Adder">
<a name="width" val="32"/>
</comp>
<comp lib="3" loc="(790,370)" name="Comparator">
<a name="width" val="5"/>
<a name="mode" val="unsigned"/>
</comp>
<comp lib="0" loc="(1040,690)" name="Tunnel">
<a name="facing" val="north"/>
<a name="width" val="7"/>
<a name="label" val="opcode"/>
</comp>
<comp lib="0" loc="(790,610)" name="Power">
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(220,750)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="JALR"/>
</comp>
<comp lib="1" loc="(190,210)" name="NOT Gate">
<a name="size" val="20"/>
</comp>
<comp lib="4" loc="(1240,190)" name="RAM">
<a name="addrWidth" val="24"/>
<a name="dataWidth" val="32"/>
<a name="bus" val="separate"/>
</comp>
<comp lib="1" loc="(690,300)" name="NOT Gate">
<a name="facing" val="south"/>
<a name="size" val="20"/>
</comp>
<comp lib="1" loc="(500,160)" name="NOT Gate"/>
<comp lib="0" loc="(1130,230)" name="Tunnel">
<a name="facing" val="north"/>
<a name="label" val="st"/>
</comp>
<comp lib="3" loc="(460,580)" name="Adder">
<a name="width" val="32"/>
</comp>
<comp lib="1" loc="(320,160)" name="NOT Gate"/>
<comp lib="0" loc="(790,470)" name="Power">
<a name="facing" val="south"/>
</comp>
<comp lib="0" loc="(340,540)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="3"/>
<a name="incoming" val="32"/>
<a name="bit1" val="0"/>
<a name="bit2" val="1"/>
<a name="bit3" val="1"/>
<a name="bit4" val="1"/>
<a name="bit5" val="1"/>
<a name="bit6" val="1"/>
<a name="bit7" val="1"/>
<a name="bit8" val="1"/>
<a name="bit9" val="1"/>
<a name="bit10" val="1"/>
<a name="bit11" val="1"/>
<a name="bit12" val="1"/>
<a name="bit13" val="1"/>
<a name="bit14" val="1"/>
<a name="bit15" val="1"/>
<a name="bit16" val="1"/>
<a name="bit17" val="1"/>
<a name="bit18" val="1"/>
<a name="bit19" val="1"/>
<a name="bit20" val="1"/>
<a name="bit21" val="1"/>
<a name="bit22" val="1"/>
<a name="bit23" val="1"/>
<a name="bit24" val="1"/>
<a name="bit25" val="1"/>
<a name="bit26" val="2"/>
<a name="bit27" val="2"/>
<a name="bit28" val="2"/>
<a name="bit29" val="2"/>
<a name="bit30" val="2"/>
<a name="bit31" val="2"/>
</comp>
<comp lib="2" loc="(670,660)" name="Multiplexer">
<a name="selloc" val="tr"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(1060,530)" name="Tunnel">
<a name="facing" val="north"/>
<a name="width" val="7"/>
<a name="label" val="opcode"/>
</comp>
<comp lib="6" loc="(847,763)" name="Text">
<a name="text" val="JAL and JALR both write PC+4 to rd"/>
</comp>
<comp loc="(1290,180)" name="data out slicer"/>
<comp lib="0" loc="(900,330)" name="Tunnel">
<a name="facing" val="south"/>
<a name="label" val="st"/>
</comp>
<comp lib="0" loc="(140,730)" name="Tunnel">
<a name="label" val="LUI"/>
</comp>
<comp lib="0" loc="(880,350)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="32"/>
<a name="label" val="Si32b"/>
</comp>
<comp lib="6" loc="(1116,645)" name="Text">
<a name="text" val="branch is opcode 1100011"/>
</comp>
<comp loc="(1200,450)" name="ALU">
<a name="labelloc" val="east"/>
</comp>
<comp lib="1" loc="(440,160)" name="NOT Gate"/>
<comp lib="0" loc="(1090,350)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="32"/>
<a name="value" val="0x101cc"/>
</comp>
<comp lib="0" loc="(560,310)" name="Tunnel">
<a name="facing" val="east"/>
<a name="width" val="7"/>
<a name="label" val="opcode"/>
</comp>
<comp lib="2" loc="(1220,540)" name="Multiplexer">
<a name="facing" val="south"/>
<a name="selloc" val="tr"/>
<a name="width" val="32"/>
</comp>
<comp lib="0" loc="(1070,180)" name="Tunnel">
<a name="facing" val="south"/>
<a name="width" val="3"/>
<a name="label" val="funct3"/>
</comp>
<comp lib="0" loc="(570,570)" name="Tunnel">
<a name="width" val="32"/>
<a name="label" val="Si32b"/>
</comp>
<comp lib="0" loc="(130,450)" name="Constant">
<a name="facing" val="south"/>
<a name="width" val="32"/>
<a name="value" val="0x101cc"/>
</comp>
<comp lib="2" loc="(660,430)" name="Multiplexer">
<a name="selloc" val="tr"/>
<a name="width" val="5"/>
</comp>
<comp lib="1" loc="(690,260)" name="NOT Gate">
<a name="facing" val="south"/>
<a name="size" val="20"/>
</comp>
<comp lib="0" loc="(620,690)" name="Tunnel">
<a name="facing" val="east"/>
<a name="label" val="AUIPC"/>
</comp>
<comp lib="0" loc="(530,670)" name="Splitter">
<a name="facing" val="north"/>
<a name="incoming" val="32"/>
<a name="bit1" val="0"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="0"/>
<a name="bit5" val="0"/>
<a name="bit6" val="0"/>
<a name="bit7" val="0"/>
<a name="bit8" val="0"/>
<a name="bit9" val="0"/>
<a name="bit10" val="0"/>
<a name="bit11" val="0"/>
<a name="bit12" val="1"/>
<a name="bit13" val="1"/>
<a name="bit14" val="1"/>
<a name="bit15" val="1"/>
<a name="bit16" val="1"/>
<a name="bit17" val="1"/>
<a name="bit18" val="1"/>
<a name="bit19" val="1"/>
<a name="bit20" val="1"/>
<a name="bit21" val="1"/>
<a name="bit22" val="1"/>
<a name="bit23" val="1"/>
<a name="bit24" val="1"/>
<a name="bit25" val="1"/>
<a name="bit26" val="1"/>
<a name="bit27" val="1"/>
<a name="bit28" val="1"/>
<a name="bit29" val="1"/>
<a name="bit30" val="1"/>
<a name="bit31" val="1"/>
</comp>
<comp lib="0" loc="(560,310)" name="Splitter">
<a name="fanout" val="7"/>
<a name="incoming" val="7"/>
</comp>
<comp lib="0" loc="(500,410)" name="Tunnel">
<a name="facing" val="south"/>
<a name="width" val="7"/>
<a name="label" val="opcode"/>
</comp>
<comp lib="0" loc="(1240,520)" name="Tunnel">
<a name="label" val="ld"/>
</comp>
<comp lib="0" loc="(200,540)" name="Splitter">
<a name="facing" val="north"/>
<a name="fanout" val="1"/>
<a name="incoming" val="32"/>
<a name="bit0" val="none"/>
<a name="bit1" val="none"/>
<a name="bit2" val="0"/>
<a name="bit3" val="0"/>
<a name="bit4" val="0"/>
<a name="bit5" val="0"/>
<a name="bit6" val="0"/>
<a name="bit7" val="0"/>
<a name="bit8" val="0"/>
<a name="bit9" val="0"/>
<a name="bit10" val="0"/>
<a name="bit11" val="0"/>
<a name="bit12" val="0"/>
<a name="bit13" val="0"/>
<a name="bit14" val="0"/>
<a name="bit15" val="0"/>
<a name="bit16" val="0"/>
<a name="bit17" val="0"/>
<a name="bit18" val="0"/>
<a name="bit19" val="0"/>
<a name="bit20" val="0"/>
<a name="bit21" val="0"/>
<a name="bit22" val="0"/>
<a name="bit23" val="0"/>
<a name="bit24" val="0"/>
<a name="bit25" val="0"/>
<a name="bit26" val="none"/>
<a name="bit27" val="none"/>
<a name="bit28" val="none"/>
<a name="bit29" val="none"/>
<a name="bit30" val="none"/>
<a name="bit31" val="none"/>
</comp>
<comp lib="4" loc="(470,450)" name="ROM">
<a name="addrWidth" val="24"/>
<a name="dataWidth" val="32"/>
<a name="contents">addr/data: 24 32
16413*0 fd010113 2812423 2912223 3212023 1312e23 1412c23 1512a23
2112623 1612823 1712623 413 493 200993 300a93 100a13
3e800913 147793 a078c63 b47793 a078863 ffc40793 af9f863 140413
ff2412e3 2800513 7bd000ef 50b13 48513 4c9000ef 247b7 9c07aa03
50a93 b0493 413 229b7 a00913 40513 4a5000ef a0593
c1000ef a8593 464000ef 421000ef 50793 50593 f4a023 ff898513
140413 6e0010ef 448493 fd2414e3 2c12083 2812403 b0513 2412483
2012903 1c12983 1812a03 1412a83 1012b03 c12b83 3010113 8067
8484b3 f51ff06f 347793 f55788e3 40b93 b13 fffb8513 1c8000ef
ffeb8b93 ab0b33 ff7a48e3 ffcb0793 100713 fff78b13 78593 70513
fa5a63 51d000ef 50713 b0793 fe5ff06f e484b3 f05ff06f 14197
fdc18193 83018513 88c18613 40a60633 593 50c010ef 1517 d9c50513
551000ef 601000ef 12503 410593 613 e71ff0ef 54d0006f 8067
24537 247b7 9a450713 9a478793 e78c63 337 30313 30663
9a450513 30067 8067 247b7 24537 9a478593 9a450793 40f585b3
4025d593 1f5d793 b785b3 4015d593 58c63 337 30313 30663
9a450513 30067 8067 8441c703 4071663 ff010113 812423 112623
78413 f7dff0ef 7b7 78793 78a63 23537 d1450513 ffff0097
d54080e7 100793 84f18223 c12083 812403 1010113 8067 8067
7b7 78793 2078463 23537 ff010113 84818593 d1450513 112623
ffff0097 d10080e7 c12083 1010113 f3dff06f 100793 4a7d263 ff010113
912223 50593 112623 812423 100513 100493 fff58413 3a5000ef
40593 fe941ae3 c12083 812403 412483 1010113 8067 100513
8067 fa010113 4112e23 4812c23 4912a23 5212823 5312623 5412423
5512223 5612023 3712e23 3812c23 3912a23 3a12823 3b12623 100793
12623 1ea7d063 100d93 200793 1cf50463 ffe50793 f12e23 f12a23
12823 200a93 78713 70793 11b70a63 12423 13578a63 ffe78793
f12c23 f12023 12223 78b93 9b78c63 c13 d5b8263 ffeb8b93
b8993 b13 98913 5b98e63 a13 9590e63 ffe90913 90413
493 40d13 3b40063 c93 fffd0513 f31ff0ef ffed0d13 ac8cb3
ffadc8e3 1c8d13 fff40713 1a484b3 ffe40413 fcedc8e3 148493 9a0a33
fb2dcae3 1a0913 fff98793 12b0b33 ffe98993 f8fdcae3 1b0b13 16c0c33
f77dcce3 1c0b93 412683 12703 17686b3 fff70793 d12223 ffe70c93
2fdd463 1912023 c8793 f41ff06f 100493 ffea8913 fa5ff06f 100b13
ffea8b93 fb9ff06f 1812783 168d13 812703 1a70733 e12423 eefdcee3
170793 1012603 1412683 f607b3 f12823 fff68713 ffe68793 2edd063
f12a23 78713 ec5ff06f ffea8793 100d13 f12c23 fb9ff06f 1012783
178793 c12703 1c12503 f707b3 f12623 e6adcce3 5c12083 5812403
5412483 5012903 4c12983 4812a03 4412a83 4012b03 3c12b83 3812c03
3412c83 3012d03 2c12d83 178513 6010113 8067 100793 12e23
fa5ff06f c12783 fb1ff06f 8007b7 ff010113 fff78793 a7f733 812423
1212023 1755413 1f55913 175d513 b7f7b3 ff47413 ff57513 112623
912223 1f5d593 371613 379793 40a40733 18b91e63 ae05863 6051863
79c63 ff00793 4f40c63 60793 40513 bc0006f fff70713 2071e63
c787b3 40513 579713 a075263 150513 ff00713 32e50463 7e000737
17f693 fff70713 17d793 e7f7b3 d7e7b3 7c0006f ff00693 2d41063
60793 ff00513 680006f ff00693 fed408e3 40006b7 d7e7b3 1b00693
e6d663 100793 f99ff06f 2000693 40e686b3 e7d5b3 d797b3 f037b3
f5e7b3 f7dff06f 8070463 4041063 2060063 fff00693 d71663 c787b3
f69ff06f ff00693 fff74713 2d51a63 77f713 28070863 f7f713 400693
28d70263 478793 27c0006f ff00693 fed500e3 40006b7 40e00733 d66633
1b00693 e6d663 100713 1c0006f 2000693 e655b3 40e68733 e61733
e03733 e5e733 e787b3 efdff06f 140513 ff57693 100713 4d74063
2041863 513 f80604e3 20078663 c787b3 579713 f6075ce3 fc000737
fff70713 e7f7b3 100513 f65ff06f ee060ae3 16079463 ee9ff06f ff00713
1ee50063 f60733 175793 f45ff06f 8e05063 4051663 e60786e3 fff70713
2071463 40f607b3 40513 579713 f20750e3 40004b7 fff48493 97f4b3
50413 13c0006f ff00693 e8d40ae3 1b00693 2e6d063 100793 fc9ff06f
ff00693 e6d40ee3 40006b7 d7e7b3 fe1ff06f 2000693 e7d5b3 40e68733
e797b3 f037b3 f5e7b3 f99ff06f 6070e63 2041e63 58913 ea060ae3
fff00693 d71863 40c787b3 58913 f7dff06f ff00693 fff74713 e8d50ae3
1b00693 2e6d463 100713 380006f ff00693 58913 e6d50ce3 40006b7
40e00733 d66633 fd9ff06f 2000693 e65833 40e68733 e61733 e03733
e86733 40e787b3 fa5ff06f 140713 ff77713 100693 4e6ca63 2041c63
61863 12079e63 513 380006f 12078c63 40f60733 571693 40c787b3
1206c063 70793 6071663 793 fd9ff06f ea0610e3 10079c63 20007b7
ff00513 913 7c0006f 40f604b3 549713 4075463 40c784b3 58913
48513 620000ef ffb50513 a494b3 2854a63 40850533 150513 2000413
a4d7b3 40a40533 a494b3 9034b3 97e7b3 513 d99ff06f f80488e3
fc1ff06f fc0007b7 fff78793 40a40533 f4f7b3 d7dff06f 60793 d75ff06f
793 579713 75e63 150513 ff00713 8e50263 fc000737 fff70713
e7f7b3 ff00713 37d793 e51863 78663 4007b7 913 800737
fff70713 ff57513 e7f7b3 1751713 80800537 c12083 812403 fff50513
a7f533 1f91913 e56533 1256533 412483 12903 1010113 8067
58913 f51ff06f 60793 f49ff06f 58913 c71ff06f 793 f89ff06f
fd010113 2912223 3212023 8004b7 1755913 1312e23 1712623 fff48493
2112623 2812423 1412c23 1512a23 1612823 1812423 1912223 ff97913
58b93 a4f4b3 1f55993 8090863 ff00793 af90463 349493 40007b7
f4e4b3 f8190913 b13 17bd513 800437 fff40413 ff57513 1747433
1fbdb93 8050c63 ff00793 af50863 341413 40007b7 f46433 f8150513
693 2b1793 d7e7b3 a90933 fff78793 e00713 179ca33 190a93
8f76e63 22737 279793 ffc70713 e787b3 7a783 78067 2048a63
48513 440000ef ffb50793 f8a00913 f494b3 40a90933 f71ff06f ff00913
200b13 f60484e3 300b13 f61ff06f 913 100b13 f55ff06f 2040a63
40513 400000ef ffb50793 f41433 f8a00793 40a78533 f69ff06f ff00513
200693 f60400e3 300693 f59ff06f 513 100693 f4dff06f 10c37
fffc0b13 104db93 1045c93 164f4b3 1647433 40593 48513 384000ef
40593 50993 b8513 374000ef 50413 c8593 b8513 364000ef
50b93 48593 c8513 354000ef 850533 109d793 a78533 857463
18b8bb3 16577b3 1079793 169f9b3 13787b3 679413 803433 1a7d793
1055513 f467b3 1750433 641413 f46433 441793 e07d663 145793
147413 87e433 7fa8713 ee05063 747793 78a63 f47793 400693
d78463 440413 441793 7da63 f80007b7 fff78793 f47433 80a8713
fe00793 10e7c463 345793 300006f 98a13 48413 b0693 200793
ef68663 300793 cf68a63 100613 793 713 f8c698e3 800437
fff40413 80800537 87f7b3 fff50513 2c12083 2812403 ff77713 a7f7b3
1771713 1fa1513 e7e7b3 2412483 2012903 1c12983 1812a03 1412a83
1012b03 c12b83 812c03 412c83 a7e533 3010113 8067 b8a13
f7dff06f 90a93 f21ff06f 100793 40e787b3 1b00713 6f74063 9ea8a93
f457b3 1541433 803433 87e433 747793 78a63 f47793 400713
e78463 440413 541793 207ca63 345793 713 f45ff06f 4007b7
ff00713 a13 f35ff06f 793 ff00713 f29ff06f 793 fd9ff06f
793 100713 f15ff06f 800637 1755713 fff60793 ff77713 7e00593
a7f7b3 1f55693 4e5f663 9d00593 e5fa63 80000537 fff54513 a68533
8067 c7e533 9500793 e7dc63 f6a70713 e51533 2068063 40a00533
8067 9600793 40e78733 e55533 fe9ff06f 513 8067 ff010113
112623 812423 912223 10050263 50413 1f55493 55463 40a00433
40513 120000ef 9e00793 40a787b3 9600713 6f74063 800713 a75663
ff850513 a41433 800537 fff50513 ff7f793 a47433 1779513 808007b7
fff78793 f47433 800007b7 a46433 fff7c793 1f49513 f47433 a46533
c12083 812403 412483 1010113 8067 9900713 2f75063 500713
40a70733 1b50693 e45733 d41433 803433 876433 500713 a75663
ffb50713 e41433 fc000737 fff70713 747693 e47733 68a63 f47413
400693 d40463 470713 571693 6dc63 fc0007b7 fff78793 f77733
9f00793 40a787b3 375413 f3dff06f 413 793 493 f2dff06f
50613 513 15f693 68463 c50533 15d593 161613 fe0596e3
8067 107b7 2f57a63 ff00793 a7b7b3 379793 2000713 40f70733
f557b3 22537 3850513 a787b3 7c503 40a70533 8067 1000737
1000793 fce56ae3 1800793 fcdff06f 50593 693 613 513
3190206f ff010113 593 812423 112623 50413 37d020ef 8201a503
3c52783 78463 780e7 40513 5750b0ef ff010113 237b7 23737
812423 470713 878413 40e40433 912223 1212023 112623 40245413
493 878913 941e63 812403 c12083 412483 12903 1010113
a3cff06f ffc00593 48513 ef5ff0ef a90533 ffc52783 148493 780e7
fc9ff06f ff010113 812423 912223 23437 234b7 48793 40413
40f40433 1212023 112623 40245413 48493 913 4891263 234b7
9dcff0ef 23437 48793 440413 40f40433 40245413 48493 913
2891863 c12083 812403 412483 12903 1010113 8067 4a783
190913 448493 780e7 fadff06f 4a783 190913 448493 780e7
fc1ff06f 50593 8241a503 100006f 50593 8241a503 1980306f fd010113
2112623 2812423 2912223 3212023 1312e23 1412c23 1512a23 1612823
1712623 1812423 b58793 1600713 4f77463 ff87f493 404d263 c00793
f52023 513 2c12083 2812403 2412483 2012903 1c12983 1812a03
1412a83 1012b03 c12b83 812c03 3010113 8067 1000493 fcb4e0e3
50993 698000ef 23937 1f700793 43090913 497ea63 848713 e90733
472403 ff870693 34d793 d41863 c72403 278793 8870063 442783
c42703 842683 ffc7f793 f407b3 e6a623 d72423 47a703 176713
e7a223 a80006f 94d713 3f00793 70a63 400793 ae7e263 64d793
3878793 178713 371713 e90733 472403 ff870593 f00513 b40c63
442703 ffc77713 40970633 cc55063 fff78793 178793 1092403 235b7
890693 43858593 12d40863 442703 f00613 ffc77713 40970533 aa65a63
14e793 f42223 940633 c92a23 c92823 156793 d62623 d62423
f62223 e40733 a72023 98513 590000ef 840513 eb1ff06f 1400793
e7e663 5b70793 f5dff06f 5400793 e7e863 c4d793 6e78793 f49ff06f
15400793 e7e863 f4d793 7778793 f35ff06f 55400693 7e00793 f2e6e4e3
124d793 7c78793 f1dff06f c42683 64c63 842783 d7a623 f6a423
e407b3 ed5ff06f 68413 f11ff06f d92a23 d92823 54c63 e40733
472783 17e793 f72223 f61ff06f 1ff00693 492803 16e6e663 375713
40275613 100693 170713 c696b3 371713 e90733 106e6b3 d92223
72683 ff870613 c42623 d42423 872023 86a623 4027d713 100313
e31333 492703 6676a63 6776b3 69c63 ffc7f793 131313 6776b3
478793 fe068ae3 f00e13 379693 d906b3 68813 78513 c82403
1b041263 150513 357713 880813 fe0716e3 37f713 20071463 492703
fff34793 f777b3 f92223 492703 131313 676463 20031863 892b83
4ba403 ffc47a93 9ae863 409a8733 f00793 30e7ca63 8381a403 8281a703
fff00793 848433 1ef71463 1040413 40593 98513 478000ef fff00793
50b13 26f50863 15b87b3 f57463 272b9263 86018693 6a703 86018c13
e40733 e6a023 1d679063 1479693 1a069c63 892783 8a8433 146413
87a223 c2783 8341a683 f6f463 82f1aa23 8301a683 20f6fe63 82f1a823
2140006f 975613 400693 4c6e663 675693 3868693 168613 361613
c90633 ff860513 62603 8c51263 4026d693 100713 d716b3 106e6b3
d92223 a42623 c42423 852423 862623 e85ff06f 1400693 c6e663
5b60693 fb5ff06f 5400693 c6e863 c75693 6e68693 fa1ff06f 15400693
c6e863 f75693 7768693 f8dff06f 55400513 7e00693 f8c560e3 1275693
7c68693 f75ff06f 862603 c50863 462683 ffc6f693 fed768e3 c62503
f85ff06f 442703 c42603 ffc77713 409708b3 51e5063 14e793 f42223
842783 9406b3 e40733 c7a623 f62423 d92a23 d92823 18e793
b6a623 b6a423 f6a223 1172023 cddff06f 208c263 e40733 472783
17e793 f72223 842783 c7a623 f62423 cb9ff06f 60413 de5ff06f
ff868713 6a683 fff78793 dee684e3 dfdff06f 478793 131313 6776b3
fe068ae3 da9ff06f 50793 ff1ff06f 17b7 f78793 f40433 fffff7b7
f47433 e0dff06f 8281a603 fff00693 ad61663 8361a423 7b7593 58863
800793 40b785b3 bb0b33 17b7 f585b3 8b0433 fff78793 f47433
40858a33 a0593 98513 244000ef fff00793 f51663 b0513 a13
c2783 41650533 1692423 14787b3 1450a33 1a6a13 fc2023 14b2223
df2b82e3 f00713 5576263 100793 fb2223 892783 47a783 ffc7f793
40978733 97e663 f00793 4e7ce63 98513 14c000ef a6dff06f 40fb07b3
e787b3 fc2023 f51ff06f 4ba783 ff4a8413 ff847413 17f793 87e7b3
fba223 500693 8b87b3 d7a223 d7a423 d68778e3 8b8593 98513
371020ef d61ff06f 892403 14e793 f42223 9407b3 f92423 aa1ff06f
f00313 50713 2c37e63 f77793 a079063 8059263 ff067693 f67613
e686b3 b72023 b72223 b72423 b72623 1070713 fed766e3 61463
8067 40c306b3 269693 297 5686b3 c68067 b70723 b706a3
b70623 b705a3 b70523 b704a3 b70423 b703a3 b70323 b702a3
b70223 b701a3 b70123 b700a3 b70023 8067 ff5f593 859693
d5e5b3 1059693 d5e5b3 f6dff06f 279693 297 5686b3 8293
fa0680e7 28093 ff078793 40f70733 f60633 f6c378e3 f3dff06f 8067
8067 fc010113 2c12423 2d12623 2e12823 2f12a23 3012c23 3112e23
58613 852583 2810693 112e23 d12623 a4000ef 1c12083 4010113
8067 fc010113 2f12a23 8241a783 2c12423 2d12623 2b12223 2e12823
3012c23 3112e23 87a583 2410693 50613 78513 112e23 d12623
58000ef 1c12083 4010113 8067 ff010113 812423 912223 50493
58513 112623 8801a423 5f00b0ef fff00793 f51863 8881a783 78463
f4a023 c12083 812403 412483 1010113 8067 e2010113 1c112e23
1c912a23 1d212823 1d312623 1b812c23 58913 60493 68c13 1c812c23
1d412423 1d512223 1d612023 1b712e23 1b912a23 1ba12823 1bb12623 50993
581040ef 52783 78513 2f12c23 2f0060ef 2a12223 e012023 e012223
e012423 e012623 98a63 389a783 79663 98513 66c020ef c91783
1279713 2074263 26b7 6492703 d7e7b3 f91623 ffffe7b7 fff78793
f777b3 6f92223 c95783 87f793 6078e63 1092783 6078a63 c95783
a00713 1a7f793 8e79063 e91783 607cc63 c0693 48613 90593
98513 6e5010ef 2a12423 1dc12083 1d812403 2812503 1d412483 1d012903
1cc12983 1c812a03 1c412a83 1c012b03 1bc12b83 1b812c03 1b412c83 1b012d03
1ac12d83 1e010113 8067 90593 98513 751010ef f80502e3 fff00793
2f12423 fa9ff06f 227b7 13878793 4f12823 227b7 fc10893 2b478793
d112a23 c012e23 c012c23 a13 88d13 4012223 4012023 12a23
2012a23 2012e23 2012423 f12c23 48413 2500713 44783 78463
ce79263 40940ab3 40a8a63 dc12783 9d2023 15d2223 15787b3 cf12e23
d812783 700713 8d0d13 178793 cf12c23 f75e63 d410613 90593
98513 120080ef 78051863 fc10d13 2812783 15787b3 2f12423 44783
79463 5910106f 140793 2f12023 a010ba3 fff00b13 2012623 413
900a93 5a00b93 2012783 7c783 f12623 2012783 178793 2f12023
c12783 fe078793 fbf463 24c0106f 5012703 279793 e787b3 7a783
78067 140413 f31ff06f 227b7 2e878793 4f12223 2047793 79463
4c0106f 7c0c13 ff8c7c13 8c0793 c2c83 4c2c03 f12e23 147793
2078063 18ce7b3 78c63 3000793 af10c23 c14783 246413 af10ca3
bff47413 200793 6a10006f 98513 2f1040ef 452783 78513 2f12e23
60060ef 2a12a23 98513 2d5040ef 852783 f12a23 3412783 f20784e3
1412783 f20780e3 7c783 f0078ce3 40046413 f11ff06f b714783 f00794e3
2000793 af10ba3 efdff06f 146413 ef5ff06f c2783 4c0c13 2f12623
ee07d2e3 40f007b3 2f12623 446413 ed5ff06f 2b00793 fcdff06f 2012783
2a00713 178c93 7c783 f12623 4e79863 c2b03 4c0793 b5463
fff00b13 78c13 3912023 e99ff06f b0513 a00593 a88ff0ef 1c8c93
fffcc783 1b50b33 f12623 c12783 fd078d93 fdbafee3 3912023 e85ff06f
b13 fe9ff06f 8046413 e59ff06f 2012c83 2012623 2c12503 a00593
1c8c93 a3cff0ef c12783 fd078793 a787b3 2f12623 fffcc783 f12623
fd078793 fcfafae3 fb1ff06f 846413 e15ff06f 2012783 7c703 6800793
f71c63 2012783 20046413 178793 2f12023 df1ff06f 4046413 de9ff06f
2012783 7c703 6c00793 f71c63 2012783 178793 2f12023 2046413
dc5ff06f 1046413 dbdff06f 4c0793 f12e23 c2783 a010ba3 12f10e23
12823 100b13 a93 c13 b93 c93 13c10493 3512823
16ad463 3612823 b714703 70863 3012783 178793 2f12823 247d93
d8863 3012783 278793 2f12823 8447793 4f12423 6079c63 2c12783
3012703 40e78733 6e05463 22e37 1000e93 2a4e0e13 700f13 d812683
1cd2023 dc12603 168693 8d0593 eed463 7a10006f ed2223 c70733
ce12e23 cd12c23 700713 58d13 2d75063 d410613 90593 98513
5c5070ef 50463 1e90106f fc10d13 b714703 4070a63 b710713 ed2023
100713 ed2223 dc12703 700693 8d0d13 170713 ce12e23 d812703
170713 ce12c23 2e6d063 d410613 90593 98513 56d070ef 50463
1910106f fc10d13 40d8a63 b810713 ed2023 200713 ed2223 dc12703
700693 8d0d13 270713 ce12e23 d812703 170713 ce12c23 2e6d063
d410613 90593 98513 519070ef 50463 13d0106f fc10d13 4812783
8000713 6e79863 2c12783 3012703 40e78db3 7b05063 1000793 700e13
d812703 dc12683 8d0613 170713 6db7cee3 1812783 1bd2223 dd8db3
fd2023 db12e23 ce12c23 700693 60d13 2e6d063 d410613 90593
98513 4a1070ef 50463 c50106f fc10d13 416a8ab3 7505063 1000d93
700813 1812783 d812703 dc12683 fd2023 170713 8d0613 6d5dc0e3
15d2223 da8ab3 d512e23 ce12c23 700693 60d13 2e6d063 d410613
90593 98513 43d070ef 50463 610106f fc10d13 10047713 dc12d83
6a071ee3 d812783 1bb0333 9d2023 178793 16d2223 c612e23 cf12c23
700713 8d0d13 f74463 1580106f d410613 90593 98513 3e9070ef
50463 d0106f fc10d13 1380106f 1046413 2047793 4078e63 7c0c13
ff8c7c13 8c0793 c2c83 4c2c03 f12e23 c5e63 41900cb3 19037b3
41800c33 40fc0c33 2d00793 af10ba3 fff00793 38fb1ae3 400c1ce3 900793
4197e8e3 30c8c93 19910fa3 19f10493 3d90006f 4c0793 f12e23 1047793
78863 c2c83 41fcdc13 fa9ff06f 4047793 c2c83 78863 10c9c93
410cdc93 fe5ff06f 20047793 fc078ee3 18c9c93 418cdc93 fd1ff06f 847793
a078a63 4c0793 f12e23 c2783 7a603 47a683 87a703 c7a783
ec12023 ed12223 ee12423 e010513 ef12623 540040ef aa12e23 200793
cf51063 e012783 9010593 a010513 af12023 e412783 8012823 8012a23
af12223 e812783 8012c23 8012e23 af12423 ec12783 af12623 2e90c0ef
55663 2d00793 af10ba3 c12703 4700793 6e7c063 224b7 2c448493
f7f47413 12823 300b13 a93 2e90006f 7c0c13 ff8c7c13 c2583
4c2603 8c0793 a010513 f12e23 390f0ef a012783 ef12023 a412783
ef12223 a812783 ef12423 ac12783 f3dff06f 224b7 2c848493 fa5ff06f
100793 2f51c63 ec12783 7d663 2d00793 af10ba3 c12703 4700793
e7c863 224b7 2cc48493 f75ff06f 224b7 2d048493 f69ff06f c12783
fdf7fb93 4100793 6fb9063 c12683 3000793 af10c23 6100713 5800793
e69463 7800793 af10ca3 6300793 246413 4967de63 1b0593 98513
e9dfe0ef 50493 48051a63 c95783 407e793 f91623 c95783 407f793
f6078663 fb8ff06f fff00793 46fb0c63 4700793 12823 fb9463 460b0a63
ec12a03 10046793 2f12823 4012423 e012e03 e412d83 e812c83 a5a63
800007b7 147ca33 2d00793 4f12423 4100793 48fb9863 a010513 bc12023
b912423 bb12223 b412623 14d0f0ef bc10613 670050ef 58613 50593
a010513 6e40f0ef a012783 7010613 8010593 8f12023 a412783 9010513
6012823 8f12223 a812783 6012a23 6012c23 8f12423 ac12783 8f12623
3ffc07b7 6f12e23 25d0c0ef 9012803 9412603 9812683 9c12c83 9010593