Regarding the DRC deck implementation

edited March 2016 in General
Hi,
I have couple questions regarding the klayout DRC implementation.
1)is it possible to write the DRC deck in python.

2)where can find the definations of the drc functions. since its open source im thinking of implementing couple of my own functions.
e.g eg: gate.width(0.3).output("gate_width", "Gate width violations") in this where can i find the defination of the gate.width()

3) is it possible to write the DRC deck function definations using python gds modules like gdsII or gdSCAD etc

regards
keerthan

Comments

  • edited March 2016

    Hi Keerthan,

    1.) No

    2.) In the source tarkit in src/built_in_macros/drc.lym

    3.) No idea. Why?

    Matthias

  • edited March 2016
    thank you for your reply.
    since in klayout we are using ruby for implementing the drc deck.
    just a thoughts....
    1)since we get gds2 package for ruby and we can access the every component and every layer in a gds format exported from a layout . Is it possible to write the drc deck functions by using the functions of gds2 package.

    2)How exactly DRC functions in klayout is implemented , i mean can u just explain the basic flow. please

    your answer would really help...

    Regards
    keerthan
  • edited November -1

    Help for what? I don't understand what you are trying to do.

    Matthias

  • edited November -1
    Hi Matthias,

    I just want to write my own function definition for my DRC deck implementation and i want to use that function in my DRC drck and run it.

    Thats why i was asking how to write function definition for the drc deck and how to use that. i know there are lot of functions are there which can used to write drc deck but i want to implement my own.

    I would be really grateful to you if you are helping
  • edited November -1

    anybody... please reply

  • edited March 2016

    Hi Keerthan,

    I'm sorry, but I cannot seriously expect me to explain how to write your "own functions" without giving the tiniest detail. I'm not a teacher. I also can't explain how to connect to third party libraries like the "gds2 package" you mentioned - I don't know this and I don't see an advantage using it.

    If you want to understand and extend the system, study the code. It's open source, so you have access to every single line. You'll find the DRC core functions in the db::Region class (dbRegion.cc) on C++ side and RBA::Region class on Ruby side. The bridge between both worlds is found in gsiDeclDbRegion.cc which exports the C++ methods to Ruby. Edge-related functions are found in db::Edges (dbEdges.cc) and RBA::Edges (connected to C++ through gsiDeclDbEdges.cc).

    Matthias

  • edited March 2016

    i do want to extend the system. im studying the codes. thats why i was asking you about the directions.Sorry for your in convenience but really thanx for the second paragraph explanation.

    regards

    keerthan kumar

Sign In or Register to comment.