diff --git a/technology/freepdk45/tf/FreePDK45.lyp b/technology/freepdk45/tf/FreePDK45.lyp new file mode 100644 index 00000000..9cf38290 --- /dev/null +++ b/technology/freepdk45/tf/FreePDK45.lyp @@ -0,0 +1,1732 @@ + + + + #ff8000 + #ff8000 + 0 + 0 + C36 + C0 + true + true + false + 1 + false + false + 0 + pwell.drawing - 2/0 + 2/0@1 + + + #00cc66 + #00cc66 + 0 + 0 + C36 + C0 + true + true + false + 1 + false + false + 0 + nwell.drawing - 3/0 + 3/0@1 + + + #0000ff + #0000ff + 0 + 0 + C41 + C1 + true + true + false + 1 + false + false + 0 + vtg.drawing - 6/0 + 6/0@1 + + + #0000ff + #0000ff + 0 + 0 + C42 + C1 + true + true + false + 1 + false + false + 0 + vth.drawing - 7/0 + 7/0@1 + + + #00cc66 + #00cc66 + 0 + 0 + C34 + C0 + true + true + false + 1 + false + false + 0 + active.drawing - 1/0 + 1/0@1 + + + #00cc66 + #00cc66 + 0 + 0 + C20 + C0 + true + true + false + 1 + false + false + 0 + nimplant.drawing - 4/0 + 4/0@1 + + + #ff8000 + #ff8000 + 0 + 0 + C20 + C0 + true + true + false + 1 + false + false + 0 + pimplant.drawing - 5/0 + 5/0@1 + + + #ff0000 + #ff0000 + 0 + 0 + C37 + C0 + true + true + false + 1 + false + false + 0 + poly.drawing - 9/0 + 9/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C43 + C0 + true + true + false + 1 + false + false + 0 + thkox.drawing - 8/0 + 8/0@1 + + + #00cc66 + #00cc66 + 0 + 0 + C1 + C0 + true + true + false + 1 + false + false + 0 + contact.drawing - 10/0 + 10/0@1 + + + #0000ff + #0000ff + 0 + 0 + C12 + C0 + true + true + false + 1 + false + false + 0 + metal1.drawing - 11/0 + 11/0@1 + + + #333399 + #ff00ff + 0 + 0 + C39 + C0 + true + true + false + 1 + false + false + 0 + via1.drawing - 12/0 + 12/0@1 + + + #ff00ff + #ff00ff + 0 + 0 + C2 + C0 + true + true + false + 1 + false + false + 0 + metal2.drawing - 13/0 + 13/0@1 + + + #39bfff + #39bfff + 0 + 0 + C39 + C0 + true + true + false + 1 + false + false + 0 + via2.drawing - 14/0 + 14/0@1 + + + #00ffff + #00ffff + 0 + 0 + C11 + C0 + true + true + false + 1 + false + false + 0 + metal3.drawing - 15/0 + 15/0@1 + + + #ffe6bf + #ffe6bf + 0 + 0 + C39 + C0 + true + true + false + 1 + false + false + 0 + via3.drawing - 16/0 + 16/0@1 + + + #ffffcc + #ffffcc + 0 + 0 + C25 + C0 + true + true + false + 1 + false + false + 0 + metal4.drawing - 17/0 + 17/0@1 + + + #0000ff + #0000ff + 0 + 0 + C39 + C0 + true + true + false + 1 + false + false + 0 + via4.drawing - 18/0 + 18/0@1 + + + #39bfff + #39bfff + 0 + 0 + C29 + C0 + true + true + false + 1 + false + false + 0 + metal5.drawing - 19/0 + 19/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C39 + C0 + true + true + false + 1 + false + false + 0 + via5.drawing - 20/0 + 20/0@1 + + + #d9cc00 + #d9cc00 + 0 + 0 + C8 + C0 + true + true + false + 1 + false + false + 0 + metal6.drawing - 21/0 + 21/0@1 + + + #ff00ff + #ff00ff + 0 + 0 + C39 + C0 + true + true + false + 1 + false + false + 0 + via6.drawing - 22/0 + 22/0@1 + + + #00ff00 + #00ff00 + 0 + 0 + C11 + C0 + true + true + false + 1 + false + false + 0 + metal7.drawing - 23/0 + 23/0@1 + + + #39bfff + #39bfff + 0 + 0 + C39 + C0 + true + true + false + 1 + false + false + 0 + via7.drawing - 24/0 + 24/0@1 + + + #ffffff + #ffffff + 0 + 0 + C4 + C0 + true + true + false + 1 + false + false + 0 + metal8.drawing - 25/0 + 25/0@1 + + + #ffffcc + #ffffcc + 0 + 0 + C39 + C0 + true + true + false + 1 + false + false + 0 + via8.drawing - 26/0 + 26/0@1 + + + #ffe6bf + #ffe6bf + 0 + 0 + C6 + C0 + true + true + false + 1 + false + false + 0 + metal9.drawing - 27/0 + 27/0@1 + + + #0000ff + #0000ff + 0 + 0 + C39 + C0 + true + true + false + 1 + false + false + 0 + via9.drawing - 28/0 + 28/0@1 + + + #ff8000 + #ff8000 + 0 + 0 + C29 + C0 + true + true + false + 1 + false + false + 0 + metal10.drawing - 29/0 + 29/0@1 + + + + + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + + 1 + blank + + + + **************** + **************** + **************** + **************** + **************** + **************** + **************** + **************** + **************** + **************** + **************** + **************** + **************** + **************** + **************** + **************** + + 2 + solid + + + + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + + 3 + dots + + + + ................ + ................ + ................ + **************** + ................ + ................ + ................ + **************** + ................ + ................ + ................ + **************** + ................ + ................ + ................ + **************** + + 4 + hLine + + + + ................ + ................ + ................ + ................ + ................ + ................ + ................ + **************** + ................ + ................ + ................ + ................ + ................ + ................ + ................ + **************** + + 5 + hLine2 + + + + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + + 6 + vLine + + + + *......*.......* + *......*.......* + *......*.......* + *......*.......* + *......*.......* + *......*.......* + *......*.......* + *......*.......* + *......*.......* + *......*.......* + *......*.......* + *......*.......* + *......*.......* + *......*.......* + *......*.......* + *......*.......* + + 7 + vLine2 + + + + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + + 8 + cross + + + + *...*...*...*... + .*.......*...... + ................ + ................ + *....*..*....*.. + ....*.......*... + ................ + ................ + *...*...*...*... + .*.......*...... + ................ + ................ + *....*..*....*.. + ....*.......*... + ................ + ................ + + 9 + miniHatch + + + + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + **************** + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + **************** + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + **************** + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + **************** + + 10 + grid + + + + ...*...*...*...* + ..*...*...*...*. + .*...*...*...*.. + *...*...*...*... + ...*...*...*...* + ..*...*...*...*. + .*...*...*...*.. + *...*...*...*... + ...*...*...*...* + ..*...*...*...*. + .*...*...*...*.. + *...*...*...*... + ...*...*...*...* + ..*...*...*...*. + .*...*...*...*.. + *...*...*...*... + + 11 + slash + + + + ...*.......*.... + ..*.......*..... + .*.......*...... + *.......*....... + .......*.......* + ......*.......*. + .....*.......*.. + ....*.......*... + ...*.......*.... + ..*.......*..... + .*.......*...... + *.......*....... + .......*.......* + ......*.......*. + .....*.......*.. + ....*.......*... + + 12 + halfslash + + + + *...*...*...*... + .*...*...*...*.. + ..*...*...*...*. + ...*...*...*...* + *...*...*...*... + .*...*...*...*.. + ..*...*...*...*. + ...*...*...*...* + *...*...*...*... + .*...*...*...*.. + ..*...*...*...*. + ...*...*...*...* + *...*...*...*... + .*...*...*...*.. + ..*...*...*...*. + ...*...*...*...* + + 13 + backSlash + + + + **......**...... + ..*.......*..... + ...**......**... + .....*.......*.. + ......**......** + *.......*....... + .**......**..... + ...*.......*.... + ....**......**.. + ......*.......*. + *......**......* + .*.......*...... + ..**......**.... + ....*.......*... + .....**......**. + .......*.......* + + 14 + hZigZag + + + + *....*....*..... + *.....*....*.... + .*....*.....*... + ..*....*....*... + ..*.....*....*.. + ...*....*.....*. + ....*....*....*. + ....*.....*....* + *....*....*..... + *.....*....*.... + .*....*.....*... + ..*....*....*... + ..*.....*....*.. + ...*....*.....*. + ....*....*....*. + ....*.....*....* + + 15 + vZigZag + + + + .....*....*....* + ....*....*.....* + ...*.....*....*. + ...*....*....*.. + ..*....*.....*.. + .*.....*....*... + .*....*....*.... + *....*.....*.... + .....*....*....* + ....*....*.....* + ...*.....*....*. + ...*....*....*.. + ..*....*.....*.. + .*.....*....*... + .*....*....*.... + *....*.....*.... + + 16 + rvZigZag + + + + ................ + ................ + ...*****...***** + ...*...*...*...* + ...*...*...*...* + ****...*****...* + ................ + ................ + ................ + ................ + ...*****...***** + ...*...*...*...* + ...*...*...*...* + ****...*****...* + ................ + ................ + + 17 + hCurb + + + + .....*.......*.. + .....*.......*.. + .....*.......*.. + ..****....****.. + ..*.......*..... + ..*.......*..... + ..*.......*..... + ..****....****.. + .....*.......*.. + .....*.......*.. + .....*.......*.. + ..****....****.. + ..*.......*..... + ..*.......*..... + ..*.......*..... + ..****....****.. + + 18 + vCurb + + + + **************** + ..*.......*..... + ..*.......*..... + ..*.......*..... + **************** + ......*.......*. + ......*.......*. + ......*.......*. + **************** + ..*.......*..... + ..*.......*..... + ..*.......*..... + **************** + ......*.......*. + ......*.......*. + ......*.......*. + + 19 + brick + + + + ................ + ..*.......*..... + ..*.......*..... + ..*.......*..... + *****...*****... + ..*.......*..... + ..*.......*..... + ..*.......*..... + ................ + .....*.......*.. + .....*.......*.. + .....*.......*.. + ...*****...***** + .....*.......*.. + .....*.......*.. + .....*.......*.. + + 20 + dagger + + + + ................ + ....*........... + ...*.*.......... + ..*...*......... + .*.....*........ + *********....... + ................ + ................ + ................ + ...........*.... + ..........*.*... + .........*...*.. + ........*.....*. + .......********* + ................ + ................ + + 21 + triangle + + + + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + + 22 + x + + + + *............... + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + + 23 + dot1 + + + + ................ + ................ + ................ + ...***.......... + ...***.......... + ...***.......... + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + + 24 + dot2 + + + + ................ + ................ + ..*.....*.....*. + ................ + ................ + .....*.....*.... + ................ + ................ + ..*.....*.....*. + ................ + ................ + .....*.....*.... + ................ + ................ + ..*.....*.....*. + ................ + + 25 + dot3 + + + + ................ + ................ + .*...*.....*.... + ................ + ................ + ........*.....*. + ................ + ................ + .*...*.....*.... + ................ + ................ + ........*.....*. + ................ + ................ + .*...*.....*.... + ................ + + 26 + dot4 + + + + ********........ + ********........ + ********........ + ********........ + ********........ + ********........ + ********........ + ********........ + ........******** + ........******** + ........******** + ........******** + ........******** + ........******** + ........******** + ........******** + + 27 + checker + + + + ..*...*...*..... + ................ + *...*...*...*... + ................ + ..*...*...*...*. + ................ + *...*...*...*... + ................ + ..*...*...*...*. + ................ + *...*...*...*... + ................ + ..*...*...*...*. + ................ + ....*...*...*... + ...............* + + 28 + viap + + + + *............... + **.............. + .**............. + ..**............ + ...**........... + ....**.......... + .....**......... + ......**........ + .......**....... + ........**...... + .........**..... + ..........**.... + ...........**... + ............**.. + .............**. + ..............** + + 29 + metal1S + + + + *..............* + ................ + ................ + ................ + ...........*.... + .....*.......... + ................ + ................ + ................ + ..*............. + ................ + ..........*..... + ................ + ................ + .....*.......... + *..............* + + 30 + metal2S + + + + *.....***.....** + *.......*....... + ***.....***..... + ..*.......*..... + ..***.....***... + ....*.......*... + ....***.....***. + ......*.......*. + *.....***.....** + *.......*....... + ***.....***..... + ..*.......*..... + ..***.....***... + ....*.......*... + ....***.....***. + ......*.......*. + + 31 + gnd2S + + + + ...**......**... + ....*.......*... + .....**......**. + ......*.......*. + *......**......* + *.......*....... + .**......**..... + ..*.......*..... + ...**......**... + ....*.......*... + .....**......**. + ......*.......*. + *......**......* + *.......*....... + .**......**..... + ..*.......*..... + + 32 + vcc2S + + + + *..**...*..**... + .*..*....*..*... + ..*..**...*..**. + ...*..*....*..*. + *...*..**...*..* + *....*..*....*.. + .**...*..**...*. + ..*....*..*....* + *..**...*..**... + .*..*....*..*... + ..*..**...*..**. + ...*..*....*..*. + *...*..**...*..* + *....*..*....*.. + .**...*..**...*. + ..*....*..*....* + + 33 + vcc1S + + + + ................ + ................ + ................ + ..***.....**.... + ..*..*...*..*... + ..*..*......*... + ..***......*.... + ..*.......*..... + ..*......*...... + ..*......****... + ................ + ................ + ................ + ................ + ................ + ................ + + 34 + poly2p + + + + **......**...... + **......**...... + ................ + ................ + ....**......**.. + ....**......**.. + ................ + ................ + **......**...... + **......**...... + ................ + ................ + ....**......**.. + ....**......**.. + ................ + ................ + + 35 + contp + + + + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ...............*................ + ...............*................ + .............*****.............. + ...............*................ + ...............*................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + + 36 + pplusp + + + + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ..........*...........*......... + ..........*.....*.....*......... + ...........*...*.*...*.......... + ...........*...*.*...*.......... + ............*.*...*.*........... + ............*.*...*.*........... + .............*.....*............ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + + 37 + wellp + + + + .*.*.*.*.*.*.*.* + *.*.*.*.*.*.*.*. + .*.*.*.*.*.*.*.* + *.*.*.*.*.*.*.*. + .*.*.*.*.*.*.*.* + *.*.*.*.*.*.*.*. + .*.*.*.*.*.*.*.* + *.*.*.*.*.*.*.*. + .*.*.*.*.*.*.*.* + *.*.*.*.*.*.*.*. + .*.*.*.*.*.*.*.* + *.*.*.*.*.*.*.*. + .*.*.*.*.*.*.*.* + *.*.*.*.*.*.*.*. + .*.*.*.*.*.*.*.* + *.*.*.*.*.*.*.*. + + 38 + checker1 + + + + **..**..**..**.. + **..**..**..**.. + ..**..**..**..** + ..**..**..**..** + **..**..**..**.. + **..**..**..**.. + ..**..**..**..** + ..**..**..**..** + **..**..**..**.. + **..**..**..**.. + ..**..**..**..** + ..**..**..**..** + **..**..**..**.. + **..**..**..**.. + ..**..**..**..** + ..**..**..**..** + + 39 + checker2 + + + + **.***.***.***.* + *.*.*.*.*.*.*.*. + .***.***.***.*** + *.*.*.*.*.*.*.*. + **.***.***.***.* + *.*.*.*.*.*.*.*. + .***.***.***.*** + *.*.*.*.*.*.*.*. + **.***.***.***.* + *.*.*.*.*.*.*.*. + .***.***.***.*** + *.*.*.*.*.*.*.*. + **.***.***.***.* + *.*.*.*.*.*.*.*. + .***.***.***.*** + *.*.*.*.*.*.*.*. + + 40 + invCross + + + + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ........***....***...***........ + .........**....***...**......... + .........**....***...**......... + .........**....*.*...**......... + .........***..**.**..**......... + ..........**..**.**.**.......... + ..........**..**.**.**.......... + ..........**..**.**.**.......... + ..........**..*...*.**.......... + ...........***....***........... + ...........***....***........... + ...........***....***........... + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + + 41 + wellBp + + + + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ...........**********........... + ...........*.........*.......... + ...........*.................... + ...........*.................... + ...........*.................... + ...........*.................... + ...........*....*****........... + ...........*........*........... + ...........*........*........... + ...........*........*........... + ...........**********........... + + 42 + wellvtg + + + + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ...........*.................... + ...........*.......*............ + ...........*.......*............ + ...........*.......*............ + ...........*.......*............ + ...........*********............ + ...........*.......*............ + ...........*.......*............ + ...........*.......*............ + ...........*.......*............ + ...........*.......*............ + + 43 + wellvth + + + + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ...........*********............ + ...........*...*...*............ + ...............*................ + ...............*................ + ...............*................ + ...............*................ + ...............*................ + ...............*................ + ...............*................ + ...............*................ + ...............*................ + + 44 + thickox + + + + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ..............****.............. + ............********............ + ............**...***............ + ...........**.....***........... + ...........**................... + ...........**................... + ...........**................... + ...........**................... + ...........**.....***........... + ............**...***............ + ............*******............. + ..............****.............. + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + ................................ + + 45 + cwellBp + + + + ................ + ................ + .......**....... + .......**....... + .......**....... + .......**....... + ...**********... + ................ + ................ + .....******..... + ....*..**..*.... + ...*...**...*... + .......**....... + .......**....... + ................ + ................ + + 46 + capID + + + + ................ + ................ + ................ + ................ + ...*............ + ...*............ + ..*.*........... + ..*.*........... + ***.*..***...... + .....*.*........ + .....*.*........ + ......*......... + ......*......... + ................ + ................ + ................ + + 47 + resID + + + + ................ + ................ + ................ + ................ + ......*....*.... + ......**...*.... + ......*.*..*.... + ......*..*.*.... + ...****...****.. + ......*..*.*.... + ......*.*..*.... + ......**...*.... + ......*....*.... + ................ + ................ + ................ + + 48 + diodeID + + + + **************** + **************** + **.*.*.***.*.*.* + **************** + **.*.*.***.*.*.* + **************** + **.*.*.***.*.*.* + **************** + **************** + **************** + **.*.*.***.*.*.* + **************** + **.*.*.***.*.*.* + **************** + **.*.*.***.*.*.* + **************** + + 49 + sgrid + + + *** + 1 + solid + + + ****.. + 2 + dashed + + + *.. + 3 + dots + + + ***..*.. + 4 + dashDot + + + **.. + 5 + shortDash + + + ****..**.. + 6 + doubleDash + + + *... + 7 + hidden + + + *** + 8 + thickLine + + + *** + 9 + mLine + + diff --git a/technology/freepdk45/tf/README.txt b/technology/freepdk45/tf/README.txt index 5393b0b3..662dbb7c 100644 --- a/technology/freepdk45/tf/README.txt +++ b/technology/freepdk45/tf/README.txt @@ -44,4 +44,14 @@ Contributions and modifications to this kit are welcomed and encouraged. ncsu_basekit/ Base kit for custom design osu_soc/ Standard-cell kit for synthesis, place, & route +FreePDK45.lyp is converted automatically from the .tf using: +https://github.com/klayoutmatthias/tf_import +Command line: +klayout -z -rd tf_file=FreePDK45.tf -rd lyp_file=FreePDK45.lyp +You can then view layouts with: +klayout file.gds -l mosis.lyp +glade_freepdk45.py is a script for Glade: +https://peardrop.co.uk/ +to load the .tf using: +glade -script ~/openram/technology/freepdk45/tf/glade_freepdk45.py -gds file.gds diff --git a/technology/scn4m_subm/tf/README b/technology/scn4m_subm/tf/README.txt similarity index 63% rename from technology/scn4m_subm/tf/README rename to technology/scn4m_subm/tf/README.txt index d2531fe1..a89a588e 100644 --- a/technology/scn4m_subm/tf/README +++ b/technology/scn4m_subm/tf/README.txt @@ -18,4 +18,16 @@ be found in the file cdb2oa/OA_Conversion.txt. This kit is not yet fully supported. Please post problems and solutions at http://www.chiptalk.org -> Forums -> NCSU CDK -> NCSU CDK 1.6.0.beta for Virtuoso 6.1 -Modified 2018 by MRG to contain SCN4ME Via3/Metal4 layers. \ No newline at end of file +Modified 2018 by MRG to contain SCN4ME Via3/Metal4 layers. + +mosis.lyp is converted automatically from the .tf using: +https://github.com/klayoutmatthias/tf_import +Command line: +klayout -z -rd tf_file=FreePDK45.tf -rd lyp_file=FreePDK45.ly +You can then view layouts with: +klayout file.gds -l mosis.lyp + +glade_scn4m_subm.py is a script for Glade: +https://peardrop.co.uk/ +to load the .tf using: +glade -script ~/openram/technology/scn3me_subm/tf/glade_scn3me_subm.py -gds file.gds diff --git a/technology/scn4m_subm/tf/mosis.lyp b/technology/scn4m_subm/tf/mosis.lyp new file mode 100644 index 00000000..2be8b283 --- /dev/null +++ b/technology/scn4m_subm/tf/mosis.lyp @@ -0,0 +1,2523 @@ + + + + #000000 + #000000 + 0 + 0 + C17 + C8 + false + true + false + 1 + false + false + 0 + background.drawing - 0/0 + 0/0@1 + + + #8c8ca6 + #8c8ca6 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + grid.drawing - 0/0 + 0/0@1 + + + #ccccd9 + #ccccd9 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + grid.drawing1 - 0/0 + 0/0@1 + + + #8c8ca6 + #8c8ca6 + 0 + 0 + C30 + C7 + true + true + false + 3 + false + false + 0 + Nwell.drawing - 42/0 + 42/0@1 + + + #8c8ca6 + #8c8ca6 + 0 + 0 + C25 + C8 + false + true + false + 1 + false + false + 0 + Pwell.drawing - 41/0 + 41/0@1 + + + #8c8ca6 + #8c8ca6 + 0 + 0 + C13 + C0 + true + true + false + 1 + false + false + 0 + CapWell.drawing - 0/0 + 0/0@1 + + + #bf4026 + #bf4026 + 0 + 0 + C1 + C0 + true + true + false + 1 + false + false + 0 + Pselect.drawing - 44/0 + 44/0@1 + + + #00cc66 + #00cc66 + 0 + 0 + C29 + C0 + true + true + false + 1 + false + false + 0 + Nselect.drawing - 45/0 + 45/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C28 + C8 + true + true + false + 1 + false + false + 0 + Active.drawing - 43/0 + 43/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + I1 + C0 + true + true + false + 1 + false + false + 0 + ActX.drawing - 48/0 + 48/0@1 + + + #ffe6bf + #ffe6bf + 0 + 0 + I1 + C1 + true + true + false + 1 + false + false + 0 + SiBlock.drawing - 0/0 + 0/0@1 + + + #737373 + #802626 + 0 + 0 + C15 + C0 + true + true + false + 1 + false + false + 0 + HR.drawing - 0/0 + 0/0@1 + + + #ff3333 + #ff3333 + 0 + 0 + C0 + C8 + true + true + false + 1 + false + false + 0 + Poly1.drawing - 46/0 + 46/0@1 + + + #ff3333 + #ff3333 + 0 + 0 + I1 + C0 + true + true + false + 1 + false + false + 0 + P1Con.drawing - 47/0 + 47/0@1 + + + #ff8000 + #ff8000 + 0 + 0 + C1 + C8 + true + true + false + 1 + false + false + 0 + Poly2.drawing - 0/0 + 0/0@1 + + + #ff8000 + #ff8000 + 0 + 0 + I1 + C8 + true + true + false + 1 + false + false + 0 + P2Con.drawing - 0/0 + 0/0@1 + + + #39bfff + #39bfff + 0 + 0 + C22 + C8 + true + true + false + 1 + false + false + 0 + Metal1.drawing - 49/0 + 49/0@1 + + + #ff00ff + #ff00ff + 0 + 0 + I1 + C0 + true + true + false + 1 + false + false + 0 + Via.drawing - 50/0 + 50/0@1 + + + #ff00ff + #ff00ff + 0 + 0 + C21 + C8 + true + true + false + 1 + false + false + 0 + Metal2.drawing - 51/0 + 51/0@1 + + + #333399 + #333399 + 0 + 0 + I1 + C0 + true + true + false + 1 + false + false + 0 + Via2.drawing - 50/0 + 50/0@1 + + + #5e00e6 + #333399 + 0 + 0 + C5 + C0 + true + true + false + 1 + false + false + 0 + Metal3.drawing - 50/0 + 50/0@1 + + + #ff8000 + #ff8000 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + annotate.drawing - 0/0 + 0/0@1 + + + #ffbff2 + #ffbff2 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + annotate.drawing1 - 0/0 + 0/0@1 + + + #00ff00 + #00ff00 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + annotate.drawing2 - 0/0 + 0/0@1 + + + #00ffff + #00ffff + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + annotate.drawing3 - 0/0 + 0/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + annotate.drawing4 - 0/0 + 0/0@1 + + + #ffffff + #ffffff + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + annotate.drawing5 - 0/0 + 0/0@1 + + + #d9e6ff + #d9e6ff + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + annotate.drawing6 - 0/0 + 0/0@1 + + + #ff3333 + #ff3333 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + annotate.drawing7 - 0/0 + 0/0@1 + + + #ffe6bf + #ffe6bf + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + annotate.drawing8 - 0/0 + 0/0@1 + + + #00cc66 + #00cc66 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + annotate.drawing9 - 0/0 + 0/0@1 + + + #ff3333 + #ff3333 + 0 + 0 + C16 + C8 + true + true + false + 1 + false + false + 0 + Poly1.pin - 0/0 + 0/0@1 + + + #334dff + #334dff + 0 + 0 + C16 + C8 + true + true + false + 1 + false + false + 0 + Metal1.pin - 0/0 + 0/0@1 + + + #ff00ff + #ff00ff + 0 + 0 + C16 + C8 + true + true + false + 1 + false + false + 0 + Metal2.pin - 0/0 + 0/0@1 + + + #333399 + #333399 + 0 + 0 + C16 + C0 + true + true + false + 1 + false + false + 0 + Metal3.pin - 0/0 + 0/0@1 + + + #ffffff + #ffffff + 0 + 0 + I1 + C8 + true + true + false + 1 + false + true + 0 + Glass.drawing - 52/0 + 52/0@1 + + + #d9cc00 + #e0e0e0 + 0 + 0 + I1 + C8 + true + true + false + 1 + false + false + 0 + XP.drawing - 60/0 + 60/0@1 + + + #9900e6 + #9900e6 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + prBoundary.drawing - 0/0 + 0/0@1 + + + #00ffff + #00ffff + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + prBoundary.boundary - 0/0 + 0/0@1 + + + #ff3333 + #e0e0e0 + 0 + 0 + I1 + C0 + true + true + false + 1 + false + false + 0 + instance.drawing - 246/0 + 246/0@1 + + + #d9cc00 + #d9cc00 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + instance.label - 0/0 + 0/0@1 + + + #8c8ca6 + #8c8ca6 + 0 + 0 + C29 + C7 + false + true + false + 3 + false + false + 0 + Nwell.net - 0/0 + 0/0@1 + + + #ffe6bf + #ffe6bf + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + align.drawing - 0/0 + 0/0@1 + + + #8c8ca6 + #8c8ca6 + 0 + 0 + C29 + C8 + false + true + false + 1 + false + false + 0 + Pwell.net - 0/0 + 0/0@1 + + + #8c8ca6 + #8c8ca6 + 0 + 0 + C12 + C0 + false + true + false + 1 + false + false + 0 + CapWell.net - 0/0 + 0/0@1 + + + #ff3333 + #ff3333 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + hardFence.drawing - 0/0 + 0/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C29 + C8 + false + true + false + 1 + false + false + 0 + Active.net - 0/0 + 0/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + softFence.drawing - 0/0 + 0/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C15 + C0 + false + true + false + 1 + false + false + 0 + ActX.net - 0/0 + 0/0@1 + + + #e0e0e0 + #e0e0e0 + 0 + 0 + C16 + C8 + false + true + false + 1 + false + false + 0 + A2.drawing - 5/0 + 5/0@1 + + + #e0e0e0 + #e0e0e0 + 0 + 0 + C16 + C8 + false + true + false + 1 + false + false + 0 + A1.drawing - 2/0 + 2/0@1 + + + #e0e0e0 + #e0e0e0 + 0 + 0 + C16 + C8 + false + true + false + 1 + false + false + 0 + comment.drawing - 0/0 + 0/0@1 + + + #ffe6bf + #ffe6bf + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + border.drawing - 0/0 + 0/0@1 + + + #bf4026 + #bf4026 + 0 + 0 + C29 + C0 + false + true + false + 1 + false + false + 0 + Pselect.net - 0/0 + 0/0@1 + + + #00cc66 + #00cc66 + 0 + 0 + C29 + C0 + false + true + false + 1 + false + false + 0 + Nselect.net - 0/0 + 0/0@1 + + + #ffe6bf + #ffe6bf + 0 + 0 + C15 + C1 + false + true + false + 1 + false + false + 0 + SiBlock.net - 0/0 + 0/0@1 + + + #737373 + #802626 + 0 + 0 + C15 + C0 + false + true + false + 1 + false + false + 0 + HR.net - 0/0 + 0/0@1 + + + #00ffff + #00ffff + 0 + 0 + I1 + C8 + false + true + false + 1 + false + false + 0 + wire.drawing - 0/0 + 0/0@1 + + + #ff3333 + #ff3333 + 0 + 0 + C29 + C8 + false + true + false + 1 + false + false + 0 + Poly1.net - 0/0 + 0/0@1 + + + #ff3333 + #ff3333 + 0 + 0 + C15 + C0 + false + true + false + 1 + false + false + 0 + P1Con.net - 0/0 + 0/0@1 + + + #334dff + #334dff + 0 + 0 + C29 + C8 + false + true + false + 1 + false + false + 0 + Metal1.net - 0/0 + 0/0@1 + + + #ff00ff + #ff00ff + 0 + 0 + C29 + C8 + false + true + false + 1 + false + false + 0 + Metal2.net - 0/0 + 0/0@1 + + + #00cc66 + #00cc66 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + device.label - 0/0 + 0/0@1 + + + #ff00ff + #ff00ff + 0 + 0 + C15 + C0 + false + true + false + 1 + false + false + 0 + Via.net - 0/0 + 0/0@1 + + + #333399 + #333399 + 0 + 0 + C29 + C0 + false + true + false + 1 + false + false + 0 + Metal3.net - 0/0 + 0/0@1 + + + #333399 + #333399 + 0 + 0 + C4 + C0 + false + true + false + 1 + false + false + 0 + Via2.net - 0/0 + 0/0@1 + + + #ff3333 + #ff3333 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + pin.label - 0/0 + 0/0@1 + + + #ffffff + #ffffff + 0 + 0 + I1 + C0 + true + true + false + 1 + false + false + 0 + text.drawing - 63/0 + 63/0@1 + + + #ff3333 + #ff3333 + 0 + 0 + I1 + C8 + false + true + false + 1 + false + false + 0 + pin.drawing - 0/0 + 0/0@1 + + + #00cc66 + #00cc66 + 0 + 0 + I1 + C0 + false + true + false + 1 + false + false + 0 + device.drawing - 0/0 + 0/0@1 + + + #8c8ca6 + #8c8ca6 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + axis.drawing - 0/0 + 0/0@1 + + + #ccccd9 + #ccccd9 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + edgeLayer.drawing - 0/0 + 0/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + edgeLayer.pin - 0/0 + 0/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + snap.drawing - 0/0 + 0/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + stretch.drawing - 0/0 + 0/0@1 + + + #ccccd9 + #ccccd9 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + y0.drawing - 0/0 + 0/0@1 + + + #bf4026 + #bf4026 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + y1.drawing - 0/0 + 0/0@1 + + + #ff3333 + #ff3333 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + y2.drawing - 0/0 + 0/0@1 + + + #ff8000 + #ff8000 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + y3.drawing - 0/0 + 0/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + y4.drawing - 0/0 + 0/0@1 + + + #00cc66 + #00cc66 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + y5.drawing - 0/0 + 0/0@1 + + + #334dff + #334dff + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + y6.drawing - 0/0 + 0/0@1 + + + #9900e6 + #9900e6 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + y7.drawing - 0/0 + 0/0@1 + + + #d9cc00 + #d9cc00 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + y8.drawing - 0/0 + 0/0@1 + + + #d9e6ff + #d9e6ff + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + y9.drawing - 0/0 + 0/0@1 + + + #ffffff + #ffffff + 0 + 0 + I1 + C0 + false + true + false + 1 + false + false + 0 + hilite.drawing - 0/0 + 0/0@1 + + + #ffe6bf + #ffe6bf + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + hilite.drawing2 - 0/0 + 0/0@1 + + + #ffe6bf + #ffe6bf + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + select.drawing - 0/0 + 0/0@1 + + + #334dff + #334dff + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + drive.drawing - 0/0 + 0/0@1 + + + #ff8000 + #ff8000 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + hiz.drawing - 0/0 + 0/0@1 + + + #00ffff + #00ffff + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + resist.drawing - 0/0 + 0/0@1 + + + #9900e6 + #9900e6 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + spike.drawing - 0/0 + 0/0@1 + + + #00ff00 + #00ff00 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + supply.drawing - 0/0 + 0/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + unknown.drawing - 0/0 + 0/0@1 + + + #268c6b + #268c6b + 0 + 0 + C16 + C0 + false + true + false + 1 + false + false + 0 + unset.drawing - 0/0 + 0/0@1 + + + #ff3333 + #ff3333 + 0 + 0 + C16 + C0 + false + false + false + 1 + false + false + 0 + changedLayer.tool0 - 0/0 + 0/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C26 + C8 + true + true + false + 1 + false + false + 0 + Pbase.drawing - 0/0 + 0/0@1 + + + #ffff00 + #ffff00 + 0 + 0 + C29 + C0 + false + true + false + 1 + false + false + 0 + Pbase.net - 0/0 + 0/0@1 + + + #00ffff + #00ffff + 0 + 0 + C29 + C0 + false + true + false + 1 + false + false + 0 + Resistor.net - 0/0 + 0/0@1 + + + #00ffff + #00ffff + 0 + 0 + C28 + C8 + true + true + false + 1 + false + false + 0 + Resistor.drawing - 0/0 + 0/0@1 + + + #ffe6bf + #ffe6bf + 0 + 0 + C29 + C8 + false + true + false + 1 + false + false + 0 + Capacitor.net - 0/0 + 0/0@1 + + + #ffe6bf + #ffe6bf + 0 + 0 + C23 + C8 + true + true + false + 1 + false + false + 0 + Capacitor.drawing - 0/0 + 0/0@1 + + + #ffffcc + #ffffcc + 0 + 0 + C29 + C8 + false + true + false + 1 + false + false + 0 + Diode.net - 0/0 + 0/0@1 + + + #ffffcc + #ffffcc + 0 + 0 + C23 + C8 + true + true + false + 1 + false + false + 0 + Diode.drawing - 0/0 + 0/0@1 + + + #ff8000 + #ff8000 + 0 + 0 + C29 + C8 + false + true + false + 1 + false + false + 0 + Poly2.net - 0/0 + 0/0@1 + + + #ff8000 + #ff8000 + 0 + 0 + C15 + C8 + false + true + false + 1 + false + false + 0 + P2Con.net - 0/0 + 0/0@1 + + + + + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + + 1 + dots + + + + ...*...*...*...* + ................ + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + .*...*...*...*.. + ................ + + 2 + dots1 + + + + ................ + ................ + ................ + **************** + ................ + ................ + ................ + **************** + ................ + ................ + ................ + **************** + ................ + ................ + ................ + **************** + + 3 + hLine + + + + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + + 4 + vLine + + + + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + + 5 + cross + + + + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + **************** + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + **************** + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + **************** + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + **************** + + 6 + grid + + + + ...*...*...*...* + ..*...*...*...*. + .*...*...*...*.. + *...*...*...*... + ...*...*...*...* + ..*...*...*...*. + .*...*...*...*.. + *...*...*...*... + ...*...*...*...* + ..*...*...*...*. + .*...*...*...*.. + *...*...*...*... + ...*...*...*...* + ..*...*...*...*. + .*...*...*...*.. + *...*...*...*... + + 7 + slash + + + + *...*...*...*... + .*...*...*...*.. + ..*...*...*...*. + ...*...*...*...* + *...*...*...*... + .*...*...*...*.. + ..*...*...*...*. + ...*...*...*...* + *...*...*...*... + .*...*...*...*.. + ..*...*...*...*. + ...*...*...*...* + *...*...*...*... + .*...*...*...*.. + ..*...*...*...*. + ...*...*...*...* + + 8 + backSlash + + + + **......**...... + ..*.......*..... + ...**......**... + .....*.......*.. + ......**......** + *.......*....... + .**......**..... + ...*.......*.... + ....**......**.. + ......*.......*. + *......**......* + .*.......*...... + ..**......**.... + ....*.......*... + .....**......**. + .......*.......* + + 9 + hZigZag + + + + *....*....*..... + *.....*....*.... + .*....*.....*... + ..*....*....*... + ..*.....*....*.. + ...*....*.....*. + ....*....*....*. + ....*.....*....* + *....*....*..... + *.....*....*.... + .*....*.....*... + ..*....*....*... + ..*.....*....*.. + ...*....*.....*. + ....*....*....*. + ....*.....*....* + + 10 + vZigZag + + + + ................ + ................ + ...*****...***** + ...*...*...*...* + ...*...*...*...* + ****...*****...* + ................ + ................ + ................ + ................ + ...*****...***** + ...*...*...*...* + ...*...*...*...* + ****...*****...* + ................ + ................ + + 11 + hCurb + + + + .....*.......*.. + .....*.......*.. + .....*.......*.. + ..****....****.. + ..*.......*..... + ..*.......*..... + ..*.......*..... + ..****....****.. + .....*.......*.. + .....*.......*.. + .....*.......*.. + ..****....****.. + ..*.......*..... + ..*.......*..... + ..*.......*..... + ..****....****.. + + 12 + vCurb + + + + **************** + ..*.......*..... + ..*.......*..... + ..*.......*..... + **************** + ......*.......*. + ......*.......*. + ......*.......*. + **************** + ..*.......*..... + ..*.......*..... + ..*.......*..... + **************** + ......*.......*. + ......*.......*. + ......*.......*. + + 13 + brick + + + + ................ + ..*.......*..... + ..*.......*..... + ..*.......*..... + *****...*****... + ..*.......*..... + ..*.......*..... + ..*.......*..... + ................ + .....*.......*.. + .....*.......*.. + .....*.......*.. + ...*****...***** + .....*.......*.. + .....*.......*.. + .....*.......*.. + + 14 + dagger + + + + ................ + ....*........... + ...*.*.......... + ..*...*......... + .*.....*........ + *********....... + ................ + ................ + ................ + ...........*.... + ..........*.*... + .........*...*.. + ........*.....*. + .......********* + ................ + ................ + + 15 + triangle + + + + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + *...*...*...*... + .*.*.*.*.*.*.*.* + ..*...*...*...*. + .*.*.*.*.*.*.*.* + + 16 + x + + + + * + + 17 + stipple0 + + + + **************** + ................ + ................ + ................ + **************** + ................ + ................ + ................ + **************** + ................ + ................ + ................ + **************** + ................ + ................ + ................ + + 18 + stipple1 + + + + ****....****.... + ****....****.... + ****....****.... + ****....****.... + ....****....**** + ....****....**** + ....****....**** + ....****....**** + ****....****.... + ****....****.... + ****....****.... + ****....****.... + ....****....**** + ....****....**** + ....****....**** + ....****....**** + + 19 + stipple2 + + + + *...*...*...*... + *...*...*...*... + *...*...*...*... + *...*...*...*... + *...*...*...*... + *...*...*...*... + *...*...*...*... + *...*...*...*... + *...*...*...*... + *...*...*...*... + *...*...*...*... + *...*...*...*... + *...*...*...*... + *...*...*...*... + *...*...*...*... + *...*...*...*... + + 20 + stipple3 + + + + ................ + *.*.*.*.*.*.*.*. + ................ + *.*.*.*.*.*.*.*. + ................ + *.*.*.*.*.*.*.*. + ................ + *.*.*.*.*.*.*.*. + ................ + *.*.*.*.*.*.*.*. + ................ + *.*.*.*.*.*.*.*. + ................ + *.*.*.*.*.*.*.*. + ................ + *.*.*.*.*.*.*.*. + + 21 + stipple4 + + + + *...*...*...*... + .*...*...*...*.. + ..*...*...*...*. + ...*...*...*...* + *...*...*...*... + .*...*...*...*.. + ..*...*...*...*. + ...*...*...*...* + *...*...*...*... + .*...*...*...*.. + ..*...*...*...*. + ...*...*...*...* + *...*...*...*... + .*...*...*...*.. + ..*...*...*...*. + ...*...*...*...* + + 22 + stipple5 + + + + ...*...*...*...* + ..*...*...*...*. + .*...*...*...*.. + *...*...*...*... + ...*...*...*...* + ..*...*...*...*. + .*...*...*...*.. + *...*...*...*... + ...*...*...*...* + ..*...*...*...*. + .*...*...*...*.. + *...*...*...*... + ...*...*...*...* + ..*...*...*...*. + .*...*...*...*.. + *...*...*...*... + + 23 + stipple6 + + + + ..****....****.. + .*....*..*....*. + *......**......* + *......**......* + *......**......* + *......**......* + .*....*..*....*. + ..****....****.. + ..****....****.. + .*....*..*....*. + *......**......* + *......**......* + *......**......* + *......**......* + .*....*..*....*. + ..****....****.. + + 24 + stipple7 + + + + ...*...*...*...* + *...*...*...*... + ...*...*...*...* + *...*...*...*... + ...*...*...*...* + *...*...*...*... + ...*...*...*...* + *...*...*...*... + ...*...*...*...* + *...*...*...*... + ...*...*...*...* + *...*...*...*... + ...*...*...*...* + *...*...*...*... + ...*...*...*...* + *...*...*...*... + + 25 + stipple8 + + + + .*...*...*...*.. + .*...*...*...*.. + .*...*...*...*.. + .*...*...*...*.. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + .*...*...*...*.. + .*...*...*...*.. + .*...*...*...*.. + .*...*...*...*.. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + ..*...*...*...*. + + 26 + stipple9 + + + + *.......*....... + ................ + ................ + ................ + ................ + ................ + ................ + ................ + *.......*....... + ................ + ................ + ................ + ................ + ................ + ................ + ................ + + 27 + stipple10 + + + + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + ...*...*...*...* + + 28 + stipple11 + + + + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + .*...*...*...*.. + ................ + ...*...*...*...* + ................ + + 29 + dots2 + + + + *.....*.....*... + ................ + ................ + ...*.....*.....* + ................ + ................ + *.....*.....*... + ................ + ................ + ...*.....*.....* + ................ + ................ + *.....*.....*... + ................ + ................ + ...*.....*.....* + + 30 + dots4 + + + + ................ + .*........*..... + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ................ + ...*........*... + ................ + ................ + ................ + ................ + + 31 + dats5 + + + * + 1 + solid + + + ***..*** + 2 + dashed + + + *.. + 3 + dots + + + ***..*.. + 4 + dashDot + + + **.. + 5 + shortDash + + + ****..**.. + 6 + doubleDash + + + *... + 7 + hidden + + + *** + 8 + thickLine + + + * + 9 + lineStyle0 + + + ***.***.***.**.* + 10 + lineStyle1 + +