diff --git a/klayout/drc/rule_decks/lvs_bjt.drc b/klayout/drc/rule_decks/lvs_bjt.drc new file mode 100644 index 00000000..cd79fd3f --- /dev/null +++ b/klayout/drc/rule_decks/lvs_bjt.drc @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +################################################################################################ +# Copyright 2022 GlobalFoundries PDK Authors +# +# 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 +# +# https://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. +################################################################################################ + +if FEOL + + #================================================ + #--------------------LVS_BJT--------------------- + #================================================ + + # Rule LVS_BJT.1: Minimum LVS_BJT enclosure of NPN or PNP Emitter COMP layers is 0um. + logger.info('Executing rule LVS_BJT.1') + vnpn_e = ncomp.interacting(lvs_bjt).inside(dnwell) + vpnp_e = pcomp.interacting(lvs_bjt).inside(nwell) + lvs_l1 = vnpn_e.join(vpnp_e).not(lvs_bjt) + lvs_l1.output('LVS_BJT.1', 'LVS_BJT.1 : Minimum LVS_BJT enclosure of NPN or PNP Emitter COMP layers: 0um') + lvs_l1.forget + vnpn_e.forget + vpnp_e.forget +end diff --git a/klayout/drc/testing/testcases/unit/lvs_bjt.gds b/klayout/drc/testing/testcases/unit/lvs_bjt.gds new file mode 100644 index 00000000..a817e526 Binary files /dev/null and b/klayout/drc/testing/testcases/unit/lvs_bjt.gds differ diff --git a/klayout/drc/testing/testcases/unit/lvs_bjt.svg b/klayout/drc/testing/testcases/unit/lvs_bjt.svg new file mode 100644 index 00000000..4228da71 --- /dev/null +++ b/klayout/drc/testing/testcases/unit/lvs_bjt.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +LVS_BJT.1 +LVS_BJT.1 +LVS_BJT.1 LVS_BJT overlap of all NPN COMP layers = 0 +LVS_BJT MARKING LAYER + + \ No newline at end of file