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
Could you please explain to me, is it correct above or not?
Thanks,
Artem
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
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
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
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
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
// 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
Would KLayout support the plain text rdb format (output of Mentor's DBdiff) in the future to view DRC errors in KLayout?
Thanks,
Artem
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
Sounds good. Thanks a lot.
--Artem
Hi Artem,
the new version 0.22.3 should fix that issue.
Regards,
Matthias
Thank you for your job. All looks fine. KLayout has become more than powerful.
Regards,
Artem
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
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