nSIM and NCAM ============= nSIM Overview ------------- Basic Information ~~~~~~~~~~~~~~~~~ Synopsys nSIM is an instruction-set simulator that can be used with the MetaWare debugger or with SystemC. It provides an instruction-accurate processor model for Synopsys ARC-V processors, letting you run actual programs in a fast and accurate way. .. note:: nSIM requires Synopsys Common Licensing (SCL) version 2016.12 or later. nSIM V-2024.03 -------------- Improvements ~~~~~~~~~~~~ Continued experimental support for the ARC-V families of processors, including experimental support for the following features: * RPX family of processors * RV64I and RV64E base instruction sets * ``Zfh``, ``Zhinx``, ``Zfhmin`` and ``Zhinxmin`` ISA extensions (not yet supported in JIT mode) * Performance counters * Enhanced profiling with the MetaWare debugger for ARC-V processors * ARC-V run-control interfaces for ARC-V SystemC models .. note:: To support both the ARC-V family and previous ARC processors, the nSIM SystemC directory has been restructured. The new directory structure is not backward-compatible. If you have existing virtual platforms created for use with prior nSIM releases, your platform most likely needs to be updated and rebuilt or recompiled. nSIM V-2023.12 -------------- Improvements ~~~~~~~~~~~~ Experimental support for the ARC-V RMX-100 and RXM-500 families of processors, including experimental support for the following features: * RV32I and RV32E base instruction sets * ``M``, ``A``, ``F``, ``D``, ``C``, ``Zc*``, ``Zb*``, ``Zicsr``, ``Zifenci``, ``Zfinx``, ``Zdinx``, ``Zicond``, ``Zhintpause``, and ``Zicbom`` ISA extensions * Just-In-Time mode for the instruction sets and ISA extensions listed here * Host I/O through semihosting and MetaWare hostlink * CLINT and PLIC interrupts * Debugger support using nSIM GDB-server for ARC-V GDB and LLDB debuggers * Experimental SystemC, Virtualizer, and Platform Architect support (the ARC-V SystemC model supports memory interfaces only) .. note:: To support both the ARC-V family and previous ARC the nSIM SystemC directory has been restructured. The new directory structure is not backward-compatible. If you have existing virtual platforms created for use with prior nSIM releases, your platform most likely needs to be updated and rebuilt or recompiled. For additional information on the ARC-V family of processors, see `Synopsys ARC Development Tools `_. Known Issues and Limitations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Support for ARC-V family of processors is experimental and support for features is limited. Up-to-date lists of known and fixed issues are available online at https://www.synopsys.com/dw/doc.php/arc_tools/dw_arc_nsim/nSIM_FixedIssues.pdf NCAM Overview ------------- Basic Information ~~~~~~~~~~~~~~~~~ NCAM (Near Cycle-Accurate Mode) is a hardware performance simulation mode of nSIM, which is derived from micro-architecture specifications and therefore cycle-approximate. .. note:: NCAM requires an nSIM Pro license. NCAM V-2023.12 -------------- Supported Features ~~~~~~~~~~~~~~~~~~ * Provided experimental and uncalibrated RMX-100 NCAM model Known Issues and Limitations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ There are no known issues for this release so far. .. Obtaining the Installer .. ----------------------- .. Installing the Tools .. -------------------- License ------- Before running Synopsys tools, you must install and configure the Synopsys Common Licensing (SCL) software, retrieve your license key file, and define the license file environment variable. For detailed information about SCL installation and setup, see the *Synopsys Licensing Quickstart Guide* at the following Web address: http://www.synopsys.com/Support/LI/Licensing .. Reusing an existing License .. ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. Obtaining an Evaluation License and Setting it Locally .. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. Command-Line Reference .. ---------------------- .. (ARC-V specific command-line options, linker command files, etc.) Standalone Execution Without a Debugger --------------------------------------- A standalone command-line version of the nSIM simulator is provided in addition to support for using nSIM with MetaWare debugger or SystemC. To run the ARC nSIM standalone simulator use the ``nsimdrv`` executable. For more information, check the "Standalone nSIM" section in the nSIM User’s Guide. GDB Interface ------------- To use the ARC nSIM simulator with the GDB debugger, you need to start a GDB server program to act as a TCP/IP remote target interface to GDB. This GDB server program can be run standalone (using ``nsimdrv``) or can be instantiated from within the nSIM SystemC wrapper. For additional information and exact steps, check the following materials: * "GNU for ARC Toolset Support" section in the *nSIM User’s Guide* document in ``/nSIM/nSIM/docs/pdf``. * "Connecting to GDB Remote Process in Command Line Mode" section in the *MetaWare Debugger User Guide* document in ``/MetaWare/arc/docs/pdf/arc-v``. .. ARC-V Specific Parameters .. ~~~~~~~~~~~~~~~~~~~~~~~~~ .. Example of Use with Cross-GDB Connected .. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. * With a target application already loaded by nSIM .. * With the target application loaded from the GDB