-
Notifications
You must be signed in to change notification settings - Fork 8
/
scmos.tech
2022 lines (1437 loc) · 48.3 KB
/
scmos.tech
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
# 1 "scmos.tech.out"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1 "scmos.tech.out"
# 351 "scmos.tech.out"
tech
format 28
scmos
end
version
version 0.1
description "LibreSilicon process (1um)"
# 382 "scmos.tech.out"
end
planes
well,w
implant,i
active,a
metal1,m1
metal2,m2
metal3,m3
metal4,m4
oxide,ox
end
types
well pwell,pw
well nwell,nw
well capwell,cwell,cw
well highvoltnwell,hvnwell,hnwell,hnw
well highvoltpwell,hvpwell,hpwell,hpw
active polysilicon,red,poly,p
active pbasepolysilicon,pbpoly,pbp
active nbasepolysilicon,nbpoly,nbp
active electrode,poly2,el,p2
active capacitor,polycap,pcap,cap
active wellcapacitor,wellcap,wcap
active ndiffusion,ndiff,green
active pdiffusion,pdiff,brown
active highvoltndiffusion,hvndiff,hndiff
active highvoltpdiffusion,hvpdiff,hpdiff
metal1 metal1,m1,blue
metal2 metal2,m2,purple
metal3 metal3,m3,cyan
metal4 metcap,mcap
active sonosntransistor,snfet
active sonosptransistor,spfet
active pbsonostransistor,pbsfet
active nbsonostransistor,nbsfet
active ntransistor,nfet
active ptransistor,pfet
active entransistor,enfet
active eptransistor,epfet
active doublentransistor,nfloating-gate,nfloatg,nfg,nffet
active doubleptransistor,pfloating-gate,pfloatg,pfg,pffet
active highvoltntransistor,hvnfet,hnfet
active highvoltptransistor,hvpfet,hpfet
active collector,coll,col,co,cl
active emitter,emit,em
well pbase,pb
well nbase,nb
well pnbase,pnb
well nwpbase,nwpb
well nwpnbase,nwpnb
active pbasecontact,pbcontact,pbc
active pbasendiffusion,pbndiff,pbnd
active pbasepdiffusion,pbpdiff,pbpd
active pbasendiffcontact,pbndcontact,pbnc
active pbasepdiffcontact,pbpdcontact,pbpc
active nbasecontact,nbcontact,nbc
active nbasendiffusion,nbndiff,nbnd
active nbasepdiffusion,nbpdiff,nbpd
active nbasendiffcontact,nbndcontact,nbnc
active nbasepdiffcontact,nbpdcontact,nbpc
implant bccdiffusion,bd
active nbccdiffusion,nbd
active rndiffusion,rndiff,rnd
active rpdiffusion,rpdiff,rpd
active rpoly,rp,resistor,res
active polycontact,pcontact,polycut,pc
active pdpolycontact,pdpcontact,pdpolycut,pdpc
active ndpolycontact,ndpcontact,ndpolycut,ndpc
active ndcontact,ndiffcut,ndc
active pdcontact,pdiffcut,pdc
active highvoltndcontact,hndiffcut,hndc
active highvoltpdcontact,hpdiffcut,hpdc
active capcontact,ccontact,capc,cc
active electrodecontact,econtact,ec,poly2contact,p2c
active collectorcontact,colcontact,colc,coc,clc
active emittercontact,emitcontact,emc
active nbccdiffcontact,nbdc
metal1 m2contact,m2cut,m2c,via,v
metal2 m3contact,m3cut,m3c,via2,v2
active psubstratepcontact,ppcontact,ppc,pwcontact,pwc,psc
active nsubstratencontact,nncontact,nnc,nwcontact,nwc,nsc
active psubstratepdiff,ppdiff,pohmic,ppd,psd
active nsubstratendiff,nndiff,nohmic,nnd,nsd
active highvoltpsubcontact,hpwcontact,hpsc
active highvoltnsubcontact,hnwcontact,hnsc
active highvoltpsubdiff,hpohmic,hpsd
active highvoltnsubdiff,hnohmic,hnsd
active nplusdoping,ndoping,ndop
active pplusdoping,pdoping,pdop
metal1 genericcontact,gcontact,gc
oxide substrateopen,subopen,open
oxide pdiffusionstop,pdiffstop,pstop
metal2 pad
oxide glass
metal3 silk
active polyndiff,plndiff
active polypdiff,plpdiff
end
contact
ec poly2 metal1
cc cap metal1
pc poly metal1
ndc ndiff metal1
pdc pdiff metal1
nsc nsd metal1
psc psd metal1
hndc hndiff metal1
hpdc hpdiff metal1
hnsc hnsd metal1
hpsc hpsd metal1
clc col metal1
emc emit metal1
nbdc nbd metal1
m2c metal1 metal2
m3c metal2 metal3
end
styles
styletype mos
cwell 10
nwell 12
pwell 13
hnwell 18
hpwell 11
poly 1
poly2 14
ndiff 2
pdiff 4
psd 5
nsd 3
hndiff 2
hndiff 11
hpdiff 4
hpdiff 18
hpsd 5
hpsd 11
hnsd 3
hnsd 18
ndop 2
ndop 38
pdop 4
pdop 38
snfet 6
spfet 6
nbsfet 6
pbsfet 6
nfet 6
nfet 7
pfet 8
pfet 9
enfet 6
enfet 30
epfet 8
epfet 31
nffet 6
nffet 7
nffet 30
pffet 8
pffet 9
pffet 31
hnfet 6
hnfet 7
hnfet 30
hpfet 8
hpfet 9
hpfet 31
pbase pdop_stripes
pbc 15
pbc 20
pbc 32
pbnd 2
pbpd 4
pbnc 2
pbpc 4
pbnc 32
pbpc 32
nbase ndop_stripes
nbc 20
nbc 32
nbnd 2
nbpd 4
nbnc 2
nbpc 4
nbnc 32
nbpc 32
pnbase ndop_stripes
nwpnbase ndop_stripes
nwpbase pdop_stripes
emit 16
emc 16
emc 20
emc 32
col 3
clc 3
clc 20
clc 32
cap 1
cap 14
wcap 6
wcap 10
cc 1
cc 14
cc 20
cc 32
metal1 20
metal2 21
metal3 22
metcap 23
gc 19
pcontact 26
pcontact 32
ec 14
ec 20
ec 32
ndpc 32
pdpc 32
ndc 2
ndc 20
ndc 32
pdc 4
pdc 20
pdc 32
psc 5
psc 20
psc 32
nsc 3
nsc 20
nsc 32
hndc 2
hndc 20
hndc 32
hndc 11
hpdc 4
hpdc 20
hpdc 32
hpdc 18
hpsc 5
hpsc 20
hpsc 32
hpsc 11
hnsc 3
hnsc 20
hnsc 32
hnsc 18
m2contact 20
m2contact 21
m2contact 33
m3contact 21
m3contact 22
m3contact 37
pad 20
pad 21
pad 33
pad 34
glass 34
bd 17
nbd 17
nbd 3
nbdc 3
nbdc 17
nbdc 20
nbdc 32
open 2
open 20
pstop 8
error_p 42
error_s 42
error_ps 42
res poly_resist poly_resist_stripes
rnd ndiffusion poly_resist_stripes
rpd pdiffusion poly_resist_stripes
plpdiff polysilicon ptransistor_stripes
plndiff polysilicon ntransistor_stripes
pbpoly polysilicon ptransistor_stripes
nbpoly polysilicon ntransistor_stripes
silk 47
end
compose
compose nfet poly hndiff
compose pfet poly hpdiff
compose nfet poly ndiff
compose pfet poly pdiff
compose hnfet poly2 hndiff
compose hpfet poly2 hpdiff
compose enfet poly2 ndiff
compose epfet poly2 pdiff
compose nffet nfet poly2
compose pffet pfet poly2
compose nffet enfet poly
compose pffet epfet poly
compose cap poly poly2
paint clc col clc
paint emc emit emc
paint emc pbase emc
paint pbnd pbase pbnd
paint pbpd pbase pbpd
paint snfet pbase pbsfet
paint spfet pbase pbsfet
paint pbsfet pbase pbsfet
paint poly pbase pbpoly
paint pbpoly pbase pbpoly
paint ndiff pbase pbnd
paint pdiff pbase pbpd
paint ndc pbase pbnc
paint pdc pbase pbpc
paint pbpc pbase pbpc
paint pbnc pbase pbnc
paint ppc pbase pbpc
paint nnc pbase pbnc
paint nbnd pbase nbnd
paint nbpd pbase nbpd
paint nbnc pbase nbnc
paint nbpc pbase nbpc
paint nbpoly pbase nbpoly
paint emc nwpbase emc
paint pbnd nwpbase pbnd
paint pbpd nwpbase pbpd
paint snfet nwpbase pbsfet
paint spfet nwpbase pbsfet
paint pbsfet nwpbase pbsfet
paint poly nwpbase pbpoly
paint pbpoly nwpbase pbpoly
paint ndiff nwpbase pbnd
paint pdiff nwpbase pbpd
paint ndc nwpbase pbnc
paint pdc nwpbase pbpc
paint pbpc nwpbase pbpc
paint pbnc nwpbase pbnc
paint ppc nwpbase pbpc
paint nnc nwpbase pbnc
paint nbnd nwpbase nbnd
paint nbpd nwpbase nbpd
paint nbnc nwpbase nbnc
paint nbpc nwpbase nbpc
paint nbpoly nwpbase nbpoly
paint nbnd nbase nbnd
paint nbpd nbase nbpd
paint snfet nbase nbsfet
paint spfet nbase nbsfet
paint nbsfet nbase nbsfet
paint poly nbase nbpoly
paint nbpoly nbase nbpoly
paint ndiff nbase nbnd
paint pdiff nbase nbpd
paint ndc nbase nbnc
paint pdc nbase nbpc
paint nbpc nbase nbpc
paint nbnc nbase nbnc
paint ppc nbase nbpc
paint nnc nbase nbnc
paint nwpbase nbase nwpnbase
paint nbnd nbase nbnd
paint pbase nbase pnbase
paint nwpbase nwell nwpbase
paint pnbase nwell nwpnbase
paint nwpnbase nwell nwpnbase
paint nwell pbase nwpbase
paint nbase pbase pnbase
paint nwpbase pbase nwpbase
paint nwpnbase nwpbase nwpnbase
paint pbase nwell nwpbase
paint poly2 poly cap
paint poly poly2 cap
paint poly cap cap
paint poly2 cap cap
paint cap poly cap
paint cap poly2 cap
paint ec poly cc
paint pdc pwell ndc
paint pfet pwell nfet
paint epfet pwell enfet
paint pffet pwell nffet
paint pdiff pwell ndiff
paint nsd pwell psd
paint nsc pwell psc
paint ndc nwell pdc
paint nfet nwell pfet
paint enfet nwell epfet
paint nffet nwell pffet
paint ndiff nwell pdiff
paint psd nwell nsd
paint psc nwell nsc
paint pdc hpwell hndc
paint epfet hpwell hnfet
paint pffet hpwell hnfet
paint pdiff hpwell hndiff
paint nsd hpwell hpsd
paint nsc hpwell hpsc
paint ndc hnwell hpdc
paint enfet hnwell hpfet
paint nffet hnwell hpfet
paint ndiff hnwell hpdiff
paint psd hnwell hnsd
paint psc hnwell hnsc
# 905 "scmos.tech.out"
paint nfet cwell wcap
paint poly wcap wcap
paint ndiff wcap wcap
paint wcap poly wcap
paint wcap ndiff wcap
erase wcap poly ndiff
erase wcap ndiff poly
erase wcap cwell nfet
paint cwell nfet wcap active
erase wcap nfet cwell well
paint gc m1 gc
paint pad m1 pad
paint pad m2 pad
paint pad m3 pad
paint pad m2c pad
paint hpdc hpwell hndc
paint hpfet hpwell hnfet
paint hpdiff hpwell hndiff
paint hnsd hpwell hpsd
paint hnsc hpwell hpsc
paint hndc hnwell hpdc
paint hnfet hnwell hpfet
paint hndiff hnwell hpdiff
paint hpsd hnwell hnsd
paint hpsc hnwell hnsc
paint hpdc pwell ndc
paint hpfet pwell enfet
paint hpdiff pwell ndiff
paint hnsd pwell psd
paint hnsc pwell psc
paint hndc nwell pdc
paint hnfet nwell epfet
paint hndiff nwell pdiff
paint hpsd nwell nsd
paint hpsc nwell nsc
end
connect
nwell,nsc,nsd nwell,nsc,nsd
pwell,psc,psd pwell,psc,psd
hnwell,hnsc,hnsd hnwell,hnsc,hnsd
hpwell,hpsc,hpsd hpwell,hpsc,hpsd
ndiff,ndc/a cwell
pdc/m1,ndc/m1,psc/m1,nsc/m1,hpdc/m1,hndc/m1,hpsc/m1,hnsc/m1,pc/m1,ec/m1,capc/m1,clc/m1,emc/m1,nbdc/m1,m1,m2c/m1,gc pdc/m1,ndc/m1,psc/m1,nsc/m1,hpdc/m1,hndc/m1,hpsc/m1,hnsc/m1,pc/m1,ec/m1,capc/m1,clc/m1,emc/m1,nbdc/m1,m1,m2c/m1,gc
m2,m2c/m2,m3c/m2,pad m2,m2c/m2,m3c/m2,pad
m3,m3c/m3 m3,m3c/m3
poly,pc/a,nfet,pfet,wcap,snfet,spfet,pbpoly,nbpoly poly,pc/a,nfet,pfet,wcap,snfet,spfet,pbpoly,nbpoly
poly2,ec/a,enfet,epfet,cap,capc/a,nffet,pffet,hnfet,hpfet poly2,ec/a,enfet,epfet,cap,capc/a,nffet,pffet,hnfet,hpfet
ndiff,ndc/a,ndop psd,psc/a,pdop,pstop
pdiff,pdc/a,pdop,pstop nsd,nsc/a,ndop
hndiff,hndc/a,ndop hpsd,hpsc/a,pdop,pstop
hpdiff,hpdc/a,pdop,pstop hnsd,hnsc/a,ndop
ndiff ndc
pdiff pdc
hndiff hndc
hpdiff hpdc
nbd nbdc
pbase pbc
collector clc,nwell
emitter emc
gc ndiff,ndc/a,nfet,enfet,nffet,wcap,pdiff,pdc/a,pfet,epfet,pffet,nsd,nsc/a,psd,psc/a,nsd,nsc/a,psd,psc/a,hndiff,hndc/a,hpdiff,hpdc/a,metal1
gc poly,pc/a,nfet,pfet,wcap,snfet,spfet,pbpoly,nbpoly
gc poly2,ec/a,enfet,epfet,cap,capc/a,nffet,pffet,hnfet,hpfet
pad pdc/m1,ndc/m1,psc/m1,nsc/m1,hpdc/m1,hndc/m1,hpsc/m1,hnsc/m1,pc/m1,ec/m1,capc/m1,clc/m1,emc/m1,nbdc/m1,m1,m2c/m1,gc
pad m2,m2c/m2,m3c/m2,pad
pad m3,m3c/m3
end
# 1010 "scmos.tech.out"
cifoutput
# 1 "cif_template/objs/LSACIFout" 1
style lambda=0.5(gen)(libresilicon)
scalefactor 50 5
templayer poly_parts polysilicon,polycontact,nfet,pfet,rpoly,polypdiff,polyndiff,ndpolycontact,pdpolycontact,rpdiffusion,rndiffusion,nbsfet,pbsfet,spfet,snfet,pbpoly,nbpoly,hnfet,hpfet
templayer silicide_stop rpoly,rpdiffusion,rndiffusion
templayer nimplant ndiff,nfet,ndc,nnd,nnc,pbnc,pbnd,nbnc,nbnd,snfet,pbsfet,hnfet,hndc,hndiff
templayer nimplant_only rnd,plndiff,ndpc
grow 100
templayer pimplant pdiff,pfet,pdc,ppd,ppc,pbpc,pbpd,nbpc,nbpd,spfet,nbsfet,hpfet,hpdc,hpdiff
templayer pimplant_only rpd,plpdiff,pdpc
grow 100
templayer contacts pc,pdc,ndc,ppc,nnc,pbc,ndpc,pdpc,pbnc,pbpc,nbnc,nbpc,hpdc,hndc,pc,pdc,ndc,ppc,nnc,pbc,hpdc,hndc
templayer first_metal m1,contacts,m2c
templayer first_via m2c
shrink 50
templayer second_metal m2,m2c,m3c
templayer second_via m3c
shrink 50
templayer third_metal m3,m3c,pad,silk
templayer pbase_parts pb,pbnc,pbpc,pbnd,pbpd,pbpoly,pbsfet,nwpnbase,nwpbase,pnbase,pbase
templayer nbase_parts nb,nbnc,nbpc,nbnd,nbpd,nbpoly,nbsfet,nwpnbase,pnbase,nbase
templayer sonos_parts snfet,spfet,nbsfet,pbsfet
templayer nwell_parts nwell,pnbase,nwpnbase,nwpbase
templayer pwell_parts pwell
templayer implant_stop_parts rpoly
grow 100
templayer fox_selects nimplant,pimplant
templayer fox_nimplant nimplant
grow 100
templayer fox_pimplant pimplant
grow 100
templayer sti_wells nwell_parts,pwell_parts
shrink 50
templayer sti_contacts psc,nsc
grow 50
layer CWN nwell_parts
calma 2 0
layer CWP pwell_parts
calma 3 0
layer CWP pbase_parts
calma 4 0
layer CWP nbase_parts
calma 5 0
layer STI sti_wells,sti_contacts
calma 6 0
layer FOX fox_selects
calma 7 0
layer CPG sonos_parts
grow 50
calma 8 0
layer CPG poly_parts
calma 9 0
layer CPG implant_stop_parts
calma 10 0
layer CSN fox_nimplant,nimplant_only
calma 11 0
layer CSP fox_pimplant,pimplant_only
calma 12 0
layer CRG silicide_stop
grow 100
calma 13 0
layer CCA contacts
shrink 50
calma 14 0
layer CMF first_metal
calma 15 0
layer CVA first_via
calma 16 0
layer CMS second_metal
calma 17 0
layer CVS second_via
calma 18 0
layer CMT third_metal
calma 19 0
layer COG glass
calma 20 0
# 1018 "scmos.tech.out" 2
# 1036 "scmos.tech.out"
style plot
scalefactor 100 50
layer CM2 m2,m2c/m2,pad/m2
labels m2
layer CM1 pad
grow 100
or m1,m2c/m1,pc/m1,ndc/m1,pdc/m1,ppcont/m1,nncont/m1
labels m1,m2c/m1,pc/m1,ndc/m1,pdc/m1,ppcont/m1,nncont/m1,pad/m1
layer CP poly,pc/active,nfet,pfet
labels poly,nfet,pfet
layer CND ndiff,ndc,nfet,pwc,psd
labels ndiff
layer CPD pdiff,pdc,pfet,nwc,nsd
labels pdiff
layer CNP
bloat-or nsd,nwc * 150 ndiff,pdiff,ndc/active,pdc/active,ppcont/active,nncont/active,pfet,nfet,psd,nsd 0
layer CPP
bloat-or psd,pwc * 150 ndiff,pdiff,ndc/active,pdc/active,ppcont/active,nncont/active,pfet,nfet,psd,nsd 0
layer CV m2c
squares 100 200 300
layer CC ndc,pdc,pc,pwc,nwc
squares 200
layer CNW nwell
grow 400
shrink 400
layer CG pad
shrink 600
or glass
labels glass
end
# 1079 "scmos.tech.out"
cifinput
# 1097 "scmos.tech.out"
end
mzrouter
style irouter
layer m2 32 64 256 1
layer m1 64 32 256 1
layer poly 128 128 512 1
contact m2contact metal1 metal2 1024
contact pcontact metal1 poly 2056
notactive poly pcontact
style garouter
layer m2 32 64 256 1
layer m1 64 32 256 1
contact m2contact metal1 metal2 1024
end
drc
# 1129 "scmos.tech.out"
edge4way (~nwell)/w nwell 10 nwell nwell 10\
"N-Well width must be at least 10 (MOSIS rule #1.1)"
edge4way (~pwell)/w pwell 10 pwell pwell 10\
"P-Well width must be at least 10 (MOSIS rule #1.1)"
# 1149 "scmos.tech.out"
edge4way nwell (~nwell)/w 9 (~nwell)/w (~nwell)/w 9\
"N-Well spacing must be at least 9 (MOSIS rule #1.2)"
edge4way pwell (~pwell)/w 9 (~pwell)/w (~pwell)/w 9\
"P-Well spacing must be at least 9 (MOSIS rule #1.2)"
# 1188 "scmos.tech.out"
width ndiff,ndc/a,nfet,enfet,nffet,wcap 2 \
"N-type Diffusion width must be at least 2"
width pdiff,pdc/a,pfet,epfet,pffet 2 \
"P-type Diffusion width must be at least 2"
width nsd,nsc/a,psd,psc/a 2 \
"Ohmic diffusion width must be at least 2"
# 1204 "scmos.tech.out"
spacing ndiff,ndc/a,nfet,enfet,nffet,wcap ndiff,ndc/a,nfet,enfet,nffet,wcap 3 touching_ok \
"Diffusion spacing must be at least 3 (MOSIS rule #2.2)"
spacing pdiff,pdc/a,pfet,epfet,pffet pdiff,pdc/a,pfet,epfet,pffet 3 touching_ok \
"Diffusion spacing must be at least 3 (MOSIS rule #2.2)"
spacing nsd,nsc/a nsd,nsc/a 3 touching_ok \
"Diffusion spacing must be at least 3 (MOSIS rule #2.2)"
spacing psd,psc/a psd,psc/a 3 touching_ok \
"Diffusion spacing must be at least 3 (MOSIS rule #2.2)"
spacing ndiff,ndc/a pdiff,pdc/a 10 touching_illegal \
"P-type diffusion must be 10 away from N-type diffusion (MOSIS rule #2.3a)"
# 1229 "scmos.tech.out"
spacing ndiff,ndc/a nsd,nsc/a 8 touching_illegal \
"N-type diffusion must be 8 away from N-substrate contact (MOSIS rule #2.3a,4a)"
spacing pdiff,pdc/a psd,psc/a 8 touching_illegal \
"P-type diffusion must be 8 away from P-substrate contact (MOSIS rule #2.3a,4a)"
spacing nsd,nsc/a psd,psc/a 6 touching_illegal \
"Opposite well contacts must be separated by 6 (MOSIS rule #2.4)"
# 1246 "scmos.tech.out"
spacing ndiff,ndc/a,nfet,enfet,nffet,wcap nwell 5 touching_illegal \
"N-diffusion and N-well must be separated by 5 (MOSIS rule #2.3a)"
spacing pdiff,pdc/a,pfet,epfet,pffet pwell 5 touching_illegal \
"P-diffusion and P-well must be separated by 5 (MOSIS rule #2.3a)"
spacing nsd,nsc/a pwell 3 touching_illegal \
"N-substrate diffusion and P-well must be separated by 3 (MOSIS rule #2.4)"
spacing psd,psc/a nwell 3 touching_illegal \
"P-substrate diffusion and N-well must be separated by 3 (MOSIS rule #2.4)"
spacing ndiff,ndc/a,nfet,enfet,nffet,wcap psd,psc/a 4 touching_ok \
"Opposite diffusion spacing must be at least 4 (MOSIS extension rule)"
spacing pdiff,pdc/a,pfet,epfet,pffet nsd,nsc/a 4 touching_ok \
"Opposite diffusion spacing must be at least 4 (MOSIS extension rule)"
width poly,pc/a,nfet,pfet,wcap,snfet,spfet,pbpoly,nbpoly,cap,capc/a,nffet,pffet 2 \
"Polysilicon width must be at least 2 (MOSIS rule #3.1)"
spacing poly,pc/a,nfet,pfet,wcap,snfet,spfet,pbpoly,nbpoly,cap,capc/a,nffet,pffet poly,pc/a,nfet,pfet,wcap,snfet,spfet,pbpoly,nbpoly,cap,capc/a,nffet,pffet 2 touching_ok \
"Polysilicon spacing must be at least 2 (MOSIS rule #3.2a)"
edge4way nfet,pfet poly,pc/act 2 poly,pc/act 0 0 \
"Poly must overhang transistor by at least 2 (MOSIS rule #3.3)"
edge4way nfet,enfet ndiff,ndc/a 3 ndiff,ndc/a,nfet,enfet,nffet,wcap ndiff,ndc/a 3 \
"Diffusion must overhang transistor by at least 3 (MOSIS rule #3.4)"
edge4way pfet,epfet pdiff,pdc/a 3 pdiff,pdc/a,pfet,epfet,pffet ndiff,ndc/a 3 \
"Diffusion must overhang transistor by at least 3 (MOSIS rule #3.4)"
edge4way nfet,pfet space 1 poly 0 0 \
"Transistor overhang is missing (MOSIS rule #3.3,4)"
edge4way enfet,epfet space 1 poly2 0 0 \
"Transistor overhang is missing (MOSIS rule #3.3,4)"
edge4way nffet,pffet space 1 poly 0 0 \
"Transistor overhang is missing (MOSIS rule #3.3,4)"
edge4way nffet,pffet space 1 poly2 0 0 \
"Transistor overhang is missing (MOSIS rule #3.3,4)"
edge4way ndiff,ndc/a,pdiff,pdc/a,nsd,nsc/a,psd,psc/a poly,pc 1 space/a 0 1 \
"Poly and diffusion must be separated by at least 1 (MOSIS rule #3.5)"
edge4way poly,pc ndiff,ndc/a,pdiff,pdc/a,nsd,nsc/a,psd,psc/a 1 space/a 0 1 \
"Poly and diffusion must be separated by at least 1 (MOSIS rule #3.5)"
edge poly,pc space/a 1 space/a space/a 1 \
"Poly and diffusion must be separated by at least 1 (MOSIS rule #3.5)"
edge nsd,nsc/a,psd,psc/a,ndiff,ndc/a,pdiff,pdc/a space/a 1 space/a space/a 1 \
"Poly and diffusion must be separated by at least 1 (MOSIS rule #3.5)"
# 1335 "scmos.tech.out"
spacing pfet,epfet,pffet nsd,nsc/a 3 touching_illegal \
"Transistors must be separated from substrate contacts by 3 (MOSIS rule #4.1.a)"
spacing nfet,enfet,nffet psd,psc/a 3 touching_illegal \
"Transistors must be separated from substrate contacts by 3 (MOSIS rule #4.1.b)"
edge4way psd,psc/a space/act 3 ~(nfet,enfet,nffet)/act psd,psc/a,ndiff,ndc/a 3 \
"Transistors must be separated from selects(generated by well cont) by 3 (MOSIS rule #4.1.c)"
edge4way nsd,nsc/a space/act 3 ~(pfet,epfet,pffet)/act nsd,nsc/a,pdiff,pdc/a 3 \
"Transistors must be separated from selects(generated by well cont) by 3 (MOSIS rule #4.1.d)"
edge4way psd,psc/a ~(ndiff,ndc,psc,psd)/act 4 ~(nfet,enfet)/act ~(ndiff,ndc,psc,psd)/act 4 \
"Transistors must be separated from selects(generated by well cont) by 4 (MOSIS rule #4.1.e)"
edge4way nsd,nsc/a ~(pdiff,pdc,nsc,nsd)/act 4 ~(pfet,epfet)/act ~(pdiff,pdc,nsc,nsd)/act 4 \
"Transistors must be separated from selects(generated by well cont) by 4 (MOSIS rule #4.1.f)"
edge4way ~(pdiff,pdc/a,pfet,epfet,pffet)/act pdiff,pdc,pfet 4 ~(nsd,nsc/a)/act pdiff,pdc/a,pfet,epfet,pffet 2 \
"Backedge of diffusion must be 4 from substrate diff (MOSIS rule #4.2.a)"
edge4way ~(ndiff,ndc/a,nfet,enfet,nffet,wcap)/act ndiff,ndc,nfet 4 ~(psd,psc/a)/act ndiff,ndc/a,nfet,enfet,nffet,wcap 2 \
"Backedge of diffusion must be 4 from substrate diff (MOSIS rule #4.2.b)"
# 1369 "scmos.tech.out"
width pc 4 \
"Poly contact width must be at least 4 (MOSIS rule #5B.1,2,3)"
edge4way poly,pc/a,nfet,pfet,wcap,snfet,spfet,pbpoly,nbpoly,cap,capc/a,nffet,pffet ~(poly,pc/a,nfet,pfet,wcap,snfet,spfet,pbpoly,nbpoly,cap,capc/a,nffet,pffet)/act 3 ~pc/act ~(poly,pc/a,nfet,pfet,wcap,snfet,spfet,pbpoly,nbpoly,cap,capc/a,nffet,pffet)/act 3 \
"Poly contact must be at least 3 from other poly (MOSIS rule #5B.4,5)"
spacing pc ndiff,ndc/a,nfet,enfet,nffet,wcap,pdiff,pdc/a,pfet,epfet,pffet,nsd,nsc/a,psd,psc/a 1 touching_illegal \
"Poly contact must be 1 unit from diffusion (MOSIS rule #5B.6)"
# 1395 "scmos.tech.out"
width ndc,pdc 4 \
"Diffusion contact width must be at least 4 (MOSIS rule #6B.1,2,3)"
width nsc,psc 4 \
"Substrate contact width must be at least 4 (MOSIS rule #6B.1,2,3)"
# 1419 "scmos.tech.out"
edge4way ndiff,ndc/a,nfet,enfet,nffet,wcap,pdiff,pdc/a,pfet,epfet,pffet,nsd,nsc/a,psd,psc/a ~(ndiff,ndc/a,nfet,enfet,nffet,wcap,pdiff,pdc/a,pfet,epfet,pffet,nsd,nsc/a,psd,psc/a)/act 4 ~(ndc,pdc,nsc,psc)/act \
~(ndiff,ndc/a,nfet,enfet,nffet,wcap,pdiff,pdc/a,pfet,epfet,pffet,nsd,nsc/a,psd,psc/a)/act 4 \
"Diffusion contacts must be 4 from other diffusions (MOSIS rule #6B.4,5)"
spacing pdc,ndc,psc,nsc,pbnc,pbpc,nbnc,nbpc nfet,enfet,nffet,pfet,epfet,pffet 1 touching_illegal \
"Diffusion contacts cannot touch transistors (MOSIS rule #6B.6)"
spacing pdc,ndc,psc,nsc,pbnc,pbpc,nbnc,nbpc poly 1 touching_illegal \
"Diffusion contact to field poly must be at least 1 (MOSIS rule #6B.7)"
spacing pdc,ndc,psc,nsc,pbnc,pbpc,nbnc,nbpc pc/act 2 touching_illegal \
"Poly contacts must be 2 away from diffusion contacts (MOSIS rule #6B.9)"
# 1444 "scmos.tech.out"
edge4way m3c/m3 ~m3c/m3 1 ~m3c/m3 (~m3c,m3c)/m3 1 \
"Metal3 contacts must be rectangular (Magic rules)"
edge4way m2c/m2 ~m2c/m2 1 ~m2c/m2 (~m2c,m2c)/m2 1 \
"Metal2 contacts must be rectangular (Magic rules)"
edge4way ndc/m1 ~ndc/m1 1 ~ndc/m1 (~ndc,ndc)/m1 1 \
"N-diffusion contacts must be rectangular (Magic rules)"
edge4way pdc/m1 ~pdc/m1 1 ~pdc/m1 (~pdc,pdc)/m1 1 \
"P-diffusion contacts must be rectangular (Magic rules)"
edge4way psc/m1 ~psc/m1 1 ~psc/m1 (~psc,psc)/m1 1 \
"P-substrate contacts must be rectangular (Magic rules)"
edge4way nsc/m1 ~nsc/m1 1 ~nsc/m1 (~nsc,nsc)/m1 1 \
"N-substrate contacts must be rectangular (Magic rules)"
edge4way pc/m1 ~pc/m1 1 ~pc/m1 (~pc,pc)/m1 1 \
"Polysilicon contacts must be rectangular (Magic rules)"
edge4way ec/m1 ~ec/m1 1 ~ec/m1 (~ec,ec)/m1 1 \
"Electrode contacts must be rectangular (Magic rules)"
edge4way cc/m1 ~cc/m1 1 ~cc/m1 (~cc,cc)/m1 1 \
"Capacitor contacts must be rectangular (Magic rules)"
edge4way emc/m1 ~emc/m1 1 ~emc/m1 (~emc,emc)/m1 1 \
"Emitter contacts must be rectangular (Magic rules)"
edge4way clc/m1 ~clc/m1 1 ~clc/m1 (~clc,clc)/m1 1 \
"Collector contacts must be rectangular (Magic rules)"