adding sky130_cds files
This commit is contained in:
parent
49d3c73c2c
commit
d14357b640
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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.
|
Binary file not shown.
|
@ -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
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
# sky130_cds
|
||||
<pre>
|
||||
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
|
||||
</pre>
|
||||
|
||||
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**</br>
|
||||
|
||||
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:
|
||||
|
||||
<pre>
|
||||
git submodule update --init --recursive
|
||||
</pre>
|
||||
|
||||
You can also get each submodule individually by typing:
|
||||
|
||||
<pre>
|
||||
git submodule update --init sky130_osu_sc_t18
|
||||
</pre>
|
||||
|
||||
If you wish to download them individually, you can do that at these links:
|
||||
<pre>
|
||||
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
|
||||
</pre>
|
||||
|
||||
**Sample Designs:**<br/>
|
||||
|
||||
Right now there are two sample designs in the repository. One is a purely combinational design (mult.sv) and the other is a combination of combinational and sequential (mult_seq.sv). Right now, the mult_seq design is set up but can be easily modified and changed, if needed.
|
||||
|
||||
**Instructions to run synthesis and pnr:**
|
||||
|
||||
1. git clone git@github.com:stineje/sky130_cds.git
|
||||
|
||||
2. **Set up PDK:**<br/>
|
||||
a. cd sky130_cds<br/>
|
||||
b. git submodule update --init --recursive<br/>
|
||||
|
||||
3. **Run synthesis:**<br/>
|
||||
a.cd synth<br/>
|
||||
b.Add HDL to hdl subdirectory<br/>
|
||||
c.Edit genus script.tcl to load in correct SV files<br/>
|
||||
d.Also modify genus_script.tcl to add the timing needed any loading or input/output delays. There are also options for loading that can be changed. Right now, a FF is assumed to be at the beginning and end of the timing to constrain the timing properly.Constraint settings are found within the constraints top.sdc file.<br/>
|
||||
e.make synth<br/>
|
||||
f.All output is logged to synth.out that should be checked on completion. Reports are found within the reports directory and any mapped HDL is found in the top directory.<br/>
|
||||
|
||||
4. **Place-and-Route:**<br/>
|
||||
a. Edit setup.tcl and change the design, netlist, and sdc location. These can be found by searching for mult seq in a text editor. These items should match the files done through synthesis.<br/>
|
||||
b.innovus_config.tcl has plugins that allow commands to be run when needed. Right now, some plugins are enabled and some are not. This file would have be edited if one would want to do an additional command. These commands can be done before or after a step -- e.g.,pre init or post init.<br/>
|
||||
c.To start the process, a Makefile is used. Type the following in this order: init, place, cts, postcts hold, route, postroute, signoff. For example, you could type, make init to run through a design for the init phase. If one would want to just run through route, just type make route and the scripts should run through all the scripts until the end of route provided the other steps have not been initiated.This, of course, is provided there are no errors.<br/>
|
||||
d.Any commands run through the pnr are in the LOG subdirectory. There is one file that lists the commands (i.e., cmd) and the other that lists output from the command or the log files (i.e., .log). Reports are found in the RPT subdirectory.<br/>
|
||||
e.To pull up a placed-and-routed design from the route stage , start innovus and type: restoreDesign DBS/route.enc.dat/ mult_seq. It is important that the last argument be the top-level design indicated during the synthesis stage.<br/>
|
||||
|
||||
Notes: There is more information in the PowerPoint slides found in the doc subdirectory.
|
||||
|
||||
**Generating a qrcTechfile for PEX using Quantus:**<br/>
|
||||
|
||||
qrcTechfile is a technology file specific to a PDK that is generated from an ict file. An ict file contains information about conductors, dielectrics, diffusion, substrate, via and so forth. It is created using the specified syntax for each of the commands.<br/>
|
||||
<PRE>techgen -si sky130.ict</PRE>
|
||||
|
||||
|
|
@ -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))
|
|
@ -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))
|
|
@ -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
|
||||
|
|
@ -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")
|
|
@ -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.
|
||||
|
||||
|
|
@ -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
|
File diff suppressed because it is too large
Load Diff
|
@ -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
|
|
@ -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
|
||||
^^^^^^^^^^_________________________
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
setenv PDK_HOME $HOME/Desktop/sky130_cds/
|
||||
#setEnvVal CDS_DISABLE_USER_DEFINED_CST_REPORT 1
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<Library DMSystem="oaDMFileSys">
|
||||
<oaDMFileSys libReadOnly="No"
|
||||
origFileSystem="Unix"/>
|
||||
</Library>
|
|
@ -0,0 +1,41 @@
|
|||
#
|
||||
# This is a cdsinfo.tag file.
|
||||
#
|
||||
# See the "Cadence Application Infrastructure Reference Manual" for
|
||||
# details on the format of this file, its semantics, and its use.
|
||||
#
|
||||
# The `#' character denotes a comment. Removing the leading `#'
|
||||
# character from any of the entries below will activate them.
|
||||
#
|
||||
# CDSLIBRARY entry - add this entry if the directory containing
|
||||
# this cdsinfo.tag file is the root of a Cadence library.
|
||||
# CDSLIBRARY
|
||||
#
|
||||
# CDSLIBCHECK - set this entry to require that libraries have
|
||||
# a cdsinfo.tag file with a CDSLIBRARY entry. Legal values are
|
||||
# ON and OFF. By default (OFF), directories named in a cds.lib file
|
||||
# do not have to have a cdsinfo.tag file with a CDSLIBRARY entry.
|
||||
# CDSLIBCHECK ON
|
||||
#
|
||||
# DMTYPE - set this entry to define the DM system for Cadence's
|
||||
# Generic DM facility. Values will be shifted to lower case.
|
||||
# DMTYPE none
|
||||
# DMTYPE crcs
|
||||
# DMTYPE tdm
|
||||
# DMTYPE sync
|
||||
#
|
||||
# NAMESPACE - set this entry to define the library namespace according
|
||||
# to the type of machine on which the data is stored. Legal values are
|
||||
# `LibraryNT' and
|
||||
# `LibraryUnix'.
|
||||
# NAMESPACE LibraryUnix
|
||||
#
|
||||
# Other entries may be added for use by specific applications as
|
||||
# name-value pairs. Application documentation will describe the
|
||||
# use and behaviour of these entries when appropriate.
|
||||
#
|
||||
# Current Settings:
|
||||
#
|
||||
CDSLIBRARY
|
||||
DMTYPE none
|
||||
NAMESPACE LibraryUnix
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
After Width: | Height: | Size: 3.8 KiB |
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
After Width: | Height: | Size: 605 B |
Binary file not shown.
|
@ -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
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<Library DMSystem="oaDMFileSys">
|
||||
<oaDMFileSys libReadOnly="No"
|
||||
origFileSystem="Unix"/>
|
||||
</Library>
|
|
@ -0,0 +1,41 @@
|
|||
#
|
||||
# This is a cdsinfo.tag file.
|
||||
#
|
||||
# See the "Cadence Application Infrastructure Reference Manual" for
|
||||
# details on the format of this file, its semantics, and its use.
|
||||
#
|
||||
# The `#' character denotes a comment. Removing the leading `#'
|
||||
# character from any of the entries below will activate them.
|
||||
#
|
||||
# CDSLIBRARY entry - add this entry if the directory containing
|
||||
# this cdsinfo.tag file is the root of a Cadence library.
|
||||
# CDSLIBRARY
|
||||
#
|
||||
# CDSLIBCHECK - set this entry to require that libraries have
|
||||
# a cdsinfo.tag file with a CDSLIBRARY entry. Legal values are
|
||||
# ON and OFF. By default (OFF), directories named in a cds.lib file
|
||||
# do not have to have a cdsinfo.tag file with a CDSLIBRARY entry.
|
||||
# CDSLIBCHECK ON
|
||||
#
|
||||
# DMTYPE - set this entry to define the DM system for Cadence's
|
||||
# Generic DM facility. Values will be shifted to lower case.
|
||||
# DMTYPE none
|
||||
# DMTYPE crcs
|
||||
# DMTYPE tdm
|
||||
# DMTYPE sync
|
||||
#
|
||||
# NAMESPACE - set this entry to define the library namespace according
|
||||
# to the type of machine on which the data is stored. Legal values are
|
||||
# `LibraryNT' and
|
||||
# `LibraryUnix'.
|
||||
# NAMESPACE LibraryUnix
|
||||
#
|
||||
# Other entries may be added for use by specific applications as
|
||||
# name-value pairs. Application documentation will describe the
|
||||
# use and behaviour of these entries when appropriate.
|
||||
#
|
||||
# Current Settings:
|
||||
#
|
||||
CDSLIBRARY
|
||||
DMTYPE none
|
||||
NAMESPACE LibraryUnix
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-- Master.tag File, Rev:1.0
|
||||
layout.oa
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue