Issue during loading Calibre's RDB files.

edited November 2012 in KLayout Support
Hello Matthias,

I am using klayout-0.21.13. And I see that KLayout doesn't support Calibre's RDB files produced by Calibre's 'dbdiff' command. RDB means RVE Results Database file that should be open in Calibre DRV tool to view DRC errors. KLayout supports an output of Calibre's obsolete command 'compare_gds', but doesn't support the output of Calibre's modern command 'dbdiff'.







Dec 21st 2009

Comments

  • edited November -1
    Last line means nothing, it's just garbage.
    Could you please explain to me, is it correct above or not?
    Thanks,
    Artem
  • edited November -1

    Hi Artem,

    The RDB file format is not disclosed by Mentor Graphics and since it's a binary format, the format is not obvious like it was the case for the plain text RVE format. Hence there is no way to support it in an open source project.

    Regards,

    Matthias

  • edited November 2012
    Hi Matthias,

    Below is a discription of the dbdiff's option -rdb from Calibre User's Manual. Entry for this option is a plain text file.

    -rdb filename [‑sortlayer]
    An optional parameter set that specifies RDB output is written to filename. You can view results and cross-probe between the reference and current designs using Calibre RVE. This argument can be used without specifying a primary cell name in the DBdiff invocation. The DBdiff run will complete only if a single top cell is detected in both designs. An error is generated if either design contains multiple top cells.
    The ‑sortlayer option specifies to generate output on a sorted layer basis in order to view the generated differences in RVE by layer.

    All design differences are written in the RDB format as the following checks:
    Missing shapes
    New shapes
    Missing instances
    New instances
    Missing text
    New text
    The DBdiff application accounts for shape differences by adding the following properties to the RDB:
    CN cellName: Indicates the cell in which the shape difference exists.
    LN layerNo layerName: Indicates the layer number and name of the differing shape.
    NN netName: Indicates the net Name of the differing shape. This output is generated only when the netName information is present in the database. The NN property is supported for OpenAccess and Milkyway databases only.

    Example: Generate an RVE Results Database (RDB) File.
    The following example shows how to use the DBdiff application to generate a RDB output file digblk.rdb.

    dbdiff -system GDS -design DIGBLK_v2.gds DIGBLK -refdesign DIGBLK_v1.gds
    DIGBLK -rdb digblk.rdb

    To view the layout differences in Calibre RVE, follow these steps:
    1. Open the design being evaluated (specified with the ‑design option in dbdiff) in a supported layout viewer if it is not already open.
    2. Start RVE, using Verification > Start RVE from DESIGNrev, or using Calibre > Start RVE from other supported layout viewers.
    3. Select File > Open Database and enter the name of the RDB output file you created. The layout differences will be shown as checks in RVE.

    Regards,
    Artem
  • edited November -1
    If text labels are different then RDB file section seems as described below:

    Differences from the comparison operation are output to the files specified by the ‑report and ‑rdb arguments. Polygons of 1 × 1 dbu are created in the RDB file to show locations where text was modified. Textstring is also generated in the RDB file. This text is viewable in the Calibre RVE property window. For example, the following information is viewable in the RVE property window when a check result is selected.

    1)Check missing_text, Cell TOPCELL:2-Vertex Polygon

    Layer : 3 Datatype 0

    Text string : PWR

    328.500 307.700

    328.501 307.701

    1)Check new_text, Cell TOPCELL:2-Vertex Polygon

    Layer : 3 Datatype 0

    Text string : GND

    328.500 307.700

    328.501 307.701
  • edited November 2012
    I have got design file1.gds. It has been modified and saved as file2.gds. Modifications are replacing layer 48 with 49 in two places: section PATH and BOUNDARY. So, there are 2 gdsii files: original design file1.gds and current design file2.gds. Primary cell name is TOP. compare_gds generates the output:

    TOP 1000
    diff_4
    0 0 0 Nov 14 11:00:06 2012
    diff_5
    0 0 0 Nov 14 11:00:06 2012
    diff_6
    0 0 0 Nov 14 11:00:06 2012
    diff_8
    0 0 0 Nov 14 11:00:06 2012
    diff_10
    0 0 0 Nov 14 11:00:06 2012
    diff_12
    0 0 0 Nov 14 11:00:06 2012
    diff_17
    0 0 0 Nov 14 11:00:06 2012
    diff_18
    0 0 0 Nov 14 11:00:06 2012
    diff_19
    0 0 0 Nov 14 11:00:06 2012
    diff_39
    0 0 0 Nov 14 11:00:06 2012
    diff_42
    0 0 0 Nov 14 11:00:06 2012
    diff_44
    0 0 0 Nov 14 11:00:06 2012
    diff_47
    0 0 0 Nov 14 11:00:06 2012
    diff_48
    28 28 0 Nov 14 11:00:06 2012
    p 1 4
    815 900
    1715 900
    1715 3945
    815 3945
    p 2 4
    815 4845
    1715 4845
    1715 8855
    815 8855
    p 3 4
    815 9755
    1715 9755
    1715 15525
    815 15525
    p 4 4
    815 16425
    1715 16425
    1715 21975
    815 21975
    p 5 4
    815 22875
    1715 22875
    1715 27440
    815 27440
    p 6 4
    815 27820
    1715 27820
    1715 34010
    815 34010
    p 7 4
    815 34910
    1715 34910
    1715 37150
    815 37150
    p 8 4
    16995 900
    17895 900
    17895 3945
    16995 3945
    p 9 4
    16995 4845
    17895 4845
    17895 8855
    16995 8855
    p 10 4
    16995 9755
    17895 9755
    17895 15525
    16995 15525
    p 11 4
    16995 16425
    17895 16425
    17895 21975
    16995 21975
    p 12 4
    16995 22875
    17895 22875
    17895 27440
    16995 27440
    p 13 4
    16995 27820
    17895 27820
    17895 34010
    16995 34010
    p 14 4
    16995 34910
    17895 34910
    17895 37150
    16995 37150
    p 15 4
    72825 900
    73725 900
    73725 3945
    72825 3945
    p 16 4
    72825 4845
    73725 4845
    73725 8855
    72825 8855
    p 17 4
    72825 9755
    73725 9755
    73725 15525
    72825 15525
    p 18 4
    72825 16425
    73725 16425
    73725 21975
    72825 21975
    p 19 4
    72825 22875
    73725 22875
    73725 27440
    72825 27440
    p 20 4
    72825 27820
    73725 27820
    73725 34010
    72825 34010
    p 21 4
    72825 34910
    73725 34910
    73725 37150
    72825 37150
    p 22 4
    89005 900
    89905 900
    89905 3945
    89005 3945
    p 23 4
    89005 4845
    89905 4845
    89905 8855
    89005 8855
    p 24 4
    89005 9755
    89905 9755
    89905 15525
    89005 15525
    p 25 4
    89005 16425
    89905 16425
    89905 21975
    89005 21975
    p 26 4
    89005 22875
    89905 22875
    89905 27440
    89005 27440
    p 27 4
    89005 27820
    89905 27820
    89905 34010
    89005 34010
    p 28 4
    89005 34910
    89905 34910
    89905 37150
    89005 37150
    diff_49
    4 4 0 Nov 14 11:00:06 2012
    p 1 4
    815 0
    1715 0
    1715 37605
    815 37605
    p 2 4
    16995 0
    17895 0
    17895 37605
    16995 37605
    p 3 4
    72825 0
    73725 0
    73725 37605
    72825 37605
    p 4 4
    89005 0
    89905 0
    89905 37605
    89005 37605
    diff_91
    0 0 0 Nov 14 11:00:06 2012
    diff_92
    0 0 0 Nov 14 11:00:06 2012
    diff_93
    0 0 0 Nov 14 11:00:06 2012
    diff_102
    0 0 0 Nov 14 11:00:06 2012
    diff_114
    0 0 0 Nov 14 11:00:06 2012
    diff_118
    0 0 0 Nov 14 11:00:06 2012
    diff_125
    0 0 0 Nov 14 11:00:06 2012
    diff_131
    0 0 0 Nov 14 11:00:06 2012
    diff_144
    0 0 0 Nov 14 11:00:06 2012
    diff_145
    0 0 0 Nov 14 11:00:06 2012
    diff_146
    0 0 0 Nov 14 11:00:06 2012
    diff_169
    0 0 0 Nov 14 11:00:06 2012
  • edited November -1
    dbdiff generates rdb file and report file:

    RDB file:
    TOP 1000
    L48.0 Missing_Shapes
    1 1 0
    p 1 4
    CN comdata4_end c -1 0 0 1 1995 0
    Layer : 48 Datatype 0
    280 0
    1180 0
    1180 900
    280 900
    L48.0 Missing_Shapes
    1 1 0
    p 1 4
    CN comdata4_end c -1 0 0 1 1995 0
    Layer : 48 Datatype 0
    1180 37605
    1180 0
    280 0
    280 37605
    L49.0 New_Shapes
    1 1 0
    p 1 4
    CN comdata4_end c -1 0 0 1 1995 0
    Layer : 49 Datatype 0
    280 0
    1180 0
    1180 900
    280 900
    L49.0 New_Shapes
    1 1 0
    p 1 4
    CN comdata4_end c -1 0 0 1 1995 0
    Layer : 49 Datatype 0
    1180 37605
    1180 0
    280 0
    280 37605
  • edited November -1
    Report file:
    // dbdiff v2011.3_38.27

    Current Lib Name : file2.gds
    Current Top Cell : TOP
    Reference Lib Name : file1.gds
    Reference Top Cell : TOP

    In below table * ,if any ,denotes the difference in the instance due to Master Cell change
    ------------------------------ Difference Table ------------------------------------------------

    | Design | Cell Name | Difference | Type | Bounding Box | Master Name | Layer | DataType |TextString |

    | Current | comdata4_end | Missing Object | Rectangle | 280 0 1180 900 | | 48 | 0 |
    | Current | comdata4_end | Missing Object | Path | 280 0 1180 37605 | | 48 | 0 |
    | Current | comdata4_end | New Object | Rectangle | 280 0 1180 900 | | 49 | 0 |
    | Current | comdata4_end | New Object | Path | 280 0 1180 37605 | | 49 | 0 |
    | Current | comdatablk_l | * | Instance | 0 0 2000 37605 | comdata4_end | | |
    | Current | comdatablk_l | * | Instance | 16710 0 18710 37605 | comdata4_end | | |
    | Current | comdatablk_r | * | Instance | 0 0 2000 37605 | comdata4_end | | |
    | Current | comdatablk_r | * | Instance | 16710 0 18710 37605 | comdata4_end | | |
    | Current | mem | * | Instance | -5260 0 18710 37605 | comdatablk_l | | |
    | Current | mem | * | Instance | 66750 0 90720 37605 | comdatablk_r | | |
    | Current | TOP | * | Instance | -5260 0 90720 171100 | mem | | |

    ************** Summary Report**************************************

    ****************Shape difference summary begin********************************************

    Layer Datatype NewObjs MissingObjs TotalDiffObjs DesignObjs RefdesignObjs TotalObjs Change (%)

    48 0 0 2 2 439 441 880 0.23
    49 0 2 0 2 2 0 2 100.00
    ****************Shape difference summary end**********************************************

    ****************Different cells summary begin*********************************************

    CellName ReferenceCellName

    comdata4_end comdata4_end
    ****************Different cells summary end***********************************************

    Command Line Executed : dbdiff -system GDS -design file2.gds TOP -refdesign file1.gds TOP
  • edited November -1
    Hi Matthias,

    Would KLayout support the plain text rdb format (output of Mentor's DBdiff) in the future to view DRC errors in KLayout?

    Thanks,
    Artem
  • edited November -1

    Hi Artem,

    The format you described above looks familiar and appears in fact to be similar to the one that KLayout understands. I'll give it a try.

    Regards,

    Matthias

  • edited November -1
    Hi Matthias,

    Sounds good. Thanks a lot.

    --Artem
  • edited November -1

    Hi Artem,

    the new version 0.22.3 should fix that issue.

    Regards,

    Matthias

  • edited November -1
    Hi Matthias,

    Thank you for your job. All looks fine. KLayout has become more than powerful.

    Regards,
    Artem
  • edited November -1
    Hi Matthias,

    With the version 0.22.3 , I cannot read anymore my Calibre DRC results.
    I had to come back to the previous version 0.22.2
    I guess you introduce a little silly bug ...

    Good luck to fix it.

    Best rgds,
    OkGuy
  • edited November -1

    Hi OkGuy,

    that issue is fixed already - actually I have introduced that bug while implementing a format variant for the RVE reader. Unfortunately I only had test cases in my regression test suite which did not trigger that bug.

    I have patched 0.22.3 already some days ago - you can just download and reinstall the new version. It says "0.22.3-r1640" in the "Help/About" dialog. I know that's pretty pragmatic, but it was out for just a few days and I considered that problem that serious. So I though a litte patching might be more appropriate in that case ... :-)

    Best regards,

    Matthias

Sign In or Register to comment.