#**** Modifications by Dave Durfee and Markus G. Wloka #**** Copyright (C) 1987 Brown University #**** All rights reserved. #*** # # # 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 both nMOS and CMOS # 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. # #1/19/87 dad The X server sets the 0 and 1 color values and # magic has no control over them. # we use the 0 and 1 colors that X gives us but we # don't rely on them to be the color we want. In # other words, don't make pdiff or something like # that be color 1. Make the bounding box be color 1. # # 4/89 Mayo Moved some colors around, and inverted the low-order bit # to avoid radical color changes when cursor moves out of # the window on a DECstation 3100. # BitPlane Usage: # # # msb lsb # --------+-------+ # | 3 | 2 | 1 | 0 | # --------+-------+ # \_______/ # | | | # | | +---- poly, diff, fets # | +------------ metal1 # +---------------- metal2 # # Bits 0-2 represent the material on the poly-diff plane (poly, # different flavors of diffusion, different flavors of transistor) # with mutually-opaque colors. # # Bits 3-4 are used for the two metal layers. Each layer has a # separate bit plane, so the two metal layers are mutually transparent, # and they are both transparent with respect to the poly-diff layers. # display_styles 4 # # Poly-diff styles: # stipple short long # num mask color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 1 003 002 000 stipple 1 - polysilicon 2 003 003 000 solid 0 - ndiffusion 3 003 003 000 stipple 13 - ndiff_in_nwell 4 003 002 000 solid 0 - pdiffusion 5 003 002 000 stipple 13 - pdiff_in_pwell 6 003 003 000 stipple 25 - ntransistor 7 003 003 000 stipple 24 - ntransistor_stripes 8 003 002 000 stipple 26 - ptransistor 9 003 002 000 stipple 9 - ptransistor_stripes 10 003 002 000 stipple 9 - dfet_stripes 11 003 002 000 stipple 8 - dcap_stripes 12 003 003 000 stipple 28 - nwell 13 003 002 000 stipple 27 - pwell # # Metal styles: # stipple short long # num mask color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 20 004 005 000 solid 0 - metal1 21 010 011 000 solid 0 - metal2 # # Opaque stipples and such for mask display: # stipple short long # num mask color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 32 077 004 377 cross 0 - contact_X'es 33 077 004 377 stipple 2 - contact_waffle 34 077 004 377 stipple 5 - overglass # 37 077 004 000 stipple 14 - rotate 38 077 004 070 stipple 3 - fence 39 077 004 000 stipple 12 - magnet # 40 077 004 000 stipple 5 - check_paint 41 077 004 000 stipple 7 - check_subcells 42 077 004 000 stipple 4 - error_waffle # #------------------------------------------------------ # Versions of previous layers to use in non-edit cells: #------------------------------------------------------ # Too bad that we don't have enough colors with a 4 bit system # to do this. All layers will look the same either way. # # stipple short long # num mask color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 65 003 002 000 stipple 1 - polysilicon 66 003 003 000 solid 0 - ndiffusion 67 003 003 000 stipple 13 - ndiff_in_nwell 68 003 002 000 solid 0 - pdiffusion 69 003 002 000 stipple 13 - pdiff_in_pwell 70 003 003 000 stipple 25 - ntransistor 71 003 003 000 stipple 24 - ntransistor_stripes 72 003 002 000 stipple 26 - ptransistor 73 003 002 000 stipple 9 - ptransistor_stripes 74 003 002 000 stipple 9 - dfet_stripes 75 003 002 000 stipple 8 - dcap_stripes 76 003 003 000 stipple 28 - nwell 77 003 002 000 stipple 27 - pwell # # Metal styles: # stipple short long # num mask color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 84 004 005 000 solid 0 - metal1 85 010 011 000 solid 0 - metal2 # # Opaque stipples and such for mask display: # stipple short long # num mask color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 96 077 004 377 cross 0 - contact_X'es 97 077 004 377 stipple 2 - contact_waffle 98 077 004 377 stipple 5 - overglass # 101 077 004 000 stipple 14 - rotate 102 077 004 070 stipple 3 - fence 103 077 004 000 stipple 12 - magnet # 104 077 004 000 stipple 5 - check_paint 105 077 004 000 stipple 7 - check_subcells 106 077 004 000 stipple 4 - error_waffle # #---------------------------------------------------------------------- # All of the styles above this point are used by the technology file, # and the style numbers in the technology file must match. All of the # styles below this point are used internally by Magic for things # like menus, drawing the box, etc. The style numbers must match the # definitions in style.h. #---------------------------------------------------------------------- # # General-purpose opaque colors. These entries define a whole # bunch of generally-useful colors. Although all of the fill # styles here are solid, the same colors are used in many other # places with different fill and outline styles. # # stipple short long # num mask color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 129 017 004 000 solid 0 W white 130 017 013 000 stipple 21 - gray1 (pale) 131 017 013 000 stipple 6 - gray2 (dark) 132 017 016 000 solid 0 - black 133 017 002 000 stipple 20 r red1 (pale) 134 017 002 000 stipple 22 - red2 (medium) 135 017 002 000 stipple 6 R red3 (dark) 136 017 003 000 stipple 20 g green1 (pale) 137 017 003 000 stipple 22 - green2 (medium) 138 017 003 000 stipple 6 G green3 (dark) 139 017 005 000 stipple 20 b blue1 140 017 005 000 stipple 22 - blue2 141 017 005 000 stipple 6 B blue3 142 017 011 000 stipple 21 p purple1 143 017 011 000 stipple 6 P purple2 144 017 004 000 stipple 19 y yellow1 145 017 004 000 stipple 21 Y yellow2 146 017 012 000 stipple 19 o orange1 147 017 012 000 stipple 21 O orange2 148 017 012 000 stipple 21 - brown1 149 017 012 000 stipple 6 - brown2 150 017 004 000 stipple 22 - magenta 151 017 004 000 stipple 22 - cyan 152 017 012 000 solid 0 K black # # Opaque styles used for drawing and erasing highlights, window borders, # etc. Most of them use the color numbers defined above, in order # to conserve colors. # stipple short long # num mask color outline fill number name name # ----+------+--------+--------+------+-------+------+-------------- 160 003 000 000 solid 0 - solid_highlights 161 003 000 000 stipple 1 - medium_highlights 162 003 000 000 stipple 20 - pale_highlights 163 003 000 000 stipple 10 - horiz_highlights 164 003 000 000 stipple 11 - vert_highlights 165 003 000 377 outline 0 - outline_highlights 166 003 000 314 outline 0 - dotted_highlights # 167 003 001 377 outline 0 - erase_box 168 003 001 000 solid 0 - erase_highlights 169 017 001 000 solid 0 - erase_everything 170 017 001 000 solid 0 - erase_all_but_highl # 171 017 000 377 outline 0 - labels 172 017 000 377 outline 0 - bounding_boxes 173 017 000 252 grid 0 - dotted_grid 174 017 000 377 grid 0 - solid_grid 175 017 000 000 solid 0 - origin_square 176 017 000 377 outline 0 - draw_tile_details # 177 017 012 000 solid 0 w window_border 178 017 012 377 stipple 6 - window_elevator 179 017 004 000 solid 0 - window_caption 180 017 017 000 solid 0 b window_background # 181 017 012 000 solid 0 - color_editing # # The style below means "no color at all". It is special, in that # it is used by cursors to indicate transparency. # 182 017 002 000 solid 0 - no_color_at_all stipples # bit pattern description #-----------------------------------+--------------------------- 0 777 777 777 777 777 777 777 777 -for brown workstation environment- 1 210 042 210 042 210 042 210 042 knight's move 2 360 360 360 360 000 000 000 000 coarse knight's move (waffle) 3 000 000 000 000 000 000 000 377 sparse horizontal stripes 4 000 000 314 314 000 000 314 314 offset waffle 5 100 040 020 010 004 002 001 200 sparse diagonal stripes, ll to ur 6 252 125 252 125 252 125 252 125 half 'n half (checkerboard) 7 002 004 010 020 040 100 200 001 sparse diagonal stripes, lr to ul 8 201 102 044 030 030 044 102 201 sparse diagnoal crosses. 9 003 201 300 140 060 030 014 006 wide sparse diagonal stripes, ll to ur 10 000 000 000 377 000 000 000 377 horizontal stripes 11 104 104 104 104 104 104 104 104 vertical stripes 12 125 252 125 252 125 252 125 252 complement of half `n half 13 063 063 777 777 314 314 777 777 complement of #2 (coarse knight's move) 14 000 000 000 030 030 000 000 000 sparse dots. 15 167 335 167 335 167 335 167 335 complement of #1 (knight's move) 16 104 356 104 000 104 356 104 000 pluses 17 300 014 300 014 300 014 300 014 minuses 18 034 203 160 016 301 700 007 340 lines, sloped 1/3 19 210 000 000 000 210 000 000 000 4/64ths 20 000 021 000 104 000 021 000 104 8/64ths 21 000 042 210 104 000 042 210 104 12/64ths 22 104 210 042 021 104 210 042 021 16/64ths 23 314 210 021 063 314 210 021 063 24/64ths 24 300 201 003 006 014 030 060 140 wide sparse diagonal stripes (lr to ul) 25 210 063 210 146 210 063 210 146 OR of 1&20 26 314 352 314 042 314 356 314 042 OR of 1&16 27 200 000 200 000 010 000 010 000 4/64ths: vertical pairs 28 000 012 000 000 000 240 000 000 4/64ths: horizontal pairs