By now, you all must have read the news that Cadence has unveiled the new Indago™ Debug Platform, which boosts debugging productivity by up to 50%.
What's the secret sauce between the productivity gains from Indago? Three key features:
- Patented root-cause analysis (RCA) technology to automate debug process and analysis to find source of bugs faster
- Big Data concepts applied to hardware verification for intelligent debug and increased automation
- Integrated debug solution scalable from IP to SoC level.
In addition to the open Indago Debug Platform that supports Cadence and third-party verification engines, Cadence also announced three Indago platform Apps addressing specific debug tasks:
- Indago Debug Analyzer App: Synchronized RTL design & testbench verification
- Indago Embedded Software Debug App: Enables embedded HW/SW software debug
- Indago Protocol Debug App: Interface protocol functional validation
For additional info on the Indago Debug Platform and the debug Apps, click here.
Here are some answers to common questions about Indago.
- Question: What advantage does Indago RCA have over tools that claim RCA capabilities?
Response: Indago adds patented intelligent guidance and automation to finding bugs leveraging the Big Data concept. Other RCA tools provide a set of manual features that require upfront educated guesses as to where to sample debug data and after sampling, engineers can only debug the data points that they had the foresight to sample. In most cases, the root cause of the bug is not detected because engineers did not collect the right debug data to perform RCA. The advantage with the Cadence solution is that we apply RCA techniques to RTL as well as TB by leveraging the Big Data concepts to capture all the relevant design data. Engineers can easily step forward and/or backward in time starting from RTL and stepping back to TB. The Cadence RCA solution enables the engineer to find the underlying source of the bug in far fewer iterations.
- Question: What does Big Data have to do with debug?
Response:Debug is a Big Data problem because engineers are trying to find a small amount of critical information within the massive volume of verification engine data. Big Data helps engineers to:
- Record messages, waveforms, source execution order, call stack, active threads, local variables, etc. in one verification iteration
- Analyze and play back simulation as well as ask deeper questions about what really happened during the run
- Highlight correlations that would otherwise go unnoticed in sampling-based debug.
Question: Cadence announced three Indago Apps. Are there more planned for the future?
Response:Yes, we definitely do have plans to announce more Apps to address other debug tasks. Stay tuned. Indago Apps are sophisticated applications that provide automation for notoriously time-consuming debug problems within the IP and SoC verification process. Engineers also want to build smaller scripts that present information in a particular way within the GUI. Indago plug-ins provide this capability and we provide more than 80 of these.
- Question: What do you mean by third-party support?
Response:The initial third-party debug support is a set of libraries built on the IEEE 1800 SystemVerilog VPI standard so that it will work with all of the verification engines that implement the standard. With it, users can record basic datatypes and it will be extended in the future. The Protocol Debug App has complete third-party support available now.
- Question: What are the advantages of post-process software debug?
Response:The advantages all result in productivity improvements in the time to resolve bugs. Post process debug provides a complete context of the software execution, view of memory from the software perspective and the ability to create custom visualization for faster debug. This is just from the software perspective; add to this a fully accurate and synchronized view of hardware with the software without any instrumentation side effects gives post process software debugging clear advantages.
- Question: What is HW/SW debug and why does it matter?
Response: For hardware-dependent software, the most challenging bugs are typically found at the interface between the hardware and software. These include issues like software race conditions that are created by variable software execution speeds based on processor workloads meeting the variable hardware response times impacted by bus and interconnect traffic. Issues like these that are found under certain loading conditions can be among the most difficult to debug because many debug approaches are intrusive and to provide visibility they impact the traffic or execution speed which can cause the problem to disappear. This is a key reason that post-process debug saves time on finding and fixing these type of HW/SW dependency issues by giving a fully accurate and synchronized view of both the hardware and software activity and the ability to visualize both in the context that makes sense, waveforms for hardware and source code for software. With the growth in use of software for verification, post-process hardware and software debug is becoming a must-have tool for development.
- Question: Who can benefit from the Incisive Protocol Debug App?
Response: All engineers tasked with verifying IP and SoC designs incorporating standard interfaces such as ARM AMBA, DDR, MIPI, etc.
- Question: How does the Indago Protocol Debug App help the engineer?
Response: It provides a protocol-specific view of the simulated interactions between a design and verification IP (VIP) to illuminate the root causes of interface bugs.
- Question: What form does the protocol-specific view take?
Response: Four views are provided: the Channel Viewer, State Machine Viewer, Smart Log, and Life Story:
- Channel Viewer
- Graphical presentation of transactions clarifies design behavior
- Select data types or packets to see preferred level of detail
- Error highlighting reveals design bugs
- State machine diagrams relate design behavior to specification terminology
- See what states were visited during simulation
- View reasons for state changes and see event timing
- Drill down to lower-level state machines
- Smart Log
- Set up multi-level queries to save and share
- Warnings and errors highlighted and connected to relevant packets
- Life story
- See everything that happened to a given object during simulation
- View registers, packets, state machines, lanes, queues configuration space, etc.
- Filter history to focus on important events
- Merge object histories from multiple simulations.
- Channel Viewer
Question: Is there any collateral available on the Indago Debug Platform and the debug Apps?
Response: Yes, check out the Indago Debug Platform landing page, where you can download the White Paper, App Videos, details on each of the three apps, Blogs, etc…
If you have any other questions about debug or Indago Debug Platform, send them my way!
Kishore Karnane (karnane@cadence.com)
Related stories:
-- Indago Debug Platform—Automating Root Cause Analysis and Leveraging Big Data