Do PCells have their own DBU?

edited October 2015 in General

Hi Matthias,

I am drawing shapes in a layout that uses a DBU of 0.0001. I am able to draw rectangles on this grid, such as a 1.0001 by 2.0001 rectangle, but when I try to make a PCell, the DBU seems to be something larger. For example, I tried drawing a PIE from the Basic PCell library with radius 1.0001, but the resulting PIE radius was 1.000.

What do PCells use for their DBU? Is there any way to set it?

Thanks and regards,

Z Lim

Comments

  • edited November -1

    Hi zlim,

    you can actually control the DBU the PCell uses. The layout will be converted to the DBU of the client layout when you reference the PCell library.

    More precisely, the database unit is stored inside the host layout that is part of the library. The right place to change the database unit is the initialization of the library:

    class MyLib < Library
    
      def initialize  
    
        # Set the description
        self.description = "My First Library"
    
        # initialize the database unit:
        layout.dbu = 0.0001
    
        ...
    
        register("MyLib")
    
      end
    
    end
    

    With this modification, you should be able to produce circles with sub-nm resolution.

    Matthias

Sign In or Register to comment.