• 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. Custom IC Design
  3. Voltus-FI: How to automate the creation of selfheating-aware...

Stats

  • Locked Locked
  • Replies 29
  • Subscribers 125
  • Views 15473
  • 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

Voltus-FI: How to automate the creation of selfheating-aware EM/IR text reports after every run

hchan
hchan over 7 years ago

Hi,

After an EM/IR run completes, the menu item: results > EM/IR Data > Report can generate non-selfheating-aware EM/IR text reports.

To get selfheating-aware EM/IR text reports, we open the viewer from EM/IR Data > Layout analysis...  let it load, and then type commands such as

print_em_report -net all_nets -type avg_sh -filename ./avg_sh.txt

at the Voltus-FI console.

Are there other ways create the selfheating-aware EM/IR text reports after a run? (Or a way to pass commands to an active VFI session from CIW, so a SKILL function can be used)

Here are things we have tried:

- An additional license is needed if we start a batch mode process. We have limited number of licenses.

- In Voltus-FI XL user guide, Table 4-1  Supported EMIR Control File Options listed that print_em_report=[...] can be used with emirutil in a control file. We tried adding

emirutil print_em_report=[net=all_nets type=avg_sh filename=avg_sh.txt]

to the prerun emir.conf, and to the viewer .conf file, but text reports were not created in both cases.

Thanks,

Henry

  • Cancel
Parents
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago

    Hi Henry,

    If your emir.conf is complete, you should be able to get all text reports once APS simulation has finished. Can you paste the contents of your emir.conf here?

    Regards,
    Saloni

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • hchan
    hchan over 7 years ago in reply to Saloni Chhabra

    Hi Saloni,

    This is the content of the emir.conf file, please check if it is correct:

    net name=[IDUT.*] analysis=[vmax vavg imax iavg iavgabs irms]
    spf aliasterm = "ppode_ulvt_mac 1=S 2=G"
    spf aliasterm = "pch_ulvt_mac 1=d 2=g 3=s"
    spf aliasterm = "pch_mpodeulvt_mac 1=d 2=g 3=s"
    spf aliasterm = "npode_ulvt_mac 1=S 2=G"
    spf aliasterm = "nch_ulvt_mac 1=d 2=g 3=s"
    spf aliasterm = "nch_mpodeulvt_mac 1=d 2=g 3=s"
    time [128p 200p]
    solver method=[direct]
    emirutil autorun=[true]
    emirutil print_em_report=[net=all_nets type=acrms_sh filename=acrms_sh.txt]
    emirutil print_em_report=[net=all_nets type=avg_sh filename=avg_sh.txt]
    emirutil print_thermal_report=[type=metal filename=thermal.txt]
    net name=[IDUT.*] analysis=[selfheating]

    Regards,

    Henry

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago in reply to hchan

    Hi Henry,

    Your emir.conf is sufficient only to produce EM reports without any self-heating effect. I understand that you have been able to generate the SHE reports through Voltus-Fi console by loading the database and setting up variables like shXMLFile and shParamFile correctly. So to get the reports directly after simulation, all these options should have been a part of emir.conf. So, you need the below settings in emir.conf:

    emirutil shEMEffect=[beolT]

    emirutil cds.lib=/path/to/cds.lib

    emirutil view=[lib= cell= view=]

    emirutil shXMLFile=/path/to/file created by Spectre

    emirutil shParamFile=

    emirutil qrc_output=[runDir= runName= ]

    Which IC version are you on? A relatively newer version can mean you can enable TMI option in ADE form which will add cds.lib and layout view information directly to emir.conf. If you use ICADV12.3 ISR14 or later, then the path to shXMLFile won't need to be specified either.

    Regards,
    Saloni

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • hchan
    hchan over 7 years ago in reply to Saloni Chhabra

    Hi Saloni,

    Thanks, this is very helpful.

    Our Setup > EM/IR Analysis... GUI form has limited entry fields. I managed to add the additional lines (emirutil) to the emir.conf file by import (append) a side file. With our current flow, the selfheating-related variables are loaded in the post-run viewer and the sh-EM reports are printed. I am going to experiment loading them in the pre-run emir.conf, and report back if it works.

    Our version is ICADV12.3-64b.500.9  Is this older than ISR14?

    Regards,
    Henry

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago in reply to hchan

    Hi Henry,

    Yes, you are using ISR9. The version number for ISR14 will be ICADV12.3-64b.500.14.

    Regards,

    Saloni

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • hchan
    hchan over 7 years ago in reply to Saloni Chhabra

    Hi Saloni,

    With the additional emirutil parameters defined, there is a batch command emirreport executed in the sh_EM run. In there, an lib object file 'libddbase_sh.so' was not found, but it is in the LD_LIBRARY_PATH paths of the Virtuoso session. We run wrapper scripts when starting virtuoso, and perhaps the batch command was executed in a new shell that did not get the wrapper scripts' settings.

    If this is the case, is there a way to define env variables before emirreport is executed?

    Thanks for your help.

    Henry

    In the vfi.log:

    INFO: Starting Voltus-Fi Batch Mode Application.
    Command run is:
    ******************************************************************
    /tools/cds/mmsim17.10.isr2.lnx86/tools.lnx86/sev/bin/64bit/emirreport -c /<...>/emir.conf -db /<...>/psf/input.emir0_bin -outdir /<...>/psf/
    ******************************************************************
    Voltus-Fi version being used is as follows:
    ******************************************************************
     Voltus-Fi batch mode application (64-bit) - High Capacity Power IR/EM - v06.17-e460_1 ((09/01/2017 04:10:14))
     -----------------------------------------------------------------
     Copyright (c)  Cadence Design Systems, Inc.  1996 - 2014
    ******************************************************************
    ERROR: Could not access LibDef plug-in for oaLibDefSystem: #4: Shared Library Not Found: Error loading library 'libddbase_sh.so'. libddbase_sh.so: cannot open shared object file: No such file or directory.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago in reply to hchan

    Hi Henry,

    emirreport gets launched right after Spectre simulation (and generation of EMIR binary data), so it should see the same environment as Spectre run. For SHE flow, voltus-fi (emirreport) needs to call Virtuoso in batch-mode to read layout shapes, so the environment should be consistent.

    I am not sure how you run your flow but is it possible that the environment variable LD_LIBRARY_PATH has a different value when Virtuoso is launched, as compared to when/where Spectre is run?

    Regards,

    Saloni

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago in reply to Saloni Chhabra

    Another thing to check would be if the SPECTRE installation has been properly configured. Can you check if share/oa link at the root of the SPECTRE installation is not pointing to the OA installation it came with, or if $OA_HOME has been set somewhere. Sometimes such errors come up because the variable OA_HOME has been set but it shouldn't be set at all.

    Regards,

    Saloni

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • hchan
    hchan over 7 years ago in reply to Saloni Chhabra

    Hi Saloni,

    Thanks. After some changes to the flow, the LD_LIBRARY_PATH is now inherited by the Spectre run and VFI batch run. the .so errors are now gone and vfi batch mode is able to run.

    Despite having emirutil option "cds.lib" set to my cds.lib path in the emir.conf file:

       emirutil cds.lib=<some_path>/cds.lib

    I get an error message about empty lib path in vfi.log:

       ERROR: Unable to open library my_sandbox_emshe at path : Empty Lib Path.

    Is the option name "cds.lib" correct,  and is my VFI version recent enough to use it? My version is:

       Voltus-Fi batch mode application (64-bit) - High Capacity Power IR/EM - v06.17-e460_1 ((09/01/2017 04:10:14))

    Regards,

    Henry

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • hchan
    hchan over 7 years ago in reply to Saloni Chhabra

    Hi Saloni,

    To continue debugging, I placed a symlink of cds.lib at the vfi batch run directory. I then get some issues with the QRC runDIr. If I specify the QRC path up to RCC_SPICE, it looks for _qrc_tech_dir, if I specify up to RCC_SPICE/tmp/ it looks for _save_layers, and finally, If specified RCC_SPICE/tmp/<cellname>, then it says failed to start QRC module 'shapeServer'.  Do you know what is missing? We only get these errors running in batch mode.

    Test run 1, using the following line in emir.conf:
    emirutil qrc_output=[runDir=/<some_path>/<cellname>/EXT_QRC/RCC_SPICE/ runName=<cellname>]
     Error: Failed to open /<some_path>/<cellname>/EXT_QRC/RCC_SPICE//_qrc_tech_dir

    Test run 2 (I found _qrc_tech_dir in tmp/ so I added that to the path and rerun)
    emirutil qrc_output=[runDir=/<some_path>/<cellname>/EXT_QRC/RCC_SPICE/tmp/ runName=<cellname>]
     Error: Failed to open /<some_path>/<cellname>/EXT_QRC/RCC_SPICE/tmp//_save_layers

    Test run 3 (I found _save_layers in CTLE_Core so I added that to the path and rerun)
    emirutil qrc_output=[runDir=/<some_path>/<cellname>/EXT_QRC/RCC_SPICE/tmp/<cellname> runName=<cellname>]
     Failed to start QRC module 'shapeServer'. Please check QRC installation or contact Cadence Customer Support.

    Regards,
    Henry

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago in reply to hchan

    Hi Henry,

    Can you set the below env var before launching your Spectre run:

    setenv CDS_MMSIM_VOLTUSFI_ROOT  $CDSHOME

    This will call the report generation utility 'emirrerpot' from IC installation instead of Spectre. As text reports generate ok from Voltus-Fi console, let's use the same version in batch-mode too. Some more information here:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V000007MgvlUAC&pageName=ArticleContent&sq=005d0000001T4VEAA0_20185191636205

    Test run 3 appears to be correct if you don't get errors for missing files; it's hard for me to guess the name for runDir and runName without looking at Quantus command file. If in doubt, you can get the settings from Voltus-Fi GUI because you would have entered runName and runDir under QRC Run field.

    Regards,

    Saloni

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago in reply to Saloni Chhabra

    Also, can you tell me your ICADV version? The support for reading 'emirutil cds.lib=' was introduced in ICADV12.3 ISR14 I think, so once you set CDS_MMSIM_VOLTUSFI_ROOT and are using a later version, you shouldn't have to create a soft-link to cds.lib.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago in reply to Saloni Chhabra

    Also, can you tell me your ICADV version? The support for reading 'emirutil cds.lib=' was introduced in ICADV12.3 ISR14 I think, so once you set CDS_MMSIM_VOLTUSFI_ROOT and are using a later version, you shouldn't have to create a soft-link to cds.lib.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • hchan
    hchan over 7 years ago in reply to Saloni Chhabra

    Hi Saloni,

    The ICADV version in use is ICADV12.30.isr15.lnx86. The QRC runDir in the VFI GUI is /<some_path>/<cellname>/EXT_QRC/RCC_SPICE/ and runName is <cellname>, i.e. they match the setting in 'Test run 1' in my previous message, but causes the _qrc_tech_dir error when used in batch mode or Spectre.

    Regarding the error:  Failed to start QRC module 'shapeServer'. Would you mind telling us a bit more how QRC shapeServer is invoked by emirreport after reading the TMI file? e.g. How is the execution path determined? Our Spectre call is through a wrapper that in turns make a system call. It is possible that the search paths or env vars missed the required data.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago in reply to hchan

    Hi Henry,

    I don't see a reason why the runDir and runName entered in GUI should not work in the batch-mode. The files _qrc_tech_dir and _save_layers should be present in the extraction database.

    Have you re-run the flow after setting the env var CDS_MMSIM_VOLTUSFI_ROOT? Does Voltus-Fi version look different in vfi.log now?

    Regarding QRC shapeserver error, I've seen it occur mostly due to an issue in extraction database, but I am surprised you see this error only when running the flow batch-mode (assuming you have sync'ed the versions now). Do you have the below setting in Quantus CCL?

    output_setup \
    	-keep_temporary_files "true"

    At this stage, it might be worth getting in touch with Cadence customer support so someone can review your setup via a Webex session.

    Regards,
    Saloni

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • hchan
    hchan over 7 years ago in reply to Saloni Chhabra

    Hi Saloni,

    Thanks for your help. After getting further support from Cadence support AE, I have the correct setup to get the VFI batch run going after spectre simulation.

    In the Spectre netlist/ directory, I noticed that the self-heating XML files (e.g. input.dtemp0.xml) are always created after the batch mode run started (i.e. vfi.log timestamp ~1min earlier than shXMLFile timestamp). This causes the XML file not found by the batch mode run. Is there a way to fix this, or we suppose to use the XML file from the prior rather than the current run?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago in reply to hchan

    Hi,

    This doesn't sound normal. Can you please let me know the following:

    1. What Spectre version is being used?

    2. What ICADV12 version is being used?

    3. Finally, please paste the contents of vfi.log.

    Regards,

    Saloni

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • hchan
    hchan over 7 years ago in reply to Saloni Chhabra

    Certainly. Here are the info:

    Spectre version:  mmsim15.10.isr6
    ICADV12 version:  ICADV12.3 isr15
    VFI version: ICADV12.3 isr15

    vfi.log:

    INFO: Starting Voltus-Fi Batch Mode Application.

    Command run is:
    ******************************************************************
    /tools/cds/ICADV12.30.isr15.lnx86/tools.lnx86/sev/bin/64bit/emirreport -c /work/ms_scratch_kel/hchan/simulation/my_sandbox_ems
    he/tb_clkgen_half_slice_fo1_emsheshe/maestro_hch/results/maestro/Interactive.73/1/my_sandbox_emshe:tb_clkgen_half_slice_fo1_em
    sheshe:1/netlist/emir.conf -db /work/ms_scratch_kel/hchan/simulation/my_sandbox_emshe/tb_clkgen_half_slice_fo1_emsheshe/maestr
    o_hch/results/maestro/Interactive.73/1/my_sandbox_emshe:tb_clkgen_half_slice_fo1_emsheshe:1/netlist/../psf/input.emir0_bin -ou
    tdir /work/ms_scratch_kel/hchan/simulation/my_sandbox_emshe/tb_clkgen_half_slice_fo1_emsheshe/maestro_hch/results/maestro/Inte
    ractive.73/1/my_sandbox_emshe:tb_clkgen_half_slice_fo1_emsheshe:1/netlist/../psf/
    ******************************************************************
    Voltus-Fi version being used is as follows:
    ******************************************************************
     Voltus-Fi batch mode application (64-bit) - High Capacity Power IR/EM - v06.17-e469_1 ((09/17/2017 17:31:56))
     -----------------------------------------------------------------
     Copyright (c)  Cadence Design Systems, Inc.  1996 - 2014
    ******************************************************************

    INFO: loading MMSIM results
    INFO: loading MMSIM all net results
    Info: Reading Self Heating TMI File: /work/ms_scratch_kel/hchan/simulation/my_sandbox_emshe/tb_clkgen_half_slice_fo1_emsheshe/
    maestro_hch/results/maestro/Interactive.73/1/my_sandbox_emshe:tb_clkgen_half_slice_fo1_emsheshe:1/netlist/input.dtemp0.xml
    FATAL: Unexpected error : Could not open file : /work/ms_scratch_kel/hchan/simulation/my_sandbox_emshe/tb_clkgen_half_slice_fo1_emsheshe/maestro_hch/results/maestro/Interactive.73/1/my_sandbox_emshe:tb_clkgen_half_slice_fo1_emsheshe:1/netlist/input.dtemp0.xml


    Process Info :
      User time          = 0 seconds
      System time        = 0 seconds
      Children user time = 4 seconds
      Children sys time  = 3 seconds
      Virtual mem. size  = 327,905,280 bytes
      Total alloc size   = 0 bytes
      In use alloc size  = 0 bytes
      Page fault w/o IO  = 24,708
      Page fault w/  IO  = 157
      No. of swaps       = 0
      Page size          = 4,096 bytes
      Real Time(HH:MM:SS)= 00:00:24
      Peak Memory Usage  = 100392 kB


    INFO: Ending Voltus-Fi Batch Mode Application.


    netlist > ls -ltr
    total 40374
    -rw-r--r--  1 hchan eng      352 Mar 19 11:15 spectre.sim
    -rw-r--r--  1 hchan eng       29 Mar 19 11:15 spectre.inp
    drwxr-xr-x  2 hchan eng        0 Mar 19 11:15 raw/
    -rw-r--r--  1 hchan eng      176 Mar 19 11:15 control
    drwxr-xr-x  2 hchan eng     1271 Mar 19 11:15 amap/
    -rw-r--r--  1 hchan eng      223 May 30 09:03 netlistHeader
    -rw-r--r--  1 hchan eng        0 May 30 09:03 netlistFooter
    -rw-r--r--  1 hchan eng    38233 May 30 09:03 netlist
    drwxr-xr-x  2 hchan eng       25 May 30 09:03 map/
    drwxr-xr-x 10 hchan eng      257 May 30 09:03 ihnl/
    drwxr-xr-x  2 hchan eng        0 May 30 14:57 statAlters/
    -rw-r--r--  1 hchan eng      524 May 30 14:58 si.env
    -rw-r--r--  1 hchan eng       86 May 30 14:58 si.foregnd.log
    -rw-r--r--  1 hchan eng    39796 May 30 14:58 input.scs
    -rw-r--r--  1 hchan eng     1509 May 30 14:58 emir.conf
    -rwxr-xr-x  1 hchan eng      179 May 30 14:58 runSimulation*
    -rwxr-xr-x  1 hchan eng      607 May 30 14:58 runGenricJob9*
    lrwxrwxrwx  1 hchan eng       30 May 30 14:58 cds.lib -> /proj/ms_kel/hchan/16n/cds.lib
    -rw-r--r--  1 hchan eng  4901040 May 30 15:03 spectre.ic
    -rw-r--r--  1 hchan eng  4806374 May 30 15:09 spectre.fc
    -rw-r--r--  1 hchan eng   261413 May 30 15:10 summary.rpt
    -rw-r--r--  1 hchan eng     3800 May 30 15:10 vfi.log
    -rw-r--r--  1 hchan eng      591 May 30 15:11 input.tmiage0_106096.100021
    -rw-r--r--  1 hchan eng 20290408 May 30 15:11 input.tmiage0_106096.100021.dat
    -rw-r--r--  1 hchan eng  1347085 May 30 15:11 input.dtemp0.xml
    -rw-r--r--  1 hchan eng    63173 May 30 15:11 input.dtemp0
    -rw-r--r--  1 hchan eng       17 May 30 15:11 input.tmiage

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • hchan
    hchan over 7 years ago in reply to Saloni Chhabra

    Certainly. Here are the info:

    Spectre version:  mmsim15.10.isr6

    ICADV12  (and Voltus-FI) version: ICADV12.3 isr15

    netlist/ directory and vfi.log file:

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago in reply to hchan

    Thanks, it appears to be a bug in MMSIM where it is invoking emirreport before *.xml is available on the disk. Your MMSIM version is very old (more than 2 years), so can you please move to a newer version and check if that solves the issue?

    Going back to the older posts in this thread, I notice you were using Spectre171 at some point, so that will be a good version to try.

    Regards,

    Saloni

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • hchan
    hchan over 7 years ago in reply to Saloni Chhabra

    Hi Saloni,

    Thanks for the info.

    I tried mmsim17.10.isr2 and it behaves similarly (could you confirm?). Meanwhile, Spectre171 is not fully setup in our methodology. I'll check with our infrastructure team if it can be enabled.

    Henry

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • hchan
    hchan over 7 years ago in reply to hchan

    Hi Saloni,

    Our "mmsim17" is actually Spectre v17. Would you mind let us know since which Spectre version has this bug been resolved? We would look into installing this or newer version.

    Henry

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 7 years ago in reply to hchan

    Hi Henry,

    It isn't a known bug and I know a lot of our customers are running the flow the way you want to, but this is the first time I've heard of the issue. This is why I suspected an older Spectre version to be the reason. But if you see the same problem with Spectre171 as well, then the issue is somewhere else. Have you tried running the simulation on a different machine, or a different testcase?

    Regards,

    Saloni

    • 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