1 Reply Latest reply on May 12, 2014 12:06 PM by kim_godshalk

    TVF drc check

    lakshmi.prashanth

      Hi All,

       

      I've encounter a problem, I'm doing some custom check operation as follows,

       

      1. reduce boundry 5 micron

      2. and all layer with reduced

      3. then dump m1 and allreduced as gds. I've done all, but i'm facing an issue in tvf for dumping gds.

       

      #! tvf

      tvf::VERBATIM {

      .layou.....

      .layout.........

      ....................

       

      LAYER  ALL 1 2 3 4 5 6 7 8 9 10 11

      RED_PRB = SIZE prBoundary BY -5.0

      REMOVE = ALL NOT RED_PRB

      rem {

      COPY REMOVE

      }

      DRC CHECK MAP rem GDSII 111 OUT.GDS

      DRC CHECK MAP rem ASCII

      }

      # =======================================

       

      proc simple_layer { layers } {

           foreach lay $layers {

                set lname sl_$lay

                tvf::LAYER $lname $lay

                tvf::RULECHECK COPY_LAY_$lay { eval {tvf::@} Copy of layer $lay

                tvf::OUTPUT "$lname AND REMOVE"

                }

           }

      }

       

      simple_layer { 1 2 111 3}

       

       

      My Problem is, i want to dump  all the given input foreach layer like 31 1 2 111 3 to gds after anding with REMOVE. like we do in

      DRC CHECK MAP rem GDSII $lay OUT.GDS, The script is working for ascii purpose, but i also want results to be in gds.

       

      example :

       

      DRC CHECK MAP rem_1 GDSII 1 OUT.GDS

      DRC CHECK MAP rem_2 GDSII 2 OUT.GDS

       

      Please provide the solution in calibre svrf or tvf format (not calibredesignrev).

        • 1. Re: TVF drc check
          kim_godshalk

          I have several suggestions:

           

          1. replace TVF::OUTPUT with TVF::OUTLAYER, there is no such command "TVF::OUTPUT"

          2. I think you will need to put your DRC Checkmap statement in the foreach loop, and have it use the rulecheck name in the loop.

          3. One way to develop this might be to write the statements for one layer, without a loop. Then, when that is working, convert it to the loop.

           

          Hope that helps,

          Kim