diff --git a/technology/freepdk45/tf/FreePDK45.lyp b/technology/freepdk45/tf/FreePDK45.lyp
index 29e8e32f..4823c15a 100644
--- a/technology/freepdk45/tf/FreePDK45.lyp
+++ b/technology/freepdk45/tf/FreePDK45.lyp
@@ -5,7 +5,7 @@
#ff8000
0
0
- C36
+ C35
C0
true
true
@@ -22,7 +22,7 @@
#00cc66
0
0
- C36
+ C35
C0
true
true
@@ -39,7 +39,7 @@
#0000ff
0
0
- C41
+ C40
C1
true
true
@@ -56,7 +56,7 @@
#0000ff
0
0
- C42
+ C41
C1
true
true
@@ -73,7 +73,7 @@
#00cc66
0
0
- C34
+ C33
C0
true
true
@@ -85,6 +85,23 @@
active.drawing - 1/0
1/0@1
+
+ #00cc66
+ #00cc66
+ 0
+ 0
+ C34
+ C0
+ false
+ true
+ false
+ 1
+ false
+ false
+ 0
+ active.blockage - 1/1
+ 1/1@1
+
#00cc66
#00cc66
@@ -124,7 +141,7 @@
#ff0000
0
0
- C37
+ C36
C0
true
true
@@ -136,12 +153,29 @@
poly.drawing - 9/0
9/0@1
+
+ #ff0000
+ #ff0000
+ 0
+ 0
+ C37
+ C0
+ false
+ true
+ false
+ 1
+ false
+ false
+ 0
+ poly.blockage - 9/1
+ 9/1@1
+
#ffff00
#ffff00
0
0
- C43
+ C42
C0
true
true
@@ -154,21 +188,38 @@
8/0@1
- #00cc66
- #00cc66
+ #00ff00
+ #000000
0
0
- C1
+ I1
C0
true
true
false
+ 2
+ false
+ true
+ 0
+ contact.drawing - 10/0
+ 10/0@1
+
+
+ #00ff00
+ #000000
+ 0
+ 0
+ I1
+ C0
+ false
+ true
+ false
1
false
false
0
- contact.drawing - 10/0
- 10/0@1
+ contact.blockage - 10/1
+ 10/1@1
#0000ff
@@ -188,22 +239,73 @@
11/0@1
- #333399
- #ff00ff
+ #0000ff
+ #0000ff
0
0
- C39
+ C12
C0
- true
+ false
true
false
1
false
false
0
+ metal1.blockage - 11/1
+ 11/1@1
+
+
+ #0000ff
+ #0000ff
+ 0
+ 0
+ C12
+ C0
+ true
+ true
+ false
+ 3
+ false
+ false
+ 0
+ metal1.pin - 11/2
+ 11/2@1
+
+
+ #333399
+ #ff00ff
+ 0
+ 0
+ C38
+ C0
+ true
+ true
+ false
+ 1
+ false
+ true
+ 0
via1.drawing - 12/0
12/0@1
+
+ #333399
+ #ff00ff
+ 0
+ 0
+ C38
+ C0
+ false
+ true
+ false
+ 1
+ false
+ false
+ 0
+ via1.blockage - 12/1
+ 12/1@1
+
#ff00ff
#ff00ff
@@ -222,22 +324,73 @@
13/0@1
- #39bfff
- #39bfff
+ #ff00ff
+ #ff00ff
0
0
- C39
+ C2
C0
- true
+ false
true
false
1
false
false
0
+ metal2.blockage - 13/1
+ 13/1@1
+
+
+ #ff00ff
+ #ff00ff
+ 0
+ 0
+ C2
+ C0
+ true
+ true
+ false
+ 3
+ false
+ false
+ 0
+ metal2.pin - 13/2
+ 13/2@1
+
+
+ #39bfff
+ #39bfff
+ 0
+ 0
+ C38
+ C0
+ true
+ true
+ false
+ 1
+ false
+ true
+ 0
via2.drawing - 14/0
14/0@1
+
+ #39bfff
+ #39bfff
+ 0
+ 0
+ C38
+ C0
+ false
+ true
+ false
+ 1
+ false
+ false
+ 0
+ via2.blockage - 14/1
+ 14/1@1
+
#00ffff
#00ffff
@@ -256,28 +409,79 @@
15/0@1
- #ffe6bf
- #ffe6bf
+ #00ffff
+ #00ffff
0
0
- C39
+ C11
C0
- true
+ false
true
false
1
false
false
0
+ metal3.blockage - 15/1
+ 15/1@1
+
+
+ #00ffff
+ #00ffff
+ 0
+ 0
+ C11
+ C0
+ true
+ true
+ false
+ 3
+ false
+ false
+ 0
+ metal3.pin - 15/2
+ 15/2@1
+
+
+ #ffe6bf
+ #ffe6bf
+ 0
+ 0
+ C38
+ C0
+ true
+ true
+ false
+ 1
+ false
+ true
+ 0
via3.drawing - 16/0
16/0@1
+
+ #ffe6bf
+ #ffe6bf
+ 0
+ 0
+ C38
+ C0
+ false
+ true
+ false
+ 1
+ false
+ false
+ 0
+ via3.blockage - 16/1
+ 16/1@1
+
#ffffcc
#ffffcc
0
0
- C25
+ C24
C0
true
true
@@ -290,28 +494,79 @@
17/0@1
- #0000ff
- #0000ff
+ #ffffcc
+ #ffffcc
0
0
- C39
+ C24
C0
- true
+ false
true
false
1
false
false
0
+ metal4.blockage - 17/1
+ 17/1@1
+
+
+ #ffffcc
+ #ffffcc
+ 0
+ 0
+ C24
+ C0
+ true
+ true
+ false
+ 3
+ false
+ false
+ 0
+ metal4.pin - 17/2
+ 17/2@1
+
+
+ #0000ff
+ #0000ff
+ 0
+ 0
+ C38
+ C0
+ true
+ true
+ false
+ 1
+ false
+ true
+ 0
via4.drawing - 18/0
18/0@1
+
+ #0000ff
+ #0000ff
+ 0
+ 0
+ C38
+ C0
+ false
+ true
+ false
+ 1
+ false
+ false
+ 0
+ via4.blockage - 18/1
+ 18/1@1
+
#39bfff
#39bfff
0
0
- C29
+ C28
C0
true
true
@@ -324,22 +579,73 @@
19/0@1
- #ffff00
- #ffff00
+ #39bfff
+ #39bfff
0
0
- C39
+ C28
C0
- true
+ false
true
false
1
false
false
0
+ metal5.blockage - 19/1
+ 19/1@1
+
+
+ #39bfff
+ #39bfff
+ 0
+ 0
+ C28
+ C0
+ true
+ true
+ false
+ 3
+ false
+ false
+ 0
+ metal5.pin - 19/2
+ 19/2@1
+
+
+ #ffff00
+ #ffff00
+ 0
+ 0
+ C38
+ C0
+ true
+ true
+ false
+ 1
+ false
+ true
+ 0
via5.drawing - 20/0
20/0@1
+
+ #ffff00
+ #ffff00
+ 0
+ 0
+ C38
+ C0
+ false
+ true
+ false
+ 1
+ false
+ false
+ 0
+ via5.blockage - 20/1
+ 20/1@1
+
#d9cc00
#d9cc00
@@ -358,22 +664,73 @@
21/0@1
- #ff00ff
- #ff00ff
+ #d9cc00
+ #d9cc00
0
0
- C39
+ C8
C0
- true
+ false
true
false
1
false
false
0
+ metal6.blockage - 21/1
+ 21/1@1
+
+
+ #d9cc00
+ #d9cc00
+ 0
+ 0
+ C8
+ C0
+ true
+ true
+ false
+ 3
+ false
+ false
+ 0
+ metal6.pin - 21/2
+ 21/2@1
+
+
+ #ff00ff
+ #ff00ff
+ 0
+ 0
+ C38
+ C0
+ true
+ true
+ false
+ 1
+ false
+ true
+ 0
via6.drawing - 22/0
22/0@1
+
+ #ff00ff
+ #ff00ff
+ 0
+ 0
+ C38
+ C0
+ false
+ true
+ false
+ 1
+ false
+ false
+ 0
+ via6.blockage - 22/1
+ 22/1@1
+
#00ff00
#00ff00
@@ -392,22 +749,73 @@
23/0@1
- #39bfff
- #39bfff
+ #00ff00
+ #00ff00
0
0
- C39
+ C11
C0
- true
+ false
true
false
1
false
false
0
+ metal7.blockage - 23/1
+ 23/1@1
+
+
+ #00ff00
+ #00ff00
+ 0
+ 0
+ C11
+ C0
+ true
+ true
+ false
+ 3
+ false
+ false
+ 0
+ metal7.pin - 23/2
+ 23/2@1
+
+
+ #39bfff
+ #39bfff
+ 0
+ 0
+ C38
+ C0
+ true
+ true
+ false
+ 1
+ false
+ true
+ 0
via7.drawing - 24/0
24/0@1
+
+ #39bfff
+ #39bfff
+ 0
+ 0
+ C38
+ C0
+ false
+ true
+ false
+ 1
+ false
+ false
+ 0
+ via7.blockage - 24/1
+ 24/1@1
+
#ffffff
#ffffff
@@ -426,22 +834,73 @@
25/0@1
- #ffffcc
- #ffffcc
+ #ffffff
+ #ffffff
0
0
- C39
+ C4
C0
- true
+ false
true
false
1
false
false
0
+ metal8.blockage - 25/1
+ 25/1@1
+
+
+ #ffffff
+ #ffffff
+ 0
+ 0
+ C4
+ C0
+ true
+ true
+ false
+ 3
+ false
+ false
+ 0
+ metal8.pin - 25/2
+ 25/2@1
+
+
+ #ffffcc
+ #ffffcc
+ 0
+ 0
+ C38
+ C0
+ true
+ true
+ false
+ 1
+ false
+ true
+ 0
via8.drawing - 26/0
26/0@1
+
+ #ffffcc
+ #ffffcc
+ 0
+ 0
+ C38
+ C0
+ false
+ true
+ false
+ 1
+ false
+ false
+ 0
+ via8.blockage - 26/1
+ 26/1@1
+
#ffe6bf
#ffe6bf
@@ -460,28 +919,79 @@
27/0@1
- #0000ff
- #0000ff
+ #ffe6bf
+ #ffe6bf
0
0
- C39
+ C6
C0
- true
+ false
true
false
1
false
false
0
+ metal9.blockage - 27/1
+ 27/1@1
+
+
+ #ffe6bf
+ #ffe6bf
+ 0
+ 0
+ C6
+ C0
+ true
+ true
+ false
+ 3
+ false
+ false
+ 0
+ metal9.pin - 27/2
+ 27/2@1
+
+
+ #0000ff
+ #0000ff
+ 0
+ 0
+ C38
+ C0
+ true
+ true
+ false
+ 1
+ false
+ true
+ 0
via9.drawing - 28/0
28/0@1
+
+ #0000ff
+ #0000ff
+ 0
+ 0
+ C38
+ C0
+ false
+ true
+ false
+ 1
+ false
+ false
+ 0
+ via9.blockage - 28/1
+ 28/1@1
+
#ff8000
#ff8000
0
0
- C29
+ C28
C0
true
true
@@ -493,6 +1003,57 @@
metal10.drawing - 29/0
29/0@1
+
+ #ff8000
+ #ff8000
+ 0
+ 0
+ C28
+ C0
+ false
+ true
+ false
+ 1
+ false
+ false
+ 0
+ metal10.blockage - 29/1
+ 29/1@1
+
+
+ #ff8000
+ #ff8000
+ 0
+ 0
+ C28
+ C0
+ true
+ true
+ false
+ 3
+ false
+ false
+ 0
+ metal10.pin - 29/2
+ 29/2@1
+
+
+ #ffff00
+ #ffff00
+ 0
+ 0
+ C0
+
+ true
+ true
+ false
+ 1
+ false
+ false
+ 0
+ text.drawing - 230/0
+ 230/0@1
+
#9900e6
#9900e6
@@ -510,6 +1071,142 @@
comment.drawing - 239/0
239/0@1
+
+ #01ff6b
+ #01ff6b
+ 0
+ 0
+ I3
+ I6
+ true
+ true
+ false
+ 1
+ false
+ false
+ 0
+ phot_silicon.drawing
+ 400/0@1
+
+
+ #808080
+ #808080
+ 0
+ 0
+ I2
+ I0
+ true
+ true
+ false
+ 1
+ false
+ false
+ 0
+ phot_poly.drawing
+ 410/0@1
+
+
+ #ff0000
+ #ff0000
+ 0
+ 0
+ I9
+
+ true
+ true
+ false
+ 1
+ false
+ false
+ 0
+ phot_pwell.drawing
+ 420/0@1
+
+
+ #0000ff
+ #0000ff
+ 0
+ 0
+ I5
+
+ true
+ true
+ false
+ 1
+ false
+ false
+ 0
+ phot_nwell.drawing
+ 430/0@1
+
+
+ #ff0000
+ #ff0000
+ 0
+ 0
+ I11
+
+ true
+ true
+ false
+ 1
+ false
+ false
+ 0
+ phot_pimplant.drawing
+ 440/0@1
+
+
+ #0000ff
+ #0000ff
+ 0
+ 0
+ I7
+
+ true
+ true
+ false
+ 1
+ false
+ false
+ 0
+ phot_nimplant.drawing
+ 450/0@1
+
+
+ #ddff00
+ #ddff00
+ 0
+ 0
+ I9
+
+ false
+ true
+ true
+
+ false
+ false
+ 0
+ IP
+ 63/63@1
+
+
+ #ffffff
+
+ 0
+ 0
+ I1
+ I1
+ true
+ true
+ false
+
+ false
+ false
+ 0
+ OUTLINE - 235/0
+ 235/0@1
+
@@ -973,28 +1670,6 @@
21
triangle
-
-
- *...*...*...*...
- .*.*.*.*.*.*.*.*
- ..*...*...*...*.
- .*.*.*.*.*.*.*.*
- *...*...*...*...
- .*.*.*.*.*.*.*.*
- ..*...*...*...*.
- .*.*.*.*.*.*.*.*
- *...*...*...*...
- .*.*.*.*.*.*.*.*
- ..*...*...*...*.
- .*.*.*.*.*.*.*.*
- *...*...*...*...
- .*.*.*.*.*.*.*.*
- ..*...*...*...*.
- .*.*.*.*.*.*.*.*
-
- 22
- x
-
*...............
@@ -1014,7 +1689,7 @@
................
................
- 23
+ 22
dot1
@@ -1036,7 +1711,7 @@
................
................
- 24
+ 23
dot2
@@ -1058,7 +1733,7 @@
..*.....*.....*.
................
- 25
+ 24
dot3
@@ -1080,7 +1755,7 @@
.*...*.....*....
................
- 26
+ 25
dot4
@@ -1102,7 +1777,7 @@
........********
........********
- 27
+ 26
checker
@@ -1124,7 +1799,7 @@
....*...*...*...
...............*
- 28
+ 27
viap
@@ -1146,7 +1821,7 @@
.............**.
..............**
- 29
+ 28
metal1S
@@ -1168,7 +1843,7 @@
.....*..........
*..............*
- 30
+ 29
metal2S
@@ -1190,7 +1865,7 @@
....***.....***.
......*.......*.
- 31
+ 30
gnd2S
@@ -1212,7 +1887,7 @@
.**......**.....
..*.......*.....
- 32
+ 31
vcc2S
@@ -1234,7 +1909,7 @@
.**...*..**...*.
..*....*..*....*
- 33
+ 32
vcc1S
@@ -1256,7 +1931,7 @@
................
................
- 34
+ 33
poly2p
@@ -1278,7 +1953,7 @@
................
................
- 35
+ 34
contp
@@ -1316,7 +1991,7 @@
................................
................................
- 36
+ 35
pplusp
@@ -1354,7 +2029,7 @@
................................
................................
- 37
+ 36
wellp
@@ -1376,7 +2051,7 @@
.*.*.*.*.*.*.*.*
*.*.*.*.*.*.*.*.
- 38
+ 37
checker1
@@ -1398,7 +2073,7 @@
..**..**..**..**
..**..**..**..**
- 39
+ 38
checker2
@@ -1420,7 +2095,7 @@
.***.***.***.***
*.*.*.*.*.*.*.*.
- 40
+ 39
invCross
@@ -1458,7 +2133,7 @@
................................
................................
- 41
+ 40
wellBp
@@ -1496,7 +2171,7 @@
...........*........*...........
...........**********...........
- 42
+ 41
wellvtg
@@ -1534,7 +2209,7 @@
...........*.......*............
...........*.......*............
- 43
+ 42
wellvth
@@ -1572,7 +2247,7 @@
...............*................
...............*................
- 44
+ 43
thickox
@@ -1610,7 +2285,7 @@
................................
................................
- 45
+ 44
cwellBp
@@ -1632,7 +2307,7 @@
................
................
- 46
+ 45
capID
@@ -1654,7 +2329,7 @@
................
................
- 47
+ 46
resID
@@ -1676,7 +2351,7 @@
................
................
- 48
+ 47
diodeID
@@ -1698,9 +2373,16 @@
**.*.*.***.*.*.*
****************
- 49
+ 48
sgrid
+
+
+ *
+
+ 49
+
+
***
1
@@ -1737,13 +2419,13 @@
hidden
- ***
+
8
- thickLine
+
- ***
- 9
- mLine
+
+ 0
+
diff --git a/technology/freepdk45/tf/FreePDK45.lyt b/technology/freepdk45/tf/FreePDK45.lyt
new file mode 100644
index 00000000..98e934a3
--- /dev/null
+++ b/technology/freepdk45/tf/FreePDK45.lyt
@@ -0,0 +1,172 @@
+
+
+ FreePDK45
+ Free PDK 45nm
+
+ 0.001
+ $(appdata_path)/tech/FreePDK45
+ .klayout/tech/FreePDK45
+ FreePDK45.lyp
+ true
+
+
+ 1
+ true
+ true
+
+
+ true
+ layer_map()
+ true
+ true
+
+
+ true
+ layer_map()
+ 0.001
+ true
+ #1
+ true
+ #1
+ false
+ #1
+ true
+ OUTLINE
+ true
+ PLACEMENT_BLK
+ true
+ REGIONS
+ true
+
+ 0
+ true
+ .PIN
+ 2
+ true
+ .OBS
+ 3
+ true
+ .BLK
+ 4
+ true
+ .LABEL
+ 1
+ true
+
+ 0
+
+
+ false
+ true
+ true
+ 64
+ 0
+ 1
+ 0
+ DATA
+ 0
+ 0
+ BORDER
+ layer_map()
+ true
+
+
+ 0.001
+ 1
+ 100
+ 100
+ 0
+ 0
+ 0
+ false
+ false
+ false
+ true
+ layer_map()
+
+
+ 0
+ 0.001
+ layer_map()
+ true
+ false
+
+
+ 1
+ 0.001
+ layer_map()
+ true
+ false
+ true
+
+
+
+
+
+
+ true
+ false
+ false
+ false
+ false
+ 8000
+ 32000
+ LIB
+
+
+ 2
+ false
+ false
+ 1
+ *
+ false
+
+
+ 0
+
+
+ false
+ false
+
+
+ 0
+
+ true
+
+
+
+ DrainSource,contact,metal1
+ poly,contact,metal1
+ metal1,via1,metal2
+ metal2,via2,metal3
+ metal3,via3,metal4
+ metal4,via4,metal5
+ metal5,via5,metal6
+ metal6,via6,metal7
+ metal7,via7,metal8
+ metal8,via8,metal9
+ metal9,via9,metal10
+ DrainSource='1/0 - 9/0'
+ poly='9/0'
+ contact='10/0'
+ metal1='11/0 + 11/1 + 11/2'
+ via1='12/0'
+ metal2='13/0 + 13/1 + 13/2'
+ via2='14/0'
+ metal3='15/0 + 15/1 + 15/2'
+ via3='16/0'
+ metal4='17/0 + 17/1 + 17/2'
+ via4='18/0'
+ metal5='19/0 + 19/1 + 19/2'
+ via5='20/0'
+ metal6='21/0 + 21/1 + 21/2'
+ via6='22/0'
+ metal7='23/0 + 23/1 + 23/2'
+ via7='24/0'
+ metal8='25/0 + 25/1 + 25/2'
+ via8='26/0'
+ metal9='27/0 + 27/1 + 27/2'
+ via9='28/0'
+ metal10='29/0 + 29/1 + 29/2'
+
+