Create an RBA macro from menu commands

edited June 2010 in General
It would be nice to record a series of operations in KLayout and have that generate an RBA script which can then be modified. This would be easier than writing scripts from scratch.

I don't think you can do this currently, but I may be wrong.

Comments

  • edited 12:34PM

    Hi Oliver,

    you are right, that is not possible now. That feature is on my wish list as well.

    The basic problem is that the ruby interface right now is designed on a somewhat different layer than the user interface. In that respect it's more like the SKILL interface of DFII. It would be simple if Ruby would just record user interactions and replay that.

    For example, if you delete a shape and like to record that as Ruby code, it's not just like a "delete selection" command, because for Ruby there is no selection. Instead it would be like "locate the shape somehow in the database and then delete it" with emphasis on "somehow" because that is the tricky part ... :-)

    Bottom line is, macro recording would look pretty different with RBA than expected. It would be far easier to provide a function to dump a layout as ruby code for example. Would that be useful as well?

    Best regards,

    Matthias

  • edited 12:34PM
    Matthias,

    It may be helpful. Here is the problem that I am trying to solve. I want to generate new layers from an existing GDSII file. The GDS II file supplied by the foundry contains all the information that I need, but it doesn't work well with the Electric VLSI program for setting up the DRC rule checks. For example it doesn't identify the gate of transistor explicitly. It must be inferred from ANDing the poly and diffusion regions.

    For the default library of primitive objects my foundry has provided, I want to do around 15 boolean operations on the layers for each cell to create new layers which I can then assign the rules to. This is where KLayout comes in. It can do the boolean operations and the results look good. Now I want to automate them so I can do the entire library quickly, and easily (especially when the foundry updates their libraries).

    I think I can automate this with KLayout, and I don't think it will take too long to write, it would just be easier if I could do the first operation via the GUI and see the results in Ruby. So I don't think this feature request should be considered super important. It is more me being lazy.

    Oliver
  • edited 12:34PM

    Hi Oliver,

    I see the point. It should be possible to record simple actions but it's likely that some operations cannot be mapped because there is not Ruby equivalent available right now.

    Best regards,

    Matthias

  • edited 12:34PM
    Matthias,

    I got Ruby to do everything I wanted. It works nicely, except for the crash I reported.

    Oliver
Sign In or Register to comment.