• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Digital Implementation
  3. Free Hercules & Calibre DRC error viewer for dfII/Virtuoso...

Stats

  • Locked Locked
  • Replies 32
  • Subscribers 96
  • Views 20202
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Free Hercules & Calibre DRC error viewer for dfII/Virtuoso & SOC/EDI.

Stephane A
Stephane A over 15 years ago

Dear all,
 
Hercules from Synopsys doesn’t have a GUI to visualize the DRC errors in SOC/EDI.
So I created a Graphical User Interface that does it. Then I added support for Calibre(Mentor) and for dfII/Virtuoso.
 
The GUI is simpler than RVE or VUE, but it is very useful for a basic DRC error viewing job.
 
The features are:

  • View Hercules DRC errors in SOC/EDI
  • View Hercules DRC errors in Virtuoso
  • View Calibre DRC errors in SOC/EDI
  • View Calibre DRC errors in Virtuoso GDSII to ASCII: translate a GDS2 file in readable text format.

 
When will you want to use it:

  • You have a limited number of RVE or VUE licenses and want to allow more people to debug DRC errors at the same time.
  • You don’t use Calibre, you are not able to view Calibre errors but your fab. run Calibre as signOff and sends you the Calibre error files.

 
Validated with SOC8.1 EDI9.1 and IC5.1.41USR5
 
dibVue 1.0 .

The package "dibVue1.0.tar" is attached to this post.

Please read the following posts on this subject to get the latest release of dibVue.


Installation:
*************
 

  1. Perl/Tk must be installed on your machine.
  2. Copy dibvue.pl, dibvue.il, dibcomMenu.il and GDS2.pm to an installation directory of your choice : <your_DIB_HOME_path>.
    Make sure “dibvue.pl” is executable (chmod a+x dibvue.pl)
  3. Set the Linux environement variable DIB_HOME: 
    1. setenv DIB_HOME <your_DIB_HOME_path>, or 
    2. export DIB_HOME=<your_DIB_HOME_path> for zsh shells 
  4. Install dibVue inside dfII, 2 ways: 
    1. Temporary install. 
      1. launch icfb, and in the icfb window, type: 
      2. load(“<your_DIB_HOME_path>/dibcomMenu.il”) 
    2. Permanent install. 
      1. Add load(“<your_DIB_HOME_path>/dibcomMenu.il”) in your .cdsinit file in your home directory. That’s it. 
  5. Install dibVue inside SOC/EDI: 
    1. Temporary install. 
      1. on the SOC/EDI shell : source $env(DIB_HOME)/dibvue.tcl; dibvue; 
    2. Permanent install. 
      1. Put the two lines below in your “enc.tcl” file. 
      2. uiAdd DiBcom -type menu -in main -label DiBcom 
      3. uiAdd dibVue -type command -in DiBcom -label "dibVue" -command "source $env(DIB_HOME)/dibvue.tcl;dibvue"

 
 
 
Usage:
******
 

  1. How to start dibVue
    1. dfII/Virtuoso: open a Virtuoso layout view and click on “dibVue” in the “DiBcom” menu on the top right. 
    2. SOC/EDI: open SOC/EDI, load a design, and click on “dibVue” in the “DiBcom” menu on the top right. 
  2. Load Calibre DRC errors: 
    1. Check the “Cali” checkbox 
    2. Browse and find your Calibre .db text file through the “…” button on the “Text file:” line. A click on the “<>” button will edit the file with nedit. 
    3. Click the “Load” button. Multiple loads are possible, the previous load is replaced by the new one. 
  3. Load Hercules DRC errors: 
    1. Verify that the “Cali” checkbox is unchecked. 
    2. Fill the “Text file:” line with your *.LAYOUT_ERRORS file. A click on the “<>” button will edit the file with nedit. 
    3. Fill the “Gds file:” line with your *.gds errors GDS file. 
    4. Click the “Load” button. Multiple loads are possible, the previous load is replaced by the new one. 
  4. After clicking the “Load” button, a summary of the DRC errors is displayed in the icfb window. 
  5. Browsing and highlighting the errors: 
    1. The left listbox of dibVue should be filled with the rules in error. 
    2. You can now browse the errors by clicking on them (left and right listboxes). 
    3. “Clear All” button: clears all the errors highlighted so far. 
    4. “Hi rule” button: highlights all the errors of the selected rule. 
    5. Check the “auto Zoom” checkbox if your want dibVue to zoom on the error you click on. 
    6. Density errors in Hercules: the density errors can be filtered by density % when checking the “ratio Filter” checkbox and filling a percentage value between 0 and 100. 
    7. The bottom text window displays the rule title and description. 
  6. Misc. 
    1. When loading Hercules DRC erors: 
      1. “(no GDS)” appears next to a rule name if the errors markers comes from the text file and not from the GDS file. dibVue tries to display the errors even if they are hierarchical. This is a limitation of dibVue. 
      2. “Nb err.: 20(24)  *” : the number of errors differs in the text file and in the GDS file due to hierarchy in the GDS structure. dibVue may not display all the errors. Warning, this is a limitation of dibVue. 
    2. The Calibre mode supports loading results of “compare_gds” runs. 
    3. dibVue is able to load the SHORT (shortest path) databases for both Calibre and Hercules. 
    4. dibVue is able to translate a binary GDS file to a text file through the dibVue command line mode:
      dibvue.pl –help
      dibvue.pl -gds <my.gds> -ascii <my.gds.txt>
    5. The dibVue GUI can be started in standalone mode from a command shell:
      dibvue.pl

 
 
Command line:
*************
 
dibvue.pl –help
Usage: dibvue.pl -top <top_cell_name> -txt <*.LAYOUT_ERRORS> -gds <EV_OUT.gds>
 
  -txt <*.LAYOUT_ERRORS> : Text file generated by Hercules. It contains the
                           DRC errors in a text format.
  -gds <EV_OUT.gds>      : GDS file generated by Hercules containing the detail
                           shapes of the DRC errors.
  -ascii <file.txt>      : Writes out the GDS in a text format in <file.txt> and exit.
  -dfII                  : Activates the dfII/Virtuoso/Skill mode.
 
  -help                  : This message.
 
 
 
Log in the icfb window when starting icfb:
******************************************
 
DiBcom menu.
.
.
.
*********************************************************
*          DiBcom dibVue Skill Interface.
*     An Hercules and Calibre DRC error viewer.
*********************************************************
 
 
Log in the icfb/SOC/EDI window when loading the erros:
******************************************************
 
-I- Starting dibvue ...
Reading the Calibre db text File: drcmok.db ... 
-I- top cell : -->w7_mergedok<--
Nb err.:   1000  Rule :        Off_Grid  --> Vertice is drawn off-grid. 
Nb err.:   1000  Rule :        SkewEdge  --> 
Nb err.:      2  Rule :         4.17C.b  --> Minimum P+ implant enclosure of P+ DIFFUSION (inside P_WELL or T_WELL) is 0.08um 
Nb err.:      1  Rule :           4.17N  --> Maximum P+ DIFFUSION to nearest N+ pick-up spacing (inside N_WELL) is 20um (I/O, RAM, ROM, capacitor and diode are expected) 
Nb err.:     11  Rule :           4.31H  --> The minimum overlap of IND block to inductor layer is 10um Only Inductor Top Metal is allowed in IND 
Nb err.:      2  Rule :            4.1M  --> Minimum DIFFUSION density over 500um x 500 um areas is 20% in % moved in 250um increments across the chip 
Nb err.:      1  Rule :           4.22G  --> The ME2 coverage must be larger than 25% for every 500*500um square 
Nb err.:      4  Rule :         6Ab.ME6  --> Die corner rule 1, ME6 must draw with 135 angle 
Nb err.:     13  Rule :         6.1A.M3  --> Maximum metal_3 width without slotting when length is greater than 30um is 20um except, between metal edge and slots spacing between slots bonding Pad areas 
done
 
Best regards.
Stéphane.
 
 

dibVue1.0.zip
  • Cancel
  • marcop
    marcop over 10 years ago

    Hi Stephane,

    could be possible to have a "magnification"  option on error highlight? I mean that sometimes error highlight doesn't correspond to real layout shape. I have to multiply error coordinates by 10 (for example) to have the error position.

    An "magnification" value could help a lot to avoid to multiply coordinates by hand

    Thanks and regards,

    Marco

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Stephane A
    Stephane A over 10 years ago

    Dear Marco,

    Indeed the feature you are asking for doesn't exist in dibVue so far. I could have a look to see if I could implement it.

    Before let me ask you a few questions.

    • Are you currently using dibVue or are you doing an evaluation?
    • In what context are you using it : Virtuoso and/or EDI with Calibre or Hercules?
    • You say "sometimes error highlight doesn't correspond to real layout shape", can you tell me more in detail what is the issue? Do you think it is a bug? I don't get why you have to multiply the error coordinate by 10?

    Also, to work around this missing feature, I sometimes use the "pan" button instead of the "auto Zoom" button.

    FYI I made some updates to dibVue since the v3.0 release. The new features are:

    • An "Limit" entry. For instance with a value of 1000 dibVue will only load the first 1000 errors of each rule. This is useful when the error file have thousands of errors and that it is too long to load and to display inside dibVue.
    • A "Search" entry that works with regular expressions. It is useful when there are a lot of rules and that you want to list only some of them in the left pane.
    • A counter that tells the number of rules listed in the left pane. It is useful when the items listed in the left pane are not DRC rules but something else like a pad list.

    I could make a v4.0 release if you are interested.

    Best regards.

    Stephane.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • marcop
    marcop over 10 years ago
    Hi Stephane, I'm using dibVue only when calibreRVE is not available (my company has only few licences). At the moment I'm the only person that use dibVue, but I could extend the use of your tool. Obviously, if there is to pay the licence I could propagate the request to my manager... I use dibVue to check DRC errors (I know that it doesn't manage LVS database). About my problem: it is not a bug, but calibre DRC database coordinates and cadence database have not the same "coordinates/resolution". I suppose that it is due to grid settings on client's DRC deck. To manage this situation on calibreRVE there is a parameter Options->Highlighting->Layout Highlighting->Magnify highlight coordinates by [xxx]. Setting a value on this field it is possible to modify the highlight dimension to fit layout database. I appreciate a lot if you could implement this feature
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Stephane A
    Stephane A over 10 years ago

    Hi Marco,

    What I could quickly do is to add a -magnify switch to the dibvue.pl command line. Then you would have to modify the dibvue.il file and add this switch to the dibvue.pl call (I assume that you are using dibVue inside dfII/Virtuoso):

    dibvue.pl -dfII -magnify 100

    It would be a static setting. It can work only if you always have the same magnify value for your DRC error files.

    Do you often need to change the magnify value?

    Best regards.

    Stephane.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • marcop
    marcop over 10 years ago
    Hi Stephane, I need to change magnify sometimes, so -magnify switch is perfect. I'll change the value by hand if necessary. Thanks
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Stephane A
    Stephane A over 10 years ago
    Hi Marco, do you care about the coordinates displayed in the right pane? If yes do you prefer to have them magnified as well or not?
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • marcop
    marcop over 10 years ago
    Hi Stephane, no, in general I do not consider the coordinate in the right pane.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Stephane A
    Stephane A over 10 years ago

    Dear All,

    The package "dibVue4.0.zip" is ready.

    Release note  dibVue4.0:

    1. New features:
      1. Added a "Limit" entry : It allows to limit the maximum number of errors loaded per rule. It is sometimes useful to reduce the load and display time.
      2. Added a "Search" entry : It allows to filter and display only the rules that match the pattern in the search field (regexp allowed).
      3. dibvue.pl now has a "-magnify" switch to compensate for resolution discrepancies between Calibre and Virtuoso. It could be moved later to an option button in the dibVue GUI.
    2. Misc. improvements and bug fixes:
      1. Added the possibility to load the .LAYOUT_ERRORS file without a .gds file for Hercules.
      2. Moved the Cali buton to an Herc buton as the Calibre mode is used more often.
      3. Added a counter that count the number of pads (or rules) that are listed in the left listBox.
    3. Note : Only the dibvue.pl file has been modified inside the dibVue4.0 package compared to the dibVue3.0 package.

    Best regards.

    Stephane.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Stephane A
    Stephane A over 10 years ago
    Hi Marco, I don't know how to attach the new package file here. Can you give me an email so that I can send you the package. Best regards. Stephane.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • marcop
    marcop over 10 years ago
    Hi Stephane, my email is marco.poles@pdf.com
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
<>

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information