4 Replies Latest reply on Oct 26, 2010 12:01 AM by leo.johnthomas

    Flattening gds2 using calibre

    leo.johnthomas

      Hi,

       

      How do I flatten a gds using calibre? Flattening in the layout level using my layout editor is taking so much time. I found "FLATTEN CELL" and "COPY" command from the SVRF man and tried using them. But my result gds is empty.

       

      This is the code that I'm using achieve it.

       

      LAYOUT SYSTEM GDSII
      LAYOUT PATH "TOP.gds2"
      LAYOUT PRIMARY "TOP"

      DRC RESULTS DATABASE "RES.gds2" GDSII // ASCII or GDSII

      FLATTEN CELL "*"

       

      Any help would be appreciated.

       

      -Leo

        • 1. Re: Flattening gds2 using calibre
          samantha_lizak

          Hi Leo-

           

          Chris Balcolm will likely have a more authoritative answer, but my impression is that to create output you need a Rule Check statement to generate output for the results database. Rule Checks and output are discussed in Chapter 4, "nmDRC Concepts", in the Calibre Verification User's Manual (calbr_ver_user.pdf).

           

          A rule check to write the output might look like*

            copy_layers {

               COPY M1

               COPY M2

               ...

               COPY via1_2

               ...

          }

           

          Some additional tips: If you use flat nmDRC, the database is automatically flattened, at least for internal operations. This may use a whole lot of memory in one chunk, though. And you'd still need the rule check.

           

          Also, listing all the layers in the rule check manually would be tedious. Using TVF (Tcl Verfication Format), you can write c-shell-like tcl code that will create the SVRF lines at compile time. TVF is covered in the SVRF manual.

           

          * This code is not tested; it will certainly require changes for your particular layout. Also, I cannot recall whether you'll need to map your output to different layers. My OPC rule checks are simpler and only generate one layer at a time.

           

          Hope that helps-

           

          Sam.

           

           

          1 of 1 people found this helpful
          • 2. Re: Flattening gds2 using calibre
            leo.johnthomas

            Hi,

             

            It helped. It required mapping as well to get the results in different layers.. Thanks for the help...

             

            But, I have another querry, Is there a way to retain some cells from getting flattened.

            Say for eg: in my layout, cell a, b and c exists multiple times at multiple levels both as single instances and arrays. I need to retain say, cell a without flattened while all other cells to be flattened. Is there a way to do this?

             

            Any help would be appreciated..

             

            Thanks,

            Leo

            • 3. Re: Flattening gds2 using calibre
              samantha_lizak

              Hi Leo-

               

              Sorry for the delay; I needed to ask among the DRC experts. (I only know enough DRC to do OPC.)

               

              The first one to get back to me suggested Layout Preserve Cell List, to indicate cells that should not be flattened; or Flatten Cell or Flatten Inside Cell if only some are to be flattened.  Does this do what you want? My first reading was that you wanted some "cell a"s preserved and some flattened, rather than (say) all "cell a"s to be preserved and all "cell b"s flattened.

               

              -Sam.

               

               

              • 4. Re: Flattening gds2 using calibre
                leo.johnthomas

                Hi,

                 

                It really helped.. Thanks a lot..

                 

                "Layout preserve cell list" is what I wanted.. With this option along with "Expand Cell", I'm able to achive the expected results..

                 

                Thanks,

                Leo