v2025-12-06 or later
This manual explains how to install NPX on a local machine.
All results produced using NPX are subject to the following conditions:
They must not be used beyond the predefined purpose and scope specified in advance for a particular class or research project.
They must not be distributed to third parties other than the designated users or organizations.
They are free for non-commercial research use, provided that the paper is cited. All other uses require prior approval and a technology transfer agreement.
Manuals are available online - riscvexpress.github.io/npx
Any part starting with # should be replaced or modified according to your environment.
On Linux, use the bash shell for command-line operations.
On Windows, use the Windows Power Shell for command-line operations.
License Tools
Mixed-language RTL Simulator
Modelsim/QuestaSim
Xcelium/NCSim/Incisive
AMD Vivado FPGA Tool
The required version depends on the FPGA board used (FPGA Manual).
A High-Performance Computer
A capable machine is required to run license tools efficiently.
The actual performance needed depends on the specific license tools being used.
Note: the RVX engine itself does not require a high-performance machine.
Recommended OS Version
Must be compatible with license tools, not just RVX.
RVX-compatible OS
CentOS 7 / 8
Redhat 8 / 9
Ubuntu 18 / 20 / 22 (recommended) / 24
Windows 10 Home / Enterprise
Windows 11 Home
Virtualization environments are NOT recommended.
WSL and VirtualBox
USB-connected FPGA devices are not accessible.
For Linux systems, the locale setting must be en_US.UTF-8.
If using a GUI, set the language format to United States.
Or, comment out the line SendEnv LANG LC* in /etc/ssh/ssh_config
i.e., add a # at the beginning).
User Account
Linux: Requires sudo privileges
Windows: Requires administrator rights
RVX Design Git Repository
Build your own design repository (See Repository Setup Manual)
Or, use the repository provided by the instructor for the lecture
RVX Server Information (RVX-cloud Only)
IP address, SSH port, account, password
Provided by the instructor or project supervisor
Account must not be shared between multiple computers.
To install RVX, follow the ‘RVX Tutorial: Hello’ using the NPX tutorial repository.
cmd) git clone --recursive https://github.com/rvx-etri/npx-xarvis.gitSet the python3 command used in RVX.cmd) cd #(cloned directory)
cmd) make check_python
cmd) make check_pipcmd) cd #(cloned directory)
cmd) make config_python
inst) Verify that ‘rvx_python_config.mh’ is generated.
inst) Open ‘rvx_python_config.mh’ in a text editor
> If no path is listed, manually enter the path to the executable.
> If more than one path is listed, keep only the one you intend to use and delete the others.cmd) cd #(cloned directory)
cmd) make config_python
inst) Verify that ‘rvx_python_config.mh’ and ‘python3.bat’ are generated.
inst) Do NOT modify ‘rvx_python_config.mh’
inst) Open ‘python3.bat’ in a text editor
> If no path is listed, manually enter the path to the executable.
> If more than one path is listed, keep only the one you intend to use and delete the others.
> Do NOT remove ‘%*’ at the end of the line.
> If the directory name contains spaces, enclose it in double quotation marks as shown below.
ex) C:\Users\“Kyuseung Han”\... %*cmd) cd #(cloned directory)
cmd) make preinstall
cmd) make installcmd) cd #(cloned directory)
cmd) make config
> Check that the file ./rvx_setup.sh has been created.
inst) Add the line source #(cloned directory)/rvx_setup.sh to your .bashrc.
> Be sure to replace #(cloned directory) with the absolute path before adding it.
inst) To apply the changes to .bashrc, close and reopen the terminal.
> Now, #(cloned directory) is registered as ${XARVIS_HOME}.cmd) cd #(cloned directory)
cmd) make config
inst) This command add the environment variable
inst) To apply the changes, close and reopen the terminal.
> Now, #(cloned directory) is registered as ${XARVIS_HOME}.