Pre-Compiling Vendor Libraries
Overview
Running vendor specific testbenches may require pre-compiled vendor libraries. Some vendors ship their simulators with diverse pre-compiled libraries, but these don’t include primitive libraries from hardware vendors. More over, many auxillary libraries are outdated. Hardware vendors ship their tool chains with pre-compile scripts or user guides to pre-compile the primitive libraries for a list of supported simulators on a target system.
PoC is shipped with a set of pre-compile scripts to offer a unified interface
and common storage for all supported vendor’s pre-compile procedures. The scripts
are located in \tools\precompile\
and the output is stored in
\temp\precompiled\<Simulator>\<Library>
.
Supported Simulators
The current set of pre-compile scripts support these simulators:
Vendor |
Simulator and Edition |
Altera |
Lattice |
Xilinx (ISE) |
Xilinx (Vivado) |
---|---|---|---|---|---|
|
GHDL with |
yes |
yes |
yes |
yes |
Aldec |
Active-HDL (or Stududent Ed.) |
planned |
planned |
planned |
planned |
Mentor |
ModelSim PE (or Stududent Ed.) |
yes |
yes |
yes |
yes |
Xilinx |
ISE Simulator |
shipped |
not supported |
FPGA Vendor’s Primitive Libraries
Altera
Note
The Altera Quartus tool chain needs to be configured in PoC.
See Configuring PoC’s Infrastruture for further details.
On Linux
# Example 1 - Compile for all Simulators
./tools/precompile/compile-altera.sh --all
# Example 2 - Compile only for GHDL and VHDL-2008
./tools/precompile/compile-altera.sh --ghdl --vhdl2008
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
||
Compile for QuestaSim. |
||
GHDL only: Compile only for VHDL-93. |
||
GHDL only: Compile only for VHDL-2008. |
On Windows
# Example 1 - Compile for all Simulators
.\tools\precompile\compile-altera.ps1 -All
# Example 2 - Compile only for GHDL and VHDL-2008
.\tools\precompile\compile-altera.ps1 -GHDL -VHDL2008
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
||
Compile for QuestaSim. |
||
GHDL only: Compile only for VHDL-93. |
||
GHDL only: Compile only for VHDL-2008. |
Lattice
Note
The Lattice Diamond tool chain needs to be configured in PoC.
See Configuring PoC’s Infrastruture for further details.
On Linux
# Example 1 - Compile for all Simulators
./tools/precompile/compile-lattice.sh --all
# Example 2 - Compile only for GHDL and VHDL-2008
./tools/precompile/compile-lattice.sh --ghdl --vhdl2008
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
||
Compile for QuestaSim. |
||
GHDL only: Compile only for VHDL-93. |
||
GHDL only: Compile only for VHDL-2008. |
On Windows
# Example 1 - Compile for all Simulators
.\tools\precompile\compile-lattice.ps1 -All
# Example 2 - Compile only for GHDL and VHDL-2008
.\tools\precompile\compile-lattice.ps1 -GHDL -VHDL2008
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
||
Compile for QuestaSim. |
||
GHDL only: Compile only for VHDL-93. |
||
GHDL only: Compile only for VHDL-2008. |
Xilinx ISE
Note
The Xilinx ISE tool chain needs to be configured in PoC.
See Configuring PoC’s Infrastruture for further details.
On Linux
# Example 1 - Compile for all Simulators
./tools/precompile/compile-xilinx-ise.sh --all
# Example 2 - Compile only for GHDL and VHDL-2008
./tools/precompile/compile-xilinx-ise.sh --ghdl --vhdl2008
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
|
|
Compile for QuestaSim. |
|
|
GHDL only: Compile only for VHDL-93. |
|
|
GHDL only: Compile only for VHDL-2008. |
On Windows
# Example 1 - Compile for all Simulators
.\tools\precompile\compile-xilinx-ise.ps1 -All
# Example 2 - Compile only for GHDL and VHDL-2008
.\tools\precompile\compile-xilinx-ise.ps1 -GHDL -VHDL2008
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
|
|
Compile for QuestaSim. |
|
|
GHDL only: Compile only for VHDL-93. |
|
|
GHDL only: Compile only for VHDL-2008. |
Xilinx Vivado
Note
The Xilinx Vivado tool chain needs to be configured in PoC.
See Configuring PoC’s Infrastruture for further details.
On Linux
# Example 1 - Compile for all Simulators
./tools/precompile/compile-xilinx-vivado.sh --all
# Example 2 - Compile only for GHDL and VHDL-2008
./tools/precompile/compile-xilinx-vivado.sh --ghdl --vhdl2008
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
||
Compile for QuestaSim. |
||
GHDL only: Compile only for VHDL-93. |
||
GHDL only: Compile only for VHDL-2008. |
On Windows
# Example 1 - Compile for all Simulators
.\tools\precompile\compile-xilinx-vivado.ps1 -All
# Example 2 - Compile only for GHDL and VHDL-2008
.\tools\precompile\compile-xilinx-vivado.ps1 -GHDL -VHDL2008
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
||
Compile for QuestaSim. |
||
GHDL only: Compile only for VHDL-93. |
||
GHDL only: Compile only for VHDL-2008. |
Third-Party Libraries
OSVVM
On Linux
# Example 1 - Compile for all Simulators
./tools/precompile/compile-osvvm.sh --all
# Example 2 - Compile only for GHDL
./tools/precompile/compile-osvvm.sh --ghdl
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
||
Compile for QuestaSim. |
On Windows
# Example 1 - Compile for all Simulators
.\tools\precompile\compile-osvvm.ps1 -All
# Example 2 - Compile only for GHDL
.\tools\precompile\compile-osvvm.ps1 -GHDL
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
||
Compile for QuestaSim. |
UVVM
On Linux
# Example 1 - Compile for all Simulators
./tools/precompile/compile-uvvm.sh --all
# Example 2 - Compile only for GHDL
./tools/precompile/compile-uvvm.sh --ghdl
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
|
|
Compile for QuestaSim. |
On Windows
# Example 1 - Compile for all Simulators
.\tools\precompile\compile-uvvm.ps1 -All
# Example 2 - Compile only for GHDL
.\tools\precompile\compile-uvvm.ps1 -GHDL
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
|
|
Compile for QuestaSim. |
Simulator Adapters
Cocotb
On Linux
Attention
This is an experimental compile script.
# Example 1 - Compile for all Simulators
./tools/precompile/compile-cocotb.sh --all
# Example 2 - Compile only for GHDL
./tools/precompile/compile-cocotb.sh --ghdl
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
|
|
Compile for QuestaSim. |
On Windows
Attention
This is an experimental compile script.
# Example 1 - Compile for all Simulators
.\tools\precompile\compile-cocotb.ps1 -All
# Example 2 - Compile only for GHDL
.\tools\precompile\compile-cocotb.ps1 -GHDL
List of command line arguments:
Common Option |
Parameter Description |
|
---|---|---|
|
|
Print embedded help page(s). |
|
|
Clean-up directories. |
|
|
Compile for all simulators. |
|
Compile for GHDL. |
|
|
Compile for QuestaSim. |