# # Magic distribution Version 7.3 # # This file has been updated for 10-metal processes # # (C) Copyright 2001-2008 by # R. Timothy Edwards # MultiGiG, Inc., Scotts Valley, CA # # Last Modified Date: 12/03/03 # # This file describes the various display styles that are available # in Magic. 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. # The "version" keyword replaces the version embedded in the filename. # Please send bug reports/comments to tim@opencircuitdesign.com version 8 # # There is no bit plane usage in OpenGL. # The "mask" column used by other style files represents # the degree of opacity in the OpenGL version of magic. # opaque = 0 is completely transparent (nothing gets drawn), # while opaque = 120 is completely opaque. Note that these # numbers are decimal (vs. octal in version 6 and earlier). # The bit planes argument of the display_styles is set to 24 # so we don't lose any bits in color definitions. 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 opaque color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 0 0 0 0x00 solid 0 . no_color_at_all # # Opaque styles used for drawing and erasing highlights, window borders, # etc. # stipple short long # num opaque color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 1 127 64 0x00 solid 0 - solid_highlights 2 92 64 0x00 stipple 12 - medium_highlights 3 92 64 0x00 stipple 9 - pale_highlights 4 92 64 0x00 stipple 10 - horiz_highlights 5 92 64 0x00 stipple 11 - vert_highlights 6 127 64 0xff outline 0 - outline_highlights 7 92 64 0xcc outline 0 - dotted_highlights # 8 92 0 0xff outline 0 e erase_box 9 127 0 0x00 solid 0 - erase_highlights 10 127 0 0x00 solid 0 E erase_everything 11 92 0 0x00 solid 0 - erase_all_but_highl # 12 92 59 0xff outline 0 l labels 13 92 45 0xff outline 0 L ports 14 127 54 0xff outline 0 i port_connections 15 92 35 0xff outline 0 - bounding_boxes 16 92 60 0xff grid 0 - solid_grid 17 92 35 0xaa grid 0 - dotted_grid 18 92 35 0x00 solid 0 - origin_square 19 92 35 0xff outline 0 - draw_tile_details # 20 127 55 0x00 solid 0 w window_border 21 127 55 0xff stipple 6 - window_elevator 22 127 56 0x00 solid 0 c window_caption 23 127 57 0x00 solid 0 x window_background # 24 127 58 0x00 solid 0 - color_editing # 25 127 60 0x00 solid 0 T tk_medium_gray 26 127 62 0x00 solid 0 t tk_light_gray # 27 127 47 0xff outline 0 - pale_labels 28 127 80 0xff outline 0 - pale_ports # # General-purpose opaque colors. These entries define a whole # bunch of generally-useful colors. # # stipple short long # num opaque color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 29 127 32 0x00 solid 0 W white 30 127 33 0x00 solid 0 - gray1 (pale) 31 127 34 0x00 solid 0 k gray2 (dark) 32 127 35 0x00 solid 0 K black 33 127 36 0x00 solid 0 r red1 (pale) 34 127 37 0x00 solid 0 - red2 (medium) 35 127 38 0x00 solid 0 R red3 (dark) 36 127 39 0x00 solid 0 g green1 (pale) 37 127 40 0x00 solid 0 - green2 (medium) 38 127 41 0x00 solid 0 G green3 (dark) 39 127 42 0x00 solid 0 b blue1 40 127 43 0x00 solid 0 B blue2 (dark) 41 127 44 0x00 solid 0 - blue3 42 127 45 0x00 solid 0 p purple1 43 127 46 0x00 solid 0 P purple2 44 127 47 0x00 solid 0 y yellow1 45 127 48 0x00 solid 0 Y yellow2 46 127 49 0x00 solid 0 o orange1 47 127 50 0x00 solid 0 O orange2 48 127 51 0x00 solid 0 n brown1 49 127 52 0x00 solid 0 N brown2 50 127 53 0x00 solid 0 m magenta 51 127 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 and # number of styles must match the definitions in misc/style.h. # All of the styles below this point are used by the technology file, # addressed by name or number. Note that the numbers are only for # backwards compatibility with .tech27 files which specify styles # by number only. The order in which styles are drawn is the order # in which they appear in this file, not the "num" column. The # ordinal numbering reflects vagaries of the 8-bit-plane setup. # 24-bit styles have been re-ordered to match the physical vertical # position of layers in the layout. #---------------------------------------------------------------------- layout_styles # # num opaque color outline fill number name name #---------------------------------------------------------------------- 10 63 6 0x00 stipple 7 - cwell 52 92 2 0x00 stipple 19 - cwellnsc 79 63 4 0x00 stipple 21 - highvolt_nwell 80 63 5 0x00 stipple 22 - highvolt_pwell 12 63 2 0xff stipple 2 - nwell 13 63 3 0xff stipple 2 - pwell 67 120 9 0xff outline 0 - subcircuit 1 120 1 0x00 solid 0 - polysilicon 87 92 50 0x00 solid 0 - poly_light 88 63 1 0x00 stipple 1 - obspoly 2 120 2 0x00 solid 0 - ndiffusion 69 127 40 0x00 solid 0 - mvndiff 70 127 41 0x00 solid 0 - hvndiff 71 127 44 0x00 solid 0 - ncontact 3 120 2 0x00 stipple 13 - ndiff_in_nwell 11 63 5 0x00 stipple 22 - hvndiff_mask 4 120 3 0x00 solid 0 - pdiffusion 72 127 51 0x00 solid 0 - mvpdiff 73 127 52 0x00 solid 0 - hvpdiff 74 127 45 0x00 solid 0 - pcontact 5 120 3 0x00 stipple 13 - pdiff_in_pwell 18 63 4 0x00 stipple 21 - hvpdiff_mask 6 120 4 0x00 solid 0 - ntransistor 7 120 2 0x00 stipple 8 - ntransistor_stripes 8 120 5 0x00 solid 0 - ptransistor 9 120 3 0x00 stipple 9 - ptransistor_stripes 83 20 51 0x00 solid 0 - implant1 84 20 48 0x00 solid 0 - implant2 85 30 38 0x00 solid 0 - implant3 86 30 32 0x00 solid 0 - implant4 53 92 7 0x00 stipple 7 - nwell_field_implant 54 92 7 0x00 stipple 5 - substrate_field_implant 30 92 2 0x00 stipple 22 - ndop_stripes 31 92 3 0x00 stipple 21 - pdop_stripes 36 92 2 0xff stipple 15 - nselect 35 92 3 0xff stipple 1 - pselect 43 92 2 0x00 stipple 5 - nselect2 44 92 3 0x00 stipple 7 - pselect2 47 92 78 0x00 solid 0 - poly_resist 48 92 3 0x00 stipple 7 - poly_resist_stripes 46 92 42 0x00 stipple 7 - silicide_block 14 92 6 0x00 solid 0 - electrode 27 92 3 0x00 stipple 9 - electrode_stripes 28 92 61 0x00 solid 0 - capacitor 15 92 3 0x00 stipple 10 - pbase 16 92 2 0x00 stipple 17 - emitter 17 92 3 0x00 stipple 11 - bccd 20 80 8 0x00 solid 0 - metal1 29 92 8 0x00 stipple 6 - metal1_alt 49 92 8 0x00 stipple 19 - metal1tight 89 63 8 0x00 stipple 1 - obsmetal1 26 92 9 0x00 solid 0 - poly_contact 21 80 16 0x00 solid 0 - metal2 50 92 16 0x00 stipple 19 - metal2tight 90 63 16 0x00 stipple 1 - obsmetal2 19 92 7 0x00 solid 0 - via 55 120 43 0xff stipple 35 - via1arrow 81 120 43 0xff stipple 2 - via1 22 80 53 0x00 solid 0 - metal3 51 92 53 0x00 stipple 8 - metal3tight 91 63 53 0x00 stipple 1 - obsmetal3 37 92 46 0xff stipple 19 - via2 56 120 46 0xff stipple 36 - via2arrow 82 120 46 0xff stipple 2 - via2alt 23 80 33 0x00 solid 0 - metal4 92 63 33 0x00 stipple 1 - obsmetal4 38 92 38 0xff stipple 24 - via3 57 92 6 0x00 stipple 2 - via3alt 24 80 44 0x00 solid 0 - metal5 93 63 44 0x00 stipple 1 - obsmetal5 39 92 41 0xff stipple 26 - via4 64 80 46 0x00 solid 0 - metal6 94 63 46 0x00 stipple 1 - obsmetal6 59 92 74 0xff stipple 2 - via5 65 80 38 0x00 solid 0 - metal7 95 63 38 0x00 stipple 1 - obsmetal7 60 92 46 0xff stipple 28 - via6 66 80 34 0x00 solid 0 - metal8 96 63 34 0x00 stipple 1 - obsmetal8 61 92 9 0xff stipple 29 - via7 75 80 74 0x00 solid 0 - metal9 97 63 74 0x00 stipple 1 - obsmetal9 76 92 40 0xff stipple 30 - via8 77 80 75 0x00 solid 0 - metal10 98 63 75 0x00 stipple 1 - obsmetal10 78 92 7 0xff stipple 31 - via9 62 92 38 0x00 stipple 3 - mim_bottom 63 92 34 0x00 stipple 3 - mim_top 58 92 7 0x00 solid 0 - gen_contact 32 92 7 0xff cross 0 - contact_X'es 33 92 7 0xff stipple 2 - contact_waffle 25 92 37 0x00 solid 0 - pad4 34 92 34 0xff stipple 10 - overglass 68 92 33 0xff solid 0 - mems 40 92 53 0x00 stipple 5 - check_paint 41 92 54 0x00 stipple 7 - check_subcells 42 127 32 0x00 stipple 4 - error_waffle 45 92 35 0x00 solid 0 - comment # #---------------------------------------------------------------------- # 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 opaque color outline fill number name name #---------------------------------------------------------------------- 10 92 70 0x00 stipple 7 - cwell 52 92 2 0x00 stipple 13 - cwellnsc 79 92 71 0x00 stipple 21 - highvolt_nwell 80 92 69 0x00 stipple 22 - highvolt_pwell 12 92 66 0xff stipple 2 - nwell 13 92 67 0xff stipple 2 - pwell 67 92 73 0xff outline 0 - subcircuit 1 92 65 0x00 solid 0 - polysilicon 87 92 49 0x00 solid 0 - poly_light 88 92 65 0x00 stipple 1 - obspoly 2 92 66 0x00 solid 0 - ndiffusion 69 127 40 0x00 stipple 3 - mvndiff 70 127 41 0x00 stipple 3 - hvndiff 71 127 45 0x00 stipple 3 - ncontact 3 92 66 0x00 stipple 13 - ndiff_in_nwell 11 92 69 0x00 stipple 22 - hvndiff_mask 4 92 67 0x00 solid 0 - pdiffusion 72 127 51 0x00 stipple 25 - mvpdiff 73 127 52 0x00 stipple 25 - hvpdiff 74 127 44 0x00 stipple 25 - pcontact 5 92 67 0x00 stipple 13 - pdiff_in_pwell 18 92 71 0x00 stipple 21 - hnpdiff_mask 6 92 68 0x00 solid 0 - ntransistor 7 92 66 0x00 stipple 7 - ntransistor_stripes 8 92 69 0x00 solid 0 - ptransistor 9 92 67 0x00 stipple 5 - ptransistor_stripes 83 10 51 0x00 solid 0 - implant1 84 10 48 0x00 solid 0 - implant2 85 15 38 0x00 solid 0 - implant3 86 15 32 0x00 solid 0 - implant4 53 92 7 0x00 stipple 7 - nwell_field_implant 54 92 7 0x00 stipple 5 - substrate_field_implant 30 92 66 0x00 stipple 22 - ndop_stripes 31 92 67 0x00 stipple 21 - pdop_stripes 36 92 66 0xff stipple 15 - nselect 35 92 67 0xff stipple 1 - pselect 43 92 2 0x00 stipple 5 - nselect2 44 92 3 0x00 stipple 7 - pselect2 47 92 142 0x00 solid 0 - poly_resist 48 92 67 0x00 stipple 7 - poly_resist_stripes 46 92 42 0x00 stipple 7 - silicide_block 14 92 70 0x00 solid 0 - electrode 27 92 67 0x00 stipple 9 - electrode_stripes 28 92 125 0x00 solid 0 - capacitor 15 92 67 0x00 stipple 10 - pbase 16 92 66 0x00 stipple 17 - emitter 17 92 67 0x00 stipple 11 - bccd 20 64 72 0x00 solid 0 - metal1 29 92 72 0x00 stipple 6 - metal1_alt 49 92 8 0x00 stipple 14 - metal1tight 89 92 72 0x00 stipple 1 - obsmetal1 26 92 73 0x00 solid 0 - poly_contact 21 64 80 0x00 solid 0 - metal2 50 92 16 0x00 stipple 5 - metal2tight 90 92 80 0x00 stipple 1 - obsmetal2 19 92 71 0x00 solid 0 - via 55 92 107 0xff stipple 35 - via1arrow 81 92 107 0xff stipple 2 - via1 22 64 117 0x00 solid 0 - metal3 51 92 53 0x00 stipple 21 - metal3tight 91 92 117 0x00 stipple 1 - obsmetal3 37 92 110 0xff stipple 19 - via2 56 92 117 0xff stipple 36 - via2arrow 82 92 117 0xff stipple 2 - via2alt 23 64 97 0x00 solid 0 - metal4 92 92 97 0x00 stipple 1 - obsmetal4 38 92 102 0xff stipple 24 - via3 57 92 70 0x00 stipple 2 - via3alt 24 64 108 0x00 solid 0 - metal5 93 92 108 0x00 stipple 1 - obsmetal5 39 92 105 0xff stipple 26 - via4 64 64 110 0x00 solid 0 - metal6 94 92 110 0x00 stipple 1 - obsmetal6 59 92 80 0xff stipple 2 - via5 65 64 102 0x00 solid 0 - metal7 95 92 102 0x00 stipple 1 - obsmetal7 60 92 110 0xff stipple 28 - via6 66 64 98 0x00 solid 0 - metal8 96 92 98 0x00 stipple 1 - obsmetal8 61 92 110 0xff stipple 29 - via7 75 64 76 0x00 solid 0 - metal9 97 92 76 0x00 stipple 1 - obsmetal9 76 92 33 0xff stipple 30 - via8 77 64 77 0x00 solid 0 - metal10 98 92 77 0x00 stipple 1 - obsmetal10 78 92 34 0xff stipple 31 - via9 62 92 102 0x00 stipple 3 - mim_bottom 63 92 98 0x00 stipple 3 - mim_top 58 92 34 0x00 solid 0 - gen_contact 32 92 99 0xff cross 0 - contact_X'es 33 92 99 0xff stipple 2 - contact_waffle 25 92 101 0x00 solid 0 - pad4 34 92 98 0xff stipple 10 - overglass 68 92 97 0xff solid 0 - mems 40 92 53 0x00 stipple 5 - check_paint 41 92 54 0x00 stipple 7 - check_subcells 42 127 32 0x00 stipple 4 - error_waffle 45 92 15 0x00 solid 0 - comment #---------------------------------------------------------------------- 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