How to define technology setup for tracing nets and paths in gerber?

edited August 2017 in KLayout Support
Hi,
I have a set of gerber files, 8 files for 8 metal layers and one file for plated vias and one file for non-plated holes.
I ignore the non-plated holes for now.

The resulting pcb file looks like this:

<?xml version="1.0" encoding="utf-8"?>
<pcb-project>
<invert-negative-layers>false</invert-negative-layers>
<border>5000</border>
<free-layer-mapping>false</free-layer-mapping>
<layout-layers>
<layout-layer>1/0</layout-layer>
<layout-layer>2/0</layout-layer>
<layout-layer>3/0</layout-layer>
<layout-layer>4/0</layout-layer>
<layout-layer>5/0</layout-layer>
<layout-layer>6/0</layout-layer>
<layout-layer>7/0</layout-layer>
<layout-layer>8/0</layout-layer>
<layout-layer>9/0</layout-layer>
<layout-layer>10/0</layout-layer>
<layout-layer>11/0</layout-layer>
<layout-layer>12/0</layout-layer>
<layout-layer>13/0</layout-layer>
<layout-layer>14/0</layout-layer>
<layout-layer>15/0</layout-layer>
</layout-layers>
<mounting>top</mounting>
<num-metal-layers>8</num-metal-layers>
<num-via-types>1</num-via-types>
<artwork-files>
<artwork-file>
<filename>artwork_top.ger</filename>
</artwork-file>
<artwork-file>
<filename>artwork_inner1.ger</filename>
</artwork-file>
<artwork-file>
<filename>artwork_inner2.ger</filename>
</artwork-file>
<artwork-file>
<filename>artwork_inner3.ger</filename>
</artwork-file>
<artwork-file>
<filename>artwork_inner4.ger</filename>
</artwork-file>
<artwork-file>
<filename>artwork_inner5.ger</filename>
</artwork-file>
<artwork-file>
<filename>artwork_inner6.ger</filename>
</artwork-file>
<artwork-file>
<filename>artwork_bot.ger</filename>
</artwork-file>
</artwork-files>
<drill-files>
<drill-file>
<start>0</start>
<stop>7</stop>
<filename>NC_Drill_PTH.spl</filename>
</drill-file>
</drill-files>
<free-files>
</free-files>
<reference-points>
</reference-points>
<explicit-trans>r0 *1 0,0</explicit-trans>
<layer-properties-file/>
<num-circle-points>-1</num-circle-points>
<merge-flag>true</merge-flag>
<dbu>0.001</dbu>
<cell-name>PCB</cell-name>
</pcb-project>

I can now inspect the pcb project by enabling and disabling the odd numbered layers 1,3,5,7 etc. All the single line appertures have been merged into areas on each respective layer. Fine.
If I look at the even layers, 2,4,6 etc. where the vias are located, I can't see any objects, but I don't know if klayout convert the drill file into visible objects.

Now, I would like to use the trace path or trace net functionality in Net Trace to trace selected paths from one pin to another pin, and I am stuck at defining the Technology setup.
So far I have created a connectivity setup like this:
cond1: 1/0 via: 2/0 cond2: 3/0
cond1: 3/0 via: 4/0 cond2: 5/0
cond1: 5/0 via: 6/0 cond2: 7/0
and so on to cond2: 15/0

If I navigate to a net with conductor on 1/0 and 5/0 and use 'trace net' only the objects on 5/0 are selected, somehow I haven't defined how the trace should dive down through 4/0 and 2/0 to get to 1/0

Need a bit of assistance as I am obviously missing out on something here.

Comments

  • edited November -1

    Hi svenn,

    I think your setup is correct, but something is wrong with the drill files or with KLayout.

    The drill holes should generate circular shapes which make the net tracer connect the upper and lower metal layers. If they are missing, not connection is made. So I assume the drill file is not read properly.

    If you look into the log (File/Log Viewer) - are there any error messages?

    Matthias

  • edited November -1
    Got it.
    The situation is kind of complex.
    The log file did not give any starting point.
    The drill file turned out to be in a slightly bad shape.
    I inspected the drill file with gerbv, gerbview and flatcam, and only flatcam was able to place all the drill points at correct position.
    The drill file was missing an INCH,TZ line in the header, and then gerbv and gerbview got the positioning right, but klayout did not import *any* vias.

    I then used gerbv to read the drill file and export to a new drill file.
    This new drill file was imported correctly into klayout.
    gerbv exports the drill points in complete XxxxxxxYyyyyyy lines.

    The original drill file had lines like
    X0123Y123456
    Y12
    X123456Y2345
    X2345

    which klayout did not seem to interpret correctly even if the INCH,TZ line was included. (the TZ, LZ thing of zero supression is a brain twister when working with gerber and excellon)

    The fully expanded drill file from gerbv is a workaround I can live with.
    I use gerbv to inspect my files before I send them into klayout anyway due to processing speed.

    I don't know how feasible it is to make the drill import feature in klayout more robust as the EDA tools exporting them are sometimes creating files not even fabs can read.
  • edited November -1

    Hi svenn,

    I'm bascially depending on samples. If you are able to send a file, I can make the reader accept it.

    In general drill files are always a nuisance. While RS274X did a fairly good job to standardize the artwork layers, drill files are still plain NC files with custom extensions for the tool information and other metadata.

    Recently, Gerber X2 got issued by Ucamco and they claim to be able to include drill files as well. Their approach is to utilize the artwork format (enhanced RS274X) for drill files and attach the tooling information through attributes. Drill files will become a flavour of the same file format and I very much agree with this approach. So hopefully X2 gets accepted soon and bad drill files are history.

    Regards,

    Matthias

Sign In or Register to comment.