.. _USING:PreCompile: Pre-Compiling Vendor Libraries ############################## .. contents:: Contents of this Page :local: :depth: 2 :backlinks: entry .. index:: single: Pre-compilation .. _USING:PreCompile:Over: 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\\``. .. index:: pair: Pre-compilation; Supported Simulators .. _USING:PreCompile:Simulators: Supported Simulators ******************** The current set of pre-compile scripts support these simulators: +------------------+--------------------------------------+--------------+--------------+-----------------+----------------------+ | Vendor | Simulator and Edition | Altera | Lattice | Xilinx (ISE) | Xilinx (Vivado) | +==================+======================================+==============+==============+=================+======================+ | T. Gingold |br| | GHDL with ``--std=93c`` |br| | yes |br| | yes |br| | yes |br| | yes |br| | | | GHDL with ``--std=08`` | yes | yes | yes | yes | +------------------+--------------------------------------+--------------+--------------+-----------------+----------------------+ | Aldec |br| | Active-HDL (or Stududent Ed.) |br| | planned |br| | planned |br| | planned |br| | planned |br| | | |br| | Active-HDL Lattice Ed. |br| | planned |br| | shipped |br| | planned |br| | planned |br| | | | Reviera-PRO | planned | planned | planned | planned | +------------------+--------------------------------------+--------------+--------------+-----------------+----------------------+ | Mentor |br| | ModelSim PE (or Stududent Ed.) |br| | yes |br| | yes |br| | yes |br| | yes |br| | | |br| | ModelSim SE |br| | yes |br| | yes |br| | yes |br| | yes |br| | | |br| | ModelSim Altera Ed. |br| | shipped |br| | yes |br| | yes |br| | yes |br| | | | QuestaSim | yes | yes | yes | yes | +------------------+--------------------------------------+--------------+--------------+-----------------+----------------------+ | Xilinx |br| | ISE Simulator |br| | | | shipped |br| | not supported |br| | | | Vivado Simulator | | | not supported | shipped | +------------------+--------------------------------------+--------------+--------------+-----------------+----------------------+ .. index:: pair: Pre-compilation; Vendor Primitives .. _USING:PreCompile:Primitives: FPGA Vendor's Primitive Libraries **************************************************************************************************************************************************************** .. # =========================================================================================================================================================== .. index:: pair: Pre-compilation; Altera .. _USING:PreCompile:Primitives:Altera: Altera ====== .. note:: The Altera Quartus tool chain needs to be configured in PoC. |br| See :ref:`Configuring PoC's Infrastruture ` for further details. On Linux -------- .. code-block:: Bash # 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:** .. |c-altera-sh-h| replace:: :option:`-h ` .. |c-altera-sh-c| replace:: :option:`-c ` .. |c-altera-sh-a| replace:: :option:`-a ` .. |c-altera-sh-help| replace:: :option:`--help ` .. |c-altera-sh-clean| replace:: :option:`--clean ` .. |c-altera-sh-all| replace:: :option:`--all ` .. |c-altera-sh-ghdl| replace:: :option:`--ghdl ` .. |c-altera-sh-questa| replace:: :option:`--questa ` .. |c-altera-sh-vhdl93| replace:: :option:`--vhdl93 ` .. |c-altera-sh-vhdl08| replace:: :option:`--vhdl2008 ` +------------------------------------------+---------------------------------------------------------------------------+ | Common Option | Parameter Description | +==================+=======================+===========================================================================+ | |c-altera-sh-h| | |c-altera-sh-help| | Print embedded help page(s). | +------------------+-----------------------+---------------------------------------------------------------------------+ | |c-altera-sh-c| | |c-altera-sh-clean| | Clean-up directories. | +------------------+-----------------------+---------------------------------------------------------------------------+ | |c-altera-sh-a| | |c-altera-sh-all| | Compile for all simulators. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-altera-sh-ghdl| | Compile for GHDL. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-altera-sh-questa| | Compile for QuestaSim. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-altera-sh-vhdl93| | GHDL only: Compile only for VHDL-93. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-altera-sh-vhdl08| | GHDL only: Compile only for VHDL-2008. | +------------------+-----------------------+---------------------------------------------------------------------------+ On Windows ---------- .. code-block:: PowerShell # 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:** .. |c-altera-ps-h| replace:: ``-h`` .. |c-altera-ps-c| replace:: ``-c`` .. |c-altera-ps-a| replace:: ``-a`` .. |c-altera-ps-help| replace:: :option:`-Help ` .. |c-altera-ps-clean| replace:: :option:`-Clean ` .. |c-altera-ps-all| replace:: :option:`-All ` .. |c-altera-ps-ghdl| replace:: :option:`-GHDL ` .. |c-altera-ps-questa| replace:: :option:`-Questa ` .. |c-altera-ps-vhdl93| replace:: :option:`-VHDL93 ` .. |c-altera-ps-vhdl08| replace:: :option:`-VHDL2008 ` +------------------------------------------+---------------------------------------------------------------------------+ | Common Option | Parameter Description | +==================+=======================+===========================================================================+ | |c-altera-ps-h| | |c-altera-ps-help| | Print embedded help page(s). | +------------------+-----------------------+---------------------------------------------------------------------------+ | |c-altera-ps-c| | |c-altera-ps-clean| | Clean-up directories. | +------------------+-----------------------+---------------------------------------------------------------------------+ | |c-altera-ps-a| | |c-altera-ps-all| | Compile for all simulators. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-altera-ps-ghdl| | Compile for GHDL. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-altera-ps-questa| | Compile for QuestaSim. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-altera-ps-vhdl93| | GHDL only: Compile only for VHDL-93. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-altera-ps-vhdl08| | GHDL only: Compile only for VHDL-2008. | +------------------+-----------------------+---------------------------------------------------------------------------+ .. # =========================================================================================================================================================== .. index:: pair: Pre-compilation; Lattice .. _USING:PreCompile:Primitives:Lattice: Lattice ======== .. note:: The Lattice Diamond tool chain needs to be configured in PoC. |br| See :ref:`Configuring PoC's Infrastruture ` for further details. On Linux -------- .. code-block:: Bash # 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:** .. |c-lattice-sh-h| replace:: :option:`-h ` .. |c-lattice-sh-c| replace:: :option:`-c ` .. |c-lattice-sh-a| replace:: :option:`-a ` .. |c-lattice-sh-help| replace:: :option:`--help ` .. |c-lattice-sh-clean| replace:: :option:`--clean ` .. |c-lattice-sh-all| replace:: :option:`--all ` .. |c-lattice-sh-ghdl| replace:: :option:`--ghdl ` .. |c-lattice-sh-questa| replace:: :option:`--questa ` .. |c-lattice-sh-vhdl93| replace:: :option:`--vhdl93 ` .. |c-lattice-sh-vhdl08| replace:: :option:`--vhdl2008 ` +--------------------------------------------+-------------------------------------------------------------------------+ | Common Option | Parameter Description | +===================+========================+=========================================================================+ | |c-lattice-sh-h| | |c-lattice-sh-help| | Print embedded help page(s). | +-------------------+------------------------+-------------------------------------------------------------------------+ | |c-lattice-sh-c| | |c-lattice-sh-clean| | Clean-up directories. | +-------------------+------------------------+-------------------------------------------------------------------------+ | |c-lattice-sh-a| | |c-lattice-sh-all| | Compile for all simulators. | +-------------------+------------------------+-------------------------------------------------------------------------+ | | |c-lattice-sh-ghdl| | Compile for GHDL. | +-------------------+------------------------+-------------------------------------------------------------------------+ | | |c-lattice-sh-questa| | Compile for QuestaSim. | +-------------------+------------------------+-------------------------------------------------------------------------+ | | |c-lattice-sh-vhdl93| | GHDL only: Compile only for VHDL-93. | +-------------------+------------------------+-------------------------------------------------------------------------+ | | |c-lattice-sh-vhdl08| | GHDL only: Compile only for VHDL-2008. | +-------------------+------------------------+-------------------------------------------------------------------------+ On Windows ---------- .. code-block:: PowerShell # 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:** .. |c-lattice-ps-h| replace:: ``-h`` .. |c-lattice-ps-c| replace:: ``-c`` .. |c-lattice-ps-a| replace:: ``-a`` .. |c-lattice-ps-help| replace:: :option:`-Help ` .. |c-lattice-ps-clean| replace:: :option:`-Clean ` .. |c-lattice-ps-all| replace:: :option:`-All ` .. |c-lattice-ps-ghdl| replace:: :option:`-GHDL ` .. |c-lattice-ps-questa| replace:: :option:`-Questa ` .. |c-lattice-ps-vhdl93| replace:: :option:`-VHDL93 ` .. |c-lattice-ps-vhdl08| replace:: :option:`-VHDL2008 ` +--------------------------------------------+-------------------------------------------------------------------------+ | Common Option | Parameter Description | +===================+========================+=========================================================================+ | |c-lattice-ps-h| | |c-lattice-ps-help| | Print embedded help page(s). | +-------------------+------------------------+-------------------------------------------------------------------------+ | |c-lattice-ps-c| | |c-lattice-ps-clean| | Clean-up directories. | +-------------------+------------------------+-------------------------------------------------------------------------+ | |c-lattice-ps-a| | |c-lattice-ps-all| | Compile for all simulators. | +-------------------+------------------------+-------------------------------------------------------------------------+ | | |c-lattice-ps-ghdl| | Compile for GHDL. | +-------------------+------------------------+-------------------------------------------------------------------------+ | | |c-lattice-ps-questa| | Compile for QuestaSim. | +-------------------+------------------------+-------------------------------------------------------------------------+ | | |c-lattice-ps-vhdl93| | GHDL only: Compile only for VHDL-93. | +-------------------+------------------------+-------------------------------------------------------------------------+ | | |c-lattice-ps-vhdl08| | GHDL only: Compile only for VHDL-2008. | +-------------------+------------------------+-------------------------------------------------------------------------+ .. # =========================================================================================================================================================== .. index:: pair: Pre-compilation; Xilinx ISE .. _USING:PreCompile:Primitives:XilinxISE: Xilinx ISE ========== .. note:: The Xilinx ISE tool chain needs to be configured in PoC. |br| See :ref:`Configuring PoC's Infrastruture ` for further details. On Linux -------- .. code-block:: Bash # 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:** .. |c-ise-sh-h| replace:: :option:`-h ` .. |c-ise-sh-c| replace:: :option:`-c ` .. |c-ise-sh-a| replace:: :option:`-a ` .. |c-ise-sh-help| replace:: :option:`--help ` .. |c-ise-sh-clean| replace:: :option:`--clean ` .. |c-ise-sh-all| replace:: :option:`--all ` .. |c-ise-sh-ghdl| replace:: :option:`--ghdl ` .. |c-ise-sh-questa| replace:: :option:`--questa ` .. |c-ise-sh-vhdl93| replace:: :option:`--vhdl93 ` .. |c-ise-sh-vhdl08| replace:: :option:`--vhdl2008 ` +------------------------------------+---------------------------------------------------------------------------------+ | Common Option | Parameter Description | +===============+====================+=================================================================================+ | |c-ise-sh-h| | |c-ise-sh-help| | Print embedded help page(s). | +---------------+--------------------+---------------------------------------------------------------------------------+ | |c-ise-sh-c| | |c-ise-sh-clean| | Clean-up directories. | +---------------+--------------------+---------------------------------------------------------------------------------+ | |c-ise-sh-a| | |c-ise-sh-all| | Compile for all simulators. | +---------------+--------------------+---------------------------------------------------------------------------------+ | | |c-ise-sh-ghdl| | Compile for GHDL. | +---------------+--------------------+---------------------------------------------------------------------------------+ | | |c-ise-sh-questa| | Compile for QuestaSim. | +---------------+--------------------+---------------------------------------------------------------------------------+ | | |c-ise-sh-vhdl93| | GHDL only: Compile only for VHDL-93. | +---------------+--------------------+---------------------------------------------------------------------------------+ | | |c-ise-sh-vhdl08| | GHDL only: Compile only for VHDL-2008. | +---------------+--------------------+---------------------------------------------------------------------------------+ On Windows ---------- .. code-block:: PowerShell # 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:** .. |c-ise-ps-h| replace:: ``-h`` .. |c-ise-ps-c| replace:: ``-c`` .. |c-ise-ps-a| replace:: ``-a`` .. |c-ise-ps-help| replace:: :option:`-Help ` .. |c-ise-ps-clean| replace:: :option:`-Clean ` .. |c-ise-ps-all| replace:: :option:`-All ` .. |c-ise-ps-ghdl| replace:: :option:`-GHDL ` .. |c-ise-ps-questa| replace:: :option:`-Questa ` .. |c-ise-ps-vhdl93| replace:: :option:`-VHDL93 ` .. |c-ise-ps-vhdl08| replace:: :option:`-VHDL2008 ` +------------------------------------+---------------------------------------------------------------------------------+ | Common Option | Parameter Description | +===============+====================+=================================================================================+ | |c-ise-ps-h| | |c-ise-ps-help| | Print embedded help page(s). | +---------------+--------------------+---------------------------------------------------------------------------------+ | |c-ise-ps-c| | |c-ise-ps-clean| | Clean-up directories. | +---------------+--------------------+---------------------------------------------------------------------------------+ | |c-ise-ps-a| | |c-ise-ps-all| | Compile for all simulators. | +---------------+--------------------+---------------------------------------------------------------------------------+ | | |c-ise-ps-ghdl| | Compile for GHDL. | +---------------+--------------------+---------------------------------------------------------------------------------+ | | |c-ise-ps-questa| | Compile for QuestaSim. | +---------------+--------------------+---------------------------------------------------------------------------------+ | | |c-ise-ps-vhdl93| | GHDL only: Compile only for VHDL-93. | +---------------+--------------------+---------------------------------------------------------------------------------+ | | |c-ise-ps-vhdl08| | GHDL only: Compile only for VHDL-2008. | +---------------+--------------------+---------------------------------------------------------------------------------+ .. # =========================================================================================================================================================== .. index:: pair: Pre-compilation; Xilinx Vivado .. _USING:PreCompile:Primitives:XilinxVivado Xilinx Vivado ============= .. note:: The Xilinx Vivado tool chain needs to be configured in PoC. |br| See :ref:`Configuring PoC's Infrastruture ` for further details. On Linux -------- .. code-block:: Bash # 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:** .. |c-vivado-sh-h| replace:: :option:`-h ` .. |c-vivado-sh-c| replace:: :option:`-c ` .. |c-vivado-sh-a| replace:: :option:`-a ` .. |c-vivado-sh-help| replace:: :option:`--help ` .. |c-vivado-sh-clean| replace:: :option:`--clean ` .. |c-vivado-sh-all| replace:: :option:`--all ` .. |c-vivado-sh-ghdl| replace:: :option:`--ghdl ` .. |c-vivado-sh-questa| replace:: :option:`--questa ` .. |c-vivado-sh-vhdl93| replace:: :option:`--vhdl93 ` .. |c-vivado-sh-vhdl08| replace:: :option:`--vhdl2008 ` +------------------------------------------+---------------------------------------------------------------------------+ | Common Option | Parameter Description | +==================+=======================+===========================================================================+ | |c-vivado-sh-h| | |c-vivado-sh-help| | Print embedded help page(s). | +------------------+-----------------------+---------------------------------------------------------------------------+ | |c-vivado-sh-c| | |c-vivado-sh-clean| | Clean-up directories. | +------------------+-----------------------+---------------------------------------------------------------------------+ | |c-vivado-sh-a| | |c-vivado-sh-all| | Compile for all simulators. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-vivado-sh-ghdl| | Compile for GHDL. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-vivado-sh-questa| | Compile for QuestaSim. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-vivado-sh-vhdl93| | GHDL only: Compile only for VHDL-93. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-vivado-sh-vhdl08| | GHDL only: Compile only for VHDL-2008. | +------------------+-----------------------+---------------------------------------------------------------------------+ On Windows ---------- .. code-block:: PowerShell # 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:** .. |c-vivado-ps-h| replace:: ``-h`` .. |c-vivado-ps-c| replace:: ``-c`` .. |c-vivado-ps-a| replace:: ``-a`` .. |c-vivado-ps-help| replace:: :option:`-Help ` .. |c-vivado-ps-clean| replace:: :option:`-Clean ` .. |c-vivado-ps-all| replace:: :option:`-All ` .. |c-vivado-ps-ghdl| replace:: :option:`-GHDL ` .. |c-vivado-ps-questa| replace:: :option:`-Questa ` .. |c-vivado-ps-vhdl93| replace:: :option:`-VHDL93 ` .. |c-vivado-ps-vhdl08| replace:: :option:`-VHDL2008 ` +------------------------------------------+---------------------------------------------------------------------------+ | Common Option | Parameter Description | +==================+=======================+===========================================================================+ | |c-vivado-ps-h| | |c-vivado-ps-help| | Print embedded help page(s). | +------------------+-----------------------+---------------------------------------------------------------------------+ | |c-vivado-ps-c| | |c-vivado-ps-clean| | Clean-up directories. | +------------------+-----------------------+---------------------------------------------------------------------------+ | |c-vivado-ps-a| | |c-vivado-ps-all| | Compile for all simulators. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-vivado-ps-ghdl| | Compile for GHDL. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-vivado-ps-questa| | Compile for QuestaSim. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-vivado-ps-vhdl93| | GHDL only: Compile only for VHDL-93. | +------------------+-----------------------+---------------------------------------------------------------------------+ | | |c-vivado-ps-vhdl08| | GHDL only: Compile only for VHDL-2008. | +------------------+-----------------------+---------------------------------------------------------------------------+ .. # =========================================================================================================================================================== .. index:: pair: Pre-compilation; Third-Party Libraries .. _USING:PreCompile:ThirdParty: Third-Party Libraries **************************************************************************************************************************************************************** .. # =========================================================================================================================================================== .. index:: pair: Pre-compilation; OSVVM .. _USING:PreCompile:ThirdParty:OSVVM: OSVVM ===== On Linux -------- .. code-block:: Bash # 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:** .. |c-osvvm-sh-h| replace:: :option:`-h ` .. |c-osvvm-sh-c| replace:: :option:`-c ` .. |c-osvvm-sh-a| replace:: :option:`-a ` .. |c-osvvm-sh-help| replace:: :option:`--help ` .. |c-osvvm-sh-clean| replace:: :option:`--clean ` .. |c-osvvm-sh-all| replace:: :option:`--all ` .. |c-osvvm-sh-ghdl| replace:: :option:`--ghdl ` .. |c-osvvm-sh-questa| replace:: :option:`--questa ` +----------------------------------------+-----------------------------------------------------------------------------+ | Common Option | Parameter Description | +=================+======================+=============================================================================+ | |c-osvvm-sh-h| | |c-osvvm-sh-help| | Print embedded help page(s). | +-----------------+----------------------+-----------------------------------------------------------------------------+ | |c-osvvm-sh-c| | |c-osvvm-sh-clean| | Clean-up directories. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | |c-osvvm-sh-a| | |c-osvvm-sh-all| | Compile for all simulators. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | | |c-osvvm-sh-ghdl| | Compile for GHDL. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | | |c-osvvm-sh-questa| | Compile for QuestaSim. | +-----------------+----------------------+-----------------------------------------------------------------------------+ On Windows ---------- .. code-block:: PowerShell # 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:** .. |c-osvvm-ps-h| replace:: ``-h`` .. |c-osvvm-ps-c| replace:: ``-c`` .. |c-osvvm-ps-a| replace:: ``-a`` .. |c-osvvm-ps-help| replace:: :option:`-Help ` .. |c-osvvm-ps-clean| replace:: :option:`-Clean ` .. |c-osvvm-ps-all| replace:: :option:`-All ` .. |c-osvvm-ps-ghdl| replace:: :option:`-GHDL ` .. |c-osvvm-ps-questa| replace:: :option:`-Questa ` +----------------------------------------+-----------------------------------------------------------------------------+ | Common Option | Parameter Description | +=================+======================+=============================================================================+ | |c-osvvm-ps-h| | |c-osvvm-ps-help| | Print embedded help page(s). | +-----------------+----------------------+-----------------------------------------------------------------------------+ | |c-osvvm-ps-c| | |c-osvvm-ps-clean| | Clean-up directories. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | |c-osvvm-ps-a| | |c-osvvm-ps-all| | Compile for all simulators. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | | |c-osvvm-ps-ghdl| | Compile for GHDL. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | | |c-osvvm-ps-questa| | Compile for QuestaSim. | +-----------------+----------------------+-----------------------------------------------------------------------------+ .. # =========================================================================================================================================================== .. index:: pair: Pre-compilation; UVVM .. _USING:PreCompile:ThirdParty:UVVM: UVVM ==== On Linux -------- .. code-block:: Bash # 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:** .. |c-uvvm-sh-h| replace:: :option:`-h ` .. |c-uvvm-sh-c| replace:: :option:`-c ` .. |c-uvvm-sh-a| replace:: :option:`-a ` .. |c-uvvm-sh-help| replace:: :option:`--help ` .. |c-uvvm-sh-clean| replace:: :option:`--clean ` .. |c-uvvm-sh-all| replace:: :option:`--all ` .. |c-uvvm-sh-ghdl| replace:: :option:`--ghdl ` .. |c-uvvm-sh-questa| replace:: :option:`--questa ` +--------------------------------------+-------------------------------------------------------------------------------+ | Common Option | Parameter Description | +================+=====================+===============================================================================+ | |c-uvvm-sh-h| | |c-uvvm-sh-help| | Print embedded help page(s). | +----------------+---------------------+-------------------------------------------------------------------------------+ | |c-uvvm-sh-c| | |c-uvvm-sh-clean| | Clean-up directories. | +----------------+---------------------+-------------------------------------------------------------------------------+ | |c-uvvm-sh-a| | |c-uvvm-sh-all| | Compile for all simulators. | +----------------+---------------------+-------------------------------------------------------------------------------+ | | |c-uvvm-sh-ghdl| | Compile for GHDL. | +----------------+---------------------+-------------------------------------------------------------------------------+ | | |c-uvvm-sh-questa| | Compile for QuestaSim. | +----------------+---------------------+-------------------------------------------------------------------------------+ On Windows ---------- .. code-block:: PowerShell # 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:** .. |c-uvvm-ps-h| replace:: ``-h`` .. |c-uvvm-ps-c| replace:: ``-c`` .. |c-uvvm-ps-a| replace:: ``-a`` .. |c-uvvm-ps-help| replace:: :option:`-Help ` .. |c-uvvm-ps-clean| replace:: :option:`-Clean ` .. |c-uvvm-ps-all| replace:: :option:`-All ` .. |c-uvvm-ps-ghdl| replace:: :option:`-GHDL ` .. |c-uvvm-ps-questa| replace:: :option:`-Questa ` +--------------------------------------+-------------------------------------------------------------------------------+ | Common Option | Parameter Description | +================+=====================+===============================================================================+ | |c-uvvm-ps-h| | |c-uvvm-ps-help| | Print embedded help page(s). | +----------------+---------------------+-------------------------------------------------------------------------------+ | |c-uvvm-ps-c| | |c-uvvm-ps-clean| | Clean-up directories. | +----------------+---------------------+-------------------------------------------------------------------------------+ | |c-uvvm-ps-a| | |c-uvvm-ps-all| | Compile for all simulators. | +----------------+---------------------+-------------------------------------------------------------------------------+ | | |c-uvvm-ps-ghdl| | Compile for GHDL. | +----------------+---------------------+-------------------------------------------------------------------------------+ | | |c-uvvm-ps-questa| | Compile for QuestaSim. | +----------------+---------------------+-------------------------------------------------------------------------------+ .. # =========================================================================================================================================================== .. index:: pair: Pre-compilation; VUnit .. _USING:PreCompile:ThirdParty:VUnit: VUnit ===== On Linux -------- .. code-block:: Bash # Example 1 - Compile for all Simulators ./tools/precompile/compile-vunit.sh --all # Example 2 - Compile only for GHDL ./tools/precompile/compile-vunit.sh --ghdl **List of command line arguments:** .. |c-vunit-sh-h| replace:: :option:`-h ` .. |c-vunit-sh-c| replace:: :option:`-c ` .. |c-vunit-sh-a| replace:: :option:`-a ` .. |c-vunit-sh-help| replace:: :option:`--help ` .. |c-vunit-sh-clean| replace:: :option:`--clean ` .. |c-vunit-sh-all| replace:: :option:`--all ` .. |c-vunit-sh-ghdl| replace:: :option:`--ghdl ` .. |c-vunit-sh-questa| replace:: :option:`--questa ` +----------------------------------------+-----------------------------------------------------------------------------+ | Common Option | Parameter Description | +=================+======================+=============================================================================+ | |c-vunit-sh-h| | |c-vunit-sh-help| | Print embedded help page(s). | +-----------------+----------------------+-----------------------------------------------------------------------------+ | |c-vunit-sh-c| | |c-vunit-sh-clean| | Clean-up directories. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | |c-vunit-sh-a| | |c-vunit-sh-all| | Compile for all simulators. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | | |c-vunit-sh-ghdl| | Compile for GHDL. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | | |c-vunit-sh-questa| | Compile for QuestaSim. | +-----------------+----------------------+-----------------------------------------------------------------------------+ On Windows ---------- .. code-block:: PowerShell # Example 1 - Compile for all Simulators .\tools\precompile\compile-vunit.ps1 -All # Example 2 - Compile only for GHDL .\tools\precompile\compile-vunit.ps1 -GHDL **List of command line arguments:** .. |c-vunit-ps-h| replace:: ``-h`` .. |c-vunit-ps-c| replace:: ``-c`` .. |c-vunit-ps-a| replace:: ``-a`` .. |c-vunit-ps-help| replace:: :option:`-Help ` .. |c-vunit-ps-clean| replace:: :option:`-Clean ` .. |c-vunit-ps-all| replace:: :option:`-All ` .. |c-vunit-ps-ghdl| replace:: :option:`-GHDL ` .. |c-vunit-ps-questa| replace:: :option:`-Questa ` +----------------------------------------+-------------------------------------------------------------------------------+ | Common Option | Parameter Description | +=================+======================+===============================================================================+ | |c-vunit-ps-h| | |c-vunit-ps-help| | Print embedded help page(s). | +-----------------+----------------------+-------------------------------------------------------------------------------+ | |c-vunit-ps-c| | |c-vunit-ps-clean| | Clean-up directories. | +-----------------+----------------------+-------------------------------------------------------------------------------+ | |c-vunit-ps-a| | |c-vunit-ps-all| | Compile for all simulators. | +-----------------+----------------------+-------------------------------------------------------------------------------+ | | |c-vunit-ps-ghdl| | Compile for GHDL. | +-----------------+----------------------+-------------------------------------------------------------------------------+ | | |c-vunit-ps-questa| | Compile for QuestaSim. | +-----------------+----------------------+-------------------------------------------------------------------------------+ .. # =========================================================================================================================================================== .. index:: pair: Pre-compilation; Simulator Adapters .. _USING:PreCompile:Adapter: Simulator Adapters **************************************************************************************************************************************************************** .. index:: pair: Pre-compilation; Cocotb .. _USING:PreCompile:Adapter:Cocotb: Cocotb ====== On Linux -------- .. attention:: This is an experimental compile script. .. code-block:: Bash # 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:** .. |c-cocotb-sh-h| replace:: :option:`-h ` .. |c-cocotb-sh-c| replace:: :option:`-c ` .. |c-cocotb-sh-a| replace:: :option:`-a ` .. |c-cocotb-sh-help| replace:: :option:`--help ` .. |c-cocotb-sh-clean| replace:: :option:`--clean ` .. |c-cocotb-sh-all| replace:: :option:`--all ` .. |c-cocotb-sh-ghdl| replace:: :option:`--ghdl ` .. |c-cocotb-sh-questa| replace:: :option:`--questa ` +----------------------------------------+-----------------------------------------------------------------------------+ | Common Option | Parameter Description | +=================+======================+=============================================================================+ | |c-cocotb-sh-h| | |c-cocotb-sh-help| | Print embedded help page(s). | +-----------------+----------------------+-----------------------------------------------------------------------------+ | |c-cocotb-sh-c| | |c-cocotb-sh-clean| | Clean-up directories. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | |c-cocotb-sh-a| | |c-cocotb-sh-all| | Compile for all simulators. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | | |c-cocotb-sh-ghdl| | Compile for GHDL. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | | |c-cocotb-sh-questa| | Compile for QuestaSim. | +-----------------+----------------------+-----------------------------------------------------------------------------+ On Windows ---------- .. attention:: This is an experimental compile script. .. code-block:: PowerShell # 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:** .. |c-cocotb-ps-h| replace:: ``-h`` .. |c-cocotb-ps-c| replace:: ``-c`` .. |c-cocotb-ps-a| replace:: ``-a`` .. |c-cocotb-ps-help| replace:: :option:`-Help ` .. |c-cocotb-ps-clean| replace:: :option:`-Clean ` .. |c-cocotb-ps-all| replace:: :option:`-All ` .. |c-cocotb-ps-ghdl| replace:: :option:`-GHDL ` .. |c-cocotb-ps-questa| replace:: :option:`-Questa ` +----------------------------------------+-----------------------------------------------------------------------------+ | Common Option | Parameter Description | +=================+======================+=============================================================================+ | |c-cocotb-ps-h| | |c-cocotb-ps-help| | Print embedded help page(s). | +-----------------+----------------------+-----------------------------------------------------------------------------+ | |c-cocotb-ps-c| | |c-cocotb-ps-clean| | Clean-up directories. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | |c-cocotb-ps-a| | |c-cocotb-ps-all| | Compile for all simulators. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | | |c-cocotb-ps-ghdl| | Compile for GHDL. | +-----------------+----------------------+-----------------------------------------------------------------------------+ | | |c-cocotb-ps-questa| | Compile for QuestaSim. | +-----------------+----------------------+-----------------------------------------------------------------------------+ .. # Supported Simulators: +--------------------------------+------------------------------------------------------------------------------+ | Simulator Name | Comment | +================================+==============================================================================+ | GHDL | VHDL-93 version is compiled with ``--std=93c`` and ``--ieee=synopsys``. |br| | | | VHDL-2008 version is compiled with ``--std=08`` and ``--ieee=synopsys``. | +--------------------------------+------------------------------------------------------------------------------+ | Mentor ModelSim Altera Edition | Already includes all Altera primitives. | +--------------------------------+------------------------------------------------------------------------------+ | Mentor QuestaSim | | +--------------------------------+------------------------------------------------------------------------------+ +---------------------------------------------------+--------------------------------------------+ | Compile Script Location (Bash) | Output Directory | +===================================================+============================================+ | ``/tools/precompile/compile-altera.sh`` | ``/temp/precompiled/vsim/altera`` | +---------------------------------------------------+--------------------------------------------+ +---------------------------------------------------+--------------------------------------------+ | Compile Script Location (PowerShell) | Output Directory | +===================================================+============================================+ | ``\tools\precompile\compile-altera.ps1`` | ``\temp\precompiled\vsim\altera`` | +---------------------------------------------------+--------------------------------------------+