• 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 95
  • Views 18703
  • 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
Parents
  • 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
Reply
  • 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
Children
No Data

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