diff --git a/sky130_cds/DISCLAIMER b/sky130_cds/DISCLAIMER new file mode 100755 index 0000000..a291851 --- /dev/null +++ b/sky130_cds/DISCLAIMER @@ -0,0 +1,9 @@ +You are advised that by using this repository at your own risk. By +using the PDK, you assume all liability for any resulting errors and +problems. + +Oklahoma State University, 2022 +James Stine +Rachana Erra + + diff --git a/sky130_cds/DRC/README.md b/sky130_cds/DRC/README.md new file mode 100755 index 0000000..e69de29 diff --git a/sky130_cds/DRC/sky130_drcRules.pvl b/sky130_cds/DRC/sky130_drcRules.pvl new file mode 100755 index 0000000..fbe6504 --- /dev/null +++ b/sky130_cds/DRC/sky130_drcRules.pvl @@ -0,0 +1,420 @@ + +incr_conn YES +results_db -drc mult_seq.drc_errors.ascii -ascii + +/// Tolerance for round-off errors on skew edges +tolerance 0.001 + +/// Unused MaskLayers: (FOM DNM NWM HVTRM TUNM ONOM LVOM P1M NPCM LDNTM NSDM PSDM LICM1 LI1M CTM1 MM1 VIM MM2 VIM2 MM3 VIM3 MM4 VIM4 MM5 NSM PDM PBO RPM CU1M PMM2) +layer_def nwell 1000 +layer_map 64 -datatype 20 1000 // nwell drawing + +layer_def diff 1001 +layer_map 65 -datatype 20 1001 // diff drawing + +layer_def poly 1008 +layer_map 66 -datatype 20 1008 // poly drawing + +layer_def licon1 1012 +layer_map 66 -datatype 44 1012 // licon1 drawing + +layer_def li1 1013 +layer_map 67 -datatype 20 1013 // li1 drawing + +layer_def mcon 1014 +layer_map 67 -datatype 44 1014 // mcon drawing + +layer_def met1 1015 +layer_map 68 -datatype 20 1015 // met1 drawing + +layer_def via 1016 +layer_map 68 -datatype 44 1016 // via drawing + +layer_def met2 1017 +layer_map 69 -datatype 20 1017 // met2 drawing + +layer_def via2 1019 +layer_map 69 -datatype 44 1019 // via2 drawing + +layer_def met3 1020 +layer_map 70 -datatype 20 1020 // met3 drawing + +layer_def via3 1021 +layer_map 70 -datatype 44 1021 // via3 drawing + +layer_def met4 1022 +layer_map 71 -datatype 20 1022 // met4 drawing + +layer_def via4 1023 +layer_map 71 -datatype 44 1023 // via4 drawing + +layer_def met5 1024 +layer_map 72 -datatype 20 1024 // met5 drawing + +layer_def pad 1026 +layer_map 76 -datatype 20 1026 // pad drawing + +layer_def capacitor 1031 +layer_map 82 -datatype 64 1031 // capacitor drawing + +layer_def inductor 1034 +layer_map 82 -datatype 24 1034 // inductor drawing + +layer_def polyGate 1074 +layer_map 66 -datatype 9 1074 // poly gate + +layer_def padText 1089 +layer_map 76 -texttype 5 1089 // pad label + +layer_def diffLabel 1090 +layer_map 65 -datatype 6 1090 // diff label + +layer_def nwellLabel 1092 +layer_map 64 -datatype 5 1092 // nwell label + +layer_def polyLabel 1093 +layer_map 66 -datatype 5 1093 // poly label + +layer_def met1Label 1094 +layer_map 68 -datatype 5 1094 // met1 label + +layer_def met2Label 1095 +layer_map 69 -datatype 5 1095 // met2 label + +layer_def met3Label 1096 +layer_map 70 -datatype 5 1096 // met3 label + +layer_def met4Label 1097 +layer_map 71 -datatype 5 1097 // met4 label + +layer_def met5Label 1098 +layer_map 72 -datatype 5 1098 // met5 label + +layer_def li1Block 1099 +layer_map 67 -datatype 10 1099 // li1 blockage + +layer_def met1Block 1100 +layer_map 68 -datatype 10 1100 // met1 blockage + +layer_def met2Block 1101 +layer_map 69 -datatype 10 1101 // met2 blockage + +layer_def met3Block 1102 +layer_map 70 -datatype 10 1102 // met3 blockage + +layer_def met4Block 1103 +layer_map 71 -datatype 10 1103 // met4 blockage + +layer_def met5Block 1104 +layer_map 72 -datatype 10 1104 // met5 blockage + +layer_def diffBndry 1106 +layer_map 65 -datatype 4 1106 // diff boundary + +layer_def mconBndry 1108 +layer_map 67 -datatype 60 1108 // mcon boundary + +layer_def polyBndry 1109 +layer_map 66 -datatype 4 1109 // poly boundary + +layer_def viaBndry 1110 +layer_map 68 -datatype 60 1110 // via boundary + +layer_def via2Bndry 1111 +layer_map 69 -datatype 60 1111 // via2 boundary + +layer_def via3Bndry 1112 +layer_map 70 -datatype 60 1112 // via3 boundary + +layer_def via4Bndry 1113 +layer_map 71 -datatype 60 1113 // via4 boundary + +layer_def li1tt 1114 1115 1116 1117 +layer_map 67 -texttype 20 1114 // li1 drawing +layer_map 67 -texttype 5 1115 // li1 label +layer_map 67 -texttype 23 1116 // li1 net +layer_map 67 -texttype 16 1117 // li1 pin + +layer_def met1tt 1118 1119 1120 1121 +layer_map 68 -texttype 20 1118 // met1 drawing +layer_map 68 -texttype 5 1119 // met1 label +layer_map 68 -texttype 23 1120 // met1 net +layer_map 68 -texttype 16 1121 // met1 pin + +layer_def met2tt 1122 1123 1124 1125 +layer_map 69 -texttype 20 1122 // met2 drawing +layer_map 69 -texttype 5 1123 // met2 label +layer_map 69 -texttype 23 1124 // met2 net +layer_map 69 -texttype 16 1125 // met2 pin + +layer_def met3tt 1126 1127 1128 1129 +layer_map 70 -texttype 20 1126 // met3 drawing +layer_map 70 -texttype 5 1127 // met3 label +layer_map 70 -texttype 23 1128 // met3 net +layer_map 70 -texttype 16 1129 // met3 pin + +layer_def met4tt 1130 1131 1132 1133 +layer_map 71 -texttype 20 1130 // met4 drawing +layer_map 71 -texttype 5 1131 // met4 label +layer_map 71 -texttype 23 1132 // met4 net +layer_map 71 -texttype 16 1133 // met4 pin + +layer_def met5tt 1134 1135 1136 1137 +layer_map 72 -texttype 20 1134 // met5 drawing +layer_map 72 -texttype 5 1135 // met5 label +layer_map 72 -texttype 23 1136 // met5 net +layer_map 72 -texttype 16 1137 // met5 pin + +layer_def polytt 1138 1139 1140 1141 +layer_map 66 -texttype 20 1138 // poly drawing +layer_map 66 -texttype 5 1139 // poly label +layer_map 66 -texttype 23 1140 // poly net +layer_map 66 -texttype 16 1141 // poly pin + +layer_def difftt 1142 1143 1144 1145 +layer_map 65 -texttype 20 1142 // diff drawing +layer_map 65 -texttype 6 1143 // diff label +layer_map 65 -texttype 23 1144 // diff net +layer_map 65 -texttype 16 1145 // diff pin + +layer_def poly_pin 1146 +layer_map 66 -datatype 16 1146 // poly pin + +layer_def li1_pin 1147 +layer_map 67 -datatype 16 1147 // li1 pin + +layer_def met1_pin 1148 +layer_map 68 -datatype 16 1148 // met1 pin + +layer_def met2_pin 1149 +layer_map 69 -datatype 16 1149 // met2 pin + +layer_def met3_pin 1150 +layer_map 70 -datatype 16 1150 // met3 pin + +layer_def met4_pin 1151 +layer_map 71 -datatype 16 1151 // met4 pin + +layer_def met5_pin 1152 +layer_map 72 -datatype 16 1152 // met5 pin + +layer_def nwellpt 1153 +layer_map 64 -texttype 16 1153 // nwell pin +layer_map 64 -texttype 0 1153 // nwell pin + +layer_def polypt 1154 +layer_map 66 -texttype 16 1154 // poly pin +layer_map 66 -texttype 0 1154 // poly pin + +layer_def li1pt 1155 +layer_map 67 -texttype 16 1155 // li1 pin +layer_map 67 -texttype 0 1155 // li1 pin + +layer_def met1pt 1156 +layer_map 68 -texttype 16 1156 // met1 pin +layer_map 68 -texttype 0 1156 // met1 pin + +layer_def met2pt 1157 +layer_map 69 -texttype 16 1157 // met2 pin +layer_map 69 -texttype 0 1157 // met2 pin + +layer_def met3pt 1158 +layer_map 70 -texttype 16 1158 // met3 pin +layer_map 70 -texttype 0 1158 // met3 pin + +layer_def met4pt 1159 +layer_map 71 -texttype 16 1159 // met4 pin +layer_map 71 -texttype 0 1159 // met4 pin + +layer_def met5pt 1160 +layer_map 72 -texttype 16 1160 // met5 pin +layer_map 72 -texttype 0 1160 // met5 pin + +layer_def padtt 1167 1089 +layer_map 76 -texttype 20 1167 // pad drawing + // 1089 -> pad label + +layer_def pad_pin 1168 +layer_map 76 -datatype 16 1168 // pad pin + +layer_def padpt 1169 +layer_map 76 -texttype 16 1169 // pad pin +layer_map 76 -texttype 0 1169 // pad pin + +layer_def met5Pin 1152 + // 1152 -> met5 pin + +layer_def met4Pin 1151 + // 1151 -> met4 pin + +layer_def met3Pin 1150 + // 1150 -> met3 pin + +layer_def met2Pin 1149 + // 1149 -> met2 pin + +layer_def met1Pin 1148 + // 1148 -> met1 pin + +layer_def li1Pin 1147 + // 1147 -> li1 pin + +layer_def polyPin 1146 + // 1146 -> poly pin + +layer_def diffPin 1222 +layer_map 65 -datatype 16 1222 // diff pin + +treat_non_baselayer_as_toplayer yes +base_layer diff +base_layer poly +layer_def pwellLabel 1229 +layer_map 64 -datatype 59 1229 // pwell label + +layer_def pwelltt 1230 +layer_map 64 -texttype 59 1230 // pwell label + +layer_def pwell_pin 1231 +layer_map 122 -datatype 16 1231 // pwell pin + +layer_def pwellpt 1232 +layer_map 122 -texttype 16 1232 // pwell pin +layer_map 122 -texttype 0 1232 // pwell pin + +copy inductor -outputlayer inductor_exempt +and diff nwell -outputlayer PDIFF +not diff nwell -outputlayer NDIFF +not diff poly -outputlayer SRCDRN +and poly diff -outputlayer POLYandDIFF +copy POLYandDIFF -outputlayer GATE +edge_boolean -inside GATE diff -outputlayer GATESIDE +edge_boolean -coincident_only -inside GATE diff -outputlayer GATEEND +//edge_boolean -coincident_only -outside diff tap -outputlayer diffTapEdge +copy GATE -outputlayer MOSGATE +copy MOSGATE -outputlayer EMOSGATE +disconnect +//and npc licon1 -outputlayer npccon +//connect dnwell nwell +//connect nwell tap -by NTAP +//connect tap li1 -by licon1 +//connect poly li1 -by npccon +connect li1 met1 -by mcon +connect met1 met2 -by via +connect met3 met2 -by via2 +connect met3 met4 -by via3 +connect met4 met5 -by via4 +connect met5 pad +rule "R0_nwell_X1" { +caption "nwell_X1: off 0.005 grid nwell vertex" +offgrid nwell 5 +} +rule "R1_diff_X1" { +caption "diff_X1: off 0.005 grid diff vertex" +offgrid diff 5 +} +rule "R2_poly_X1" { +caption "poly_X1: off 0.005 grid poly vertex" +offgrid poly 5 +} +rule "R3_li1_X1" { +caption "li1_X1: off 0.005 grid li1 vertex" +offgrid li1 5 +} +rule "R4_mcon_X1" { +caption "mcon_X1: off 0.005 grid mcon vertex" +offgrid mcon 5 +} +rule "R5_met1_X1" { +caption "met1_X1: off 0.005 grid met1 vertex" +offgrid met1 5 +} +rule "R6_via_X1" { +caption "via_X1: off 0.005 grid via vertex" +offgrid via 5 +} +rule "R7_met2_X1" { +caption "met2_X1: off 0.005 grid met2 vertex" +offgrid met2 5 +} +rule "R8_via2_X1" { +caption "via2_X1: off 0.005 grid via2 vertex" +offgrid via2 5 +} +rule "R9_met3_X1" { +caption "met3_X1: off 0.005 grid met3 vertex" +offgrid met3 5 +} +rule "R10_via3_X1" { +caption "via3_X1: off 0.005 grid via3 vertex" +offgrid via3 5 +} +rule "R11_met4_X1" { +caption "met4_X1: off 0.005 grid met4 vertex" +offgrid met4 5 +} +rule "R12_via4_X1" { +caption "via4_X1: off 0.005 grid via4 vertex" +offgrid via4 5 +} +rule "R13_met5_X1" { +caption "met5_X1: off 0.005 grid met5 vertex" +offgrid met5 5 +} +rule "R14_pad_X1" { +caption "pad_X1: off 0.005 grid pad vertex" +offgrid pad 5 +} +rule "R15_cap_X1" { +caption "cap_X1: off 0.005 grid capacitor vertex" +offgrid capacitor 5 +} +rule "R16_ind_X1" { +caption "ind_X1: off 0.005 grid inductor vertex" +offgrid inductor 5 +} +rule "R17_nwell_X2" { +caption "nwell_X2: non-octagonal nwell edge" +angle nwell -ltgt 0 45 +angle nwell -ltgt 45 90 +} +rule "R18_diff_X2" { +caption "diff_X2: non-octagonal diff edge" +angle diff -ltgt 0 45 +angle diff -ltgt 45 90 +} +rule "R19_met1_X2" { +caption "met1_X2: non-octagonal met1 edge" +angle met1 -ltgt 0 45 +angle met1 -ltgt 45 90 +} +rule "R20_met2_X2" { +caption "met2_X2: non-octagonal met2 edge" +angle met2 -ltgt 0 45 +angle met2 -ltgt 45 90 +} +rule "R21_met3_X2" { +caption "met3_X2: non-octagonal met3 edge" +angle met3 -ltgt 0 45 +angle met3 -ltgt 45 90 +} +rule "R22_met4_X2" { +caption "met4_X2: non-octagonal met4 edge" +angle met4 -ltgt 0 45 +angle met4 -ltgt 45 90 +} +rule "R23_met5_X2" { +caption "met5_X2: non-octagonal met5 edge" +angle met5 -ltgt 0 45 +angle met5 -ltgt 45 90 +} +rule "R24_cap_X2" { +caption "cap_X2: non-octagonal capacitor edge" +angle capacitor -ltgt 0 45 +angle capacitor -ltgt 45 90 +} +rule "R25_ind_X2" { +caption "ind_X2: non-octagonal inductor edge" +angle inductor -ltgt 0 45 +angle inductor -ltgt 45 90 +} + diff --git a/sky130_cds/LICENSE b/sky130_cds/LICENSE new file mode 100755 index 0000000..261eeb9 --- /dev/null +++ b/sky130_cds/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/sky130_cds/LVS/README.md b/sky130_cds/LVS/README.md new file mode 100755 index 0000000..e69de29 diff --git a/sky130_cds/PEX/README.md b/sky130_cds/PEX/README.md new file mode 100755 index 0000000..e69de29 diff --git a/sky130_cds/PEX/qrcTechFile b/sky130_cds/PEX/qrcTechFile new file mode 100755 index 0000000..e289c08 Binary files /dev/null and b/sky130_cds/PEX/qrcTechFile differ diff --git a/sky130_cds/PEX/sky130.ict b/sky130_cds/PEX/sky130.ict new file mode 100755 index 0000000..ebbb588 --- /dev/null +++ b/sky130_cds/PEX/sky130.ict @@ -0,0 +1,371 @@ + +# +process sky130 { + background_dielectric_constant 1.0 + temp_reference 30 +} +# Well declarations +well NWELL {} +well PWELL {} + +# Diffusion Layers +diffusion P_SOURCE_DRAIN { + thickness 0.12 + resistivity 15 +} + +diffusion N_SOURCE_DRAIN { + thickness 0.12 + resistivity 15 +} + +# Conducting Layers +conductor Poly { + min_spacing 0.21 + min_width 0.15 + height 0.3262 + thickness 0.180 + resistivity 48.2 + temp_tc1 0.0008916 + temp_tc2 8.443e-07 + gate_forming_layer true + wire_edge_enlargement_r { + wee_widths 0.15 + wee_spacings 0.21 + wee_adjustments -0.0280 + } + wire_edge_enlargement_c { + wee_widths 0.15 + wee_spacings 0.21 + wee_adjustments 0.0 + } +} + +conductor li1 { + min_spacing 0.17 + min_width 0.17 + height 0.9361 + thickness 0.100 + resistivity 12.8 + temp_tc1 0.0006045 + temp_tc2 -3.693e-07 + gate_forming_layer false + wire_edge_enlargement_r { + wee_widths 0.17 + wee_spacings 0.17 + wee_adjustments 0.0085 + } + wire_edge_enlargement_c { + wee_widths 0.17 + wee_spacings 0.17 + wee_adjustments 0 + } +} + +conductor met1 { + min_spacing 0.14 + min_width 0.14 + height 1.3761 + thickness 0.36 + resistivity 0.125 + temp_tc1 0.003179 + temp_tc2 3.094e-07 + gate_forming_layer false + wire_edge_enlargement_r { + wee_widths 0.14 + wee_spacings 0.14 + wee_adjustments -0.0195 + } + wire_edge_enlargement_c { + wee_widths 0.14 + wee_spacings 0.14 + wee_adjustments 0 + } +} + +conductor met2 { + min_spacing 0.14 + min_width 0.14 + height 2.0061 + thickness 0.360 + resistivity 0.125 + temp_tc1 0.003161 + temp_tc2 -7.272e-07 + gate_forming_layer false + wire_edge_enlargement_r { + wee_widths 0.14 + wee_spacings 0.14 + wee_adjustments -0.0195 + } + wire_edge_enlargement_c { + wee_widths 0.14 + wee_spacings 0.14 + wee_adjustments 0 + } +} + +conductor met3 { + min_spacing 0.30 + min_width 0.30 + height 2.7861 + thickness 0.845 + resistivity 0.047 + temp_tc1 0.003424 + temp_tc2 -7.739e-07 + gate_forming_layer false + wire_edge_enlargement_r { + wee_widths 0.30 + wee_spacings 0.30 + wee_adjustments -0.0125 + } + wire_edge_enlargement_c { + wee_widths 0.30 + wee_spacings 0.30 + wee_adjustments 0 + } +} + +conductor met4 { + min_spacing 0.30 + min_width 0.30 + height 4.0211 + thickness 0.845 + resistivity 0.047 + temp_tc1 0.003424 + temp_tc2 -7.739e-07 + gate_forming_layer false + wire_edge_enlargement_r { + wee_widths 0.30 + wee_spacings 0.30 + wee_adjustments -0.0125 + } + wire_edge_enlargement_c { + wee_widths 0.30 + wee_spacings 0.30 + wee_adjustments 0 + } +} + +conductor met5 { + min_spacing 1.60 + min_width 0.80 + height 5.3711 + thickness 1.260 + resistivity 0.0285 + temp_tc1 3.5e-3 + temp_tc2 -7.5e-07 + gate_forming_layer false + wire_edge_enlargement_r { + wee_widths 0.80 + wee_spacings 1.60 + wee_adjustments -0.0450 + } + wire_edge_enlargement_c { + wee_widths 0.80 + wee_spacings 1.60 + wee_adjustments 0 + } +} + +# dielectric Layers +dielectric FOX { + conformal FALSE + height 0.0000 + thickness 0.3262 + dielectric_constant 3.9 +} + +dielectric IOX { + conformal TRUE + expandedFrom Poly + height 0.3262 + thickness 0.0000 + topThickness 0.0000 + sideExpand 0.0060 + dielectric_constant 3.9 +} + +dielectric SPNIT { + conformal TRUE + expandedFrom IOX + height 0.3262 + thickness 0.0000 + topThickness 0.1210 + sideExpand 0.0431 + dielectric_constant 7.5 +} + +dielectric PSG { + conformal FALSE + height 0.3262 + thickness 0.6099 + dielectric_constant 3.9 +} + +dielectric LINT { + conformal TRUE + expandedFrom li1 + height 0.9361 + thickness 0.0750 + topThickness 0.0750 + sideExpand 0.0610 + dielectric_constant 7.3 +} + +dielectric NILD2 { + conformal FALSE + height 1.0111 + thickness 0.3650 + dielectric_constant 4.05 +} + +dielectric NILD3_C { + conformal TRUE + expandedFrom met1 + height 1.3761 + thickness 0.0000 + topThickness 0.0000 + sideExpand 0.0300 + dielectric_constant 3.5 +} + +dielectric NILD3 { + conformal FALSE + height 1.3761 + thickness 0.6300 + dielectric_constant 4.5 +} + +dielectric NILD4_C { + conformal TRUE + expandedFrom met2 + height 2.0061 + thickness 0.0000 + topThickness 0.0000 + sideExpand 0.0300 + dielectric_constant 3.5 +} + +dielectric NILD4 { + conformal FALSE + height 2.0061 + thickness 0.7800 + dielectric_constant 4.2 +} + +dielectric NILD5 { + conformal FALSE + height 2.7861 + thickness 1.2350 + dielectric_constant 4.1 +} + +dielectric NILD6 { + conformal FALSE + height 4.0211 + thickness 1.3500 + dielectric_constant 4.0 +} + +dielectric TOPOX { + conformal TRUE + expandedFrom met5 + height 5.3711 + thickness 0.0000 + topThickness 0.0900 + sideExpand 0.0700 + dielectric_constant 3.9 +} + +dielectric TOPNIT { + conformal TRUE + expandedFrom TOPOX + height 5.3711 + thickness 0.3777 + topThickness 0.5400 + sideExpand 0.4223 + dielectric_constant 7.50 +} + +dielectric PI1 { + conformal FALSE + height 5.7488 + thickness 6.1346 + dielectric_constant 2.94 +} + +dielectric PI2 { + conformal FALSE + height 11.8834 + thickness 7.5000 + dielectric_constant 2.85 +} + +dielectric MOLD { + conformal FALSE + height 19.3834 + thickness 40.0000 + dielectric_constant 3.6 +} + +# Connect Layers +via CONT { + bottom_layer P_SOURCE_DRAIN + top_layer li1 + contact_resistance 15 +} + +via CONT { + bottom_layer N_SOURCE_DRAIN + top_layer li1 + contact_resistance 15 +} + +via via4 { + bottom_layer met4 + top_layer met5 + contact_resistance 0.38 + temp_tc1 0.00177 + temp_tc2 -1.6e-07 +} + +via via3 { + bottom_layer met3 + top_layer met4 + contact_resistance 3.41 + temp_tc1 0.002366 + temp_tc2 -1.025e-05 +} + +via via2 { + bottom_layer met2 + top_layer met3 + contact_resistance 3.41 + temp_tc1 0.002366 + temp_tc2 -1.025e-05 +} + +via via { + bottom_layer met1 + top_layer met2 + contact_resistance 4.5 + temp_tc1 0.001081 + temp_tc2 -1.903e-07 +} + +via mcon { + bottom_layer li1 + top_layer met1 + contact_resistance 9.3 + temp_tc1 0.001067 + temp_tc2 -5.324e-06 +} + +via licon { + bottom_layer Poly + top_layer li1 + contact_resistance 152 + temp_tc1 0.001249 + temp_tc2 -6.647e-06 +} + diff --git a/sky130_cds/README.md b/sky130_cds/README.md new file mode 100755 index 0000000..76f0a87 --- /dev/null +++ b/sky130_cds/README.md @@ -0,0 +1,69 @@ +# sky130_cds +
+James E. Stine, Jr. and Rachana Erra +james.stine@okstate.edu +Oklahoma State University +School of Electrical and Computer Engineering +VLSI Computer Architecture Research Group ++ +Many thanks to Cadence Design Systems including David Junkin, Barry Nelson and Anton Kotz for all their amazing help and guidance. + +Repository for SKY130 Process Design Kit and Cadence Design System tools. + +**Submodules** + +This repository contains the Oklahoma State University standard cells for Skywater Technology 130nm (SKY130). They are integrated as submodules to get all of the standard-cells after cloning, type: + +
+git submodule update --init --recursive ++ +You can also get each submodule individually by typing: + +
+git submodule update --init sky130_osu_sc_t18 ++ +If you wish to download them individually, you can do that at these links: +
+https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_osu_sc_t18/+/refs/heads/main +https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_osu_sc_t15/+/refs/heads/main +https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_osu_sc_t12/+/refs/heads/main ++ +**Sample Designs:**
techgen -si sky130.ict+ + diff --git a/sky130_cds/VirtuosoOA/.cadence/dfII/Navigator/Options.xml b/sky130_cds/VirtuosoOA/.cadence/dfII/Navigator/Options.xml new file mode 100755 index 0000000..e69de29 diff --git a/sky130_cds/VirtuosoOA/.cadence/dfII/Navigator/categories.xml b/sky130_cds/VirtuosoOA/.cadence/dfII/Navigator/categories.xml new file mode 100755 index 0000000..e69de29 diff --git a/sky130_cds/VirtuosoOA/.cadence/dfII/history/jstine.history b/sky130_cds/VirtuosoOA/.cadence/dfII/history/jstine.history new file mode 100644 index 0000000..8104612 --- /dev/null +++ b/sky130_cds/VirtuosoOA/.cadence/dfII/history/jstine.history @@ -0,0 +1 @@ +("sample:/\tsample test_sky130 layout" (("open" (nil hierarchy "/{test_sky130 sample layout }:a"))) (((-7.479 4.421) (-2.906 8.604)) "a" "Layout" 2))("sky130_osu_sc_12T_hs__addf_1:/\tsky130_osu_sc_12T_hs__addf_1 sky130_osu_sc_t12 layout" (("open" (nil hierarchy "/{sky130_osu_sc_t12 sky130_osu_sc_12T_hs__addf_1 layout }:a"))) (((-0.561 -2.269) (9.752 6.725)) "a" "Layout" 2))("sky130_osu_sc_12T_ls__dff_1:/\tsky130_osu_sc_12T_ls__dff_1 sky130_osu_sc_t12 layout" (("open" (nil hierarchy "/{sky130_osu_sc_t12 sky130_osu_sc_12T_ls__dff_1 layout }:a"))) (((-0.7 -1.458) (8.866 5.919)) "a" "Layout" 2))("sky130_osu_sc_18T_hs__inv_1:/\tsky130_osu_sc_18T_hs__inv_1 sample schematic" (("open" (nil hierarchy "/{sample sky130_osu_sc_18T_hs__inv_1 schematic }:a"))) (((-1.89375 -0.74375) (0.20625 0.89375)) "a" "Schematics" 9))("sky130_osu_sc_18T_hs__inv_1:/\tsky130_osu_sc_18T_hs__inv_1 sample layout" (("open" (nil hierarchy "/{sample sky130_osu_sc_18T_hs__inv_1 layout }:a"))) (((-4.406 -1.511) (7.416 7.138)) "a" "Layout" 7))("sky130_osu_sc_18T_hs__addf_1:/\tsky130_osu_sc_18T_hs__addf_1 sky130_osu_sc_t18 layout" (("open" (nil hierarchy "/{sky130_osu_sc_t18 sky130_osu_sc_18T_hs__addf_1 layout }:a"))) (((-0.501 1.07) (2.601 3.33)) "a" "Layout" 2))("sample:/\tsample example layout" (("open" (nil hierarchy "/{example sample layout }:a"))) (((-13.098 -37.509) (41.261 10.001)) "a" "Layout" 2)) \ No newline at end of file diff --git a/sky130_cds/VirtuosoOA/.cadence/dfII/history/rerra.history b/sky130_cds/VirtuosoOA/.cadence/dfII/history/rerra.history new file mode 100755 index 0000000..d9420f4 --- /dev/null +++ b/sky130_cds/VirtuosoOA/.cadence/dfII/history/rerra.history @@ -0,0 +1 @@ +("sample:/\tsample test_sky130 layout" (("open" (nil hierarchy "/{test_sky130 sample layout }:a"))) (((-7.478 4.878) (-2.906 8.222)) "a" "Layout" 4))("sky130_osu_sc_18T_hs__addh_l:/\tsky130_osu_sc_18T_hs__addh_l sky130_osu_sc_t18 layout" (("open" (nil hierarchy "/{sky130_osu_sc_t18 sky130_osu_sc_18T_hs__addh_l layout }:a"))) (((-2.675 -1.511) (9.147 7.138)) "a" "Layout" 2))("sky130_osu_sc_18T_hs__and2_2:/\tsky130_osu_sc_18T_hs__and2_2 sky130_osu_sc_t18 layout" (("open" (nil hierarchy "/{sky130_osu_sc_t18 sky130_osu_sc_18T_hs__and2_2 layout }:a"))) (((-0.291 3.551) (5.385 7.704)) "a" "Layout" 4))("sky130_osu_sc_15T_hs__and2_2:/\tsky130_osu_sc_15T_hs__and2_2 sky130_osu_sc_t15 layout" (("open" (nil hierarchy "/{sky130_osu_sc_t15 sky130_osu_sc_15T_hs__and2_2 layout }:a"))) (((-3.362 -1.155) (6.372 5.966)) "a" "Layout" 2))("sky130_osu_sc_12T_hs__addh_l:/\tsky130_osu_sc_12T_hs__addh_l sky130_osu_sc_t12 layout" (("open" (nil hierarchy "/{sky130_osu_sc_t12 sky130_osu_sc_12T_hs__addh_l layout }:a"))) (((-1.599 -1.154) (8.069 5.919)) "a" "Layout" 4))("sky130_osu_sc_15T_hs__addh_1:/\tsky130_osu_sc_15T_hs__addh_1 sky130_osu_sc_t15 layout" (("open" (nil hierarchy "/{sky130_osu_sc_t15 sky130_osu_sc_15T_hs__addh_1 layout }:a"))) (((-1.845 -1.466) (8.316 5.967)) "a" "Layout" 2))("sample:/\tsample sky130 layout" (("open" (nil hierarchy "/{sky130 sample layout }:a"))) (((-21.551 -10.001) (21.551 10.001)) "a" "Layout" 2))("L1_T:/\tL1_T sky130 symbolic" (("open" (nil hierarchy "/{sky130 L1_T symbolic }:a"))) (((-0.123 -0.086) (0.123 0.094)) "a" "Layout" 4))("sky130_osu_sc_15T_hs__and2_4:/\tsky130_osu_sc_15T_hs__and2_4 sky130_osu_sc_t15 layout" (("open" (nil hierarchy "/{sky130_osu_sc_t15 sky130_osu_sc_15T_hs__and2_4 layout }:a"))) (((-3.295 -1.154) (6.439 5.966)) "a" "Layout" 2))("sky130_osu_sc_18T_hs__addh_1:/\tsky130_osu_sc_18T_hs__addh_1 sky130_osu_sc_t18 layout" (("open" (nil hierarchy "/{sky130_osu_sc_t18 sky130_osu_sc_18T_hs__addh_1 layout }:a"))) (((-2.44 -1.165) (8.91 7.138)) "a" "Layout" 2)) \ No newline at end of file diff --git a/sky130_cds/VirtuosoOA/.cadence/dfII/opc/queries.il b/sky130_cds/VirtuosoOA/.cadence/dfII/opc/queries.il new file mode 100755 index 0000000..e69de29 diff --git a/sky130_cds/VirtuosoOA/.cadence/dfII/opc/querySets.xml b/sky130_cds/VirtuosoOA/.cadence/dfII/opc/querySets.xml new file mode 100644 index 0000000..e69de29 diff --git a/sky130_cds/VirtuosoOA/.cadence/xstream/IN/.session b/sky130_cds/VirtuosoOA/.cadence/xstream/IN/.session new file mode 100644 index 0000000..c6d56ab --- /dev/null +++ b/sky130_cds/VirtuosoOA/.cadence/xstream/IN/.session @@ -0,0 +1,26 @@ +<<<<<<< HEAD +M:0 DV:1 NT:0 N:1 C:32 + +M:0 DV:1 NT:0 N:2 C:32 + +M:0 DV:1 NT:0 N:1 C:32 +======= +M:0 DV:1 NT:0 N:72 C:32 + +M:0 DV:1 NT:0 N:72 C:32 + +M:0 DV:1 NT:0 N:72 C:32 + +M:0 DV:1 NT:0 N:72 C:32 + +M:0 DV:1 NT:0 N:72 C:32 + +M:0 DV:1 NT:0 N:72 C:32 + +M:0 DV:1 NT:0 N:72 C:32 + +M:0 DV:1 NT:0 N:72 C:32 + +M:0 DV:1 NT:0 N:74 C:32 +>>>>>>> 10823a628534cc8495a7a4d920792bedde1654ba + diff --git a/sky130_cds/VirtuosoOA/.cdsinit b/sky130_cds/VirtuosoOA/.cdsinit new file mode 100755 index 0000000..4014908 --- /dev/null +++ b/sky130_cds/VirtuosoOA/.cdsinit @@ -0,0 +1,11 @@ +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; +; SKY130 .cdsinit +; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +setShellEnvVar("PDK_HOME=$HOME/sky130_cds") +envSetVal("layout" "xSnapSpacing" 'float 0.005) +envSetVal("layout" "ySnapSpacing" 'float 0.005) +setShellEnvVar("CDS_Netlisting_Mode=Analog") +setShellEnvVar("CDS_AUTO_64BIT=ALL") diff --git a/sky130_cds/VirtuosoOA/README.md b/sky130_cds/VirtuosoOA/README.md new file mode 100755 index 0000000..a161e3a --- /dev/null +++ b/sky130_cds/VirtuosoOA/README.md @@ -0,0 +1,11 @@ +This directory contains the Virtoso library for the SKY130 PDK. This +library is meant to get a user started and may not have all the layers +associated with a given design. It is only meant to help users get +starting using Virtuoso with the SKY130 PDK. Please consult the +documentation at Skywater Technology PDK before attempting to +fabricate using these tools. + +The environmental variable PDK_HOME should be set to the pdk +directory. A sample script is included but can be modified as needed. + + diff --git a/sky130_cds/VirtuosoOA/cds.lib b/sky130_cds/VirtuosoOA/cds.lib new file mode 100755 index 0000000..277b00a --- /dev/null +++ b/sky130_cds/VirtuosoOA/cds.lib @@ -0,0 +1,14 @@ +# File Created by James Stine at Fri Sep 16 15:14:51 2022 +# assisted by CdsLibEditor +# Cadence libraries +INCLUDE $CDS_IC/share/cdssetup/cds.lib +DEFINE bmslib $CDS_IC/tools/dfII/samples/artist/bmslib +DEFINE sky130 ./sky130 + +# OSU Standard-Cell Libraries +DEFINE sky130_osu_sc_t18 ./sky130_osu_sc_t18 +DEFINE sky130_osu_sc_t12 ./sky130_osu_sc_t12 +DEFINE sky130_osu_sc_t15 ./sky130_osu_sc_t15 + +# Test Layout +DEFINE test_sky130 ./test_sky130 diff --git a/sky130_cds/VirtuosoOA/display.drf b/sky130_cds/VirtuosoOA/display.drf new file mode 100755 index 0000000..1702217 --- /dev/null +++ b/sky130_cds/VirtuosoOA/display.drf @@ -0,0 +1,1629 @@ +drDefineDisplay( +;( DisplayName ) + ( display ) +) +drDefineColor( +;( DisplayName ColorsName Red Green Blue ) + ( display black 0 0 0 ) + ( display blinkRed 255 0 0 t ) + ( display blinkWhite 255 255 255 t ) + ( display blinkYellow 255 255 0 t ) + ( display blue 0 0 255 ) + ( display brown 191 64 38 ) + ( display cadetBlue 57 191 255 ) + ( display chocolate 128 38 38 ) + ( display cream 255 255 204 ) + ( display cyan 0 255 255 ) + ( display deepBlue 0 191 255 ) + ( display deepGold 218 165 32 ) + ( display deepLime 173 255 47 ) + ( display deepOrange 255 127 80 ) + ( display deepYellow 255 215 0 ) + ( display forest 38 140 107 ) + ( display gold 217 204 0 ) + ( display gray 204 204 217 ) + ( display green 0 204 102 ) + ( display lightBlue 150 200 255 ) + ( display lightCyan 200 255 255 ) + ( display lightGold 255 244 100 ) + ( display lightGreen 50 250 150 ) + ( display lightLime 200 255 200 ) + ( display lightMagenta 255 200 255 ) + ( display lightMaroon 255 100 100 ) + ( display lightOrange 255 178 50 ) + ( display lightRed 255 175 175 ) + ( display lightSlate 190 190 216 ) + ( display lightTan 255 245 230 ) + ( display lightViolet 174 125 255 ) + ( display lime 0 255 0 ) + ( display magenta 255 0 255 ) + ( display maroon 230 31 13 ) + ( display navy 51 51 153 ) + ( display orange 255 128 0 ) + ( display pink 255 191 242 ) + ( display purple 153 0 230 ) + ( display red 255 0 0 ) + ( display salmon 250 128 114 ) + ( display silver 217 230 255 ) + ( display slate 140 140 166 ) + ( display tan 255 230 191 ) + ( display turquoise 0 255 231 ) + ( display violet 94 0 230 ) + ( display white 255 255 255 ) + ( display winBack 224 224 224 ) + ( display winColor1 166 166 166 ) + ( display winColor2 115 115 115 ) + ( display winColor3 189 204 204 ) + ( display winColor4 204 204 204 ) + ( display winColor5 199 199 199 ) + ( display winFore 128 0 0 ) + ( display winText 51 51 51 ) + ( display yellow 255 255 0 ) +) +drDefineStipple( +;( DisplayName StippleName Bitmap ) + ( display dots ( ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display dots1 ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) ) ) + ( display hLine ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) ) ) + ( display vLine ( ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) ) ) + ( display cross ( ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) ) ) + ( display grid ( ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) ) ) + ( display slash ( ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) ) ) + ( display backSlash ( ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) ) ) + ( display hZigZag ( ( 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 ) + ( 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 ) + ( 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 ) ) ) + ( display vZigZag ( ( 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 ) + ( 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 ) + ( 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 ) + ( 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 ) + ( 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 ) + ( 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 ) + ( 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 ) + ( 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 ) + ( 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 ) + ( 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 ) + ( 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 ) + ( 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 ) + ( 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 ) + ( 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 ) + ( 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 ) + ( 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 ) ) ) + ( display hCurb ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display vCurb ( ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 ) ) ) + ( display brick ( ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) ) ) + ( display dagger ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) ) ) + ( display triangle ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display x ( ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) ) ) + ( display sparseDagger ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) ) ) + ( display sparseDagger2 ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display Xone ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 ) + ( 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 ) + ( 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 ) + ( 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 ) + ( 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 ) + ( 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display Xtwo ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 ) + ( 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 ) + ( 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 ) + ( 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display spareDots ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display spareDots21 ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display spareDots22 ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display checker ( ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) ) ) + ( display checker2 ( ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) ) ) + ( display one ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display two ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display three ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display four ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display five ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display six ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display seven ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display eight ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display box45 ( ( 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ) + ( 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ) + ( 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ) + ( 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ) ) ) + ( display gray50 ( ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ) + ( 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ) + ( 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ) ) ) + ( display gray25 ( ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display snow ( ( 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display backSlash2 ( ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 ) + ( 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 ) + ( 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) ) ) + ( display lattice ( ( 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) ) ) + ( display smallChecker ( ( 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 ) + ( 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 ) + ( 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 ) + ( 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 ) + ( 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 ) + ( 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 ) + ( 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 ) + ( 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 ) + ( 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 ) + ( 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 ) + ( 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 ) + ( 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 ) + ( 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 ) + ( 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 ) + ( 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 ) + ( 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 ) ) ) + ( display slantBox ( ( 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 ) + ( 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ) ) ) + ( display slash2 ( ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) + ( 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ) ) ) + ( display bigSlash ( ( 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 ) ) ) + ( display boxes ( ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 ) + ( 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 ) + ( 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 ) + ( 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display circles ( ( 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 ) + ( 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 ) + ( 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 ) + ( 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 ) + ( 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 ) + ( 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 ) + ( 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 ) + ( 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 ) + ( 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 ) + ( 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 ) + ( 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display zigzag ( ( 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 ) + ( 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 ) + ( 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 ) + ( 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 ) + ( 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ) + ( 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 ) + ( 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 ) ) ) + ( display lightMesh ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 ) ) ) + ( display hugeSlash ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display hugeSlash2 ( ( 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ) ) ) + ( display curve ( ( 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 ) + ( 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 ) + ( 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ) ) ) + ( display curve2 ( ( 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 ) + ( 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 ) + ( 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 ) + ( 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ) ) ) + ( display diams ( ( 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display sparsediam ( ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ) ) ) + ( display rain ( ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 ) + ( 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ) + ( 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ) ) ) +) +drDefineLineStyle( +;( DisplayName LineStyle Size Pattern ) + ( display solid 1 (1 1 1 ) ) + ( display dashed 1 (1 1 1 1 0 0 ) ) + ( display dots 1 (1 0 0 ) ) + ( display dashDot 1 (1 1 1 0 0 1 0 0 ) ) + ( display shortDash 1 (1 1 0 0 ) ) + ( display doubleDash 1 (1 1 1 1 0 0 1 1 0 0 ) ) + ( display hidden 1 (1 0 0 0 ) ) + ( display thickLine 3 (1 1 1 ) ) +) +drDefinePacket( +;( DisplayName PacketName Stipple LineStyle Fill Outline [FillStyle]) + ( display AnnotateBoundary blank solid yellow yellow outline ) + ( display Cannotoccupy X solid red red X ) + ( display CannotoccupyBnd blank solid red red outline ) + ( display Canplace blank solid cyan cyan outline ) + ( display Group dots solid green green outlineStipple) + ( display GroupBnd blank solid green green outline ) + ( display GroupLbl blank solid green green outline ) + ( display Row blank solid cyan cyan outline ) + ( display RowBnd blank solid cyan cyan outline ) + ( display RowLbl blank solid cyan cyan outline ) + ( display Unrouted blank dashed winColor5 winColor5 outline ) + ( display Unrouted1 blank dashed brown brown outline ) + ( display Unrouted2 blank dashed red red outline ) + ( display Unrouted3 blank dashed pink pink outline ) + ( display Unrouted4 blank dashed orange orange outline ) + ( display Unrouted5 blank dashed green green outline ) + ( display Unrouted6 blank dashed blue blue outline ) + ( display Unrouted7 blank dashed purple purple outline ) + ( display Unrouted8 blank dashed gold gold outline ) + ( display Unrouted9 blank dashed silver silver outline ) + ( display UnroutedTrk blank dashed yellow yellow outline ) + ( display VhviId grid solid cyan cyan outlineStipple) + ( display align blank solid tan tan outline ) + ( display annotate blank solid orange orange outline ) + ( display annotate1 blank solid pink pink outline ) + ( display annotate2 blank solid lime lime outline ) + ( display annotate3 blank solid cyan cyan outline ) + ( display annotate4 blank solid yellow yellow outline ) + ( display annotate5 blank solid white white outline ) + ( display annotate6 blank solid silver silver outline ) + ( display annotate7 blank solid red red outline ) + ( display annotate8 blank solid tan tan outline ) + ( display annotate9 blank solid green green outline ) + ( display area blank solid tan tan outline ) + ( display areaidCoreRes spareDots22 thickLine turquoise deepBlue outlineStipple) + ( display areaidDualMemory blank thickLine orange orange outline ) + ( display areaidStandardc blank thickLine magenta magenta outline ) + ( display areaidTcamMemory blank thickLine pink pink outline ) + ( display areaidWaffleWindow solid thickLine turquoise deepBlue solid ) + ( display areaidanalog blank thickLine lightMaroon lightMaroon outline ) + ( display areaidartisan blank thickLine pink pink outline ) + ( display areaidcd blank doubleDash cream cream outline ) + ( display areaidcore blank thickLine silver silver outline ) + ( display areaidcr blank doubleDash orange orange outline ) + ( display areaidde blank thickLine yellow yellow outline ) + ( display areaiddieCut blank thickLine tan tan outline ) + ( display areaiddn blank doubleDash tan tan outline ) + ( display areaidesd blank thickLine gold gold outline ) + ( display areaidextDrain20 blank thickLine deepBlue deepBlue outline ) + ( display areaidextendedDrain blank thickLine deepGold deepGold outline ) + ( display areaidferro blank thickLine lightBlue lightBlue outline ) + ( display areaidframe blank thickLine cream cream outline ) + ( display areaidframeRect blank thickLine cyan cyan outline ) + ( display areaidipExempt blank thickLine maroon maroon outline ) + ( display areaidlvdnw blank thickLine red red outline ) + ( display areaidmoduleCut blank thickLine lime lime outline ) + ( display areaidnwellIsolation spareDots22 solid cyan cyan outlineStipple) + ( display areaidopcDrop spareDots thickLine lightLime slate outlineStipple) + ( display areaidpitch blank thickLine salmon salmon outline ) + ( display areaidprobe blank thickLine purple purple outline ) + ( display areaidscr blank solid slate slate outline ) + ( display areaidseal blank thickLine white white outline ) + ( display areaidsubcktDevice blank thickLine salmon salmon outline ) + ( display areaidsubstrateCut brick solid lime orange outlineStipple) + ( display areaidsubstrateCut2 spareDots22 solid gray navy outlineStipple) + ( display assemblyBoundary blank solid yellow yellow outline ) + ( display axis blank solid white white outline ) + ( display b55capm slash solid purple purple outlineStipple) + ( display background solid solid black black solid ) + ( display beginGenericLayer blank solid yellow yellow outline ) + ( display border blank solid tan tan outline ) + ( display bpm slash solid navy gray outlineStipple) + ( display capacitor blank thickLine lightOrange lightOrange outline ) + ( display ccim blank solid blue slate outline ) + ( display ccimmask brick solid slate slate outlineStipple) + ( display cctm1 blank solid white white outline ) + ( display cctm1mask triangle solid white white outlineStipple) + ( display cctm1maskAdd dagger solid white white outlineStipple) + ( display cctm1maskDrop hLine solid white white outlineStipple) + ( display cdnm spareDots solid gold gold outlineStipple) + ( display cdnmmask brick solid gold gold outlineStipple) + ( display cdnmmaskAdd dagger solid gold gold outlineStipple) + ( display cdnmmaskDrop hCurb solid gold gold outlineStipple) + ( display cesdmask slantBox solid brown brown outlineStipple) + ( display cfom spareDots solid gray gray outlineStipple) + ( display cfommask brick solid gray gray outlineStipple) + ( display cfommaskAdd dagger solid gray gray outlineStipple) + ( display cfommaskDrop hCurb solid gray gray outlineStipple) + ( display cfomwaffle checker solid forest forest outlineStipple) + ( display cfomwaffleDrop X solid forest forest X ) + ( display changedLayerTl0 blank solid red red outline ) + ( display changedLayerTl1 blank solid yellow yellow outline ) + ( display chvntm spareDots solid lightTan lightTan outlineStipple) + ( display chvntmmask brick solid lightTan lightTan outlineStipple) + ( display chvntmmaskAdd dagger solid lightTan lightTan outlineStipple) + ( display chvntmmaskDrop hCurb solid lightTan lightTan outlineStipple) + ( display chvtpm blank solid cream orange outline ) + ( display chvtpmmask blank solid white orange outline ) + ( display chvtpmmaskAdd dagger solid white orange outlineStipple) + ( display chvtpmmaskDrop hLine solid blue orange outlineStipple) + ( display chvtrm blank solid silver red outline ) + ( display chvtrmmask blank solid maroon red outline ) + ( display chvtrmmaskAdd dagger solid maroon red outlineStipple) + ( display chvtrmmaskDrop hLine solid silver red outlineStipple) + ( display cli1m blank solid white white outline ) + ( display cli1mmask hCurb solid cyan cyan outlineStipple) + ( display cli1mmaskAdd dagger solid cyan cyan outlineStipple) + ( display cli1mmaskDrop hLine solid cyan cyan outlineStipple) + ( display cli1mwaffleDrop X solid cyan cyan X ) + ( display clicm1 blank solid white white outline ) + ( display clicm1mask blank solid silver silver outline ) + ( display clicm1maskAdd dagger solid silver silver outlineStipple) + ( display clicm1maskDrop hLine solid silver silver outlineStipple) + ( display clvom blank solid orange orange outline ) + ( display clvommask triangle solid forest forest outlineStipple) + ( display clvommaskAdd dagger solid forest forest outlineStipple) + ( display clvommaskDrop hLine solid slate slate outlineStipple) + ( display clvtnm blank solid cream lightBlue outline ) + ( display clvtnmmask blank solid white lightBlue outline ) + ( display clvtnmmaskAdd dagger solid white lightBlue outlineStipple) + ( display clvtnmmaskDrop hLine solid blue lightBlue outlineStipple) + ( display cmm1 spareDots solid blue blue outlineStipple) + ( display cmm1mask brick solid blue blue outlineStipple) + ( display cmm1maskAdd dagger solid blue blue outlineStipple) + ( display cmm1maskDrop hCurb solid blue blue outlineStipple) + ( display cmm1waffle checker solid blue blue outlineStipple) + ( display cmm1waffleAdd1 Xone solid blue blue outlineStipple) + ( display cmm1waffleAdd2 Xtwo solid blue blue outlineStipple) + ( display cmm1waffleDrop X solid blue blue X ) + ( display cmm2 spareDots solid pink pink outlineStipple) + ( display cmm2mask brick solid pink pink outlineStipple) + ( display cmm2maskAdd dagger solid pink pink outlineStipple) + ( display cmm2maskDrop hCurb solid pink pink outlineStipple) + ( display cmm2waffle checker solid pink pink outlineStipple) + ( display cmm2waffleAdd1 Xone solid pink pink outlineStipple) + ( display cmm2waffleAdd2 Xtwo solid pink pink outlineStipple) + ( display cmm2waffleDrop X solid pink pink X ) + ( display cmm3 spareDots solid violet violet outlineStipple) + ( display cmm3mask brick solid violet violet outlineStipple) + ( display cmm3maskAdd dagger solid violet violet outlineStipple) + ( display cmm3maskDrop hCurb solid violet violet outlineStipple) + ( display cmm3waffle checker solid violet violet outlineStipple) + ( display cmm3waffleAdd1 Xone solid violet violet outlineStipple) + ( display cmm3waffleAdd2 Xtwo solid violet violet outlineStipple) + ( display cmm3waffleDrop X solid violet violet X ) + ( display cmm4 spareDots solid green green outlineStipple) + ( display cmm4mask brick solid green green outlineStipple) + ( display cmm4maskAdd dagger solid green green outlineStipple) + ( display cmm4maskDrop hCurb solid green green outlineStipple) + ( display cmm4waffle checker solid green green outlineStipple) + ( display cmm4waffleAdd1 Xone solid green green outlineStipple) + ( display cmm4waffleAdd2 Xtwo solid green green outlineStipple) + ( display cmm4waffleDrop X solid green green X ) + ( display cmm5 spareDots solid orange orange outlineStipple) + ( display cmm5mask brick solid orange orange outlineStipple) + ( display cmm5maskAdd dagger solid orange orange outlineStipple) + ( display cmm5maskDrop hCurb solid orange orange outlineStipple) + ( display cmm5waffle checker solid orange orange outlineStipple) + ( display cmm5waffleAdd1 Xone solid orange orange outlineStipple) + ( display cmm5waffleAdd2 Xtwo solid orange orange outlineStipple) + ( display cmm5waffleDrop X solid orange orange X ) + ( display cmm8 spareDots solid green green outlineStipple) + ( display cmm8mask brick solid green green outlineStipple) + ( display cmm8maskAdd dagger solid green green outlineStipple) + ( display cmm8maskDrop hCurb solid green green outlineStipple) + ( display cmm8waffle checker solid green green outlineStipple) + ( display cmm8waffleAdd1 Xone solid green green outlineStipple) + ( display cmm8waffleAdd2 Xtwo solid green green outlineStipple) + ( display cmm8waffleDrop X solid green green X ) + ( display cmsm blank thickLine lime magenta outline ) + ( display cncm blank solid orange orange outline ) + ( display cncmmask blank solid red red outline ) + ( display cnsdm spareDots solid green green outlineStipple) + ( display cnsdmmask brick solid green green outlineStipple) + ( display cnsdmmaskAdd dagger solid green green outlineStipple) + ( display cnsdmmaskDrop hCurb solid green green outlineStipple) + ( display cntm spareDots solid gold gold outlineStipple) + ( display cntmmask brick solid gold gold outlineStipple) + ( display cntmmaskAdd dagger solid gold gold outlineStipple) + ( display cntmmaskDrop hCurb solid gold gold outlineStipple) + ( display cnwm spareDots solid forest forest outlineStipple) + ( display cnwmmask brick solid forest forest outlineStipple) + ( display cnwmmaskAdd dagger solid forest forest outlineStipple) + ( display cnwmmaskDrop hCurb solid forest forest outlineStipple) + ( display conom blank solid red red outline ) + ( display conommask blank solid red red outline ) + ( display conommaskAdd dagger solid red red outlineStipple) + ( display conommaskDrop hLine solid red red outlineStipple) + ( display cp1m spareDots solid orange orange outlineStipple) + ( display cp1mmask brick solid orange orange outlineStipple) + ( display cp1mmaskAdd dagger solid orange orange outlineStipple) + ( display cp1mmaskDrop hCurb solid orange orange outlineStipple) + ( display cp1mwaffle checker solid purple purple outlineStipple) + ( display cp1mwaffleDrop X solid purple purple X ) + ( display cpdm spareDots solid tan tan outlineStipple) + ( display cpdmm spareDots solid chocolate chocolate outlineStipple) + ( display cpdmmask brick solid tan tan outlineStipple) + ( display cpdmmaskAdd dagger solid tan tan outlineStipple) + ( display cpdmmaskDrop hCurb solid tan tan outlineStipple) + ( display cpdmmmask brick solid chocolate chocolate outlineStipple) + ( display cpdmmmaskDrop hLine solid chocolate chocolate outlineStipple) + ( display cpsdm spareDots solid yellow yellow outlineStipple) + ( display cpsdmmask brick solid yellow yellow outlineStipple) + ( display cpsdmmaskAdd dagger solid yellow yellow outlineStipple) + ( display cpsdmmaskDrop hCurb solid yellow yellow outlineStipple) + ( display crpm blank solid white white outline ) + ( display crpmmask blank solid white white outline ) + ( display crpmmaskAdd dagger solid white white outlineStipple) + ( display crpmmaskDrop hLine solid white white outlineStipple) + ( display crrpmmask dagger solid purple purple outlineStipple) + ( display csilm blank solid white white outline ) + ( display csilmmask smallChecker solid maroon maroon outlineStipple) + ( display csilmmaskAdd dagger solid maroon maroon outlineStipple) + ( display csilmmaskDrop hLine solid maroon maroon outlineStipple) + ( display ctunm blank solid white white outline ) + ( display ctunmmask blank solid slate slate outline ) + ( display ctunmmaskAdd dagger solid white white outlineStipple) + ( display ctunmmaskDrop hLine solid white white outlineStipple) + ( display cviam blank solid cream cream outline ) + ( display cviam2 blank solid navy navy outline ) + ( display cviam2mask triangle solid navy navy outlineStipple) + ( display cviam2maskAdd dagger solid navy navy outlineStipple) + ( display cviam2maskDrop hLine solid navy navy outlineStipple) + ( display cviam3 blank solid forest forest outline ) + ( display cviam3mask triangle solid forest forest outlineStipple) + ( display cviam3maskAdd dagger solid forest forest outlineStipple) + ( display cviam3maskDrop hLine solid forest forest outlineStipple) + ( display cviam4 blank solid cyan cyan outline ) + ( display cviam4mask triangle solid cyan cyan outlineStipple) + ( display cviam4maskAdd dagger solid cyan cyan outlineStipple) + ( display cviam4maskDrop hLine solid cyan cyan outlineStipple) + ( display cviam5 blank solid magenta magenta outline ) + ( display cviam5mask triangle solid magenta magenta outlineStipple) + ( display cviam5maskAdd dagger solid magenta magenta outlineStipple) + ( display cviam5maskDrop hLine solid magenta magenta outlineStipple) + ( display cviammask triangle solid cream cream outlineStipple) + ( display cviammaskAdd dagger solid cream cream outlineStipple) + ( display cviammaskDrop hLine solid cream cream outlineStipple) + ( display defaultPacket blank solid white yellow outline ) + ( display designFlow dots solid blue blue outlineStipple) + ( display designFlow1 dots solid purple purple outlineStipple) + ( display designFlow2 dots solid magenta magenta outlineStipple) + ( display designFlow3 dots solid cyan cyan outlineStipple) + ( display designFlow4 dots solid forest forest outlineStipple) + ( display designFlow5 dots solid green green outlineStipple) + ( display designFlow6 dots solid orange orange outlineStipple) + ( display designFlow7 dots solid yellow yellow outlineStipple) + ( display designFlow8 dots solid brown brown outlineStipple) + ( display designFlow9 dots solid red red outlineStipple) + ( display device blank solid green green outline ) + ( display device1 solid solid green green solid ) + ( display device2 blank dashed green green outline ) + ( display deviceAnt blank solid yellow yellow outline ) + ( display deviceLbl blank solid green green outline ) + ( display diff gray50 solid lime lime outlineStipple) + ( display diffBnd blank solid lime lime outline ) + ( display diffCut solid solid lime lime solid ) + ( display diffHv snow solid purple purple outlineStipple) + ( display diffLabel solid solid lightLime lightLime solid ) + ( display diffNet cross solid lime lime outlineStipple) + ( display diffPin snow solid forest forest outlineStipple) + ( display diffProbe solid solid lime lime solid ) + ( display diffRes X solid lime lime X ) + ( display dnwell hugeSlash solid lightLime lightLime outlineStipple) + ( display drill blank solid yellow yellow outline ) + ( display drive blank solid blue blue outline ) + ( display edgeLayer blank solid winColor5 winColor5 outline ) + ( display edgeLayerPin blank solid yellow yellow outline ) + ( display elm lattice solid lightBlue white outlineStipple) + ( display endGenericLayer blank solid yellow yellow outline ) + ( display feedthru blank thickLine lightLime lightLime outline ) + ( display fix dots thickLine lightSlate lightSlate outlineStipple) + ( display grid blank solid slate slate outline ) + ( display grid1 blank solid white white outline ) + ( display halo1 blank solid yellow yellow outline ) + ( display halo10 blank solid brown brown outline ) + ( display halo11 blank solid cadetBlue cadetBlue outline ) + ( display halo12 blank solid navy navy outline ) + ( display halo13 blank solid chocolate chocolate outline ) + ( display halo14 blank solid maroon maroon outline ) + ( display halo15 blank solid tan tan outline ) + ( display halo16 blank solid gold gold outline ) + ( display halo17 blank solid forest forest outline ) + ( display halo18 blank solid slate slate outline ) + ( display halo19 blank solid cream cream outline ) + ( display halo2 blank solid cyan cyan outline ) + ( display halo20 blank solid silver silver outline ) + ( display halo3 blank solid orange orange outline ) + ( display halo4 blank solid pink pink outline ) + ( display halo5 blank solid green green outline ) + ( display halo6 blank solid blue blue outline ) + ( display halo7 blank solid violet violet outline ) + ( display halo8 blank solid white white outline ) + ( display halo9 blank solid gray gray outline ) + ( display hardFence blank solid red red outline ) + ( display hilite blank solid white white outline ) + ( display hilite1 dots solid magenta magenta outlineStipple) + ( display hilite2 blank solid tan tan outline ) + ( display hilite3 blank solid cyan cyan outline ) + ( display hilite4 blank solid orange orange outline ) + ( display hilite5 blank solid lime lime outline ) + ( display hilite6 blank solid orange orange outline ) + ( display hilite7 blank solid cream cream outline ) + ( display hilite8 blank solid magenta magenta outline ) + ( display hilite9 blank solid pink pink outline ) + ( display hiz blank solid orange orange outline ) + ( display hvi vLine solid purple purple outlineStipple) + ( display hvntm spareDots solid yellow yellow outlineStipple) + ( display hvtp dagger solid white orange outlineStipple) + ( display hvtr dagger solid maroon red outlineStipple) + ( display indm snow solid gold gold outlineStipple) + ( display inductor blank solid gold gold outline ) + ( display inductorLabel solid solid lightGold lightGold solid ) + ( display inductorTerm1 one solid white navy outlineStipple) + ( display inductorTerm2 two solid white navy outlineStipple) + ( display inductorTerm3 three solid white navy outlineStipple) + ( display instance blank solid red red outline ) + ( display instanceLbl blank solid gold gold outline ) + ( display internalGenericLayer blank solid yellow yellow outline ) + ( display li1 cross solid tan tan outlineStipple) + ( display li1Blkg rain solid brown brown outlineStipple) + ( display li1Bnd blank solid silver silver outline ) + ( display li1Cut solid solid tan tan solid ) + ( display li1Fuse X solid tan tan X ) + ( display li1Label solid solid brown brown solid ) + ( display li1Net rain solid tan tan outlineStipple) + ( display li1Pin lightMesh solid brown brown outlineStipple) + ( display li1Probe solid solid tan tan solid ) + ( display li1Res X solid tan tan X ) + ( display li1Short snow solid tan tan outlineStipple) + ( display licon1 checker solid cream cream outlineStipple) + ( display licon1Bnd blank solid cream cream outline ) + ( display licon1Net cross solid cream cream outlineStipple) + ( display licon1Pin grid solid lightCyan tan outlineStipple) + ( display lvtn sparseDagger solid white lightBlue outlineStipple) + ( display markerAck X solid yellow yellow X ) + ( display markerAno X solid blue blue X ) + ( display markerCrt X solid red red X ) + ( display markerErr X solid blinkWhite blinkWhite X ) + ( display markerFat X solid blinkRed blinkRed X ) + ( display markerInf X solid green green X ) + ( display markerScr X solid red red X ) + ( display markerSer X solid orange orange X ) + ( display markerWarn X solid blinkYellow blinkYellow X ) + ( display mcon solid solid gray gray solid ) + ( display mconBnd blank solid gray gray outline ) + ( display mconNet cross solid gray gray outlineStipple) + ( display mconPin grid solid silver cream outlineStipple) + ( display met1 slash solid blue blue outlineStipple) + ( display met1Blkg rain solid blue blue outlineStipple) + ( display met1Block blank solid lightBlue lightBlue outline ) + ( display met1Bnd blank solid blue blue outline ) + ( display met1Cut solid solid blue blue solid ) + ( display met1Fuse X solid blue blue X ) + ( display met1Hv bigSlash solid blue blue outlineStipple) + ( display met1Hvlabel lattice solid lightBlue lightBlue outlineStipple) + ( display met1Hvpin grid solid violet violet outlineStipple) + ( display met1Label solid solid lightBlue lightBlue solid ) + ( display met1Metop1 one solid blue blue outlineStipple) + ( display met1Metop2 two solid blue blue outlineStipple) + ( display met1Metop3 three solid blue blue outlineStipple) + ( display met1Metop4 four solid blue blue outlineStipple) + ( display met1Metop5 five solid blue blue outlineStipple) + ( display met1Metop6 six solid blue blue outlineStipple) + ( display met1Metop7 seven solid blue blue outlineStipple) + ( display met1Metop8 eight solid blue blue outlineStipple) + ( display met1Net cross solid violet violet outlineStipple) + ( display met1Pin grid solid violet violet outlineStipple) + ( display met1Probe solid solid blue blue solid ) + ( display met1Psa1 slash solid slate slate outlineStipple) + ( display met1Psa2 slash solid turquoise turquoise outlineStipple) + ( display met1Psa3 slash solid cream cream outlineStipple) + ( display met1Psa4 slash solid chocolate chocolate outlineStipple) + ( display met1Psa5 slash solid navy navy outlineStipple) + ( display met1Psa6 slash solid salmon salmon outlineStipple) + ( display met1Res X solid blue blue X ) + ( display met1Short snow solid blue blue outlineStipple) + ( display met2 backSlash2 solid magenta magenta outlineStipple) + ( display met2Blkg rain solid magenta magenta outlineStipple) + ( display met2Block blank solid lightMagenta lightMagenta outline ) + ( display met2Bnd blank solid magenta magenta outline ) + ( display met2Cut solid solid magenta magenta solid ) + ( display met2Fuse X solid magenta magenta X ) + ( display met2Hv bigSlash solid magenta magenta outlineStipple) + ( display met2Hvlabel lattice solid lightMagenta lightMagenta outlineStipple) + ( display met2Hvpin zigzag solid magenta magenta outlineStipple) + ( display met2Label solid solid lightMagenta lightMagenta solid ) + ( display met2Metop1 one solid magenta magenta outlineStipple) + ( display met2Metop2 two solid magenta magenta outlineStipple) + ( display met2Metop3 three solid magenta magenta outlineStipple) + ( display met2Metop4 four solid magenta magenta outlineStipple) + ( display met2Metop5 five solid magenta magenta outlineStipple) + ( display met2Metop6 six solid magenta magenta outlineStipple) + ( display met2Metop7 seven solid magenta magenta outlineStipple) + ( display met2Metop8 eight solid magenta magenta outlineStipple) + ( display met2Net cross solid magenta magenta outlineStipple) + ( display met2Pin zigzag solid magenta magenta outlineStipple) + ( display met2Probe solid solid magenta magenta solid ) + ( display met2Psa1 backSlash2 solid slate slate outlineStipple) + ( display met2Psa2 backSlash2 solid turquoise turquoise outlineStipple) + ( display met2Psa3 backSlash2 solid cream cream outlineStipple) + ( display met2Psa4 backSlash2 solid chocolate chocolate outlineStipple) + ( display met2Psa5 backSlash2 solid navy navy outlineStipple) + ( display met2Psa6 backSlash2 solid salmon salmon outlineStipple) + ( display met2Res X solid magenta magenta X ) + ( display met2Short snow solid magenta magenta outlineStipple) + ( display met3 curve solid cyan cyan outlineStipple) + ( display met3Blkg rain solid cyan cyan outlineStipple) + ( display met3Block blank solid lightLime lightLime outline ) + ( display met3Bnd blank solid cyan cyan outline ) + ( display met3Cut solid solid cyan cyan solid ) + ( display met3Fuse X solid cyan cyan X ) + ( display met3Hv hugeSlash solid forest forest outlineStipple) + ( display met3Hvlabel lattice solid lightLime lightLime outlineStipple) + ( display met3Hvpin zigzag solid green green outlineStipple) + ( display met3Label solid solid lightCyan lightCyan solid ) + ( display met3Metop1 one solid cyan cyan outlineStipple) + ( display met3Metop2 two solid cyan cyan outlineStipple) + ( display met3Metop3 three solid cyan cyan outlineStipple) + ( display met3Metop4 four solid cyan cyan outlineStipple) + ( display met3Metop5 five solid cyan cyan outlineStipple) + ( display met3Metop6 six solid cyan cyan outlineStipple) + ( display met3Metop7 seven solid cyan cyan outlineStipple) + ( display met3Metop8 eight solid cyan cyan outlineStipple) + ( display met3Net cross solid cyan cyan outlineStipple) + ( display met3Pin gray50 solid cyan cyan outlineStipple) + ( display met3Probe solid solid cyan cyan solid ) + ( display met3Psa1 curve solid slate slate outlineStipple) + ( display met3Psa2 curve solid turquoise turquoise outlineStipple) + ( display met3Psa3 curve solid cream cream outlineStipple) + ( display met3Psa4 curve solid chocolate chocolate outlineStipple) + ( display met3Psa5 curve solid navy navy outlineStipple) + ( display met3Psa6 curve solid salmon salmon outlineStipple) + ( display met3Res X solid cyan cyan X ) + ( display met3Short snow solid cyan cyan outlineStipple) + ( display met4 sparseDagger solid violet violet outlineStipple) + ( display met4Blkg rain solid violet violet outlineStipple) + ( display met4Block blank solid lightViolet lightViolet outline ) + ( display met4Bnd blank solid violet violet outline ) + ( display met4Cut solid solid violet violet solid ) + ( display met4Fuse X solid violet violet X ) + ( display met4Label solid solid lightViolet lightViolet solid ) + ( display met4Metop1 one solid violet violet outlineStipple) + ( display met4Metop2 two solid violet violet outlineStipple) + ( display met4Metop3 three solid violet violet outlineStipple) + ( display met4Metop4 four solid violet violet outlineStipple) + ( display met4Metop5 five solid violet violet outlineStipple) + ( display met4Metop6 six solid violet violet outlineStipple) + ( display met4Metop7 seven solid violet violet outlineStipple) + ( display met4Metop8 eight solid violet violet outlineStipple) + ( display met4Net cross solid violet violet outlineStipple) + ( display met4Pin gray50 solid violet violet outlineStipple) + ( display met4Probe solid solid violet violet solid ) + ( display met4Psa1 sparseDagger solid slate slate outlineStipple) + ( display met4Psa2 sparseDagger solid turquoise turquoise outlineStipple) + ( display met4Psa3 sparseDagger solid cream cream outlineStipple) + ( display met4Psa4 sparseDagger solid chocolate chocolate outlineStipple) + ( display met4Psa5 sparseDagger solid navy navy outlineStipple) + ( display met4Psa6 sparseDagger solid salmon salmon outlineStipple) + ( display met4Res X solid violet violet X ) + ( display met4Short snow solid violet violet outlineStipple) + ( display met5 bigSlash solid gold gold outlineStipple) + ( display met5Blkg rain solid gold gold outlineStipple) + ( display met5Block blank solid lightGold lightGold outline ) + ( display met5Bnd blank solid gold gold outline ) + ( display met5Cut solid solid gold gold solid ) + ( display met5Fuse X solid gold gold X ) + ( display met5Label solid solid lightGold lightGold solid ) + ( display met5Metop1 one solid gold gold outlineStipple) + ( display met5Metop2 two solid gold gold outlineStipple) + ( display met5Metop3 three solid gold gold outlineStipple) + ( display met5Metop4 four solid gold gold outlineStipple) + ( display met5Metop5 five solid gold gold outlineStipple) + ( display met5Metop6 six solid gold gold outlineStipple) + ( display met5Metop7 seven solid gold gold outlineStipple) + ( display met5Metop8 eight solid gold gold outlineStipple) + ( display met5Net cross solid gold gold outlineStipple) + ( display met5Pin gray50 solid gold gold outlineStipple) + ( display met5Probe solid solid gold gold solid ) + ( display met5Psa1 bigSlash solid slate slate outlineStipple) + ( display met5Psa2 bigSlash solid turquoise turquoise outlineStipple) + ( display met5Psa3 bigSlash solid cream cream outlineStipple) + ( display met5Psa4 bigSlash solid chocolate chocolate outlineStipple) + ( display met5Psa5 bigSlash solid navy navy outlineStipple) + ( display met5Psa6 bigSlash solid salmon salmon outlineStipple) + ( display met5Res X solid gold gold X ) + ( display met5Short snow solid gold gold outlineStipple) + ( display met6 vZigZag solid tan tan outlineStipple) + ( display met6Blkg rain solid lightTan lightTan outlineStipple) + ( display met6Block blank solid lightTan lightTan outline ) + ( display met6Bnd blank solid tan tan outline ) + ( display met6Cut solid solid tan tan solid ) + ( display met6Fuse X solid tan tan X ) + ( display met6Label solid solid lightTan lightTan solid ) + ( display met6Metop1 one solid tan tan outlineStipple) + ( display met6Metop2 two solid tan tan outlineStipple) + ( display met6Metop3 three solid tan tan outlineStipple) + ( display met6Metop4 four solid tan tan outlineStipple) + ( display met6Metop5 five solid tan tan outlineStipple) + ( display met6Metop6 six solid tan tan outlineStipple) + ( display met6Metop7 seven solid tan tan outlineStipple) + ( display met6Metop8 eight solid tan tan outlineStipple) + ( display met6Net cross solid tan tan outlineStipple) + ( display met6Pin gray50 solid tan tan outlineStipple) + ( display met6Probe solid solid tan tan solid ) + ( display met6Psa1 vZigZag solid slate slate outlineStipple) + ( display met6Psa2 vZigZag solid turquoise turquoise outlineStipple) + ( display met6Psa3 vZigZag solid cream cream outlineStipple) + ( display met6Psa4 vZigZag solid chocolate chocolate outlineStipple) + ( display met6Psa5 vZigZag solid navy navy outlineStipple) + ( display met6Psa6 vZigZag solid salmon salmon outlineStipple) + ( display met6Res X solid tan tan X ) + ( display met6Short snow solid tan tan outlineStipple) + ( display met7 hugeSlash solid maroon maroon outlineStipple) + ( display met7Blkg rain solid maroon maroon outlineStipple) + ( display met7Block blank solid lightMaroon lightMaroon outline ) + ( display met7Bnd blank solid maroon maroon outline ) + ( display met7Cut solid solid maroon maroon solid ) + ( display met7Fuse X solid maroon maroon X ) + ( display met7Label solid solid lightMaroon lightMaroon solid ) + ( display met7Metop1 one solid maroon maroon outlineStipple) + ( display met7Metop2 two solid maroon maroon outlineStipple) + ( display met7Metop3 three solid maroon maroon outlineStipple) + ( display met7Metop4 four solid maroon maroon outlineStipple) + ( display met7Metop5 five solid maroon maroon outlineStipple) + ( display met7Metop6 six solid maroon maroon outlineStipple) + ( display met7Metop7 seven solid maroon maroon outlineStipple) + ( display met7Metop8 eight solid maroon maroon outlineStipple) + ( display met7Net cross solid maroon maroon outlineStipple) + ( display met7Pin gray50 solid maroon maroon outlineStipple) + ( display met7Probe solid solid maroon maroon solid ) + ( display met7Psa1 vZigZag solid red red outlineStipple) + ( display met7Psa2 vZigZag solid blue blue outlineStipple) + ( display met7Psa3 vZigZag solid green green outlineStipple) + ( display met7Psa4 vZigZag solid white white outlineStipple) + ( display met7Psa5 vZigZag solid yellow yellow outlineStipple) + ( display met7Psa6 vZigZag solid brown brown outlineStipple) + ( display met7Res X solid maroon maroon X ) + ( display met7Short snow solid maroon maroon outlineStipple) + ( display met8 curve2 solid green green outlineStipple) + ( display met8Blkg rain solid green green outlineStipple) + ( display met8Block blank solid lightGreen lightGreen outline ) + ( display met8Bnd blank solid green green outline ) + ( display met8Cut solid solid green green solid ) + ( display met8Fuse X solid green green X ) + ( display met8Label solid solid lightGreen lightGreen solid ) + ( display met8Metop1 one solid green green outlineStipple) + ( display met8Metop2 two solid green green outlineStipple) + ( display met8Metop3 three solid green green outlineStipple) + ( display met8Metop4 four solid green green outlineStipple) + ( display met8Metop5 five solid green green outlineStipple) + ( display met8Metop6 six solid green green outlineStipple) + ( display met8Metop7 seven solid green green outlineStipple) + ( display met8Metop8 eight solid green green outlineStipple) + ( display met8Net cross solid green green outlineStipple) + ( display met8Pin gray50 solid green green outlineStipple) + ( display met8Probe solid solid green green solid ) + ( display met8Res X solid green green X ) + ( display met8Short snow solid green green outlineStipple) + ( display msm blank thickLine red red outline ) + ( display ncm dagger solid tan tan outlineStipple) + ( display npm spareDots solid pink pink outlineStipple) + ( display npn X solid cyan cyan X ) + ( display npnlabel solid solid lightCyan lightCyan solid ) + ( display nsdm spareDots21 solid maroon maroon outlineStipple) + ( display nwell spareDots solid green green outlineStipple) + ( display nwellBnd blank solid forest forest outline ) + ( display nwellCut solid solid forest forest solid ) + ( display nwellLabel solid solid navy navy solid ) + ( display nwellNet cross solid forest forest outlineStipple) + ( display nwellPin snow solid forest forest outlineStipple) + ( display nwellProbe solid solid forest forest solid ) + ( display nwellRes X solid forest forest X ) + ( display overlap blank thickLine deepBlue deepBlue outline ) + ( display overlapBnd blank thickLine deepOrange deepOrange outline ) + ( display pad spareDots solid cream cream outlineStipple) + ( display padLabel solid solid silver silver solid ) + ( display padPin gray50 solid silver silver outlineStipple) + ( display per dots thickLine deepLime deepLime outlineStipple) + ( display pin solid solid red red solid ) + ( display pinAnt blank solid red red outline ) + ( display pinLbl blank solid red red outline ) + ( display pnp X solid magenta magenta X ) + ( display pnplabel solid solid lightMagenta lightMagenta solid ) + ( display poly slash2 solid red red outlineStipple) + ( display polyBnd blank solid red red outline ) + ( display polyCut solid solid red red solid ) + ( display polyFuse X solid red red X ) + ( display polyGate X solid red red X ) + ( display polyHv hugeSlash2 solid red red outlineStipple) + ( display polyHvlabel lattice solid lightRed lightRed outlineStipple) + ( display polyHvpin lattice solid orange orange outlineStipple) + ( display polyLabel solid solid lightRed lightRed solid ) + ( display polyModel solid solid red red solid ) + ( display polyNet cross solid red red outlineStipple) + ( display polyPin lattice solid orange orange outlineStipple) + ( display polyProbe solid solid red red solid ) + ( display polyRes X solid red red X ) + ( display polyShort snow solid red red outlineStipple) + ( display post2 spareDots dashed tan tan outlineStipple) + ( display prBoundary blank solid purple purple outline ) + ( display prBoundaryBnd blank solid cyan cyan outline ) + ( display prBoundaryLbl blank solid purple purple outline ) + ( display prbdg slash solid gray gray outlineStipple) + ( display prunedg blank solid white yellow outline ) + ( display psdm spareDots22 solid purple purple outlineStipple) + ( display pwell spareDots solid cyan cyan outlineStipple) + ( display resist blank solid cyan cyan outline ) + ( display rpolyCut solid solid pink pink solid ) + ( display rpolyLabel solid solid purple purple solid ) + ( display rpolyPin lattice solid pink pink outlineStipple) + ( display rpolyRes X solid pink pink X ) + ( display select blank solid tan tan outline ) + ( display silm blank solid brown brown outline ) + ( display snap blank solid yellow yellow outline ) + ( display softFence blank solid yellow yellow outline ) + ( display solderMaskBottom blank solid yellow yellow outline ) + ( display solderMaskTop blank solid yellow yellow outline ) + ( display spike blank solid purple purple outline ) + ( display stretch blank solid yellow yellow outline ) + ( display supply blank solid lime lime outline ) + ( display tap gray50 solid gold gold outlineStipple) + ( display tapBnd blank solid gold gold outline ) + ( display tapLabel solid solid lightGold lightGold solid ) + ( display tapNet cross solid gold gold outlineStipple) + ( display tapPin grid solid gold gold outlineStipple) + ( display target blank solid blue blue outline ) + ( display text blank solid white white outline ) + ( display text1 blank dashed white white outline ) + ( display text2 solid solid white white solid ) + ( display tunm slash2 solid purple purple outlineStipple) + ( display unknown blank solid yellow yellow outline ) + ( display unset blank solid forest forest outline ) + ( display via solid solid violet violet solid ) + ( display via2 X thickLine orange orange X ) + ( display via2Bnd blank solid orange orange outline ) + ( display via2Net cross solid orange orange outlineStipple) + ( display via2Pin grid solid orange orange outlineStipple) + ( display via3 X thickLine forest forest X ) + ( display via3Bnd blank solid forest forest outline ) + ( display via3Net cross solid forest forest outlineStipple) + ( display via3Pin grid solid forest forest outlineStipple) + ( display via4 X thickLine yellow yellow X ) + ( display via4Bnd blank solid yellow yellow outline ) + ( display via4Net cross solid yellow yellow outlineStipple) + ( display via4Pin grid solid yellow yellow outlineStipple) + ( display via5 X thickLine brown brown X ) + ( display via5Bnd blank solid brown brown outline ) + ( display via5Net cross solid brown brown outlineStipple) + ( display via5Pin grid solid brown brown outlineStipple) + ( display via6 X thickLine pink pink X ) + ( display via6Bnd blank solid pink pink outline ) + ( display via6Net cross solid pink pink outlineStipple) + ( display via6Pin grid solid pink pink outlineStipple) + ( display via7 X thickLine lime lime X ) + ( display via7Bnd blank solid lime lime outline ) + ( display via7Net cross solid lime lime outlineStipple) + ( display via7Pin grid solid lime lime outlineStipple) + ( display viaBnd blank solid violet violet outline ) + ( display viaNet cross solid violet violet outlineStipple) + ( display viaPin grid solid lightViolet lightViolet outlineStipple) + ( display wire solid solid cadetBlue cadetBlue solid ) + ( display wireFlt blank dashed red red outline ) + ( display wireLbl solid solid cadetBlue cadetBlue solid ) + ( display wirebond blank solid yellow yellow outline ) + ( display wirebondFingerGuide blank solid yellow yellow outline ) + ( display y0 blank solid yellow yellow outline ) + ( display y0Flt blank solid yellow yellow outline ) + ( display y1 blank solid red red outline ) + ( display y1Flt blank solid red red outline ) + ( display y2 blank solid green green outline ) + ( display y2Flt blank solid green green outline ) + ( display y3 blank solid magenta magenta outline ) + ( display y3Flt blank solid magenta magenta outline ) + ( display y4 blank solid cyan cyan outline ) + ( display y4Flt blank solid cyan cyan outline ) + ( display y5 blank solid purple purple outline ) + ( display y5Flt blank solid purple purple outline ) + ( display y6 blank solid orange orange outline ) + ( display y6Flt blank solid orange orange outline ) + ( display y7 blank solid gold gold outline ) + ( display y7Flt blank solid gold gold outline ) + ( display y8 blank solid blue blue outline ) + ( display y8Flt blank solid blue blue outline ) + ( display y9 blank solid silver silver outline ) + ( display y9Flt blank solid silver silver outline ) +) diff --git a/sky130_cds/VirtuosoOA/layer.map b/sky130_cds/VirtuosoOA/layer.map new file mode 100755 index 0000000..1f5cbd8 --- /dev/null +++ b/sky130_cds/VirtuosoOA/layer.map @@ -0,0 +1,335 @@ +#Layer Name Layer Purpose Layer Stream Number Datatype Stream Number + +areaid analog 81 79 +areaid core 81 2 +areaid critCorner 81 51 +areaid critSid 81 52 +areaid deadZon 81 50 +areaid dieCut 81 11 +areaid diode 81 23 +areaid esd 81 19 +areaid etest 81 101 +areaid extendedDrain 81 57 +areaid frame 81 3 +areaid frameRect 81 12 +areaid hvnwell 81 63 +areaid injection 81 17 +areaid lowTapDensity 81 14 +areaid lvNative 81 60 +areaid moduleCut 81 10 +areaid notCritSide 81 15 +areaid opcDrop 81 54 +areaid photo 81 81 +areaid rdlprobepad 81 27 +areaid rfdiode 81 125 +areaid seal 81 1 +areaid sigPadDiff 81 6 +areaid sigPadMetNtr 81 8 +areaid sigPadWell 81 7 +areaid standardc 81 4 +areaid substrateCut 81 53 +areaid waffleWindow 81 13 +blanking drawing 124 40 +bump drawing 127 22 +capacitor drawing 82 64 +cbump mask 101 0 +cctm1 drawing 101 44 +cctm1 mask 35 0 +cctm1 maskAdd 101 43 +cctm1 maskDrop 101 42 +ccu1m mask 93 0 +cdnm drawing 110 20 +cdnm mask 48 0 +cdnm maskAdd 110 21 +cdnm maskDrop 110 22 +cfom drawing 22 20 +cfom mask 23 0 +cfom maskAdd 22 21 +cfom maskDrop 22 22 +cfom waffleDrop 22 24 +chvntm drawing 38 20 +chvntm mask 39 0 +chvntm maskAdd 38 21 +chvntm maskDrop 38 22 +chvtpm drawing 88 44 +chvtpm mask 97 0 +chvtpm maskAdd 97 43 +chvtpm maskDrop 97 42 +chvtrm drawing 98 44 +chvtrm mask 98 0 +chvtrm maskAdd 98 43 +chvtrm maskDrop 98 42 +cldntm drawing 11 20 +cldntm mask 11 0 +cli1m drawing 115 44 +cli1m mask 56 0 +cli1m maskAdd 115 43 +cli1m maskDrop 115 42 +clicm1 drawing 106 44 +clicm1 mask 43 0 +clicm1 maskAdd 106 43 +clicm1 maskDrop 106 42 +clvom drawing 45 20 +clvom mask 46 0 +clvom maskAdd 45 21 +clvom maskDrop 45 22 +clvtnm drawing 25 44 +clvtnm mask 25 0 +clvtnm maskAdd 25 43 +clvtnm maskDrop 25 42 +cmm1 drawing 62 20 +cmm1 mask 36 0 +cmm1 maskAdd 62 21 +cmm1 maskDrop 62 22 +cmm1 waffleDrop 62 24 +cmm2 drawing 105 44 +cmm2 mask 41 0 +cmm2 maskAdd 105 43 +cmm2 maskDrop 105 42 +cmm2 waffleDrop 105 52 +cmm3 drawing 107 20 +cmm3 mask 34 0 +cmm3 maskAdd 107 21 +cmm3 maskDrop 107 22 +cmm3 waffleDrop 107 24 +cmm4 mask 51 0 +cmm4 maskAdd 112 43 +cmm4 maskDrop 112 42 +cmm4 waffleDrop 112 4 +cmm5 mask 59 0 +cmm5 waffleDrop 117 4 +cncm drawing 96 44 +cncm mask 17 0 +cnpc drawing 44 20 +cnpc mask 49 0 +cnpc maskAdd 44 43 +cnpc maskDrop 44 42 +cnsdm drawing 29 20 +cnsdm mask 30 0 +cnsdm maskAdd 29 21 +cnsdm maskDrop 29 22 +cnsm mask 22 0 +cntm drawing 26 20 +cntm mask 27 0 +cntm maskAdd 26 21 +cntm maskDrop 26 22 +cnwm drawing 109 44 +cnwm mask 21 0 +cnwm maskAdd 109 43 +cnwm maskDrop 109 42 +conom drawing 87 44 +conom mask 88 0 +conom maskAdd 87 43 +conom maskDrop 87 42 +cp1m drawing 33 44 +cp1m mask 28 0 +cp1m maskAdd 33 43 +cp1m maskDrop 33 42 +cp1m waffleDrop 33 24 +cpbo mask 99 0 +cpdm drawing 104 44 +cpdm mask 37 0 +cpdm maskAdd 104 43 +cpdm maskDrop 104 42 +cpmm drawing 91 44 +cpmm2 mask 94 0 +cpsdm drawing 31 20 +cpsdm mask 32 0 +cpsdm maskAdd 31 21 +cpsdm maskDrop 31 22 +crpm drawing 53 44 +crpm mask 96 0 +crpm maskAdd 53 43 +crpm maskDrop 53 42 +#crrpm mask 102 0 +ctunm drawing 96 20 +ctunm mask 20 0 +ctunm maskAdd 96 21 +ctunm maskDrop 96 22 +cubm mask 100 0 +cviam drawing 105 20 +cviam mask 40 0 +cviam maskAdd 105 21 +cviam maskDrop 105 22 +cviam2 drawing 108 20 +cviam2 mask 44 0 +cviam2 maskAdd 108 21 +cviam2 maskDrop 108 22 +cviam3 drawing 112 20 +cviam3 mask 50 0 +cviam3 maskAdd 112 21 +cviam3 maskDrop 112 22 +cviam4 drawing 117 20 +cviam4 mask 58 0 +cviam4 maskAdd 117 21 +cviam4 maskDrop 117 22 +diff boundary 65 4 +diff cut 65 14 +diff drawing 65 20 +diff hv 65 8 +diff label 65 6 +diff net 65 23 +diff pin 65 16 +diff res 65 13 +dnwell drawing 64 18 +fom dummy 22 23 +hvi drawing 75 20 +hvntm drawing 125 20 +hvtp drawing 78 44 +hvtr drawing 18 20 +inductor drawing 82 24 +inductor label 82 25 +inductor term1 82 26 +inductor term2 82 27 +inductor term3 82 28 +ldntm drawing 11 44 +li1 blockage 67 10 +li1 boundary 67 4 +li1 cut 67 14 +li1 drawing 67 20 +li1 label 67 5 +li1 net 67 23 +li1 pin 67 16 +li1 probe 67 25 +li1 res 67 13 +li1 short 67 15 +licon1 boundary 66 60 +licon1 drawing 66 44 +licon1 net 66 41 +licon1 pin 66 58 +lvtn drawing 125 44 +marker error 83 6 +marker warning 83 7 +mcon boundary 67 60 +mcon drawing 67 44 +mcon net 67 41 +mcon pin 67 48 +met1 blockage 68 10 +met1 boundary 68 4 +met1 cut 68 14 +met1 drawing 68 20 +met1 label 68 5 +met1 net 68 23 +met1 pin 68 16 +met1 probe 68 25 +met1 res 68 13 +met1 short 68 15 +met2 blockage 69 10 +met2 boundary 69 4 +met2 cut 69 14 +met2 drawing 69 20 +met2 label 69 5 +met2 net 69 23 +met2 pin 69 16 +met2 probe 69 25 +met2 res 69 13 +met2 short 69 15 +met3 blockage 70 10 +met3 boundary 70 4 +met3 cut 70 14 +met3 drawing 70 20 +met3 fuse 70 17 +met3 label 70 5 +met3 net 70 23 +met3 pin 70 16 +met3 probe 70 25 +met3 res 70 13 +met3 short 70 15 +met4 blockage 71 10 +met4 boundary 71 4 +met4 cut 71 14 +met4 drawing 71 20 +met4 fuse 71 17 +met4 label 71 5 +met4 net 71 23 +met4 pin 71 16 +met4 probe 71 25 +met4 res 71 13 +met4 short 71 15 +met5 blockage 72 10 +met5 boundary 72 4 +met5 cut 72 14 +met5 drawing 72 20 +met5 fuse 72 17 +met5 label 72 5 +met5 net 72 23 +met5 pin 72 16 +met5 probe 72 25 +met5 res 72 13 +met5 short 72 15 +ncm drawing 92 44 +npc drawing 95 20 +npn drawing 82 20 +npn label 82 5 +nsdm drawing 93 44 +nsm drawing 61 20 +nwell drawing 64 20 +nwell label 64 5 +nwell net 84 23 +nwell pin 64 16 +overlap boundary 90 4 +overlap drawing 90 20 +pad drawing 76 20 +pad label 76 5 +pad pin 76 16 +padCenter drawing 81 20 +pmm drawing 85 44 +pmm2 drawing 77 20 +pnp drawing 82 44 +pnp label 82 59 +poly boundary 66 4 +poly cut 66 14 +poly drawing 66 20 +poly gate 66 9 +poly label 66 5 +poly model 66 83 +poly net 66 23 +poly pin 66 16 +poly probe 66 25 +poly res 66 13 +poly short 66 15 +prBoundary boundary 235 4 +prBoundary drawing 235 0 +prune drawing 84 44 +psdm drawing 94 20 +pwell cut 64 14 +pwell drawing 64 44 +pwell label 64 59 +pwell pin 122 16 +pwell res 64 13 +pwelliso label 44 5 +pwelliso pin 44 16 +rdl cut 74 14 +rdl drawing 74 20 +rdl label 74 5 +rdl pin 74 16 +rdl res 74 13 +rdl short 74 15 +rpm drawing 86 20 +#rrpm drawing 102 20 +tap boundary 65 60 +tap drawing 65 44 +tap label 65 5 +tap net 65 41 +tap pin 65 48 +target drawing 76 44 +text drawing 83 44 +tunm drawing 80 20 +ubm drawing 127 21 +vhvi drawing 74 21 +via boundary 68 60 +via drawing 68 44 +via net 68 41 +via pin 68 58 +via2 boundary 69 60 +via2 drawing 69 44 +via2 net 69 41 +via2 pin 69 58 +via3 boundary 70 60 +via3 drawing 70 44 +via3 net 70 41 +via3 pin 70 48 +via4 boundary 71 60 +via4 drawing 71 44 +via4 net 71 41 +via4 pin 71 48 diff --git a/sky130_cds/VirtuosoOA/lvsrpt.wrn b/sky130_cds/VirtuosoOA/lvsrpt.wrn new file mode 100644 index 0000000..e24568c --- /dev/null +++ b/sky130_cds/VirtuosoOA/lvsrpt.wrn @@ -0,0 +1,7 @@ +Assura Errors & Warnings Search (PLEASE CAREFULLY REVIEW THESE MESSAGES) +================================================================================ +WARNINGS & ERRORS found in Assura NVN Run Log file +-------------------------------------------------------------------------------- + ERROR (AVLVSNN-10134) : CDL parser encountered error in file '/home/jstine/Desktop/inv.sp' on line 19: unknown Cdl/Spice construct +pX3_noxref noxref_5 A A PROBETYPE=1 +^^^^^^^^^^_________________________ diff --git a/sky130_cds/VirtuosoOA/sky130.sh b/sky130_cds/VirtuosoOA/sky130.sh new file mode 100755 index 0000000..2ad2451 --- /dev/null +++ b/sky130_cds/VirtuosoOA/sky130.sh @@ -0,0 +1,3 @@ +#!/bin/sh +setenv PDK_HOME $HOME/Desktop/sky130_cds/ +#setEnvVal CDS_DISABLE_USER_DEFINED_CST_REPORT 1 diff --git a/sky130_cds/VirtuosoOA/sky130.tf b/sky130_cds/VirtuosoOA/sky130.tf new file mode 100755 index 0000000..04dc2af --- /dev/null +++ b/sky130_cds/VirtuosoOA/sky130.tf @@ -0,0 +1,2143 @@ +; Technology File sky130 + + + + +;******************************** +; CONTROLS +;******************************** +controls( + techVersion("1.0") + + techParams( + ;( parameter value ) + ;( ---------- ----- ) + ( TECHtechnology "sky130" ) + ( iccLayers ((("nwell" "drawing") "n_well" "off" 0.84 1.27 nil nil) (("diff" "drawing") "n_diffusion" "off" 0.15 0.27 nil nil) (("tap" "drawing") "n_diffusion" "off" 0.15 0.27 nil nil) (("poly" "drawing") "polysilicon" "orthogonal" 0.15 0.21 nil t) (("licon1" "drawing") "cut" "off" 0.17 0.17 nil t) (("li1" "drawing") "metal" "orthogonal" 0.17 0.17 nil t) (("mcon" "drawing") "cut" "off" 0.17 0.19 nil t) (("met1" "drawing") "metal" "orthogonal" 0.14 0.14 nil t) (("via" "drawing") "cut" "off" 0.15 0.17 nil t) (("met2" "drawing") "metal" "orthogonal" 0.14 0.14 nil t) (("via2" "drawing") "cut" "off" 0.2 0.2 nil t) (("met3" "drawing") "metal" "orthogonal" 0.3 0.3 nil t) (("via3" "drawing") "cut" "off" 0.2 0.2 nil t) (("met4" "drawing") "metal" "orthogonal" 0.3 0.3 nil t) (("via4" "drawing") "cut" "off" 0.8 0.8 nil t) (("met5" "drawing") "metal" "orthogonal" 1.6 1.6 nil t)) ) + ( iccEquivalentLayers ((("diff" "drawing") ("diff" "pin")) (("poly" "drawing") ("poly" "pin")) (("li1" "drawing") ("li1" "pin")) (("met1" "drawing") ("met1" "pin") ("met1" "net")) (("met2" "drawing") ("met2" "pin") ("met2" "net")) (("met3" "drawing") ("met3" "pin") ("met3" "net")) (("met4" "drawing") ("met4" "pin") ("met4" "net")) (("met5" "drawing") ("met5" "pin") ("met5" "net"))) ) + ( iccBoundaryLayers ((("nwell" "drawing") ("prBoundary" "drawing") 0.0) (("diff" "drawing") ("prBoundary" "drawing") 0.0) (("tap" "drawing") ("prBoundary" "drawing") 0.0) (("poly" "drawing") ("prBoundary" "drawing") 0.0) (("licon1" "drawing") ("prBoundary" "drawing") 0.0) (("li1" "drawing") ("prBoundary" "drawing") 0.0) (("mcon" "drawing") ("prBoundary" "drawing") 0.0) (("met1" "drawing") ("prBoundary" "drawing") 0.0) (("via" "drawing") ("prBoundary" "drawing") 0.0) (("met2" "drawing") ("prBoundary" "drawing") 0.0) (("via2" "drawing") ("prBoundary" "drawing") 0.0) (("met3" "drawing") ("prBoundary" "drawing") 0.0) (("via3" "drawing") ("prBoundary" "drawing") 0.0) (("met4" "drawing") ("prBoundary" "drawing") 0.0) (("met5" "drawing") ("prBoundary" "drawing") 0.0)) ) + ( iccKeepouts ((nil (("size" (("target" "drawing") nil) "fuseRegion" "routing" t) ("or" (("diff" "drawing") ("tap" "drawing")) "tempfom" "routing" t) ("size" ("tempfom" -0.135) ("poly" "drawing") "routing" t) ("c-not" (("poly" "drawing") "tempfom") ("poly" "drawing") "routing" t) ("c-not" (("poly" "drawing") ("poly" "res")) ("poly" "drawing") "routing" t) ("=>" ("fuseRegion") ("poly" "drawing") "routing" t) ("c-not" (("li1" "drawing") ("li1" "res")) ("li1" "drawing") "routing" t) ("=>" ("fuseRegion") ("li1" "drawing") "routing" t) ("c-not" (("met1" "drawing") ("met1" "res")) ("met1" "drawing") "routing" t) ("c-not" (("met1" "drawing") ("met1" "short")) ("met1" "drawing") "routing" t) ("=>" (("met1" "option1")) ("met1" "drawing") "routing" t) ("=>" (("met1" "option2")) ("met1" "drawing") "routing" t) ("=>" (("met1" "option3")) ("met1" "drawing") "routing" t) ("=>" (("met1" "option4")) ("met1" "drawing") "routing" t) ("=>" (("met1" "option5")) ("met1" "drawing") "routing" t) ("=>" (("met1" "option6")) ("met1" "drawing") "routing" t) ("=>" (("met1" "option7")) ("met1" "drawing") "routing" t) ("=>" (("met1" "option8")) ("met1" "drawing") "routing" t) ("=>" ("fuseRegion") ("met1" "drawing") "routing" t) ("c-not" (("met2" "drawing") ("met2" "res")) ("met2" "drawing") "routing" t) ("c-not" (("met2" "drawing") ("met2" "short")) ("met2" "drawing") "routing" t) ("c-not" (("met2" "drawing") ("met2" "fuse")) ("met2" "drawing") "routing" t) ("=>" (("met2" "option1")) ("met2" "drawing") "routing" t) ("=>" (("met2" "option2")) ("met2" "drawing") "routing" t) ("=>" (("met2" "option3")) ("met2" "drawing") "routing" t) ("=>" (("met2" "option4")) ("met2" "drawing") "routing" t) ("=>" (("met2" "option5")) ("met2" "drawing") "routing" t) ("=>" (("met2" "option6")) ("met2" "drawing") "routing" t) ("=>" (("met2" "option7")) ("met2" "drawing") "routing" t) ("=>" (("met2" "option8")) ("met2" "drawing") "routing" t) ("=>" ("fuseRegion") ("met2" "drawing") "routing" t) ("c-not" (("met3" "drawing") ("met3" "res")) ("met3" "drawing") "routing" t) ("c-not" (("met3" "drawing") ("met3" "short")) ("met3" "drawing") "routing" t) ("c-not" (("met3" "drawing") ("met3" "fuse")) ("met3" "drawing") "routing" t) ("=>" (("met3" "option1")) ("met3" "drawing") "routing" t) ("=>" (("met3" "option2")) ("met3" "drawing") "routing" t) ("=>" (("met3" "option3")) ("met3" "drawing") "routing" t) ("=>" (("met3" "option4")) ("met3" "drawing") "routing" t) ("=>" (("met3" "option5")) ("met3" "drawing") "routing" t) ("=>" (("met3" "option6")) ("met3" "drawing") "routing" t) ("=>" (("met3" "option7")) ("met3" "drawing") "routing" t) ("=>" (("met3" "option8")) ("met3" "drawing") "routing" t) ("=>" ("fuseRegion") ("met3" "drawing") "routing" t) ("c-not" (("met4" "drawing") ("met4" "res")) ("met4" "drawing") "routing" t) ("c-not" (("met4" "drawing") ("met4" "short")) ("met4" "drawing") "routing" t) ("c-not" (("met4" "drawing") ("met4" "fuse")) ("met4" "drawing") "routing" t) ("=>" (("met4" "option1")) ("met4" "drawing") "routing" t) ("=>" (("met4" "option2")) ("met4" "drawing") "routing" t) ("=>" (("met4" "option3")) ("met4" "drawing") "routing" t) ("=>" (("met4" "option4")) ("met4" "drawing") "routing" t) ("=>" (("met4" "option5")) ("met4" "drawing") "routing" t) ("=>" (("met4" "option6")) ("met4" "drawing") "routing" t) ("=>" (("met4" "option7")) ("met4" "drawing") "routing" t) ("=>" (("met4" "option8")) ("met4" "drawing") "routing" t) ("=>" ("fuseRegion") ("met4" "drawing") "routing" t) ("c-not" (("met5" "drawing") ("met5" "res")) ("met5" "drawing") "routing" t) ("c-not" (("met5" "drawing") ("met5" "short")) ("met5" "drawing") "routing" t) ("c-not" (("met5" "drawing") ("met5" "fuse")) ("met5" "drawing") "routing" t) ("=>" (("met5" "option1")) ("met5" "drawing") "routing" t) ("=>" (("met5" "option2")) ("met5" "drawing") "routing" t) ("=>" (("met5" "option3")) ("met5" "drawing") "routing" t) ("=>" (("met5" "option4")) ("met5" "drawing") "routing" t) ("=>" (("met5" "option5")) ("met5" "drawing") "routing" t) ("=>" (("met5" "option6")) ("met5" "drawing") "routing" t) ("=>" (("met5" "option7")) ("met5" "drawing") "routing" t) ("=>" (("met5" "option8")) ("met5" "drawing") "routing" t) ("=>" ("fuseRegion") ("met5" "drawing") "routing" t)))) ) + ) ;techParams + + viewTypeUnits( + ;( viewType userUnit dbuperuu ) + ;( -------- -------- -------- ) + ) ;viewTypeUnits + + mfgGridResolution( + ( 0.005000 ) + ) ;mfgGridResolution + + refTechLibs( +; techLibName +; ----------- + ) ;refTechLibs + + processFamily( + ) ;processFamily + + distanceMeasure( + ) ;distanceMeasure + + processNode() + +) ;controls + + +;******************************** +; LAYER DEFINITION +;******************************** +layerDefinitions( + + techPurposes( + ;( PurposeName Purpose# Abbreviation ) + ;( ----------- -------- ------------ ) + ;User-Defined Purposes: + ( seal 1 ) + ( core 2 ) + ( frame 3 ) + ( waffleDrop 4 ) + ( standardc 5 ) + ( sigPadDiff 6 ) + ( sigPadWell 7 ) + ( sigPadMetNtr 8 ) + ( ferro 9 ) + ( moduleCut 10 ) + ( dieCut 11 ) + ( frameRect 12 ) + ( zener 13 ) + ( extDrain20 14 ) + ( cut 15 ) + ( res 16 ) + ( esd 17 ) + ( tmppnp 18 ) + ( short 19 ) + ( mask 20 ) + ( maskAdd 21 ) + ( maskDrop 22 ) + ( diode 23 ) + ( fuse 24 ) + ( gate 25 ) + ( hvnwell 26 ) + ( rdlprobepad 27 ) + ( hv 28 ) + ( probe 29 ) + ( extFab 30 ) + ( option1 31 ) + ( option2 32 ) + ( option3 33 ) + ( option4 34 ) + ( option5 35 ) + ( option6 36 ) + ( option7 37 ) + ( option8 38 ) + ( precres 39 ) + ( silicon 40 ) + ( vlc 41 ) + ( met3 42 ) + ( met2 43 ) + ( met1 44 ) + ( li1 45 ) + ( poly 46 ) + ( injection 47 ) + ( nodnw 49 ) + ( deadZon 50 ) + ( critCorner 51 ) + ( critSid 52 ) + ( substrateCut 53 ) + ( opcDrop 54 ) + ( cuPillar 55 ) + ( techCd 56 ) + ( term1 57 ) + ( term2 58 ) + ( term3 59 ) + ( scr 60 ) + ( port 61 ) + ( port1 62 ) + ( region 63 ) + ( ppath 65 ) + ( ppath1 66 ) + ( macro 67 ) + ( nwellIsolation 68 ) + ( waffleWindow 69 ) + ( block 70 ) + ( waffleAdd1 71 ) + ( waffleAdd2 72 ) + ( cuDrop 74 ) + ( extendedDrain 75 ) + ( subcktDevice 76 ) + ( pixel 77 ) + ( capacitor 78 ) + ( analog 79 ) + ( lvdnw 80 ) + ( photo 81 ) + ( guardring 82 ) + ( model 83 ) + ( ipExempt 84 ) + ( pitch 85 ) + ( HighVt 86 ) + ( lvNative 87 ) + ( psa1 88 ) + ( psa2 89 ) + ( psa3 90 ) + ( psa4 91 ) + ( psa5 92 ) + ( psa6 93 ) + ( hole 94 ) + ( select 95 ) + ( dummy 96 ) + ( umconly 97 ) + ( opc 98 ) + ( nodummy 99 ) + ( drc 100 ) + ( etest 101 ) + ( vss 102 ) + ( fc 103 ) + ( fix 104 ) + ( mim 105 ) + ( nmim 106 ) + ( pad 107 ) + ( per 108 ) + ( cvs 109 ) + ( ext 110 ) + ( ip 111 ) + ( low_vt 112 ) + ( cis_array 113 ) + ( imagers 114 ) + ( t3 115 ) + ( logic 116 ) + ( dio 117 ) + ( cap 118 ) + ( res1 119 ) + ( bjt 120 ) + ( efuseMark 121 ) + ( slotBlock 122 ) + ( fuseMark 123 ) + ( umcIP 124 ) + ( rfdiode 125 ) + ( lowTapDensity 126 ) + ( notCritSide 127 ) + ;System-Reserved Purposes: + ) ;techPurposes + + techLayers( + ;( LayerName Layer# Abbreviation ) + ;( --------- ------ ------------ ) + ;User-Defined Layers: + ( nwell 0 nwell ) + ( pwell 1 pwell ) + ( diff 2 diff ) + ( tap 3 tap ) + ( poly 4 poly ) + ( mcon 5 mcon ) + ( met1 6 met1 ) + ( via 7 via ) + ( met2 8 met2 ) + ( via2 9 via2 ) + ( met3 10 met3 ) + ( pad 11 pad ) + ( via3 12 via3 ) + ( met4 13 met4 ) + ( via4 14 via4 ) + ( met5 15 met5 ) + ( prune 21 prune ) + ( li1 22 li1 ) + ( dnwell 23 dnwell ) + ( inductor 24 inducto ) + ( lvtn 25 lvtn ) + ( nsdm 30 nsdm ) + ( psdm 31 psdm ) + ( hvntm 36 hvntm ) + ( cnsm 37 cnsm ) + ( tunm 41 tunm ) + ( hvi 42 hvi ) + ( licon1 43 licon1 ) + ( padCenter 45 padCent ) + ( nsm 47 nsm ) + ( cfom 52 cfom ) + ( ldntm 53 ldntm ) + ( cp1m 55 cp1m ) + ( cnsdm 56 cnsdm ) + ( cpsdm 57 cpsdm ) + ( cntm 58 cntm ) + ( cctm1 59 cctm1 ) + ( cmm1 60 cmm1 ) + ( cviam 61 cviam ) + ( cmm2 62 cmm2 ) + ( cviam2 63 cviam2 ) + ( cmm3 64 cmm3 ) + ( cpdm 66 cpdm ) + ( cviam3 67 cviam3 ) + ( cmm4 68 cmm4 ) + ( cviam4 69 cviam4 ) + ( cmm5 70 cmm5 ) + ( capm 75 capm ) + ( pmm 76 pmm ) + ( fom 77 fom ) + ( cdnm 79 cdnm ) + ( cli1m 83 cli1m ) + ( chvtpm 85 chvtpm ) + ( cap2m 86 cap2m ) + ( crpm 87 crpm ) + ( vhvi 88 vhvi ) + ( clvom 89 clvom ) + ( cncm 90 cncm ) + ( ctunm 91 ctunm ) + ( hvtp 92 hvtp ) + ( conom 93 conom ) + ( clicm1 95 clicm1 ) + ( ncm 96 ncm ) + ( cpmm 97 cpmm ) + ( overlap 99 overlap ) + ( pnp 101 pnp ) + ( chvntm 102 chvntm ) + ( capacitor 103 capacit ) + ( rpm 106 rpm ) + ( target 107 target ) + ( cnwm 109 cnwm ) + ( areaid 110 areaid ) + ( npn 111 npn ) + ( hvtr 113 hvtr ) + ( cpmm2 114 cpmm2 ) + ( npc 115 npc ) + ( cnpc 116 cnpc ) + ( pmm2 117 pmm2 ) + ( chvtrm 118 chvtrm ) + ( cpbo 119 cpbo ) + ( clvtnm 120 clvtnm ) + ( pwelliso 122 pwellis ) + ( blanking 123 blankin ) + ( cldntm 126 cldntm ) + ( rdl 136 rdl ) + ( ubm 140 ubm ) + ( bump 141 bump ) + ( ccu1m 142 ccu1m ) + ( cubm 143 cubm ) + ( cbump 144 cbump ) + ;System-Reserved Layers: + ) ;techLayers + + techLayerPurposePriorities( + ;layers are ordered from lowest to highest priority + ;( LayerName Purpose ) + ;( --------- ------- ) + ( prBoundary boundary ) + ( pwell drawing ) + ( pwell pin ) + ( pwell label ) + ( pwell res ) + ( pwell cut ) + ( pwelliso pin ) + ( pwelliso label ) + ( nwell drawing ) + ( nwell net ) + ( nwell pin ) + ( nwell label ) + ( dnwell drawing ) + ( vhvi drawing ) + ( diff drawing ) + ( diff res ) + ( diff cut ) + ( diff pin ) + ( diff label ) + ( diff net ) + ( diff boundary ) + ( diff hv ) + ( tap drawing ) + ( tap pin ) + ( tap net ) + ( tap boundary ) + ( tap label ) + ( psdm drawing ) + ( nsdm drawing ) + ( poly drawing ) + ( poly pin ) + ( poly res ) + ( poly cut ) + ( poly gate ) + ( poly label ) + ( poly boundary ) + ( poly probe ) + ( poly short ) + ( poly net ) + ( poly model ) + ( ldntm drawing ) + ( lvtn drawing ) + ( hvtp drawing ) + ( hvtr drawing ) + ( tunm drawing ) + ( licon1 drawing ) + ( licon1 grid ) + ( licon1 blockage ) + ( licon1 boundary ) + ( licon1 pin ) + ( licon1 net ) + ( npc drawing ) + ( li1 drawing ) + ( li1 grid ) + ( li1 pin ) + ( li1 res ) + ( li1 cut ) + ( li1 label ) + ( li1 net ) + ( li1 boundary ) + ( li1 blockage ) + ( li1 short ) + ( li1 probe ) + ( mcon drawing ) + ( mcon grid ) + ( mcon blockage ) + ( mcon boundary ) + ( mcon pin ) + ( mcon net ) + ( met1 drawing ) + ( met1 grid ) + ( met1 res ) + ( met1 cut ) + ( met1 pin ) + ( met1 label ) + ( met1 net ) + ( met1 boundary ) + ( met1 blockage ) + ( met1 short ) + ( met1 probe ) + ( met1 option1 ) + ( met1 option2 ) + ( met1 option3 ) + ( met1 option4 ) + ( met1 option5 ) + ( met1 option6 ) + ( met1 option7 ) + ( met1 option8 ) + ( via drawing ) + ( via grid ) + ( via blockage ) + ( via boundary ) + ( via net ) + ( via pin ) + ( met2 drawing ) + ( met2 grid ) + ( met2 res ) + ( met2 cut ) + ( met2 pin ) + ( met2 label ) + ( met2 net ) + ( met2 boundary ) + ( met2 blockage ) + ( met2 short ) + ( met2 probe ) + ( met2 option1 ) + ( met2 option2 ) + ( met2 option3 ) + ( met2 option4 ) + ( met2 option5 ) + ( met2 option6 ) + ( met2 option7 ) + ( met2 option8 ) + ( via2 drawing ) + ( via2 grid ) + ( via2 blockage ) + ( via2 boundary ) + ( via2 pin ) + ( via2 net ) + ( met3 drawing ) + ( met3 grid ) + ( met3 res ) + ( met3 cut ) + ( met3 pin ) + ( met3 label ) + ( met3 net ) + ( met3 boundary ) + ( met3 blockage ) + ( met3 short ) + ( met3 fuse ) + ( met3 probe ) + ( met3 option1 ) + ( met3 option2 ) + ( met3 option3 ) + ( met3 option4 ) + ( met3 option5 ) + ( met3 option6 ) + ( met3 option7 ) + ( met3 option8 ) + ( via3 drawing ) + ( via3 grid ) + ( via3 blockage ) + ( via3 boundary ) + ( via3 pin ) + ( via3 net ) + ( met4 drawing ) + ( met4 grid ) + ( met4 res ) + ( met4 cut ) + ( met4 pin ) + ( met4 label ) + ( met4 net ) + ( met4 boundary ) + ( met4 blockage ) + ( met4 short ) + ( met4 fuse ) + ( met4 probe ) + ( met4 option1 ) + ( met4 option2 ) + ( met4 option3 ) + ( met4 option4 ) + ( met4 option5 ) + ( met4 option6 ) + ( met4 option7 ) + ( met4 option8 ) + ( via4 drawing ) + ( via4 grid ) + ( via4 blockage ) + ( via4 boundary ) + ( via4 pin ) + ( via4 net ) + ( met5 drawing ) + ( met5 grid ) + ( met5 res ) + ( met5 cut ) + ( met5 pin ) + ( met5 label ) + ( met5 net ) + ( met5 boundary ) + ( met5 blockage ) + ( met5 short ) + ( met5 fuse ) + ( met5 probe ) + ( met5 option1 ) + ( met5 option2 ) + ( met5 option3 ) + ( met5 option4 ) + ( met5 option5 ) + ( met5 option6 ) + ( met5 option7 ) + ( met5 option8 ) + ( nsm drawing ) + ( pad drawing ) + ( pad grid ) + ( pad blockage ) + ( pad label ) + ( pad pin ) + ( pnp drawing ) + ( pnp label ) + ( npn drawing ) + ( npn label ) + ( rpm drawing ) + ( hvi drawing ) + ( capacitor drawing ) + ( ncm drawing ) + ( cncm drawing ) + ( cncm mask ) + ( pmm drawing ) + ( pmm2 drawing ) + ( rdl drawing ) + ( rdl grid ) + ( rdl blockage ) + ( rdl pin ) + ( rdl label ) + ( rdl res ) + ( rdl cut ) + ( rdl short ) + ( rdl option1 ) + ( rdl option2 ) + ( rdl option3 ) + ( rdl option4 ) + ( rdl option5 ) + ( rdl option6 ) + ( rdl option7 ) + ( rdl option8 ) + ( ubm drawing ) + ( bump drawing ) + ( inductor drawing ) + ( inductor label ) + ( inductor term1 ) + ( inductor term2 ) + ( inductor term3 ) + ( cfom drawing ) + ( cfom mask ) + ( cfom maskAdd ) + ( cfom maskDrop ) + ( cfom waffleDrop ) + ( fom dummy ) + ( cnwm drawing ) + ( cnwm mask ) + ( cnwm maskAdd ) + ( cnwm maskDrop ) + ( cdnm drawing ) + ( cdnm mask ) + ( cdnm maskAdd ) + ( cdnm maskDrop ) + ( clvtnm drawing ) + ( clvtnm mask ) + ( clvtnm maskAdd ) + ( clvtnm maskDrop ) + ( chvtpm drawing ) + ( chvtpm mask ) + ( chvtpm maskAdd ) + ( chvtpm maskDrop ) + ( chvtrm drawing ) + ( chvtrm mask ) + ( chvtrm maskAdd ) + ( chvtrm maskDrop ) + ( ctunm drawing ) + ( ctunm mask ) + ( ctunm maskAdd ) + ( ctunm maskDrop ) + ( conom drawing ) + ( conom mask ) + ( conom maskAdd ) + ( conom maskDrop ) + ( cnsdm drawing ) + ( cnsdm mask ) + ( cnsdm maskAdd ) + ( cnsdm maskDrop ) + ( cpsdm drawing ) + ( cpsdm mask ) + ( cpsdm maskAdd ) + ( cpsdm maskDrop ) + ( cntm drawing ) + ( cntm mask ) + ( cntm maskAdd ) + ( cntm maskDrop ) + ( hvntm drawing ) + ( chvntm drawing ) + ( chvntm mask ) + ( chvntm maskAdd ) + ( chvntm maskDrop ) + ( cldntm drawing ) + ( cldntm mask ) + ( clvom drawing ) + ( clvom mask ) + ( clvom maskAdd ) + ( clvom maskDrop ) + ( cp1m drawing ) + ( cp1m mask ) + ( cp1m maskAdd ) + ( cp1m waffleDrop ) + ( cp1m maskDrop ) + ( cli1m drawing ) + ( cli1m mask ) + ( cli1m maskAdd ) + ( cli1m maskDrop ) + ( clicm1 drawing ) + ( clicm1 mask ) + ( clicm1 maskAdd ) + ( clicm1 maskDrop ) + ( cmm1 drawing ) + ( cmm1 mask ) + ( cmm1 maskAdd ) + ( cmm1 maskDrop ) + ( cmm1 waffleDrop ) + ( cviam drawing ) + ( cviam mask ) + ( cviam maskAdd ) + ( cviam maskDrop ) + ( cmm2 drawing ) + ( cmm2 mask ) + ( cmm2 maskAdd ) + ( cmm2 maskDrop ) + ( cmm2 waffleDrop ) + ( cviam2 drawing ) + ( cviam2 mask ) + ( cviam2 maskAdd ) + ( cviam2 maskDrop ) + ( cmm3 drawing ) + ( cmm3 mask ) + ( cmm3 maskAdd ) + ( cmm3 maskDrop ) + ( cmm3 waffleDrop ) + ( cnpc drawing ) + ( cnpc mask ) + ( cnpc maskAdd ) + ( cnpc maskDrop ) + ( cviam3 drawing ) + ( cviam3 mask ) + ( cviam3 maskAdd ) + ( cviam3 maskDrop ) + ( cnsm mask ) + ( cpdm drawing ) + ( cpdm mask ) + ( cpdm maskAdd ) + ( cpdm maskDrop ) + ( cpmm drawing ) + ( cpbo mask ) + ( cmm4 mask ) + ( cmm4 maskAdd ) + ( cmm4 maskDrop ) + ( cmm4 waffleDrop ) + ( cviam4 drawing ) + ( cviam4 mask ) + ( cviam4 maskAdd ) + ( cviam4 maskDrop ) + ( cmm5 mask ) + ( cmm5 waffleDrop ) + ( target drawing ) + ( cctm1 drawing ) + ( cctm1 mask ) + ( cctm1 maskAdd ) + ( cctm1 maskDrop ) + ( capm drawing ) + ( cap2m drawing ) + ( crpm drawing ) + ( crpm mask ) + ( crpm maskAdd ) + ( crpm maskDrop ) + ( ccu1m mask ) + ( cpmm2 mask ) + ( cubm mask ) + ( cbump mask ) + ( overlap drawing ) + ( overlap boundary ) + ( areaid lowTapDensity ) + ( areaid notCritSide ) + ( areaid injection ) + ( areaid rfdiode ) + ( areaid seal ) + ( areaid core ) + ( areaid frame ) + ( areaid esd ) + ( areaid dieCut ) + ( areaid moduleCut ) + ( areaid frameRect ) + ( areaid substrateCut ) + ( areaid diode ) + ( areaid standardc ) + ( areaid deadZon ) + ( areaid critCorner ) + ( areaid critSid ) + ( areaid opcDrop ) + ( areaid waffleWindow ) + ( areaid extendedDrain ) + ( areaid lvNative ) + ( areaid photo ) + ( areaid etest ) + ( areaid hvnwell ) + ( areaid rdlprobepad ) + ( areaid sigPadDiff ) + ( areaid sigPadWell ) + ( areaid sigPadMetNtr ) + ( areaid analog ) + ( prune drawing ) + ( padCenter drawing ) + ( met1 psa1 ) + ( met2 psa1 ) + ( met3 psa1 ) + ( met4 psa1 ) + ( met5 psa1 ) + ( met1 psa2 ) + ( met2 psa2 ) + ( met3 psa2 ) + ( met4 psa2 ) + ( met5 psa2 ) + ( met1 psa3 ) + ( met2 psa3 ) + ( met3 psa3 ) + ( met4 psa3 ) + ( met5 psa3 ) + ( met1 psa4 ) + ( met2 psa4 ) + ( met3 psa4 ) + ( met4 psa4 ) + ( met5 psa4 ) + ( met1 psa5 ) + ( met2 psa5 ) + ( met3 psa5 ) + ( met4 psa5 ) + ( met5 psa5 ) + ( met1 psa6 ) + ( met2 psa6 ) + ( met3 psa6 ) + ( met4 psa6 ) + ( met5 psa6 ) + ( rdl psa1 ) + ( rdl psa2 ) + ( rdl psa3 ) + ( rdl psa4 ) + ( rdl psa5 ) + ( rdl psa6 ) + ( blanking drawing ) + ) ;techLayerPurposePriorities + + techDisplays( + ;( LayerName Purpose Packet Vis Sel Con2ChgLy DrgEnbl Valid ) + ;( --------- ------- ------ --- --- --------- ------- ----- ) + ( prBoundary boundary prbdg t t t t t ) + ( pwell drawing pwell t t t t t ) + ( pwell pin rpolyPin t t t t t ) + ( pwell label rpolyLabel t t t t t ) + ( pwell res rpolyRes t t t t t ) + ( pwell cut rpolyCut t t t t t ) + ( pwelliso pin elm t t t t t ) + ( pwelliso label rpolyLabel t t t t t ) + ( nwell drawing nwell t t t t t ) + ( nwell net hilite1 t t t t t ) + ( nwell pin nwellPin t t t t t ) + ( nwell label nwellLabel t t t t t ) + ( dnwell drawing dnwell t t t t t ) + ( vhvi drawing VhviId t t t t t ) + ( diff drawing diff t t t t t ) + ( diff res diffRes t t t t t ) + ( diff cut diffCut t t t t t ) + ( diff pin diffPin t t t t nil ) + ( diff label diffLabel t t t t nil ) + ( diff net diffNet t t t t nil ) + ( diff boundary diffBnd t t t t nil ) + ( diff hv diffHv t t t t t ) + ( tap drawing tap t t t t t ) + ( tap pin tapPin t t t t nil ) + ( tap net tapNet t t t t nil ) + ( tap boundary tapBnd t t t t nil ) + ( tap label tapLabel t t t t nil ) + ( psdm drawing psdm t t t t t ) + ( nsdm drawing nsdm t t t t t ) + ( poly drawing poly t t t t t ) + ( poly pin polyPin t t t t t ) + ( poly res polyRes t t t t t ) + ( poly cut polyCut t t t t t ) + ( poly gate polyGate t t t t t ) + ( poly label polyLabel t t t t t ) + ( poly boundary polyBnd t t t t t ) + ( poly probe polyProbe t t t t t ) + ( poly short polyShort t t t t t ) + ( poly net polyNet t t t t t ) + ( poly model polyModel t t t t t ) + ( ldntm drawing met8 t t t t t ) + ( lvtn drawing lvtn t t t t t ) + ( hvtp drawing hvtp t t t t t ) + ( hvtr drawing hvtr t t t t nil ) + ( tunm drawing tunm t t t t t ) + ( licon1 drawing licon1 t t t t t ) + ( licon1 grid licon1 t nil nil nil nil ) + ( licon1 blockage licon1 t nil t t nil ) + ( licon1 boundary licon1Bnd t t t t t ) + ( licon1 pin licon1Pin t t t t nil ) + ( licon1 net licon1Net t t t t t ) + ( npc drawing silm t t t t t ) + ( li1 drawing li1 t t t t t ) + ( li1 grid li1 t nil nil nil nil ) + ( li1 pin li1Pin t t t t t ) + ( li1 res li1Res t t t t nil ) + ( li1 cut li1Cut t t t t nil ) + ( li1 label li1Label t t t t t ) + ( li1 net li1Net t t t t t ) + ( li1 boundary li1Bnd t t t t t ) + ( li1 blockage li1Blkg t t t t t ) + ( li1 short li1Short t t t t t ) + ( li1 probe li1Probe t t t t t ) + ( mcon drawing mcon t t t t t ) + ( mcon grid mcon t nil nil nil nil ) + ( mcon blockage mcon t nil t t nil ) + ( mcon boundary mconBnd t t t t t ) + ( mcon pin mconPin t t t t nil ) + ( mcon net mconNet t t t t t ) + ( met1 drawing met1 t t t t t ) + ( met1 grid met1 t nil nil nil nil ) + ( met1 res met1Res t t t t nil ) + ( met1 cut met1Cut t t t t nil ) + ( met1 pin met1Pin t t t t t ) + ( met1 label met1Label t t t t t ) + ( met1 net met1Net t t t t t ) + ( met1 boundary met1Bnd t t t t t ) + ( met1 blockage met1Blkg t t t t t ) + ( met1 short met1Short t t t t t ) + ( met1 probe met1Probe t t t t t ) + ( met1 option1 met1Metop1 t t t t nil ) + ( met1 option2 met1Metop2 t t t t nil ) + ( met1 option3 met1Metop3 t t t t nil ) + ( met1 option4 met1Metop4 t t t t nil ) + ( met1 option5 met1Metop5 t t t t nil ) + ( met1 option6 met1Metop6 t t t t nil ) + ( met1 option7 met1Metop7 t t t t nil ) + ( met1 option8 met1Metop8 t t t t nil ) + ( via drawing via t t t t t ) + ( via grid via t nil nil nil nil ) + ( via blockage via t nil t t nil ) + ( via boundary viaBnd t t t t t ) + ( via net viaNet t t t t t ) + ( via pin viaPin t t t t nil ) + ( met2 drawing met2 t t t t t ) + ( met2 grid met2 t nil nil nil nil ) + ( met2 res met2Res t t t t nil ) + ( met2 cut met2Cut t t t t nil ) + ( met2 pin met2Pin t t t t t ) + ( met2 label met2Label t t t t t ) + ( met2 net met2Net t t t t t ) + ( met2 boundary met2Bnd t t t t t ) + ( met2 blockage met2Blkg t t t t t ) + ( met2 short met2Short t t t t t ) + ( met2 probe met2Probe t t t t t ) + ( met2 option1 met2Metop1 t t t t nil ) + ( met2 option2 met2Metop2 t t t t nil ) + ( met2 option3 met2Metop3 t t t t nil ) + ( met2 option4 met2Metop4 t t t t nil ) + ( met2 option5 met2Metop5 t t t t nil ) + ( met2 option6 met2Metop6 t t t t nil ) + ( met2 option7 met2Metop7 t t t t nil ) + ( met2 option8 met2Metop8 t t t t nil ) + ( via2 drawing via2 t t t t t ) + ( via2 grid via2 t nil nil nil nil ) + ( via2 blockage via2 t nil t t nil ) + ( via2 boundary via2Bnd t t t t t ) + ( via2 pin via2Pin t t t t nil ) + ( via2 net via2Net t t t t t ) + ( met3 drawing met3 t t t t t ) + ( met3 grid met3 t nil nil nil nil ) + ( met3 res met3Res t t t t nil ) + ( met3 cut met3Cut t t t t nil ) + ( met3 pin met3Pin t t t t t ) + ( met3 label met3Label t t t t t ) + ( met3 net met3Net t t t t t ) + ( met3 boundary met3Bnd t t t t t ) + ( met3 blockage met3Blkg t t t t t ) + ( met3 short met3Short t t t t t ) + ( met3 fuse met3Fuse t t t t nil ) + ( met3 probe met3Probe t t t t t ) + ( met3 option1 met3Metop1 t t t t nil ) + ( met3 option2 met3Metop2 t t t t nil ) + ( met3 option3 met3Metop3 t t t t nil ) + ( met3 option4 met3Metop4 t t t t nil ) + ( met3 option5 met3Metop5 t t t t nil ) + ( met3 option6 met3Metop6 t t t t nil ) + ( met3 option7 met3Metop7 t t t t nil ) + ( met3 option8 met3Metop8 t t t t nil ) + ( via3 drawing via3 t t t t t ) + ( via3 grid via3 t nil nil nil nil ) + ( via3 blockage via3 t nil t t nil ) + ( via3 boundary via3Bnd t t t t t ) + ( via3 pin via3Pin t t t t nil ) + ( via3 net via3Net t t t t t ) + ( met4 drawing met4 t t t t t ) + ( met4 grid met4 t nil nil nil nil ) + ( met4 res met4Res t t t t nil ) + ( met4 cut met4Cut t t t t nil ) + ( met4 pin met4Pin t t t t t ) + ( met4 label met4Label t t t t t ) + ( met4 net met4Net t t t t t ) + ( met4 boundary met4Bnd t t t t t ) + ( met4 blockage met4Blkg t t t t t ) + ( met4 short met4Short t t t t t ) + ( met4 fuse met4Fuse t t t t nil ) + ( met4 probe met4Probe t t t t t ) + ( met4 option1 met4Metop1 t t t t nil ) + ( met4 option2 met4Metop2 t t t t nil ) + ( met4 option3 met4Metop3 t t t t nil ) + ( met4 option4 met4Metop4 t t t t nil ) + ( met4 option5 met4Metop5 t t t t nil ) + ( met4 option6 met4Metop6 t t t t nil ) + ( met4 option7 met4Metop7 t t t t nil ) + ( met4 option8 met4Metop8 t t t t nil ) + ( via4 drawing via4 t t t t t ) + ( via4 grid via4 t nil nil nil nil ) + ( via4 blockage via4 t nil t t nil ) + ( via4 boundary via4Bnd t t t t t ) + ( via4 pin via4Pin t t t t nil ) + ( via4 net via4Net t t t t t ) + ( met5 drawing met5 t t t t t ) + ( met5 grid met5 t nil nil nil nil ) + ( met5 res met5Res t t t t nil ) + ( met5 cut met5Cut t t t t nil ) + ( met5 pin met5Pin t t t t t ) + ( met5 label met5Label t t t t t ) + ( met5 net met5Net t t t t t ) + ( met5 boundary met5Bnd t t t t t ) + ( met5 blockage met5Blkg t t t t t ) + ( met5 short met5Short t t t t t ) + ( met5 fuse met5Fuse t t t t nil ) + ( met5 probe met5Probe t t t t t ) + ( met5 option1 met5Metop1 t t t t nil ) + ( met5 option2 met5Metop2 t t t t nil ) + ( met5 option3 met5Metop3 t t t t nil ) + ( met5 option4 met5Metop4 t t t t nil ) + ( met5 option5 met5Metop5 t t t t nil ) + ( met5 option6 met5Metop6 t t t t nil ) + ( met5 option7 met5Metop7 t t t t nil ) + ( met5 option8 met5Metop8 t t t t nil ) + ( nsm drawing met8 t t t t t ) + ( pad drawing pad t t t t t ) + ( pad grid pad t nil nil nil nil ) + ( pad blockage pad t nil t t nil ) + ( pad label padLabel t t t t t ) + ( pad pin padPin t t t t t ) + ( pnp drawing pnp t t t t t ) + ( pnp label pnplabel t t t t t ) + ( npn drawing npn t t t t t ) + ( npn label npnlabel t t t t t ) + ( rpm drawing elm t t t t t ) + ( hvi drawing hvi t t t t t ) + ( capacitor drawing capacitor t t t t t ) + ( ncm drawing ncm t t t t t ) + ( cncm drawing cncm t nil t t t ) + ( cncm mask cncmmask t nil t t t ) + ( pmm drawing post2 t t t t t ) + ( pmm2 drawing cesdmask t t t t t ) + ( rdl drawing met7 t t t t t ) + ( rdl grid met7 t nil nil nil nil ) + ( rdl blockage met7 t nil t t nil ) + ( rdl pin met7Pin t t t t t ) + ( rdl label met7Label t t t t t ) + ( rdl res rpolyRes t t t t t ) + ( rdl cut rpolyCut t t t t t ) + ( rdl short met7Short t t t t nil ) + ( rdl option1 met7Metop1 t t t t nil ) + ( rdl option2 met7Metop2 t t t t nil ) + ( rdl option3 met7Metop3 t t t t nil ) + ( rdl option4 met7Metop4 t t t t nil ) + ( rdl option5 met7Metop5 t t t t nil ) + ( rdl option6 met7Metop6 t t t t nil ) + ( rdl option7 met7Metop7 t t t t nil ) + ( rdl option8 met7Metop8 t t t t nil ) + ( ubm drawing bpm t t t t t ) + ( bump drawing npm t t t t t ) + ( inductor drawing inductor t t t t t ) + ( inductor label inductorLabel t t t t t ) + ( inductor term1 inductorTerm1 t t t t t ) + ( inductor term2 inductorTerm2 t t t t t ) + ( inductor term3 inductorTerm3 t t t t t ) + ( cfom drawing cfom t t t t t ) + ( cfom mask cfommask t t t t t ) + ( cfom maskAdd cfommaskAdd t t t t t ) + ( cfom maskDrop cfommaskDrop t t t t t ) + ( cfom waffleDrop cfomwaffleDrop t t t t t ) + ( fom dummy cfom t t t t nil ) + ( cnwm drawing cnwm t t t t nil ) + ( cnwm mask cnwmmask t t t t t ) + ( cnwm maskAdd cnwmmaskAdd t t t t nil ) + ( cnwm maskDrop cnwmmaskDrop t t t t nil ) + ( cdnm drawing cdnm t t t t t ) + ( cdnm mask cdnmmask t t t t t ) + ( cdnm maskAdd cdnmmaskAdd t t t t t ) + ( cdnm maskDrop cdnmmaskDrop t t t t t ) + ( clvtnm drawing clvtnm t t t t nil ) + ( clvtnm mask clvtnmmask t t t t t ) + ( clvtnm maskAdd clvtnmmaskAdd t t t t nil ) + ( clvtnm maskDrop clvtnmmaskDrop t t t t nil ) + ( chvtpm drawing chvtpm t t t t nil ) + ( chvtpm mask chvtpmmask t t t t t ) + ( chvtpm maskAdd chvtpmmaskAdd t t t t nil ) + ( chvtpm maskDrop chvtpmmaskDrop t t t t nil ) + ( chvtrm drawing chvtrm t t t t nil ) + ( chvtrm mask chvtrmmask t t t t nil ) + ( chvtrm maskAdd chvtrmmaskAdd t t t t nil ) + ( chvtrm maskDrop chvtrmmaskDrop t t t t nil ) + ( ctunm drawing ctunm t t t t t ) + ( ctunm mask ctunmmask t t t t t ) + ( ctunm maskAdd ctunmmaskAdd t t t t t ) + ( ctunm maskDrop ctunmmaskDrop t t t t t ) + ( conom drawing conom t t t t t ) + ( conom mask conommask t t t t t ) + ( conom maskAdd conommaskAdd t t t t t ) + ( conom maskDrop conommaskDrop t t t t t ) + ( cnsdm drawing cnsdm t t t t t ) + ( cnsdm mask cnsdmmask t t t t t ) + ( cnsdm maskAdd cnsdmmaskAdd t t t t t ) + ( cnsdm maskDrop cnsdmmaskDrop t t t t t ) + ( cpsdm drawing cpsdm t t t t t ) + ( cpsdm mask cpsdmmask t t t t t ) + ( cpsdm maskAdd cpsdmmaskAdd t t t t t ) + ( cpsdm maskDrop cpsdmmaskDrop t t t t t ) + ( cntm drawing cntm t t t t t ) + ( cntm mask cntmmask t t t t t ) + ( cntm maskAdd cntmmaskAdd t t t t nil ) + ( cntm maskDrop cntmmaskDrop t t t t nil ) + ( hvntm drawing hvntm t t t t t ) + ( chvntm drawing chvntm t t t t t ) + ( chvntm mask chvntmmask t t t t t ) + ( chvntm maskAdd chvntmmaskAdd t t t t nil ) + ( chvntm maskDrop chvntmmaskDrop t t t t nil ) + ( cldntm drawing cmm8 t t t t nil ) + ( cldntm mask cmm8mask t t t t t ) + ( clvom drawing clvom t t t t t ) + ( clvom mask clvommask t t t t t ) + ( clvom maskAdd clvommaskAdd t t t t nil ) + ( clvom maskDrop clvommaskDrop t t t t nil ) + ( cp1m drawing cp1m t t t t nil ) + ( cp1m mask cp1mmask t t t t t ) + ( cp1m maskAdd cp1mmaskAdd t t t t t ) + ( cp1m waffleDrop cp1mwaffleDrop t t t t t ) + ( cp1m maskDrop cp1mmaskDrop t t t t t ) + ( cli1m drawing cli1m t t t t nil ) + ( cli1m mask cli1mmask t t t t t ) + ( cli1m maskAdd cli1mmaskAdd t t t t t ) + ( cli1m maskDrop cli1mmaskDrop t t t t t ) + ( clicm1 drawing clicm1 t t t t nil ) + ( clicm1 mask clicm1mask t t t t t ) + ( clicm1 maskAdd clicm1maskAdd t t t t t ) + ( clicm1 maskDrop clicm1maskDrop t t t t t ) + ( cmm1 drawing cmm1 t t t t nil ) + ( cmm1 mask cmm1mask t t t t t ) + ( cmm1 maskAdd cmm1maskAdd t t t t nil ) + ( cmm1 maskDrop cmm1maskDrop t t t t nil ) + ( cmm1 waffleDrop cmm1waffleDrop t t t t t ) + ( cviam drawing cviam t t t t nil ) + ( cviam mask cviammask t t t t t ) + ( cviam maskAdd cviammaskAdd t t t t nil ) + ( cviam maskDrop cviammaskDrop t t t t nil ) + ( cmm2 drawing cmm2 t t t t nil ) + ( cmm2 mask cmm2mask t t t t t ) + ( cmm2 maskAdd cmm2maskAdd t t t t nil ) + ( cmm2 maskDrop cmm2maskDrop t t t t nil ) + ( cmm2 waffleDrop cmm2waffleDrop t t t t t ) + ( cviam2 drawing cviam2 t t t t nil ) + ( cviam2 mask cviam2mask t t t t t ) + ( cviam2 maskAdd cviam2maskAdd t t t t nil ) + ( cviam2 maskDrop cviam2maskDrop t t t t nil ) + ( cmm3 drawing cmm3 t t t t nil ) + ( cmm3 mask cmm3mask t t t t t ) + ( cmm3 maskAdd cmm3maskAdd t t t t nil ) + ( cmm3 maskDrop cmm3maskDrop t t t t nil ) + ( cmm3 waffleDrop cmm3waffleDrop t t t t t ) + ( cnpc drawing csilm t t t t t ) + ( cnpc mask csilmmask t t t t t ) + ( cnpc maskAdd csilmmaskAdd t t t t nil ) + ( cnpc maskDrop csilmmaskDrop t t t t nil ) + ( cviam3 drawing cviam3 t t t t nil ) + ( cviam3 mask cviam3mask t t t t t ) + ( cviam3 maskAdd cviam3maskAdd t t t t nil ) + ( cviam3 maskDrop cviam3maskDrop t t t t nil ) + ( capm drawing b55capm t t t t t ) + ( cap2m drawing cmm8mask t t t t t ) + ( cnsm mask cmm8 t t t t t ) + ( cpdm drawing cpdm t t t t nil ) + ( cpdm mask cpdmmask t t t t t ) + ( cpdm maskAdd cpdmmaskAdd t t t t nil ) + ( cpdm maskDrop cpdmmaskDrop t t t t nil ) + ( cpmm drawing ccim t t t t t ) + ( cpbo mask ccimmask t t t t t ) + ( cmm4 mask cmm4mask t t t t t ) + ( cmm4 maskAdd cmm4maskAdd t t t t t ) + ( cmm4 maskDrop cmm4maskDrop t t t t t ) + ( cmm4 waffleDrop cmm4waffleDrop t t t t t ) + ( cviam4 drawing cviam4 t t t t nil ) + ( cviam4 mask cviam4mask t t t t t ) + ( cviam4 maskAdd cviam4maskAdd t t t t nil ) + ( cviam4 maskDrop cviam4maskDrop t t t t nil ) + ( cmm5 mask cmm5mask t t t t t ) + ( cmm5 waffleDrop cmm5waffleDrop t t t t t ) + ( target drawing target t t t t t ) + ( cctm1 drawing cctm1 t t t t nil ) + ( cctm1 mask cctm1mask t t t t t ) + ( cctm1 maskAdd cctm1maskAdd t t t t nil ) + ( cctm1 maskDrop cctm1maskDrop t t t t nil ) + ( crpm drawing crpm t t t t t ) + ( crpm mask crpmmask t t t t t ) + ( crpm maskAdd crpmmaskAdd t t t t t ) + ( crpm maskDrop crpmmaskDrop t t t t t ) + ( ccu1m mask met7 t t nil nil nil ) + ( cpmm2 mask cesdmask t t nil nil nil ) + ( cubm mask bpm t t nil nil nil ) + ( cbump mask npm t t nil nil nil ) + ( overlap drawing overlap t t t t t ) + ( overlap boundary overlapBnd t t t t t ) + ( areaid lowTapDensity areaidDualMemory t t t t t ) + ( areaid notCritSide areaidTcamMemory t t t t t ) + ( areaid injection per t t t t t ) + ( areaid rfdiode fix t t t t t ) + ( areaid seal areaidseal t t t t t ) + ( areaid core areaidcore t t t t t ) + ( areaid frame areaidframe t t t t t ) + ( areaid esd areaidesd t t t t t ) + ( areaid dieCut areaiddieCut t t t t t ) + ( areaid moduleCut areaidmoduleCut t t t t t ) + ( areaid frameRect areaidframeRect t t t t t ) + ( areaid substrateCut areaidsubstrateCut2 t t t t t ) + ( areaid diode areaidde t t t t t ) + ( areaid standardc areaidStandardc t t t t t ) + ( areaid deadZon areaiddn t t t t t ) + ( areaid critCorner areaidcr t t t t t ) + ( areaid critSid areaidcd t t t t t ) + ( areaid opcDrop areaidopcDrop t t t t t ) + ( areaid waffleWindow areaidWaffleWindow t t t t t ) + ( areaid extendedDrain areaidextendedDrain t t t t t ) + ( areaid lvNative areaidTcamMemory t t t t t ) + ( areaid photo areaidprobe t t t t t ) + ( areaid etest cmsm t t t t t ) + ( areaid hvnwell msm t t t t t ) + ( areaid rdlprobepad areaidprobe t t t t t ) + ( areaid sigPadDiff overlap t t t t t ) + ( areaid sigPadWell feedthru t t t t t ) + ( areaid sigPadMetNtr overlapBnd t t t t t ) + ( areaid analog areaidanalog t t t t t ) + ( prune drawing prunedg t t t t t ) + ( padCenter drawing target t t t t t ) + ( met1 psa1 met1Psa1 t t t t t ) + ( met2 psa1 met2Psa1 t t t t t ) + ( met3 psa1 met3Psa1 t t t t t ) + ( met4 psa1 met4Psa1 t t t t t ) + ( met5 psa1 met5Psa1 t t t t t ) + ( met1 psa2 met1Psa2 t t t t t ) + ( met2 psa2 met2Psa2 t t t t t ) + ( met3 psa2 met3Psa2 t t t t t ) + ( met4 psa2 met4Psa2 t t t t t ) + ( met5 psa2 met5Psa2 t t t t t ) + ( met1 psa3 met1Psa3 t t t t t ) + ( met2 psa3 met2Psa3 t t t t t ) + ( met3 psa3 met3Psa3 t t t t t ) + ( met4 psa3 met4Psa3 t t t t t ) + ( met5 psa3 met5Psa3 t t t t t ) + ( met1 psa4 met1Psa4 t t t t t ) + ( met2 psa4 met2Psa4 t t t t t ) + ( met3 psa4 met3Psa4 t t t t t ) + ( met4 psa4 met4Psa4 t t t t t ) + ( met5 psa4 met5Psa4 t t t t t ) + ( met1 psa5 met1Psa5 t t t t t ) + ( met2 psa5 met2Psa5 t t t t t ) + ( met3 psa5 met3Psa5 t t t t t ) + ( met4 psa5 met4Psa5 t t t t t ) + ( met5 psa5 met5Psa5 t t t t t ) + ( met1 psa6 met1Psa6 t t t t t ) + ( met2 psa6 met2Psa6 t t t t t ) + ( met3 psa6 met3Psa6 t t t t t ) + ( met4 psa6 met4Psa6 t t t t t ) + ( met5 psa6 met5Psa6 t t t t t ) + ( rdl psa1 met7Psa1 t t t t t ) + ( rdl psa2 met7Psa2 t t t t t ) + ( rdl psa3 met7Psa3 t t t t t ) + ( rdl psa4 met7Psa4 t t t t t ) + ( rdl psa5 met7Psa5 t t t t t ) + ( rdl psa6 met7Psa6 t t t t t ) + ( blanking drawing post2 t t t t nil ) + ) ;techDisplays + + techLayerProperties( + ;( PropName Layer1 [ Layer2 ] PropValue ) + ;( -------- ------ ---------- --------- ) + ( sheetResistance nwell 1700.000000 ) + ( sheetResistance diff 120.000000 ) + ( areaCapacitance poly 1.060000e-04 ) + ( edgeCapacitance poly 1.030000e-05 ) + ( sheetResistance poly 48.200001 ) + ( thickness poly 0.18 ) + ( areaCapacitance met1 2.580000e-05 ) + ( edgeCapacitance met1 1.790000e-06 ) + ( sheetResistance met1 0.125000 ) + ( thickness met1 0.35 ) + ( areaCapacitance met2 1.750000e-05 ) + ( edgeCapacitance met2 1.220000e-06 ) + ( sheetResistance met2 0.125000 ) + ( thickness met2 0.35 ) + ( areaCapacitance met3 1.260000e-05 ) + ( edgeCapacitance met3 1.860000e-06 ) + ( sheetResistance met3 0.047000 ) + ( thickness met3 0.8 ) + ( areaCapacitance met4 8.670000e-06 ) + ( edgeCapacitance met4 1.290000e-06 ) + ( sheetResistance met4 0.047000 ) + ( thickness met4 0.8 ) + ( areaCapacitance met5 6.480000e-06 ) + ( edgeCapacitance met5 4.960000e-06 ) + ( sheetResistance met5 0.028500 ) + ( thickness met5 1.2 ) + ( areaCapacitance li1 3.690000e-05 ) + ( edgeCapacitance li1 3.260000e-06 ) + ( sheetResistance li1 12.200000 ) + ( thickness li1 0.1 ) + ( areaCapacitance rdl 2.660000e-06 ) + ( edgeCapacitance rdl 6.200000e-06 ) + ( sheetResistance rdl 0.005000 ) + ( thickness rdl 2.0 ) + ) ;techLayerProperties + + techDerivedLayers( + ;( DerivedLayerName # composition ) + ;( ---------------- ------ ------------ ) + ) ;techDerivedLayers + +) ;layerDefinitions + + +;******************************** +; LAYER RULES +;******************************** +layerRules( + + equivalentLayers( + ;( list of layers ) + ;( -------------- ) + ) ;equivalentLayers + + functions( + ;( layer function [maskNumber]) + ;( ----- -------- ------------) + ( pwell "pwell" 1) + ( nwell "nwell" 2) + ( diff "ndiff" 3) + ( tap "ndiff" 4) + ( poly "poly" 5) + ( licon1 "cut" 6) + ( li1 "metal" 7) + ( mcon "cut" 8) + ( met1 "metal" 9) + ( via "cut" 10) + ( met2 "metal" 11) + ( via2 "cut" 12) + ( met3 "metal" 13) + ( via3 "cut" 14) + ( met4 "metal" 15) + ( via4 "cut" 16) + ( met5 "metal" 17) + ( rdl "metal" 18) + ) ;functions + + mfgResolutions( + ;( layer mfgResolution ) + ;( ----- ------------- ) + ) ;mfgResolutions + + routingDirections( + ;( layer direction ) + ;( ----- --------- ) + ) ;routingDirections + + incompatibleLayers( + ;( layer incompatibleLayers ) + ;( ----- ------------------ ) + ) ;incompatibleLayers + + labelLayers( + ;( textLayer layers ) + ;( --------- ---------------------------------- ) + ) ;labelLayers + + stampLabelLayers( + ;( textLayer layers ) + ;( --------- ---------------------------------- ) + ) ;stampLabelLayers + + backsideLayers( + ; layerName1 layerName2 ... + ; ---------------------------------------------------------------------- + + ) ;backsideLayers + + currentDensity( + ;( rule layer1 layer2 value ) + ;( ---- ------ ------ ----- ) + ) ;currentDensity + + currentDensityTables( + ;( rule layer1 + ; (( index1Definitions [index2Definitions]) [defaultValue] ) + ; (table)) + ;( ----------------------------------------------------------------------) + ) ;currentDensityTables + + cutClasses( + ;( layerName ) + ;( (cutClassName (width length)) ) + ;( ---------------------------------------------------------------------- ) + ) ;cutClasses + +) ;layerRules + + +;******************************** +; VIADEFS +;******************************** +viaDefs( + + standardViaDefs( + ;( viaDefName layer1 layer2 (cutLayer cutWidth cutHeight [resistancePerCut]) + ; (cutRows cutCol (cutSpace) [(l_cutPattern)]) + ; (layer1Enc) (layer2Enc) (layer1Offset) (layer2Offset) (origOffset) + ; [implant1 (implant1Enc) [implant2 (implant2Enc) [well/substrate]]]) + ;( -------------------------------------------------------------------------- ) + ( M4M5_C met5 met4 ("via4" 0.8 0.8 0.38) + (1 1 (-0.8 -0.8)) + (0.31 0.31) (0.19 0.19) (0.0 0.0) (0.0 0.0) (0.0 0.0) + ) + ( M3M4_C met4 met3 ("via3" 0.2 0.2 3.41) + (1 1 (-0.2 -0.2)) + (0.065 0.065) (0.09 0.09) (0.0 0.0) (0.0 0.0) (0.0 0.0) + ) + ( M2M3_C met3 met2 ("via2" 0.2 0.2 3.41) + (1 1 (-0.2 -0.2)) + (0.065 0.065) (0.085 0.085) (0.0 0.0) (0.0 0.0) (0.0 0.0) + ) + ( M1M2_C met2 met1 ("via" 0.15 0.15 4.5) + (1 1 (-0.15 -0.15)) + (0.085 0.085) (0.085 0.085) (0.0 0.0) (0.0 0.0) (0.0 0.0) + ) + ( L1M1_C met1 li1 ("mcon" 0.17 0.17 9.3) + (1 1 (-0.17 -0.17)) + (0.06 0.06) (0.0 0.0) (0.0 0.0) (0.0 0.0) (0.0 0.0) + ) + ( PYL1_C poly li1 ("licon1" 0.17 0.17 145.28) + (1 1 (-0.17 -0.17)) + (0.08 0.08) (0.08 0.08) (0.0 0.0) (0.0 0.0) (0.0 0.0) + nil nil npc (0.02 0.02) + ) + ( TPL1_C li1 tap ("licon1" 0.17 0.17 600.0) + (1 1 (-0.17 -0.17)) + (0.08 0.08) (0.12 0.12) (0.0 0.0) (0.0 0.0) (0.0 0.0) + ) + ) ;standardViaDefs + + customViaDefs( + ;( viaDefName libName cellName viewName layer1 layer2 resistancePerCut) + ;( ---------- ------- -------- -------- ------ ------ ----------------) +; ( M4M5_PR_R sky130 M4M5_PR_R symbolic met4 met5 0.38) +; ( M3M4_PR_R sky130 M3M4_PR_R symbolic met3 met4 3.41) +; ( M2M3_PR_R sky130 M2M3_PR_R symbolic met2 met3 3.41) +; ( M4M5_PR sky130 M4M5_PR symbolic met4 met5 0.38) +; ( M3M4_PR sky130 M3M4_PR symbolic met3 met4 3.41) +; ( M2M3_PR sky130 M2M3_PR symbolic met2 met3 3.41) +; ( M1M2_PR sky130 M1M2_PR symbolic met1 met2 4.5) +; ( L1M1_PR sky130 L1M1_PR symbolic li1 met1 9.3) +; ( M1M2_PR_R sky130 M1M2_PR_R symbolic met1 met2 4.5) +; ( pDFL1_PR sky130 pDFL1_PR symbolic diff li1 600.0) +; ( nDFL1_PR sky130 nDFL1_PR symbolic diff li1 182.0) +; ( pTPL1_PR sky130 pTPL1_PR symbolic tap li1 600.0) +; ( nTPL1_PR sky130 nTPL1_PR symbolic tap li1 182.0) +; ( PYL1_PR sky130 PYL1_PR symbolic poly li1 145.28) +; ( ruleVia4 sky130 ruleVia4 symbolic met4 met5 0.38) +; ( ruleVia3 sky130 ruleVia3 symbolic met3 met4 3.41) +; ( ruleVia2 sky130 ruleVia2 symbolic met2 met3 3.41) +; ( ruleVia1 sky130 ruleVia1 symbolic met1 met2 4.5) +; ( ruleVia sky130 ruleVia symbolic met1 met2 4.5) +; ( hvDFL1sd2 sky130 hvDFL1sd2 symbolic diff licon1 600.0) +; ( hvDFL1sd sky130 hvDFL1sd symbolic diff licon1 0.0) +; ( TPL1s sky130 TPL1s symbolic tap licon1 600.0) +; ( DFL1sd2 sky130 DFL1sd2 symbolic diff licon1 600.0) +; ( DFL1sdf sky130 DFL1sdf symbolic diff licon1 600.0) +; ( DFL1sd sky130 DFL1sd symbolic diff licon1 600.0) +; ( hvDFM1sd2 sky130 hvDFM1sd2 symbolic diff licon1 0.0) +; ( DFM1sd2 sky130 DFM1sd2 symbolic diff licon1 0.0) +; ( DFM1sd sky130 DFM1sd symbolic diff licon1 0.0) +; ( TPM1s sky130 TPM1s symbolic tap licon1 0.0) +; ( hvDFM1sd sky130 hvDFM1sd symbolic diff licon1 0.0) +; ( hvDFTPM1s2 sky130 hvDFTPM1s2 symbolic diff licon1 600.0) +; ( hvDFTPL1s2 sky130 hvDFTPL1s2 symbolic diff licon1 600.0) +; ( DFTPM1s2 sky130 DFTPM1s2 symbolic diff licon1 600.0) +; ( DFTPL1s2 sky130 DFTPL1s2 symbolic diff licon1 600.0) +; ( hvDFTPL1s sky130 hvDFTPL1s symbolic diff licon1 600.0) +; ( hvDFTPM1s sky130 hvDFTPM1s symbolic diff licon1 0.0) +; ( DFTPM1sw sky130 DFTPM1sw symbolic diff licon1 0.0) +; ( DFTPM1s sky130 DFTPM1s symbolic diff licon1 0.0) +; ( DFTPL1sw sky130 DFTPL1sw symbolic diff licon1 600.0) +; ( DFTPL1s sky130 DFTPL1s symbolic diff licon1 600.0) +; ( hvDFTPM1s2enh sky130 hvDFTPM1s2enh symbolic diff licon1 0.0) +; ( DFTPM1s2enh sky130 DFTPM1s2enh symbolic diff licon1 0.0) +; ( HRPoly_5p73_L1M1con sky130 HRPoly_5p73_L1M1con symbolic mcon li1 0.0) +; ( HRPoly_5p73_RPL1con sky130 HRPoly_5p73_RPL1con symbolic poly licon1 0.0) +; ( HRPoly_2p85_L1M1con sky130 HRPoly_2p85_L1M1con symbolic mcon li1 0.0) +; ( HRPoly_2p85_RPL1con sky130 HRPoly_2p85_RPL1con symbolic poly licon1 0.0) +; ( HRPoly_1p41_L1M1con sky130 HRPoly_1p41_L1M1con symbolic mcon li1 0.0) +; ( HRPoly_1p41_RPL1con sky130 HRPoly_1p41_RPL1con symbolic poly licon1 0.0) +; ( HRPoly_0p69_L1M1con sky130 HRPoly_0p69_L1M1con symbolic mcon li1 0.0) +; ( HRPoly_0p69_RPL1con sky130 HRPoly_0p69_RPL1con symbolic poly licon1 0.0) +; ( HRPoly_0p35_L1M1con sky130 HRPoly_0p35_L1M1con symbolic mcon li1 0.0) +; ( HRPoly_0p35_RPL1con sky130 HRPoly_0p35_RPL1con symbolic poly licon1 0.0) +; ( FUSE_M3M4 sky130 FUSE_M3M4 symbolic met3 met4 0.0) +; ( M4M5sq sky130 M4M5sq symbolic met4 met5 0.38) +; ( M3M4sq sky130 M3M4sq symbolic met3 met4 3.41) +; ( M2M3sq sky130 M2M3sq symbolic met2 met3 3.41) +; ( M4M5 sky130 M4M5 symbolic met4 met5 0.0) +; ( M3M4 sky130 M3M4 symbolic met3 met4 0.38) +; ( M2M3 sky130 M2M3 symbolic met2 met3 3.41) +; ( M1M2sq sky130 M1M2sq symbolic met1 met2 0.0) +; ( M1M2 sky130 M1M2 symbolic met1 met2 0.0) +; ( L1M1sq sky130 L1M1sq symbolic mcon li1 0.0) +; ( L1M1 sky130 L1M1 symbolic mcon li1 0.0) +; ( PYL1sq sky130 PYL1sq symbolic poly npc 0.0) +; ( PYL1 sky130 PYL1 symbolic poly npc 0.0) +; ( DFL1sq sky130 DFL1sq symbolic diff licon1 0.0) +; ( DFL1 sky130 DFL1 symbolic diff licon1 0.0) +; ( TPL1_fence sky130 TPL1_fence symbolic tap licon1 0.0) +; ( TPL1sq sky130 TPL1sq symbolic tap licon1 0.0) +; ( TPL1 sky130 TPL1 symbolic tap licon1 0.0) +; ( TPL1a sky130 TPL1a symbolic tap licon1 0.0) +; ( TPL1cen sky130 TPL1cen symbolic tap licon1 0.0) +; ( L1M2 sky130 L1M2 symbolic mcon li1 0.0) +; ( PYM1 sky130 PYM1 symbolic poly npc 0.0) +; ( M5RDLlg_atlas sky130 M5RDLlg_atlas symbolic pad rdl 0.0) +; ( M5RDL sky130 M5RDL symbolic pad rdl 0.0) +; ( TPM1 sky130 TPM1 symbolic tap licon1 0.0) +; ( DFM1 sky130 DFM1 symbolic diff licon1 0.0) + ) ;customViaDefs + + cdsGenViaDefs( +; (t_viaDefName +; (layers +; ** Base Layers ** +; (layer1 tx_layer1) +; (layer2 tx_layer2) +; (cutLayer tx_cutLayer) +; ) +; [(extraLayers +; ** Extra Layers ** +; [(layer1ExtraLayers l_extraLayers)] +; [(layer2ExtraLayers l_extraLayers)] +; [(cutExtraLayers l_extraLayers)] +; )] +; [(parameters +; ** Other Default Parameters ** +; [(layer1Purpose tx_purpose)] +; [(layer1Enc l_enc)] +; [(layer2Purpose tx_purpose)] +; [(layer2Enc l_enc)] +; [(cutPurpose tx_purpose)] +; [(cutWidth x_width)] +; [(cutHeight x_width)] +; [(cutSpacing x_spacingX x_spacingY)] +; [(cutRow x_cutRows)] +; [(cutColumns x_cutColumns)] +; [(cutPattern t_pattern)] +; [(alignment t_alignment)] +; [(originOffset l_originOffset)] +; [(layer1ExtraParams l_extraLayerParams)] +; [(layer2ExtraParams l_extraLayerParams)] +; [(cutLayerExtraParams l_extraLayerParams)] +; [(cutArraySpacing x_dX x_dY)] +; [(cutArrayPatternX l_cutArrayPattern)] +; [(cutArrayPatternY l_cutArrayPattern)] +; [(version x_version)] +; )] +; ) +; ( -------------------------------------------------------------------------- ) + ) ;cdsGenViaDefs + + standardViaVariants( + ;( viaVariantName viaDefName (cutLayer cutWidth cutHeight) + ; (cutRows cutCol (cutSpace)) + ; (layer1Enc) (layer2Enc) (layer1Offset) (layer2Offset) (origOffset) + ; (implant1Enc) (implant2Enc) (cut_pattern) ) + ;( -------------------------------------------------------------------------- ) + ) ;standardViaVariants + + customViaVariants( + ;(viaVariantName viaDefName (paramName paramValue) ...) + ;( -------------------------------------------------------------------------- ) + ) ;customViaVariants + +) ;viaDefs + + + +;******************************** +; CONSTRAINT GROUPS +;******************************** +constraintGroups( + + ;( group [override] [definition] [operator] ) + ;( ----- ---------- ------------ ---------- ) + ( "default" nil + ) ;default + + ; Adding for VirtuosoXL (bdj 20180324) + ;( group [override] [definition] [operator] ) + ;( ----- ---------- ------------ ---------- ) + ( "virtuosoDefaultSetup" nil + + interconnect( + ( validLayers (poly li1 met1 met2 met3 met4 met5 ) ) + ( validVias (TPL1_C PYL1_C L1M1_C M1M2_C M2M3_C M3M4_C M4M5_C ) ) + ) ;interconnect + + spacings( + ( minWidth "poly" 0.1 ) + ( minSpacing "poly" 0.18 ) + ( minWidth "li1" 0.13 ) + ( minSpacing "li1" 0.13 ) + ( minWidth "met1" 0.14 ) + ( minSpacing "met1" 0.14 ) + ( minWidth "met2" 0.14 ) + ( minSpacing "met2" 0.14 ) + ( minWidth "met3" 0.24 ) + ( minSpacing "met3" 0.24 ) + ( minWidth "met4" 0.24 ) + ( minSpacing "met4" 0.24 ) + ( minWidth "met5" 0.36 ) + ( minSpacing "met5" 0.36 ) + ) ;spacings + ) ;virtuosoDefaultSetup + + ;( group [override] [definition] [operator] ) + ;( ----- ---------- ------------ ---------- ) + ( "foundry" nil + + ; adding for LayoutXL (bdj 20180324) + interconnect( + ( validLayers (poly li1 met1 met2 met3 met4 met5 ) ) + ( validVias (TPL1_C PYL1_C L1M1_C M1M2_C M2M3_C M3M4_C M4M5_C ) ) + ) ;interconnect + + orderedSpacings( + ( minExtensionDistance "rdl" "pad" 10.75 ) + ( minExtensionDistance "met5" "via4" 0.31 ) + ( minExtensionDistance "met4" "via4" 0.19 ) + ( minExtensionDistance "met4" "via3" 0.065 ) + ( minExtensionDistance "met3" "via3" 0.06 ) + ( minExtensionDistance "met3" "via2" 0.065 ) + ( minExtensionDistance "met2" "via2" 0.04 ) + ( minExtensionDistance "poly" "licon1" 0.05 ) + ( minExtensionDistance "met5" "pad" 2.7 ) + ( minExtensionDistance "met2" "via" 0.085 ) + ( minExtensionDistance "met1" "via" 0.085 ) + ( minExtensionDistance "met1" "mcon" 0.06 ) + ( minExtensionDistance ("cap2m" "drawing") ("via4" "drawing") 0.2 ) + ( minExtensionDistance ("capm" "drawing") ("via3" "drawing") 0.14 ) + ( minExtensionDistance "nwell" "capacitor" 1.5 ) + ( minExtensionDistance "li1" "mcon" 0.0 ) + ( minExtensionDistance "npc" "licon1" 0.1 ) + ( minExtensionDistance "tap" "licon1" 0.12 ) + ( minExtensionDistance "diff" "licon1" 0.04 ) + ( minExtensionDistance "li1" "licon1" 0.08 ) + ( minExtensionDistance "nwell" "tap" 0.18 ) + ( minExtensionDistance "nwell" "diff" 0.18 ) + ( minExtensionDistance "dnwell" "nwell" 0.4 ) + ) ;orderedSpacings + + spacings( + ( minWidth "pad" 60.0 ) + ( minWidth "rdl" 10.0 ) + ( minWidth "met5" 1.6 ) + ( minWidth "via4" 0.8 ) + ( minWidth "met4" 0.3 ) + ( minWidth "via3" 0.2 ) + ( minWidth "met3" 0.3 ) + ( minWidth "via2" 0.2 ) + ( minWidth "hvtr" 0.38 ) + ( minWidth "hvntm" 0.7 ) + ( minWidth "hvtp" 0.38 ) + ( minWidth "ncm" 0.38 ) + ( minWidth "nsm" 3.0 ) + ( minWidth "met2" 0.14 ) + ( minWidth "via" 0.15 ) + ( minWidth "met1" 0.14 ) + ( minWidth "capacitor" 1.43 ) + ( minWidth "mcon" 0.17 ) + ( minWidth "licon1" 0.17 ) + ( minWidth "poly" 0.15 ) + ( minWidth "hvi" 0.6 ) + ( minWidth "ldntm" 0.7 ) + ( minWidth "lvtn" 0.38 ) + ( minWidth "li1" 0.17 ) + ( minWidth "npc" 0.27 ) + ( minWidth "psdm" 0.38 ) + ( minWidth "nsdm" 0.38 ) + ( minWidth "tunm" 0.41 ) + ( minWidth "tap" 0.15 ) + ( minWidth "diff" 0.15 ) + ( minWidth "nwell" 0.84 ) + ( minWidth "dnwell" 3.0 ) + ( minWidth ("cap2m" "drawing") 2.0 ) + ( minWidth ("capm" "drawing") 2.0 ) + ( minArea "met4" 0.24 ) + ( minArea "met3" 0.24 ) + ( minArea "met2" 0.0676 ) + ( minArea "met1" 0.083 ) + ( minArea "psdm" 0.255 ) + ( minArea "nsdm" 0.265 ) + ( minArea "tunm" 0.672 ) + ( minHoleArea "met2" 0.14 ) + ( minHoleArea "met1" 0.14 ) + ( minSpacing "rdl" 10.0 ) + ( minSpacing "met5" 1.6 ) + ( minSpacing "via4" 0.8 ) + ( minSpacing "via3" 0.2 ) + ( minSpacing "via2" 0.2 ) + ( minSpacing "hvtr" 0.38 ) + ( minSpacing "hvntm" 0.7 ) + ( minSpacing "hvtp" 0.38 ) + ( minSpacing "ncm" 0.38 ) + ( minSpacing "pad" 1.27 ) + ( minSpacing ("cap2m" "drawing") 0.84 ) + ( minSpacing ("capm" "drawing") 0.84 ) + ( minSpacing "nsm" 4.0 ) + ( minSpacing "via" 0.17 ) + ( minSpacing "mcon" 0.19 ) + ( minSpacing "licon1" 0.17 ) + ( minSpacing "poly" "tap" 0.055 ) + ( minSpacing "poly" "diff" 0.075 ) + ( minSpacing "poly" 0.21 ) + ( minSpacing "hvi" "nwell" 0.7 ) + ( minSpacing "hvi" 0.7 ) + ( minSpacing "ldntm" 0.7 ) + ( minSpacing "lvtn" "hvtp" 0.38 ) + ( minSpacing "lvtn" 0.38 ) + ( minSpacing "li1" 0.17 ) + ( minSpacing "npc" 0.27 ) + ( minSpacing "psdm" 0.38 ) + ( minSpacing "nsdm" 0.38 ) + ( minSpacing "tunm" 0.5 ) + ( minSpacing "tap" "nwell" 0.13 ) + ( minSpacing "diff" "nwell" 0.34 ) + ( minSpacing "diff" "tap" 0.27 ) + ( minSpacing "tap" 0.27 ) + ( minSpacing "diff" 0.27 ) + ( minSpacing "nwell" "dnwell" 4.5 ) + ( minSpacing "nwell" 1.27 ) + ( minSpacing "dnwell" 6.3 ) + ( minSameNetSpacing ("via3" "drawing") ("via4" "drawing") 0.0 ) + ( minSameNetSpacing ("via2" "drawing") ("via3" "drawing") 0.0 ) + ( minSameNetSpacing ("via" "drawing") ("via3" "drawing") 0.0 ) + ( minSameNetSpacing ("via" "drawing") ("via2" "drawing") 0.0 ) + ( minSameNetSpacing ("mcon" "drawing") ("via3" "drawing") 0.0 ) + ( minSameNetSpacing ("mcon" "drawing") ("via2" "drawing") 0.0 ) + ( minSameNetSpacing ("mcon" "drawing") ("via" "drawing") 0.0 ) + ( minSameNetSpacing ("met5" "drawing") 1.6 ) + ( minSameNetSpacing ("met4" "drawing") 0.3 ) + ( minSameNetSpacing ("via3" "drawing") 0.2 ) + ( minSameNetSpacing ("met3" "drawing") 0.3 ) + ( minSameNetSpacing ("via2" "drawing") 0.2 ) + ( minSameNetSpacing ("met2" "drawing") 0.14 ) + ( minSameNetSpacing ("via" "drawing") 0.17 ) + ( minSameNetSpacing ("met1" "drawing") 0.14 ) + ( minSameNetSpacing ("mcon" "drawing") 0.19 ) + ) ;spacings + + routingGrids( + ( horizontalOffset "met5" 1.555 ) + ( verticalOffset "met5" 1.555 ) + ( horizontalOffset "met4" 0.305 ) + ( verticalOffset "met4" 0.305 ) + ( horizontalOffset "met3" 0.305 ) + ( verticalOffset "met3" 0.305 ) + ( horizontalOffset "met2" 0.185 ) + ( verticalOffset "met2" 0.185 ) + ( horizontalOffset "met1" 0.185 ) + ( verticalOffset "met1" 0.185 ) + ) ;routingGrids + + spacingTables( + ;( constraint layer1 [layer2] + ; (( index1Definitions [index2Defintions]) [defaultValue] ) + ; ( table) ) + ;( --------------------------------------------) + ( minSpacing "met1" + (( "width" nil nil ) 0.14 ) + ( + 0.0 0.14 + 3.005 0.28 + ) + ) + ( minStubInfluenceSpacing "met1" + (( "width" nil nil "distance" nil nil ) ) + ( + (3.005 0.28 ) 0.28 + ) + ) + ( minSpacing "met2" + (( "width" nil nil ) 0.14 ) + ( + 0.0 0.14 + 3.005 0.28 + ) + ) + ( minStubInfluenceSpacing "met2" + (( "width" nil nil "distance" nil nil ) ) + ( + (3.005 0.28 ) 0.28 + ) + ) + ( minSpacing "met3" + (( "width" nil nil ) 0.3 ) + ( + 0.0 0.3 + 3.005 0.4 + ) + ) + ( minStubInfluenceSpacing "met3" + (( "width" nil nil "distance" nil nil ) ) + ( + (3.005 0.4 ) 0.4 + ) + ) + ( minSpacing "met4" + (( "width" nil nil ) 0.3 ) + ( + 0.0 0.3 + 3.005 0.4 + ) + ) + ( minStubInfluenceSpacing "met4" + (( "width" nil nil "distance" nil nil ) ) + ( + (3.005 0.4 ) 0.4 + ) + ) + ) ;spacingTables + + antennaModels( + ;( model ) + ;( ----- ) + ( "default" + antenna( + ( areaRatio "via4" 6.0 ) + ( diffAreaRatio "via4" + ( + ( 0.0 6.0 ) + ( 0.0125 6.0 ) + ( 0.0225 6.81 ) + ( 22.5 816.0 ) + ) + ) + ) ;antenna + antenna( + ( areaRatio "via3" 6.0 ) + ( diffAreaRatio "via3" + ( + ( 0.0 6.0 ) + ( 0.0125 6.0 ) + ( 0.0225 6.81 ) + ( 22.5 816.0 ) + ) + ) + ) ;antenna + antenna( + ( areaRatio "via2" 6.0 ) + ( diffAreaRatio "via2" + ( + ( 0.0 6.0 ) + ( 0.0125 6.0 ) + ( 0.0225 6.81 ) + ( 22.5 816.0 ) + ) + ) + ) ;antenna + antenna( + ( areaRatio "via" 6.0 ) + ( diffAreaRatio "via" + ( + ( 0.0 6.0 ) + ( 0.0125 6.0 ) + ( 0.0225 6.81 ) + ( 22.5 816.0 ) + ) + ) + ) ;antenna + antenna( + ( areaRatio "mcon" 3.0 ) + ( diffAreaRatio "mcon" + ( + ( 0.0 3.0 ) + ( 0.0125 3.0 ) + ( 0.0225 3.405 ) + ( 22.5 408.0 ) + ) + ) + ) ;antenna + antenna( + ( areaRatio "met5" 400.0 'side ) + ( diffAreaRatio "met5" + ( + ( 0.0 400.0 ) + ( 0.0125 400.0 ) + ( 0.0225 2609.0 ) + ( 22.5 11600.0 ) + ) + 'side ) + ) ;antenna + antenna( + ( areaRatio "met4" 400.0 'side ) + ( diffAreaRatio "met4" + ( + ( 0.0 400.0 ) + ( 0.0125 400.0 ) + ( 0.0225 2609.0 ) + ( 22.5 11600.0 ) + ) + 'side ) + ) ;antenna + antenna( + ( areaRatio "met3" 400.0 'side ) + ( diffAreaRatio "met3" + ( + ( 0.0 400.0 ) + ( 0.0125 400.0 ) + ( 0.0225 2609.0 ) + ( 22.5 11600.0 ) + ) + 'side ) + ) ;antenna + antenna( + ( areaRatio "met2" 400.0 'side ) + ( diffAreaRatio "met2" + ( + ( 0.0 400.0 ) + ( 0.0125 400.0 ) + ( 0.0225 2609.0 ) + ( 22.5 11600.0 ) + ) + 'side ) + ) ;antenna + antenna( + ( areaRatio "met1" 400.0 'side ) + ( diffAreaRatio "met1" + ( + ( 0.0 400.0 ) + ( 0.0125 400.0 ) + ( 0.0225 2609.0 ) + ( 22.5 11600.0 ) + ) + 'side ) + ) ;antenna + antenna( + ( areaRatio "li1" 75.0 'side ) + ( diffAreaRatio "li1" + ( + ( 0.0 75.0 ) + ( 0.0125 75.0 ) + ( 0.0225 85.125 ) + ( 22.5 10200.0 ) + ) + 'side ) + ) ;antenna + cumulativeMetalAntenna( + ( areaRatio 0.0 'side ) + ) ;cumulativeMetalAntenna + cumulativeViaAntenna( + ( areaRatio 0.0 ) + ) ;cumulativeViaAntenna + ) ;default + ) ;antennaModels + + orderedElectrical( + ;( constraint layer1 layer2 value ) + ;( ---------- ------ ------ ------ ) + ( parallelCap ("rdl" "drawing") ("diff" "drawing") 5.45e-05 ) + ( parallelCap ("met5" "drawing") ("diff" "drawing") 6.47e-05 ) + ( parallelCap ("met4" "drawing") ("diff" "drawing") 0.000108 ) + ( parallelCap ("met3" "drawing") ("diff" "drawing") 0.000107 ) + ( parallelCap ("met2" "drawing") ("diff" "drawing") 0.000106 ) + ( parallelCap ("met1" "drawing") ("diff" "drawing") 0.000105 ) + ( parallelCap ("li1" "drawing") ("diff" "drawing") 7.98e-05 ) + ( parallelCap ("poly" "drawing") ("diff" "drawing") 7.61e-05 ) + ) ;orderedElectrical + ) ;foundry +) ;constraintGroups + + +;******************************** +; DEVICES +;******************************** + +devices( +tcCreateCDSDeviceClass() + + +ruleContactDevice( +; ( viaName (layer1 purpose1 layer1BBox1 [layer1BBox2 ...]) +; (viaLayer viaPurpose viaLayerBBox1 [viaLayerBBox2 ...]) +; (layer2 purpose2 layer2BBox1 [layer2BBox2 ...]) +; ) + ( ruleVia + ( met1 drawing + ( -0.160000 -0.160000 0.160000 0.160000 ) + ) + ( via drawing + ( -0.075000 -0.075000 0.075000 0.075000 ) + ) + ( met2 drawing + ( -0.160000 -0.160000 0.160000 0.160000 ) + ) + ) + ( ruleVia1 + ( met1 drawing + ( -0.160000 -0.160000 0.160000 0.160000 ) + ) + ( via drawing + ( -0.075000 -0.075000 0.075000 0.075000 ) + ) + ( met2 drawing + ( -0.160000 -0.160000 0.160000 0.160000 ) + ) + ) + ( ruleVia2 + ( met2 drawing + ( -0.140000 -0.140000 0.140000 0.140000 ) + ) + ( via2 drawing + ( -0.100000 -0.100000 0.100000 0.100000 ) + ) + ( met3 drawing + ( -0.165000 -0.165000 0.165000 0.165000 ) + ) + ) + ( ruleVia3 + ( met3 drawing + ( -0.160000 -0.160000 0.160000 0.160000 ) + ) + ( via3 drawing + ( -0.100000 -0.100000 0.100000 0.100000 ) + ) + ( met4 drawing + ( -0.165000 -0.165000 0.165000 0.165000 ) + ) + ) + ( ruleVia4 + ( met4 drawing + ( -0.590000 -0.590000 0.590000 0.590000 ) + ) + ( via4 drawing + ( -0.400000 -0.400000 0.400000 0.400000 ) + ) + ( met5 drawing + ( -0.710000 -0.710000 0.710000 0.710000 ) + ) + ) +) + +; +; no syEnhancement devices +; + +; +; no syDepletion devices +; + + +; +; no cdsVia devices +; + +; +; no cdsMos devices +; + + +multipartPathTemplates( +; ( name [masterPath] [offsetSubpaths] [encSubPaths] [subRects] ) +; +; masterPath: +; (layer [width] [choppable] [endType] [beginExt] [endExt] [justify] [offset] +; [connectivity]) +; +; offsetSubpaths: +; (layer [width] [choppable] [separation] [justification] [begOffset] [endOffset] +; [connectivity]) +; +; encSubPaths: +; (layer [enclosure] [choppable] [begOffset] [endOffset] +; [connectivity]) +; +; subRects: +; (layer [width] [length] [choppable] [separation] [justification] [space] [begOffset] [endOffset] [gap] +; [connectivity] [beginSegOffset] [endSegOffset]) +; +; connectivity: +; ([I/O type] [pin] [accDir] [dispPinName] [height] [ layer] +; [layer] [justification] [font] [textOptions] [orientation] +; [refHandle] [offset]) +; +; ( --------------------------------------------------------------------- ) + (PYL1_MPP + (("poly" "drawing") 0.33 t truncate 0.0 0.0 center 0.0) + nil + ((("li1" "drawing") 0.08 t 0.0 0.0) + (("npc" "drawing") -0.02 t 0.02 0.02) + ) + ((("licon1" "drawing") nil nil t 0.0 center nil -0.1 -0.1 minimum nil 0.1 0.1) + ) + ) + (PYM1_MPP + (("poly" "drawing") 0.33 t truncate 0.0 0.0 center 0.0) + nil + ((("li1" "drawing") 0.08 t 0.0 0.0) + (("npc" "drawing") -0.02 t 0.02 0.02) + (("met1" "drawing") 0.02 t 0.0 0.0) + ) + ((("licon1" "drawing") nil nil t 0.0 center nil -0.1 -0.1 minimum nil 0.1 0.1) + (("mcon" "drawing") nil nil t 0.0 center nil -0.06 -0.06 minimum nil 0.06 0.06) + ) + ) + (L1M1_MPP + (("met1" "drawing") 0.23 t truncate 0.0 0.0 center 0.0) + nil + ((("li1" "drawing") nil t 0.0 0.0) + ) + ((("mcon" "drawing") nil nil t 0.0 center nil -0.06 -0.06 minimum nil 0.06 0.06) + ) + ) + (L1M2_MPP + (("met2" "drawing") 0.26 t truncate 0.0 0.0 center 0.0) + nil + ((("li1" "drawing") nil t 0.0 0.0) + (("met1" "drawing") nil t 0.0 0.0) + ) + ((("mcon" "drawing") nil nil t 0.0 center nil -0.06 -0.06 minimum nil 0.06 0.06) + (("via" "drawing") nil nil t 0.0 center nil -0.085 -0.085 minimum nil 0.085 0.085) + ) + ) + (M1M2_MPP + (("met2" "drawing") 0.26 t truncate 0.0 0.0 center 0.0) + nil + ((("met1" "drawing") nil t 0.0 0.0) + ) + ((("via" "drawing") nil nil t 0.0 center nil -0.085 -0.085 minimum nil 0.085 0.085) + ) + ) + (M2M3_MPP + (("met2" "drawing") 0.28 t truncate 0.0 0.0 center 0.0) + nil + ((("met3" "drawing") -0.025 t 0.0 0.0) + ) + ((("via2" "drawing") nil nil t 0.0 center nil -0.085 -0.065 minimum nil 0.085 0.065) + ) + ) + (PTPL1_MPP + (("tap" "drawing") 0.17 t truncate 0.0 0.0 center 0.0) + nil + ((("li1" "drawing") nil t 0.0 0.0) + (("psdm" "drawing") -0.125 t 0.125 0.125) + ) + ((("licon1" "drawing") nil nil t 0.0 center nil -0.12 -0.12 minimum nil 0.12 0.12) + ) + ) + (PTPM1_MPP + (("tap" "drawing") 0.17 t truncate 0.0 0.0 center 0.0) + nil + ((("li1" "drawing") nil t 0.0 0.0) + (("met1" "drawing") -0.06 t 0.0 0.0) + (("psdm" "drawing") -0.125 t 0.125 0.125) + ) + ((("licon1" "drawing") nil nil t 0.0 center nil -0.12 -0.12 minimum nil 0.12 0.12) + (("mcon" "drawing") nil nil t 0.0 center nil -0.06 -0.06 minimum nil 0.06 0.06) + ) + ) + (NTPL1_MPP + (("tap" "drawing") 0.17 t truncate 0.0 0.0 center 0.0) + nil + ((("li1" "drawing") nil t 0.0 0.0) + (("nsdm" "drawing") -0.125 t 0.125 0.125) + (("nwell" "drawing") -0.18 t 0.18 0.18) + ) + ((("licon1" "drawing") nil nil t 0.0 center nil -0.12 -0.12 minimum nil 0.12 0.12) + ) + ) + (NTPM1_MPP + (("tap" "drawing") 0.17 t truncate 0.0 0.0 center 0.0) + nil + ((("li1" "drawing") nil t 0.0 0.0) + (("met1" "drawing") -0.06 t 0.0 0.0) + (("nsdm" "drawing") -0.125 t 0.125 0.125) + (("nwell" "drawing") -0.18 t 0.18 0.18) + ) + ((("licon1" "drawing") nil nil t 0.0 center nil -0.12 -0.12 minimum nil 0.12 0.12) + (("mcon" "drawing") nil nil t 0.0 center nil -0.06 -0.06 minimum nil 0.06 0.06) + ) + ) +) ;multipartPathTemplates +; +; no syRectPin devices +; + +; +; Opus Symbolic Device Class Definitions removed +; + +; +; Opus Symbolic Device Declarations removed +; + + +) ;devices + + + +;******************************** +; LE RULES +;******************************** +leRules( + + leLswLayers( + ;( layer purpose ) + ;( ----- ------- ) + ) ;leLswLayers + +) ;leRules + + +;******************************** +; SITEDEFS +;******************************** +siteDefs( + + scalarSiteDefs( + ;( siteDefName type width height symInX symInY symInR90) + ;( ----------- ---- ----- ------ ------ ------ -------) + ) ;scalarSiteDefs + + arraySiteDefs( + ; ( name type + ; ((siteDefName dx dy orientation) ...) + ; [symX] [symY] [symR90] ) + + ) ;arraySiteDefs + +) ;siteDefs + + +;******************************** +; VIASPECS +;******************************** + +viaSpecs( + ;(layer1 layer2 (viaDefName ...) + ; [( + ; (layer1MinWidth layer1MaxWidth layer2MinWidth layer2MaxWidth + ; (viaDefName ...)) + ; ... + ; )]) + ;( ------------------------------------------------------------------------ ) +) ;viaSpecs diff --git a/sky130_cds/VirtuosoOA/sky130/.oalib b/sky130_cds/VirtuosoOA/sky130/.oalib new file mode 100644 index 0000000..21ffef8 --- /dev/null +++ b/sky130_cds/VirtuosoOA/sky130/.oalib @@ -0,0 +1,6 @@ + + +
} \
+# -powerDomains {