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
Hi Keerthan,
1.) No
2.) In the source tarkit in src/built_in_macros/drc.lym
3.) No idea. Why?
Matthias
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
Help for what? I don't understand what you are trying to do.
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
anybody... please reply
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 andRBA::Region
class on Ruby side. The bridge between both worlds is found ingsiDeclDbRegion.cc
which exports the C++ methods to Ruby. Edge-related functions are found indb::Edges
(dbEdges.cc
) andRBA::Edges
(connected to C++ throughgsiDeclDbEdges.cc
).Matthias
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