51tz

About waiver of DRC check

Discussion created by 51tz on Aug 11, 2012
Latest reply on Aug 16, 2012 by samantha_lizak

Hi Guy,I confused why Calibre reports one DRC error (GR510_or) which is actually "waiver",  Who can help?

Below was quoted from master deck file:

...

#IFNDEF WAIVER

GR510_or {@All CAs must meet Rule 510a or 510b         

          @GR510a [CA touching (M1 > 0.345um wide)] minimum within M1 (rectangular enclosure) >= 0.02         

          @GR510b >= 0.000 if two opp sides overlap >= 0.05         

          CAtouchM1  = CA INTERACT M1_345         

          RECTANGLE ENCLOSURE (CAtouchM1 NOT CELLSNR) M1 ABUT>0<90 SINGULAR OUTSIDE ALSO         

          GOOD 0.020 SQUARE 0.020 SQUARE 0.020 SQUARE 0.020 SQUARE    //510a         

          GOOD 0.000 0.05 0.000 0.05      //510b

           }

#ENDIF

 

INCLUDE $TECHDIR/DRC/Include_Waiver/waiver_GR510_or.cal

...

 

Below was quoted from "waiver_GR510_or.cal“

 

#IFDEF WAIVER   

         waiver_x_gr510_or:1_1 = EXTENT CELL "*BFR1END4" "*BBFRUP_M"   

         waiver_x_gr510_or_1 = COPY waiver_x_gr510_or:1_1   

 

         waiver_x_gr510_or:1_2 = EXTENT CELL "*FLXP_FR" "*RREN"   

         waiver_x_gr510_or_2 = COPY waiver_x_gr510_or:1_2   

 

         waiver_x_gr510_or:1_3 = EXTENT CELL "*FWR" "*FCWR"   

         waiver_x_gr510_or_3 = COPY waiver_x_gr510_or:1_3    

  

         waiver_gr510_or_1 = COPY waiver_x_gr510_or_1   

         waiver_gr510_or_2 = COPY waiver_x_gr510_or_2   

         waiver_gr510_or_3 = COPY waiver_x_gr510_or_3

 

GR510_or {@All CAs must meet Rule 510a or 510b         

         @GR510a [CA touching (M1 > 0.345um wide)] minimum within M1 (rectangular enclosure) >= 0.02         

         @GR510b >= 0.000 if two opp sides overlap >= 0.05         

         CAtouchM1  = CA INTERACT M1_345         

         GR510_or_err = RECTANGLE ENCLOSURE (CAtouchM1 NOT CELLSNR) M1 ABUT>0<90 SINGULAR OUTSIDE ALSO         

         GOOD 0.020 SQUARE 0.020 SQUARE 0.020 SQUARE 0.020 SQUARE    //510a         

         GOOD 0.000 0.05 0.000 0.05      //510b 

               waiver_gr510_or = (waiver_gr510_or_1 OR waiver_gr510_or_2) OR waiver_gr510_or_3 

               GR510_or_err OUTSIDE waiver_gr510_or           }

 

GR510_or_waiver1 {@All CAs must meet Rule 510a or 510b         

         @GR510a [CA touching (M1 > 0.345um wide)] minimum within M1 (rectangular enclosure) >= 0.01         

         @GR510b >= 0.000 if two opp sides overlap >= 0.05         

         CAtouchM1  = CA INTERACT M1_345         

         GR510_or_err = RECTANGLE ENCLOSURE (CAtouchM1 NOT CELLSNR) M1 ABUT>0<90 SINGULAR OUTSIDE ALSO         

         GOOD 0.010 SQUARE 0.010 SQUARE 0.010 SQUARE 0.010 SQUARE    //510a         

         GOOD 0.000 0.05 0.000 0.05      //510b         

               waiver_gr510_or = waiver_gr510_or_1 OR waiver_gr510_or_2         

               GR510_or_err NOT OUTSIDE waiver_gr510_or           }

 

GR510_or_waiver2 {@All CAs must meet Rule 510a or 510b         

         @GR510a [CA touching (M1 > 0.345um wide)] minimum within M1 (rectangular enclosure) >= 0.02         

         @GR510b >= 0.000 if two opp sides overlap >= 0.035         

         CAtouchM1  = CA INTERACT M1_345         

         GR510_or_err = RECTANGLE ENCLOSURE (CAtouchM1 NOT CELLSNR) M1 ABUT>0<90 SINGULAR OUTSIDE ALSO         

         GOOD 0.020 SQUARE 0.020 SQUARE 0.020 SQUARE 0.020 SQUARE    //510a         

         GOOD 0.000 0.035 0.000 0.035      //510b         

               waiver_gr510_or = COPY waiver_gr510_or_3         

              GR510_or_err NOT OUTSIDE waiver_gr510_or           }

 

#ENDIF

 

 

Yes, I really defined ”WAIVER“, so "waiver_GR510_or.cal" should work, why Calibre report "GR510_or" as well?

Outcomes