Quantcast
Channel: Cadence Functional Verification
Viewing all articles
Browse latest Browse all 652

Troubleshooting Xcelium Errors/Warnings with xmhelp/xmbrowse and Cadence Support Portal

$
0
0

I joined Cadence in July 2000 and was immediately put on a three-month training to learn and understand the simulator tools. There were formal training sessions, and I had a mentor who I could ask all my queries. But most of the times, I was on my own, as "learning by doing" was the motto of my mentor. Today, after completing 20 years at Cadence, I can tell you that it works great, especially in cases where the tool is also designed with great utilities that help you learn faster. 

xmhelp

As I moved on in my job, I faced a time crunch in going through product manuals, LRMs, etc., and learning the basic stuff. Since time was less, I decided to write designs and start debugging myself to learn faster. In the process, I soon figured out a great self-help utility called xmhelp—the native Help for Xcelium simulation Error and Warning messages.

The xmhelp utility gives you detailed information about an error or warning message that you may get during the various phases of your xcelium simulation run.

Here is the xmhelp usage syntax:

xmhelp <tool name> <error/warning code>

Let us take the following warning message as an example:

xmelab:*W,SDFNEP: Failed Attempt to annotate to non-existent path (COND (B===0) (IOPATH A Y)) of instance test.i1 of module xo2 <./a.sdf, line 20>.

Where,

xmelab is the name of the tool which generated this warning.

W indicates the severity of the message, (other levels of severity are Note (N), Error (E) or Fatal (F)), and

SDFNEP indicates the error or warning code. In this case "xmelab", the tool name is followed by the severity of the message

To get extended help for this warning, give the following command on your unix prompt:

% xmhelp xmelab SDFNEP

xmelab/SDFNEP =

This path, including the condition, if any, does not exist in the instance being annotated. The requested annotation will not occur. In order to perform the annotation, the information in the SDF file must be updated to correctly match what is in the HDL description.

Now, if you combine the warning message,

xmelab:*W,SDFNEP: Failed Attempt to annotate to non-existent path (COND (B===0) (IOPATH A Y)) of instance test.i1 of module xo2 <./a.sdf, line 20>)

that gives me information on code, line number, etc, and the elaborated description through xmhelp, I now know that I need to check the syntax mismatch for (COND (B===0) (IOPATH A Y)) in my HDL and SDF descriptions.

Similarly, there are thousands of such error and warning messages that can be debugged using xmhelp.

For more information, I can refer Using the Xcelium Simulator Utilities book available under the latest XCELIUM Release documentation on Cadence Support Portal by visiting https://support.cadence.com, or by looking through the CDNSHelp utility.

Today, the Cadence Support Portal has two articles that described important and all error / warning mnemonics with their extended help utilities"

1. Xcelium Simulator and Utilities Error Message Guide 

This document list all the mnemonics that are reported by the Xcelium simulator. The severity of mnemonics can be Note, WarningError, Fatal. The document also contains the extended help messages of the corresponding mnemonics as available in tools help. This content can be used as the ready reckoner of all the tool messages.

2. Xcelium Most Frequent Errors and Warnings Explained With Extended Help Utility

This document lists the common or most frequent error / warning mnemonics reported by the Xcelium simulator. The document captures the primary message (as generated by the simulator) and the extended help message for the listed mnemonics. It also contains the possible scenarios in which the corresponding mnemonic is reported and possible solutions.

xmbrowse

Soon, I discovered the other great utility in its GUI incarnation called XMBrowse Logfile Message Browser.

xmbrowse is a two-window GUI that allows you to interactively view and analyze:

  • Log file messages produced by Cadence tools, such as the HDL analysis and lint tool (HAL)
  • Logs produced by other Cadence simulator tools, such as xmvlog (the Verilog compiler), xmvhdl (the VHDL compiler), and xmelab (the xcelium elaborator).

xmbrowse displays log file messages in a message window, and the corresponding Verilog source code that produced the messages in a source file window.

  

For more information,see the Using the Xcelium Simulator Utilities book available under the latest XCELIUM Release documentation on Cadence Support Portal by visiting https://support.cadence.com, or by looking through the CDNSHelp utility.

Troubleshooting

And what a bonus when I started finding useful information, debugging tips, and learning collateral on the Cadence Support Portal homepage, (https://support.cadence.com), which is the 24/7 partner for Cadence customers and employees. The information available on the support site not only helped me in resolving issues related to Cadence software, but also helped me in understanding Cadence tools and technologies better. You can find interesting articles, quick videos, training material, application notes, etc. on the support site that can be used as a quick reference.

To quote an example, after searching completely through NCHelp for information on the SDFNET warning, I wanted additional tips or scenarios. It is then, that I searched on https://support.cadence.com, and found a good article with details that I needed, and which also provided information on SDFNEP, a warning similar to SDFNET (SDFNET or SDFNEP messages, causes and cures).

I also remember a time when my simulation failed/crashed due to an internal error, and it required some deep diving or interactive learning to understand the cause of the failure. I found good debugging tips in the book Debugging Fatal Internal Errors, available on https://support.cadence.com/. After reading through this book, I was able to narrow down on my issue and I also provided relevant inputs to development team to fix it.

So, to summarize, I always use these great self-help utilities, in the following order, whenever I need to troubleshoot any xcelium error or warning.

  1. Use XMHelp or XMBrowse to find detailed information on an error or warning message.
  2. Search Cadence Support Portal by visiting https://support.cadence.com/ for any additional information.
  3. Submit a case by visiting https://support.cadence.com/ -> Cases -> Submit Case option if you do not find answer. This will report your case to the Technical Support team of Cadence. And moreover, there is an auto-search feature based on what you type to submit case, and you can get answer even before you submit a case!

Happy Troubleshooting and Leaning!

Sumeet Aggarwal


Viewing all articles
Browse latest Browse all 652

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>