What You Need to Get Started¶
Java JDK 11 (or later) - Any distribution such as Adoptium should work. If you already have Vivado, it includes Java, see Using Java distributed with Vivado below on how to use it.
Git (source revision control system)
If you are running Linux and want to run the GUI portion of RapidWright, you may need an older libpng12 library. For those running Debian/Ubuntu-based distros, try the following:
wget -O /tmp/libpng12.deb https://snapshot.debian.org/archive/debian/20160413T160058Z/pool/main/libp/libpng/libpng12-0_1.2.54-6_amd64.deb && sudo dpkg -i /tmp/libpng12.deb && rm /tmp/libpng12.deb
For CentOS/RedHat/Fedora distros, try the following:
sudo yum install libpng12
Vivado Design Suite 2018.3 or later (Not essential to run RapidWright, but makes it useful)
RapidWright includes the Gradle Wrapper (automatic build tool), so a Gradle installation is not necessary.
The easiest way to get RapidWright setup is to simply run these commands:
git clone https://github.com/Xilinx/RapidWright.git cd RapidWright ./gradlew compileJava
This will clone a copy of RapidWright from GitHub, download jar dependencies and compile the Java code. Checking out and compiling the code can also be accomplished by using an IDE (see RapidWright Eclipse Setup or RapidWright IntelliJ Setup).
To perform a quick test to ensure RapidWright is setup correctly, try running the following:
java -cp bin:jars/* com.xilinx.rapidwright.device.browser.DeviceBrowser
If you prefer to run with Gradle, the same tool can be invoked with:
./gradlew run --args=DeviceBrowser
You should see the GUI come up similar to this screenshot:
If you have gotten to this point, congrats! Your RapidWright install is correctly configured and you are ready to start experimenting.
Notes for Advanced/Legacy Users:¶
Using Java distributed with Vivado¶
The easiest way to find out where the Java runtime is packaged with your installation of Vivado, is to run the following at the Vivado Tcl prompt:
Based on where your installed Vivado is located, it should produce a full path, something like this:
To use this version of Java instead of the system Java or installing
it, simply add the directory to your
PATH environment variable:
Or, if using Windows, use the Control panel for environment variables
and add a new entry for
Java has the notion of a CLASSPATH, this is a list of locations where
java can look for compiled Java code (
.class files or
files) to execute at runtime. The CLASSPATH can be set on the command
line (as in the example test command above) or it can be set via the
CLASSPATH. If a script to set the
variable (in Linux) is desired, the following command can be run:
echo "export CLASSPATH=`pwd`/bin:`pwd`/jars/*" > bin/rapidwright_classpath.sh
This sets up the environment so the
-cp bin:jars/* classpath option doesn’t need to be set
as an argument when invoking
java, for example:
source bin/rapidwright_classpath.sh java com.xilinx.rapidwright.device.browser.DeviceBrowser
Should start the
DeviceBrowser just as before.
The environment variable
RAPIDWRIGHT_PATH is no longer required.
RapidWright data files have a default location (see
RapidWright Data Files). To override the default location, the
RAPIDWRIGHT_PATH can be set and the data files will be
RapidWright Installer (Obsolete)¶
The RapidWright installer is no longer the preferred method of installation. Please use the steps above, it is included below for legacy purposes.
rapidwright-installer.jar(or run command below in Linux) to the directory where you would like RapidWright to reside.
From a terminal in that directory, run (To open a terminal on Windows, search and run ‘cmd.exe’ from the Start orb):
java -jar rapidwright-installer.jar
Use one of the BASH/CSH/BAT scripts created at the end of the install to set the proper environment variables for subsequent invocations of RapidWright.
Setup your IDE (if applicable):
Once complete, you can run the DeviceBrowser within your respective IDE to test the installation.