Merge pull request #2 from AmoghLonkar/feature/floorplan
Feature/floorplan
diff --git a/gds/openram_testchip.gds b/gds/openram_testchip.gds
new file mode 100644
index 0000000..0491c66
--- /dev/null
+++ b/gds/openram_testchip.gds
Binary files differ
diff --git a/gds/sky130_sram_1kbyte_1rw1r_32x256_8.gds b/gds/sky130_sram_1kbyte_1rw1r_32x256_8.gds
new file mode 100644
index 0000000..b093a46
--- /dev/null
+++ b/gds/sky130_sram_1kbyte_1rw1r_32x256_8.gds
Binary files differ
diff --git a/lef/openram_testchip.lef b/lef/openram_testchip.lef
new file mode 100644
index 0000000..f1f6319
--- /dev/null
+++ b/lef/openram_testchip.lef
@@ -0,0 +1,3794 @@
+VERSION 5.7 ;
+ NOWIREEXTENSIONATPIN ON ;
+ DIVIDERCHAR "/" ;
+ BUSBITCHARS "[]" ;
+MACRO openram_testchip
+ CLASS BLOCK ;
+ FOREIGN openram_testchip ;
+ ORIGIN 0.000 0.000 ;
+ SIZE 1200.000 BY 1200.000 ;
+ PIN clock
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 910.890 1196.000 911.170 1200.000 ;
+ END
+ END clock
+ PIN io_gpio_packet[0]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 193.290 1196.000 193.570 1200.000 ;
+ END
+ END io_gpio_packet[0]
+ PIN io_gpio_packet[10]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 496.440 1200.000 497.040 ;
+ END
+ END io_gpio_packet[10]
+ PIN io_gpio_packet[11]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 1125.440 4.000 1126.040 ;
+ END
+ END io_gpio_packet[11]
+ PIN io_gpio_packet[12]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 172.590 1196.000 172.870 1200.000 ;
+ END
+ END io_gpio_packet[12]
+ PIN io_gpio_packet[13]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 833.040 1200.000 833.640 ;
+ END
+ END io_gpio_packet[13]
+ PIN io_gpio_packet[14]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1129.390 1196.000 1129.670 1200.000 ;
+ END
+ END io_gpio_packet[14]
+ PIN io_gpio_packet[15]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 94.390 0.000 94.670 4.000 ;
+ END
+ END io_gpio_packet[15]
+ PIN io_gpio_packet[16]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 217.640 1200.000 218.240 ;
+ END
+ END io_gpio_packet[16]
+ PIN io_gpio_packet[17]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1062.690 0.000 1062.970 4.000 ;
+ END
+ END io_gpio_packet[17]
+ PIN io_gpio_packet[18]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 775.190 1196.000 775.470 1200.000 ;
+ END
+ END io_gpio_packet[18]
+ PIN io_gpio_packet[19]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 972.440 1200.000 973.040 ;
+ END
+ END io_gpio_packet[19]
+ PIN io_gpio_packet[1]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1182.290 1196.000 1182.570 1200.000 ;
+ END
+ END io_gpio_packet[1]
+ PIN io_gpio_packet[20]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1166.190 0.000 1166.470 4.000 ;
+ END
+ END io_gpio_packet[20]
+ PIN io_gpio_packet[21]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 683.190 1196.000 683.470 1200.000 ;
+ END
+ END io_gpio_packet[21]
+ PIN io_gpio_packet[22]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 34.040 4.000 34.640 ;
+ END
+ END io_gpio_packet[22]
+ PIN io_gpio_packet[23]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 17.040 1200.000 17.640 ;
+ END
+ END io_gpio_packet[23]
+ PIN io_gpio_packet[24]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 292.440 4.000 293.040 ;
+ END
+ END io_gpio_packet[24]
+ PIN io_gpio_packet[25]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 115.090 0.000 115.370 4.000 ;
+ END
+ END io_gpio_packet[25]
+ PIN io_gpio_packet[26]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 418.240 4.000 418.840 ;
+ END
+ END io_gpio_packet[26]
+ PIN io_gpio_packet[27]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 358.890 1196.000 359.170 1200.000 ;
+ END
+ END io_gpio_packet[27]
+ PIN io_gpio_packet[28]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 802.440 4.000 803.040 ;
+ END
+ END io_gpio_packet[28]
+ PIN io_gpio_packet[29]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 1169.640 4.000 1170.240 ;
+ END
+ END io_gpio_packet[29]
+ PIN io_gpio_packet[2]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 78.240 1200.000 78.840 ;
+ END
+ END io_gpio_packet[2]
+ PIN io_gpio_packet[30]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 292.190 0.000 292.470 4.000 ;
+ END
+ END io_gpio_packet[30]
+ PIN io_gpio_packet[31]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 563.590 0.000 563.870 4.000 ;
+ END
+ END io_gpio_packet[31]
+ PIN io_gpio_packet[32]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 938.490 0.000 938.770 4.000 ;
+ END
+ END io_gpio_packet[32]
+ PIN io_gpio_packet[33]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 479.440 4.000 480.040 ;
+ END
+ END io_gpio_packet[33]
+ PIN io_gpio_packet[34]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 535.990 1196.000 536.270 1200.000 ;
+ END
+ END io_gpio_packet[34]
+ PIN io_gpio_packet[35]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 863.640 1200.000 864.240 ;
+ END
+ END io_gpio_packet[35]
+ PIN io_gpio_packet[36]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 312.890 0.000 313.170 4.000 ;
+ END
+ END io_gpio_packet[36]
+ PIN io_gpio_packet[37]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 833.040 4.000 833.640 ;
+ END
+ END io_gpio_packet[37]
+ PIN io_gpio_packet[38]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 161.090 1196.000 161.370 1200.000 ;
+ END
+ END io_gpio_packet[38]
+ PIN io_gpio_packet[39]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 788.840 1200.000 789.440 ;
+ END
+ END io_gpio_packet[39]
+ PIN io_gpio_packet[3]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 952.290 1196.000 952.570 1200.000 ;
+ END
+ END io_gpio_packet[3]
+ PIN io_gpio_packet[40]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 557.640 1200.000 558.240 ;
+ END
+ END io_gpio_packet[40]
+ PIN io_gpio_packet[41]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 1047.240 4.000 1047.840 ;
+ END
+ END io_gpio_packet[41]
+ PIN io_gpio_packet[42]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 441.690 1196.000 441.970 1200.000 ;
+ END
+ END io_gpio_packet[42]
+ PIN io_gpio_packet[43]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 724.240 4.000 724.840 ;
+ END
+ END io_gpio_packet[43]
+ PIN io_gpio_packet[44]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 1173.040 1200.000 1173.640 ;
+ END
+ END io_gpio_packet[44]
+ PIN io_gpio_packet[45]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 708.490 0.000 708.770 4.000 ;
+ END
+ END io_gpio_packet[45]
+ PIN io_gpio_packet[46]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1115.590 0.000 1115.870 4.000 ;
+ END
+ END io_gpio_packet[46]
+ PIN io_gpio_packet[47]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 243.890 1196.000 244.170 1200.000 ;
+ END
+ END io_gpio_packet[47]
+ PIN io_gpio_packet[48]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 370.640 4.000 371.240 ;
+ END
+ END io_gpio_packet[48]
+ PIN io_gpio_packet[49]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 379.590 1196.000 379.870 1200.000 ;
+ END
+ END io_gpio_packet[49]
+ PIN io_gpio_packet[4]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 816.590 1196.000 816.870 1200.000 ;
+ END
+ END io_gpio_packet[4]
+ PIN io_gpio_packet[50]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 598.090 1196.000 598.370 1200.000 ;
+ END
+ END io_gpio_packet[50]
+ PIN io_gpio_packet[51]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 188.690 0.000 188.970 4.000 ;
+ END
+ END io_gpio_packet[51]
+ PIN io_gpio_packet[52]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 531.390 0.000 531.670 4.000 ;
+ END
+ END io_gpio_packet[52]
+ PIN io_gpio_packet[53]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 57.590 1196.000 57.870 1200.000 ;
+ END
+ END io_gpio_packet[53]
+ PIN io_gpio_packet[54]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 876.390 0.000 876.670 4.000 ;
+ END
+ END io_gpio_packet[54]
+ PIN io_gpio_packet[55]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 540.640 4.000 541.240 ;
+ END
+ END io_gpio_packet[55]
+ PIN io_gpio_packet[5]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1120.190 1196.000 1120.470 1200.000 ;
+ END
+ END io_gpio_packet[5]
+ PIN io_gpio_packet[6]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1161.590 1196.000 1161.870 1200.000 ;
+ END
+ END io_gpio_packet[6]
+ PIN io_gpio_packet[7]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 510.040 1200.000 510.640 ;
+ END
+ END io_gpio_packet[7]
+ PIN io_gpio_packet[8]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 435.240 1200.000 435.840 ;
+ END
+ END io_gpio_packet[8]
+ PIN io_gpio_packet[9]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 234.690 1196.000 234.970 1200.000 ;
+ END
+ END io_gpio_packet[9]
+ PIN io_in_select
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 1081.240 1200.000 1081.840 ;
+ END
+ END io_in_select
+ PIN io_logical_analyzer_packet[0]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 131.190 1196.000 131.470 1200.000 ;
+ END
+ END io_logical_analyzer_packet[0]
+ PIN io_logical_analyzer_packet[10]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 234.640 1200.000 235.240 ;
+ END
+ END io_logical_analyzer_packet[10]
+ PIN io_logical_analyzer_packet[11]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 604.990 0.000 605.270 4.000 ;
+ END
+ END io_logical_analyzer_packet[11]
+ PIN io_logical_analyzer_packet[12]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 173.440 1200.000 174.040 ;
+ END
+ END io_logical_analyzer_packet[12]
+ PIN io_logical_analyzer_packet[13]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1014.390 1196.000 1014.670 1200.000 ;
+ END
+ END io_logical_analyzer_packet[13]
+ PIN io_logical_analyzer_packet[14]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 386.490 0.000 386.770 4.000 ;
+ END
+ END io_logical_analyzer_packet[14]
+ PIN io_logical_analyzer_packet[15]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1074.190 0.000 1074.470 4.000 ;
+ END
+ END io_logical_analyzer_packet[15]
+ PIN io_logical_analyzer_packet[16]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 846.640 4.000 847.240 ;
+ END
+ END io_logical_analyzer_packet[16]
+ PIN io_logical_analyzer_packet[17]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 36.890 1196.000 37.170 1200.000 ;
+ END
+ END io_logical_analyzer_packet[17]
+ PIN io_logical_analyzer_packet[18]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1177.690 0.000 1177.970 4.000 ;
+ END
+ END io_logical_analyzer_packet[18]
+ PIN io_logical_analyzer_packet[19]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 924.840 1200.000 925.440 ;
+ END
+ END io_logical_analyzer_packet[19]
+ PIN io_logical_analyzer_packet[1]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 649.440 1200.000 650.040 ;
+ END
+ END io_logical_analyzer_packet[1]
+ PIN io_logical_analyzer_packet[20]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 64.490 0.000 64.770 4.000 ;
+ END
+ END io_logical_analyzer_packet[20]
+ PIN io_logical_analyzer_packet[21]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 572.790 0.000 573.070 4.000 ;
+ END
+ END io_logical_analyzer_packet[21]
+ PIN io_logical_analyzer_packet[22]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 464.690 1196.000 464.970 1200.000 ;
+ END
+ END io_logical_analyzer_packet[22]
+ PIN io_logical_analyzer_packet[23]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 663.040 4.000 663.640 ;
+ END
+ END io_logical_analyzer_packet[23]
+ PIN io_logical_analyzer_packet[24]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 931.590 1196.000 931.870 1200.000 ;
+ END
+ END io_logical_analyzer_packet[24]
+ PIN io_logical_analyzer_packet[25]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 416.390 0.000 416.670 4.000 ;
+ END
+ END io_logical_analyzer_packet[25]
+ PIN io_logical_analyzer_packet[26]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 785.440 4.000 786.040 ;
+ END
+ END io_logical_analyzer_packet[26]
+ PIN io_logical_analyzer_packet[27]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 733.790 1196.000 734.070 1200.000 ;
+ END
+ END io_logical_analyzer_packet[27]
+ PIN io_logical_analyzer_packet[28]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 370.640 1200.000 371.240 ;
+ END
+ END io_logical_analyzer_packet[28]
+ PIN io_logical_analyzer_packet[29]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 420.990 1196.000 421.270 1200.000 ;
+ END
+ END io_logical_analyzer_packet[29]
+ PIN io_logical_analyzer_packet[2]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1051.190 0.000 1051.470 4.000 ;
+ END
+ END io_logical_analyzer_packet[2]
+ PIN io_logical_analyzer_packet[30]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 32.290 0.000 32.570 4.000 ;
+ END
+ END io_logical_analyzer_packet[30]
+ PIN io_logical_analyzer_packet[31]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 771.840 1200.000 772.440 ;
+ END
+ END io_logical_analyzer_packet[31]
+ PIN io_logical_analyzer_packet[32]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1005.190 1196.000 1005.470 1200.000 ;
+ END
+ END io_logical_analyzer_packet[32]
+ PIN io_logical_analyzer_packet[33]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 213.990 1196.000 214.270 1200.000 ;
+ END
+ END io_logical_analyzer_packet[33]
+ PIN io_logical_analyzer_packet[34]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 204.040 1200.000 204.640 ;
+ END
+ END io_logical_analyzer_packet[34]
+ PIN io_logical_analyzer_packet[35]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 663.040 1200.000 663.640 ;
+ END
+ END io_logical_analyzer_packet[35]
+ PIN io_logical_analyzer_packet[36]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 328.990 1196.000 329.270 1200.000 ;
+ END
+ END io_logical_analyzer_packet[36]
+ PIN io_logical_analyzer_packet[37]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 156.440 4.000 157.040 ;
+ END
+ END io_logical_analyzer_packet[37]
+ PIN io_logical_analyzer_packet[38]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 947.690 0.000 947.970 4.000 ;
+ END
+ END io_logical_analyzer_packet[38]
+ PIN io_logical_analyzer_packet[39]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 568.190 1196.000 568.470 1200.000 ;
+ END
+ END io_logical_analyzer_packet[39]
+ PIN io_logical_analyzer_packet[3]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 407.190 0.000 407.470 4.000 ;
+ END
+ END io_logical_analyzer_packet[3]
+ PIN io_logical_analyzer_packet[40]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 303.690 0.000 303.970 4.000 ;
+ END
+ END io_logical_analyzer_packet[40]
+ PIN io_logical_analyzer_packet[41]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1046.590 1196.000 1046.870 1200.000 ;
+ END
+ END io_logical_analyzer_packet[41]
+ PIN io_logical_analyzer_packet[42]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 692.390 1196.000 692.670 1200.000 ;
+ END
+ END io_logical_analyzer_packet[42]
+ PIN io_logical_analyzer_packet[43]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 802.790 0.000 803.070 4.000 ;
+ END
+ END io_logical_analyzer_packet[43]
+ PIN io_logical_analyzer_packet[44]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 523.640 4.000 524.240 ;
+ END
+ END io_logical_analyzer_packet[44]
+ PIN io_logical_analyzer_packet[45]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 95.240 4.000 95.840 ;
+ END
+ END io_logical_analyzer_packet[45]
+ PIN io_logical_analyzer_packet[46]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 1142.440 1200.000 1143.040 ;
+ END
+ END io_logical_analyzer_packet[46]
+ PIN io_logical_analyzer_packet[47]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 308.290 1196.000 308.570 1200.000 ;
+ END
+ END io_logical_analyzer_packet[47]
+ PIN io_logical_analyzer_packet[48]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 741.240 1200.000 741.840 ;
+ END
+ END io_logical_analyzer_packet[48]
+ PIN io_logical_analyzer_packet[49]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 699.290 0.000 699.570 4.000 ;
+ END
+ END io_logical_analyzer_packet[49]
+ PIN io_logical_analyzer_packet[4]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 724.590 1196.000 724.870 1200.000 ;
+ END
+ END io_logical_analyzer_packet[4]
+ PIN io_logical_analyzer_packet[50]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 64.640 1200.000 65.240 ;
+ END
+ END io_logical_analyzer_packet[50]
+ PIN io_logical_analyzer_packet[51]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 625.690 0.000 625.970 4.000 ;
+ END
+ END io_logical_analyzer_packet[51]
+ PIN io_logical_analyzer_packet[52]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 741.240 4.000 741.840 ;
+ END
+ END io_logical_analyzer_packet[52]
+ PIN io_logical_analyzer_packet[53]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 357.040 4.000 357.640 ;
+ END
+ END io_logical_analyzer_packet[53]
+ PIN io_logical_analyzer_packet[54]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 979.890 0.000 980.170 4.000 ;
+ END
+ END io_logical_analyzer_packet[54]
+ PIN io_logical_analyzer_packet[55]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 411.790 1196.000 412.070 1200.000 ;
+ END
+ END io_logical_analyzer_packet[55]
+ PIN io_logical_analyzer_packet[5]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 863.640 4.000 864.240 ;
+ END
+ END io_logical_analyzer_packet[5]
+ PIN io_logical_analyzer_packet[6]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1156.990 0.000 1157.270 4.000 ;
+ END
+ END io_logical_analyzer_packet[6]
+ PIN io_logical_analyzer_packet[7]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 680.040 4.000 680.640 ;
+ END
+ END io_logical_analyzer_packet[7]
+ PIN io_logical_analyzer_packet[8]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 1108.440 4.000 1109.040 ;
+ END
+ END io_logical_analyzer_packet[8]
+ PIN io_logical_analyzer_packet[9]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 418.240 1200.000 418.840 ;
+ END
+ END io_logical_analyzer_packet[9]
+ PIN io_sram0_connections[0]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1035.090 1196.000 1035.370 1200.000 ;
+ END
+ END io_sram0_connections[0]
+ PIN io_sram0_connections[10]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 959.190 0.000 959.470 4.000 ;
+ END
+ END io_sram0_connections[10]
+ PIN io_sram0_connections[11]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 156.490 0.000 156.770 4.000 ;
+ END
+ END io_sram0_connections[11]
+ PIN io_sram0_connections[12]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 78.240 4.000 78.840 ;
+ END
+ END io_sram0_connections[12]
+ PIN io_sram0_connections[13]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 296.790 1196.000 297.070 1200.000 ;
+ END
+ END io_sram0_connections[13]
+ PIN io_sram0_connections[14]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1140.890 1196.000 1141.170 1200.000 ;
+ END
+ END io_sram0_connections[14]
+ PIN io_sram0_connections[15]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 795.890 1196.000 796.170 1200.000 ;
+ END
+ END io_sram0_connections[15]
+ PIN io_sram0_connections[16]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 78.290 1196.000 78.570 1200.000 ;
+ END
+ END io_sram0_connections[16]
+ PIN io_sram0_connections[17]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 855.690 0.000 855.970 4.000 ;
+ END
+ END io_sram0_connections[17]
+ PIN io_sram0_connections[18]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 844.190 0.000 844.470 4.000 ;
+ END
+ END io_sram0_connections[18]
+ PIN io_sram0_connections[19]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 771.840 4.000 772.440 ;
+ END
+ END io_sram0_connections[19]
+ PIN io_sram0_connections[1]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 724.240 1200.000 724.840 ;
+ END
+ END io_sram0_connections[1]
+ PIN io_sram0_connections[20]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1186.890 0.000 1187.170 4.000 ;
+ END
+ END io_sram0_connections[20]
+ PIN io_sram0_connections[21]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 278.840 1200.000 279.440 ;
+ END
+ END io_sram0_connections[21]
+ PIN io_sram0_connections[22]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 309.440 1200.000 310.040 ;
+ END
+ END io_sram0_connections[22]
+ PIN io_sram0_connections[23]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 432.490 1196.000 432.770 1200.000 ;
+ END
+ END io_sram0_connections[23]
+ PIN io_sram0_connections[24]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 837.290 1196.000 837.570 1200.000 ;
+ END
+ END io_sram0_connections[24]
+ PIN io_sram0_connections[25]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 782.090 0.000 782.370 4.000 ;
+ END
+ END io_sram0_connections[25]
+ PIN io_sram0_connections[26]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 917.790 0.000 918.070 4.000 ;
+ END
+ END io_sram0_connections[26]
+ PIN io_sram0_connections[27]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 630.290 1196.000 630.570 1200.000 ;
+ END
+ END io_sram0_connections[27]
+ PIN io_sram0_connections[28]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 678.590 0.000 678.870 4.000 ;
+ END
+ END io_sram0_connections[28]
+ PIN io_sram0_connections[29]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 637.190 0.000 637.470 4.000 ;
+ END
+ END io_sram0_connections[29]
+ PIN io_sram0_connections[2]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 941.840 4.000 942.440 ;
+ END
+ END io_sram0_connections[2]
+ PIN io_sram0_connections[30]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 401.240 4.000 401.840 ;
+ END
+ END io_sram0_connections[30]
+ PIN io_sram0_connections[31]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 877.240 4.000 877.840 ;
+ END
+ END io_sram0_connections[31]
+ PIN io_sram0_connections[32]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 802.440 1200.000 803.040 ;
+ END
+ END io_sram0_connections[32]
+ PIN io_sram0_connections[33]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 693.640 4.000 694.240 ;
+ END
+ END io_sram0_connections[33]
+ PIN io_sram0_connections[34]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 880.640 1200.000 881.240 ;
+ END
+ END io_sram0_connections[34]
+ PIN io_sram0_connections[35]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 485.390 1196.000 485.670 1200.000 ;
+ END
+ END io_sram0_connections[35]
+ PIN io_sram0_connections[36]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 427.890 0.000 428.170 4.000 ;
+ END
+ END io_sram0_connections[36]
+ PIN io_sram0_connections[37]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 850.040 1200.000 850.640 ;
+ END
+ END io_sram0_connections[37]
+ PIN io_sram0_connections[38]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 1003.040 1200.000 1003.640 ;
+ END
+ END io_sram0_connections[38]
+ PIN io_sram0_connections[39]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 890.190 1196.000 890.470 1200.000 ;
+ END
+ END io_sram0_connections[39]
+ PIN io_sram0_connections[3]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 261.840 4.000 262.440 ;
+ END
+ END io_sram0_connections[3]
+ PIN io_sram0_connections[40]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 3.440 1200.000 4.040 ;
+ END
+ END io_sram0_connections[40]
+ PIN io_sram0_connections[41]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 112.240 1200.000 112.840 ;
+ END
+ END io_sram0_connections[41]
+ PIN io_sram0_connections[42]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 262.290 0.000 262.570 4.000 ;
+ END
+ END io_sram0_connections[42]
+ PIN io_sram0_connections[43]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 202.490 1196.000 202.770 1200.000 ;
+ END
+ END io_sram0_connections[43]
+ PIN io_sram0_connections[44]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 527.040 1200.000 527.640 ;
+ END
+ END io_sram0_connections[44]
+ PIN io_sram0_connections[45]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 460.090 0.000 460.370 4.000 ;
+ END
+ END io_sram0_connections[45]
+ PIN io_sram0_connections[46]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 187.040 1200.000 187.640 ;
+ END
+ END io_sram0_connections[46]
+ PIN io_sram0_connections[47]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 287.590 1196.000 287.870 1200.000 ;
+ END
+ END io_sram0_connections[47]
+ PIN io_sram0_connections[48]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 601.840 4.000 602.440 ;
+ END
+ END io_sram0_connections[48]
+ PIN io_sram0_connections[49]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 506.090 1196.000 506.370 1200.000 ;
+ END
+ END io_sram0_connections[49]
+ PIN io_sram0_connections[4]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 894.240 1200.000 894.840 ;
+ END
+ END io_sram0_connections[4]
+ PIN io_sram0_connections[50]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1067.290 1196.000 1067.570 1200.000 ;
+ END
+ END io_sram0_connections[50]
+ PIN io_sram0_connections[51]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 922.390 1196.000 922.670 1200.000 ;
+ END
+ END io_sram0_connections[51]
+ PIN io_sram0_connections[52]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 391.090 1196.000 391.370 1200.000 ;
+ END
+ END io_sram0_connections[52]
+ PIN io_sram0_connections[53]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1094.890 0.000 1095.170 4.000 ;
+ END
+ END io_sram0_connections[53]
+ PIN io_sram0_connections[54]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 11.590 0.000 11.870 4.000 ;
+ END
+ END io_sram0_connections[54]
+ PIN io_sram0_connections[5]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 108.840 4.000 109.440 ;
+ END
+ END io_sram0_connections[5]
+ PIN io_sram0_connections[6]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 703.890 1196.000 704.170 1200.000 ;
+ END
+ END io_sram0_connections[6]
+ PIN io_sram0_connections[7]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1124.790 0.000 1125.070 4.000 ;
+ END
+ END io_sram0_connections[7]
+ PIN io_sram0_connections[8]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 448.590 0.000 448.870 4.000 ;
+ END
+ END io_sram0_connections[8]
+ PIN io_sram0_connections[9]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 52.990 0.000 53.270 4.000 ;
+ END
+ END io_sram0_connections[9]
+ PIN io_sram0_r0_in[0]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 431.840 4.000 432.440 ;
+ END
+ END io_sram0_r0_in[0]
+ PIN io_sram0_r0_in[10]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 770.590 0.000 770.870 4.000 ;
+ END
+ END io_sram0_r0_in[10]
+ PIN io_sram0_r0_in[11]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1087.990 1196.000 1088.270 1200.000 ;
+ END
+ END io_sram0_r0_in[11]
+ PIN io_sram0_r0_in[12]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 552.090 0.000 552.370 4.000 ;
+ END
+ END io_sram0_r0_in[12]
+ PIN io_sram0_r0_in[13]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 897.090 0.000 897.370 4.000 ;
+ END
+ END io_sram0_r0_in[13]
+ PIN io_sram0_r0_in[14]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1099.490 1196.000 1099.770 1200.000 ;
+ END
+ END io_sram0_r0_in[14]
+ PIN io_sram0_r0_in[15]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 181.790 1196.000 182.070 1200.000 ;
+ END
+ END io_sram0_r0_in[15]
+ PIN io_sram0_r0_in[16]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 1094.840 4.000 1095.440 ;
+ END
+ END io_sram0_r0_in[16]
+ PIN io_sram0_r0_in[17]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 230.090 0.000 230.370 4.000 ;
+ END
+ END io_sram0_r0_in[17]
+ PIN io_sram0_r0_in[18]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 1186.640 1200.000 1187.240 ;
+ END
+ END io_sram0_r0_in[18]
+ PIN io_sram0_r0_in[19]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1083.390 0.000 1083.670 4.000 ;
+ END
+ END io_sram0_r0_in[19]
+ PIN io_sram0_r0_in[1]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 142.840 1200.000 143.440 ;
+ END
+ END io_sram0_r0_in[1]
+ PIN io_sram0_r0_in[20]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 200.640 4.000 201.240 ;
+ END
+ END io_sram0_r0_in[20]
+ PIN io_sram0_r0_in[21]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 671.690 1196.000 671.970 1200.000 ;
+ END
+ END io_sram0_r0_in[21]
+ PIN io_sram0_r0_in[22]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 231.240 4.000 231.840 ;
+ END
+ END io_sram0_r0_in[22]
+ PIN io_sram0_r0_in[23]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 23.090 0.000 23.370 4.000 ;
+ END
+ END io_sram0_r0_in[23]
+ PIN io_sram0_r0_in[24]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 639.490 1196.000 639.770 1200.000 ;
+ END
+ END io_sram0_r0_in[24]
+ PIN io_sram0_r0_in[25]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 4.690 1196.000 4.970 1200.000 ;
+ END
+ END io_sram0_r0_in[25]
+ PIN io_sram0_r0_in[26]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 832.690 0.000 832.970 4.000 ;
+ END
+ END io_sram0_r0_in[26]
+ PIN io_sram0_r0_in[27]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 64.640 4.000 65.240 ;
+ END
+ END io_sram0_r0_in[27]
+ PIN io_sram0_r0_in[28]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 540.640 1200.000 541.240 ;
+ END
+ END io_sram0_r0_in[28]
+ PIN io_sram0_r0_in[29]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 749.890 0.000 750.170 4.000 ;
+ END
+ END io_sram0_r0_in[29]
+ PIN io_sram0_r0_in[2]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 984.490 1196.000 984.770 1200.000 ;
+ END
+ END io_sram0_r0_in[2]
+ PIN io_sram0_r0_in[30]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 885.590 0.000 885.870 4.000 ;
+ END
+ END io_sram0_r0_in[30]
+ PIN io_sram0_r0_in[31]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 98.990 1196.000 99.270 1200.000 ;
+ END
+ END io_sram0_r0_in[31]
+ PIN io_sram0_r0_in[3]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 786.690 1196.000 786.970 1200.000 ;
+ END
+ END io_sram0_r0_in[3]
+ PIN io_sram0_r0_in[4]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1108.690 1196.000 1108.970 1200.000 ;
+ END
+ END io_sram0_r0_in[4]
+ PIN io_sram0_r0_in[5]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 2.390 0.000 2.670 4.000 ;
+ END
+ END io_sram0_r0_in[5]
+ PIN io_sram0_r0_in[6]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 1186.640 4.000 1187.240 ;
+ END
+ END io_sram0_r0_in[6]
+ PIN io_sram0_r0_in[7]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 745.290 1196.000 745.570 1200.000 ;
+ END
+ END io_sram0_r0_in[7]
+ PIN io_sram0_r0_in[8]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 462.440 4.000 463.040 ;
+ END
+ END io_sram0_r0_in[8]
+ PIN io_sram0_r0_in[9]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 963.790 1196.000 964.070 1200.000 ;
+ END
+ END io_sram0_r0_in[9]
+ PIN io_sram0_rw_in[0]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 754.840 4.000 755.440 ;
+ END
+ END io_sram0_rw_in[0]
+ PIN io_sram0_rw_in[10]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 17.040 4.000 17.640 ;
+ END
+ END io_sram0_rw_in[10]
+ PIN io_sram0_rw_in[11]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 924.840 4.000 925.440 ;
+ END
+ END io_sram0_rw_in[11]
+ PIN io_sram0_rw_in[12]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 901.690 1196.000 901.970 1200.000 ;
+ END
+ END io_sram0_rw_in[12]
+ PIN io_sram0_rw_in[13]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 584.840 4.000 585.440 ;
+ END
+ END io_sram0_rw_in[13]
+ PIN io_sram0_rw_in[14]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 439.390 0.000 439.670 4.000 ;
+ END
+ END io_sram0_rw_in[14]
+ PIN io_sram0_rw_in[15]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 609.590 1196.000 609.870 1200.000 ;
+ END
+ END io_sram0_rw_in[15]
+ PIN io_sram0_rw_in[16]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 401.240 1200.000 401.840 ;
+ END
+ END io_sram0_rw_in[16]
+ PIN io_sram0_rw_in[17]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 187.040 4.000 187.640 ;
+ END
+ END io_sram0_rw_in[17]
+ PIN io_sram0_rw_in[18]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 110.490 1196.000 110.770 1200.000 ;
+ END
+ END io_sram0_rw_in[18]
+ PIN io_sram0_rw_in[19]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 667.090 0.000 667.370 4.000 ;
+ END
+ END io_sram0_rw_in[19]
+ PIN io_sram0_rw_in[1]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1041.990 0.000 1042.270 4.000 ;
+ END
+ END io_sram0_rw_in[1]
+ PIN io_sram0_rw_in[20]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 89.790 1196.000 90.070 1200.000 ;
+ END
+ END io_sram0_rw_in[20]
+ PIN io_sram0_rw_in[21]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1191.490 1196.000 1191.770 1200.000 ;
+ END
+ END io_sram0_rw_in[21]
+ PIN io_sram0_rw_in[22]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 729.190 0.000 729.470 4.000 ;
+ END
+ END io_sram0_rw_in[22]
+ PIN io_sram0_rw_in[23]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 400.290 1196.000 400.570 1200.000 ;
+ END
+ END io_sram0_rw_in[23]
+ PIN io_sram0_rw_in[24]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 276.090 1196.000 276.370 1200.000 ;
+ END
+ END io_sram0_rw_in[24]
+ PIN io_sram0_rw_in[25]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 577.390 1196.000 577.670 1200.000 ;
+ END
+ END io_sram0_rw_in[25]
+ PIN io_sram0_rw_in[26]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 266.890 1196.000 267.170 1200.000 ;
+ END
+ END io_sram0_rw_in[26]
+ PIN io_sram0_rw_in[27]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 69.090 1196.000 69.370 1200.000 ;
+ END
+ END io_sram0_rw_in[27]
+ PIN io_sram0_rw_in[28]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 34.040 1200.000 34.640 ;
+ END
+ END io_sram0_rw_in[28]
+ PIN io_sram0_rw_in[29]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 941.840 1200.000 942.440 ;
+ END
+ END io_sram0_rw_in[29]
+ PIN io_sram0_rw_in[2]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 554.240 4.000 554.840 ;
+ END
+ END io_sram0_rw_in[2]
+ PIN io_sram0_rw_in[30]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 986.040 1200.000 986.640 ;
+ END
+ END io_sram0_rw_in[30]
+ PIN io_sram0_rw_in[31]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 816.040 4.000 816.640 ;
+ END
+ END io_sram0_rw_in[31]
+ PIN io_sram0_rw_in[3]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 754.490 1196.000 754.770 1200.000 ;
+ END
+ END io_sram0_rw_in[3]
+ PIN io_sram0_rw_in[4]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 710.640 4.000 711.240 ;
+ END
+ END io_sram0_rw_in[4]
+ PIN io_sram0_rw_in[5]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 571.240 1200.000 571.840 ;
+ END
+ END io_sram0_rw_in[5]
+ PIN io_sram0_rw_in[6]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 649.440 4.000 650.040 ;
+ END
+ END io_sram0_rw_in[6]
+ PIN io_sram0_rw_in[7]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1104.090 0.000 1104.370 4.000 ;
+ END
+ END io_sram0_rw_in[7]
+ PIN io_sram0_rw_in[8]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 1016.640 1200.000 1017.240 ;
+ END
+ END io_sram0_rw_in[8]
+ PIN io_sram0_rw_in[9]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 282.990 0.000 283.270 4.000 ;
+ END
+ END io_sram0_rw_in[9]
+ PIN io_sram1_connections[0]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 593.490 0.000 593.770 4.000 ;
+ END
+ END io_sram1_connections[0]
+ PIN io_sram1_connections[10]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 47.640 1200.000 48.240 ;
+ END
+ END io_sram1_connections[10]
+ PIN io_sram1_connections[11]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 848.790 1196.000 849.070 1200.000 ;
+ END
+ END io_sram1_connections[11]
+ PIN io_sram1_connections[12]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 1064.240 4.000 1064.840 ;
+ END
+ END io_sram1_connections[12]
+ PIN io_sram1_connections[13]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 333.590 0.000 333.870 4.000 ;
+ END
+ END io_sram1_connections[13]
+ PIN io_sram1_connections[14]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1030.490 0.000 1030.770 4.000 ;
+ END
+ END io_sram1_connections[14]
+ PIN io_sram1_connections[15]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 151.890 1196.000 152.170 1200.000 ;
+ END
+ END io_sram1_connections[15]
+ PIN io_sram1_connections[16]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 48.390 1196.000 48.670 1200.000 ;
+ END
+ END io_sram1_connections[16]
+ PIN io_sram1_connections[17]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 47.640 4.000 48.240 ;
+ END
+ END io_sram1_connections[17]
+ PIN io_sram1_connections[18]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 828.090 1196.000 828.370 1200.000 ;
+ END
+ END io_sram1_connections[18]
+ PIN io_sram1_connections[19]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 1094.840 1200.000 1095.440 ;
+ END
+ END io_sram1_connections[19]
+ PIN io_sram1_connections[1]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 125.840 1200.000 126.440 ;
+ END
+ END io_sram1_connections[1]
+ PIN io_sram1_connections[20]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 374.990 0.000 375.270 4.000 ;
+ END
+ END io_sram1_connections[20]
+ PIN io_sram1_connections[21]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 601.840 1200.000 602.440 ;
+ END
+ END io_sram1_connections[21]
+ PIN io_sram1_connections[22]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 547.490 1196.000 547.770 1200.000 ;
+ END
+ END io_sram1_connections[22]
+ PIN io_sram1_connections[23]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 510.040 4.000 510.640 ;
+ END
+ END io_sram1_connections[23]
+ PIN io_sram1_connections[24]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 489.990 0.000 490.270 4.000 ;
+ END
+ END io_sram1_connections[24]
+ PIN io_sram1_connections[25]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 955.440 1200.000 956.040 ;
+ END
+ END io_sram1_connections[25]
+ PIN io_sram1_connections[26]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 584.290 0.000 584.570 4.000 ;
+ END
+ END io_sram1_connections[26]
+ PIN io_sram1_connections[27]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 615.440 4.000 616.040 ;
+ END
+ END io_sram1_connections[27]
+ PIN io_sram1_connections[28]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 1003.040 4.000 1003.640 ;
+ END
+ END io_sram1_connections[28]
+ PIN io_sram1_connections[29]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 119.690 1196.000 119.970 1200.000 ;
+ END
+ END io_sram1_connections[29]
+ PIN io_sram1_connections[2]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 340.040 1200.000 340.640 ;
+ END
+ END io_sram1_connections[2]
+ PIN io_sram1_connections[30]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 326.440 4.000 327.040 ;
+ END
+ END io_sram1_connections[30]
+ PIN io_sram1_connections[31]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 448.840 1200.000 449.440 ;
+ END
+ END io_sram1_connections[31]
+ PIN io_sram1_connections[32]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1009.790 0.000 1010.070 4.000 ;
+ END
+ END io_sram1_connections[32]
+ PIN io_sram1_connections[33]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 479.440 1200.000 480.040 ;
+ END
+ END io_sram1_connections[33]
+ PIN io_sram1_connections[34]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 370.390 1196.000 370.670 1200.000 ;
+ END
+ END io_sram1_connections[34]
+ PIN io_sram1_connections[35]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 309.440 4.000 310.040 ;
+ END
+ END io_sram1_connections[35]
+ PIN io_sram1_connections[36]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 43.790 0.000 44.070 4.000 ;
+ END
+ END io_sram1_connections[36]
+ PIN io_sram1_connections[37]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 526.790 1196.000 527.070 1200.000 ;
+ END
+ END io_sram1_connections[37]
+ PIN io_sram1_connections[38]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 105.890 0.000 106.170 4.000 ;
+ END
+ END io_sram1_connections[38]
+ PIN io_sram1_connections[39]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 618.840 1200.000 619.440 ;
+ END
+ END io_sram1_connections[39]
+ PIN io_sram1_connections[3]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 197.890 0.000 198.170 4.000 ;
+ END
+ END io_sram1_connections[3]
+ PIN io_sram1_connections[40]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 1111.840 1200.000 1112.440 ;
+ END
+ END io_sram1_connections[40]
+ PIN io_sram1_connections[41]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 217.640 4.000 218.240 ;
+ END
+ END io_sram1_connections[41]
+ PIN io_sram1_connections[42]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 494.590 1196.000 494.870 1200.000 ;
+ END
+ END io_sram1_connections[42]
+ PIN io_sram1_connections[43]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 571.240 4.000 571.840 ;
+ END
+ END io_sram1_connections[43]
+ PIN io_sram1_connections[44]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 465.840 1200.000 466.440 ;
+ END
+ END io_sram1_connections[44]
+ PIN io_sram1_connections[45]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 968.390 0.000 968.670 4.000 ;
+ END
+ END io_sram1_connections[45]
+ PIN io_sram1_connections[46]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 295.840 1200.000 296.440 ;
+ END
+ END io_sram1_connections[46]
+ PIN io_sram1_connections[47]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 317.490 1196.000 317.770 1200.000 ;
+ END
+ END io_sram1_connections[47]
+ PIN io_sram1_connections[48]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 139.440 4.000 140.040 ;
+ END
+ END io_sram1_connections[48]
+ PIN io_sram1_connections[49]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 126.590 0.000 126.870 4.000 ;
+ END
+ END io_sram1_connections[49]
+ PIN io_sram1_connections[4]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 986.040 4.000 986.640 ;
+ END
+ END io_sram1_connections[4]
+ PIN io_sram1_connections[50]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 265.240 1200.000 265.840 ;
+ END
+ END io_sram1_connections[50]
+ PIN io_sram1_connections[51]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 791.290 0.000 791.570 4.000 ;
+ END
+ END io_sram1_connections[51]
+ PIN io_sram1_connections[52]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 1156.040 1200.000 1156.640 ;
+ END
+ END io_sram1_connections[52]
+ PIN io_sram1_connections[53]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 248.240 4.000 248.840 ;
+ END
+ END io_sram1_connections[53]
+ PIN io_sram1_connections[54]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 167.990 0.000 168.270 4.000 ;
+ END
+ END io_sram1_connections[54]
+ PIN io_sram1_connections[5]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 271.490 0.000 271.770 4.000 ;
+ END
+ END io_sram1_connections[5]
+ PIN io_sram1_connections[6]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 542.890 0.000 543.170 4.000 ;
+ END
+ END io_sram1_connections[6]
+ PIN io_sram1_connections[7]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1136.290 0.000 1136.570 4.000 ;
+ END
+ END io_sram1_connections[7]
+ PIN io_sram1_connections[8]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 448.840 4.000 449.440 ;
+ END
+ END io_sram1_connections[8]
+ PIN io_sram1_connections[9]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 660.190 1196.000 660.470 1200.000 ;
+ END
+ END io_sram1_connections[9]
+ PIN io_sram1_ro_in[0]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 357.040 1200.000 357.640 ;
+ END
+ END io_sram1_ro_in[0]
+ PIN io_sram1_ro_in[10]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 1139.040 4.000 1139.640 ;
+ END
+ END io_sram1_ro_in[10]
+ PIN io_sram1_ro_in[11]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 1125.440 1200.000 1126.040 ;
+ END
+ END io_sram1_ro_in[11]
+ PIN io_sram1_ro_in[12]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 125.840 4.000 126.440 ;
+ END
+ END io_sram1_ro_in[12]
+ PIN io_sram1_ro_in[13]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 1016.640 4.000 1017.240 ;
+ END
+ END io_sram1_ro_in[13]
+ PIN io_sram1_ro_in[14]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 223.190 1196.000 223.470 1200.000 ;
+ END
+ END io_sram1_ro_in[14]
+ PIN io_sram1_ro_in[15]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 740.690 0.000 740.970 4.000 ;
+ END
+ END io_sram1_ro_in[15]
+ PIN io_sram1_ro_in[16]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 501.490 0.000 501.770 4.000 ;
+ END
+ END io_sram1_ro_in[16]
+ PIN io_sram1_ro_in[17]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 1156.040 4.000 1156.640 ;
+ END
+ END io_sram1_ro_in[17]
+ PIN io_sram1_ro_in[18]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 972.440 4.000 973.040 ;
+ END
+ END io_sram1_ro_in[18]
+ PIN io_sram1_ro_in[19]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 1033.640 1200.000 1034.240 ;
+ END
+ END io_sram1_ro_in[19]
+ PIN io_sram1_ro_in[1]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 657.890 0.000 658.170 4.000 ;
+ END
+ END io_sram1_ro_in[1]
+ PIN io_sram1_ro_in[20]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 387.640 1200.000 388.240 ;
+ END
+ END io_sram1_ro_in[20]
+ PIN io_sram1_ro_in[21]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 140.390 1196.000 140.670 1200.000 ;
+ END
+ END io_sram1_ro_in[21]
+ PIN io_sram1_ro_in[22]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 473.890 1196.000 474.170 1200.000 ;
+ END
+ END io_sram1_ro_in[22]
+ PIN io_sram1_ro_in[23]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 819.440 1200.000 820.040 ;
+ END
+ END io_sram1_ro_in[23]
+ PIN io_sram1_ro_in[24]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 650.990 1196.000 651.270 1200.000 ;
+ END
+ END io_sram1_ro_in[24]
+ PIN io_sram1_ro_in[25]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 135.790 0.000 136.070 4.000 ;
+ END
+ END io_sram1_ro_in[25]
+ PIN io_sram1_ro_in[26]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 220.890 0.000 221.170 4.000 ;
+ END
+ END io_sram1_ro_in[26]
+ PIN io_sram1_ro_in[27]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 1064.240 1200.000 1064.840 ;
+ END
+ END io_sram1_ro_in[27]
+ PIN io_sram1_ro_in[28]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 387.640 4.000 388.240 ;
+ END
+ END io_sram1_ro_in[28]
+ PIN io_sram1_ro_in[29]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 989.090 0.000 989.370 4.000 ;
+ END
+ END io_sram1_ro_in[29]
+ PIN io_sram1_ro_in[2]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 823.490 0.000 823.770 4.000 ;
+ END
+ END io_sram1_ro_in[2]
+ PIN io_sram1_ro_in[30]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 248.240 1200.000 248.840 ;
+ END
+ END io_sram1_ro_in[30]
+ PIN io_sram1_ro_in[31]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 278.840 4.000 279.440 ;
+ END
+ END io_sram1_ro_in[31]
+ PIN io_sram1_ro_in[3]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 255.390 1196.000 255.670 1200.000 ;
+ END
+ END io_sram1_ro_in[3]
+ PIN io_sram1_ro_in[4]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 493.040 4.000 493.640 ;
+ END
+ END io_sram1_ro_in[4]
+ PIN io_sram1_ro_in[5]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 811.990 0.000 812.270 4.000 ;
+ END
+ END io_sram1_ro_in[5]
+ PIN io_sram1_ro_in[6]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 25.390 1196.000 25.670 1200.000 ;
+ END
+ END io_sram1_ro_in[6]
+ PIN io_sram1_ro_in[7]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1150.090 1196.000 1150.370 1200.000 ;
+ END
+ END io_sram1_ro_in[7]
+ PIN io_sram1_ro_in[8]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 326.440 1200.000 327.040 ;
+ END
+ END io_sram1_ro_in[8]
+ PIN io_sram1_ro_in[9]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 869.490 1196.000 869.770 1200.000 ;
+ END
+ END io_sram1_ro_in[9]
+ PIN io_sram1_rw_in[0]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 926.990 0.000 927.270 4.000 ;
+ END
+ END io_sram1_rw_in[0]
+ PIN io_sram1_rw_in[10]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 687.790 0.000 688.070 4.000 ;
+ END
+ END io_sram1_rw_in[10]
+ PIN io_sram1_rw_in[11]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 618.790 1196.000 619.070 1200.000 ;
+ END
+ END io_sram1_rw_in[11]
+ PIN io_sram1_rw_in[12]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 906.290 0.000 906.570 4.000 ;
+ END
+ END io_sram1_rw_in[12]
+ PIN io_sram1_rw_in[13]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 209.390 0.000 209.670 4.000 ;
+ END
+ END io_sram1_rw_in[13]
+ PIN io_sram1_rw_in[14]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 73.690 0.000 73.970 4.000 ;
+ END
+ END io_sram1_rw_in[14]
+ PIN io_sram1_rw_in[15]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 345.090 0.000 345.370 4.000 ;
+ END
+ END io_sram1_rw_in[15]
+ PIN io_sram1_rw_in[16]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 588.890 1196.000 589.170 1200.000 ;
+ END
+ END io_sram1_rw_in[16]
+ PIN io_sram1_rw_in[17]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 1050.640 1200.000 1051.240 ;
+ END
+ END io_sram1_rw_in[17]
+ PIN io_sram1_rw_in[18]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 680.040 1200.000 680.640 ;
+ END
+ END io_sram1_rw_in[18]
+ PIN io_sram1_rw_in[19]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 907.840 4.000 908.440 ;
+ END
+ END io_sram1_rw_in[19]
+ PIN io_sram1_rw_in[1]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 761.390 0.000 761.670 4.000 ;
+ END
+ END io_sram1_rw_in[1]
+ PIN io_sram1_rw_in[20]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 710.640 1200.000 711.240 ;
+ END
+ END io_sram1_rw_in[20]
+ PIN io_sram1_rw_in[21]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 156.440 1200.000 157.040 ;
+ END
+ END io_sram1_rw_in[21]
+ PIN io_sram1_rw_in[22]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 324.390 0.000 324.670 4.000 ;
+ END
+ END io_sram1_rw_in[22]
+ PIN io_sram1_rw_in[23]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 515.290 1196.000 515.570 1200.000 ;
+ END
+ END io_sram1_rw_in[23]
+ PIN io_sram1_rw_in[24]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 177.190 0.000 177.470 4.000 ;
+ END
+ END io_sram1_rw_in[24]
+ PIN io_sram1_rw_in[25]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 588.240 1200.000 588.840 ;
+ END
+ END io_sram1_rw_in[25]
+ PIN io_sram1_rw_in[26]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 911.240 1200.000 911.840 ;
+ END
+ END io_sram1_rw_in[26]
+ PIN io_sram1_rw_in[27]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 943.090 1196.000 943.370 1200.000 ;
+ END
+ END io_sram1_rw_in[27]
+ PIN io_sram1_rw_in[28]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1055.790 1196.000 1056.070 1200.000 ;
+ END
+ END io_sram1_rw_in[28]
+ PIN io_sram1_rw_in[29]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1170.790 1196.000 1171.070 1200.000 ;
+ END
+ END io_sram1_rw_in[29]
+ PIN io_sram1_rw_in[2]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 878.690 1196.000 878.970 1200.000 ;
+ END
+ END io_sram1_rw_in[2]
+ PIN io_sram1_rw_in[30]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 453.190 1196.000 453.470 1200.000 ;
+ END
+ END io_sram1_rw_in[30]
+ PIN io_sram1_rw_in[31]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 85.190 0.000 85.470 4.000 ;
+ END
+ END io_sram1_rw_in[31]
+ PIN io_sram1_rw_in[3]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 170.040 4.000 170.640 ;
+ END
+ END io_sram1_rw_in[3]
+ PIN io_sram1_rw_in[4]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 556.690 1196.000 556.970 1200.000 ;
+ END
+ END io_sram1_rw_in[4]
+ PIN io_sram1_rw_in[5]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 1077.840 4.000 1078.440 ;
+ END
+ END io_sram1_rw_in[5]
+ PIN io_sram1_rw_in[6]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 1033.640 4.000 1034.240 ;
+ END
+ END io_sram1_rw_in[6]
+ PIN io_sram1_rw_in[7]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 522.190 0.000 522.470 4.000 ;
+ END
+ END io_sram1_rw_in[7]
+ PIN io_sram1_rw_in[8]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 693.640 1200.000 694.240 ;
+ END
+ END io_sram1_rw_in[8]
+ PIN io_sram1_rw_in[9]
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 864.890 0.000 865.170 4.000 ;
+ END
+ END io_sram1_rw_in[9]
+ PIN io_sram_data[0]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1145.490 0.000 1145.770 4.000 ;
+ END
+ END io_sram_data[0]
+ PIN io_sram_data[10]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 340.040 4.000 340.640 ;
+ END
+ END io_sram_data[10]
+ PIN io_sram_data[11]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 632.440 4.000 633.040 ;
+ END
+ END io_sram_data[11]
+ PIN io_sram_data[12]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 758.240 1200.000 758.840 ;
+ END
+ END io_sram_data[12]
+ PIN io_sram_data[13]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 147.290 0.000 147.570 4.000 ;
+ END
+ END io_sram_data[13]
+ PIN io_sram_data[14]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1076.490 1196.000 1076.770 1200.000 ;
+ END
+ END io_sram_data[14]
+ PIN io_sram_data[15]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 857.990 1196.000 858.270 1200.000 ;
+ END
+ END io_sram_data[15]
+ PIN io_sram_data[16]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 765.990 1196.000 766.270 1200.000 ;
+ END
+ END io_sram_data[16]
+ PIN io_sram_data[17]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1025.890 1196.000 1026.170 1200.000 ;
+ END
+ END io_sram_data[17]
+ PIN io_sram_data[18]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 241.590 0.000 241.870 4.000 ;
+ END
+ END io_sram_data[18]
+ PIN io_sram_data[19]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 972.990 1196.000 973.270 1200.000 ;
+ END
+ END io_sram_data[19]
+ PIN io_sram_data[1]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 365.790 0.000 366.070 4.000 ;
+ END
+ END io_sram_data[1]
+ PIN io_sram_data[20]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 480.790 0.000 481.070 4.000 ;
+ END
+ END io_sram_data[20]
+ PIN io_sram_data[21]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 510.690 0.000 510.970 4.000 ;
+ END
+ END io_sram_data[21]
+ PIN io_sram_data[22]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 807.390 1196.000 807.670 1200.000 ;
+ END
+ END io_sram_data[22]
+ PIN io_sram_data[23]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 16.190 1196.000 16.470 1200.000 ;
+ END
+ END io_sram_data[23]
+ PIN io_sram_data[24]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 894.240 4.000 894.840 ;
+ END
+ END io_sram_data[24]
+ PIN io_sram_data[25]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 614.190 0.000 614.470 4.000 ;
+ END
+ END io_sram_data[25]
+ PIN io_sram_data[26]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 395.690 0.000 395.970 4.000 ;
+ END
+ END io_sram_data[26]
+ PIN io_sram_data[27]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1000.590 0.000 1000.870 4.000 ;
+ END
+ END io_sram_data[27]
+ PIN io_sram_data[28]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 646.390 0.000 646.670 4.000 ;
+ END
+ END io_sram_data[28]
+ PIN io_sram_data[29]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 719.990 0.000 720.270 4.000 ;
+ END
+ END io_sram_data[29]
+ PIN io_sram_data[2]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 95.240 1200.000 95.840 ;
+ END
+ END io_sram_data[2]
+ PIN io_sram_data[30]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 250.790 0.000 251.070 4.000 ;
+ END
+ END io_sram_data[30]
+ PIN io_sram_data[31]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 0.000 955.440 4.000 956.040 ;
+ END
+ END io_sram_data[31]
+ PIN io_sram_data[3]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 338.190 1196.000 338.470 1200.000 ;
+ END
+ END io_sram_data[3]
+ PIN io_sram_data[4]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 993.690 1196.000 993.970 1200.000 ;
+ END
+ END io_sram_data[4]
+ PIN io_sram_data[5]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 469.290 0.000 469.570 4.000 ;
+ END
+ END io_sram_data[5]
+ PIN io_sram_data[6]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 349.690 1196.000 349.970 1200.000 ;
+ END
+ END io_sram_data[6]
+ PIN io_sram_data[7]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 1021.290 0.000 1021.570 4.000 ;
+ END
+ END io_sram_data[7]
+ PIN io_sram_data[8]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met3 ;
+ RECT 1196.000 632.440 1200.000 633.040 ;
+ END
+ END io_sram_data[8]
+ PIN io_sram_data[9]
+ DIRECTION OUTPUT TRISTATE ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 354.290 0.000 354.570 4.000 ;
+ END
+ END io_sram_data[9]
+ PIN reset
+ DIRECTION INPUT ;
+ USE SIGNAL ;
+ PORT
+ LAYER met2 ;
+ RECT 713.090 1196.000 713.370 1200.000 ;
+ END
+ END reset
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met4 ;
+ RECT 1096.240 10.640 1097.840 1188.880 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met4 ;
+ RECT 942.640 10.640 944.240 1188.880 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met4 ;
+ RECT 789.040 10.640 790.640 1188.880 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met4 ;
+ RECT 635.440 10.640 637.040 1188.880 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met4 ;
+ RECT 481.840 10.640 483.440 1188.880 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met4 ;
+ RECT 328.240 10.640 329.840 1188.880 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met4 ;
+ RECT 174.640 10.640 176.240 1188.880 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met4 ;
+ RECT 21.040 10.640 22.640 1188.880 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 1098.750 1194.160 1100.350 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 945.570 1194.160 947.170 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 792.390 1194.160 793.990 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 639.210 1194.160 640.810 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 486.030 1194.160 487.630 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 332.850 1194.160 334.450 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 179.670 1194.160 181.270 ;
+ END
+ END VPWR
+ PIN VPWR
+ DIRECTION INOUT ;
+ USE POWER ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 26.490 1194.160 28.090 ;
+ END
+ END VPWR
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met4 ;
+ RECT 1173.040 10.640 1174.640 1188.880 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met4 ;
+ RECT 1019.440 10.640 1021.040 1188.880 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met4 ;
+ RECT 865.840 10.640 867.440 1188.880 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met4 ;
+ RECT 712.240 10.640 713.840 1188.880 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met4 ;
+ RECT 558.640 10.640 560.240 1188.880 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met4 ;
+ RECT 405.040 10.640 406.640 1188.880 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met4 ;
+ RECT 251.440 10.640 253.040 1188.880 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met4 ;
+ RECT 97.840 10.640 99.440 1188.880 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 1175.340 1194.160 1176.940 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 1022.160 1194.160 1023.760 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 868.980 1194.160 870.580 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 715.800 1194.160 717.400 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 562.620 1194.160 564.220 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 409.440 1194.160 411.040 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 256.260 1194.160 257.860 ;
+ END
+ END VGND
+ PIN VGND
+ DIRECTION INOUT ;
+ USE GROUND ;
+ PORT
+ LAYER met5 ;
+ RECT 5.520 103.080 1194.160 104.680 ;
+ END
+ END VGND
+ OBS
+ LAYER li1 ;
+ RECT 7.045 6.545 1192.175 1193.995 ;
+ LAYER met1 ;
+ RECT 2.370 6.515 1194.160 1194.040 ;
+ LAYER met2 ;
+ RECT 2.400 1195.720 4.410 1196.000 ;
+ RECT 5.250 1195.720 15.910 1196.000 ;
+ RECT 16.750 1195.720 25.110 1196.000 ;
+ RECT 25.950 1195.720 36.610 1196.000 ;
+ RECT 37.450 1195.720 48.110 1196.000 ;
+ RECT 48.950 1195.720 57.310 1196.000 ;
+ RECT 58.150 1195.720 68.810 1196.000 ;
+ RECT 69.650 1195.720 78.010 1196.000 ;
+ RECT 78.850 1195.720 89.510 1196.000 ;
+ RECT 90.350 1195.720 98.710 1196.000 ;
+ RECT 99.550 1195.720 110.210 1196.000 ;
+ RECT 111.050 1195.720 119.410 1196.000 ;
+ RECT 120.250 1195.720 130.910 1196.000 ;
+ RECT 131.750 1195.720 140.110 1196.000 ;
+ RECT 140.950 1195.720 151.610 1196.000 ;
+ RECT 152.450 1195.720 160.810 1196.000 ;
+ RECT 161.650 1195.720 172.310 1196.000 ;
+ RECT 173.150 1195.720 181.510 1196.000 ;
+ RECT 182.350 1195.720 193.010 1196.000 ;
+ RECT 193.850 1195.720 202.210 1196.000 ;
+ RECT 203.050 1195.720 213.710 1196.000 ;
+ RECT 214.550 1195.720 222.910 1196.000 ;
+ RECT 223.750 1195.720 234.410 1196.000 ;
+ RECT 235.250 1195.720 243.610 1196.000 ;
+ RECT 244.450 1195.720 255.110 1196.000 ;
+ RECT 255.950 1195.720 266.610 1196.000 ;
+ RECT 267.450 1195.720 275.810 1196.000 ;
+ RECT 276.650 1195.720 287.310 1196.000 ;
+ RECT 288.150 1195.720 296.510 1196.000 ;
+ RECT 297.350 1195.720 308.010 1196.000 ;
+ RECT 308.850 1195.720 317.210 1196.000 ;
+ RECT 318.050 1195.720 328.710 1196.000 ;
+ RECT 329.550 1195.720 337.910 1196.000 ;
+ RECT 338.750 1195.720 349.410 1196.000 ;
+ RECT 350.250 1195.720 358.610 1196.000 ;
+ RECT 359.450 1195.720 370.110 1196.000 ;
+ RECT 370.950 1195.720 379.310 1196.000 ;
+ RECT 380.150 1195.720 390.810 1196.000 ;
+ RECT 391.650 1195.720 400.010 1196.000 ;
+ RECT 400.850 1195.720 411.510 1196.000 ;
+ RECT 412.350 1195.720 420.710 1196.000 ;
+ RECT 421.550 1195.720 432.210 1196.000 ;
+ RECT 433.050 1195.720 441.410 1196.000 ;
+ RECT 442.250 1195.720 452.910 1196.000 ;
+ RECT 453.750 1195.720 464.410 1196.000 ;
+ RECT 465.250 1195.720 473.610 1196.000 ;
+ RECT 474.450 1195.720 485.110 1196.000 ;
+ RECT 485.950 1195.720 494.310 1196.000 ;
+ RECT 495.150 1195.720 505.810 1196.000 ;
+ RECT 506.650 1195.720 515.010 1196.000 ;
+ RECT 515.850 1195.720 526.510 1196.000 ;
+ RECT 527.350 1195.720 535.710 1196.000 ;
+ RECT 536.550 1195.720 547.210 1196.000 ;
+ RECT 548.050 1195.720 556.410 1196.000 ;
+ RECT 557.250 1195.720 567.910 1196.000 ;
+ RECT 568.750 1195.720 577.110 1196.000 ;
+ RECT 577.950 1195.720 588.610 1196.000 ;
+ RECT 589.450 1195.720 597.810 1196.000 ;
+ RECT 598.650 1195.720 609.310 1196.000 ;
+ RECT 610.150 1195.720 618.510 1196.000 ;
+ RECT 619.350 1195.720 630.010 1196.000 ;
+ RECT 630.850 1195.720 639.210 1196.000 ;
+ RECT 640.050 1195.720 650.710 1196.000 ;
+ RECT 651.550 1195.720 659.910 1196.000 ;
+ RECT 660.750 1195.720 671.410 1196.000 ;
+ RECT 672.250 1195.720 682.910 1196.000 ;
+ RECT 683.750 1195.720 692.110 1196.000 ;
+ RECT 692.950 1195.720 703.610 1196.000 ;
+ RECT 704.450 1195.720 712.810 1196.000 ;
+ RECT 713.650 1195.720 724.310 1196.000 ;
+ RECT 725.150 1195.720 733.510 1196.000 ;
+ RECT 734.350 1195.720 745.010 1196.000 ;
+ RECT 745.850 1195.720 754.210 1196.000 ;
+ RECT 755.050 1195.720 765.710 1196.000 ;
+ RECT 766.550 1195.720 774.910 1196.000 ;
+ RECT 775.750 1195.720 786.410 1196.000 ;
+ RECT 787.250 1195.720 795.610 1196.000 ;
+ RECT 796.450 1195.720 807.110 1196.000 ;
+ RECT 807.950 1195.720 816.310 1196.000 ;
+ RECT 817.150 1195.720 827.810 1196.000 ;
+ RECT 828.650 1195.720 837.010 1196.000 ;
+ RECT 837.850 1195.720 848.510 1196.000 ;
+ RECT 849.350 1195.720 857.710 1196.000 ;
+ RECT 858.550 1195.720 869.210 1196.000 ;
+ RECT 870.050 1195.720 878.410 1196.000 ;
+ RECT 879.250 1195.720 889.910 1196.000 ;
+ RECT 890.750 1195.720 901.410 1196.000 ;
+ RECT 902.250 1195.720 910.610 1196.000 ;
+ RECT 911.450 1195.720 922.110 1196.000 ;
+ RECT 922.950 1195.720 931.310 1196.000 ;
+ RECT 932.150 1195.720 942.810 1196.000 ;
+ RECT 943.650 1195.720 952.010 1196.000 ;
+ RECT 952.850 1195.720 963.510 1196.000 ;
+ RECT 964.350 1195.720 972.710 1196.000 ;
+ RECT 973.550 1195.720 984.210 1196.000 ;
+ RECT 985.050 1195.720 993.410 1196.000 ;
+ RECT 994.250 1195.720 1004.910 1196.000 ;
+ RECT 1005.750 1195.720 1014.110 1196.000 ;
+ RECT 1014.950 1195.720 1025.610 1196.000 ;
+ RECT 1026.450 1195.720 1034.810 1196.000 ;
+ RECT 1035.650 1195.720 1046.310 1196.000 ;
+ RECT 1047.150 1195.720 1055.510 1196.000 ;
+ RECT 1056.350 1195.720 1067.010 1196.000 ;
+ RECT 1067.850 1195.720 1076.210 1196.000 ;
+ RECT 1077.050 1195.720 1087.710 1196.000 ;
+ RECT 1088.550 1195.720 1099.210 1196.000 ;
+ RECT 1100.050 1195.720 1108.410 1196.000 ;
+ RECT 1109.250 1195.720 1119.910 1196.000 ;
+ RECT 1120.750 1195.720 1129.110 1196.000 ;
+ RECT 1129.950 1195.720 1140.610 1196.000 ;
+ RECT 1141.450 1195.720 1149.810 1196.000 ;
+ RECT 1150.650 1195.720 1161.310 1196.000 ;
+ RECT 1162.150 1195.720 1170.510 1196.000 ;
+ RECT 1171.350 1195.720 1182.010 1196.000 ;
+ RECT 1182.850 1195.720 1191.210 1196.000 ;
+ RECT 1192.050 1195.720 1192.220 1196.000 ;
+ RECT 2.400 4.280 1192.220 1195.720 ;
+ RECT 2.950 3.555 11.310 4.280 ;
+ RECT 12.150 3.555 22.810 4.280 ;
+ RECT 23.650 3.555 32.010 4.280 ;
+ RECT 32.850 3.555 43.510 4.280 ;
+ RECT 44.350 3.555 52.710 4.280 ;
+ RECT 53.550 3.555 64.210 4.280 ;
+ RECT 65.050 3.555 73.410 4.280 ;
+ RECT 74.250 3.555 84.910 4.280 ;
+ RECT 85.750 3.555 94.110 4.280 ;
+ RECT 94.950 3.555 105.610 4.280 ;
+ RECT 106.450 3.555 114.810 4.280 ;
+ RECT 115.650 3.555 126.310 4.280 ;
+ RECT 127.150 3.555 135.510 4.280 ;
+ RECT 136.350 3.555 147.010 4.280 ;
+ RECT 147.850 3.555 156.210 4.280 ;
+ RECT 157.050 3.555 167.710 4.280 ;
+ RECT 168.550 3.555 176.910 4.280 ;
+ RECT 177.750 3.555 188.410 4.280 ;
+ RECT 189.250 3.555 197.610 4.280 ;
+ RECT 198.450 3.555 209.110 4.280 ;
+ RECT 209.950 3.555 220.610 4.280 ;
+ RECT 221.450 3.555 229.810 4.280 ;
+ RECT 230.650 3.555 241.310 4.280 ;
+ RECT 242.150 3.555 250.510 4.280 ;
+ RECT 251.350 3.555 262.010 4.280 ;
+ RECT 262.850 3.555 271.210 4.280 ;
+ RECT 272.050 3.555 282.710 4.280 ;
+ RECT 283.550 3.555 291.910 4.280 ;
+ RECT 292.750 3.555 303.410 4.280 ;
+ RECT 304.250 3.555 312.610 4.280 ;
+ RECT 313.450 3.555 324.110 4.280 ;
+ RECT 324.950 3.555 333.310 4.280 ;
+ RECT 334.150 3.555 344.810 4.280 ;
+ RECT 345.650 3.555 354.010 4.280 ;
+ RECT 354.850 3.555 365.510 4.280 ;
+ RECT 366.350 3.555 374.710 4.280 ;
+ RECT 375.550 3.555 386.210 4.280 ;
+ RECT 387.050 3.555 395.410 4.280 ;
+ RECT 396.250 3.555 406.910 4.280 ;
+ RECT 407.750 3.555 416.110 4.280 ;
+ RECT 416.950 3.555 427.610 4.280 ;
+ RECT 428.450 3.555 439.110 4.280 ;
+ RECT 439.950 3.555 448.310 4.280 ;
+ RECT 449.150 3.555 459.810 4.280 ;
+ RECT 460.650 3.555 469.010 4.280 ;
+ RECT 469.850 3.555 480.510 4.280 ;
+ RECT 481.350 3.555 489.710 4.280 ;
+ RECT 490.550 3.555 501.210 4.280 ;
+ RECT 502.050 3.555 510.410 4.280 ;
+ RECT 511.250 3.555 521.910 4.280 ;
+ RECT 522.750 3.555 531.110 4.280 ;
+ RECT 531.950 3.555 542.610 4.280 ;
+ RECT 543.450 3.555 551.810 4.280 ;
+ RECT 552.650 3.555 563.310 4.280 ;
+ RECT 564.150 3.555 572.510 4.280 ;
+ RECT 573.350 3.555 584.010 4.280 ;
+ RECT 584.850 3.555 593.210 4.280 ;
+ RECT 594.050 3.555 604.710 4.280 ;
+ RECT 605.550 3.555 613.910 4.280 ;
+ RECT 614.750 3.555 625.410 4.280 ;
+ RECT 626.250 3.555 636.910 4.280 ;
+ RECT 637.750 3.555 646.110 4.280 ;
+ RECT 646.950 3.555 657.610 4.280 ;
+ RECT 658.450 3.555 666.810 4.280 ;
+ RECT 667.650 3.555 678.310 4.280 ;
+ RECT 679.150 3.555 687.510 4.280 ;
+ RECT 688.350 3.555 699.010 4.280 ;
+ RECT 699.850 3.555 708.210 4.280 ;
+ RECT 709.050 3.555 719.710 4.280 ;
+ RECT 720.550 3.555 728.910 4.280 ;
+ RECT 729.750 3.555 740.410 4.280 ;
+ RECT 741.250 3.555 749.610 4.280 ;
+ RECT 750.450 3.555 761.110 4.280 ;
+ RECT 761.950 3.555 770.310 4.280 ;
+ RECT 771.150 3.555 781.810 4.280 ;
+ RECT 782.650 3.555 791.010 4.280 ;
+ RECT 791.850 3.555 802.510 4.280 ;
+ RECT 803.350 3.555 811.710 4.280 ;
+ RECT 812.550 3.555 823.210 4.280 ;
+ RECT 824.050 3.555 832.410 4.280 ;
+ RECT 833.250 3.555 843.910 4.280 ;
+ RECT 844.750 3.555 855.410 4.280 ;
+ RECT 856.250 3.555 864.610 4.280 ;
+ RECT 865.450 3.555 876.110 4.280 ;
+ RECT 876.950 3.555 885.310 4.280 ;
+ RECT 886.150 3.555 896.810 4.280 ;
+ RECT 897.650 3.555 906.010 4.280 ;
+ RECT 906.850 3.555 917.510 4.280 ;
+ RECT 918.350 3.555 926.710 4.280 ;
+ RECT 927.550 3.555 938.210 4.280 ;
+ RECT 939.050 3.555 947.410 4.280 ;
+ RECT 948.250 3.555 958.910 4.280 ;
+ RECT 959.750 3.555 968.110 4.280 ;
+ RECT 968.950 3.555 979.610 4.280 ;
+ RECT 980.450 3.555 988.810 4.280 ;
+ RECT 989.650 3.555 1000.310 4.280 ;
+ RECT 1001.150 3.555 1009.510 4.280 ;
+ RECT 1010.350 3.555 1021.010 4.280 ;
+ RECT 1021.850 3.555 1030.210 4.280 ;
+ RECT 1031.050 3.555 1041.710 4.280 ;
+ RECT 1042.550 3.555 1050.910 4.280 ;
+ RECT 1051.750 3.555 1062.410 4.280 ;
+ RECT 1063.250 3.555 1073.910 4.280 ;
+ RECT 1074.750 3.555 1083.110 4.280 ;
+ RECT 1083.950 3.555 1094.610 4.280 ;
+ RECT 1095.450 3.555 1103.810 4.280 ;
+ RECT 1104.650 3.555 1115.310 4.280 ;
+ RECT 1116.150 3.555 1124.510 4.280 ;
+ RECT 1125.350 3.555 1136.010 4.280 ;
+ RECT 1136.850 3.555 1145.210 4.280 ;
+ RECT 1146.050 3.555 1156.710 4.280 ;
+ RECT 1157.550 3.555 1165.910 4.280 ;
+ RECT 1166.750 3.555 1177.410 4.280 ;
+ RECT 1178.250 3.555 1186.610 4.280 ;
+ RECT 1187.450 3.555 1192.220 4.280 ;
+ LAYER met3 ;
+ RECT 4.000 1187.640 1196.000 1188.805 ;
+ RECT 4.400 1186.240 1195.600 1187.640 ;
+ RECT 4.000 1174.040 1196.000 1186.240 ;
+ RECT 4.000 1172.640 1195.600 1174.040 ;
+ RECT 4.000 1170.640 1196.000 1172.640 ;
+ RECT 4.400 1169.240 1196.000 1170.640 ;
+ RECT 4.000 1157.040 1196.000 1169.240 ;
+ RECT 4.400 1155.640 1195.600 1157.040 ;
+ RECT 4.000 1143.440 1196.000 1155.640 ;
+ RECT 4.000 1142.040 1195.600 1143.440 ;
+ RECT 4.000 1140.040 1196.000 1142.040 ;
+ RECT 4.400 1138.640 1196.000 1140.040 ;
+ RECT 4.000 1126.440 1196.000 1138.640 ;
+ RECT 4.400 1125.040 1195.600 1126.440 ;
+ RECT 4.000 1112.840 1196.000 1125.040 ;
+ RECT 4.000 1111.440 1195.600 1112.840 ;
+ RECT 4.000 1109.440 1196.000 1111.440 ;
+ RECT 4.400 1108.040 1196.000 1109.440 ;
+ RECT 4.000 1095.840 1196.000 1108.040 ;
+ RECT 4.400 1094.440 1195.600 1095.840 ;
+ RECT 4.000 1082.240 1196.000 1094.440 ;
+ RECT 4.000 1080.840 1195.600 1082.240 ;
+ RECT 4.000 1078.840 1196.000 1080.840 ;
+ RECT 4.400 1077.440 1196.000 1078.840 ;
+ RECT 4.000 1065.240 1196.000 1077.440 ;
+ RECT 4.400 1063.840 1195.600 1065.240 ;
+ RECT 4.000 1051.640 1196.000 1063.840 ;
+ RECT 4.000 1050.240 1195.600 1051.640 ;
+ RECT 4.000 1048.240 1196.000 1050.240 ;
+ RECT 4.400 1046.840 1196.000 1048.240 ;
+ RECT 4.000 1034.640 1196.000 1046.840 ;
+ RECT 4.400 1033.240 1195.600 1034.640 ;
+ RECT 4.000 1017.640 1196.000 1033.240 ;
+ RECT 4.400 1016.240 1195.600 1017.640 ;
+ RECT 4.000 1004.040 1196.000 1016.240 ;
+ RECT 4.400 1002.640 1195.600 1004.040 ;
+ RECT 4.000 987.040 1196.000 1002.640 ;
+ RECT 4.400 985.640 1195.600 987.040 ;
+ RECT 4.000 973.440 1196.000 985.640 ;
+ RECT 4.400 972.040 1195.600 973.440 ;
+ RECT 4.000 956.440 1196.000 972.040 ;
+ RECT 4.400 955.040 1195.600 956.440 ;
+ RECT 4.000 942.840 1196.000 955.040 ;
+ RECT 4.400 941.440 1195.600 942.840 ;
+ RECT 4.000 925.840 1196.000 941.440 ;
+ RECT 4.400 924.440 1195.600 925.840 ;
+ RECT 4.000 912.240 1196.000 924.440 ;
+ RECT 4.000 910.840 1195.600 912.240 ;
+ RECT 4.000 908.840 1196.000 910.840 ;
+ RECT 4.400 907.440 1196.000 908.840 ;
+ RECT 4.000 895.240 1196.000 907.440 ;
+ RECT 4.400 893.840 1195.600 895.240 ;
+ RECT 4.000 881.640 1196.000 893.840 ;
+ RECT 4.000 880.240 1195.600 881.640 ;
+ RECT 4.000 878.240 1196.000 880.240 ;
+ RECT 4.400 876.840 1196.000 878.240 ;
+ RECT 4.000 864.640 1196.000 876.840 ;
+ RECT 4.400 863.240 1195.600 864.640 ;
+ RECT 4.000 851.040 1196.000 863.240 ;
+ RECT 4.000 849.640 1195.600 851.040 ;
+ RECT 4.000 847.640 1196.000 849.640 ;
+ RECT 4.400 846.240 1196.000 847.640 ;
+ RECT 4.000 834.040 1196.000 846.240 ;
+ RECT 4.400 832.640 1195.600 834.040 ;
+ RECT 4.000 820.440 1196.000 832.640 ;
+ RECT 4.000 819.040 1195.600 820.440 ;
+ RECT 4.000 817.040 1196.000 819.040 ;
+ RECT 4.400 815.640 1196.000 817.040 ;
+ RECT 4.000 803.440 1196.000 815.640 ;
+ RECT 4.400 802.040 1195.600 803.440 ;
+ RECT 4.000 789.840 1196.000 802.040 ;
+ RECT 4.000 788.440 1195.600 789.840 ;
+ RECT 4.000 786.440 1196.000 788.440 ;
+ RECT 4.400 785.040 1196.000 786.440 ;
+ RECT 4.000 772.840 1196.000 785.040 ;
+ RECT 4.400 771.440 1195.600 772.840 ;
+ RECT 4.000 759.240 1196.000 771.440 ;
+ RECT 4.000 757.840 1195.600 759.240 ;
+ RECT 4.000 755.840 1196.000 757.840 ;
+ RECT 4.400 754.440 1196.000 755.840 ;
+ RECT 4.000 742.240 1196.000 754.440 ;
+ RECT 4.400 740.840 1195.600 742.240 ;
+ RECT 4.000 725.240 1196.000 740.840 ;
+ RECT 4.400 723.840 1195.600 725.240 ;
+ RECT 4.000 711.640 1196.000 723.840 ;
+ RECT 4.400 710.240 1195.600 711.640 ;
+ RECT 4.000 694.640 1196.000 710.240 ;
+ RECT 4.400 693.240 1195.600 694.640 ;
+ RECT 4.000 681.040 1196.000 693.240 ;
+ RECT 4.400 679.640 1195.600 681.040 ;
+ RECT 4.000 664.040 1196.000 679.640 ;
+ RECT 4.400 662.640 1195.600 664.040 ;
+ RECT 4.000 650.440 1196.000 662.640 ;
+ RECT 4.400 649.040 1195.600 650.440 ;
+ RECT 4.000 633.440 1196.000 649.040 ;
+ RECT 4.400 632.040 1195.600 633.440 ;
+ RECT 4.000 619.840 1196.000 632.040 ;
+ RECT 4.000 618.440 1195.600 619.840 ;
+ RECT 4.000 616.440 1196.000 618.440 ;
+ RECT 4.400 615.040 1196.000 616.440 ;
+ RECT 4.000 602.840 1196.000 615.040 ;
+ RECT 4.400 601.440 1195.600 602.840 ;
+ RECT 4.000 589.240 1196.000 601.440 ;
+ RECT 4.000 587.840 1195.600 589.240 ;
+ RECT 4.000 585.840 1196.000 587.840 ;
+ RECT 4.400 584.440 1196.000 585.840 ;
+ RECT 4.000 572.240 1196.000 584.440 ;
+ RECT 4.400 570.840 1195.600 572.240 ;
+ RECT 4.000 558.640 1196.000 570.840 ;
+ RECT 4.000 557.240 1195.600 558.640 ;
+ RECT 4.000 555.240 1196.000 557.240 ;
+ RECT 4.400 553.840 1196.000 555.240 ;
+ RECT 4.000 541.640 1196.000 553.840 ;
+ RECT 4.400 540.240 1195.600 541.640 ;
+ RECT 4.000 528.040 1196.000 540.240 ;
+ RECT 4.000 526.640 1195.600 528.040 ;
+ RECT 4.000 524.640 1196.000 526.640 ;
+ RECT 4.400 523.240 1196.000 524.640 ;
+ RECT 4.000 511.040 1196.000 523.240 ;
+ RECT 4.400 509.640 1195.600 511.040 ;
+ RECT 4.000 497.440 1196.000 509.640 ;
+ RECT 4.000 496.040 1195.600 497.440 ;
+ RECT 4.000 494.040 1196.000 496.040 ;
+ RECT 4.400 492.640 1196.000 494.040 ;
+ RECT 4.000 480.440 1196.000 492.640 ;
+ RECT 4.400 479.040 1195.600 480.440 ;
+ RECT 4.000 466.840 1196.000 479.040 ;
+ RECT 4.000 465.440 1195.600 466.840 ;
+ RECT 4.000 463.440 1196.000 465.440 ;
+ RECT 4.400 462.040 1196.000 463.440 ;
+ RECT 4.000 449.840 1196.000 462.040 ;
+ RECT 4.400 448.440 1195.600 449.840 ;
+ RECT 4.000 436.240 1196.000 448.440 ;
+ RECT 4.000 434.840 1195.600 436.240 ;
+ RECT 4.000 432.840 1196.000 434.840 ;
+ RECT 4.400 431.440 1196.000 432.840 ;
+ RECT 4.000 419.240 1196.000 431.440 ;
+ RECT 4.400 417.840 1195.600 419.240 ;
+ RECT 4.000 402.240 1196.000 417.840 ;
+ RECT 4.400 400.840 1195.600 402.240 ;
+ RECT 4.000 388.640 1196.000 400.840 ;
+ RECT 4.400 387.240 1195.600 388.640 ;
+ RECT 4.000 371.640 1196.000 387.240 ;
+ RECT 4.400 370.240 1195.600 371.640 ;
+ RECT 4.000 358.040 1196.000 370.240 ;
+ RECT 4.400 356.640 1195.600 358.040 ;
+ RECT 4.000 341.040 1196.000 356.640 ;
+ RECT 4.400 339.640 1195.600 341.040 ;
+ RECT 4.000 327.440 1196.000 339.640 ;
+ RECT 4.400 326.040 1195.600 327.440 ;
+ RECT 4.000 310.440 1196.000 326.040 ;
+ RECT 4.400 309.040 1195.600 310.440 ;
+ RECT 4.000 296.840 1196.000 309.040 ;
+ RECT 4.000 295.440 1195.600 296.840 ;
+ RECT 4.000 293.440 1196.000 295.440 ;
+ RECT 4.400 292.040 1196.000 293.440 ;
+ RECT 4.000 279.840 1196.000 292.040 ;
+ RECT 4.400 278.440 1195.600 279.840 ;
+ RECT 4.000 266.240 1196.000 278.440 ;
+ RECT 4.000 264.840 1195.600 266.240 ;
+ RECT 4.000 262.840 1196.000 264.840 ;
+ RECT 4.400 261.440 1196.000 262.840 ;
+ RECT 4.000 249.240 1196.000 261.440 ;
+ RECT 4.400 247.840 1195.600 249.240 ;
+ RECT 4.000 235.640 1196.000 247.840 ;
+ RECT 4.000 234.240 1195.600 235.640 ;
+ RECT 4.000 232.240 1196.000 234.240 ;
+ RECT 4.400 230.840 1196.000 232.240 ;
+ RECT 4.000 218.640 1196.000 230.840 ;
+ RECT 4.400 217.240 1195.600 218.640 ;
+ RECT 4.000 205.040 1196.000 217.240 ;
+ RECT 4.000 203.640 1195.600 205.040 ;
+ RECT 4.000 201.640 1196.000 203.640 ;
+ RECT 4.400 200.240 1196.000 201.640 ;
+ RECT 4.000 188.040 1196.000 200.240 ;
+ RECT 4.400 186.640 1195.600 188.040 ;
+ RECT 4.000 174.440 1196.000 186.640 ;
+ RECT 4.000 173.040 1195.600 174.440 ;
+ RECT 4.000 171.040 1196.000 173.040 ;
+ RECT 4.400 169.640 1196.000 171.040 ;
+ RECT 4.000 157.440 1196.000 169.640 ;
+ RECT 4.400 156.040 1195.600 157.440 ;
+ RECT 4.000 143.840 1196.000 156.040 ;
+ RECT 4.000 142.440 1195.600 143.840 ;
+ RECT 4.000 140.440 1196.000 142.440 ;
+ RECT 4.400 139.040 1196.000 140.440 ;
+ RECT 4.000 126.840 1196.000 139.040 ;
+ RECT 4.400 125.440 1195.600 126.840 ;
+ RECT 4.000 113.240 1196.000 125.440 ;
+ RECT 4.000 111.840 1195.600 113.240 ;
+ RECT 4.000 109.840 1196.000 111.840 ;
+ RECT 4.400 108.440 1196.000 109.840 ;
+ RECT 4.000 96.240 1196.000 108.440 ;
+ RECT 4.400 94.840 1195.600 96.240 ;
+ RECT 4.000 79.240 1196.000 94.840 ;
+ RECT 4.400 77.840 1195.600 79.240 ;
+ RECT 4.000 65.640 1196.000 77.840 ;
+ RECT 4.400 64.240 1195.600 65.640 ;
+ RECT 4.000 48.640 1196.000 64.240 ;
+ RECT 4.400 47.240 1195.600 48.640 ;
+ RECT 4.000 35.040 1196.000 47.240 ;
+ RECT 4.400 33.640 1195.600 35.040 ;
+ RECT 4.000 18.040 1196.000 33.640 ;
+ RECT 4.400 16.640 1195.600 18.040 ;
+ RECT 4.000 4.440 1196.000 16.640 ;
+ RECT 4.000 3.575 1195.600 4.440 ;
+ END
+END openram_testchip
+END LIBRARY
+
diff --git a/lef/sky130_sram_1kbyte_1rw1r_32x256_8.lef b/lef/sky130_sram_1kbyte_1rw1r_32x256_8.lef
new file mode 100644
index 0000000..11337b2
--- /dev/null
+++ b/lef/sky130_sram_1kbyte_1rw1r_32x256_8.lef
@@ -0,0 +1,1078 @@
+VERSION 5.4 ;
+NAMESCASESENSITIVE ON ;
+BUSBITCHARS "[]" ;
+DIVIDERCHAR "/" ;
+UNITS
+ DATABASE MICRONS 2000 ;
+END UNITS
+MACRO sky130_sram_1kbyte_1rw1r_32x256_8
+ CLASS BLOCK ;
+ SIZE 477.06 BY 396.14 ;
+ SYMMETRY X Y R90 ;
+ PIN din0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 105.4 0.0 105.78 0.38 ;
+ END
+ END din0[0]
+ PIN din0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 111.52 0.0 111.9 0.38 ;
+ END
+ END din0[1]
+ PIN din0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 116.96 0.0 117.34 0.38 ;
+ END
+ END din0[2]
+ PIN din0[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 123.76 0.0 124.14 0.38 ;
+ END
+ END din0[3]
+ PIN din0[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 129.2 0.0 129.58 0.38 ;
+ END
+ END din0[4]
+ PIN din0[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 134.64 0.0 135.02 0.38 ;
+ END
+ END din0[5]
+ PIN din0[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 140.08 0.0 140.46 0.38 ;
+ END
+ END din0[6]
+ PIN din0[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 146.88 0.0 147.26 0.38 ;
+ END
+ END din0[7]
+ PIN din0[8]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 152.32 0.0 152.7 0.38 ;
+ END
+ END din0[8]
+ PIN din0[9]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 157.76 0.0 158.14 0.38 ;
+ END
+ END din0[9]
+ PIN din0[10]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 163.88 0.0 164.26 0.38 ;
+ END
+ END din0[10]
+ PIN din0[11]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 169.32 0.0 169.7 0.38 ;
+ END
+ END din0[11]
+ PIN din0[12]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 176.12 0.0 176.5 0.38 ;
+ END
+ END din0[12]
+ PIN din0[13]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 181.56 0.0 181.94 0.38 ;
+ END
+ END din0[13]
+ PIN din0[14]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 187.0 0.0 187.38 0.38 ;
+ END
+ END din0[14]
+ PIN din0[15]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 193.12 0.0 193.5 0.38 ;
+ END
+ END din0[15]
+ PIN din0[16]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 199.92 0.0 200.3 0.38 ;
+ END
+ END din0[16]
+ PIN din0[17]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 205.36 0.0 205.74 0.38 ;
+ END
+ END din0[17]
+ PIN din0[18]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 210.8 0.0 211.18 0.38 ;
+ END
+ END din0[18]
+ PIN din0[19]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 216.24 0.0 216.62 0.38 ;
+ END
+ END din0[19]
+ PIN din0[20]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 223.04 0.0 223.42 0.38 ;
+ END
+ END din0[20]
+ PIN din0[21]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 228.48 0.0 228.86 0.38 ;
+ END
+ END din0[21]
+ PIN din0[22]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 233.92 0.0 234.3 0.38 ;
+ END
+ END din0[22]
+ PIN din0[23]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 240.04 0.0 240.42 0.38 ;
+ END
+ END din0[23]
+ PIN din0[24]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 245.48 0.0 245.86 0.38 ;
+ END
+ END din0[24]
+ PIN din0[25]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 252.28 0.0 252.66 0.38 ;
+ END
+ END din0[25]
+ PIN din0[26]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 257.72 0.0 258.1 0.38 ;
+ END
+ END din0[26]
+ PIN din0[27]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 263.16 0.0 263.54 0.38 ;
+ END
+ END din0[27]
+ PIN din0[28]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 268.6 0.0 268.98 0.38 ;
+ END
+ END din0[28]
+ PIN din0[29]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 274.72 0.0 275.1 0.38 ;
+ END
+ END din0[29]
+ PIN din0[30]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 281.52 0.0 281.9 0.38 ;
+ END
+ END din0[30]
+ PIN din0[31]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 286.96 0.0 287.34 0.38 ;
+ END
+ END din0[31]
+ PIN addr0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 76.16 0.0 76.54 0.38 ;
+ END
+ END addr0[0]
+ PIN addr0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 127.84 0.38 128.22 ;
+ END
+ END addr0[1]
+ PIN addr0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 136.0 0.38 136.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 155.04 0.38 155.42 ;
+ END
+ END addr0[5]
+ PIN addr0[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 163.88 0.38 164.26 ;
+ 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 addr1[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 395.76 395.76 396.14 396.14 ;
+ END
+ END addr1[0]
+ PIN addr1[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 476.68 82.28 477.06 82.66 ;
+ END
+ END addr1[1]
+ PIN addr1[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 476.68 74.12 477.06 74.5 ;
+ END
+ END addr1[2]
+ PIN addr1[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 476.68 68.0 477.06 68.38 ;
+ END
+ END addr1[3]
+ PIN addr1[4]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 414.12 0.0 414.5 0.38 ;
+ END
+ END addr1[4]
+ PIN addr1[5]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 412.08 0.0 412.46 0.38 ;
+ END
+ END addr1[5]
+ PIN addr1[6]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 412.76 0.0 413.14 0.38 ;
+ END
+ END addr1[6]
+ PIN addr1[7]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 413.44 0.0 413.82 0.38 ;
+ END
+ END addr1[7]
+ PIN csb0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 25.84 0.38 26.22 ;
+ END
+ END csb0
+ PIN csb1
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 476.68 382.16 477.06 382.54 ;
+ END
+ END csb1
+ PIN web0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met3 ;
+ RECT 0.0 34.68 0.38 35.06 ;
+ END
+ END web0
+ PIN clk0
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 27.88 0.0 28.26 0.38 ;
+ END
+ END clk0
+ PIN clk1
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 448.8 395.76 449.18 396.14 ;
+ END
+ END clk1
+ PIN wmask0[0]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 82.28 0.0 82.66 0.38 ;
+ END
+ END wmask0[0]
+ PIN wmask0[1]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 87.72 0.0 88.1 0.38 ;
+ END
+ END wmask0[1]
+ PIN wmask0[2]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 94.52 0.0 94.9 0.38 ;
+ END
+ END wmask0[2]
+ PIN wmask0[3]
+ DIRECTION INPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 99.28 0.0 99.66 0.38 ;
+ END
+ END wmask0[3]
+ PIN dout0[0]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 138.04 0.0 138.42 0.38 ;
+ END
+ END dout0[0]
+ PIN dout0[1]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 144.84 0.0 145.22 0.38 ;
+ END
+ END dout0[1]
+ PIN dout0[2]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 150.28 0.0 150.66 0.38 ;
+ END
+ END dout0[2]
+ PIN dout0[3]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 158.44 0.0 158.82 0.38 ;
+ END
+ END dout0[3]
+ PIN dout0[4]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 164.56 0.0 164.94 0.38 ;
+ END
+ END dout0[4]
+ PIN dout0[5]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 170.68 0.0 171.06 0.38 ;
+ END
+ END dout0[5]
+ PIN dout0[6]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 176.8 0.0 177.18 0.38 ;
+ END
+ END dout0[6]
+ PIN dout0[7]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 182.92 0.0 183.3 0.38 ;
+ END
+ END dout0[7]
+ PIN dout0[8]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 187.68 0.0 188.06 0.38 ;
+ END
+ END dout0[8]
+ PIN dout0[9]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 195.16 0.0 195.54 0.38 ;
+ END
+ END dout0[9]
+ PIN dout0[10]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 201.96 0.0 202.34 0.38 ;
+ END
+ END dout0[10]
+ PIN dout0[11]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 208.08 0.0 208.46 0.38 ;
+ END
+ END dout0[11]
+ PIN dout0[12]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 214.2 0.0 214.58 0.38 ;
+ END
+ END dout0[12]
+ PIN dout0[13]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 220.32 0.0 220.7 0.38 ;
+ END
+ END dout0[13]
+ PIN dout0[14]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 226.44 0.0 226.82 0.38 ;
+ END
+ END dout0[14]
+ PIN dout0[15]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 231.88 0.0 232.26 0.38 ;
+ END
+ END dout0[15]
+ PIN dout0[16]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 238.0 0.0 238.38 0.38 ;
+ END
+ END dout0[16]
+ PIN dout0[17]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 244.12 0.0 244.5 0.38 ;
+ END
+ END dout0[17]
+ PIN dout0[18]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 251.6 0.0 251.98 0.38 ;
+ END
+ END dout0[18]
+ PIN dout0[19]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 255.68 0.0 256.06 0.38 ;
+ END
+ END dout0[19]
+ PIN dout0[20]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 264.52 0.0 264.9 0.38 ;
+ END
+ END dout0[20]
+ PIN dout0[21]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 270.64 0.0 271.02 0.38 ;
+ END
+ END dout0[21]
+ PIN dout0[22]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 276.76 0.0 277.14 0.38 ;
+ END
+ END dout0[22]
+ PIN dout0[23]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 282.88 0.0 283.26 0.38 ;
+ END
+ END dout0[23]
+ PIN dout0[24]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 287.64 0.0 288.02 0.38 ;
+ END
+ END dout0[24]
+ PIN dout0[25]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 295.12 0.0 295.5 0.38 ;
+ END
+ END dout0[25]
+ PIN dout0[26]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 301.24 0.0 301.62 0.38 ;
+ END
+ END dout0[26]
+ PIN dout0[27]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 308.04 0.0 308.42 0.38 ;
+ END
+ END dout0[27]
+ PIN dout0[28]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 314.16 0.0 314.54 0.38 ;
+ END
+ END dout0[28]
+ PIN dout0[29]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 320.28 0.0 320.66 0.38 ;
+ END
+ END dout0[29]
+ PIN dout0[30]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 326.4 0.0 326.78 0.38 ;
+ END
+ END dout0[30]
+ PIN dout0[31]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 332.52 0.0 332.9 0.38 ;
+ END
+ END dout0[31]
+ PIN dout1[0]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 139.4 395.76 139.78 396.14 ;
+ END
+ END dout1[0]
+ PIN dout1[1]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 146.2 395.76 146.58 396.14 ;
+ END
+ END dout1[1]
+ PIN dout1[2]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 151.64 395.76 152.02 396.14 ;
+ END
+ END dout1[2]
+ PIN dout1[3]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 158.44 395.76 158.82 396.14 ;
+ END
+ END dout1[3]
+ PIN dout1[4]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 164.56 395.76 164.94 396.14 ;
+ END
+ END dout1[4]
+ PIN dout1[5]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 171.36 395.76 171.74 396.14 ;
+ END
+ END dout1[5]
+ PIN dout1[6]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 177.48 395.76 177.86 396.14 ;
+ END
+ END dout1[6]
+ PIN dout1[7]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 182.92 395.76 183.3 396.14 ;
+ END
+ END dout1[7]
+ PIN dout1[8]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 189.72 395.76 190.1 396.14 ;
+ END
+ END dout1[8]
+ PIN dout1[9]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 195.16 395.76 195.54 396.14 ;
+ END
+ END dout1[9]
+ PIN dout1[10]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 201.96 395.76 202.34 396.14 ;
+ END
+ END dout1[10]
+ PIN dout1[11]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 208.08 395.76 208.46 396.14 ;
+ END
+ END dout1[11]
+ PIN dout1[12]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 214.88 395.76 215.26 396.14 ;
+ END
+ END dout1[12]
+ PIN dout1[13]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 220.32 395.76 220.7 396.14 ;
+ END
+ END dout1[13]
+ PIN dout1[14]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 226.44 395.76 226.82 396.14 ;
+ END
+ END dout1[14]
+ PIN dout1[15]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 233.24 395.76 233.62 396.14 ;
+ END
+ END dout1[15]
+ PIN dout1[16]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 239.36 395.76 239.74 396.14 ;
+ END
+ END dout1[16]
+ PIN dout1[17]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 246.16 395.76 246.54 396.14 ;
+ END
+ END dout1[17]
+ PIN dout1[18]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 251.6 395.76 251.98 396.14 ;
+ END
+ END dout1[18]
+ PIN dout1[19]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 258.4 395.76 258.78 396.14 ;
+ END
+ END dout1[19]
+ PIN dout1[20]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 263.84 395.76 264.22 396.14 ;
+ END
+ END dout1[20]
+ PIN dout1[21]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 269.96 395.76 270.34 396.14 ;
+ END
+ END dout1[21]
+ PIN dout1[22]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 276.76 395.76 277.14 396.14 ;
+ END
+ END dout1[22]
+ PIN dout1[23]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 282.88 395.76 283.26 396.14 ;
+ END
+ END dout1[23]
+ PIN dout1[24]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 289.68 395.76 290.06 396.14 ;
+ END
+ END dout1[24]
+ PIN dout1[25]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 295.12 395.76 295.5 396.14 ;
+ END
+ END dout1[25]
+ PIN dout1[26]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 301.92 395.76 302.3 396.14 ;
+ END
+ END dout1[26]
+ PIN dout1[27]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 308.04 395.76 308.42 396.14 ;
+ END
+ END dout1[27]
+ PIN dout1[28]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 314.84 395.76 315.22 396.14 ;
+ END
+ END dout1[28]
+ PIN dout1[29]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 320.28 395.76 320.66 396.14 ;
+ END
+ END dout1[29]
+ PIN dout1[30]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 326.4 395.76 326.78 396.14 ;
+ END
+ END dout1[30]
+ PIN dout1[31]
+ DIRECTION OUTPUT ;
+ PORT
+ LAYER met4 ;
+ RECT 333.2 395.76 333.58 396.14 ;
+ END
+ END dout1[31]
+ PIN vccd1
+ DIRECTION INOUT ;
+ USE POWER ;
+ SHAPE ABUTMENT ;
+ PORT
+ LAYER met4 ;
+ RECT 473.28 2.04 475.02 394.1 ;
+ LAYER met4 ;
+ RECT 2.04 2.04 3.78 394.1 ;
+ LAYER met3 ;
+ RECT 2.04 2.04 475.02 3.78 ;
+ LAYER met3 ;
+ RECT 2.04 392.36 475.02 394.1 ;
+ END
+ END vccd1
+ PIN vssd1
+ DIRECTION INOUT ;
+ USE GROUND ;
+ SHAPE ABUTMENT ;
+ PORT
+ LAYER met4 ;
+ RECT 469.88 5.44 471.62 390.7 ;
+ LAYER met4 ;
+ RECT 5.44 5.44 7.18 390.7 ;
+ LAYER met3 ;
+ RECT 5.44 388.96 471.62 390.7 ;
+ LAYER met3 ;
+ RECT 5.44 5.44 471.62 7.18 ;
+ END
+ END vssd1
+ OBS
+ LAYER met1 ;
+ RECT 0.62 0.62 476.44 395.52 ;
+ LAYER met2 ;
+ RECT 0.62 0.62 476.44 395.52 ;
+ LAYER met3 ;
+ RECT 0.98 127.24 476.44 128.82 ;
+ RECT 0.62 128.82 0.98 135.4 ;
+ RECT 0.62 136.98 0.98 140.84 ;
+ RECT 0.62 142.42 0.98 149.0 ;
+ RECT 0.62 150.58 0.98 154.44 ;
+ RECT 0.62 156.02 0.98 163.28 ;
+ RECT 0.62 164.86 0.98 168.72 ;
+ RECT 0.62 170.3 0.98 395.52 ;
+ RECT 0.98 81.68 476.08 83.26 ;
+ RECT 0.98 83.26 476.08 127.24 ;
+ RECT 476.08 83.26 476.44 127.24 ;
+ RECT 476.08 75.1 476.44 81.68 ;
+ RECT 476.08 0.62 476.44 67.4 ;
+ RECT 476.08 68.98 476.44 73.52 ;
+ RECT 0.62 0.62 0.98 25.24 ;
+ RECT 0.98 128.82 476.08 381.56 ;
+ RECT 0.98 381.56 476.08 383.14 ;
+ RECT 476.08 128.82 476.44 381.56 ;
+ RECT 476.08 383.14 476.44 395.52 ;
+ RECT 0.62 26.82 0.98 34.08 ;
+ RECT 0.62 35.66 0.98 127.24 ;
+ RECT 0.98 0.62 1.44 1.44 ;
+ RECT 0.98 1.44 1.44 4.38 ;
+ RECT 0.98 4.38 1.44 81.68 ;
+ RECT 1.44 0.62 475.62 1.44 ;
+ RECT 475.62 0.62 476.08 1.44 ;
+ RECT 475.62 1.44 476.08 4.38 ;
+ RECT 475.62 4.38 476.08 81.68 ;
+ RECT 0.98 383.14 1.44 391.76 ;
+ RECT 0.98 391.76 1.44 394.7 ;
+ RECT 0.98 394.7 1.44 395.52 ;
+ RECT 1.44 394.7 475.62 395.52 ;
+ RECT 475.62 383.14 476.08 391.76 ;
+ RECT 475.62 391.76 476.08 394.7 ;
+ RECT 475.62 394.7 476.08 395.52 ;
+ RECT 1.44 383.14 4.84 388.36 ;
+ RECT 1.44 388.36 4.84 391.3 ;
+ RECT 1.44 391.3 4.84 391.76 ;
+ RECT 4.84 383.14 472.22 388.36 ;
+ RECT 4.84 391.3 472.22 391.76 ;
+ RECT 472.22 383.14 475.62 388.36 ;
+ RECT 472.22 388.36 475.62 391.3 ;
+ RECT 472.22 391.3 475.62 391.76 ;
+ RECT 1.44 4.38 4.84 4.84 ;
+ RECT 1.44 4.84 4.84 7.78 ;
+ RECT 1.44 7.78 4.84 81.68 ;
+ RECT 4.84 4.38 472.22 4.84 ;
+ RECT 4.84 7.78 472.22 81.68 ;
+ RECT 472.22 4.38 475.62 4.84 ;
+ RECT 472.22 4.84 475.62 7.78 ;
+ RECT 472.22 7.78 475.62 81.68 ;
+ LAYER met4 ;
+ RECT 104.8 0.98 106.38 395.52 ;
+ RECT 106.38 0.62 110.92 0.98 ;
+ RECT 112.5 0.62 116.36 0.98 ;
+ RECT 117.94 0.62 123.16 0.98 ;
+ RECT 124.74 0.62 128.6 0.98 ;
+ RECT 130.18 0.62 134.04 0.98 ;
+ RECT 153.3 0.62 157.16 0.98 ;
+ RECT 258.7 0.62 262.56 0.98 ;
+ RECT 106.38 0.98 395.16 395.16 ;
+ RECT 395.16 0.98 396.74 395.16 ;
+ RECT 415.1 0.62 476.44 0.98 ;
+ RECT 0.62 0.62 27.28 0.98 ;
+ RECT 28.86 0.62 75.56 0.98 ;
+ RECT 396.74 395.16 448.2 395.52 ;
+ RECT 449.78 395.16 476.44 395.52 ;
+ RECT 77.14 0.62 81.68 0.98 ;
+ RECT 83.26 0.62 87.12 0.98 ;
+ RECT 88.7 0.62 93.92 0.98 ;
+ RECT 95.5 0.62 98.68 0.98 ;
+ RECT 100.26 0.62 104.8 0.98 ;
+ RECT 135.62 0.62 137.44 0.98 ;
+ RECT 139.02 0.62 139.48 0.98 ;
+ RECT 141.06 0.62 144.24 0.98 ;
+ RECT 145.82 0.62 146.28 0.98 ;
+ RECT 147.86 0.62 149.68 0.98 ;
+ RECT 151.26 0.62 151.72 0.98 ;
+ RECT 159.42 0.62 163.28 0.98 ;
+ RECT 165.54 0.62 168.72 0.98 ;
+ RECT 171.66 0.62 175.52 0.98 ;
+ RECT 177.78 0.62 180.96 0.98 ;
+ RECT 183.9 0.62 186.4 0.98 ;
+ RECT 188.66 0.62 192.52 0.98 ;
+ RECT 194.1 0.62 194.56 0.98 ;
+ RECT 196.14 0.62 199.32 0.98 ;
+ RECT 200.9 0.62 201.36 0.98 ;
+ RECT 202.94 0.62 204.76 0.98 ;
+ RECT 206.34 0.62 207.48 0.98 ;
+ RECT 209.06 0.62 210.2 0.98 ;
+ RECT 211.78 0.62 213.6 0.98 ;
+ RECT 215.18 0.62 215.64 0.98 ;
+ RECT 217.22 0.62 219.72 0.98 ;
+ RECT 221.3 0.62 222.44 0.98 ;
+ RECT 224.02 0.62 225.84 0.98 ;
+ RECT 227.42 0.62 227.88 0.98 ;
+ RECT 229.46 0.62 231.28 0.98 ;
+ RECT 232.86 0.62 233.32 0.98 ;
+ RECT 234.9 0.62 237.4 0.98 ;
+ RECT 238.98 0.62 239.44 0.98 ;
+ RECT 241.02 0.62 243.52 0.98 ;
+ RECT 246.46 0.62 251.0 0.98 ;
+ RECT 253.26 0.62 255.08 0.98 ;
+ RECT 256.66 0.62 257.12 0.98 ;
+ RECT 265.5 0.62 268.0 0.98 ;
+ RECT 269.58 0.62 270.04 0.98 ;
+ RECT 271.62 0.62 274.12 0.98 ;
+ RECT 275.7 0.62 276.16 0.98 ;
+ RECT 277.74 0.62 280.92 0.98 ;
+ RECT 283.86 0.62 286.36 0.98 ;
+ RECT 288.62 0.62 294.52 0.98 ;
+ RECT 296.1 0.62 300.64 0.98 ;
+ RECT 302.22 0.62 307.44 0.98 ;
+ RECT 309.02 0.62 313.56 0.98 ;
+ RECT 315.14 0.62 319.68 0.98 ;
+ RECT 321.26 0.62 325.8 0.98 ;
+ RECT 327.38 0.62 331.92 0.98 ;
+ RECT 333.5 0.62 411.48 0.98 ;
+ RECT 106.38 395.16 138.8 395.52 ;
+ RECT 140.38 395.16 145.6 395.52 ;
+ RECT 147.18 395.16 151.04 395.52 ;
+ RECT 152.62 395.16 157.84 395.52 ;
+ RECT 159.42 395.16 163.96 395.52 ;
+ RECT 165.54 395.16 170.76 395.52 ;
+ RECT 172.34 395.16 176.88 395.52 ;
+ RECT 178.46 395.16 182.32 395.52 ;
+ RECT 183.9 395.16 189.12 395.52 ;
+ RECT 190.7 395.16 194.56 395.52 ;
+ RECT 196.14 395.16 201.36 395.52 ;
+ RECT 202.94 395.16 207.48 395.52 ;
+ RECT 209.06 395.16 214.28 395.52 ;
+ RECT 215.86 395.16 219.72 395.52 ;
+ RECT 221.3 395.16 225.84 395.52 ;
+ RECT 227.42 395.16 232.64 395.52 ;
+ RECT 234.22 395.16 238.76 395.52 ;
+ RECT 240.34 395.16 245.56 395.52 ;
+ RECT 247.14 395.16 251.0 395.52 ;
+ RECT 252.58 395.16 257.8 395.52 ;
+ RECT 259.38 395.16 263.24 395.52 ;
+ RECT 264.82 395.16 269.36 395.52 ;
+ RECT 270.94 395.16 276.16 395.52 ;
+ RECT 277.74 395.16 282.28 395.52 ;
+ RECT 283.86 395.16 289.08 395.52 ;
+ RECT 290.66 395.16 294.52 395.52 ;
+ RECT 296.1 395.16 301.32 395.52 ;
+ RECT 302.9 395.16 307.44 395.52 ;
+ RECT 309.02 395.16 314.24 395.52 ;
+ RECT 315.82 395.16 319.68 395.52 ;
+ RECT 321.26 395.16 325.8 395.52 ;
+ RECT 327.38 395.16 332.6 395.52 ;
+ RECT 334.18 395.16 395.16 395.52 ;
+ RECT 396.74 0.98 472.68 1.44 ;
+ RECT 396.74 394.7 472.68 395.16 ;
+ RECT 472.68 0.98 475.62 1.44 ;
+ RECT 472.68 394.7 475.62 395.16 ;
+ RECT 475.62 0.98 476.44 1.44 ;
+ RECT 475.62 1.44 476.44 394.7 ;
+ RECT 475.62 394.7 476.44 395.16 ;
+ RECT 0.62 0.98 1.44 1.44 ;
+ RECT 0.62 1.44 1.44 394.7 ;
+ RECT 0.62 394.7 1.44 395.52 ;
+ RECT 1.44 0.98 4.38 1.44 ;
+ RECT 1.44 394.7 4.38 395.52 ;
+ RECT 4.38 0.98 104.8 1.44 ;
+ RECT 4.38 394.7 104.8 395.52 ;
+ RECT 396.74 1.44 469.28 4.84 ;
+ RECT 396.74 4.84 469.28 391.3 ;
+ RECT 396.74 391.3 469.28 394.7 ;
+ RECT 469.28 1.44 472.22 4.84 ;
+ RECT 469.28 391.3 472.22 394.7 ;
+ RECT 472.22 1.44 472.68 4.84 ;
+ RECT 472.22 4.84 472.68 391.3 ;
+ RECT 472.22 391.3 472.68 394.7 ;
+ RECT 4.38 1.44 4.84 4.84 ;
+ RECT 4.38 4.84 4.84 391.3 ;
+ RECT 4.38 391.3 4.84 394.7 ;
+ RECT 4.84 1.44 7.78 4.84 ;
+ RECT 4.84 391.3 7.78 394.7 ;
+ RECT 7.78 1.44 104.8 4.84 ;
+ RECT 7.78 4.84 104.8 391.3 ;
+ RECT 7.78 391.3 104.8 394.7 ;
+ END
+END sky130_sram_1kbyte_1rw1r_32x256_8
+END LIBRARY
diff --git a/openlane/openram_testchip/config.tcl b/openlane/openram_testchip/config.tcl
new file mode 100644
index 0000000..04304b9
--- /dev/null
+++ b/openlane/openram_testchip/config.tcl
@@ -0,0 +1,35 @@
+set script_dir [file dirname [file normalize [info script]]]
+
+set ::env(DESIGN_NAME) openram_testchip
+
+set ::env(DESIGN_IS_CORE) 0
+set ::env(FP_PDN_CORE_RING) 0
+set ::env(GLB_RT_MAXLAYER) 5
+
+set ::env(VERILOG_FILES) "$script_dir/../../verilog/rtl/testchip/openram_testchip.v"
+
+set ::env(CLOCK_PORT) "clock"
+set ::env(CLOCK_PERIOD) "10"
+
+# Fill this
+set ::env(DESIGN_IS_CORE) 0
+set ::env(FP_PDN_CORE_RING) 0
+set ::env(GLB_RT_MAXLAYER) 5
+
+set ::env(FP_SIZING) absolute
+set ::env(DIE_AREA) "0 0 1200 1200"
+
+set ::env(PL_OPENPHYSYN_OPTIMIZATIONS) 0
+set ::env(PL_RANDOM_GLB_PLACEMENT) 1
+set ::env(PL_BASIC_PLACEMENT) 1
+set ::env(PL_TARGET_DENSITY) 0.99
+
+# Power config
+set ::env(PDN_CFG) $script_dir/pdn.tcl
+
+set filename $::env(DESIGN_DIR)/$::env(PDK)_$::env(STD_CELL_LIBRARY)_config.tcl
+if { [file exists $filename] == 1} {
+ source $filename
+}
+
+
diff --git a/openlane/openram_testchip/pdn.tcl b/openlane/openram_testchip/pdn.tcl
new file mode 100644
index 0000000..4ce71c4
--- /dev/null
+++ b/openlane/openram_testchip/pdn.tcl
@@ -0,0 +1,34 @@
+# Power nets
+set ::power_nets $::env(VDD_PIN)
+set ::ground_nets $::env(GND_PIN)
+
+set ::macro_blockage_layer_list "li1 met1 met2 met3 met4 met5"
+
+pdngen::specify_grid stdcell {
+ name grid
+ rails {
+ met1 {width 0.48 pitch $::env(PLACE_SITE_HEIGHT) offset 0}
+ }
+ straps {
+ met4 {width 1.6 pitch $::env(FP_PDN_VPITCH) offset $::env(FP_PDN_VOFFSET)}
+ met5 {width 1.6 pitch $::env(FP_PDN_HPITCH) offset $::env(FP_PDN_HOFFSET)}
+ }
+ connect {{met1 met4} {met4 met5}}
+}
+
+pdngen::specify_grid macro {
+ power_pins "VPWR VDD vdd"
+ ground_pins "VGND VSS gnd"
+ blockages "li1 met1 met2 met3 met4"
+ straps {
+ }
+ connect {{met4_PIN_ver met5} {met3_PIN_hor met5}}
+}
+
+set ::halo $::env(FP_HORIZONTAL_HALO)
+
+# POWER or GROUND #Std. cell rails starting with power or ground rails at the bottom of the core area
+set ::rails_start_with "POWER" ;
+
+# POWER or GROUND #Upper metal stripes starting with power or ground rails at the left/bottom of the core area
+set ::stripes_start_with "POWER" ;
\ No newline at end of file
diff --git a/openlane/user_project_wrapper/config.tcl b/openlane/user_project_wrapper/config.tcl
index 330cf57..0bc78f8 100755
--- a/openlane/user_project_wrapper/config.tcl
+++ b/openlane/user_project_wrapper/config.tcl
@@ -27,11 +27,12 @@
## Source Verilog Files
set ::env(VERILOG_FILES) "\
$script_dir/../../caravel/verilog/rtl/defines.v \
- $script_dir/../../verilog/rtl/user_project_wrapper.v"
+ $script_dir/../../verilog/rtl/user_project_wrapper.v \
+ $script_dir/../../verilog/rtl/testchip/openram_testchip.v"
## Clock configurations
-set ::env(CLOCK_PORT) "user_clock2"
-set ::env(CLOCK_NET) "mprj.clk"
+set ::env(CLOCK_PORT) "wb_clk_i"
+set ::env(CLOCK_NET) "wb_clk_i"
set ::env(CLOCK_PERIOD) "10"
@@ -42,28 +43,30 @@
### Black-box verilog and views
set ::env(VERILOG_FILES_BLACKBOX) "\
$script_dir/../../caravel/verilog/rtl/defines.v \
- $script_dir/../../verilog/rtl/user_proj_example.v"
+ $script_dir/../../verilog/rtl/sky130_sram_1kbyte_1rw1r_32x256_8.v"
set ::env(EXTRA_LEFS) "\
- $script_dir/../../lef/user_proj_example.lef"
+ $script_dir/../../lef/user_project_wrapper.lef \
+ $script_dir/../../lef/sky130_sram_1kbyte_1rw1r_32x256_8.lef"
set ::env(EXTRA_GDS_FILES) "\
- $script_dir/../../gds/user_proj_example.gds"
+ $script_dir/../../gds/user_project_wrapper.gds \
+ $script_dir/../../lef/sky130_sram_1kbyte_1rw1r_32x256_8.gds"
set ::env(GLB_RT_MAXLAYER) 5
set ::env(FP_PDN_CHECK_NODES) 0
+# Power config
+#set ::env(PDN_CFG) $script_dir/pdn.tcl
-# The following is because there are no std cells in the example wrapper project.
-set ::env(SYNTH_TOP_LEVEL) 1
+#set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg
+
+# Placement config
+set ::env(PL_OPENPHYSYN_OPTIMIZATIONS) 0
set ::env(PL_RANDOM_GLB_PLACEMENT) 1
+set ::env(PL_BASIC_PLACEMENT) 1
+set ::env(PL_TARGET_DENSITY) 0.99
-set ::env(PL_RESIZER_DESIGN_OPTIMIZATIONS) 0
-set ::env(PL_RESIZER_TIMING_OPTIMIZATIONS) 0
-set ::env(PL_RESIZER_BUFFER_INPUT_PORTS) 0
-set ::env(PL_RESIZER_BUFFER_OUTPUT_PORTS) 0
+set ::env(MAGIC_DRC_USE_GDS) 0
-set ::env(DIODE_INSERTION_STRATEGY) 0
-set ::env(FILL_INSERTION) 0
-set ::env(TAP_DECAP_INSERTION) 0
-set ::env(CLOCK_TREE_SYNTH) 0
+set ::env(RUN_CVC) 0
diff --git a/openlane/user_project_wrapper/macro.cfg b/openlane/user_project_wrapper/macro.cfg
index a7365ab..3ff2863 100644
--- a/openlane/user_project_wrapper/macro.cfg
+++ b/openlane/user_project_wrapper/macro.cfg
@@ -1 +1,2 @@
-mprj 1175 1690 N
+SRAM0 75 51.805 N
+SRAM1 75 522.040 N
diff --git a/verilog/rtl/sky130_sram_1kbyte_1rw1r_32x256_8.v b/verilog/rtl/sky130_sram_1kbyte_1rw1r_32x256_8.v
new file mode 100644
index 0000000..fe885ed
--- /dev/null
+++ b/verilog/rtl/sky130_sram_1kbyte_1rw1r_32x256_8.v
@@ -0,0 +1,114 @@
+// OpenRAM SRAM model
+// Words: 256
+// Word size: 32
+// Write size: 8
+
+module sky130_sram_1kbyte_1rw1r_32x256_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 = 8 ;
+ 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/testchip/control_logic.v b/verilog/rtl/testchip/control_logic.v
index 1e5f8d7..c7719e3 100644
--- a/verilog/rtl/testchip/control_logic.v
+++ b/verilog/rtl/testchip/control_logic.v
@@ -2,6 +2,7 @@
module SRAM_IN(
input clk_in,
+ input rst,
input chip_select,
input [54:0] packet,
@@ -32,16 +33,40 @@
reg [54:0] in_packet;
reg cs;
-always @(packet) begin
- in_packet <= packet[54:0];
- cs <= chip_select;
+always @(posedge clk_in or rst) begin
+ if(rst) begin
+ in_packet <= 55'b0;
+ cs <= 0;
+ end
+ else begin
+ in_packet <= packet[54:0];
+ cs <= chip_select;
+ end
end
//Forward input bits to proper SRAM and
//0's to other SRAM pins
-always @(in_packet, cs) begin
- case(cs)
- 1'b0 : begin
+always @(posedge clk_in, rst) begin
+ if(rst) begin
+ mgmt_ena0 <= 1'b1;
+ mgmt_wen0 <= 1'b1;
+ mgmt_wen_mask0 <= 4'b0000;
+ mgmt_addr0 <= 8'd0;
+ mgmt_wdata0 = 32'd0;
+ mgmt_ena_ro0 = 1'b1;
+ mgmt_addr_ro0 = 8'd0;
+
+ mgmt_ena1 <= 1'b1;
+ mgmt_wen1 <= 1'b1;
+ mgmt_wen_mask1 <= 4'b0000;
+ mgmt_addr1 <= 8'd0;
+ mgmt_wdata1 = 32'd0;
+ mgmt_ena_ro1 = 1'b1;
+ mgmt_addr_ro1 = 8'd0;
+ end
+ else begin
+ case(cs)
+ 1'b0 : begin
mgmt_ena0 <= in_packet[54];
mgmt_wen0 <= in_packet[53];
mgmt_wen_mask0 <= in_packet[52:49];
@@ -55,7 +80,7 @@
mgmt_wen_mask1 <= 4'b0000;
mgmt_addr1 <= 8'd0;
mgmt_wdata1 = 32'd0;
- mgmt_ena_ro1 = 1'b0;
+ mgmt_ena_ro1 = 1'b1;
mgmt_addr_ro1 = 8'd0;
end
@@ -76,13 +101,14 @@
mgmt_ena_ro0 = 1'b0;
mgmt_addr_ro0 = 8'd0;
end
-
endcase
-
+ end
end
endmodule
module SRAM_DATA(
+ input clk_in,
+ input rst,
input csb0,
input csb1,
input [31:0] dout0,
@@ -91,15 +117,27 @@
);
//Mux out values from SRAM Ports
-always @(dout0, dout1) begin
+//always @(posedge clk_in or rst) begin
+always @(dout0 or dout1) begin
if(csb0 == 0)
sram_data <= dout0;
else if(csb1 == 0)
sram_data <= dout1;
end
+
+always @(posedge clk_in or rst) begin
+ if(rst) begin
+ sram_data <= 32'd0;
+ end
+ else begin
+ sram_data <= sram_data;
+ end
+end
endmodule
module SRAM_OUT(
+ input clk_in,
+ input rst,
input chip_select,
input [31:0] sram0_data,
input [31:0] sram1_data,
@@ -108,11 +146,22 @@
//Mux read values from different SRAMS
//and send to picorv
-always @(sram0_data, sram1_data) begin
+always @(sram0_data or sram1_data) begin
if(chip_select == 0)
sram_contents <= sram0_data;
else if(chip_select == 1)
sram_contents <= sram1_data;
end
+
+always @(posedge clk_in or rst) begin
+ if(rst) begin
+ sram_contents <= 32'd0;
+ end
+ else begin
+ sram_contents <= sram_contents;
+ end
+end
+
+
endmodule
`default_nettype wire
\ No newline at end of file
diff --git a/verilog/rtl/testchip/control_logic_tb.v b/verilog/rtl/testchip/control_logic_tb.v
index 5ddb35c..8272688 100644
--- a/verilog/rtl/testchip/control_logic_tb.v
+++ b/verilog/rtl/testchip/control_logic_tb.v
@@ -12,6 +12,7 @@
module control_logic_tb;
reg clk_in;
+reg rst;
reg chip_select;
reg [54:0] packet;
@@ -48,6 +49,7 @@
//Instantitate port connections
SRAM_IN in_control(.clk_in(clk_in),
+ .rst(rst),
.chip_select(chip_select),
.packet(packet),
.mgmt_ena0(mgmt_ena0),
@@ -84,7 +86,7 @@
sky130_sram_1kbyte_1rw1r_32x256_8 SRAM_1 (
// MGMT R/W port
- .clk0(clk_in),
+ .clk0(clk_in),
.csb0(mgmt_ena1),
.web0(mgmt_wen1),
.wmask0(mgmt_wen_mask1),
@@ -98,24 +100,33 @@
.dout1(mgmt_rdata_ro1)
);
-SRAM_DATA sram0_out(.csb0(packet[54]),
+SRAM_DATA sram0_out(
+ .clk_in(clk_in),
+ .rst(rst),
+ .csb0(packet[54]),
.csb1(packet[8]),
.dout0(mgmt_rdata0),
.dout1(mgmt_rdata_ro0),
.sram_data(sram0_data)
);
-SRAM_DATA sram1_out(.csb0(packet[54]),
+SRAM_DATA sram1_out(
+ .clk_in(clk_in),
+ .rst(rst),
+ .csb0(packet[54]),
.csb1(packet[8]),
.dout0(mgmt_rdata1),
.dout1(mgmt_rdata_ro1),
.sram_data(sram1_data)
);
-SRAM_OUT out_control(.chip_select(chip_select),
- .sram0_data(sram0_data),
- .sram1_data(sram1_data),
- .sram_contents(read_data)
+SRAM_OUT out_control(
+ .clk_in(clk_in),
+ .rst(rst),
+ .chip_select(chip_select),
+ .sram0_data(sram0_data),
+ .sram1_data(sram1_data),
+ .sram_contents(read_data)
);
@@ -123,13 +134,14 @@
$dumpfile("control_logic_tb.vcd");
$dumpvars(0, control_logic_tb);
clk_in = 1;
+ rst = 0;
chip_select = 0;
packet = 55'd0;
//Write 1 to address 1 in SRAM 0
packet = {1'b0, 1'b0, 4'd15, 8'd1, 32'd1, 1'b0, 8'd0};
//Check each output is being sent properly to SRAM
- #10;
+ #15;
`assert(mgmt_ena0, 1'b0);
`assert(mgmt_wen0, 1'b0);
`assert(mgmt_wen_mask0, 4'd15);
@@ -140,11 +152,13 @@
`assert(mgmt_ena_ro0, 1'b0);
`assert(mgmt_addr_ro0, 8'd0);
- #10
+ //Disable write enable after write
+ packet = {1'b0, 1'b1, 4'd15, 8'd1, 32'd1, 1'b0, 8'd0};
+ #20
//Read from address 1 in SRAM 0
packet = {1'b0, 1'b1, 4'd0, 8'd1, 32'd0, 1'b1, 8'd0};
- #10;
+ #20;
`assert(mgmt_ena0, 1'b0);
`assert(mgmt_wen0, 1'b1);
@@ -156,15 +170,16 @@
`assert(mgmt_ena_ro0, 1'b1);
`assert(mgmt_addr_ro0, 8'd0);
- #10
+ #15
`assert(read_data, 32'd1);
+
chip_select = 1;
//Write to address 2 in SRAM 1
packet = {1'b0, 1'b0, 4'd15, 8'd2, 32'd2, 1'b0, 8'd0};
//Check each output is being sent properly to SRAM
- #10;
+ #15;
`assert(mgmt_ena1, 1'b0);
`assert(mgmt_wen1, 1'b0);
`assert(mgmt_wen_mask1, 4'd15);
@@ -174,10 +189,14 @@
//RO Port
`assert(mgmt_ena_ro1, 1'b0);
`assert(mgmt_addr_ro1, 8'd0);
-
+
+ //Disable write enable after write
+ packet = {1'b0, 1'b1, 4'd15, 8'd2, 32'd2, 1'b0, 8'd0};
+ #20
+
//Read from address 2 in SRAM 1
packet = {1'b0, 1'b1, 4'd0, 8'd2, 32'd0, 1'b1, 8'd0};
- #10;
+ #20;
`assert(mgmt_ena1, 1'b0);
`assert(mgmt_wen1, 1'b1);
@@ -189,8 +208,9 @@
`assert(mgmt_ena_ro1, 1'b1);
`assert(mgmt_addr_ro1, 8'd0);
- #10
+ #15
`assert(read_data, 32'd2);
+
#100;$finish;
end
diff --git a/verilog/rtl/testchip/openram_testchip.v b/verilog/rtl/testchip/openram_testchip.v
index 1443944..9857a74 100644
--- a/verilog/rtl/testchip/openram_testchip.v
+++ b/verilog/rtl/testchip/openram_testchip.v
@@ -1,134 +1,94 @@
-`default_nettype none
-`include "control_logic.v"
-`include "sky130_sram_1kbyte_1rw1r_32x256_8.v"
-
-module TEST_CHIP(
- input clk_in,
- input [55:0] analyzer_packet,
- input [55:0] gpio_packet,
- input in_select,
- output reg [31:0] sram_data
-);
-
-reg [54:0] packet;
-reg chip_select;
-
-//SRAM0
-//RW Port
-wire mgmt_ena0;
-wire mgmt_wen0;
-wire [3:0] mgmt_wen_mask0;
-wire [7:0] mgmt_addr0;
-wire [31:0] mgmt_wdata0;
-wire [31:0] mgmt_rdata0;
-//RO Port
-wire mgmt_ena_ro0;
-wire [7:0] mgmt_addr_ro0;
-wire [31:0] mgmt_rdata_ro0;
-
-//SRAM1
-wire mgmt_ena1;
-wire mgmt_wen1;
-wire [3:0] mgmt_wen_mask1;
-wire [7:0] mgmt_addr1;
-wire [31:0] mgmt_wdata1;
-wire [31:0] mgmt_rdata1;
-//RO Port
-wire mgmt_ena_ro1;
-wire [7:0] mgmt_addr_ro1;
-wire [31:0] mgmt_rdata_ro1;
-
-//Data from SRAMs
-wire [31:0] sram0_data;
-wire [31:0] sram1_data;
-wire [31:0] read_data;
-
-//Read in input packet from analyzer or GPIO pins
-always @(analyzer_packet, gpio_packet) begin
- if(in_select == 0) begin
- chip_select <= analyzer_packet[55];
- packet <= analyzer_packet[54:0];
- end
- else if(in_select == 1) begin
- chip_select <= gpio_packet[55];
- packet <= gpio_packet[54:0];
- end
-end
-
-//Instantitate port connections
-SRAM_IN in_control(.clk_in(clk_in),
- .chip_select(chip_select),
- .packet(packet),
- .mgmt_ena0(mgmt_ena0),
- .mgmt_wen0(mgmt_wen0),
- .mgmt_wen_mask0(mgmt_wen_mask0),
- .mgmt_addr0(mgmt_addr0),
- .mgmt_wdata0(mgmt_wdata0),
- .mgmt_ena_ro0(mgmt_ena_ro0),
- .mgmt_addr_ro0(mgmt_addr_ro0),
- .mgmt_ena1(mgmt_ena1),
- .mgmt_wen1(mgmt_wen1),
- .mgmt_wen_mask1(mgmt_wen_mask1),
- .mgmt_addr1(mgmt_addr1),
- .mgmt_wdata1(mgmt_wdata1),
- .mgmt_ena_ro1(mgmt_ena_ro1),
- .mgmt_addr_ro1(mgmt_addr_ro1)
-);
-
-sky130_sram_1kbyte_1rw1r_32x256_8 SRAM_0 (
-// MGMT R/W port
- .clk0(clk_in),
- .csb0(mgmt_ena0),
- .web0(mgmt_wen0),
- .wmask0(mgmt_wen_mask0),
- .addr0(mgmt_addr0),
- .din0(mgmt_wdata0),
- .dout0(mgmt_rdata0),
- // MGMT RO port
- .clk1(clk_in),
- .csb1(mgmt_ena_ro0),
- .addr1(mgmt_addr_ro0),
- .dout1(mgmt_rdata_ro0)
-);
-
-sky130_sram_1kbyte_1rw1r_32x256_8 SRAM_1 (
- // MGMT R/W port
- .clk0(clk_in),
- .csb0(mgmt_ena1),
- .web0(mgmt_wen1),
- .wmask0(mgmt_wen_mask1),
- .addr0(mgmt_addr1),
- .din0(mgmt_wdata1),
- .dout0(mgmt_rdata1),
- // MGMT RO port
- .clk1(clk_in),
- .csb1(mgmt_ena_ro1),
- .addr1(mgmt_addr_ro1),
- .dout1(mgmt_rdata_ro1)
-);
-
-SRAM_DATA sram0_out(.csb0(packet[54]),
- .csb1(packet[8]),
- .dout0(mgmt_rdata0),
- .dout1(mgmt_rdata_ro0),
- .sram_data(sram0_data)
-);
-
-SRAM_DATA sram1_out(.csb0(packet[54]),
- .csb1(packet[8]),
- .dout0(mgmt_rdata1),
- .dout1(mgmt_rdata_ro1),
- .sram_data(sram1_data)
-);
-
-SRAM_OUT out_control(.chip_select(chip_select),
- .sram0_data(sram0_data),
- .sram1_data(sram1_data),
- .sram_contents(read_data)
-);
-
-always @(read_data) begin
- sram_data <= read_data;
-end
-endmodule
-`default_nettype wire
+module openram_testchip(
+
+ `ifdef USE_POWER_PINS
+ inout vdda1, // User area 1 3.3V supply
+ inout vdda2, // User area 2 3.3V supply
+ inout vssa1, // User area 1 analog ground
+ inout vssa2, // User area 2 analog ground
+ inout vccd1, // User area 1 1.8V supply
+ inout vccd2, // User area 2 1.8v supply
+ inout vssd1, // User area 1 digital ground
+ inout vssd2, // User area 2 digital ground
+ `endif
+
+ input clock,
+ input reset,
+ input [55:0] io_logical_analyzer_packet,
+ input [55:0] io_gpio_packet,
+ input io_in_select,
+ input [31:0] io_sram0_rw_in,
+ input [31:0] io_sram0_r0_in,
+ input [31:0] io_sram1_rw_in,
+ input [31:0] io_sram1_ro_in,
+ output [54:0] io_sram0_connections,
+ output [54:0] io_sram1_connections,
+ output [31:0] io_sram_data
+);
+`ifdef RANDOMIZE_REG_INIT
+ reg [63:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+ reg [55:0] input_; // @[openram_testchip.scala 22:20]
+ wire chip_select = input_[55]; // @[openram_testchip.scala 29:28]
+ wire csb0 = input_[54]; // @[openram_testchip.scala 30:21]
+ wire web = input_[53]; // @[openram_testchip.scala 31:20]
+ wire _T = ~chip_select; // @[Conditional.scala 37:30]
+ wire [54:0] _GEN_0 = chip_select ? input_[54:0] : 55'h7fffffffffffff; // @[Conditional.scala 39:67 openram_testchip.scala 42:34 openram_testchip.scala 34:26]
+ wire [31:0] _io_sram_data_T = csb0 ? io_sram1_ro_in : io_sram1_rw_in; // @[openram_testchip.scala 49:45]
+ wire [31:0] _io_sram_data_T_1 = csb0 ? io_sram0_r0_in : io_sram0_rw_in; // @[openram_testchip.scala 49:88]
+ wire [31:0] _io_sram_data_T_2 = chip_select ? _io_sram_data_T : _io_sram_data_T_1; // @[openram_testchip.scala 49:28]
+ assign io_sram0_connections = _T ? input_[54:0] : 55'h7fffffffffffff; // @[Conditional.scala 40:58 openram_testchip.scala 38:34 openram_testchip.scala 33:26]
+ assign io_sram1_connections = _T ? 55'h7fffffffffffff : _GEN_0; // @[Conditional.scala 40:58 openram_testchip.scala 34:26]
+ assign io_sram_data = web ? _io_sram_data_T_2 : 32'h0; // @[openram_testchip.scala 48:14 openram_testchip.scala 49:22 openram_testchip.scala 46:18]
+ always @(posedge clock) begin
+ if (io_in_select) begin // @[openram_testchip.scala 27:17]
+ input_ <= io_gpio_packet;
+ end else begin
+ input_ <= io_logical_analyzer_packet;
+ end
+ end
+// Register and memory initialization
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_INVALID_ASSIGN
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_REG_INIT
+`define RANDOMIZE
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+`define RANDOMIZE
+`endif
+`ifndef RANDOM
+`define RANDOM $random
+`endif
+`ifdef RANDOMIZE_MEM_INIT
+ integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+ `ifdef RANDOMIZE
+ `ifdef INIT_RANDOM
+ `INIT_RANDOM
+ `endif
+ `ifndef VERILATOR
+ `ifdef RANDOMIZE_DELAY
+ #`RANDOMIZE_DELAY begin end
+ `else
+ #0.002 begin end
+ `endif
+ `endif
+`ifdef RANDOMIZE_REG_INIT
+ _RAND_0 = {2{`RANDOM}};
+ input_ = _RAND_0[55:0];
+`endif // RANDOMIZE_REG_INIT
+ `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
diff --git a/verilog/rtl/testchip/sky130_sram_1kbyte_1rw1r_32x256_8.v b/verilog/rtl/testchip/sky130_sram_1kbyte_1rw1r_32x256_8.v
index c62b4f3..f08ab44 100644
--- a/verilog/rtl/testchip/sky130_sram_1kbyte_1rw1r_32x256_8.v
+++ b/verilog/rtl/testchip/sky130_sram_1kbyte_1rw1r_32x256_8.v
@@ -3,7 +3,18 @@
// Word size: 32
// Write size: 8
+
module sky130_sram_1kbyte_1rw1r_32x256_8(
+`ifdef USE_POWER_PINS
+ vdda1,
+ vdda2,
+ vssa1,
+ vssa2,
+ vccd1,
+ vccd2,
+ vssd1,
+ vssd2,
+`endif
// Port 0: RW
clk0,csb0,web0,wmask0,addr0,din0,dout0,
// Port 1: R
@@ -19,6 +30,16 @@
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 vdda1; // User area 1 3.3V supply
+ inout vdda2; // User area 2 3.3V supply
+ inout vssa1; // User area 1 analog ground
+ inout vssa2; // User area 2 analog ground
+ inout vccd1; // User area 1 1.8V supply
+ inout vccd2; // User area 2 1.8v supply
+ inout vssd1; // User area 1 digital ground
+ inout vssd2; // User area 2 digital ground
+ `endif
input clk0; // clock
input csb0; // active low chip select
input web0; // active low write control
diff --git a/verilog/rtl/testchip/test_chip_tb.v b/verilog/rtl/testchip/test_chip_tb.v
index 966c2b9..5b4b3c9 100644
--- a/verilog/rtl/testchip/test_chip_tb.v
+++ b/verilog/rtl/testchip/test_chip_tb.v
@@ -8,18 +8,20 @@
//`include "control_logic.v"
//`include "sky130_sram_1kbyte_1rw1r_32x256_8.v"
-`include "test_chip.v"
+`include "openram_testchip.v"
module test_chip_tb;
reg clk_in;
+reg rst;
reg [55:0] from_analyzer;
reg [55:0] from_gpio;
reg in_select;
wire [31:0] read_data;
-TEST_CHIP test_logic(.clk_in(clk_in),
+openram_testchip test_logic(.clk_in(clk_in),
+ .rst(rst),
.analyzer_packet(from_analyzer),
.gpio_packet(from_gpio),
.in_select(in_select),
@@ -30,39 +32,51 @@
$dumpfile("test_chip_tb.vcd");
$dumpvars(0, test_chip_tb);
clk_in = 1;
-
+ rst = 0;
//Send packet using logic analyzer
in_select = 0;
from_analyzer = 55'd0;
from_gpio = 55'd0;
//Write 1 to address 1 in SRAM 0
from_analyzer = {1'b0, 1'b0, 1'b0, 4'd15, 8'd1, 32'd1, 1'b0, 8'd0};
-
#10;
+
+ //Disable write enable after write
+ from_analyzer = {1'b0, 1'b0, 1'b1, 4'd15, 8'd1, 32'd1, 1'b0, 8'd0};
+ #20;
+
//Read from address 1 in SRAM 0
from_analyzer = {1'b0, 1'b0, 1'b1, 4'd0, 8'd1, 32'd0, 1'b1, 8'd0};
- #19;
+ #25;
`assert(read_data, 32'd1);
-
+
//Send packet using GPIO pins
in_select = 1;
//Write 1 to address 1 in SRAM 0
from_gpio = {1'b0, 1'b0, 1'b0, 4'd15, 8'd2, 32'd2, 1'b0, 8'd0};
#10;
+ //Disable write enable after write
+ from_gpio = {1'b0, 1'b0, 1'b1, 4'd15, 8'd2, 32'd2, 1'b0, 8'd0};
+ #20;
+
//Read from address 1 in SRAM 0 using RO Port
from_gpio = {1'b0, 1'b1, 1'b1, 4'd0, 8'd0, 32'd0, 1'b0, 8'd2};
- #10;
+ #40;
`assert(read_data, 32'd2);
in_select = 0;
//Write 1 to address 1 in SRAM 1
from_analyzer = {1'b1, 1'b0, 1'b0, 4'd15, 8'd1, 32'd1, 1'b0, 8'd0};
-
- #10;
+ #10
+
+ //Disable write enable after write
+ from_analyzer = {1'b1, 1'b0, 1'b1, 4'd15, 8'd1, 32'd1, 1'b0, 8'd0};
+ #20;
+
//Read from address 1 in SRAM 1
from_analyzer = {1'b1, 1'b0, 1'b1, 4'd0, 8'd1, 32'd0, 1'b1, 8'd0};
- #10;
+ #40;
`assert(read_data, 32'd1);
//Send packet using GPIO pins
@@ -70,15 +84,20 @@
//Write 1 to address 1 in SRAM 1
from_gpio = {1'b1, 1'b0, 1'b0, 4'd15, 8'd2, 32'd2, 1'b0, 8'd0};
#10;
+
+ //Disable write enable after write
+ from_gpio = {1'b1, 1'b0, 1'b1, 4'd15, 8'd2, 32'd2, 1'b0, 8'd0};
+ #20;
//Read from address 1 in SRAM 1 using RO Port
from_gpio = {1'b1, 1'b1, 1'b1, 4'd0, 8'd0, 32'd0, 1'b0, 8'd2};
- #10;
+ #40;
`assert(read_data, 32'd2);
+
#30;$finish;
end
always
#5 clk_in = !clk_in;
-endmodule
\ No newline at end of file
+endmodule
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v
index 2a3462b..1a32bc5 100644
--- a/verilog/rtl/user_project_wrapper.v
+++ b/verilog/rtl/user_project_wrapper.v
@@ -78,52 +78,66 @@
output [2:0] user_irq
);
-/*--------------------------------------*/
-/* User project is instantiated here */
-/*--------------------------------------*/
+wire [54:0] sram0_connections;
+wire [54:0] sram1_connections;
-user_proj_example mprj (
- `ifdef USE_POWER_PINS
- .vdda1(vdda1), // User area 1 3.3V power
- .vdda2(vdda2), // User area 2 3.3V power
- .vssa1(vssa1), // User area 1 analog ground
- .vssa2(vssa2), // User area 2 analog ground
- .vccd1(vccd1), // User area 1 1.8V power
- .vccd2(vccd2), // User area 2 1.8V power
- .vssd1(vssd1), // User area 1 digital ground
- .vssd2(vssd2), // User area 2 digital ground
- `endif
+wire [31:0] sram0_rw_out;
+wire [31:0] sram0_ro_out;
+wire [31:0] sram1_rw_out;
+wire [31:0] sram1_ro_out;
- .wb_clk_i(wb_clk_i),
- .wb_rst_i(wb_rst_i),
-
- // MGMT SoC Wishbone Slave
-
- .wbs_cyc_i(wbs_cyc_i),
- .wbs_stb_i(wbs_stb_i),
- .wbs_we_i(wbs_we_i),
- .wbs_sel_i(wbs_sel_i),
- .wbs_adr_i(wbs_adr_i),
- .wbs_dat_i(wbs_dat_i),
- .wbs_ack_o(wbs_ack_o),
- .wbs_dat_o(wbs_dat_o),
-
- // Logic Analyzer
-
- .la_data_in(la_data_in),
- .la_data_out(la_data_out),
- .la_oenb (la_oenb),
-
- // IO Pads
-
- .io_in (io_in),
- .io_out(io_out),
- .io_oeb(io_oeb),
-
- // IRQ
- .irq(user_irq)
+openram_testchip CONTROL_LOGIC(
+ .clock(wb_clk_i),
+ .reset(wb_rst_i),
+ .io_logical_analyzer_packet(la_data_in[55:0]),
+ .io_gpio_packet(la_data_in[55:0]),
+ .io_in_select(la_data_in[56]),
+ .io_sram0_rw_in(sram0_rw_out),
+ .io_sram0_r0_in(sram0_ro_out),
+ .io_sram1_rw_in(sram1_rw_out),
+ .io_sram1_ro_in(sram1_ro_out),
+ .io_sram0_connections(sram0_connections),
+ .io_sram1_connections(sram1_connections),
+ .io_sram_data(la_data_out[31:0])
);
+sky130_sram_1kbyte_1rw1r_32x256_8 SRAM0
+ (
+
+ `ifdef USE_POWER_PINS
+ .vccd1(vccd1),
+ .vssd1(vssd1),
+ `endif
+ .clk0 (wb_clk_i),
+ .csb0 (sram0_connections[54]),
+ .web0 (sram0_connections[53]),
+ .wmask0 (sram0_connections[52:49]),
+ .addr0 (sram0_connections[48:41]),
+ .din0 (sram0_connections[40:9]),
+ .dout0 (sram0_rw_out),
+ .clk1 (wb_clk_i),
+ .csb1 (sram0_connections[8]),
+ .addr1 (sram0_connections[7:0]),
+ .dout1 (sram0_ro_out));
+
+sky130_sram_1kbyte_1rw1r_32x256_8 SRAM1
+ (
+ `ifdef USE_POWER_PINS
+ .vccd1(vccd1),
+ .vssd1(vssd1),
+ `endif
+ .clk0 (wb_clk_i),
+ .csb0 (sram1_connections[54]),
+ .web0 (sram1_connections[53]),
+ .wmask0 (sram1_connections[52:49]),
+ .addr0 (sram1_connections[48:41]),
+ .din0 (sram1_connections[40:9]),
+ .dout0 (sram1_rw_out),
+ .clk1 (wb_clk_i),
+ .csb1 (sram1_connections[8]),
+ .addr1 (sram1_connections[7:0]),
+ .dout1 (sram1_ro_out));
+
endmodule // user_project_wrapper
`default_nettype wire