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
andZhinxmin
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
, andZicbom
ISA extensionsJust-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.
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
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
.