Skip navigation and jump to content.

nESL System Level Debug

 nESL quote for web page copy.jpg

nESL System Level Debug

Download pdf

The Novas nESL™ System-Level Debug Module extends the Verdi™ Automated Debug System for use at higher levels of abstraction - bridging the RTL, system, and software domains with a unified approach to debug that supports the critical elements of today's Electronic System Level (ESL) design methodologies.

nESL provides advanced debug capability in three areas common to most ESL environments:

  • Transaction-level modeling and analysis
  • SystemC design and verification
  • Hardware/software co-design and co-verification

nESL benefits include:

  • Increases understanding of SystemC model behavior for hardware designers
  • Enables debug of code running on embedded processors for software designers
  • Eases comprehension, analysis, and debug of complex protocols and buses
  • Interoperates seamlessly with all popular design and verification languages and tools

nESL graphic copy.gif
nESL accelerates system-level debug with advanced embedded platform technologies including transaction analysis, SystemC tracing, and hardware/software co-debug.

Transactions for Debug at Higher Levels of Abstraction

Abstraction is an important technique in the verification, analysis, and debug of complex systems because it hides confusing, low-level details so engineers can focus on vital information about the operation of the system under test. Transactions provide abstraction by representing the communication between system or design components using high-level operations rather than signal value changes. Using nESL's transaction-level debug and analysis features, you can explore and understand system operation at this same level of abstraction - without having to infer it from the signal-level details.

transactions_all copy.gif
nESL provides unique, advanced transaction capabilities. A dynamic spreadsheet and associated tools enable analysis functions including bus loading, correlation across bus bridges, and performance evaluation.

Transaction-level debug and analysis features  include:

  • Visualization and statistical analysis in waveforms, spreadsheets, graphs, and charts
  • Specification and display of common and user-defined transaction relationships, such as parent/child or master/slave, in the waveform view
  • Traversal of protocol stacks and hierarchies down to the signal-level details
  • Support for complex transaction scenarios such as split or overlapping transactions
  • Transaction extraction from the Novas Fast Signal Database (FSDB)
    • Automatic extraction for the following standard protocols using a library based on Spiratech® transaction technology: AMBA_AHB; AMBA_AHB_lite; AMBA_APB; AMBA_AXI; MPEG2_TS; OCP_IP; PCIe; UART; USB 2.0
    • User-definable extraction based on SystemVerilog Assertion (SVA) description
  • Support for transactions dumped to the FSDB from a variety of sources
    • Native (direct) dumping from SystemC, SystemVerilog, Vera, e
    • Dumping from verification IP (Denali®, Spiratech®, other vendors)
    • User coding with an available C API

This comprehensive feature set fully supports common transaction-level applications and activities, such as system-level performance and architecture optimization and protocol debug and analysis.  For users that only require transaction capabilities, these features are also available in the nTX™ Transaction Module.

 

SystemC Source Code Debug

SystemC is the most common system-level design language in use today. nESL provides full support for models and systems described in SystemC with a mixture of general, hardware-oriented, and software-oriented debug features.

General features include:

  • Compilation and importation of SystemC and mixed SystemC/HDL descriptions
  • Automated signal and variable data dumping from the Open SystemC Initiative (OSCI) Reference Simulator
  • Signal and variable data dumping from popular commercial simulators
  • SystemC Verification (SCV) transaction data capture from the OSCI Reference Simulator and popular commercial simulators
  • Annotation of signal data on source code descriptions
  • Display and analysis of SystemC variables and transactions in waveform and spreadsheet views

Hardware-oriented features include:

The hardware-oriented features hide class library details and enable design exploration similar to an HDL model.

  • Viewing and traversing instance hierarchy
  • Tracing signal drivers and loads throughout hierarchy and across language boundaries
  • Generating and viewing block diagrams rendered from the source code description

Software-oriented features include:

The software-oriented features support debug using methods traditionally employed for C/C++ descriptions.

  • Tracing software stacks and abstract data structures
  • Browsing class structure and details independent of instance hierarchy
  • Interactive mode link to standard software debuggers like gdb

Hardware/Software Co-Debug

Developers of embedded software - device drivers and the like - often need to observe the interaction of their code running on the hardware platform to debug problems and ensure correct operation. A tight link between the software debugger and the associated hardware environment is thus required to allow programs running on embedded processors to be debugged in the context of the hardware.

Hardware/Software features include:

  • A generalized interface for linking Verdi to commercial or proprietary software debuggers
  • Time synchronization for correlation of software instructions, bus transactions, and signal activity
Summary

As designs become larger and more complex, the use of ESL-based design methodologies is increasing. To address this trend, the Novas nESL System-Level Debug module extends the Verdi Automated Debug System in support of the common elements of today's ESL environments- transaction-level modeling and analysis, SystemC design and verification, and hardware/software co-design and co-verification.

---------------------------------------------------------------------------------------------------------------

Learn More About nESL: