#
#		      MOSIS distribution Version 8.2
#
# This file has been updated by MOSIS to be used for three metal, two poly
# SCMOS technology files.
#
# (C) Copyright 1992, 1993, 1994, 1995 by
#
#       Jen-I Pi	       pi@isi.edu
#       The MOSIS Service
#	USC Information Sciences Institute	
#	4676 Admiralty Way
#	Marina del Rey, CA 90292
#	(310) 822-1511 x640  fax (310)823-5624
#
# All Rights Reserved.
# Last Modified Date: 12/3/03
#
# Permission to use, copy, modify, and distribute this technology
# file and its associated documentation for any purpose and without
# fee is hereby granted, provided that the above copyright notice
# appears in all copies and that both that copyright notice and this
# permission notice appear in supporting documentation, and that the
# name of the University of Southern California not be used in
# advertising or publicity pertaining to distribution of the software
# without specific, written prior permission.  The University of
# Southern California makes no representations about the suitability
# of this technology file for any purpose. This technology file is
# provided "as is" without express or implied warranty and the
# University of Southern California retains the right to change its
# content at any time without notice any other party.
#
# THE UNIVERSITY OF SOUTHERN CALIFORNIA DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS TECHNOLOGY FILE, INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE UNIVERSITY OF
# SOUTHERN CALIFORNIA BE LIABLE FOR ANY SPECIAL, INDIRECT OR
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
# OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS TECHNOLOGY FILE.
#
# This file describes the various display styles that are available
# in Magic.  This new file is relatively technology-independent: it
# contains enough different styles to support MOSIS's SCMOS process
# without any changes.  Each display style describes a particular
# way of drawing things on the display.  See "Magic Maintainer's
# Manual #3: The Display Style and Glyph Files" for details on the
# file format.
#
# Please send bug reports/comments to mosis@mosis.edu :-)
#
# Version keyword replaces the version embedded in the filename.

version 7
# 
# 24-bit True Color does not use bit planes.  The "mask" value is
# irrelevant.
#

display_styles 24
#
# The style below means "no color at all".  It is special, in that
# it is used by cursors to indicate transparency.
#
# num   mask    color   outline  fill  number   name    name
# ----+------+--------+--------+------+-------+------+--------------
0	0x00	0	0x00	solid	0	.	no_color_at_all
#
# Opaque styles used for drawing and erasing highlights, window borders,
# etc.
#				       stipple  short   long
# num   mask    color   outline  fill  number   name    name
# ----+------+--------+--------+------+-------+------+--------------
1	0x20	32	0x00	solid	0	-	solid_highlights
2	0x20	32	0x00	stipple 12	-	medium_highlights
3	0x20	32	0x00	stipple 9	-	pale_highlights
4	0x20	32	0x00	stipple 10	-	horiz_highlights
5	0x20	32	0x00	stipple 11	-	vert_highlights
6	0x20	32	0xff	outline	0	-	outline_highlights
7	0x20	32	0xcc	outline 0	-	dotted_highlights
#
8	0x40	0	0xff	outline	0	-	erase_box
9	0x7f	0	0x00	solid	0	-	erase_highlights
10	0x7f	0	0x00	solid	0	-	erase_everything
11	0x3f	0	0x00	solid	0	-	erase_all_but_highl
#
12	0x3f	59	0xff	outline	0	-	labels
13	0x3f	45	0xff	outline	0	-	ports
14	0x3f	54	0xff	outline	0	-	port_connections
15	0x3f	35	0xff	outline	0	-	bounding_boxes
16	0x3f	35	0xaa	grid	0	-	dotted_grid
17	0x3f	35	0xff	grid	0	-	solid_grid
18	0x3f	35	0x00	solid	0	-	origin_square
19	0x3f	35	0xff	outline	0	-	draw_tile_details
#
20	0x7f	55	0x00	solid	0	w	window_border
21	0x7f	55	0xff	stipple	6	-	window_elevator
22	0x7f	56	0x00	solid	0	c	window_caption
23	0x7f	57	0x00	solid	0	x	window_background
#
24	0x7f	58	0x00	solid	0	-	color_editing
#
25	0x7f	60	0x00	solid	0	T	tk_medium_gray
26	0x7f	62	0x00	solid	0	t	tk_light_gray
#
27      0x7f    47      0xff    outline 0       -       pale_labels
28      0x7f    80      0xff    outline 0       -       pale_ports
#
# General-purpose opaque colors.  These entries define a whole
# bunch of generally-useful colors.
#				       stipple  short    long
# num   mask    color   outline  fill  number   name     name
# ----+------+--------+--------+------+-------+------+--------------
29	0x3f	32	0x00	solid	0	W	white
30	0x3f	33	0x00	solid	0	-	gray1 (pale)
31	0x3f	34	0x00	solid	0	k	gray2 (dark)
32	0x3f	35	0x00	solid	0	K	black
33	0x3f	36	0x00	solid	0	r	red1 (pale)
34	0x3f	37	0x00	solid	0	-	red2 (medium)
35	0x3f	38	0x00	solid	0	R	red3 (dark)
36	0x3f	39	0x00	solid	0	g	green1 (pale)
37	0x3f	40	0x00	solid	0	-	green2 (medium)
38	0x3f	41	0x00	solid	0	G	green3 (dark)
39	0x3f	42	0x00	solid	0	b	blue1
40	0x3f	43	0x00	solid	0	B	blue2  (dark)
41	0x3f	44	0x00	solid	0	-	blue3
42	0x3f	45	0x00	solid	0	p	purple1
43	0x3f	46	0x00	solid	0	P	purple2
44	0x3f	47	0x00	solid	0	y	yellow1
45	0x3f	48	0x00	solid	0	Y	yellow2
46	0x3f	49	0x00	solid	0	o	orange1
47	0x3f	50	0x00	solid	0	O	orange2
48	0x3f	51	0x00	solid	0	-	brown1
49	0x3f	52	0x00	solid	0	-	brown2
50	0x3f	53	0x00	solid	0	-	magenta
51	0x3f	54	0x00	solid	0	C	cyan
#
#----------------------------------------------------------------------
# All of the styles above this point are used internally by Magic for
# things like menus, drawing the box, etc.  The style numbers must
# match the definitions in misc/style.h.  All of the styles below
# this point are used by the technology file, addressed by number.
# Note that the numbers are only for backwards compatibility with
# .tech27 files which specify styles by number.  .tech28 files may
# specify styles by name, and numbers may be listed out of order.
# The order in which styles are drawn is the order in which they
# appear in this file.
#----------------------------------------------------------------------

layout_styles
#
# Poly-diff styles:
#				       stipple  short    long
# num   mask    color   outline  fill  number   name     name
# ----+------+--------+--------+------+-------+------+--------------
1	0x07	1	0x00	solid   0	-	polysilicon
87	0x07    50	0x00    solid   0       -       poly_light
88	0x07	1	0x00	stipple	1	-	obspoly
2	0x07	2	0x00	solid	0	-	ndiffusion
69	0x07	40	0x00	solid	0	-	mvndiff
70	0x07	41	0x00	solid	0	-	hvndiff
71	0x07	44	0x00	solid	0	-	ncontact
3	0x07	2	0x00	stipple	13	-	ndiff_in_nwell
4	0x07	3	0x00	solid	0	-	pdiffusion
72	0x07	51	0x00	solid	0	-	mvpdiff
73	0x07	52	0x00	solid	0	-	hvpdiff
74	0x07	45	0x00	solid	0	-	pcontact
5	0x07	3	0x00	stipple 13	-	pdiff_in_pwell
6	0x07	4	0x00	solid	0	-	ntransistor
7	0x07	2	0x00	stipple 7	-       ntransistor_stripes
8	0x07	5	0x00	solid	0	-	ptransistor
9	0x07	3	0x00	stipple 5	-       ptransistor_stripes
79	0x07	71	0x00	stipple 21	-	highvolt_nwell
80	0x07	69	0x00	stipple 22	-	highvolt_pwell
83	0x3f	51	0x00	stipple	5	-	implant1
84	0x3f	48	0x00	stipple	5	-	implant2
85	0x3f	38	0x00	stipple	5	-	implant3
86	0x3f	32	0x00	stipple	5	-	implant4
10	0x3f	6	0x00	stipple 7	-	cwell
11	0x07	5	0x00	stipple 22	-	hvndiff_mask
12	0x07	7	0x00	stipple 7	-	nwell
13	0x07	3	0x00	stipple 5	-	pwell
14	0x3f	6	0x00	stipple 2	-	electrode
15	0x07	3	0x00	stipple	10	-	pbase
16	0x07	2	0x00	stipple 17	-	emitter
17	0x07	3	0x00	stipple 11	-	bccd
18	0x07	4	0x00	stipple 21	-       hvpdiff_mask
19	0x07	7	0x00	solid	0	-	via
#
# Metal styles:
#				       stipple  short    long
# num   mask    color   outline  fill  number   name     name
# ----+------+--------+--------+------+-------+------+--------------
20	0x08	8	0x00	stipple 16	-	metal1
21	0x10	16	0x00	stipple 12	-	metal2
22	0x3f	53	0x00	stipple 23	-	metal3
23	0x3f	33	0x00	stipple 20	-	metal4
24	0x3f	44	0x00	stipple 8	-	metal5
25	0x3f	37	0x00	solid	0	-	pad4
26	0x0f	9	0x00	solid	0	-	poly_contact
27	0x07	1	0x00	solid	0	-	electrode_stripes
28	0x3f	6	0x00	stipple 2	-	capacitor
29	0x08	8	0x00	stipple 16	-	metal1_alt
#
# Opaque stipples and such for mask display:
#				       stipple  short    long
# num   mask    color   outline  fill  number   name     name
# ----+------+--------+--------+------+-------+------+--------------
30	0x3f	2	0x00	stipple 22	-	ndop_stripes
31	0x3f	3	0x00	stipple 21	-	pdop_stripes
35	0x3f	3	0xff	stipple 1	-	pselect
36	0x3f	2	0xff	stipple 15	-	nselect
37	0x3f	35	0xff	stipple 19	-	via2
38	0x3f	35	0xff	stipple	4	-	via3
39	0x3f	35	0xff	stipple	5	-	via4
#
40	0x3f	53	0x00	stipple 5	-	check_paint
41	0x3f	54	0x00	stipple 7	-	check_subcells
42	0x3f	32	0x00	stipple 4	-	error_waffle
#
43      0x07    2	0x00    stipple 5       -	nselect2
44      0x07    3	0x00    stipple 7       -	pselect2
45      0x07    35	0x00    solid   0       -	comment
46      0x07    42	0x00    stipple 7       -	silicide_block
47      0x07    1	0x00    solid   0       -	poly_resist
48      0x07    3	0x00    stipple 7       -	poly_resist_stripes    
49	0x08	8	0x00	stipple 19	-	metal1tight
89	0x08	8	0x00	stipple 1	-	obsmetal1
50	0x10	16	0x00	stipple 19	-	metal2tight
90	0x10	16	0x00	stipple 1	-	obsmetal2
51	0x3f	53	0x00	stipple	8	-	metal3tight
91	0x3f	53	0x00	stipple 1	-	obsmetal3
92	0x3f	33	0x00	stipple 1	-	obsmetal4
93	0x3f	44	0x00	stipple 1	-	obsmetal5
52	0x07	2	0x00	stipple 19	-	cwellnsc
53      0x07    7	0x00    stipple 7	-	nwell_field_implant
54      0x07    7	0x00    stipple 5	-	substrate_field_implant
55	0x3f	43	0xff	stipple 35	-	via1arrow
81	0x3f	43	0xff	stipple 2	-	via1
56	0x3f	53	0xff	stipple 36	-	via2arrow
82	0x3f	53	0xff	stipple 2	-	via2alt
57	0x3f	6	0xff	stipple 2	-	via3alt
58	0x3f	7	0x00	solid	0	-	gen_contact
32	0x3f	35	0xff	cross	0	-	contact_X'es
33	0x3f	35	0xff	stipple 2	-	contact_waffle
#
64	0x3f	46	0x00	stipple	8	-	metal6
94	0x3f	46	0x00	stipple	1	-	obsmetal6
59	0x3f	32	0xff	stipple 2	-	via5
65	0x3f	38	0x00	stipple	9	-	metal7
95	0x3f	38	0x00	stipple	1	-	obsmetal7
60	0x3f	46	0xff	stipple 28	-	via6
66	0x3f	34	0x00	stipple	16	-	metal8
96	0x3f	34	0x00	stipple	1	-	obsmetal8
61	0x3f	51	0xff	stipple 29	-	via7
75	0x3f	74	0x00	stipple 8	-	metal9
97	0x3f	74	0x00	stipple 1	-	obsmetal9
76	0x3f	7	0xff	stipple 30	-	via8
77	0x3f	75	0x00	stipple 9	-	metal10
98	0x3f	75	0x00	stipple 1	-	obsmetal10
78	0x3f	7	0xff	stipple 31	-	via9
#
62	0x3f	0	0x00	solid	0	-	mim_bottom
63	0x3f	0	0x00	solid	0	-	mim_top
34	0x3f	34	0xff	stipple 10	-	overglass
67	0x3f	9	0x00	outline	0	-	subcircuit
68	0x3f	34	0xff	stipple 12	-	mems
#
#------------------------------------------------------------------
# All of the styles below this point must duplicate the styles in
# the section above, and represent a version of each previous
# layer to use in non-edit cells ("pale" styles):
#------------------------------------------------------------------

pale_styles
#
# Poly-diff styles:
#				       stipple  short    long
# num   mask    color   outline  fill  number   name     name
# ----+------+--------+--------+------+-------+------+--------------
1	0x07	1	0x00	stipple 14	-	polysilicon
87	0x07    49	0x00    solid   0       -       poly_light
88	0x07	1	0x00	stipple 1	-	obspoly
2	0x07	2	0x00	stipple 14	-	ndiffusion
69	0x07	40	0x00	stipple	3	-	mvndiff
70	0x07	41	0x00	stipple	3	-	hvndiff
71	0x07	44	0x00	stipple	3	-	ncontact
3	0x07	2	0x00	stipple	13	-	ndiff_in_nwell
4	0x07	3	0x00	stipple 14	-	pdiffusion
72	0x07	51	0x00	stipple	25	-	mvpdiff
73	0x07	52	0x00	stipple	25	-	hvpdiff
74	0x07	45	0x00	stipple	25	-	pcontact
5	0x07	3	0x00	stipple 13	-	pdiff_in_pwell
6	0x07	4	0x00	stipple 14	-	ntransistor
7	0x07	2	0x00	stipple 7	-	ntransistor_stripes
8	0x07	5	0x00	stipple 14	-	ptransistor
9	0x07	3	0x00	stipple 5	-	ptransistor_stripes
79	0x07	71	0x00	stipple 21	-	highvolt_nwell
80	0x07	69	0x00	stipple 22	-	highvolt_pwell
83	0x3f	51	0x00	stipple	5	-	implant1
84	0x3f	48	0x00	stipple	5	-	implant2
85	0x3f	38	0x00	stipple	5	-	implant3
86	0x3f	32	0x00	stipple	5	-	implant4
10	0x07	6	0x00	stipple 7	-	cwell
11	0x07	5	0x00	stipple 22	-	hvndiff_mask
12	0x07	7	0x00	stipple 7	-	nwell
13	0x07	3	0x00	stipple 5	-	pwell
14	0x3f	6	0x00	stipple 2	-	electrode
15	0x07	3	0x00	stipple 10	-	pbase
16	0x07	2	0x00	stipple 17	-	emitter
17	0x07	3	0x00	stipple 11	-	bccd
18	0x07	7	0x00	stipple 21	-       hvpdiff_mask
19	0x07	7	0x00	stipple	2	-	via
#
# Metal styles:
#				       stipple  short    long
# num   mask    color   outline  fill  number   name     name
# ----+------+--------+--------+------+-------+------+--------------
20	0x08	8	0x00	stipple 16	-	metal1
21	0x10	16	0x00	stipple 12	-	metal2
22	0x3f	53	0x00	stipple 5	-	metal3
23	0x3f	33	0x00	stipple 21	-	metal4
24	0x07	44	0x00	stipple 22	-	metal5
25	0x07	37	0x00	stipple 18	-	pad4
26	0x07	9	0x00	stipple	6	-	poly_contact
27	0x07	3	0x00	stipple	9	-	electrode_stripes
28	0x07	61	0x00	stipple	2	-	capacitor
29	0x08	8	0x00	stipple 16	-	metal1_alt
#
# Opaque stipples and such for mask display:
#				       stipple  short    long
# num   mask    color   outline  fill  number   name     name
# ----+------+--------+--------+------+-------+------+--------------
30	0x3f	2	0x00	stipple 22	-	ndop_stripes
31	0x3f	3	0x00	stipple 21	-	pdop_stripes
35	0x3f	3	0xff	stipple 1	-	pselect
36	0x3f	2	0xff	stipple 15	-	nselect
37	0x3f	35	0xff	stipple 19	-	via2
38	0x3f	35	0xff	stipple 4	-	via3
39	0x3f	35	0xff	stipple 5	-	via4
#
40	0x3f	53	0x00	stipple 5	-	check_paint
41	0x3f	54	0x00	stipple 7	-	check_subcells
42	0x3f	32	0x00	stipple 4	-	error_waffle
#
43	0x07    2	0x00    stipple 5       -       nselect2
44	0x07    3	0x00    stipple 7       -       pselect2
45	0x07    15	0x00    solid   0       -       comment
46	0x07    42	0x00    stipple 7       -       silicide_block
47	0x07    1	0x00    solid   0       -       poly_resist
48	0x07    3	0x00    stipple 7       -       poly_resist_stripes
49	0x08	8	0x00	stipple 14	-	metal1tight
89	0x08	8	0x00	stipple 1	-	obsmetal1
50	0x10	16	0x00	stipple 5	-	metal2tight
90	0x10	16	0x00	stipple 1	-	obsmetal2
51	0x3f	53	0x00	stipple	21	-	metal3tight
91	0x3f	53	0x00	stipple 1	-	obsmetal3
92	0x3f	33	0x00	stipple 1	-	obsmetal4
93	0x3f	44	0x00	stipple 1	-	obsmetal5
52	0x07	2	0x00	stipple 13	-	cwellnsc
53	0x07    7	0x00    stipple 7       -       nwell_field_implant
54	0x07    7	0x00    stipple 5       -       substrate_field_implant
55	0x3f	43	0xff	stipple 35	-	via1arrow
81	0x3f	43	0xff	stipple 2	-	via1
56	0x3f	53	0xff	stipple 36	-	via2arrow
82	0x3f	53	0xff	stipple 2	-	via2alt
57	0x3f	6	0xff	stipple 2	-	via3alt
58	0x3f	34	0x00	stipple	1	-	gen_contact
32	0x3f	35	0xff	cross	0	-	contact_X'es
33	0x3f	35	0xff	stipple 2	-	contact_waffle
#
64	0x3f	46	0x00	stipple	7	-	metal6
94	0x3f	46	0x00	stipple	1	-	obsmetal6
59	0x3f	16	0xff	stipple 2	-	via5
65	0x3f	38	0x00	stipple	5	-	metal7
95	0x3f	38	0x00	stipple	1	-	obsmetal7
60	0x3f	46	0xff	stipple 28	-	via6
66	0x3f	34	0x00	stipple	10	-	metal8
96	0x3f	34	0x00	stipple	1	-	obsmetal8
61	0x3f	51	0xff	stipple 29	-	via7
75	0x3f	76	0x00	stipple 8	-	metal9
97	0x3f	74	0x00	stipple 1	-	obsmetal9
76	0x3f	34	0xff	stipple 30	-	via8
77	0x3f	76	0x00	stipple 9	-	metal10
98	0x3f	75	0x00	stipple 1	-	obsmetal10
78	0x3f	34	0xff	stipple 31	-	via9
#
62	0x3f	0	0x00	solid	0	-	mim_bottom
63	0x3f	0	0x00	solid	0	-	mim_top
34	0x3f	34	0xff	stipple 10	-	overglass
67	0x3f	9	0x00	outline	0	-	subcircuit
68	0x3f	33	0x00	stipple 12	-	mems
#

stipples
#-----------------------------------+---------------------------------------
# hex bit pattern (8x8)	        description
#-----------------------------------+---------------------------------------
1  40 00 18 00 18 00 00 00	very sparsed stripes, ll to ur
2  cc cc 00 00 33 33 00 00	coarse knight's move (waffle)
3  ee 77 bb dd ee 77 bb dd	all but diagonal stripes, ll to ur
4  00 00 cc cc 00 00 cc cc	offset waffle
5  40 20 10 08 04 02 01 80	sparse diagonal stripes, ll to ur
6  aa 55 aa 55 aa 55 aa 55	half 'n half (checkerboard)
7  02 04 08 10 20 40 80 01	sparse diagonal stripes, lr to ul
8  81 03 06 0c 18 30 60 c0	wide sparse diagonal stripes, lr to ul
9  81 c0 60 30 18 0c 06 03	wide sparse diagonal stripes, ll to ur
10 00 00 00 ff 00 00 00 ff	horizontal stripes
11 44 44 44 44 44 44 44 44	vertical stripes
12 55 aa 55 aa 55 aa 55 aa	complement of half `n half
13 33 33 ff ff cc cc ff ff	complement of #2 (coarse knight's move)
14 aa 55 aa 55 aa 55 aa 55	half 'n half (checkerboard)
15 00 01 00 18 00 00 00 18	very sparsed stripes, 11 to ur
16 c0 07 ff ff c0 07 ff ff	wide horizontal stripes
17 c7 c7 c7 c7 c7 c7 c7 c7	wide vertical stripes
18 7c 7c 7c 7c 7c 7c 7c 7c	wide vertical stripes (reverse of 17)
19 3c c3 42 42 c3 3c 24 24	bubbles
20 24 42 81 81 42 24 18 18	offset diagonal crossex
21 10 20 00 00 00 02 04 08	diagonal dotted line, lr to ul
22 08 04 00 00 00 40 20 10      diagonal dotted line, ll to ur
23 3c 66 c3 81 c3 66 3c 18	dense diagonal crossex
24 c3 3c bd bd 3c c3 db db	complement of #19 empty bubbles
25 dd bb 77 ee dd bb 77 ee	all but diagonal stripes, lr to ul
26 e2 4e 52 29 94 e4 8e 11	T pattern
27 71 47 41 00 42 72 47 99	sparse offset T pattern
28 99 3c 7e e7 e7 7e 3c 99	alternating diamonds
29 44 88 55 22 44 88 55 22	bricks, ll to ur
30 30 60 c0 c1 63 36 1c 18	bricks, lr to ul 
31 55 db 22 db 55 db 22 db	linoleum
32 60 c0 81 03 06 0c 18 30
33 00 00 00 30 60 60 30 00	new gc thin
34 00 02 06 0e 0e 06 02 00
35 00 7e 3c 18 00 e7 c3 81	arrows pointing up
36 e0 62 26 0e 0e 26 62 e0	arrows pointing left
