Frequently Asked Questions
Q: Is there a short Howto?
A: Not yet.
Q: What is this "Template Matching along Grid"?
A: Template matching works like this: Calculate the cross correlation between a template and an equally sized slice of the background image. If the corrrelation is larger than a threshold, then a gate is (probably) found. Because the correlation calculation is processing intensive, there are some optimizations. One of these is the search space pruning. Standard cells are normally placed in rows or columns. So we can define grid lines and shift the template along these lines as depicted in the following figures. The template will be shifted below or right to the grid line, depending on the operation mode.
Q: What is the problem with wire and via matching?
A: I assume, that there is a tradeoff between costs for taking images and recognition rate. If you have high quality images, e. g. taken by a surface electron microscope or a focussed ion beam, the automatic recognition of wires and vias should work very well. If you don't own devices like that and you just have a normal microscope, your images might not be that great as the image processing algorithms expects. In these cases, you may switch back to the manual mode, where you trace wires by hand. If you don't make mistakes, the manual tracing should result in 100% accuracy. Light based microscopy has the problem of pseudo edges: That means, that it introduces edges, where you don't want them. You might see edges in the imagery from a bottom layer or you have distortions in your images, that the algorithms treat as an edge.
Q: I want to write my own wire and via detection. How can I do that?
A: In the graphical user interface there is a menu item called "External matching". It will raise a dialog, where you can enter a command. This command gets some parameter passed, e. g. which layer the command is called for and on which image file the processing should be done. This external programm can analyze the given image for wires and vias. It should write the results into a text file, that is read back by degate. Details are described in the API documentation. The idea for that is, that you can write your own detection code. That might result in better recognition rates, especially if your algorithm incorporates specific knowledge of the problem domain.
Q: Are there any undocumented keyboard shortcuts?
|a, s, d, w||Shift the viewport left/down/right/up|
|1, 2, 3, ... , 9||Switch to layer 0, 1, 2, ..., 8|
|space||jump to emarker, which was placed lastly.|
Q: I have to much spare time. Can I contribute to degate?
Q: Why is degate GPL code?
A: The short answer is that the GPL should prevent that features are implemented without contributing them back to the public. There is still a chance for the developmnt of commercial add-ons, which must not be published in the sense of the GPL. But it is intended to keep any core feature extension in the published code tree.