Add all dual port memories
diff --git a/gds/sky130_sram_1kbyte_1rw1r_8x1024_8.gds b/gds/sky130_sram_1kbyte_1rw1r_8x1024_8.gds
new file mode 100644
index 0000000..24b326b
--- /dev/null
+++ b/gds/sky130_sram_1kbyte_1rw1r_8x1024_8.gds
Binary files differ
diff --git a/gds/sky130_sram_2kbyte_1rw1r_32x512_8.gds b/gds/sky130_sram_2kbyte_1rw1r_32x512_8.gds
new file mode 100644
index 0000000..281682f
--- /dev/null
+++ b/gds/sky130_sram_2kbyte_1rw1r_32x512_8.gds
Binary files differ
diff --git a/gds/sky130_sram_4kbyte_1rw1r_32x1024_8.gds b/gds/sky130_sram_4kbyte_1rw1r_32x1024_8.gds
new file mode 100644
index 0000000..51f9f25
--- /dev/null
+++ b/gds/sky130_sram_4kbyte_1rw1r_32x1024_8.gds
Binary files differ
diff --git a/gds/sky130_sram_8kbyte_1rw1r_32x2048_8.gds b/gds/sky130_sram_8kbyte_1rw1r_32x2048_8.gds
new file mode 100644
index 0000000..28394f3
--- /dev/null
+++ b/gds/sky130_sram_8kbyte_1rw1r_32x2048_8.gds
Binary files differ
diff --git a/lef/sky130_sram_1kbyte_1rw1r_8x1024_8.lef b/lef/sky130_sram_1kbyte_1rw1r_8x1024_8.lef
new file mode 100644
index 0000000..16eaf4b
--- /dev/null
+++ b/lef/sky130_sram_1kbyte_1rw1r_8x1024_8.lef
@@ -0,0 +1,529 @@
+VERSION 5.4 ;
+NAMESCASESENSITIVE ON ;
+BUSBITCHARS "[]" ;
+DIVIDERCHAR "/" ;
+UNITS
+ DATABASE MICRONS 2000 ;
+END UNITS
+MACRO sky130_sram_1kbyte_1rw1r_8x1024_8
+ CLASS BLOCK ;
+ SIZE 451.9 BY 443.06 ;
+ SYMMETRY X Y R90 ;
+ PIN din0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 87.04 0.0 87.42 0.38 ;
+ END
+ END din0[0]
+ PIN din0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 93.16 0.0 93.54 0.38 ;
+ END
+ END din0[1]
+ PIN din0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 98.6 0.0 98.98 0.38 ;
+ END
+ END din0[2]
+ PIN din0[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 104.04 0.0 104.42 0.38 ;
+ END
+ END din0[3]
+ PIN din0[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 110.16 0.0 110.54 0.38 ;
+ END
+ END din0[4]
+ PIN din0[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 115.6 0.0 115.98 0.38 ;
+ END
+ END din0[5]
+ PIN din0[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 122.4 0.0 122.78 0.38 ;
+ END
+ END din0[6]
+ PIN din0[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 127.16 0.0 127.54 0.38 ;
+ END
+ END din0[7]
+ PIN addr0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 63.24 0.0 63.62 0.38 ;
+ END
+ END addr0[0]
+ PIN addr0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 70.04 0.0 70.42 0.38 ;
+ END
+ END addr0[1]
+ PIN addr0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 75.48 0.0 75.86 0.38 ;
+ END
+ END addr0[2]
+ PIN addr0[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 141.44 0.38 141.82 ;
+ END
+ END addr0[3]
+ PIN addr0[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 149.6 0.38 149.98 ;
+ END
+ END addr0[4]
+ PIN addr0[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 156.4 0.38 156.78 ;
+ END
+ END addr0[5]
+ PIN addr0[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 164.56 0.38 164.94 ;
+ END
+ END addr0[6]
+ PIN addr0[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 169.32 0.38 169.7 ;
+ END
+ END addr0[7]
+ PIN addr0[8]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 177.48 0.38 177.86 ;
+ END
+ END addr0[8]
+ PIN addr0[9]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 183.6 0.38 183.98 ;
+ END
+ END addr0[9]
+ PIN addr1[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 382.16 442.68 382.54 443.06 ;
+ END
+ END addr1[0]
+ PIN addr1[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 376.72 442.68 377.1 443.06 ;
+ END
+ END addr1[1]
+ PIN addr1[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 371.28 442.68 371.66 443.06 ;
+ END
+ END addr1[2]
+ PIN addr1[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 451.52 97.24 451.9 97.62 ;
+ END
+ END addr1[3]
+ PIN addr1[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 451.52 88.4 451.9 88.78 ;
+ END
+ END addr1[4]
+ PIN addr1[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 451.52 82.96 451.9 83.34 ;
+ END
+ END addr1[5]
+ PIN addr1[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 451.52 74.12 451.9 74.5 ;
+ END
+ END addr1[6]
+ PIN addr1[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 451.52 68.68 451.9 69.06 ;
+ END
+ END addr1[7]
+ PIN addr1[8]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 451.52 59.84 451.9 60.22 ;
+ END
+ END addr1[8]
+ PIN addr1[9]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 451.52 53.72 451.9 54.1 ;
+ END
+ END addr1[9]
+ PIN csb0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 41.48 0.38 41.86 ;
+ END
+ END csb0
+ PIN csb1
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 451.52 395.76 451.9 396.14 ;
+ END
+ END csb1
+ PIN web0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 49.64 0.38 50.02 ;
+ END
+ END web0
+ PIN clk0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 42.16 0.38 42.54 ;
+ END
+ END clk0
+ PIN clk1
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 451.52 395.08 451.9 395.46 ;
+ END
+ END clk1
+ PIN wmask0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 80.92 0.0 81.3 0.38 ;
+ END
+ END wmask0[0]
+ PIN dout0[0]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 125.12 0.0 125.5 0.38 ;
+ END
+ END dout0[0]
+ PIN dout0[1]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 150.96 0.0 151.34 0.38 ;
+ END
+ END dout0[1]
+ PIN dout0[2]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 176.12 0.0 176.5 0.38 ;
+ END
+ END dout0[2]
+ PIN dout0[3]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 201.28 0.0 201.66 0.38 ;
+ END
+ END dout0[3]
+ PIN dout0[4]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 226.44 0.0 226.82 0.38 ;
+ END
+ END dout0[4]
+ PIN dout0[5]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 250.92 0.0 251.3 0.38 ;
+ END
+ END dout0[5]
+ PIN dout0[6]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 276.08 0.0 276.46 0.38 ;
+ END
+ END dout0[6]
+ PIN dout0[7]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 301.24 0.0 301.62 0.38 ;
+ END
+ END dout0[7]
+ PIN dout1[0]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 126.48 442.68 126.86 443.06 ;
+ END
+ END dout1[0]
+ PIN dout1[1]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 151.64 442.68 152.02 443.06 ;
+ END
+ END dout1[1]
+ PIN dout1[2]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 176.8 442.68 177.18 443.06 ;
+ END
+ END dout1[2]
+ PIN dout1[3]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 201.96 442.68 202.34 443.06 ;
+ END
+ END dout1[3]
+ PIN dout1[4]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 226.44 442.68 226.82 443.06 ;
+ END
+ END dout1[4]
+ PIN dout1[5]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 250.92 442.68 251.3 443.06 ;
+ END
+ END dout1[5]
+ PIN dout1[6]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 276.76 442.68 277.14 443.06 ;
+ END
+ END dout1[6]
+ PIN dout1[7]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 301.92 442.68 302.3 443.06 ;
+ END
+ END dout1[7]
+ PIN vccd1
+ DIRECTION INOUT ;
+ USE POWER ;
+ SHAPE ABUTMENT ;
+ PORT
+ LAYER met4 ;
+ RECT 448.8 1.36 450.54 441.7 ;
+ LAYER met3 ;
+ RECT 1.36 439.96 450.54 441.7 ;
+ LAYER met4 ;
+ RECT 1.36 1.36 3.1 441.7 ;
+ LAYER met3 ;
+ RECT 1.36 1.36 450.54 3.1 ;
+ END
+ END vccd1
+ PIN vssd1
+ DIRECTION INOUT ;
+ USE GROUND ;
+ SHAPE ABUTMENT ;
+ PORT
+ LAYER met3 ;
+ RECT 4.76 4.76 447.14 6.5 ;
+ LAYER met4 ;
+ RECT 4.76 4.76 6.5 438.3 ;
+ LAYER met3 ;
+ RECT 4.76 436.56 447.14 438.3 ;
+ LAYER met4 ;
+ RECT 445.4 4.76 447.14 438.3 ;
+ END
+ END vssd1
+ OBS
+ LAYER met1 ;
+ RECT 0.62 0.62 451.28 442.44 ;
+ LAYER met2 ;
+ RECT 0.62 0.62 451.28 442.44 ;
+ LAYER met3 ;
+ RECT 0.98 140.84 451.28 142.42 ;
+ RECT 0.62 142.42 0.98 149.0 ;
+ RECT 0.62 150.58 0.98 155.8 ;
+ RECT 0.62 157.38 0.98 163.96 ;
+ RECT 0.62 165.54 0.98 168.72 ;
+ RECT 0.62 170.3 0.98 176.88 ;
+ RECT 0.62 178.46 0.98 183.0 ;
+ RECT 0.98 96.64 450.92 98.22 ;
+ RECT 0.98 98.22 450.92 140.84 ;
+ RECT 450.92 98.22 451.28 140.84 ;
+ RECT 450.92 89.38 451.28 96.64 ;
+ RECT 450.92 83.94 451.28 87.8 ;
+ RECT 450.92 75.1 451.28 82.36 ;
+ RECT 450.92 69.66 451.28 73.52 ;
+ RECT 450.92 60.82 451.28 68.08 ;
+ RECT 450.92 54.7 451.28 59.24 ;
+ RECT 0.98 142.42 450.92 395.16 ;
+ RECT 0.98 395.16 450.92 396.74 ;
+ RECT 0.62 50.62 0.98 140.84 ;
+ RECT 0.62 43.14 0.98 49.04 ;
+ RECT 450.92 142.42 451.28 394.48 ;
+ RECT 0.62 184.58 0.76 439.36 ;
+ RECT 0.62 439.36 0.76 442.3 ;
+ RECT 0.62 442.3 0.76 442.44 ;
+ RECT 0.76 184.58 0.98 439.36 ;
+ RECT 0.76 442.3 0.98 442.44 ;
+ RECT 0.98 442.3 450.92 442.44 ;
+ RECT 450.92 396.74 451.14 439.36 ;
+ RECT 450.92 442.3 451.14 442.44 ;
+ RECT 451.14 396.74 451.28 439.36 ;
+ RECT 451.14 439.36 451.28 442.3 ;
+ RECT 451.14 442.3 451.28 442.44 ;
+ RECT 0.98 0.62 450.92 0.76 ;
+ RECT 450.92 0.62 451.14 0.76 ;
+ RECT 450.92 3.7 451.14 53.12 ;
+ RECT 451.14 0.62 451.28 0.76 ;
+ RECT 451.14 0.76 451.28 3.7 ;
+ RECT 451.14 3.7 451.28 53.12 ;
+ RECT 0.62 0.62 0.76 0.76 ;
+ RECT 0.62 0.76 0.76 3.7 ;
+ RECT 0.62 3.7 0.76 40.88 ;
+ RECT 0.76 0.62 0.98 0.76 ;
+ RECT 0.76 3.7 0.98 40.88 ;
+ RECT 0.98 3.7 4.16 4.16 ;
+ RECT 0.98 4.16 4.16 7.1 ;
+ RECT 0.98 7.1 4.16 96.64 ;
+ RECT 4.16 3.7 447.74 4.16 ;
+ RECT 4.16 7.1 447.74 96.64 ;
+ RECT 447.74 3.7 450.92 4.16 ;
+ RECT 447.74 4.16 450.92 7.1 ;
+ RECT 447.74 7.1 450.92 96.64 ;
+ RECT 0.98 396.74 4.16 435.96 ;
+ RECT 0.98 435.96 4.16 438.9 ;
+ RECT 0.98 438.9 4.16 439.36 ;
+ RECT 4.16 396.74 447.74 435.96 ;
+ RECT 4.16 438.9 447.74 439.36 ;
+ RECT 447.74 396.74 450.92 435.96 ;
+ RECT 447.74 435.96 450.92 438.9 ;
+ RECT 447.74 438.9 450.92 439.36 ;
+ LAYER met4 ;
+ RECT 86.44 0.98 88.02 442.44 ;
+ RECT 88.02 0.62 92.56 0.98 ;
+ RECT 94.14 0.62 98.0 0.98 ;
+ RECT 99.58 0.62 103.44 0.98 ;
+ RECT 105.02 0.62 109.56 0.98 ;
+ RECT 111.14 0.62 115.0 0.98 ;
+ RECT 116.58 0.62 121.8 0.98 ;
+ RECT 64.22 0.62 69.44 0.98 ;
+ RECT 71.02 0.62 74.88 0.98 ;
+ RECT 88.02 0.98 381.56 442.08 ;
+ RECT 381.56 0.98 383.14 442.08 ;
+ RECT 377.7 442.08 381.56 442.44 ;
+ RECT 372.26 442.08 376.12 442.44 ;
+ RECT 76.46 0.62 80.32 0.98 ;
+ RECT 81.9 0.62 86.44 0.98 ;
+ RECT 123.38 0.62 124.52 0.98 ;
+ RECT 126.1 0.62 126.56 0.98 ;
+ RECT 128.14 0.62 150.36 0.98 ;
+ RECT 151.94 0.62 175.52 0.98 ;
+ RECT 177.1 0.62 200.68 0.98 ;
+ RECT 202.26 0.62 225.84 0.98 ;
+ RECT 227.42 0.62 250.32 0.98 ;
+ RECT 251.9 0.62 275.48 0.98 ;
+ RECT 277.06 0.62 300.64 0.98 ;
+ RECT 88.02 442.08 125.88 442.44 ;
+ RECT 127.46 442.08 151.04 442.44 ;
+ RECT 152.62 442.08 176.2 442.44 ;
+ RECT 177.78 442.08 201.36 442.44 ;
+ RECT 202.94 442.08 225.84 442.44 ;
+ RECT 227.42 442.08 250.32 442.44 ;
+ RECT 251.9 442.08 276.16 442.44 ;
+ RECT 277.74 442.08 301.32 442.44 ;
+ RECT 302.9 442.08 370.68 442.44 ;
+ RECT 451.14 0.98 451.28 442.08 ;
+ RECT 383.14 442.08 448.2 442.3 ;
+ RECT 383.14 442.3 448.2 442.44 ;
+ RECT 448.2 442.3 451.14 442.44 ;
+ RECT 451.14 442.08 451.28 442.3 ;
+ RECT 451.14 442.3 451.28 442.44 ;
+ RECT 302.22 0.62 448.2 0.76 ;
+ RECT 302.22 0.76 448.2 0.98 ;
+ RECT 448.2 0.62 451.14 0.76 ;
+ RECT 451.14 0.62 451.28 0.76 ;
+ RECT 451.14 0.76 451.28 0.98 ;
+ RECT 0.62 0.98 0.76 442.3 ;
+ RECT 0.62 442.3 0.76 442.44 ;
+ RECT 0.76 442.3 3.7 442.44 ;
+ RECT 3.7 442.3 86.44 442.44 ;
+ RECT 0.62 0.62 0.76 0.76 ;
+ RECT 0.62 0.76 0.76 0.98 ;
+ RECT 0.76 0.62 3.7 0.76 ;
+ RECT 3.7 0.62 62.64 0.76 ;
+ RECT 3.7 0.76 62.64 0.98 ;
+ RECT 3.7 0.98 4.16 4.16 ;
+ RECT 3.7 4.16 4.16 438.9 ;
+ RECT 3.7 438.9 4.16 442.3 ;
+ RECT 4.16 0.98 7.1 4.16 ;
+ RECT 4.16 438.9 7.1 442.3 ;
+ RECT 7.1 0.98 86.44 4.16 ;
+ RECT 7.1 4.16 86.44 438.9 ;
+ RECT 7.1 438.9 86.44 442.3 ;
+ RECT 383.14 0.98 444.8 4.16 ;
+ RECT 383.14 4.16 444.8 438.9 ;
+ RECT 383.14 438.9 444.8 442.08 ;
+ RECT 444.8 0.98 447.74 4.16 ;
+ RECT 444.8 438.9 447.74 442.08 ;
+ RECT 447.74 0.98 448.2 4.16 ;
+ RECT 447.74 4.16 448.2 438.9 ;
+ RECT 447.74 438.9 448.2 442.08 ;
+ END
+END sky130_sram_1kbyte_1rw1r_8x1024_8
+END LIBRARY
diff --git a/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef b/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef
new file mode 100644
index 0000000..e66b47e
--- /dev/null
+++ b/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef
@@ -0,0 +1,1108 @@
+VERSION 5.4 ;
+NAMESCASESENSITIVE ON ;
+BUSBITCHARS "[]" ;
+DIVIDERCHAR "/" ;
+UNITS
+ DATABASE MICRONS 2000 ;
+END UNITS
+MACRO sky130_sram_2kbyte_1rw1r_32x512_8
+ CLASS BLOCK ;
+ SIZE 679.02 BY 413.14 ;
+ SYMMETRY X Y R90 ;
+ PIN din0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 113.56 0.0 113.94 0.38 ;
+ END
+ END din0[0]
+ PIN din0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 119.0 0.0 119.38 0.38 ;
+ END
+ END din0[1]
+ PIN din0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 125.12 0.0 125.5 0.38 ;
+ END
+ END din0[2]
+ PIN din0[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 130.56 0.0 130.94 0.38 ;
+ END
+ END din0[3]
+ PIN din0[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 136.0 0.0 136.38 0.38 ;
+ END
+ END din0[4]
+ PIN din0[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 141.44 0.0 141.82 0.38 ;
+ END
+ END din0[5]
+ PIN din0[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 148.24 0.0 148.62 0.38 ;
+ END
+ END din0[6]
+ PIN din0[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 154.36 0.0 154.74 0.38 ;
+ END
+ END din0[7]
+ PIN din0[8]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 159.8 0.0 160.18 0.38 ;
+ END
+ END din0[8]
+ PIN din0[9]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 165.24 0.0 165.62 0.38 ;
+ END
+ END din0[9]
+ PIN din0[10]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 170.68 0.0 171.06 0.38 ;
+ END
+ END din0[10]
+ PIN din0[11]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 177.48 0.0 177.86 0.38 ;
+ END
+ END din0[11]
+ PIN din0[12]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 182.92 0.0 183.3 0.38 ;
+ END
+ END din0[12]
+ PIN din0[13]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 188.36 0.0 188.74 0.38 ;
+ END
+ END din0[13]
+ PIN din0[14]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 195.16 0.0 195.54 0.38 ;
+ END
+ END din0[14]
+ PIN din0[15]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 201.28 0.0 201.66 0.38 ;
+ END
+ END din0[15]
+ PIN din0[16]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 206.72 0.0 207.1 0.38 ;
+ END
+ END din0[16]
+ PIN din0[17]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 212.16 0.0 212.54 0.38 ;
+ END
+ END din0[17]
+ PIN din0[18]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 217.6 0.0 217.98 0.38 ;
+ END
+ END din0[18]
+ PIN din0[19]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 224.4 0.0 224.78 0.38 ;
+ END
+ END din0[19]
+ PIN din0[20]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 229.84 0.0 230.22 0.38 ;
+ END
+ END din0[20]
+ PIN din0[21]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 235.96 0.0 236.34 0.38 ;
+ END
+ END din0[21]
+ PIN din0[22]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 241.4 0.0 241.78 0.38 ;
+ END
+ END din0[22]
+ PIN din0[23]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 246.84 0.0 247.22 0.38 ;
+ END
+ END din0[23]
+ PIN din0[24]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 253.64 0.0 254.02 0.38 ;
+ END
+ END din0[24]
+ PIN din0[25]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 259.08 0.0 259.46 0.38 ;
+ END
+ END din0[25]
+ PIN din0[26]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 264.52 0.0 264.9 0.38 ;
+ END
+ END din0[26]
+ PIN din0[27]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 269.96 0.0 270.34 0.38 ;
+ END
+ END din0[27]
+ PIN din0[28]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 276.76 0.0 277.14 0.38 ;
+ END
+ END din0[28]
+ PIN din0[29]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 282.88 0.0 283.26 0.38 ;
+ END
+ END din0[29]
+ PIN din0[30]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 288.32 0.0 288.7 0.38 ;
+ END
+ END din0[30]
+ PIN din0[31]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 293.76 0.0 294.14 0.38 ;
+ END
+ END din0[31]
+ PIN addr0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 78.2 0.0 78.58 0.38 ;
+ END
+ END addr0[0]
+ PIN addr0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 83.64 0.0 84.02 0.38 ;
+ END
+ END addr0[1]
+ PIN addr0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 139.4 0.38 139.78 ;
+ END
+ END addr0[2]
+ PIN addr0[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 148.24 0.38 148.62 ;
+ END
+ END addr0[3]
+ PIN addr0[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 154.36 0.38 154.74 ;
+ END
+ END addr0[4]
+ PIN addr0[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 162.52 0.38 162.9 ;
+ END
+ END addr0[5]
+ PIN addr0[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 167.96 0.38 168.34 ;
+ END
+ END addr0[6]
+ PIN addr0[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 177.48 0.38 177.86 ;
+ END
+ END addr0[7]
+ PIN addr0[8]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 182.92 0.38 183.3 ;
+ END
+ END addr0[8]
+ PIN addr1[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 596.36 412.76 596.74 413.14 ;
+ END
+ END addr1[0]
+ PIN addr1[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 590.24 412.76 590.62 413.14 ;
+ END
+ END addr1[1]
+ PIN addr1[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 678.64 95.2 679.02 95.58 ;
+ END
+ END addr1[2]
+ PIN addr1[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 678.64 87.04 679.02 87.42 ;
+ END
+ END addr1[3]
+ PIN addr1[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 678.64 80.24 679.02 80.62 ;
+ END
+ END addr1[4]
+ PIN addr1[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 678.64 72.76 679.02 73.14 ;
+ END
+ END addr1[5]
+ PIN addr1[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 678.64 66.64 679.02 67.02 ;
+ END
+ END addr1[6]
+ PIN addr1[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 614.04 0.0 614.42 0.38 ;
+ END
+ END addr1[7]
+ PIN addr1[8]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 614.72 0.0 615.1 0.38 ;
+ END
+ END addr1[8]
+ PIN csb0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 38.76 0.38 39.14 ;
+ END
+ END csb0
+ PIN csb1
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 678.64 394.4 679.02 394.78 ;
+ END
+ END csb1
+ PIN web0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 48.28 0.38 48.66 ;
+ END
+ END web0
+ PIN clk0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 40.12 0.38 40.5 ;
+ END
+ END clk0
+ PIN clk1
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 652.12 412.76 652.5 413.14 ;
+ END
+ END clk1
+ PIN wmask0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 89.08 0.0 89.46 0.38 ;
+ END
+ END wmask0[0]
+ PIN wmask0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 95.88 0.0 96.26 0.38 ;
+ END
+ END wmask0[1]
+ PIN wmask0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 100.64 0.0 101.02 0.38 ;
+ END
+ END wmask0[2]
+ PIN wmask0[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 106.76 0.0 107.14 0.38 ;
+ END
+ END wmask0[3]
+ PIN dout0[0]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 139.4 0.0 139.78 0.38 ;
+ END
+ END dout0[0]
+ PIN dout0[1]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 151.64 0.0 152.02 0.38 ;
+ END
+ END dout0[1]
+ PIN dout0[2]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 165.92 0.0 166.3 0.38 ;
+ END
+ END dout0[2]
+ PIN dout0[3]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 178.16 0.0 178.54 0.38 ;
+ END
+ END dout0[3]
+ PIN dout0[4]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 190.4 0.0 190.78 0.38 ;
+ END
+ END dout0[4]
+ PIN dout0[5]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 203.32 0.0 203.7 0.38 ;
+ END
+ END dout0[5]
+ PIN dout0[6]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 215.56 0.0 215.94 0.38 ;
+ END
+ END dout0[6]
+ PIN dout0[7]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 227.8 0.0 228.18 0.38 ;
+ END
+ END dout0[7]
+ PIN dout0[8]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 239.36 0.0 239.74 0.38 ;
+ END
+ END dout0[8]
+ PIN dout0[9]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 252.96 0.0 253.34 0.38 ;
+ END
+ END dout0[9]
+ PIN dout0[10]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 265.88 0.0 266.26 0.38 ;
+ END
+ END dout0[10]
+ PIN dout0[11]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 278.12 0.0 278.5 0.38 ;
+ END
+ END dout0[11]
+ PIN dout0[12]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 290.36 0.0 290.74 0.38 ;
+ END
+ END dout0[12]
+ PIN dout0[13]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 302.6 0.0 302.98 0.38 ;
+ END
+ END dout0[13]
+ PIN dout0[14]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 315.52 0.0 315.9 0.38 ;
+ END
+ END dout0[14]
+ PIN dout0[15]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 327.76 0.0 328.14 0.38 ;
+ END
+ END dout0[15]
+ PIN dout0[16]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 339.32 0.0 339.7 0.38 ;
+ END
+ END dout0[16]
+ PIN dout0[17]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 352.92 0.0 353.3 0.38 ;
+ END
+ END dout0[17]
+ PIN dout0[18]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 365.16 0.0 365.54 0.38 ;
+ END
+ END dout0[18]
+ PIN dout0[19]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 377.4 0.0 377.78 0.38 ;
+ END
+ END dout0[19]
+ PIN dout0[20]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 390.32 0.0 390.7 0.38 ;
+ END
+ END dout0[20]
+ PIN dout0[21]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 402.56 0.0 402.94 0.38 ;
+ END
+ END dout0[21]
+ PIN dout0[22]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 415.48 0.0 415.86 0.38 ;
+ END
+ END dout0[22]
+ PIN dout0[23]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 427.72 0.0 428.1 0.38 ;
+ END
+ END dout0[23]
+ PIN dout0[24]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 440.64 0.0 441.02 0.38 ;
+ END
+ END dout0[24]
+ PIN dout0[25]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 452.88 0.0 453.26 0.38 ;
+ END
+ END dout0[25]
+ PIN dout0[26]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 465.12 0.0 465.5 0.38 ;
+ END
+ END dout0[26]
+ PIN dout0[27]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 477.36 0.0 477.74 0.38 ;
+ END
+ END dout0[27]
+ PIN dout0[28]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 490.28 0.0 490.66 0.38 ;
+ END
+ END dout0[28]
+ PIN dout0[29]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 502.52 0.0 502.9 0.38 ;
+ END
+ END dout0[29]
+ PIN dout0[30]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 514.76 0.0 515.14 0.38 ;
+ END
+ END dout0[30]
+ PIN dout0[31]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 527.68 0.0 528.06 0.38 ;
+ END
+ END dout0[31]
+ PIN dout1[0]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 141.44 412.76 141.82 413.14 ;
+ END
+ END dout1[0]
+ PIN dout1[1]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 153.0 412.76 153.38 413.14 ;
+ END
+ END dout1[1]
+ PIN dout1[2]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 165.24 412.76 165.62 413.14 ;
+ END
+ END dout1[2]
+ PIN dout1[3]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 178.84 412.76 179.22 413.14 ;
+ END
+ END dout1[3]
+ PIN dout1[4]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 190.4 412.76 190.78 413.14 ;
+ END
+ END dout1[4]
+ PIN dout1[5]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 203.32 412.76 203.7 413.14 ;
+ END
+ END dout1[5]
+ PIN dout1[6]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 215.56 412.76 215.94 413.14 ;
+ END
+ END dout1[6]
+ PIN dout1[7]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 228.48 412.76 228.86 413.14 ;
+ END
+ END dout1[7]
+ PIN dout1[8]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 240.72 412.76 241.1 413.14 ;
+ END
+ END dout1[8]
+ PIN dout1[9]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 253.64 412.76 254.02 413.14 ;
+ END
+ END dout1[9]
+ PIN dout1[10]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 265.88 412.76 266.26 413.14 ;
+ END
+ END dout1[10]
+ PIN dout1[11]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 278.8 412.76 279.18 413.14 ;
+ END
+ END dout1[11]
+ PIN dout1[12]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 290.36 412.76 290.74 413.14 ;
+ END
+ END dout1[12]
+ PIN dout1[13]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 302.6 412.76 302.98 413.14 ;
+ END
+ END dout1[13]
+ PIN dout1[14]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 316.2 412.76 316.58 413.14 ;
+ END
+ END dout1[14]
+ PIN dout1[15]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 328.44 412.76 328.82 413.14 ;
+ END
+ END dout1[15]
+ PIN dout1[16]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 340.68 412.76 341.06 413.14 ;
+ END
+ END dout1[16]
+ PIN dout1[17]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 352.92 412.76 353.3 413.14 ;
+ END
+ END dout1[17]
+ PIN dout1[18]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 365.84 412.76 366.22 413.14 ;
+ END
+ END dout1[18]
+ PIN dout1[19]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 377.4 412.76 377.78 413.14 ;
+ END
+ END dout1[19]
+ PIN dout1[20]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 391.0 412.76 391.38 413.14 ;
+ END
+ END dout1[20]
+ PIN dout1[21]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 403.24 412.76 403.62 413.14 ;
+ END
+ END dout1[21]
+ PIN dout1[22]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 415.48 412.76 415.86 413.14 ;
+ END
+ END dout1[22]
+ PIN dout1[23]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 427.72 412.76 428.1 413.14 ;
+ END
+ END dout1[23]
+ PIN dout1[24]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 439.96 412.76 440.34 413.14 ;
+ END
+ END dout1[24]
+ PIN dout1[25]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 452.88 412.76 453.26 413.14 ;
+ END
+ END dout1[25]
+ PIN dout1[26]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 465.8 412.76 466.18 413.14 ;
+ END
+ END dout1[26]
+ PIN dout1[27]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 478.04 412.76 478.42 413.14 ;
+ END
+ END dout1[27]
+ PIN dout1[28]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 490.28 412.76 490.66 413.14 ;
+ END
+ END dout1[28]
+ PIN dout1[29]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 503.2 412.76 503.58 413.14 ;
+ END
+ END dout1[29]
+ PIN dout1[30]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 514.76 412.76 515.14 413.14 ;
+ END
+ END dout1[30]
+ PIN dout1[31]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 528.36 412.76 528.74 413.14 ;
+ END
+ END dout1[31]
+ PIN vccd1
+ DIRECTION INOUT ;
+ USE POWER ;
+ SHAPE ABUTMENT ;
+ PORT
+ LAYER met3 ;
+ RECT 1.36 1.36 677.66 3.1 ;
+ LAYER met4 ;
+ RECT 675.92 1.36 677.66 411.78 ;
+ LAYER met4 ;
+ RECT 1.36 1.36 3.1 411.78 ;
+ LAYER met3 ;
+ RECT 1.36 410.04 677.66 411.78 ;
+ END
+ END vccd1
+ PIN vssd1
+ DIRECTION INOUT ;
+ USE GROUND ;
+ SHAPE ABUTMENT ;
+ PORT
+ LAYER met3 ;
+ RECT 4.76 4.76 674.26 6.5 ;
+ LAYER met4 ;
+ RECT 4.76 4.76 6.5 408.38 ;
+ LAYER met3 ;
+ RECT 4.76 406.64 674.26 408.38 ;
+ LAYER met4 ;
+ RECT 672.52 4.76 674.26 408.38 ;
+ END
+ END vssd1
+ OBS
+ LAYER met1 ;
+ RECT 0.62 0.62 678.4 412.52 ;
+ LAYER met2 ;
+ RECT 0.62 0.62 678.4 412.52 ;
+ LAYER met3 ;
+ RECT 0.98 138.8 678.4 140.38 ;
+ RECT 0.62 140.38 0.98 147.64 ;
+ RECT 0.62 149.22 0.98 153.76 ;
+ RECT 0.62 155.34 0.98 161.92 ;
+ RECT 0.62 163.5 0.98 167.36 ;
+ RECT 0.62 168.94 0.98 176.88 ;
+ RECT 0.62 178.46 0.98 182.32 ;
+ RECT 0.98 94.6 678.04 96.18 ;
+ RECT 0.98 96.18 678.04 138.8 ;
+ RECT 678.04 96.18 678.4 138.8 ;
+ RECT 678.04 88.02 678.4 94.6 ;
+ RECT 678.04 81.22 678.4 86.44 ;
+ RECT 678.04 73.74 678.4 79.64 ;
+ RECT 678.04 67.62 678.4 72.16 ;
+ RECT 0.98 140.38 678.04 393.8 ;
+ RECT 0.98 393.8 678.04 395.38 ;
+ RECT 678.04 140.38 678.4 393.8 ;
+ RECT 0.62 49.26 0.98 138.8 ;
+ RECT 0.62 41.1 0.98 47.68 ;
+ RECT 0.98 0.62 678.04 0.76 ;
+ RECT 678.04 0.62 678.26 0.76 ;
+ RECT 678.04 3.7 678.26 66.04 ;
+ RECT 678.26 0.62 678.4 0.76 ;
+ RECT 678.26 0.76 678.4 3.7 ;
+ RECT 678.26 3.7 678.4 66.04 ;
+ RECT 0.62 0.62 0.76 0.76 ;
+ RECT 0.62 0.76 0.76 3.7 ;
+ RECT 0.62 3.7 0.76 38.16 ;
+ RECT 0.76 0.62 0.98 0.76 ;
+ RECT 0.76 3.7 0.98 38.16 ;
+ RECT 0.62 183.9 0.76 409.44 ;
+ RECT 0.62 409.44 0.76 412.38 ;
+ RECT 0.62 412.38 0.76 412.52 ;
+ RECT 0.76 183.9 0.98 409.44 ;
+ RECT 0.76 412.38 0.98 412.52 ;
+ RECT 0.98 412.38 678.04 412.52 ;
+ RECT 678.04 395.38 678.26 409.44 ;
+ RECT 678.04 412.38 678.26 412.52 ;
+ RECT 678.26 395.38 678.4 409.44 ;
+ RECT 678.26 409.44 678.4 412.38 ;
+ RECT 678.26 412.38 678.4 412.52 ;
+ RECT 0.98 3.7 4.16 4.16 ;
+ RECT 0.98 4.16 4.16 7.1 ;
+ RECT 0.98 7.1 4.16 94.6 ;
+ RECT 4.16 3.7 674.86 4.16 ;
+ RECT 4.16 7.1 674.86 94.6 ;
+ RECT 674.86 3.7 678.04 4.16 ;
+ RECT 674.86 4.16 678.04 7.1 ;
+ RECT 674.86 7.1 678.04 94.6 ;
+ RECT 0.98 395.38 4.16 406.04 ;
+ RECT 0.98 406.04 4.16 408.98 ;
+ RECT 0.98 408.98 4.16 409.44 ;
+ RECT 4.16 395.38 674.86 406.04 ;
+ RECT 4.16 408.98 674.86 409.44 ;
+ RECT 674.86 395.38 678.04 406.04 ;
+ RECT 674.86 406.04 678.04 408.98 ;
+ RECT 674.86 408.98 678.04 409.44 ;
+ LAYER met4 ;
+ RECT 112.96 0.98 114.54 412.52 ;
+ RECT 114.54 0.62 118.4 0.98 ;
+ RECT 119.98 0.62 124.52 0.98 ;
+ RECT 126.1 0.62 129.96 0.98 ;
+ RECT 131.54 0.62 135.4 0.98 ;
+ RECT 142.42 0.62 147.64 0.98 ;
+ RECT 155.34 0.62 159.2 0.98 ;
+ RECT 160.78 0.62 164.64 0.98 ;
+ RECT 171.66 0.62 176.88 0.98 ;
+ RECT 183.9 0.62 187.76 0.98 ;
+ RECT 196.14 0.62 200.68 0.98 ;
+ RECT 207.7 0.62 211.56 0.98 ;
+ RECT 218.58 0.62 223.8 0.98 ;
+ RECT 230.82 0.62 235.36 0.98 ;
+ RECT 242.38 0.62 246.24 0.98 ;
+ RECT 254.62 0.62 258.48 0.98 ;
+ RECT 260.06 0.62 263.92 0.98 ;
+ RECT 270.94 0.62 276.16 0.98 ;
+ RECT 283.86 0.62 287.72 0.98 ;
+ RECT 79.18 0.62 83.04 0.98 ;
+ RECT 114.54 0.98 595.76 412.16 ;
+ RECT 595.76 0.98 597.34 412.16 ;
+ RECT 591.22 412.16 595.76 412.52 ;
+ RECT 597.34 412.16 651.52 412.52 ;
+ RECT 84.62 0.62 88.48 0.98 ;
+ RECT 90.06 0.62 95.28 0.98 ;
+ RECT 96.86 0.62 100.04 0.98 ;
+ RECT 101.62 0.62 106.16 0.98 ;
+ RECT 107.74 0.62 112.96 0.98 ;
+ RECT 136.98 0.62 138.8 0.98 ;
+ RECT 140.38 0.62 140.84 0.98 ;
+ RECT 149.22 0.62 151.04 0.98 ;
+ RECT 152.62 0.62 153.76 0.98 ;
+ RECT 166.9 0.62 170.08 0.98 ;
+ RECT 179.14 0.62 182.32 0.98 ;
+ RECT 189.34 0.62 189.8 0.98 ;
+ RECT 191.38 0.62 194.56 0.98 ;
+ RECT 202.26 0.62 202.72 0.98 ;
+ RECT 204.3 0.62 206.12 0.98 ;
+ RECT 213.14 0.62 214.96 0.98 ;
+ RECT 216.54 0.62 217.0 0.98 ;
+ RECT 225.38 0.62 227.2 0.98 ;
+ RECT 228.78 0.62 229.24 0.98 ;
+ RECT 236.94 0.62 238.76 0.98 ;
+ RECT 240.34 0.62 240.8 0.98 ;
+ RECT 247.82 0.62 252.36 0.98 ;
+ RECT 266.86 0.62 269.36 0.98 ;
+ RECT 279.1 0.62 282.28 0.98 ;
+ RECT 289.3 0.62 289.76 0.98 ;
+ RECT 291.34 0.62 293.16 0.98 ;
+ RECT 294.74 0.62 302.0 0.98 ;
+ RECT 303.58 0.62 314.92 0.98 ;
+ RECT 316.5 0.62 327.16 0.98 ;
+ RECT 328.74 0.62 338.72 0.98 ;
+ RECT 340.3 0.62 352.32 0.98 ;
+ RECT 353.9 0.62 364.56 0.98 ;
+ RECT 366.14 0.62 376.8 0.98 ;
+ RECT 378.38 0.62 389.72 0.98 ;
+ RECT 391.3 0.62 401.96 0.98 ;
+ RECT 403.54 0.62 414.88 0.98 ;
+ RECT 416.46 0.62 427.12 0.98 ;
+ RECT 428.7 0.62 440.04 0.98 ;
+ RECT 441.62 0.62 452.28 0.98 ;
+ RECT 453.86 0.62 464.52 0.98 ;
+ RECT 466.1 0.62 476.76 0.98 ;
+ RECT 478.34 0.62 489.68 0.98 ;
+ RECT 491.26 0.62 501.92 0.98 ;
+ RECT 503.5 0.62 514.16 0.98 ;
+ RECT 515.74 0.62 527.08 0.98 ;
+ RECT 528.66 0.62 613.44 0.98 ;
+ RECT 114.54 412.16 140.84 412.52 ;
+ RECT 142.42 412.16 152.4 412.52 ;
+ RECT 153.98 412.16 164.64 412.52 ;
+ RECT 166.22 412.16 178.24 412.52 ;
+ RECT 179.82 412.16 189.8 412.52 ;
+ RECT 191.38 412.16 202.72 412.52 ;
+ RECT 204.3 412.16 214.96 412.52 ;
+ RECT 216.54 412.16 227.88 412.52 ;
+ RECT 229.46 412.16 240.12 412.52 ;
+ RECT 241.7 412.16 253.04 412.52 ;
+ RECT 254.62 412.16 265.28 412.52 ;
+ RECT 266.86 412.16 278.2 412.52 ;
+ RECT 279.78 412.16 289.76 412.52 ;
+ RECT 291.34 412.16 302.0 412.52 ;
+ RECT 303.58 412.16 315.6 412.52 ;
+ RECT 317.18 412.16 327.84 412.52 ;
+ RECT 329.42 412.16 340.08 412.52 ;
+ RECT 341.66 412.16 352.32 412.52 ;
+ RECT 353.9 412.16 365.24 412.52 ;
+ RECT 366.82 412.16 376.8 412.52 ;
+ RECT 378.38 412.16 390.4 412.52 ;
+ RECT 391.98 412.16 402.64 412.52 ;
+ RECT 404.22 412.16 414.88 412.52 ;
+ RECT 416.46 412.16 427.12 412.52 ;
+ RECT 428.7 412.16 439.36 412.52 ;
+ RECT 440.94 412.16 452.28 412.52 ;
+ RECT 453.86 412.16 465.2 412.52 ;
+ RECT 466.78 412.16 477.44 412.52 ;
+ RECT 479.02 412.16 489.68 412.52 ;
+ RECT 491.26 412.16 502.6 412.52 ;
+ RECT 504.18 412.16 514.16 412.52 ;
+ RECT 515.74 412.16 527.76 412.52 ;
+ RECT 529.34 412.16 589.64 412.52 ;
+ RECT 678.26 0.98 678.4 412.16 ;
+ RECT 615.7 0.62 675.32 0.76 ;
+ RECT 615.7 0.76 675.32 0.98 ;
+ RECT 675.32 0.62 678.26 0.76 ;
+ RECT 678.26 0.62 678.4 0.76 ;
+ RECT 678.26 0.76 678.4 0.98 ;
+ RECT 653.1 412.16 675.32 412.38 ;
+ RECT 653.1 412.38 675.32 412.52 ;
+ RECT 675.32 412.38 678.26 412.52 ;
+ RECT 678.26 412.16 678.4 412.38 ;
+ RECT 678.26 412.38 678.4 412.52 ;
+ RECT 0.62 0.98 0.76 412.38 ;
+ RECT 0.62 412.38 0.76 412.52 ;
+ RECT 0.76 412.38 3.7 412.52 ;
+ RECT 3.7 412.38 112.96 412.52 ;
+ RECT 0.62 0.62 0.76 0.76 ;
+ RECT 0.62 0.76 0.76 0.98 ;
+ RECT 0.76 0.62 3.7 0.76 ;
+ RECT 3.7 0.62 77.6 0.76 ;
+ RECT 3.7 0.76 77.6 0.98 ;
+ RECT 3.7 0.98 4.16 4.16 ;
+ RECT 3.7 4.16 4.16 408.98 ;
+ RECT 3.7 408.98 4.16 412.38 ;
+ RECT 4.16 0.98 7.1 4.16 ;
+ RECT 4.16 408.98 7.1 412.38 ;
+ RECT 7.1 0.98 112.96 4.16 ;
+ RECT 7.1 4.16 112.96 408.98 ;
+ RECT 7.1 408.98 112.96 412.38 ;
+ RECT 597.34 0.98 671.92 4.16 ;
+ RECT 597.34 4.16 671.92 408.98 ;
+ RECT 597.34 408.98 671.92 412.16 ;
+ RECT 671.92 0.98 674.86 4.16 ;
+ RECT 671.92 408.98 674.86 412.16 ;
+ RECT 674.86 0.98 675.32 4.16 ;
+ RECT 674.86 4.16 675.32 408.98 ;
+ RECT 674.86 408.98 675.32 412.16 ;
+ END
+END sky130_sram_2kbyte_1rw1r_32x512_8
+END LIBRARY
diff --git a/lef/sky130_sram_4kbyte_1rw1r_32x1024_8.lef b/lef/sky130_sram_4kbyte_1rw1r_32x1024_8.lef
new file mode 100644
index 0000000..508b91e
--- /dev/null
+++ b/lef/sky130_sram_4kbyte_1rw1r_32x1024_8.lef
@@ -0,0 +1,1123 @@
+VERSION 5.4 ;
+NAMESCASESENSITIVE ON ;
+BUSBITCHARS "[]" ;
+DIVIDERCHAR "/" ;
+UNITS
+ DATABASE MICRONS 2000 ;
+END UNITS
+MACRO sky130_sram_4kbyte_1rw1r_32x1024_8
+ CLASS BLOCK ;
+ SIZE 689.9 BY 666.1 ;
+ SYMMETRY X Y R90 ;
+ PIN din0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 116.28 0.0 116.66 0.38 ;
+ END
+ END din0[0]
+ PIN din0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 121.72 0.0 122.1 0.38 ;
+ END
+ END din0[1]
+ PIN din0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 127.84 0.0 128.22 0.38 ;
+ END
+ END din0[2]
+ PIN din0[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 133.28 0.0 133.66 0.38 ;
+ END
+ END din0[3]
+ PIN din0[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 138.72 0.0 139.1 0.38 ;
+ END
+ END din0[4]
+ PIN din0[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 144.16 0.0 144.54 0.38 ;
+ END
+ END din0[5]
+ PIN din0[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 150.96 0.0 151.34 0.38 ;
+ END
+ END din0[6]
+ PIN din0[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 157.08 0.0 157.46 0.38 ;
+ END
+ END din0[7]
+ PIN din0[8]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 162.52 0.0 162.9 0.38 ;
+ END
+ END din0[8]
+ PIN din0[9]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 167.96 0.0 168.34 0.38 ;
+ END
+ END din0[9]
+ PIN din0[10]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 173.4 0.0 173.78 0.38 ;
+ END
+ END din0[10]
+ PIN din0[11]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 180.2 0.0 180.58 0.38 ;
+ END
+ END din0[11]
+ PIN din0[12]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 185.64 0.0 186.02 0.38 ;
+ END
+ END din0[12]
+ PIN din0[13]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 191.08 0.0 191.46 0.38 ;
+ END
+ END din0[13]
+ PIN din0[14]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 197.88 0.0 198.26 0.38 ;
+ END
+ END din0[14]
+ PIN din0[15]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 204.0 0.0 204.38 0.38 ;
+ END
+ END din0[15]
+ PIN din0[16]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 209.44 0.0 209.82 0.38 ;
+ END
+ END din0[16]
+ PIN din0[17]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 214.88 0.0 215.26 0.38 ;
+ END
+ END din0[17]
+ PIN din0[18]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 220.32 0.0 220.7 0.38 ;
+ END
+ END din0[18]
+ PIN din0[19]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 227.12 0.0 227.5 0.38 ;
+ END
+ END din0[19]
+ PIN din0[20]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 232.56 0.0 232.94 0.38 ;
+ END
+ END din0[20]
+ PIN din0[21]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 238.68 0.0 239.06 0.38 ;
+ END
+ END din0[21]
+ PIN din0[22]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 244.12 0.0 244.5 0.38 ;
+ END
+ END din0[22]
+ PIN din0[23]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 249.56 0.0 249.94 0.38 ;
+ END
+ END din0[23]
+ PIN din0[24]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 256.36 0.0 256.74 0.38 ;
+ END
+ END din0[24]
+ PIN din0[25]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 261.8 0.0 262.18 0.38 ;
+ END
+ END din0[25]
+ PIN din0[26]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 267.24 0.0 267.62 0.38 ;
+ END
+ END din0[26]
+ PIN din0[27]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 272.68 0.0 273.06 0.38 ;
+ END
+ END din0[27]
+ PIN din0[28]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 279.48 0.0 279.86 0.38 ;
+ END
+ END din0[28]
+ PIN din0[29]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 285.6 0.0 285.98 0.38 ;
+ END
+ END din0[29]
+ PIN din0[30]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 291.04 0.0 291.42 0.38 ;
+ END
+ END din0[30]
+ PIN din0[31]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 296.48 0.0 296.86 0.38 ;
+ END
+ END din0[31]
+ PIN addr0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 80.92 0.0 81.3 0.38 ;
+ END
+ END addr0[0]
+ PIN addr0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 86.36 0.0 86.74 0.38 ;
+ END
+ END addr0[1]
+ PIN addr0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 147.56 0.38 147.94 ;
+ END
+ END addr0[2]
+ PIN addr0[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 155.72 0.38 156.1 ;
+ END
+ END addr0[3]
+ PIN addr0[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 162.52 0.38 162.9 ;
+ END
+ END addr0[4]
+ PIN addr0[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 171.36 0.38 171.74 ;
+ END
+ END addr0[5]
+ PIN addr0[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 176.12 0.38 176.5 ;
+ END
+ END addr0[6]
+ PIN addr0[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 184.28 0.38 184.66 ;
+ END
+ END addr0[7]
+ PIN addr0[8]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 189.72 0.38 190.1 ;
+ END
+ END addr0[8]
+ PIN addr0[9]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 199.24 0.38 199.62 ;
+ END
+ END addr0[9]
+ PIN addr1[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 603.84 665.72 604.22 666.1 ;
+ END
+ END addr1[0]
+ PIN addr1[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 597.72 665.72 598.1 666.1 ;
+ END
+ END addr1[1]
+ PIN addr1[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 689.52 95.2 689.9 95.58 ;
+ END
+ END addr1[2]
+ PIN addr1[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 689.52 87.04 689.9 87.42 ;
+ END
+ END addr1[3]
+ PIN addr1[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 689.52 80.92 689.9 81.3 ;
+ END
+ END addr1[4]
+ PIN addr1[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 689.52 72.08 689.9 72.46 ;
+ END
+ END addr1[5]
+ PIN addr1[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 622.2 0.0 622.58 0.38 ;
+ END
+ END addr1[6]
+ PIN addr1[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 620.16 0.0 620.54 0.38 ;
+ END
+ END addr1[7]
+ PIN addr1[8]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 620.84 0.0 621.22 0.38 ;
+ END
+ END addr1[8]
+ PIN addr1[9]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 621.52 0.0 621.9 0.38 ;
+ END
+ END addr1[9]
+ PIN csb0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 38.76 0.38 39.14 ;
+ END
+ END csb0
+ PIN csb1
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 689.52 648.04 689.9 648.42 ;
+ END
+ END csb1
+ PIN web0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 47.6 0.38 47.98 ;
+ END
+ END web0
+ PIN clk0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 40.12 0.38 40.5 ;
+ END
+ END clk0
+ PIN clk1
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 661.64 665.72 662.02 666.1 ;
+ END
+ END clk1
+ PIN wmask0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 91.8 0.0 92.18 0.38 ;
+ END
+ END wmask0[0]
+ PIN wmask0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 98.6 0.0 98.98 0.38 ;
+ END
+ END wmask0[1]
+ PIN wmask0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 103.36 0.0 103.74 0.38 ;
+ END
+ END wmask0[2]
+ PIN wmask0[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 109.48 0.0 109.86 0.38 ;
+ END
+ END wmask0[3]
+ PIN dout0[0]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 142.8 0.0 143.18 0.38 ;
+ END
+ END dout0[0]
+ PIN dout0[1]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 157.76 0.0 158.14 0.38 ;
+ END
+ END dout0[1]
+ PIN dout0[2]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 170.0 0.0 170.38 0.38 ;
+ END
+ END dout0[2]
+ PIN dout0[3]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 182.92 0.0 183.3 0.38 ;
+ END
+ END dout0[3]
+ PIN dout0[4]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 195.16 0.0 195.54 0.38 ;
+ END
+ END dout0[4]
+ PIN dout0[5]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 206.72 0.0 207.1 0.38 ;
+ END
+ END dout0[5]
+ PIN dout0[6]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 218.96 0.0 219.34 0.38 ;
+ END
+ END dout0[6]
+ PIN dout0[7]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 230.52 0.0 230.9 0.38 ;
+ END
+ END dout0[7]
+ PIN dout0[8]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 247.52 0.0 247.9 0.38 ;
+ END
+ END dout0[8]
+ PIN dout0[9]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 257.72 0.0 258.1 0.38 ;
+ END
+ END dout0[9]
+ PIN dout0[10]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 270.64 0.0 271.02 0.38 ;
+ END
+ END dout0[10]
+ PIN dout0[11]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 282.88 0.0 283.26 0.38 ;
+ END
+ END dout0[11]
+ PIN dout0[12]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 294.44 0.0 294.82 0.38 ;
+ END
+ END dout0[12]
+ PIN dout0[13]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 307.36 0.0 307.74 0.38 ;
+ END
+ END dout0[13]
+ PIN dout0[14]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 320.28 0.0 320.66 0.38 ;
+ END
+ END dout0[14]
+ PIN dout0[15]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 332.52 0.0 332.9 0.38 ;
+ END
+ END dout0[15]
+ PIN dout0[16]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 345.44 0.0 345.82 0.38 ;
+ END
+ END dout0[16]
+ PIN dout0[17]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 357.68 0.0 358.06 0.38 ;
+ END
+ END dout0[17]
+ PIN dout0[18]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 369.92 0.0 370.3 0.38 ;
+ END
+ END dout0[18]
+ PIN dout0[19]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 382.16 0.0 382.54 0.38 ;
+ END
+ END dout0[19]
+ PIN dout0[20]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 395.08 0.0 395.46 0.38 ;
+ END
+ END dout0[20]
+ PIN dout0[21]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 407.32 0.0 407.7 0.38 ;
+ END
+ END dout0[21]
+ PIN dout0[22]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 419.56 0.0 419.94 0.38 ;
+ END
+ END dout0[22]
+ PIN dout0[23]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 432.48 0.0 432.86 0.38 ;
+ END
+ END dout0[23]
+ PIN dout0[24]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 443.36 0.0 443.74 0.38 ;
+ END
+ END dout0[24]
+ PIN dout0[25]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 457.64 0.0 458.02 0.38 ;
+ END
+ END dout0[25]
+ PIN dout0[26]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 469.88 0.0 470.26 0.38 ;
+ END
+ END dout0[26]
+ PIN dout0[27]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 482.12 0.0 482.5 0.38 ;
+ END
+ END dout0[27]
+ PIN dout0[28]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 495.04 0.0 495.42 0.38 ;
+ END
+ END dout0[28]
+ PIN dout0[29]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 507.28 0.0 507.66 0.38 ;
+ END
+ END dout0[29]
+ PIN dout0[30]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 519.52 0.0 519.9 0.38 ;
+ END
+ END dout0[30]
+ PIN dout0[31]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 532.44 0.0 532.82 0.38 ;
+ END
+ END dout0[31]
+ PIN dout1[0]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 146.2 665.72 146.58 666.1 ;
+ END
+ END dout1[0]
+ PIN dout1[1]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 157.76 665.72 158.14 666.1 ;
+ END
+ END dout1[1]
+ PIN dout1[2]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 170.68 665.72 171.06 666.1 ;
+ END
+ END dout1[2]
+ PIN dout1[3]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 182.92 665.72 183.3 666.1 ;
+ END
+ END dout1[3]
+ PIN dout1[4]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 195.84 665.72 196.22 666.1 ;
+ END
+ END dout1[4]
+ PIN dout1[5]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 208.08 665.72 208.46 666.1 ;
+ END
+ END dout1[5]
+ PIN dout1[6]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 221.0 665.72 221.38 666.1 ;
+ END
+ END dout1[6]
+ PIN dout1[7]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 233.24 665.72 233.62 666.1 ;
+ END
+ END dout1[7]
+ PIN dout1[8]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 245.48 665.72 245.86 666.1 ;
+ END
+ END dout1[8]
+ PIN dout1[9]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 257.72 665.72 258.1 666.1 ;
+ END
+ END dout1[9]
+ PIN dout1[10]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 269.96 665.72 270.34 666.1 ;
+ END
+ END dout1[10]
+ PIN dout1[11]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 282.88 665.72 283.26 666.1 ;
+ END
+ END dout1[11]
+ PIN dout1[12]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 295.8 665.72 296.18 666.1 ;
+ END
+ END dout1[12]
+ PIN dout1[13]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 308.04 665.72 308.42 666.1 ;
+ END
+ END dout1[13]
+ PIN dout1[14]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 320.96 665.72 321.34 666.1 ;
+ END
+ END dout1[14]
+ PIN dout1[15]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 333.2 665.72 333.58 666.1 ;
+ END
+ END dout1[15]
+ PIN dout1[16]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 344.76 665.72 345.14 666.1 ;
+ END
+ END dout1[16]
+ PIN dout1[17]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 358.36 665.72 358.74 666.1 ;
+ END
+ END dout1[17]
+ PIN dout1[18]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 369.92 665.72 370.3 666.1 ;
+ END
+ END dout1[18]
+ PIN dout1[19]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 382.84 665.72 383.22 666.1 ;
+ END
+ END dout1[19]
+ PIN dout1[20]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 395.08 665.72 395.46 666.1 ;
+ END
+ END dout1[20]
+ PIN dout1[21]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 408.0 665.72 408.38 666.1 ;
+ END
+ END dout1[21]
+ PIN dout1[22]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 420.24 665.72 420.62 666.1 ;
+ END
+ END dout1[22]
+ PIN dout1[23]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 433.16 665.72 433.54 666.1 ;
+ END
+ END dout1[23]
+ PIN dout1[24]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 445.4 665.72 445.78 666.1 ;
+ END
+ END dout1[24]
+ PIN dout1[25]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 457.64 665.72 458.02 666.1 ;
+ END
+ END dout1[25]
+ PIN dout1[26]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 469.88 665.72 470.26 666.1 ;
+ END
+ END dout1[26]
+ PIN dout1[27]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 482.12 665.72 482.5 666.1 ;
+ END
+ END dout1[27]
+ PIN dout1[28]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 495.04 665.72 495.42 666.1 ;
+ END
+ END dout1[28]
+ PIN dout1[29]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 507.96 665.72 508.34 666.1 ;
+ END
+ END dout1[29]
+ PIN dout1[30]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 520.2 665.72 520.58 666.1 ;
+ END
+ END dout1[30]
+ PIN dout1[31]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 533.12 665.72 533.5 666.1 ;
+ END
+ END dout1[31]
+ PIN vccd1
+ DIRECTION INOUT ;
+ USE POWER ;
+ SHAPE ABUTMENT ;
+ PORT
+ LAYER met3 ;
+ RECT 1.36 663.0 688.54 664.74 ;
+ LAYER met4 ;
+ RECT 1.36 1.36 3.1 664.74 ;
+ LAYER met4 ;
+ RECT 686.8 1.36 688.54 664.74 ;
+ LAYER met3 ;
+ RECT 1.36 1.36 688.54 3.1 ;
+ END
+ END vccd1
+ PIN vssd1
+ DIRECTION INOUT ;
+ USE GROUND ;
+ SHAPE ABUTMENT ;
+ PORT
+ LAYER met4 ;
+ RECT 683.4 4.76 685.14 661.34 ;
+ LAYER met4 ;
+ RECT 4.76 4.76 6.5 661.34 ;
+ LAYER met3 ;
+ RECT 4.76 4.76 685.14 6.5 ;
+ LAYER met3 ;
+ RECT 4.76 659.6 685.14 661.34 ;
+ END
+ END vssd1
+ OBS
+ LAYER met1 ;
+ RECT 0.62 0.62 689.28 665.48 ;
+ LAYER met2 ;
+ RECT 0.62 0.62 689.28 665.48 ;
+ LAYER met3 ;
+ RECT 0.98 146.96 689.28 148.54 ;
+ RECT 0.62 148.54 0.98 155.12 ;
+ RECT 0.62 156.7 0.98 161.92 ;
+ RECT 0.62 163.5 0.98 170.76 ;
+ RECT 0.62 172.34 0.98 175.52 ;
+ RECT 0.62 177.1 0.98 183.68 ;
+ RECT 0.62 185.26 0.98 189.12 ;
+ RECT 0.62 190.7 0.98 198.64 ;
+ RECT 0.98 94.6 688.92 96.18 ;
+ RECT 0.98 96.18 688.92 146.96 ;
+ RECT 688.92 96.18 689.28 146.96 ;
+ RECT 688.92 88.02 689.28 94.6 ;
+ RECT 688.92 81.9 689.28 86.44 ;
+ RECT 688.92 73.06 689.28 80.32 ;
+ RECT 0.98 148.54 688.92 647.44 ;
+ RECT 0.98 647.44 688.92 649.02 ;
+ RECT 688.92 148.54 689.28 647.44 ;
+ RECT 0.62 48.58 0.98 146.96 ;
+ RECT 0.62 41.1 0.98 47.0 ;
+ RECT 0.62 200.22 0.76 662.4 ;
+ RECT 0.62 662.4 0.76 665.34 ;
+ RECT 0.62 665.34 0.76 665.48 ;
+ RECT 0.76 200.22 0.98 662.4 ;
+ RECT 0.76 665.34 0.98 665.48 ;
+ RECT 0.98 665.34 688.92 665.48 ;
+ RECT 688.92 649.02 689.14 662.4 ;
+ RECT 688.92 665.34 689.14 665.48 ;
+ RECT 689.14 649.02 689.28 662.4 ;
+ RECT 689.14 662.4 689.28 665.34 ;
+ RECT 689.14 665.34 689.28 665.48 ;
+ RECT 0.98 0.62 688.92 0.76 ;
+ RECT 688.92 0.62 689.14 0.76 ;
+ RECT 688.92 3.7 689.14 71.48 ;
+ RECT 689.14 0.62 689.28 0.76 ;
+ RECT 689.14 0.76 689.28 3.7 ;
+ RECT 689.14 3.7 689.28 71.48 ;
+ RECT 0.62 0.62 0.76 0.76 ;
+ RECT 0.62 0.76 0.76 3.7 ;
+ RECT 0.62 3.7 0.76 38.16 ;
+ RECT 0.76 0.62 0.98 0.76 ;
+ RECT 0.76 3.7 0.98 38.16 ;
+ RECT 0.98 3.7 4.16 4.16 ;
+ RECT 0.98 4.16 4.16 7.1 ;
+ RECT 0.98 7.1 4.16 94.6 ;
+ RECT 4.16 3.7 685.74 4.16 ;
+ RECT 4.16 7.1 685.74 94.6 ;
+ RECT 685.74 3.7 688.92 4.16 ;
+ RECT 685.74 4.16 688.92 7.1 ;
+ RECT 685.74 7.1 688.92 94.6 ;
+ RECT 0.98 649.02 4.16 659.0 ;
+ RECT 0.98 659.0 4.16 661.94 ;
+ RECT 0.98 661.94 4.16 662.4 ;
+ RECT 4.16 649.02 685.74 659.0 ;
+ RECT 4.16 661.94 685.74 662.4 ;
+ RECT 685.74 649.02 688.92 659.0 ;
+ RECT 685.74 659.0 688.92 661.94 ;
+ RECT 685.74 661.94 688.92 662.4 ;
+ LAYER met4 ;
+ RECT 115.68 0.98 117.26 665.48 ;
+ RECT 117.26 0.62 121.12 0.98 ;
+ RECT 122.7 0.62 127.24 0.98 ;
+ RECT 128.82 0.62 132.68 0.98 ;
+ RECT 134.26 0.62 138.12 0.98 ;
+ RECT 145.14 0.62 150.36 0.98 ;
+ RECT 151.94 0.62 156.48 0.98 ;
+ RECT 163.5 0.62 167.36 0.98 ;
+ RECT 174.38 0.62 179.6 0.98 ;
+ RECT 186.62 0.62 190.48 0.98 ;
+ RECT 198.86 0.62 203.4 0.98 ;
+ RECT 210.42 0.62 214.28 0.98 ;
+ RECT 221.3 0.62 226.52 0.98 ;
+ RECT 233.54 0.62 238.08 0.98 ;
+ RECT 239.66 0.62 243.52 0.98 ;
+ RECT 250.54 0.62 255.76 0.98 ;
+ RECT 262.78 0.62 266.64 0.98 ;
+ RECT 273.66 0.62 278.88 0.98 ;
+ RECT 286.58 0.62 290.44 0.98 ;
+ RECT 81.9 0.62 85.76 0.98 ;
+ RECT 117.26 0.98 603.24 665.12 ;
+ RECT 603.24 0.98 604.82 665.12 ;
+ RECT 598.7 665.12 603.24 665.48 ;
+ RECT 604.82 665.12 661.04 665.48 ;
+ RECT 87.34 0.62 91.2 0.98 ;
+ RECT 92.78 0.62 98.0 0.98 ;
+ RECT 99.58 0.62 102.76 0.98 ;
+ RECT 104.34 0.62 108.88 0.98 ;
+ RECT 110.46 0.62 115.68 0.98 ;
+ RECT 139.7 0.62 142.2 0.98 ;
+ RECT 158.74 0.62 161.92 0.98 ;
+ RECT 168.94 0.62 169.4 0.98 ;
+ RECT 170.98 0.62 172.8 0.98 ;
+ RECT 181.18 0.62 182.32 0.98 ;
+ RECT 183.9 0.62 185.04 0.98 ;
+ RECT 192.06 0.62 194.56 0.98 ;
+ RECT 196.14 0.62 197.28 0.98 ;
+ RECT 204.98 0.62 206.12 0.98 ;
+ RECT 207.7 0.62 208.84 0.98 ;
+ RECT 215.86 0.62 218.36 0.98 ;
+ RECT 228.1 0.62 229.92 0.98 ;
+ RECT 231.5 0.62 231.96 0.98 ;
+ RECT 245.1 0.62 246.92 0.98 ;
+ RECT 248.5 0.62 248.96 0.98 ;
+ RECT 258.7 0.62 261.2 0.98 ;
+ RECT 268.22 0.62 270.04 0.98 ;
+ RECT 271.62 0.62 272.08 0.98 ;
+ RECT 280.46 0.62 282.28 0.98 ;
+ RECT 283.86 0.62 285.0 0.98 ;
+ RECT 292.02 0.62 293.84 0.98 ;
+ RECT 295.42 0.62 295.88 0.98 ;
+ RECT 297.46 0.62 306.76 0.98 ;
+ RECT 308.34 0.62 319.68 0.98 ;
+ RECT 321.26 0.62 331.92 0.98 ;
+ RECT 333.5 0.62 344.84 0.98 ;
+ RECT 346.42 0.62 357.08 0.98 ;
+ RECT 358.66 0.62 369.32 0.98 ;
+ RECT 370.9 0.62 381.56 0.98 ;
+ RECT 383.14 0.62 394.48 0.98 ;
+ RECT 396.06 0.62 406.72 0.98 ;
+ RECT 408.3 0.62 418.96 0.98 ;
+ RECT 420.54 0.62 431.88 0.98 ;
+ RECT 433.46 0.62 442.76 0.98 ;
+ RECT 444.34 0.62 457.04 0.98 ;
+ RECT 458.62 0.62 469.28 0.98 ;
+ RECT 470.86 0.62 481.52 0.98 ;
+ RECT 483.1 0.62 494.44 0.98 ;
+ RECT 496.02 0.62 506.68 0.98 ;
+ RECT 508.26 0.62 518.92 0.98 ;
+ RECT 520.5 0.62 531.84 0.98 ;
+ RECT 533.42 0.62 619.56 0.98 ;
+ RECT 117.26 665.12 145.6 665.48 ;
+ RECT 147.18 665.12 157.16 665.48 ;
+ RECT 158.74 665.12 170.08 665.48 ;
+ RECT 171.66 665.12 182.32 665.48 ;
+ RECT 183.9 665.12 195.24 665.48 ;
+ RECT 196.82 665.12 207.48 665.48 ;
+ RECT 209.06 665.12 220.4 665.48 ;
+ RECT 221.98 665.12 232.64 665.48 ;
+ RECT 234.22 665.12 244.88 665.48 ;
+ RECT 246.46 665.12 257.12 665.48 ;
+ RECT 258.7 665.12 269.36 665.48 ;
+ RECT 270.94 665.12 282.28 665.48 ;
+ RECT 283.86 665.12 295.2 665.48 ;
+ RECT 296.78 665.12 307.44 665.48 ;
+ RECT 309.02 665.12 320.36 665.48 ;
+ RECT 321.94 665.12 332.6 665.48 ;
+ RECT 334.18 665.12 344.16 665.48 ;
+ RECT 345.74 665.12 357.76 665.48 ;
+ RECT 359.34 665.12 369.32 665.48 ;
+ RECT 370.9 665.12 382.24 665.48 ;
+ RECT 383.82 665.12 394.48 665.48 ;
+ RECT 396.06 665.12 407.4 665.48 ;
+ RECT 408.98 665.12 419.64 665.48 ;
+ RECT 421.22 665.12 432.56 665.48 ;
+ RECT 434.14 665.12 444.8 665.48 ;
+ RECT 446.38 665.12 457.04 665.48 ;
+ RECT 458.62 665.12 469.28 665.48 ;
+ RECT 470.86 665.12 481.52 665.48 ;
+ RECT 483.1 665.12 494.44 665.48 ;
+ RECT 496.02 665.12 507.36 665.48 ;
+ RECT 508.94 665.12 519.6 665.48 ;
+ RECT 521.18 665.12 532.52 665.48 ;
+ RECT 534.1 665.12 597.12 665.48 ;
+ RECT 0.62 0.98 0.76 665.34 ;
+ RECT 0.62 665.34 0.76 665.48 ;
+ RECT 0.76 665.34 3.7 665.48 ;
+ RECT 3.7 665.34 115.68 665.48 ;
+ RECT 0.62 0.62 0.76 0.76 ;
+ RECT 0.62 0.76 0.76 0.98 ;
+ RECT 0.76 0.62 3.7 0.76 ;
+ RECT 3.7 0.62 80.32 0.76 ;
+ RECT 3.7 0.76 80.32 0.98 ;
+ RECT 689.14 0.98 689.28 665.12 ;
+ RECT 623.18 0.62 686.2 0.76 ;
+ RECT 623.18 0.76 686.2 0.98 ;
+ RECT 686.2 0.62 689.14 0.76 ;
+ RECT 689.14 0.62 689.28 0.76 ;
+ RECT 689.14 0.76 689.28 0.98 ;
+ RECT 662.62 665.12 686.2 665.34 ;
+ RECT 662.62 665.34 686.2 665.48 ;
+ RECT 686.2 665.34 689.14 665.48 ;
+ RECT 689.14 665.12 689.28 665.34 ;
+ RECT 689.14 665.34 689.28 665.48 ;
+ RECT 604.82 0.98 682.8 4.16 ;
+ RECT 604.82 4.16 682.8 661.94 ;
+ RECT 604.82 661.94 682.8 665.12 ;
+ RECT 682.8 0.98 685.74 4.16 ;
+ RECT 682.8 661.94 685.74 665.12 ;
+ RECT 685.74 0.98 686.2 4.16 ;
+ RECT 685.74 4.16 686.2 661.94 ;
+ RECT 685.74 661.94 686.2 665.12 ;
+ RECT 3.7 0.98 4.16 4.16 ;
+ RECT 3.7 4.16 4.16 661.94 ;
+ RECT 3.7 661.94 4.16 665.34 ;
+ RECT 4.16 0.98 7.1 4.16 ;
+ RECT 4.16 661.94 7.1 665.34 ;
+ RECT 7.1 0.98 115.68 4.16 ;
+ RECT 7.1 4.16 115.68 661.94 ;
+ RECT 7.1 661.94 115.68 665.34 ;
+ END
+END sky130_sram_4kbyte_1rw1r_32x1024_8
+END LIBRARY
diff --git a/lef/sky130_sram_8kbyte_1rw1r_32x2048_8.lef b/lef/sky130_sram_8kbyte_1rw1r_32x2048_8.lef
new file mode 100644
index 0000000..6449e76
--- /dev/null
+++ b/lef/sky130_sram_8kbyte_1rw1r_32x2048_8.lef
@@ -0,0 +1,1144 @@
+VERSION 5.4 ;
+NAMESCASESENSITIVE ON ;
+BUSBITCHARS "[]" ;
+DIVIDERCHAR "/" ;
+UNITS
+ DATABASE MICRONS 2000 ;
+END UNITS
+MACRO sky130_sram_8kbyte_1rw1r_32x2048_8
+ CLASS BLOCK ;
+ SIZE 1093.82 BY 720.5 ;
+ SYMMETRY X Y R90 ;
+ PIN din0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 123.08 0.0 123.46 0.38 ;
+ END
+ END din0[0]
+ PIN din0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 129.88 0.0 130.26 0.38 ;
+ END
+ END din0[1]
+ PIN din0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 135.32 0.0 135.7 0.38 ;
+ END
+ END din0[2]
+ PIN din0[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 141.44 0.0 141.82 0.38 ;
+ END
+ END din0[3]
+ PIN din0[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 146.2 0.0 146.58 0.38 ;
+ END
+ END din0[4]
+ PIN din0[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 153.0 0.0 153.38 0.38 ;
+ END
+ END din0[5]
+ PIN din0[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 158.44 0.0 158.82 0.38 ;
+ END
+ END din0[6]
+ PIN din0[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 163.88 0.0 164.26 0.38 ;
+ END
+ END din0[7]
+ PIN din0[8]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 170.0 0.0 170.38 0.38 ;
+ END
+ END din0[8]
+ PIN din0[9]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 175.44 0.0 175.82 0.38 ;
+ END
+ END din0[9]
+ PIN din0[10]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 182.24 0.0 182.62 0.38 ;
+ END
+ END din0[10]
+ PIN din0[11]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 187.68 0.0 188.06 0.38 ;
+ END
+ END din0[11]
+ PIN din0[12]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 193.12 0.0 193.5 0.38 ;
+ END
+ END din0[12]
+ PIN din0[13]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 199.24 0.0 199.62 0.38 ;
+ END
+ END din0[13]
+ PIN din0[14]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 204.68 0.0 205.06 0.38 ;
+ END
+ END din0[14]
+ PIN din0[15]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 211.48 0.0 211.86 0.38 ;
+ END
+ END din0[15]
+ PIN din0[16]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 216.92 0.0 217.3 0.38 ;
+ END
+ END din0[16]
+ PIN din0[17]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 223.04 0.0 223.42 0.38 ;
+ END
+ END din0[17]
+ PIN din0[18]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 229.16 0.0 229.54 0.38 ;
+ END
+ END din0[18]
+ PIN din0[19]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 234.6 0.0 234.98 0.38 ;
+ END
+ END din0[19]
+ PIN din0[20]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 240.04 0.0 240.42 0.38 ;
+ END
+ END din0[20]
+ PIN din0[21]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 245.48 0.0 245.86 0.38 ;
+ END
+ END din0[21]
+ PIN din0[22]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 251.6 0.0 251.98 0.38 ;
+ END
+ END din0[22]
+ PIN din0[23]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 257.72 0.0 258.1 0.38 ;
+ END
+ END din0[23]
+ PIN din0[24]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 263.84 0.0 264.22 0.38 ;
+ END
+ END din0[24]
+ PIN din0[25]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 269.28 0.0 269.66 0.38 ;
+ END
+ END din0[25]
+ PIN din0[26]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 274.72 0.0 275.1 0.38 ;
+ END
+ END din0[26]
+ PIN din0[27]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 280.84 0.0 281.22 0.38 ;
+ END
+ END din0[27]
+ PIN din0[28]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 286.96 0.0 287.34 0.38 ;
+ END
+ END din0[28]
+ PIN din0[29]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 293.08 0.0 293.46 0.38 ;
+ END
+ END din0[29]
+ PIN din0[30]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 299.2 0.0 299.58 0.38 ;
+ END
+ END din0[30]
+ PIN din0[31]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 303.96 0.0 304.34 0.38 ;
+ END
+ END din0[31]
+ PIN addr0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 82.28 0.0 82.66 0.38 ;
+ END
+ END addr0[0]
+ PIN addr0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 88.4 0.0 88.78 0.38 ;
+ END
+ END addr0[1]
+ PIN addr0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 93.84 0.0 94.22 0.38 ;
+ END
+ END addr0[2]
+ PIN addr0[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 174.08 0.38 174.46 ;
+ END
+ END addr0[3]
+ PIN addr0[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 182.24 0.38 182.62 ;
+ END
+ END addr0[4]
+ PIN addr0[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 189.04 0.38 189.42 ;
+ END
+ END addr0[5]
+ PIN addr0[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 197.2 0.38 197.58 ;
+ END
+ END addr0[6]
+ PIN addr0[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 202.64 0.38 203.02 ;
+ END
+ END addr0[7]
+ PIN addr0[8]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 210.8 0.38 211.18 ;
+ END
+ END addr0[8]
+ PIN addr0[9]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 216.24 0.38 216.62 ;
+ END
+ END addr0[9]
+ PIN addr0[10]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 225.76 0.38 226.14 ;
+ END
+ END addr0[10]
+ PIN addr1[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 1005.04 720.12 1005.42 720.5 ;
+ END
+ END addr1[0]
+ PIN addr1[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 999.6 720.12 999.98 720.5 ;
+ END
+ END addr1[1]
+ PIN addr1[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 992.8 720.12 993.18 720.5 ;
+ END
+ END addr1[2]
+ PIN addr1[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 1093.44 121.04 1093.82 121.42 ;
+ END
+ END addr1[3]
+ PIN addr1[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 1093.44 112.88 1093.82 113.26 ;
+ END
+ END addr1[4]
+ PIN addr1[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 1093.44 107.44 1093.82 107.82 ;
+ END
+ END addr1[5]
+ PIN addr1[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 1093.44 97.92 1093.82 98.3 ;
+ END
+ END addr1[6]
+ PIN addr1[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 1093.44 92.48 1093.82 92.86 ;
+ END
+ END addr1[7]
+ PIN addr1[8]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 1093.44 84.32 1093.82 84.7 ;
+ END
+ END addr1[8]
+ PIN addr1[9]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 1093.44 78.88 1093.82 79.26 ;
+ END
+ END addr1[9]
+ PIN addr1[10]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 1093.44 70.72 1093.82 71.1 ;
+ END
+ END addr1[10]
+ PIN csb0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 65.96 0.38 66.34 ;
+ END
+ END csb0
+ PIN csb1
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 1093.44 673.2 1093.82 673.58 ;
+ END
+ END csb1
+ PIN web0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 74.8 0.38 75.18 ;
+ END
+ END web0
+ PIN clk0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 66.64 0.38 67.02 ;
+ END
+ END clk0
+ PIN clk1
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 1093.44 672.52 1093.82 672.9 ;
+ END
+ END clk1
+ PIN wmask0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 99.96 0.0 100.34 0.38 ;
+ END
+ END wmask0[0]
+ PIN wmask0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 105.4 0.0 105.78 0.38 ;
+ END
+ END wmask0[1]
+ PIN wmask0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 111.52 0.0 111.9 0.38 ;
+ END
+ END wmask0[2]
+ PIN wmask0[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 117.64 0.0 118.02 0.38 ;
+ END
+ END wmask0[3]
+ PIN dout0[0]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 144.84 0.0 145.22 0.38 ;
+ END
+ END dout0[0]
+ PIN dout0[1]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 172.72 0.0 173.1 0.38 ;
+ END
+ END dout0[1]
+ PIN dout0[2]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 197.2 0.0 197.58 0.38 ;
+ END
+ END dout0[2]
+ PIN dout0[3]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 221.0 0.0 221.38 0.38 ;
+ END
+ END dout0[3]
+ PIN dout0[4]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 247.52 0.0 247.9 0.38 ;
+ END
+ END dout0[4]
+ PIN dout0[5]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 272.68 0.0 273.06 0.38 ;
+ END
+ END dout0[5]
+ PIN dout0[6]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 296.48 0.0 296.86 0.38 ;
+ END
+ END dout0[6]
+ PIN dout0[7]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 322.32 0.0 322.7 0.38 ;
+ END
+ END dout0[7]
+ PIN dout0[8]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 347.48 0.0 347.86 0.38 ;
+ END
+ END dout0[8]
+ PIN dout0[9]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 371.96 0.0 372.34 0.38 ;
+ END
+ END dout0[9]
+ PIN dout0[10]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 397.12 0.0 397.5 0.38 ;
+ END
+ END dout0[10]
+ PIN dout0[11]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 421.6 0.0 421.98 0.38 ;
+ END
+ END dout0[11]
+ PIN dout0[12]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 446.76 0.0 447.14 0.38 ;
+ END
+ END dout0[12]
+ PIN dout0[13]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 471.92 0.0 472.3 0.38 ;
+ END
+ END dout0[13]
+ PIN dout0[14]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 497.08 0.0 497.46 0.38 ;
+ END
+ END dout0[14]
+ PIN dout0[15]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 521.56 0.0 521.94 0.38 ;
+ END
+ END dout0[15]
+ PIN dout0[16]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 545.36 0.0 545.74 0.38 ;
+ END
+ END dout0[16]
+ PIN dout0[17]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 571.88 0.0 572.26 0.38 ;
+ END
+ END dout0[17]
+ PIN dout0[18]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 596.36 0.0 596.74 0.38 ;
+ END
+ END dout0[18]
+ PIN dout0[19]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 621.52 0.0 621.9 0.38 ;
+ END
+ END dout0[19]
+ PIN dout0[20]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 646.68 0.0 647.06 0.38 ;
+ END
+ END dout0[20]
+ PIN dout0[21]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 671.84 0.0 672.22 0.38 ;
+ END
+ END dout0[21]
+ PIN dout0[22]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 696.32 0.0 696.7 0.38 ;
+ END
+ END dout0[22]
+ PIN dout0[23]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 721.48 0.0 721.86 0.38 ;
+ END
+ END dout0[23]
+ PIN dout0[24]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 745.28 0.0 745.66 0.38 ;
+ END
+ END dout0[24]
+ PIN dout0[25]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 771.12 0.0 771.5 0.38 ;
+ END
+ END dout0[25]
+ PIN dout0[26]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 796.28 0.0 796.66 0.38 ;
+ END
+ END dout0[26]
+ PIN dout0[27]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 821.44 0.0 821.82 0.38 ;
+ END
+ END dout0[27]
+ PIN dout0[28]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 845.92 0.0 846.3 0.38 ;
+ END
+ END dout0[28]
+ PIN dout0[29]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 871.08 0.0 871.46 0.38 ;
+ END
+ END dout0[29]
+ PIN dout0[30]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 896.24 0.0 896.62 0.38 ;
+ END
+ END dout0[30]
+ PIN dout0[31]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 921.4 0.0 921.78 0.38 ;
+ END
+ END dout0[31]
+ PIN dout1[0]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 147.56 720.12 147.94 720.5 ;
+ END
+ END dout1[0]
+ PIN dout1[1]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 172.04 720.12 172.42 720.5 ;
+ END
+ END dout1[1]
+ PIN dout1[2]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 197.2 720.12 197.58 720.5 ;
+ END
+ END dout1[2]
+ PIN dout1[3]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 222.36 720.12 222.74 720.5 ;
+ END
+ END dout1[3]
+ PIN dout1[4]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 247.52 720.12 247.9 720.5 ;
+ END
+ END dout1[4]
+ PIN dout1[5]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 272.68 720.12 273.06 720.5 ;
+ END
+ END dout1[5]
+ PIN dout1[6]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 297.16 720.12 297.54 720.5 ;
+ END
+ END dout1[6]
+ PIN dout1[7]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 322.32 720.12 322.7 720.5 ;
+ END
+ END dout1[7]
+ PIN dout1[8]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 347.48 720.12 347.86 720.5 ;
+ END
+ END dout1[8]
+ PIN dout1[9]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 372.64 720.12 373.02 720.5 ;
+ END
+ END dout1[9]
+ PIN dout1[10]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 397.8 720.12 398.18 720.5 ;
+ END
+ END dout1[10]
+ PIN dout1[11]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 421.6 720.12 421.98 720.5 ;
+ END
+ END dout1[11]
+ PIN dout1[12]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 446.76 720.12 447.14 720.5 ;
+ END
+ END dout1[12]
+ PIN dout1[13]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 472.6 720.12 472.98 720.5 ;
+ END
+ END dout1[13]
+ PIN dout1[14]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 497.08 720.12 497.46 720.5 ;
+ END
+ END dout1[14]
+ PIN dout1[15]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 521.56 720.12 521.94 720.5 ;
+ END
+ END dout1[15]
+ PIN dout1[16]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 546.72 720.12 547.1 720.5 ;
+ END
+ END dout1[16]
+ PIN dout1[17]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 571.88 720.12 572.26 720.5 ;
+ END
+ END dout1[17]
+ PIN dout1[18]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 596.36 720.12 596.74 720.5 ;
+ END
+ END dout1[18]
+ PIN dout1[19]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 621.52 720.12 621.9 720.5 ;
+ END
+ END dout1[19]
+ PIN dout1[20]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 646.68 720.12 647.06 720.5 ;
+ END
+ END dout1[20]
+ PIN dout1[21]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 671.84 720.12 672.22 720.5 ;
+ END
+ END dout1[21]
+ PIN dout1[22]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 697.0 720.12 697.38 720.5 ;
+ END
+ END dout1[22]
+ PIN dout1[23]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 721.48 720.12 721.86 720.5 ;
+ END
+ END dout1[23]
+ PIN dout1[24]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 746.64 720.12 747.02 720.5 ;
+ END
+ END dout1[24]
+ PIN dout1[25]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 771.8 720.12 772.18 720.5 ;
+ END
+ END dout1[25]
+ PIN dout1[26]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 796.96 720.12 797.34 720.5 ;
+ END
+ END dout1[26]
+ PIN dout1[27]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 822.12 720.12 822.5 720.5 ;
+ END
+ END dout1[27]
+ PIN dout1[28]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 845.92 720.12 846.3 720.5 ;
+ END
+ END dout1[28]
+ PIN dout1[29]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 871.08 720.12 871.46 720.5 ;
+ END
+ END dout1[29]
+ PIN dout1[30]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 896.92 720.12 897.3 720.5 ;
+ END
+ END dout1[30]
+ PIN dout1[31]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 921.4 720.12 921.78 720.5 ;
+ END
+ END dout1[31]
+ PIN vccd1
+ DIRECTION INOUT ;
+ USE POWER ;
+ SHAPE ABUTMENT ;
+ PORT
+ LAYER met3 ;
+ RECT 1.36 1.36 1092.46 3.1 ;
+ LAYER met4 ;
+ RECT 1.36 1.36 3.1 719.14 ;
+ LAYER met3 ;
+ RECT 1.36 717.4 1092.46 719.14 ;
+ LAYER met4 ;
+ RECT 1090.72 1.36 1092.46 719.14 ;
+ END
+ END vccd1
+ PIN vssd1
+ DIRECTION INOUT ;
+ USE GROUND ;
+ SHAPE ABUTMENT ;
+ PORT
+ LAYER met3 ;
+ RECT 4.76 714.0 1089.06 715.74 ;
+ LAYER met4 ;
+ RECT 1087.32 4.76 1089.06 715.74 ;
+ LAYER met3 ;
+ RECT 4.76 4.76 1089.06 6.5 ;
+ LAYER met4 ;
+ RECT 4.76 4.76 6.5 715.74 ;
+ END
+ END vssd1
+ OBS
+ LAYER met1 ;
+ RECT 0.62 0.62 1093.2 719.88 ;
+ LAYER met2 ;
+ RECT 0.62 0.62 1093.2 719.88 ;
+ LAYER met3 ;
+ RECT 0.98 173.48 1093.2 175.06 ;
+ RECT 0.62 175.06 0.98 181.64 ;
+ RECT 0.62 183.22 0.98 188.44 ;
+ RECT 0.62 190.02 0.98 196.6 ;
+ RECT 0.62 198.18 0.98 202.04 ;
+ RECT 0.62 203.62 0.98 210.2 ;
+ RECT 0.62 211.78 0.98 215.64 ;
+ RECT 0.62 217.22 0.98 225.16 ;
+ RECT 0.98 120.44 1092.84 122.02 ;
+ RECT 0.98 122.02 1092.84 173.48 ;
+ RECT 1092.84 122.02 1093.2 173.48 ;
+ RECT 1092.84 113.86 1093.2 120.44 ;
+ RECT 1092.84 108.42 1093.2 112.28 ;
+ RECT 1092.84 98.9 1093.2 106.84 ;
+ RECT 1092.84 93.46 1093.2 97.32 ;
+ RECT 1092.84 85.3 1093.2 91.88 ;
+ RECT 1092.84 79.86 1093.2 83.72 ;
+ RECT 1092.84 71.7 1093.2 78.28 ;
+ RECT 0.98 175.06 1092.84 672.6 ;
+ RECT 0.98 672.6 1092.84 674.18 ;
+ RECT 0.62 75.78 0.98 173.48 ;
+ RECT 0.62 67.62 0.98 74.2 ;
+ RECT 1092.84 175.06 1093.2 671.92 ;
+ RECT 0.98 0.62 1092.84 0.76 ;
+ RECT 1092.84 0.62 1093.06 0.76 ;
+ RECT 1092.84 3.7 1093.06 70.12 ;
+ RECT 1093.06 0.62 1093.2 0.76 ;
+ RECT 1093.06 0.76 1093.2 3.7 ;
+ RECT 1093.06 3.7 1093.2 70.12 ;
+ RECT 0.62 0.62 0.76 0.76 ;
+ RECT 0.62 0.76 0.76 3.7 ;
+ RECT 0.62 3.7 0.76 65.36 ;
+ RECT 0.76 0.62 0.98 0.76 ;
+ RECT 0.76 3.7 0.98 65.36 ;
+ RECT 0.62 226.74 0.76 716.8 ;
+ RECT 0.62 716.8 0.76 719.74 ;
+ RECT 0.62 719.74 0.76 719.88 ;
+ RECT 0.76 226.74 0.98 716.8 ;
+ RECT 0.76 719.74 0.98 719.88 ;
+ RECT 0.98 719.74 1092.84 719.88 ;
+ RECT 1092.84 674.18 1093.06 716.8 ;
+ RECT 1092.84 719.74 1093.06 719.88 ;
+ RECT 1093.06 674.18 1093.2 716.8 ;
+ RECT 1093.06 716.8 1093.2 719.74 ;
+ RECT 1093.06 719.74 1093.2 719.88 ;
+ RECT 0.98 674.18 4.16 713.4 ;
+ RECT 0.98 713.4 4.16 716.34 ;
+ RECT 0.98 716.34 4.16 716.8 ;
+ RECT 4.16 674.18 1089.66 713.4 ;
+ RECT 4.16 716.34 1089.66 716.8 ;
+ RECT 1089.66 674.18 1092.84 713.4 ;
+ RECT 1089.66 713.4 1092.84 716.34 ;
+ RECT 1089.66 716.34 1092.84 716.8 ;
+ RECT 0.98 3.7 4.16 4.16 ;
+ RECT 0.98 4.16 4.16 7.1 ;
+ RECT 0.98 7.1 4.16 120.44 ;
+ RECT 4.16 3.7 1089.66 4.16 ;
+ RECT 4.16 7.1 1089.66 120.44 ;
+ RECT 1089.66 3.7 1092.84 4.16 ;
+ RECT 1089.66 4.16 1092.84 7.1 ;
+ RECT 1089.66 7.1 1092.84 120.44 ;
+ LAYER met4 ;
+ RECT 122.48 0.98 124.06 719.88 ;
+ RECT 124.06 0.62 129.28 0.98 ;
+ RECT 130.86 0.62 134.72 0.98 ;
+ RECT 136.3 0.62 140.84 0.98 ;
+ RECT 147.18 0.62 152.4 0.98 ;
+ RECT 153.98 0.62 157.84 0.98 ;
+ RECT 159.42 0.62 163.28 0.98 ;
+ RECT 164.86 0.62 169.4 0.98 ;
+ RECT 176.42 0.62 181.64 0.98 ;
+ RECT 183.22 0.62 187.08 0.98 ;
+ RECT 188.66 0.62 192.52 0.98 ;
+ RECT 200.22 0.62 204.08 0.98 ;
+ RECT 205.66 0.62 210.88 0.98 ;
+ RECT 212.46 0.62 216.32 0.98 ;
+ RECT 224.02 0.62 228.56 0.98 ;
+ RECT 230.14 0.62 234.0 0.98 ;
+ RECT 235.58 0.62 239.44 0.98 ;
+ RECT 241.02 0.62 244.88 0.98 ;
+ RECT 252.58 0.62 257.12 0.98 ;
+ RECT 258.7 0.62 263.24 0.98 ;
+ RECT 264.82 0.62 268.68 0.98 ;
+ RECT 275.7 0.62 280.24 0.98 ;
+ RECT 281.82 0.62 286.36 0.98 ;
+ RECT 287.94 0.62 292.48 0.98 ;
+ RECT 300.18 0.62 303.36 0.98 ;
+ RECT 83.26 0.62 87.8 0.98 ;
+ RECT 89.38 0.62 93.24 0.98 ;
+ RECT 124.06 0.98 1004.44 719.52 ;
+ RECT 1004.44 0.98 1006.02 719.52 ;
+ RECT 1000.58 719.52 1004.44 719.88 ;
+ RECT 993.78 719.52 999.0 719.88 ;
+ RECT 94.82 0.62 99.36 0.98 ;
+ RECT 100.94 0.62 104.8 0.98 ;
+ RECT 106.38 0.62 110.92 0.98 ;
+ RECT 112.5 0.62 117.04 0.98 ;
+ RECT 118.62 0.62 122.48 0.98 ;
+ RECT 142.42 0.62 144.24 0.98 ;
+ RECT 170.98 0.62 172.12 0.98 ;
+ RECT 173.7 0.62 174.84 0.98 ;
+ RECT 194.1 0.62 196.6 0.98 ;
+ RECT 198.18 0.62 198.64 0.98 ;
+ RECT 217.9 0.62 220.4 0.98 ;
+ RECT 221.98 0.62 222.44 0.98 ;
+ RECT 246.46 0.62 246.92 0.98 ;
+ RECT 248.5 0.62 251.0 0.98 ;
+ RECT 270.26 0.62 272.08 0.98 ;
+ RECT 273.66 0.62 274.12 0.98 ;
+ RECT 294.06 0.62 295.88 0.98 ;
+ RECT 297.46 0.62 298.6 0.98 ;
+ RECT 304.94 0.62 321.72 0.98 ;
+ RECT 323.3 0.62 346.88 0.98 ;
+ RECT 348.46 0.62 371.36 0.98 ;
+ RECT 372.94 0.62 396.52 0.98 ;
+ RECT 398.1 0.62 421.0 0.98 ;
+ RECT 422.58 0.62 446.16 0.98 ;
+ RECT 447.74 0.62 471.32 0.98 ;
+ RECT 472.9 0.62 496.48 0.98 ;
+ RECT 498.06 0.62 520.96 0.98 ;
+ RECT 522.54 0.62 544.76 0.98 ;
+ RECT 546.34 0.62 571.28 0.98 ;
+ RECT 572.86 0.62 595.76 0.98 ;
+ RECT 597.34 0.62 620.92 0.98 ;
+ RECT 622.5 0.62 646.08 0.98 ;
+ RECT 647.66 0.62 671.24 0.98 ;
+ RECT 672.82 0.62 695.72 0.98 ;
+ RECT 697.3 0.62 720.88 0.98 ;
+ RECT 722.46 0.62 744.68 0.98 ;
+ RECT 746.26 0.62 770.52 0.98 ;
+ RECT 772.1 0.62 795.68 0.98 ;
+ RECT 797.26 0.62 820.84 0.98 ;
+ RECT 822.42 0.62 845.32 0.98 ;
+ RECT 846.9 0.62 870.48 0.98 ;
+ RECT 872.06 0.62 895.64 0.98 ;
+ RECT 897.22 0.62 920.8 0.98 ;
+ RECT 124.06 719.52 146.96 719.88 ;
+ RECT 148.54 719.52 171.44 719.88 ;
+ RECT 173.02 719.52 196.6 719.88 ;
+ RECT 198.18 719.52 221.76 719.88 ;
+ RECT 223.34 719.52 246.92 719.88 ;
+ RECT 248.5 719.52 272.08 719.88 ;
+ RECT 273.66 719.52 296.56 719.88 ;
+ RECT 298.14 719.52 321.72 719.88 ;
+ RECT 323.3 719.52 346.88 719.88 ;
+ RECT 348.46 719.52 372.04 719.88 ;
+ RECT 373.62 719.52 397.2 719.88 ;
+ RECT 398.78 719.52 421.0 719.88 ;
+ RECT 422.58 719.52 446.16 719.88 ;
+ RECT 447.74 719.52 472.0 719.88 ;
+ RECT 473.58 719.52 496.48 719.88 ;
+ RECT 498.06 719.52 520.96 719.88 ;
+ RECT 522.54 719.52 546.12 719.88 ;
+ RECT 547.7 719.52 571.28 719.88 ;
+ RECT 572.86 719.52 595.76 719.88 ;
+ RECT 597.34 719.52 620.92 719.88 ;
+ RECT 622.5 719.52 646.08 719.88 ;
+ RECT 647.66 719.52 671.24 719.88 ;
+ RECT 672.82 719.52 696.4 719.88 ;
+ RECT 697.98 719.52 720.88 719.88 ;
+ RECT 722.46 719.52 746.04 719.88 ;
+ RECT 747.62 719.52 771.2 719.88 ;
+ RECT 772.78 719.52 796.36 719.88 ;
+ RECT 797.94 719.52 821.52 719.88 ;
+ RECT 823.1 719.52 845.32 719.88 ;
+ RECT 846.9 719.52 870.48 719.88 ;
+ RECT 872.06 719.52 896.32 719.88 ;
+ RECT 897.9 719.52 920.8 719.88 ;
+ RECT 922.38 719.52 992.2 719.88 ;
+ RECT 0.62 0.98 0.76 719.74 ;
+ RECT 0.62 719.74 0.76 719.88 ;
+ RECT 0.76 719.74 3.7 719.88 ;
+ RECT 3.7 719.74 122.48 719.88 ;
+ RECT 0.62 0.62 0.76 0.76 ;
+ RECT 0.62 0.76 0.76 0.98 ;
+ RECT 0.76 0.62 3.7 0.76 ;
+ RECT 3.7 0.62 81.68 0.76 ;
+ RECT 3.7 0.76 81.68 0.98 ;
+ RECT 1093.06 0.98 1093.2 719.52 ;
+ RECT 1006.02 719.52 1090.12 719.74 ;
+ RECT 1006.02 719.74 1090.12 719.88 ;
+ RECT 1090.12 719.74 1093.06 719.88 ;
+ RECT 1093.06 719.52 1093.2 719.74 ;
+ RECT 1093.06 719.74 1093.2 719.88 ;
+ RECT 922.38 0.62 1090.12 0.76 ;
+ RECT 922.38 0.76 1090.12 0.98 ;
+ RECT 1090.12 0.62 1093.06 0.76 ;
+ RECT 1093.06 0.62 1093.2 0.76 ;
+ RECT 1093.06 0.76 1093.2 0.98 ;
+ RECT 1006.02 0.98 1086.72 4.16 ;
+ RECT 1006.02 4.16 1086.72 716.34 ;
+ RECT 1006.02 716.34 1086.72 719.52 ;
+ RECT 1086.72 0.98 1089.66 4.16 ;
+ RECT 1086.72 716.34 1089.66 719.52 ;
+ RECT 1089.66 0.98 1090.12 4.16 ;
+ RECT 1089.66 4.16 1090.12 716.34 ;
+ RECT 1089.66 716.34 1090.12 719.52 ;
+ RECT 3.7 0.98 4.16 4.16 ;
+ RECT 3.7 4.16 4.16 716.34 ;
+ RECT 3.7 716.34 4.16 719.74 ;
+ RECT 4.16 0.98 7.1 4.16 ;
+ RECT 4.16 716.34 7.1 719.74 ;
+ RECT 7.1 0.98 122.48 4.16 ;
+ RECT 7.1 4.16 122.48 716.34 ;
+ RECT 7.1 716.34 122.48 719.74 ;
+ END
+END sky130_sram_8kbyte_1rw1r_32x2048_8
+END LIBRARY
diff --git a/verilog/rtl/sky130_sram_1kbyte_1rw1r_8x1024_8.v b/verilog/rtl/sky130_sram_1kbyte_1rw1r_8x1024_8.v
new file mode 100644
index 0000000..ee2b1d6
--- /dev/null
+++ b/verilog/rtl/sky130_sram_1kbyte_1rw1r_8x1024_8.v
@@ -0,0 +1,108 @@
+// OpenRAM SRAM model
+// Words: 1024
+// Word size: 8
+// Write size: 8
+
+module sky130_sram_1kbyte_1rw1r_8x1024_8(
+`ifdef USE_POWER_PINS
+ vccd1,
+ vssd1,
+`endif
+// Port 0: RW
+ clk0,csb0,web0,wmask0,addr0,din0,dout0,
+// Port 1: R
+ clk1,csb1,addr1,dout1
+ );
+
+ parameter NUM_WMASKS = 1 ;
+ parameter DATA_WIDTH = 8 ;
+ parameter ADDR_WIDTH = 10 ;
+ parameter RAM_DEPTH = 1 << ADDR_WIDTH;
+ // FIXME: This delay is arbitrary.
+ parameter DELAY = 3 ;
+ parameter VERBOSE = 1 ; //Set to 0 to only display warnings
+ parameter T_HOLD = 1 ; //Delay to hold dout value after posedge. Value is arbitrary
+
+`ifdef USE_POWER_PINS
+ inout vccd1;
+ inout vssd1;
+`endif
+ input clk0; // clock
+ input csb0; // active low chip select
+ input web0; // active low write control
+ input [NUM_WMASKS-1:0] wmask0; // write mask
+ input [ADDR_WIDTH-1:0] addr0;
+ input [DATA_WIDTH-1:0] din0;
+ output [DATA_WIDTH-1:0] dout0;
+ input clk1; // clock
+ input csb1; // active low chip select
+ input [ADDR_WIDTH-1:0] addr1;
+ output [DATA_WIDTH-1:0] dout1;
+
+ reg csb0_reg;
+ reg web0_reg;
+ reg [NUM_WMASKS-1:0] wmask0_reg;
+ reg [ADDR_WIDTH-1:0] addr0_reg;
+ reg [DATA_WIDTH-1:0] din0_reg;
+ reg [DATA_WIDTH-1:0] dout0;
+
+ // All inputs are registers
+ always @(posedge clk0)
+ begin
+ csb0_reg = csb0;
+ web0_reg = web0;
+ wmask0_reg = wmask0;
+ addr0_reg = addr0;
+ din0_reg = din0;
+ #(T_HOLD) dout0 = 8'bx;
+ if ( !csb0_reg && web0_reg && VERBOSE )
+ $display($time," Reading %m addr0=%b dout0=%b",addr0_reg,mem[addr0_reg]);
+ if ( !csb0_reg && !web0_reg && VERBOSE )
+ $display($time," Writing %m addr0=%b din0=%b wmask0=%b",addr0_reg,din0_reg,wmask0_reg);
+ end
+
+ reg csb1_reg;
+ reg [ADDR_WIDTH-1:0] addr1_reg;
+ reg [DATA_WIDTH-1:0] dout1;
+
+ // All inputs are registers
+ always @(posedge clk1)
+ begin
+ csb1_reg = csb1;
+ addr1_reg = addr1;
+ if (!csb0 && !web0 && !csb1 && (addr0 == addr1))
+ $display($time," WARNING: Writing and reading addr0=%b and addr1=%b simultaneously!",addr0,addr1);
+ #(T_HOLD) dout1 = 8'bx;
+ if ( !csb1_reg && VERBOSE )
+ $display($time," Reading %m addr1=%b dout1=%b",addr1_reg,mem[addr1_reg]);
+ end
+
+reg [DATA_WIDTH-1:0] mem [0:RAM_DEPTH-1];
+
+ // Memory Write Block Port 0
+ // Write Operation : When web0 = 0, csb0 = 0
+ always @ (negedge clk0)
+ begin : MEM_WRITE0
+ if ( !csb0_reg && !web0_reg ) begin
+ if (wmask0_reg[0])
+ mem[addr0_reg][7:0] = din0_reg[7:0];
+ end
+ end
+
+ // Memory Read Block Port 0
+ // Read Operation : When web0 = 1, csb0 = 0
+ always @ (negedge clk0)
+ begin : MEM_READ0
+ if (!csb0_reg && web0_reg)
+ dout0 <= #(DELAY) mem[addr0_reg];
+ end
+
+ // Memory Read Block Port 1
+ // Read Operation : When web1 = 1, csb1 = 0
+ always @ (negedge clk1)
+ begin : MEM_READ1
+ if (!csb1_reg)
+ dout1 <= #(DELAY) mem[addr1_reg];
+ end
+
+endmodule
diff --git a/verilog/rtl/sky130_sram_2kbyte_1rw1r_32x512_8.v b/verilog/rtl/sky130_sram_2kbyte_1rw1r_32x512_8.v
new file mode 100644
index 0000000..7da4327
--- /dev/null
+++ b/verilog/rtl/sky130_sram_2kbyte_1rw1r_32x512_8.v
@@ -0,0 +1,114 @@
+// OpenRAM SRAM model
+// Words: 512
+// Word size: 32
+// Write size: 8
+
+module sky130_sram_2kbyte_1rw1r_32x512_8(
+`ifdef USE_POWER_PINS
+ vccd1,
+ vssd1,
+`endif
+// Port 0: RW
+ clk0,csb0,web0,wmask0,addr0,din0,dout0,
+// Port 1: R
+ clk1,csb1,addr1,dout1
+ );
+
+ parameter NUM_WMASKS = 4 ;
+ parameter DATA_WIDTH = 32 ;
+ parameter ADDR_WIDTH = 9 ;
+ parameter RAM_DEPTH = 1 << ADDR_WIDTH;
+ // FIXME: This delay is arbitrary.
+ parameter DELAY = 3 ;
+ parameter VERBOSE = 1 ; //Set to 0 to only display warnings
+ parameter T_HOLD = 1 ; //Delay to hold dout value after posedge. Value is arbitrary
+
+`ifdef USE_POWER_PINS
+ inout vccd1;
+ inout vssd1;
+`endif
+ input clk0; // clock
+ input csb0; // active low chip select
+ input web0; // active low write control
+ input [NUM_WMASKS-1:0] wmask0; // write mask
+ input [ADDR_WIDTH-1:0] addr0;
+ input [DATA_WIDTH-1:0] din0;
+ output [DATA_WIDTH-1:0] dout0;
+ input clk1; // clock
+ input csb1; // active low chip select
+ input [ADDR_WIDTH-1:0] addr1;
+ output [DATA_WIDTH-1:0] dout1;
+
+ reg csb0_reg;
+ reg web0_reg;
+ reg [NUM_WMASKS-1:0] wmask0_reg;
+ reg [ADDR_WIDTH-1:0] addr0_reg;
+ reg [DATA_WIDTH-1:0] din0_reg;
+ reg [DATA_WIDTH-1:0] dout0;
+
+ // All inputs are registers
+ always @(posedge clk0)
+ begin
+ csb0_reg = csb0;
+ web0_reg = web0;
+ wmask0_reg = wmask0;
+ addr0_reg = addr0;
+ din0_reg = din0;
+ #(T_HOLD) dout0 = 32'bx;
+ if ( !csb0_reg && web0_reg && VERBOSE )
+ $display($time," Reading %m addr0=%b dout0=%b",addr0_reg,mem[addr0_reg]);
+ if ( !csb0_reg && !web0_reg && VERBOSE )
+ $display($time," Writing %m addr0=%b din0=%b wmask0=%b",addr0_reg,din0_reg,wmask0_reg);
+ end
+
+ reg csb1_reg;
+ reg [ADDR_WIDTH-1:0] addr1_reg;
+ reg [DATA_WIDTH-1:0] dout1;
+
+ // All inputs are registers
+ always @(posedge clk1)
+ begin
+ csb1_reg = csb1;
+ addr1_reg = addr1;
+ if (!csb0 && !web0 && !csb1 && (addr0 == addr1))
+ $display($time," WARNING: Writing and reading addr0=%b and addr1=%b simultaneously!",addr0,addr1);
+ #(T_HOLD) dout1 = 32'bx;
+ if ( !csb1_reg && VERBOSE )
+ $display($time," Reading %m addr1=%b dout1=%b",addr1_reg,mem[addr1_reg]);
+ end
+
+reg [DATA_WIDTH-1:0] mem [0:RAM_DEPTH-1];
+
+ // Memory Write Block Port 0
+ // Write Operation : When web0 = 0, csb0 = 0
+ always @ (negedge clk0)
+ begin : MEM_WRITE0
+ if ( !csb0_reg && !web0_reg ) begin
+ if (wmask0_reg[0])
+ mem[addr0_reg][7:0] = din0_reg[7:0];
+ if (wmask0_reg[1])
+ mem[addr0_reg][15:8] = din0_reg[15:8];
+ if (wmask0_reg[2])
+ mem[addr0_reg][23:16] = din0_reg[23:16];
+ if (wmask0_reg[3])
+ mem[addr0_reg][31:24] = din0_reg[31:24];
+ end
+ end
+
+ // Memory Read Block Port 0
+ // Read Operation : When web0 = 1, csb0 = 0
+ always @ (negedge clk0)
+ begin : MEM_READ0
+ if (!csb0_reg && web0_reg)
+ dout0 <= #(DELAY) mem[addr0_reg];
+ end
+
+ // Memory Read Block Port 1
+ // Read Operation : When web1 = 1, csb1 = 0
+ always @ (negedge clk1)
+ begin : MEM_READ1
+ if (!csb1_reg)
+ dout1 <= #(DELAY) mem[addr1_reg];
+ end
+
+endmodule
diff --git a/verilog/rtl/sky130_sram_4kbyte_1rw1r_32x1024_8.v b/verilog/rtl/sky130_sram_4kbyte_1rw1r_32x1024_8.v
new file mode 100644
index 0000000..e3d3e4d
--- /dev/null
+++ b/verilog/rtl/sky130_sram_4kbyte_1rw1r_32x1024_8.v
@@ -0,0 +1,114 @@
+// OpenRAM SRAM model
+// Words: 1024
+// Word size: 32
+// Write size: 8
+
+module sky130_sram_4kbyte_1rw1r_32x1024_8(
+`ifdef USE_POWER_PINS
+ vccd1,
+ vssd1,
+`endif
+// Port 0: RW
+ clk0,csb0,web0,wmask0,addr0,din0,dout0,
+// Port 1: R
+ clk1,csb1,addr1,dout1
+ );
+
+ parameter NUM_WMASKS = 4 ;
+ parameter DATA_WIDTH = 32 ;
+ parameter ADDR_WIDTH = 10 ;
+ parameter RAM_DEPTH = 1 << ADDR_WIDTH;
+ // FIXME: This delay is arbitrary.
+ parameter DELAY = 3 ;
+ parameter VERBOSE = 1 ; //Set to 0 to only display warnings
+ parameter T_HOLD = 1 ; //Delay to hold dout value after posedge. Value is arbitrary
+
+`ifdef USE_POWER_PINS
+ inout vccd1;
+ inout vssd1;
+`endif
+ input clk0; // clock
+ input csb0; // active low chip select
+ input web0; // active low write control
+ input [NUM_WMASKS-1:0] wmask0; // write mask
+ input [ADDR_WIDTH-1:0] addr0;
+ input [DATA_WIDTH-1:0] din0;
+ output [DATA_WIDTH-1:0] dout0;
+ input clk1; // clock
+ input csb1; // active low chip select
+ input [ADDR_WIDTH-1:0] addr1;
+ output [DATA_WIDTH-1:0] dout1;
+
+ reg csb0_reg;
+ reg web0_reg;
+ reg [NUM_WMASKS-1:0] wmask0_reg;
+ reg [ADDR_WIDTH-1:0] addr0_reg;
+ reg [DATA_WIDTH-1:0] din0_reg;
+ reg [DATA_WIDTH-1:0] dout0;
+
+ // All inputs are registers
+ always @(posedge clk0)
+ begin
+ csb0_reg = csb0;
+ web0_reg = web0;
+ wmask0_reg = wmask0;
+ addr0_reg = addr0;
+ din0_reg = din0;
+ #(T_HOLD) dout0 = 32'bx;
+ if ( !csb0_reg && web0_reg && VERBOSE )
+ $display($time," Reading %m addr0=%b dout0=%b",addr0_reg,mem[addr0_reg]);
+ if ( !csb0_reg && !web0_reg && VERBOSE )
+ $display($time," Writing %m addr0=%b din0=%b wmask0=%b",addr0_reg,din0_reg,wmask0_reg);
+ end
+
+ reg csb1_reg;
+ reg [ADDR_WIDTH-1:0] addr1_reg;
+ reg [DATA_WIDTH-1:0] dout1;
+
+ // All inputs are registers
+ always @(posedge clk1)
+ begin
+ csb1_reg = csb1;
+ addr1_reg = addr1;
+ if (!csb0 && !web0 && !csb1 && (addr0 == addr1))
+ $display($time," WARNING: Writing and reading addr0=%b and addr1=%b simultaneously!",addr0,addr1);
+ #(T_HOLD) dout1 = 32'bx;
+ if ( !csb1_reg && VERBOSE )
+ $display($time," Reading %m addr1=%b dout1=%b",addr1_reg,mem[addr1_reg]);
+ end
+
+reg [DATA_WIDTH-1:0] mem [0:RAM_DEPTH-1];
+
+ // Memory Write Block Port 0
+ // Write Operation : When web0 = 0, csb0 = 0
+ always @ (negedge clk0)
+ begin : MEM_WRITE0
+ if ( !csb0_reg && !web0_reg ) begin
+ if (wmask0_reg[0])
+ mem[addr0_reg][7:0] = din0_reg[7:0];
+ if (wmask0_reg[1])
+ mem[addr0_reg][15:8] = din0_reg[15:8];
+ if (wmask0_reg[2])
+ mem[addr0_reg][23:16] = din0_reg[23:16];
+ if (wmask0_reg[3])
+ mem[addr0_reg][31:24] = din0_reg[31:24];
+ end
+ end
+
+ // Memory Read Block Port 0
+ // Read Operation : When web0 = 1, csb0 = 0
+ always @ (negedge clk0)
+ begin : MEM_READ0
+ if (!csb0_reg && web0_reg)
+ dout0 <= #(DELAY) mem[addr0_reg];
+ end
+
+ // Memory Read Block Port 1
+ // Read Operation : When web1 = 1, csb1 = 0
+ always @ (negedge clk1)
+ begin : MEM_READ1
+ if (!csb1_reg)
+ dout1 <= #(DELAY) mem[addr1_reg];
+ end
+
+endmodule
diff --git a/verilog/rtl/sky130_sram_8kbyte_1rw1r_32x2048_8.v b/verilog/rtl/sky130_sram_8kbyte_1rw1r_32x2048_8.v
new file mode 100644
index 0000000..2875382
--- /dev/null
+++ b/verilog/rtl/sky130_sram_8kbyte_1rw1r_32x2048_8.v
@@ -0,0 +1,114 @@
+// OpenRAM SRAM model
+// Words: 2048
+// Word size: 32
+// Write size: 8
+
+module sky130_sram_8kbyte_1rw1r_32x2048_8(
+`ifdef USE_POWER_PINS
+ vccd1,
+ vssd1,
+`endif
+// Port 0: RW
+ clk0,csb0,web0,wmask0,addr0,din0,dout0,
+// Port 1: R
+ clk1,csb1,addr1,dout1
+ );
+
+ parameter NUM_WMASKS = 4 ;
+ parameter DATA_WIDTH = 32 ;
+ parameter ADDR_WIDTH = 11 ;
+ parameter RAM_DEPTH = 1 << ADDR_WIDTH;
+ // FIXME: This delay is arbitrary.
+ parameter DELAY = 3 ;
+ parameter VERBOSE = 1 ; //Set to 0 to only display warnings
+ parameter T_HOLD = 1 ; //Delay to hold dout value after posedge. Value is arbitrary
+
+`ifdef USE_POWER_PINS
+ inout vccd1;
+ inout vssd1;
+`endif
+ input clk0; // clock
+ input csb0; // active low chip select
+ input web0; // active low write control
+ input [NUM_WMASKS-1:0] wmask0; // write mask
+ input [ADDR_WIDTH-1:0] addr0;
+ input [DATA_WIDTH-1:0] din0;
+ output [DATA_WIDTH-1:0] dout0;
+ input clk1; // clock
+ input csb1; // active low chip select
+ input [ADDR_WIDTH-1:0] addr1;
+ output [DATA_WIDTH-1:0] dout1;
+
+ reg csb0_reg;
+ reg web0_reg;
+ reg [NUM_WMASKS-1:0] wmask0_reg;
+ reg [ADDR_WIDTH-1:0] addr0_reg;
+ reg [DATA_WIDTH-1:0] din0_reg;
+ reg [DATA_WIDTH-1:0] dout0;
+
+ // All inputs are registers
+ always @(posedge clk0)
+ begin
+ csb0_reg = csb0;
+ web0_reg = web0;
+ wmask0_reg = wmask0;
+ addr0_reg = addr0;
+ din0_reg = din0;
+ #(T_HOLD) dout0 = 32'bx;
+ if ( !csb0_reg && web0_reg && VERBOSE )
+ $display($time," Reading %m addr0=%b dout0=%b",addr0_reg,mem[addr0_reg]);
+ if ( !csb0_reg && !web0_reg && VERBOSE )
+ $display($time," Writing %m addr0=%b din0=%b wmask0=%b",addr0_reg,din0_reg,wmask0_reg);
+ end
+
+ reg csb1_reg;
+ reg [ADDR_WIDTH-1:0] addr1_reg;
+ reg [DATA_WIDTH-1:0] dout1;
+
+ // All inputs are registers
+ always @(posedge clk1)
+ begin
+ csb1_reg = csb1;
+ addr1_reg = addr1;
+ if (!csb0 && !web0 && !csb1 && (addr0 == addr1))
+ $display($time," WARNING: Writing and reading addr0=%b and addr1=%b simultaneously!",addr0,addr1);
+ #(T_HOLD) dout1 = 32'bx;
+ if ( !csb1_reg && VERBOSE )
+ $display($time," Reading %m addr1=%b dout1=%b",addr1_reg,mem[addr1_reg]);
+ end
+
+reg [DATA_WIDTH-1:0] mem [0:RAM_DEPTH-1];
+
+ // Memory Write Block Port 0
+ // Write Operation : When web0 = 0, csb0 = 0
+ always @ (negedge clk0)
+ begin : MEM_WRITE0
+ if ( !csb0_reg && !web0_reg ) begin
+ if (wmask0_reg[0])
+ mem[addr0_reg][7:0] = din0_reg[7:0];
+ if (wmask0_reg[1])
+ mem[addr0_reg][15:8] = din0_reg[15:8];
+ if (wmask0_reg[2])
+ mem[addr0_reg][23:16] = din0_reg[23:16];
+ if (wmask0_reg[3])
+ mem[addr0_reg][31:24] = din0_reg[31:24];
+ end
+ end
+
+ // Memory Read Block Port 0
+ // Read Operation : When web0 = 1, csb0 = 0
+ always @ (negedge clk0)
+ begin : MEM_READ0
+ if (!csb0_reg && web0_reg)
+ dout0 <= #(DELAY) mem[addr0_reg];
+ end
+
+ // Memory Read Block Port 1
+ // Read Operation : When web1 = 1, csb1 = 0
+ always @ (negedge clk1)
+ begin : MEM_READ1
+ if (!csb1_reg)
+ dout1 <= #(DELAY) mem[addr1_reg];
+ end
+
+endmodule