-
Notifications
You must be signed in to change notification settings - Fork 187
[Use Case] Single Repository with Multiple Users
This page describes the following use case where a single common repository for the Tcl Store is shared by multiple users.
The assumptions are:
-
The common repository is read-only for the users and read-write for the administrator
-
The administrator updates the common repository
Important: since the repository is read-only for the users, the list of apps installed by the users is not preserved between Vivado sessions. A predefined list of apps can be however saved inside the users' init.tcl
- Start with empty directory (e.g /user/admin/tclstore)
mkdir tclstore
cd tclstore
- Create a sub-directory for each Vivado release that will be supported
mkdir 2015.3
mkdir 2015.4
-
Repeat the following steps for each Vivado release <release>:
- Set following environment variables:
setenv XILINX_TCLSTORE_USERAREA /user/admin/tclstore/<release> setenv XILINX_LOCAL_USER_DATA YES
For example for 2015.3:
setenv XILINX_TCLSTORE_USERAREA /user/admin/tclstore/2015.3 setenv XILINX_LOCAL_USER_DATA YES
-
Start Vivado and open XilinxTclStore GUI
-
Refresh catalog
-
Install all available apps and update those already installed based on the availability of newer app version
Note: apps that are not installed by the administrator will not be available to the users.
You should end-up with all the apps being installed and up-to-date:
- Set following environment variables before running Vivado release <release>:
setenv XILINX_TCLAPP_REPO /user/admin/tclstore/<release>/<release>/XilinxTclStore
setenv XILINX_LOCAL_USER_DATA NO
Note: <release> appears twice in the path. For example for 2015.3:
setenv XILINX_TCLAPP_REPO /user/admin/tclstore/2015.3/2015.3/XilinxTclStore
setenv XILINX_LOCAL_USER_DATA NO
- Start Vivado and open Xilinx Tcl Store GUI.
You should see the list of apps with their latest version:
The app versions match the ones installed by the administrator (see first screenshot).
- The user can install all the necessary apps
Note: the apps will need to be installed in each new Vivado session. The apps can also be automatically installed through the user's init.tcl
For example, the following 2 entries inside init.tcl will automatically install both Xilinx's designutils and ultrafast apps at the beginning of each Vivado session
tclapp::install ultrafast
tclapp::install designutils
If the administrator want to automatically install some apps for the users, this can be done inside the site level init.tcl or user level init.tcl
When you start Vivado, the tool looks for a Tcl initialization script in the following locations:
- In the software installation: <installdir>/Vivado/version/scripts/init.tcl.
(Where <installdir> is the installation directory where the Vivado Design Suite is installed.)
- In the local user directory:
a. For Windows 7: %APPDATA%/Roaming/Xilinx/Vivado/init.tcl
b. For Linux: $HOME/.Xilinx/Vivado/init.tcl
If init.tcl exists in both of these locations, the tool sources the file from the installation directory first, then from your home directory.
An app can be automatically loaded by using the tclapp::load_app command along with the namespace qualifier of the app.
For example to auto-load designutils and debugutils, both lines below should be added to init.tcl:
catch { tclapp::load_app xilinx::designutils }
catch { tclapp::load_app xilinx::debugutils }
Note: The catch command is to make sure that any issue with loading the app will not prevent Vivado from starting.