-
Notifications
You must be signed in to change notification settings - Fork 188
Accessing the Tcl Store Repository
The screenshots have been updated to the upcoming Vivado 2016.1 release
In the menu bar, go choose Tools->Xilinx Tcl Store
Choose your app and click on install. The procs defined in the app are now available on subsequent Vivado sessions. Procs are pulled to the global namespace and appear like native vivado built in commands. Tcl commands also show up in the help infrastructure.
The following screenshot highlight the steps. It is recommended to refresh the catalog (Refresh button) to make sure that the last version of the app is installed.
Once the app has been installed, the list Tcl procs available from the app is reported along with a one-line summary.
Once an app has been installed, the proc names change as an hyperlink. Clicking on any proc name opens a context window with a Help menu item. Selecting Help opens an embedded help information for the selected proc.
Once an app has been installed, all the procs that belong to this app can be accessed in two different ways:
- From the ::xilinx::myapp namespace. When Vivado starts, an entry point (a wrapper) is automatically created for all the procs of all the installed apps under the ::xilinx::myapp namespace.
- From the app namespace ::tclapp::mycompany::myapp where the proc has been defined.
For example, once designutils has been installed, the proc report_parts can be accessed as illustrated below:
vivado> ::xilinx::designutils::report_parts
vivado> ::tclapp::xilinx::designutils::report_parts
The advantage of calling the proc from the ::xilinx namespace is that the wrapper that is automatically created supports number of default command line arguments such as -help, -verbose and -quiet
vivado> ::xilinx::designutils::report_parts -help
xilinx::designutils::report_parts
Description:
(User-written application)
report all the available parts that match a pattern
Syntax:
xilinx::designutils::report_parts [-quiet] [-verbose] [<pattern>]
Returns:
0
Usage:
Name Description
------------------------
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
[<pattern>] Pattern for part names
Default: *
Categories:
xilinxtclstore, designutils, user-written
There are 2 ways to access the source code for an app or particular proc.
The app header includes a URL link to GitHub. Clicking this links opens the default browser directly to the app page inside GitHub. From there, the source code of individual procs can be accessed:
Once an app has been installed, the proc names change as an hyperlink. Clicking on any proc name opens a context window with a View Source Code menu item. Selecting View Source Code opens a windows with the source code of the selected proc.
Note: The Tcl Store does not track the procs dependencies. Only the content of the selected proc is displayed in the source window, not dependent procs. The full app code can be browsed from GitHub by following the app's URL.
If after refreshing the catalog a new version of an app is available, the app can be automatically updated by pushing the Update button. A warning icon on the app is showing that a new version is available.
Information regarding latest changes is available by clicking the *What's New' hyperlink.
Select the app that you have installed. In the details section there is a hyperlink to uninstall. Once you have uninstalled, the procs are no longer available at the Tcl command line.
To search through the Tcl Store, use the embedded search bar located above the list of apps. The search applies on the proc names and proc summaries. The list of apps is reduced to those having 1 or more matches. Once an app is selected, the matching areas are highlighted in whites when non-matching ones are greyed out.
Click on the Installed tab in the Xilinx Tcl Store dialog.
After refreshing the catalog, if any update is available, you can click on the Updates tab in the Xilinx Tcl Store dialog to get a summary list of all apps that have an update. An app can be updated by clicking the Update button.
Click on the Refresh button in the Xilinx Tcl Store dialog. This action queries the git repository and refresh the app catalog to get the latest version of each installed app.
Refer to Figure 1 above for the location of the Refresh button.
To report an issue for a particular app or proc, click the Support on GitHub link on the top-right of the Tcl Store GUI. Clicking this links opens the default browser directly to the Tcl Store support page inside GitHub.
For some companies that are concerned about applications querying information outside their firewall, there is a feature to disable refreshing of the repository. This prevents Vivado from querying the app catalog - and users are limited to the current static version of the repository. To disable refresh capability, the following Tcl param can be set in the startup init.tcl script for all Vivado sessions:
set_param tclapp.enableGitAccess 0
#Shared or Local Repositories Vivado supports local repositories for sharing code locally rather than through the publicly github repository. This is mainly used for testing and during the development stage for the Tcl Store. But it can as well be used to share private repos that should not be accessible to the public. To point Vivado to a local repo, the following environment variable can be set:
setenv XILINX_TCLAPP_REPO <PATH_TO_LOCAL_REPO>
Note: The catalog cannnot be refreshed when pointing to a local repository