FPGA tools
From Robin
(→FPGA tools on LISP (2428)) |
(→GHDL and modelsim) |
||
(25 intermediate revisions not shown) | |||
Line 2: | Line 2: | ||
Vivado and Vitis is installed locally on the computers in LISP. To launch Vivado go to ''Applications->Education-> '''Vivado''' | Vivado and Vitis is installed locally on the computers in LISP. To launch Vivado go to ''Applications->Education-> '''Vivado''' | ||
- | Alternatively, you can find it by searching for apps (Windows key): | + | Alternatively, you can find it by searching for apps using the ''super''-key (Windows key): |
- | [[Image: | + | <div style="margin:0 auto;overflow:scroll;width:auto;max-width:100%"> |
+ | [[Image:Xilinx_suit.png|class=noresize]]</div> | ||
Line 31: | Line 32: | ||
Help: | Help: | ||
<command> -h | <command> -h | ||
+ | |||
+ | == VHDL using VSCode == | ||
+ | |||
+ | VHDL code can also be edited using VSCode (Visual Studio Code) which is installed on computers at LISP. | ||
+ | |||
+ | * Launch Vscode by searching through applications: ''Applications -> '''VSCode''' | ||
+ | * Add the extension for VHDL syntax highlighting by: | ||
+ | ** ''View -> Extensions'' or ''<Ctrl + Shift + X>'' to open the Extensions window. | ||
+ | * Search VHDL and you will see a list of extensions. Install ''VHDL by Pu Zhao''. (Note: there are other suitable vhdl extensions as well). | ||
+ | * Once installed, ''enable'' the extension (if not done automatically). | ||
+ | |||
+ | == Questa and modelsim.ini in write mode == | ||
+ | |||
+ | You might get the following error message when using Questa: | ||
+ | |||
+ | # ** Error: (vmap-7) Failed to open ini file "/uio/kant/ifi-project06/robin/CADlib/modelsim.ini" in write mode. | ||
+ | # Permission denied. (errno = EACCES) | ||
+ | |||
+ | This is expected behavior because you are using a shared write protected <code>modelsim.ini</code>. To make your own copy of the <code>modelsim.ini</code> file, run; | ||
+ | |||
+ | mkdir -p ~/.config/modelsim/ # Make a directory for modelsim config | ||
+ | cp $CADLIB/modelsim.ini ~/.config/modelsim/modelsim.ini # Copy modelsim.ini | ||
+ | |||
+ | Lastly, you need to alter the <code>MODELSIM</code> variable. Open the <code>.bashrc</code> in your editor of choise (e.g <code>code ~/.bashrc</code>) and add the following line: | ||
+ | |||
+ | # Setting MODELSIM variable used in IN3160 | ||
+ | export MODELSIM=$HOME/.config/modelsim/modelsim.ini | ||
+ | |||
+ | Restart the terminal or run <code>source ~/.bashrc</code> for the changes to take effect. | ||
= FPGA tools via share on Linux = | = FPGA tools via share on Linux = | ||
- | + | ||
+ | This section is not necessary to perform to be able to use the software on LISP and VDI: Digital electronics. The clients in LISP has the Xilinx software installed locally. | ||
'''First time initialization''' | '''First time initialization''' | ||
- | If you need to use Xilinx' software other places than the | + | If you need to use Xilinx' software other places than the RHEL clients at LISP or ALGOL, utilize the following guide: |
cd | cd | ||
Line 44: | Line 75: | ||
Append the following lines to the end of the .bashrc file: | Append the following lines to the end of the .bashrc file: | ||
<pre class="brush: bash"> | <pre class="brush: bash"> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
# Vitis Unified 2020.2 64-bit version | # Vitis Unified 2020.2 64-bit version | ||
if ! [ -x "$(command -v vivado)" ]; then | if ! [ -x "$(command -v vivado)" ]; then | ||
Line 57: | Line 83: | ||
# License file | # License file | ||
export LM_LICENSE_FILE=5370@lisens.ifi.uio.no | export LM_LICENSE_FILE=5370@lisens.ifi.uio.no | ||
- | |||
- | |||
- | |||
# Remove duplicants in the PATH variable | # Remove duplicants in the PATH variable | ||
Line 69: | Line 92: | ||
'''Other versions''' | '''Other versions''' | ||
- | If needed, you can also make use of older or newer versions of the Xilinx products. As of August 2020, we have 2016.4, 2018.3 | + | If needed, you can also make use of older or newer versions of the Xilinx products. As of August 2020, we have 2016.4, 2018.3 and 2020.2 available. |
<!--- | <!--- | ||
Line 99: | Line 122: | ||
---> | ---> | ||
- | = Digilent Adept on Linux = | + | <!-- = Digilent Adept on Linux = |
Digilent Adept to program the Atlys board can be obtained from the Digilent website. | Digilent Adept to program the Atlys board can be obtained from the Digilent website. | ||
Line 109: | Line 132: | ||
To enable autocompletion and history in XMD: | To enable autocompletion and history in XMD: | ||
- | rlwrap xmd | + | rlwrap xmd--> |
- | + | ||
= License server = | = License server = | ||
Line 119: | Line 141: | ||
On Windows: | On Windows: | ||
setx LM_LICENSE_FILE 5370@lisens.ifi.uio.no | setx LM_LICENSE_FILE 5370@lisens.ifi.uio.no | ||
+ | |||
+ | NOTE: The license server only works from UiOs network. | ||
= Academic Xilinx FPGA tools = | = Academic Xilinx FPGA tools = | ||
Line 156: | Line 180: | ||
[http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html www.joshstaiger.org/archives/2005/07/bash_profile_vs.html ] | [http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html www.joshstaiger.org/archives/2005/07/bash_profile_vs.html ] | ||
- | == | + | == Remote access with GUI == |
- | X11 forwarding is required to be able to see windows opened on a linux server. On windows, X-win32 can be used. For linux ssh -X or ssh -Y can be used, while on MAC you may need XQuartz or something similar to allow X11 forwarding. | + | X11 forwarding is required to be able to see windows opened on a linux server. On windows, X-win32 can be used. For linux ssh -X or ssh -Y can be used, while on MAC you may need XQuartz or something similar to allow X11 forwarding. More on this can be found [https://robin.wiki.ifi.uio.no/Remote_access here]. |
Current revision as of 11:46, 3 January 2024
Contents |
FPGA tools on LISP (2428)
Vivado and Vitis is installed locally on the computers in LISP. To launch Vivado go to Applications->Education-> Vivado
Alternatively, you can find it by searching for apps using the super-key (Windows key):
Launch in terminal
Launching the applications is done by entering the following commands in the terminal:
Questa with GUI:
vsim
Vivado with GUI:
vivado
Vitis with GUI:
vitis
Vitis HLS with GUI
vitis_hls
Vlog (terminal only):
vlog
Vcom (terminal only):
vcom
Help:
<command> -h
VHDL using VSCode
VHDL code can also be edited using VSCode (Visual Studio Code) which is installed on computers at LISP.
- Launch Vscode by searching through applications: Applications -> VSCode
- Add the extension for VHDL syntax highlighting by:
- View -> Extensions or <Ctrl + Shift + X> to open the Extensions window.
- Search VHDL and you will see a list of extensions. Install VHDL by Pu Zhao. (Note: there are other suitable vhdl extensions as well).
- Once installed, enable the extension (if not done automatically).
Questa and modelsim.ini in write mode
You might get the following error message when using Questa:
# ** Error: (vmap-7) Failed to open ini file "/uio/kant/ifi-project06/robin/CADlib/modelsim.ini" in write mode. # Permission denied. (errno = EACCES)
This is expected behavior because you are using a shared write protected modelsim.ini
. To make your own copy of the modelsim.ini
file, run;
mkdir -p ~/.config/modelsim/ # Make a directory for modelsim config cp $CADLIB/modelsim.ini ~/.config/modelsim/modelsim.ini # Copy modelsim.ini
Lastly, you need to alter the MODELSIM
variable. Open the .bashrc
in your editor of choise (e.g code ~/.bashrc
) and add the following line:
# Setting MODELSIM variable used in IN3160 export MODELSIM=$HOME/.config/modelsim/modelsim.ini
Restart the terminal or run source ~/.bashrc
for the changes to take effect.
FPGA tools via share on Linux
This section is not necessary to perform to be able to use the software on LISP and VDI: Digital electronics. The clients in LISP has the Xilinx software installed locally.
First time initialization
If you need to use Xilinx' software other places than the RHEL clients at LISP or ALGOL, utilize the following guide:
cd nano .bashrc
Append the following lines to the end of the .bashrc file:
# Vitis Unified 2020.2 64-bit version if ! [ -x "$(command -v vivado)" ]; then source /projects/robin/programs/Vivado/2020.2/settings64.sh export PATH=$PATH:/projects/robin/programs/Vivado/2020.2/bin fi # License file export LM_LICENSE_FILE=5370@lisens.ifi.uio.no # Remove duplicants in the PATH variable PATH=$(printf "%s" "$PATH" | awk -v RS=':' '!a[$1]++ { if (NR > 1) printf RS; printf $1 }')
After you have added the latter and saved the .bashrc file, restart the terminal or 'source' the .bashrc file.
Other versions
If needed, you can also make use of older or newer versions of the Xilinx products. As of August 2020, we have 2016.4, 2018.3 and 2020.2 available.
License server
Licenses can be checked out from lisens.ifi.uio.no:
export LM_LICENSE_FILE=5370@lisens.ifi.uio.no
On Windows:
setx LM_LICENSE_FILE 5370@lisens.ifi.uio.no
NOTE: The license server only works from UiOs network.
Academic Xilinx FPGA tools
Python interface to Xilinx/EDK MHS: https://github.com/EPiCS/reconos/tree/master/tools
Bitstream Intepretation Library (Virtex5): https://github.com/florianbenz/bil
DeBit: http://code.google.com/p/debit/
TORC: http://torc-isi.sourceforge.net/
ReconOS: http://www.reconos.de
Having problems?
If you are having problems running the tools as mentioned, please ask a group teacher or send an mail to: robin-engineer at ifi.uio.no.
"command not found" => Not running .bashrc?
When running ssh from another linux system or Mac, it is possible that only .bash_profile is read, not .bashrc. This will typically lead to "command not found" when trying to launch vsim or any other program that should have been found in the path. This can be further confirmed by listing PATH or the MODELSIM variable
>>echo $PATH >>echo $MODELSIM
If they don't show traces of what you have put into .bashrc, it has not been run, or the variables have over-written later.
To ensure that the .bashrc is run when opening a new xterm or ssh'ing into a new server, append the following to your .bash_profile:
if [ -f ~/.bashrc ]; then source ~/.bashrc fi
You can also manually source .bashrc and then open a new xterm that can use vsim
>>source ~/.bashrc >>xterm &
This last solution will of course be a one-time only approach, since it doesn't change any configuration file.
Here is an article on how it became two configuration files rather than just one: www.joshstaiger.org/archives/2005/07/bash_profile_vs.html
Remote access with GUI
X11 forwarding is required to be able to see windows opened on a linux server. On windows, X-win32 can be used. For linux ssh -X or ssh -Y can be used, while on MAC you may need XQuartz or something similar to allow X11 forwarding. More on this can be found here.