aboutsummaryrefslogtreecommitdiffstats
path: root/libraries
diff options
context:
space:
mode:
authorPatrick Lehmann <Patrick.Lehmann@plc2.de>2018-03-11 01:38:14 +0100
committerTristan Gingold <tgingold@free.fr>2018-03-13 08:01:32 +0100
commit46c50154d351a1c01c26316d2589236a20a39405 (patch)
treeb3cd784b0a07fc79f8d37f90c690c4453850dc55 /libraries
parentf94f726d515bcf48c50752a3487441fad629ee13 (diff)
downloadghdl-46c50154d351a1c01c26316d2589236a20a39405.tar.gz
ghdl-46c50154d351a1c01c26316d2589236a20a39405.tar.bz2
ghdl-46c50154d351a1c01c26316d2589236a20a39405.zip
Removed VUnit pre-compile scripts from GHDL.
Fixes #353, #534, #528.
Diffstat (limited to 'libraries')
-rw-r--r--libraries/vendors/README.md47
-rwxr-xr-xlibraries/vendors/compile-vunit.sh250
-rw-r--r--libraries/vendors/config.psm111
-rw-r--r--libraries/vendors/config.sh9
4 files changed, 34 insertions, 283 deletions
diff --git a/libraries/vendors/README.md b/libraries/vendors/README.md
index 429cc54a5..b264b9c69 100644
--- a/libraries/vendors/README.md
+++ b/libraries/vendors/README.md
@@ -6,14 +6,14 @@ shipped with GHDL, but we offer prepared compile scripts to pre-compile the
vendor libraries, if the vendor tool is present on the computer.
There are also popular simulation and verification libraries like [OSVVM][osvvm]
-and [VUnit][vunit], which can be pre-compile, too.
+and [UVVM][uvvm], which can be pre-compile, too.
The compilation scripts are writen in the shell languages: PowerShell for Windows
and Bash for Linux. The compile scripts can colorize the GHDL warning and error
lines with the help of grc/grcat ([generic colourizer][grc]).
[osvvm]: http://osvvm.org/
- [vunit]: https://github.com/LarsAsplund/vunit
+ [uvvm]: https://github.com/UVVM/UVVM_All
[grc]: http://kassiopeia.juls.savba.sk/~garabik/software/grc.html
##### Supported Vendors Libraries
@@ -49,8 +49,17 @@ lines with the help of grc/grcat ([generic colourizer][grc]).
- OSVVM (for VHDL-2008)
- osvvm
- - VUnit (for VHDL-2008)
- - vunit_lib
+ - UVVM (for VHDL-2008)
+ - uvvm-utilities
+ - uvvm-vvc-framework
+ - uvvm-vip-avalon_mm
+ - uvvm-vip-axi_lite
+ - uvvm-vip-axi_stream
+ - uvvm-vip-gpio
+ - uvvm-vip-i2c
+ - uvvm-vip-sbi
+ - uvvm-vip-spi
+ - uvvm-vip-uart
---------------------------------------------------------------------
### Script Configuration
@@ -92,7 +101,7 @@ shortened to the essential parts.
$ /usr/local/lib/ghdl/vendors/compile-xilinx-ise.sh --all
$ /usr/local/lib/ghdl/vendors/compile-xilinx-vivado.sh --all
$ /usr/local/lib/ghdl/vendors/compile-osvvm.sh --all
- $ /usr/local/lib/ghdl/vendors/compile-vunit.sh --all
+ $ /usr/local/lib/ghdl/vendors/compile-uvvm.sh --all
```
In most cases GHDL is installed into `/usr/local/`. The scripts are
@@ -108,7 +117,7 @@ shortened to the essential parts.
drwxr-xr-x 2 <user> <group> 56K Nov 30 17:41 altera
drwxr-xr-x 2 <user> <group> 56K Nov 30 17:42 lattice
drwxr-xr-x 2 <user> <group> 56K Nov 30 17:48 osvvm
- drwxr-xr-x 2 <user> <group> 56K Nov 30 17:58 vunit
+ drwxr-xr-x 2 <user> <group> 56K Nov 30 17:58 uvvm
drwxr-xr-x 2 <user> <group> 56K Nov 30 17:58 xilinx-ise
drwxr-xr-x 2 <user> <group> 56K Nov 30 17:48 xilinx-vivado
```
@@ -132,7 +141,7 @@ shortened to the essential parts.
PS> <GHDL>\libraries\vendors\compile-xilinx-ise.ps1 -All
PS> <GHDL>\libraries\vendors\compile-xilinx-vivado.ps1 -All
PS> <GHDL>\libraries\vendors\compile-osvvm.ps1 -All
- PS> <GHDL>\libraries\vendors\compile-vunit.ps1 -All
+ PS> <GHDL>\libraries\vendors\compile-uvvm.ps1 -All
```
- **Step 3 - Viewing the result**
@@ -148,7 +157,7 @@ shortened to the essential parts.
d---- 20.11.2015 19:33 <DIR> altera
d---- 20.11.2015 19:38 <DIR> lattice
d---- 20.11.2015 19:38 <DIR> osvvm
- d---- 20.11.2015 19:45 <DIR> vunit_lib
+ d---- 20.11.2015 19:45 <DIR> uvvm
d---- 20.11.2015 19:06 <DIR> xilinx-ise
d---- 20.11.2015 19:40 <DIR> xilinx-vivado
```
@@ -165,12 +174,12 @@ directories. Use an empty string `""` for not installed tools.
`config.sh`:
```Bash
declare -A InstallationDirectory
-InstallationDirectory[AlteraQuartus]="/opt/Altera/16.0"
+InstallationDirectory[AlteraQuartus]="/opt/Altera/17.1"
InstallationDirectory[LatticeDiamond]="/opt/Diamond/3.8_x64"
InstallationDirectory[OSVVM]="/home/<user>/git/GitHub/osvvm"
-InstallationDirectory[VUnit]="/home/<user>/git/GitHub/vunit"
+InstallationDirectory[UVVM]="/home/<user>/git/GitHub/uvvm_all"
InstallationDirectory[XilinxISE]="/opt/Xilinx/14.7"
-InstallationDirectory[XilinxVivado]="/opt/Xilinx/Vivado/2016.3"
+InstallationDirectory[XilinxVivado]="/opt/Xilinx/Vivado/2017.4"
```
#### For Windows: `config.psm1`
@@ -182,12 +191,12 @@ folder. Use an empty string `""` for not installed tools.
`config.psm1`:
```PowerShell
$InstallationDirectory = @{
- "AlteraQuartus" = "C:\Altera\16.0";
+ "AlteraQuartus" = "C:\Altera\17.1";
"LatticeDiamond" = "C:\Lattice\Diamond\3.8_x64";
"XilinxISE" = "C:\Xilinx\14.7\ISE_DS";
- "XilinxVivado" = "C:\Xilinx\Vivado\2016.3";
+ "XilinxVivado" = "C:\Xilinx\Vivado\2017.4";
"OSVVM" = "D:\git\GitHub\osvvm";
- "VUnit" = "D:\git\GitHub\vunit"
+ "UVVM" = "D:\git\GitHub\uvvm_all"
}
```
@@ -245,11 +254,11 @@ $InstallationDirectory = @{
-a --all Compile all.
--osvvm Compile the OSVVM library.
- - `compile-vunit.sh`
+ - `compile-uvvm.sh`
Selectable libraries:
-a --all Compile all.
- --osvvm Compile the VUnit library.
+ --uvvm Compile the UVVM library.
### Selectable Options for the PowerShell Scripts:
@@ -300,12 +309,12 @@ $InstallationDirectory = @{
-All Compile all.
-OSVVM Compile the OSVVM library.
- - `compile-vunit.ps1`
+ - `compile-uvvm.ps1`
Selectable libraries:
-All Compile all.
- -VUnit Compile the VUnit library.
+ -UVVM Compile the UVVM library.
------------------------
Author: Patrick Lehmann
-Last update: 28.10.2016
+Last update: 11.03.2018
diff --git a/libraries/vendors/compile-vunit.sh b/libraries/vendors/compile-vunit.sh
deleted file mode 100755
index 69b3a5d45..000000000
--- a/libraries/vendors/compile-vunit.sh
+++ /dev/null
@@ -1,250 +0,0 @@
-#! /usr/bin/env bash
-# EMACS settings: -*- tab-width: 2; indent-tabs-mode: t -*-
-# vim: tabstop=2:shiftwidth=2:noexpandtab
-# kate: tab-width 2; replace-tabs off; indent-width 2;
-#
-# ==============================================================================
-# Authors: Patrick Lehmann
-#
-# Bash Script: Script to compile the VUnit library for GHDL on Linux
-#
-# Description:
-# ------------------------------------
-# This is a Bash script (executable) which:
-# - creates a subdirectory in the current working directory
-# - compiles all VUnit packages
-#
-# ==============================================================================
-# Copyright (C) 2015-2016 Patrick Lehmann - Dresden, Germany
-#
-# GHDL is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation; either version 2, or (at your option) any later
-# version.
-#
-# GHDL is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GHDL; see the file COPYING. If not, write to the Free
-# Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-# ==============================================================================
-
-# ---------------------------------------------
-# work around for Darwin (Mac OS)
-READLINK=readlink; if [[ $(uname) == "Darwin" ]]; then READLINK=greadlink; fi
-
-# save working directory
-WorkingDir=$(pwd)
-ScriptDir="$(dirname $0)"
-ScriptDir="$($READLINK -f $ScriptDir)"
-
-# source configuration file from GHDL's 'vendors' library directory
-. $ScriptDir/../ansi_color.sh
-. $ScriptDir/config.sh
-. $ScriptDir/shared.sh
-
-# command line argument processing
-NO_COMMAND=1
-SUPPRESS_WARNINGS=0
-HALT_ON_ERROR=0
-GHDLBinDir=""
-DestDir=""
-SrcDir=""
-while [[ $# > 0 ]]; do
- key="$1"
- case $key in
- -c|--clean)
- CLEAN=TRUE
- NO_COMMAND=0
- ;;
- -a|--all)
- COMPILE_ALL=TRUE
- NO_COMMAND=0
- ;;
- --vunit)
- COMPILE_VUNIT=TRUE
- NO_COMMAND=0
- ;;
- -h|--help)
- HELP=TRUE
- NO_COMMAND=0
- ;;
- -n|--no-warnings)
- SUPPRESS_WARNINGS=1
- ;;
- -H|--halt-on-error)
- HALT_ON_ERROR=1
- ;;
- --ghdl)
- GHDLBinDir="$2"
- shift # skip argument
- ;;
- --src)
- SrcDir="$2"
- shift # skip argument
- ;;
- --out)
- DestDir="$2"
- shift # skip argument
- ;;
- *) # unknown option
- echo 1>&2 -e "${COLORED_ERROR} Unknown command line option '$key'.${ANSI_NOCOLOR}"
- exit -1
- ;;
- esac
- shift # past argument or value
-done
-
-# makes no sense to enable it for VUnit
-SKIP_EXISTING_FILES=0
-
-if [ $NO_COMMAND -eq 1 ]; then
- HELP=TRUE
-fi
-
-if [ "$HELP" == "TRUE" ]; then
- test $NO_COMMAND -eq 1 && echo 1>&2 -e "\n${COLORED_ERROR} No command selected."
- echo ""
- echo "Synopsis:"
- echo " A script to compile the simulation library 'vunit_lib' for GHDL on Linux."
- echo " A library folder 'vunit_lib/v08' will be created relative to the current"
- echo " working directory."
- echo ""
- echo " Use the adv. options or edit 'config.sh' to supply paths and default params."
- echo ""
- echo "Usage:"
- echo " compile-vunit.sh <common command>|<library> [<options>] [<adv. options>]"
- echo ""
- echo "Common commands:"
- echo " -h --help Print this help page"
- echo " -c --clean Remove all generated files"
- echo ""
- echo "Libraries:"
- echo " -a --all Compile all libraries."
- echo " --vunit Compile library vunit_lib."
- echo ""
- echo "Library compile options:"
- echo " -H --halt-on-error Halt on error(s)."
- echo ""
- echo "Advanced options:"
- echo " --ghdl <GHDL bin dir> Path to GHDL's binary directory, e.g. /usr/local/bin"
- echo " --out <dir name> Name of the output directory, e.g. vunit_lib"
- echo " --src <Path to VUnit> Path to the sources."
- echo ""
- echo "Verbosity:"
- echo " -n --no-warnings Suppress all warnings. Show only error messages."
- echo ""
- exit 0
-fi
-
-if [ "$COMPILE_ALL" == "TRUE" ]; then
- COMPILE_VUNIT=TRUE
-fi
-
-# -> $SourceDirectories
-# -> $DestinationDirectories
-# -> $SrcDir
-# -> $DestDir
-# -> $GHDLBinDir
-# <= $SourceDirectory
-# <= $DestinationDirectory
-# <= $GHDLBinary
-SetupDirectories VUnit "VUnit"
-
-# create "vunit_lib" directory and change to it
-# => $DestinationDirectory
-CreateDestinationDirectory
-cd $DestinationDirectory
-
-
-# => $SUPPRESS_WARNINGS
-# <= $GRC_COMMAND
-SetupGRCat
-
-
-# define global GHDL Options
-GHDL_OPTIONS=(-fexplicit -frelaxed-rules --no-vital-checks --warn-binding --mb-comments)
-
-
-# Cleanup directory
-# ==============================================================================
-if [ "$CLEAN" == "TRUE" ]; then
- echo -e "${ANSI_YELLOW}Cleaning up vendor directory ...${ANSI_NOCOLOR}"
- rm *.o 2> /dev/null
- rm *.cf 2> /dev/null
-fi
-
-# Library vunit_lib
-# ==============================================================================
-# compile vunit packages
-ERRORCOUNT=0
-if [ "$COMPILE_VUNIT" == "TRUE" ]; then
- Library="vunit_lib"
- VHDLVersion="v08"
- Files=(
- core/src/stop_api.vhd
- vhdl/src/lang/lang.vhd
- com/src/com_types.vhd
- core/src/stop_body_2008.vhd
- core/src/core_pkg.vhd
- com/src/com_api.vhd
- string_ops/src/string_ops.vhd
- path/src/path.vhd
- logging/src/log_types.vhd
- logging/src/log_formatting.vhd
- logging/src/log_special_types200x.vhd
- array/src/integer_vector_ptr_pkg.vhd
- array/src/integer_array_pkg.vhd
- array/src/array_pkg.vhd
- logging/src/log_base_api.vhd
- logging/src/log_base.vhd
- logging/src/log_api.vhd
- logging/src/log.vhd
- check/src/check_types.vhd
- check/src/check_special_types200x.vhd
- check/src/check_base_api.vhd
- check/src/check_base.vhd
- check/src/check_api.vhd
- check/src/check.vhd
- dictionary/src/dictionary.vhd
- run/src/run_types.vhd
- run/src/run_special_types200x.vhd
- run/src/run_base_api.vhd
- run/src/run_base.vhd
- run/src/run_api.vhd
- run/src/run.vhd
- vunit_run_context.vhd
- vunit_context.vhd
- com/src/com_std_codec_builder.vhd
- com/src/com_debug_codec_builder.vhd
- com/src/com_string.vhd
- com/src/com_codec_api.vhd
- com/src/com_codec.vhd
- com/src/com.vhd
- com/src/com_context.vhd
- )
-
- # append absolute source path
- SourceFiles=()
- for File in ${Files[@]}; do
- SourceFiles+=("$SourceDirectory/$File")
- done
-
- # create local set of GHDL parameters
- GHDL_PARAMS=(${GHDL_OPTIONS[@]})
- GHDL_PARAMS+=(--std=08)
-
- GHDLCompilePackages
-fi
-
-echo "--------------------------------------------------------------------------------"
-echo -n "Compiling VUnit packages "
-if [ $ERRORCOUNT -gt 0 ]; then
- echo -e $COLORED_FAILED
-else
- echo -e $COLORED_SUCCESSFUL
-fi
diff --git a/libraries/vendors/config.psm1 b/libraries/vendors/config.psm1
index 59e0a3ea9..c04223a90 100644
--- a/libraries/vendors/config.psm1
+++ b/libraries/vendors/config.psm1
@@ -14,7 +14,7 @@
#
# ==============================================================================
# Copyright (C) 2015-2016 Patrick Lehmann - Dresden, Germany
-# Copyright (C) 2017 Patrick Lehmann - Freiburg, Germany
+# Copyright (C) 2017-2018 Patrick Lehmann - Freiburg, Germany
#
# GHDL is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
@@ -48,7 +48,7 @@ $Settings = @{
"DestinationDirectory" = "altera"
};
"IntelQuartus" = @{
- "InstallationDirectory" = ""; # "C:\IntelFPGA\17.0\quartus";
+ "InstallationDirectory" = ""; # "C:\IntelFPGA\17.1\quartus";
"SourceDirectory" = "eda\sim_lib";
"DestinationDirectory" = "intel"
};
@@ -67,18 +67,13 @@ $Settings = @{
"SourceDirectory" = ".";
"DestinationDirectory" = "."
};
- "VUnit" = @{
- "InstallationDirectory" = ""; # "C:\git\GitHub\vunit";
- "SourceDirectory" = "vunit\vhdl";
- "DestinationDirectory" = "."
- };
"XilinxISE" = @{
"InstallationDirectory" = ""; # "C:\Xilinx\14.7\ISE_DS";
"SourceDirectory" = "ISE\vhdl\src";
"DestinationDirectory" = "xilinx-ise"
};
"XilinxVivado" = @{
- "InstallationDirectory" = ""; # "C:\Xilinx\Vivado\2017.1";
+ "InstallationDirectory" = ""; # "C:\Xilinx\Vivado\2017.4";
"SourceDirectory" = "data\vhdl\src";
"DestinationDirectory" = "xilinx-vivado"
}
diff --git a/libraries/vendors/config.sh b/libraries/vendors/config.sh
index f016917ca..87dbd770d 100644
--- a/libraries/vendors/config.sh
+++ b/libraries/vendors/config.sh
@@ -14,7 +14,7 @@
#
# ==============================================================================
# Copyright (C) 2015-2016 Patrick Lehmann - Dresden, Germany
-# Copyright (C) 2017 Patrick Lehmann - Freiburg, Germany
+# Copyright (C) 2017-2018 Patrick Lehmann - Freiburg, Germany
#
# GHDL is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
@@ -42,13 +42,12 @@
# compile script. Empty strings means not configured.
declare -A InstallationDirectories
InstallationDirectories[AlteraQuartus]="" # "/opt/altera/16.0/quartus"
-InstallationDirectories[IntelQuartus]="" # "/opt/intelFPGA/17.0/quartus"
+InstallationDirectories[IntelQuartus]="" # "/opt/intelFPGA/17.1/quartus"
InstallationDirectories[LatticeDiamond]="" # "/usr/local/diamond/3.7_x64"
InstallationDirectories[OSVVM]="" # "~/git/github/osvvm"
InstallationDirectories[UVVM]="" # "~/git/github/uvvm_all"
-InstallationDirectories[VUnit]="" # "~/git/github/vunit"
InstallationDirectories[XilinxISE]="" # "/opt/Xilinx/14.7/ISE_DS/ISE"
-InstallationDirectories[XilinxVivado]="" # "/opt/Xilinx/Vivado/2016.2"
+InstallationDirectories[XilinxVivado]="" # "/opt/Xilinx/Vivado/2017.4"
# Configure preferred output directories for each library set:
declare -A DestinationDirectories
@@ -57,7 +56,6 @@ DestinationDirectories[IntelQuartus]="intel"
DestinationDirectories[LatticeDiamond]="lattice"
DestinationDirectories[OSVVM]="." # "osvvm"
DestinationDirectories[UVVM]="."
-DestinationDirectories[VUnit]="." # "vunit_lib"
DestinationDirectories[XilinxISE]="xilinx-ise"
DestinationDirectories[XilinxVivado]="xilinx-vivado"
@@ -68,7 +66,6 @@ SourceDirectories[IntelQuartus]="eda/sim_lib"
SourceDirectories[LatticeDiamond]="cae_library/simulation/vhdl"
SourceDirectories[OSVVM]="."
SourceDirectories[UVVM]="."
-SourceDirectories[VUnit]="vunit/vhdl"
SourceDirectories[XilinxISE]="vhdl/src"
SourceDirectories[XilinxVivado]="data/vhdl/src"