From 70b2f2c6924dfd57298f84c592856e8e01fb98c3 Mon Sep 17 00:00:00 2001 From: FaragElsayed2 Date: Wed, 5 Apr 2023 14:43:34 +0200 Subject: [PATCH] Updating comments for DRC rules --- klayout/drc/rule_decks/pres.drc | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/klayout/drc/rule_decks/pres.drc b/klayout/drc/rule_decks/pres.drc index e823d885..a5edfcb9 100644 --- a/klayout/drc/rule_decks/pres.drc +++ b/klayout/drc/rule_decks/pres.drc @@ -24,56 +24,56 @@ if FEOL logger.info('Starting PRES derivations') pres_poly = poly2.and(pplus).interacting(sab).interacting(res_mk).not_interacting(resistor) - # Rule PRES.1: Minimum width of Poly2 resistor. is 0.8µm + # Rule PRES.1: Minimum width of Poly2 resistor is 0.8µm. logger.info('Executing rule PRES.1') pres1_l1 = pres_poly.width(0.8.um, euclidian) - pres1_l1.output('PRES.1', 'PRES.1 : Minimum width of Poly2 resistor. : 0.8µm') + pres1_l1.output('PRES.1', 'PRES.1 : Minimum width of Poly2 resistor: 0.8µm') pres1_l1.forget - # Rule PRES.2: Minimum space between Poly2 resistors. is 0.4µm + # Rule PRES.2: Minimum space between Poly2 resistors is 0.4µm. logger.info('Executing rule PRES.2') pres2_l1 = pres_poly.isolated(0.4.um, euclidian) - pres2_l1.output('PRES.2', 'PRES.2 : Minimum space between Poly2 resistors. : 0.4µm') + pres2_l1.output('PRES.2', 'PRES.2 : Minimum space between Poly2 resistors: 0.4µm') pres2_l1.forget - # Rule PRES.3: Minimum space from Poly2 resistor to COMP. + # Rule PRES.3: Minimum space from Poly2 resistor to COMP is 0.6.um. logger.info('Executing rule PRES.3') pres3_l1 = pres_poly.separation(comp, 0.6.um, euclidian).polygons(0.001.um) pres3_l2 = comp.not_outside(pres_poly) pres3_l = pres3_l1.or(pres3_l2) - pres3_l.output('PRES.3', 'PRES.3 : Minimum space from Poly2 resistor to COMP.') + pres3_l.output('PRES.3', 'PRES.3 : Minimum space from Poly2 resistor to COMP: 0.6.um') pres3_l.forget pres3_l1.forget pres3_l2.forget - # Rule PRES.4: Minimum space from Poly2 resistor to unrelated Poly2. is 0.6µm + # Rule PRES.4: Minimum space from Poly2 resistor to unrelated Poly2 is 0.6µm. logger.info('Executing rule PRES.4') pres4_l1 = pres_poly.separation(poly2.not_interacting(sab), 0.6.um, euclidian) - pres4_l1.output('PRES.4', 'PRES.4 : Minimum space from Poly2 resistor to unrelated Poly2. : 0.6µm') + pres4_l1.output('PRES.4', 'PRES.4 : Minimum space from Poly2 resistor to unrelated Poly2: 0.6µm') pres4_l1.forget - # Rule PRES.5: Minimum Plus implant overlap of Poly2 resistor. is 0.3µm + # Rule PRES.5: Minimum Plus implant overlap of Poly2 resistor is 0.3µm. logger.info('Executing rule PRES.5') pres5_l1 = pres_poly.enclosed(pplus, 0.3.um, euclidian).polygons(0.001.um) pres5_l2 = pres_poly.not_outside(pplus).not(pplus) pres5_l = pres5_l1.or(pres5_l2) - pres5_l.output('PRES.5', 'PRES.5 : Minimum Plus implant overlap of Poly2 resistor. : 0.3µm') + pres5_l.output('PRES.5', 'PRES.5 : Minimum Plus implant overlap of Poly2 resistor: 0.3µm') pres5_l1.forget pres5_l2.forget pres5_l.forget - # Rule PRES.6: Minimum salicide block overlap of Poly2 resistor in width direction. is 0.28µm + # Rule PRES.6: Minimum salicide block overlap of Poly2 resistor in width direction is 0.28µm. logger.info('Executing rule PRES.6') pres6_l1 = pres_poly.enclosed(sab, 0.28.um) - pres6_l1.output('PRES.6', 'PRES.6 : Minimum salicide block overlap of Poly2 resistor in width direction. : 0.28µm') + pres6_l1.output('PRES.6', 'PRES.6 : Minimum salicide block overlap of Poly2 resistor in width direction: 0.28µm') pres6_l1.forget - # Rule PRES.7: Space from salicide block to contact on Poly2 resistor. + # Rule PRES.7: Minimum space from salicide block to contact on Poly2 resistor is 0.22.um. logger.info('Executing rule PRES.7') pres7_l1 = contact.and(pres_poly).separation(sab, 0.22.um).polygons(0.001.um) pres7_l2 = contact.and(pres_poly).interacting(sab) pres7_l = pres7_l1.or(pres7_l2) - pres7_l.output('PRES.7', 'PRES.7 : Space from salicide block to contact on Poly2 resistor.') + pres7_l.output('PRES.7', 'PRES.7 : Minimum space from salicide block to contact on Poly2 resistor: 0.22.um') pres7_l1.forget pres7_l2.forget @@ -95,14 +95,14 @@ if FEOL # Rule PRES.9b: If the size of single RES_MK mark layer is greater than 15000um2 ## and both side (X and Y) are greater than 80um. - ## then the minimum spacing to adjacent RES_MK layer. is 20µm + ## then the minimum spacing to adjacent RES_MK layer is 20µm. logger.info('Executing rule PRES.9b') pres9b = res_mk.with_area(15_000.001.um, nil).edges.with_length(80.001.um, nil) pres9b_l1 = pres9b.separation(res_mk.edges, 20.um) pres9b_l1.output('PRES.9b', 'PRES.9b : If the size of single RES_MK mark layer is greater than 15000um2 and both side (X and Y) are greater than 80um. - then the minimum spacing to adjacent RES_MK layer. : 20µm') + then the minimum spacing to adjacent RES_MK layer: 20µm') pres9b_l1.forget pres9b.forget pres_poly.forget