• 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 20175
  • 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
  • Stephane A
    Stephane A over 14 years ago

    Dear All,

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

    Release note  dibVue2.0:

    1. Misc. improvement and bug fixes.
      1. Improved the Calibre .db file parser. This fixes the issue Mahesh saw (see previous posts).
    2. New features :
      1. "pan" button : when checked, dibVue will center the window on the error you click on while keeping the current zoom factor.
      2. Multiple rule highlighting. The user can now select several rules at once in the left pane and click on the “Hi rule” button. This will highlight all selected errors at once.


    Best regards.
    Stéphane.

     

    dibVue2.0.zip
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Mahesh Shetty
    Mahesh Shetty over 14 years ago

    Hey Stephane,

    Thanks for the fixes. I will load the markers at my end and let you know the results.

    Regards,

    Mahesh

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Mahesh Shetty
    Mahesh Shetty over 14 years ago

     Hi Stephane,

    The fixes you did working fine for me.

    Thanks for all the help.

    Regards,

    Mahesh

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • LeJonT
    LeJonT over 13 years ago
    Hi, Anything similar for Calibre LVS? Or any ideas on implementing it? Thanks, Leo
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Stephane A
    Stephane A over 13 years ago

    Dear Léo,

    No, sorry, I don't have a similar tool for the LVS.

    The LVS GUI is more complex to implement for the compare.

    You should be able to check the extract part of the LVS with dibVue. It might be possible to display the shorts as well.

    Are you interested in this part?

    Best regards.

    Stephane.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • LeJonT
    LeJonT over 13 years ago
    Normal 0 false false false EN-US X-NONE X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;}

    Dear Stephane,

    Indeed I'm interested. Any pointers to any information on the data dumped by the LVS run or any pointers on relevant data parsing, any useful hints that you have?

    Thanks, Leo

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

    Dear Leo,

    As you may know dibVue can load and display the Calibre error files that are in the text ".db" format. You can ask Calibre to output the short errors in this format (like for the DRC errors), but of course it won't be as user friendly as using the Short debug tool from Mentor.

    Please check the Calibre documentation to see what other data you can output in the text ".db" format.

    Please see attached an example of a Short .db file being displayed by dibVue.

    I will post an update of dibVue soon as there has been some fixes and improvements made after the last release (V2.0).

    Best regards.
    Stéphane.

     

    • dibVue_CalibreLVSshort.png
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • LeJonT
    LeJonT over 13 years ago

    Dear Stephane,

    Thanks a lot for putting the efforts and for the pointers. Will get back once I have something ready.

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

    Dear All,

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

    Release note  dibVue3.0:

    1. New features:
      1. New switches on the command line:
        1. "-calibre" : Activates the Calibre mode at startup.
        2. "-load" : directly loads the errors file given in argument in the "-txt" option.
      2. Error labels on the error shapes. When the new "label" radio button is on, a text label is displayed in the bottom left corner of each error shape. The text of the label is the rule name. If multiple rules errors are displayed at the same time it helps identify each error type.
        It can be used for other purposes: I use it to display the pads positions and pads names in EDI and Virtuoso. I created a Calibre .db file that contains all the pad names and positions (see the snapshot below).
      3. New history feature: By clicling on the down arrow next to the "Txt file" entry field a drop-down listbox appears with the last 30 errors files the users loaded. dibVue reads and writes the history in the ".dibvue" file in your home "~".
    2. Misc. improvement and bug fixes
      1. Hercules mode
        1. Fixed a bug when displaying the density errors.
        2. Improved the GDS parsing (although dibVue still has some limitations when reading the GDS).
      2. Calibre mode: Improved the robustness and the speed of the .db file parser.


    Best regards.
    Stéphane.

    dibVue3.0.zip
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Stephane A
    Stephane A over 13 years ago

    Snapshot attached.

    • dibVue3.0_label.png
    • View
    • Hide
    • 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