# Magic design style file for use with the pharosc libraries. # www.vlsitechnology.org # # This display style file has been modified from the original work by # Jen-I Pi of the University of Southern California as described below. # This was then updated to support multiple metal layers and implants, # and distributed with recent Magic releases. # # This file uses the same numbers and names for each layer, but has # changed the stipple patterns. Used with modified colours in the # companion cmap file, the look of pharosc layout in Magic is very # similar to the look in Alliance Graal and Dreal. # Stipple patterns 37,38 and 39 have been added. # # 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 # ----+------+--------+--------+------+-------+------+-------------- # Num 0 is the tkcon background window 0 0x7f 97 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 # ----+------+--------+--------+------+-------+------+-------------- # Num 1 is the box 1 0x20 35 0x00 solid 0 - solid_highlights 2 0x20 35 0x00 stipple 12 - medium_highlights 3 0x20 35 0x00 stipple 9 - pale_highlights 4 0x20 35 0x00 stipple 10 - horiz_highlights 5 0x20 35 0x00 stipple 11 - vert_highlights 6 0x20 35 0xff outline 0 - outline_highlights 7 0x20 35 0xcc outline 0 - dotted_highlights # 8 0x40 35 0xff outline 0 - erase_box 9 0x7f 35 0x00 solid 0 - erase_highlights # Num 10 defines background colour of layout window 10 0x7f 0 0x00 solid 0 - erase_everything 11 0x3f 35 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 0x88 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 # # 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 # ----+------+--------+--------+------+-------+------+-------------- 27 0x3f 32 0x00 solid 0 W white 28 0x3f 33 0x00 solid 0 - gray1 (pale) 29 0x3f 34 0x00 solid 0 k gray2 (dark) 30 0x3f 35 0x00 solid 0 K black 31 0x3f 36 0x00 solid 0 r red1 (pale) 32 0x3f 37 0x00 solid 0 - red2 (medium) 33 0x3f 38 0x00 solid 0 R red3 (dark) 34 0x3f 39 0x00 solid 0 g green1 (pale) 35 0x3f 40 0x00 solid 0 - green2 (medium) 36 0x3f 41 0x00 solid 0 G green3 (dark) 37 0x3f 42 0x00 solid 0 b blue1 38 0x3f 43 0x00 solid 0 B blue2 (dark) 39 0x3f 44 0x00 solid 0 - blue3 40 0x3f 45 0x00 solid 0 p purple1 41 0x3f 46 0x00 solid 0 P purple2 42 0x3f 47 0x00 solid 0 y yellow1 43 0x3f 48 0x00 solid 0 Y yellow2 44 0x3f 49 0x00 solid 0 o orange1 45 0x3f 50 0x00 solid 0 O orange2 46 0x3f 51 0x00 solid 0 - brown1 47 0x3f 52 0x00 solid 0 - brown2 48 0x3f 53 0x00 solid 0 - magenta 49 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 #---------------------------------------------------------------------- # Modified entries (like number 67 below) have been aligned to the # comment header. Unused entries like 87 below are not aligned. #---------------------------------------------------------------------- # # Poly-diff styles: # stipple short long # num mask color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 12 0x07 7 0xff stipple 38 - nwell 13 0x07 33 0xff stipple 39 - pwell 36 0x07 40 0xff stipple 38 - nselect 35 0x07 41 0xff stipple 39 - pselect 1 0x07 1 0x00 solid 0 - polysilicon 2 0x07 2 0x00 solid 0 - ndiffusion 4 0x07 3 0x00 solid 0 - pdiffusion 3 0x07 13 0x00 solid 0 - ndiff_in_nwell 5 0x07 14 0x00 solid 0 - pdiff_in_pwell 26 0x07 45 0x00 solid 0 - poly_contact 71 0x07 45 0x00 solid 0 - ncontact 74 0x07 45 0x00 solid 0 - pcontact 6 0x07 4 0x00 solid 0 - ntransistor 8 0x07 5 0x00 solid 0 - ptransistor 87 0x07 50 0x00 solid 0 - poly_light 88 0x07 1 0x00 stipple 1 - obspoly 69 0x07 40 0x00 solid 0 - mvndiff 70 0x07 41 0x00 solid 0 - hvndiff 72 0x07 51 0x00 solid 0 - mvpdiff 73 0x07 52 0x00 solid 0 - hvpdiff 7 0x07 2 0x00 stipple 7 - ntransistor_stripes 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 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 42 0x00 solid 0 - via # # Metal styles: # stipple short long # num mask color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 49 0x08 44 0x00 stipple 12 - metal1tight 20 0x08 8 0x00 stipple 12 - metal1 21 0x10 16 0x00 stipple 6 - metal2 22 0x3f 101 0x00 stipple 5 - metal3 23 0x3f 79 0x00 stipple 6 - metal4 24 0x3f 3 0x00 stipple 5 - metal5 64 0x3f 53 0x00 stipple 6 - metal6 81 0x07 42 0x00 stipple 3 - via1 37 0x07 65 0x00 stipple 25 - via2 38 0x07 105 0x00 stipple 6 - via3 39 0x07 78 0x00 stipple 12 - via4 59 0x07 37 0x00 stipple 40 - via5 67 0x3f 64 0x0f outline 0 - subcircuit 25 0x3f 37 0x00 solid 0 - pad4 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 # 40 0x3f 53 0x00 stipple 5 - check_paint 41 0x3f 54 0x00 stipple 7 - check_subcells 42 0x3f 35 0x00 stipple 4 - error_waffle # 43 0x07 2 0x00 stipple 5 - nselect_old 44 0x07 3 0x00 stipple 7 - pselect_old 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 50 0x10 16 0x00 stipple 19 - metal2tight 51 0x3f 53 0x00 stipple 8 - metal3tight 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 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 # 65 0x3f 38 0x00 stipple 9 - metal7 60 0x3f 46 0xff stipple 28 - via6 66 0x3f 34 0x00 stipple 16 - metal8 61 0x3f 51 0xff stipple 29 - via7 75 0x3f 74 0x00 stipple 8 - metal9 76 0x3f 7 0xff stipple 30 - via8 77 0x3f 75 0x00 stipple 9 - metal10 78 0x3f 7 0xff stipple 31 - via9 89 0x08 8 0x00 stipple 1 - obsmetal1 90 0x10 16 0x00 stipple 1 - obsmetal2 91 0x3f 53 0x00 stipple 1 - obsmetal3 92 0x3f 33 0x00 stipple 1 - obsmetal4 93 0x3f 44 0x00 stipple 1 - obsmetal5 94 0x3f 46 0x00 stipple 1 - obsmetal6 95 0x3f 38 0x00 stipple 1 - obsmetal7 96 0x3f 34 0x00 stipple 1 - obsmetal8 97 0x3f 74 0x00 stipple 1 - obsmetal9 98 0x3f 75 0x00 stipple 1 - obsmetal10# 62 0x3f 0 0x00 solid 0 - stack1 63 0x3f 0 0x00 solid 0 - stack2 34 0x3f 34 0xff stipple 10 - overglass 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 # ----+------+--------+--------+------+-------+------+-------------- 12 0x07 7 0xff stipple 38 - nwell 13 0x07 33 0xff stipple 39 - pwell 36 0x07 40 0xff stipple 38 - nselect 35 0x07 41 0xff stipple 39 - pselect 1 0x07 1 0x00 solid 0 - polysilicon 2 0x07 2 0x00 solid 0 - ndiffusion 4 0x07 3 0x00 solid 0 - pdiffusion 3 0x07 13 0x00 solid 0 - ndiff_in_nwell 5 0x07 14 0x00 solid 0 - pdiff_in_pwell 26 0x07 45 0x00 solid 0 - poly_contact 71 0x07 45 0x00 solid 0 - ncontact 74 0x07 45 0x00 solid 0 - pcontact 6 0x07 4 0x00 solid 0 - ntransistor 8 0x07 5 0x00 solid 0 - ptransistor 87 0x07 50 0x00 solid 0 - poly_light 88 0x07 1 0x00 stipple 1 - obspoly 69 0x07 40 0x00 solid 0 - mvndiff 70 0x07 41 0x00 solid 0 - hvndiff 72 0x07 51 0x00 solid 0 - mvpdiff 73 0x07 52 0x00 solid 0 - hvpdiff 7 0x07 2 0x00 stipple 7 - ntransistor_stripes 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 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 42 0x00 solid 0 - via # # Metal styles: # stipple short long # num mask color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 49 0x08 44 0x00 stipple 12 - metal1tight 20 0x08 8 0x00 stipple 12 - metal1 21 0x10 16 0x00 stipple 6 - metal2 22 0x3f 101 0x00 stipple 5 - metal3 23 0x3f 79 0x00 stipple 6 - metal4 24 0x3f 3 0x00 stipple 5 - metal5 64 0x3f 53 0x00 stipple 6 - metal6 81 0x07 42 0x00 stipple 3 - via1 37 0x07 65 0x00 stipple 25 - via2 38 0x07 105 0x00 stipple 6 - via3 39 0x07 78 0x00 stipple 12 - via4 59 0x07 37 0x00 stipple 40 - via5 67 0x3f 64 0x0f outline 0 - subcircuit 25 0x07 37 0x00 stipple 18 - pad4 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 # 40 0x3f 53 0x00 stipple 5 - check_paint 41 0x3f 54 0x00 stipple 7 - check_subcells 42 0x3f 35 0x00 stipple 4 - error_waffle # 43 0x07 2 0x00 stipple 5 - nselect_old 44 0x07 3 0x00 stipple 7 - pselect_old 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 50 0x10 16 0x00 stipple 5 - metal2tight 51 0x3f 53 0x00 stipple 21 - metal3tight 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 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 # 65 0x3f 38 0x00 stipple 5 - metal7 60 0x3f 46 0xff stipple 28 - via6 66 0x3f 34 0x00 stipple 10 - metal8 61 0x3f 51 0xff stipple 29 - via7 75 0x3f 76 0x00 stipple 8 - metal9 76 0x3f 34 0xff stipple 30 - via8 77 0x3f 76 0x00 stipple 9 - metal10 78 0x3f 34 0xff stipple 31 - via9 89 0x08 8 0x00 stipple 1 - obsmetal1 90 0x10 16 0x00 stipple 1 - obsmetal2 91 0x3f 53 0x00 stipple 1 - obsmetal3 92 0x3f 33 0x00 stipple 1 - obsmetal4 93 0x3f 44 0x00 stipple 1 - obsmetal5 94 0x3f 46 0x00 stipple 1 - obsmetal6 95 0x3f 38 0x00 stipple 1 - obsmetal7 96 0x3f 34 0x00 stipple 1 - obsmetal8 97 0x3f 74 0x00 stipple 1 - obsmetal9 98 0x3f 75 0x00 stipple 1 - obsmetal10# 62 0x3f 0 0x00 solid 0 - stack1 63 0x3f 0 0x00 solid 0 - stack2 34 0x3f 34 0xff stipple 10 - overglass 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 37 22 00 88 00 22 00 88 00 sparse dots 38 20 00 00 00 02 00 00 00 very sparse dots 39 00 00 80 00 00 00 08 00 very sparse dots 40 55 55 55 55 55 55 55 55 vertical lines